mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-14 12:24:16 -04:00
d_a_salvage_tbox - 100% (GZLJ01, GZLE01, GZLP01) (#1113)
* First attempts at d_a_salvage_tbox * CreateHeap match * set_mtx 87% * set_mtx 100% * initWaitGetItem 93% * initWaitGetItem 98.24% * initWaitGetItem 98.24% - removed comments * Removed unecessary fields * actWait02 78.04% * daSTBox_Draw 100% * _create 39.71% * _create 80.10% * _create 98.50% * Some changes in class members to be done, _create 99.99%, started on shadowEcallBack. * _create 100%, shadowEcallBack.getMaxWaterY 84.93%, shadowEcallBack.setup 100% * shadowEcallBack.getMaxWaterY 93.68% * shadowEcallBack.getMaxWaterY 94.64% * shadowEcallBack.getMaxWaterY 99.32% * getWaterY 99.62% * Swap position of mpAngle to get setup back to 100% * actWait02 81.50% * actDrop 74.60% * actDrop 98.80% * actWait 32.54% * actWait 84.60% * actWait 88.69% * actWait 99.35% * actWait02 100% * _delete 55.71% * _delete 97.57% * _delete 99.12% * shadowEcallBack_c::execute 79.13% * shadowEcallBack_c::execute 99.70% * CreateInit 94.92% * CreateInit 98.64% * shadowEcallBack_c::draw 21.24% * shadowEcallBack_c::draw 34.81% * shadowEcallBack_c::draw 54.72% * shadowEcallBack_c::draw 69.86% * shadowEcallBack_c::draw 97.99% * shadowEcallBack_c::draw 99.10% * actWait 99.43% * _execute 40.58% * _execute 73.14% * _execute 98.29% * initWaitGetItem improvements 98.24% * initWaitGetItem 100% * Removed unnecessary this-> * _delete 100% * actWait 99.82% * CreateInit 99.52% * shadowEcallBack_c::getMaxWaterY 99.32% * CreateInit 99.52% * Simplified getStaffId in _execute * shadowEcallBack_c::draw 99.11% * shadowEcallBack_c::draw 99.23% * shadowEcallBack_c::draw 99.48% * actWait 99.85% * Named shadowCallback * actDrop 99.60% * Renamed m_arc_name to m_arcname * actWait 99.97% - using dComIfGp_particle_setShipTail * _execute 99.58% - changed actIdx type to s16 * _execute 98.43% - reverting actIdx type back to int. * CreateInit 99.92% - created cXyz position in shadowEcallBack. * _execute 100% - cast on ship. * .rodata 100% - Moved crane_offset above actWait where it first is used. * Hoisted alpha_arr in shadowEcallBack_c::execute but to no avail. * shadowEcallBack_c::execute 100% - emitter->setGlobalTranslation for regswap and used inline emitter->setGlobalRotation * shadowEcallBack_c::draw 100% - moved fVar3 down a few lines to fix regswap * shadowEcallBack_c::execute 100% - getting global translation object, only modifying its y property, and setting it again. * Removed Nonmatching from matching functions and fixed memory offsets in shadowEcallBack_c. * Linked - Added destructor for shadowEcallBack and added Matching in configure.py * Set MatchingFor Japanese, United Statian and European versions - demo differs quite a bit. * Removed incorrectly added include d_a_ship.h from d_com_inf_game.h --------- Co-authored-by: Anders Gjerde <mail@mail.com>
This commit is contained in:
@@ -7,25 +7,43 @@
|
||||
class daSTBox_shadowEcallBack_c : public dPa_levelEcallBack {
|
||||
public:
|
||||
void deleteCallBack() {}
|
||||
void getEmitter() {}
|
||||
void setDepth(float) {}
|
||||
void setIndirectTexData(float, float) {}
|
||||
void setPos(cXyz&) {}
|
||||
void setWaterFlatY(float) {}
|
||||
void setWaterY(float) {}
|
||||
void setup(JPABaseEmitter*, const cXyz*, const csXyz*, signed char) {}
|
||||
JPABaseEmitter* getEmitter() { return mpEmitter; }
|
||||
void setEmitter(JPABaseEmitter* emitter) { mpEmitter = emitter; }
|
||||
void setDepth(float depth) { mpDepth = depth; }
|
||||
void setWaterFlatY(float waterFlatY) { mpWaterFlatY = waterFlatY; }
|
||||
void setWaterY(float waterY) { mpWaterY = waterY; }
|
||||
void setField0x48(float field) { field_0x48 = field; }
|
||||
void setup(JPABaseEmitter* emitter, const cXyz*, const csXyz* angle, signed char) {
|
||||
field_0x4 = 0;
|
||||
mpAngle = const_cast<csXyz*>(angle);
|
||||
mpEmitter = emitter;
|
||||
}
|
||||
~daSTBox_shadowEcallBack_c() {}
|
||||
|
||||
void getMaxWaterY(JGeometry::TVec3<float>*);
|
||||
void getMaxWaterY(JGeometry::TVec3<f32>*);
|
||||
void execute(JPABaseEmitter*);
|
||||
void draw(JPABaseEmitter*);
|
||||
};
|
||||
|
||||
/* 0x04 */ s16 field_0x4;
|
||||
/* 0x06 */ s16 field_0x6;
|
||||
/* 0x08 */ f32 mpWaterFlatY;
|
||||
/* 0x0C */ f32 field_0x0C;
|
||||
/* 0x10 */ f32 mpWaterY;
|
||||
/* 0x14 */ JGeometry::TVec3<f32> mPos[3];
|
||||
/* 0x38 */ cXyz position;
|
||||
/* 0x44 */ csXyz* mpAngle;
|
||||
/* 0x48 */ f32 field_0x48;
|
||||
/* 0x4C */ f32 mpDepth;
|
||||
/* 0x50 */ f32 field_0x50;
|
||||
/* 0x54 */ JPABaseEmitter* mpEmitter;
|
||||
}; // Size: 0x58
|
||||
|
||||
class daSTBox_c : public fopAc_ac_c {
|
||||
public:
|
||||
inline bool _draw();
|
||||
|
||||
bool _delete();
|
||||
void CreateHeap();
|
||||
BOOL CreateHeap();
|
||||
void CreateInit();
|
||||
cPhs_State _create();
|
||||
void set_mtx();
|
||||
@@ -35,14 +53,38 @@ public:
|
||||
void initWaitGetItem(int);
|
||||
void initWaitDummy(int);
|
||||
void initDrop(int);
|
||||
void actWait(int);
|
||||
void actDrop(int);
|
||||
void actWait02(int);
|
||||
void actWaitGetItem(int);
|
||||
void actWaitDummy(int);
|
||||
BOOL actWait(int);
|
||||
BOOL actDrop(int);
|
||||
BOOL actWait02(int);
|
||||
BOOL actWaitGetItem(int);
|
||||
BOOL actWaitDummy(int);
|
||||
|
||||
static const s16 m_heapsize[3];
|
||||
static const char m_arcname[];
|
||||
static const f32 m_rope_max_length;
|
||||
static const s16 m_bdlidx[3];
|
||||
static const u8 m_shadow_alpha;
|
||||
static const f32 m_shadow_depth;
|
||||
static const f32 m_shadow_scroll;
|
||||
static const f32 m_shadow_scale;
|
||||
|
||||
public:
|
||||
/* Place member variables here */
|
||||
};
|
||||
|
||||
/* 0x290 */ request_of_phase_process_class field_0x290;
|
||||
/* 0x298 */ J3DModel* mpModel;
|
||||
/* 0x29C */ JPABaseEmitter* field_0x29C[2];
|
||||
/* 0x2A4 */ JPABaseEmitter* field_0x2A4;
|
||||
/* 0x2A8 */ u8 field_0x2A8[0x2AC - 0x2A8];
|
||||
/* 0x2AC */ dPa_rippleEcallBack mRippleCallBack;
|
||||
/* 0x2C0 */ daSTBox_shadowEcallBack_c shadowCallback;
|
||||
/* 0x318 */ cXyz position;
|
||||
/* 0x324 */ cXyz field_0x324;
|
||||
/* 0x330 */ u8 field_0x330;
|
||||
/* 0x331 */ u8 field_0x331;
|
||||
/* 0x332 */ s16 field_0x332;
|
||||
/* 0x334 */ u8 field_0x334;
|
||||
/* 0x335 */ u8 field_0x335;
|
||||
/* 0x336 */ u8 field_0x336;
|
||||
/* 0x337 */ u8 field_0x337[0x338 - 0x337];
|
||||
/* 0x338 */ s32 field_0x338;
|
||||
}; // Size: 0x33C
|
||||
#endif /* D_A_SALVAGE_TBOX_H */
|
||||
|
||||
Reference in New Issue
Block a user