Files
tww/include/d/actor/d_a_jbo.h
T
Mm2PL 6ff1da3741 d_a_jbo (#744)
* Do initial work on d_a_jbo

* Remove outdated comments

* Move co_sph_src to be a function static variable

* Mark as matching

* Rename mParamsLower to mParam

* Give names to mFramesUntilJump, mAnimRotation, mAnimationSpeed, mParticlePos

* Give jbo_class::mState an enum

* fixup! Give names to mFramesUntilJump, mAnimRotation, mAnimationSpeed, mParticlePos

* Give resource ids an enum

* Add documentation comment for actor

* MWCC shenanigans

* Rename variables to better match coding guidelines

* Apply suggestions from code review

- use J3DModel::setBaseScale() inline
- use existing resource id enum
- rename `i_actor` -> `i_this`, `that` -> `a_this`
- use defines for missed returned booleans
- replace `mDoAud_seStart` -> `fopAcM_seStart`

Co-Authored-By: LagoLunatic <LagoLunatic@users.noreply.github.com>

* Apply rest of inlines

i must have forgotten about them earlier

---------

Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com>
2025-05-22 20:28:56 -04:00

45 lines
1.2 KiB
C++

#ifndef D_A_JBO_H
#define D_A_JBO_H
#pragma push
#pragma sym off
#include "d/d_cc_d.h"
#pragma pop
#include "f_op/f_op_actor.h"
class mDoExt_McaMorf;
/**
* Baba bulb
* Only the lowest byte of fopAc_ac_c::base::mParameters is used,
* It is expected to be:
* - 0 - silently appears
* - 1 - plays a popup sound and animation on spawn
* - 2 - sets otherwise locally unused m2BA=1
* - 3 - waits until an event bit is set, does nothing until then, after converts to 0
* - 0xFF - converts to 0
*/
class jbo_class : public fopAc_ac_c {
public:
/* 0x290 */ u8 m290[0x2AC - 0x290];
/* 0x2AC */ request_of_phase_process_class mPhs;
/* 0x2B4 */ mDoExt_McaMorf* mpMorf;
/* 0x2B8 */ u8 mParam;
/* 0x2B9 */ u8 m2B9[0x2B9 - 0x2B8];
// FIXME: give following two fields names if external use is spotted
/* 0x2BA */ u8 m2BA;
/* 0x2BB */ u8 m2BB;
/* 0x2BC */ u8 mState;
/* 0x2BE */ s16 mFramesUntilJump;
/* 0x2C0 */ s16 mAnimRotation;
/* 0x2C2 */ s16 mAnimationSpeed;
/* 0x2C4 */ cXyz mParticlePos;
/* 0x2D0 */ dCcD_Stts mStts;
/* 0x30C */ dCcD_Sph mSph;
};
STATIC_ASSERT(sizeof(jbo_class) == 0x438);
#endif /* D_A_JBO_H */