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:
SuperDude88
2023-09-21 22:18:57 -04:00
parent d1c99dc94c
commit e6d2a36987
7 changed files with 618 additions and 82 deletions
+48
View File
@@ -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 */
+1 -1
View File
@@ -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
+4 -3
View File
@@ -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 */