mirror of
https://github.com/zeldaret/tww.git
synced 2026-09-12 04:19:04 -04:00
daShopItem_c "OK"
Functions and data matching d_a_shop_item.cpp still breaks checksum, probably from weak functions/vtables that need to be placed earlier
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
#ifndef D_A_SHOP_ITEM_H
|
||||
#define D_A_SHOP_ITEM_H
|
||||
|
||||
#include "d/actor/d_a_itembase.h"
|
||||
#include "d/d_cloth_packet.h"
|
||||
|
||||
struct daShopItem_c_m_data {
|
||||
/* 0x00 */ Vec mScale;
|
||||
/* 0x0C */ Vec field_0x0C;
|
||||
/* 0x18 */ SVec field_0x18;
|
||||
};
|
||||
|
||||
struct daShopItem_c : public daItemBase_c {
|
||||
char* getShopArcname();
|
||||
s16 getShopBmdIdx();
|
||||
void CreateInit();
|
||||
int _create();
|
||||
bool _execute();
|
||||
void set_mtx();
|
||||
bool _draw();
|
||||
|
||||
//virtual funcs
|
||||
void setListStart() {}
|
||||
void settingBeforeDraw();
|
||||
void setTevStr();
|
||||
s32 clothCreate();
|
||||
|
||||
//funcs in d_a_shop_item_static
|
||||
cXyz* getScaleP();
|
||||
csXyz* getRotateP();
|
||||
cXyz* getPosP();
|
||||
cXyz getCenter();
|
||||
|
||||
const daShopItem_c_m_data* getData() { return mData; }
|
||||
|
||||
static const char m_cloth_arcname[];
|
||||
static const f32 m_cullfar_max;
|
||||
static const u8 mModelType[256];
|
||||
static const daShopItem_c_m_data mData[255];
|
||||
|
||||
/* 0x63C */ request_of_phase_process_class field_0x63C;
|
||||
/* 0x644 */ dCloth_packet_c* field_0x644;
|
||||
/* 0x648 */ u8 field_0x648;
|
||||
/* 0x64C */ Mtx field_0x64C;
|
||||
/* 0x67C */ TevType tevType;
|
||||
};
|
||||
|
||||
#endif /* D_A_SHOP_ITEM_H */
|
||||
@@ -47,7 +47,7 @@ public:
|
||||
virtual void TexObjLoad();
|
||||
virtual void TevSetting();
|
||||
|
||||
void setScale(cXyz scale);
|
||||
void setScale(cXyz scale) { mScale = scale; }
|
||||
void setMtx(Mtx mtx);
|
||||
}; // Size: 0xFC
|
||||
|
||||
|
||||
@@ -44,8 +44,9 @@ u8 mDoLib_setResTimgObj(ResTIMG const* res, GXTexObj* o_texObj, u32 tlut_name,
|
||||
GXTlutObj* o_tlutObj);
|
||||
void mDoLib_pos2camera(Vec* src, Vec* dst);
|
||||
|
||||
inline u32 calcAlphaCmpID(u32 param_1, u32 param_2, u32 param_3) {
|
||||
return ((param_1 & 0xff) << 5) + ((param_2 & 0xff) << 3) + (param_3 & 0xff);
|
||||
}
|
||||
// was causing redefinition issues
|
||||
//inline u32 calcAlphaCmpID(u32 param_1, u32 param_2, u32 param_3) {
|
||||
// return ((param_1 & 0xff) << 5) + ((param_2 & 0xff) << 3) + (param_3 & 0xff);
|
||||
//}
|
||||
|
||||
#endif /* M_DO_M_DO_LIB_H */
|
||||
|
||||
Reference in New Issue
Block a user