Files
ss/include/d/a/e/d_a_en_base.h
T
Elijah Thomas 9d68802507 d_a_e_sm (chu chu) start (#117)
* d_a_e_sm (chu chu) start

* progress, includes LightParam addition in BlurPaletteMgr

* oops - TBox Progress I guess

* dAcEsm_c::actorExecute and Particle Resource data moved

* step in symbols map

* Update blur_and_palette_manager.h

* m_angle cleanup pass

* Last explicit_zero_data Fixes #69

* add mQuat_c ctor
2025-05-18 18:24:58 -04:00

73 lines
1.7 KiB
C++

#ifndef D_A_EN_BASE_H
#define D_A_EN_BASE_H
#include "common.h"
#include "d/a/obj/d_a_obj_base.h"
#include "d/a/obj/d_a_obj_bomb.h"
#include "m/m_angle.h"
#include "m/m_vec.h"
struct dAcEnData {
// Unknown Size yet
};
// Ghidra: ActorEnemyBase
// size:
// non-official name
class dAcEnBase_c : public dAcObjBase_c {
public:
dAcEnBase_c();
virtual ~dAcEnBase_c();
virtual void *getObjectListEntry() override {
return &mEnemyLink;
}
virtual void vt_0x80() {
return;
}
virtual void vt_0x84() {
return;
}
virtual UNKWORD vt_0x88(UNKWORD a) {
return a;
};
/* 0x330 */ dAcRef_c<dAcEnBase_c> mEnemyLink;
/* 0x33C */ u32 mInteractionFlags;
/* 0x340 */ u16 field_0x338;
/* 0x342 */ u16 mHealth;
/* 0x344 */ u8 _344[0x374 - 0x344];
/* 0x374 */ dAcEnData *mpEnemyData;
bool checkInteractionFlags(u32 mask) {
return mInteractionFlags & mask;
}
void setInteractionFlags(u32 flag) {
mInteractionFlags |= flag;
}
void resetInteractionFlags(u32 flag) {
mInteractionFlags &= ~flag;
}
dAcBomb_c *getBombWithinRadius(f32 radius); // fn_8002f700
// Deals with dealing damage to Enemy
// Returns a value 0-13 (similar to mStts rank?)
int fn_8002fde0(cCcD_Obj &mCc, u16 *pTgOut);
// Returns 0-3 based on collision
// 2
int fn_800301b0(const mVec3_c &pos, mAng ang, bool, f32);
void fn_800306d0();
void fn_80030700();
void fn_80030c20(u32 flags, f32, f32, f32, f32);
bool ChkCrossPlayer(f32 height);
protected:
// TODO: Make accessors for this list to auto-convert to dAcEnBase?
static fLiMgBa_c sEnemyList;
};
#endif