mirror of
https://github.com/zeldaret/ss
synced 2026-05-24 07:10:53 -04:00
f42f9a0e23
* d_a_obj_seat_sword mostly done * ninja apply * symbol cleanup * correct code pattern, not right regs * d_a_obj_seat_sword OK --------- Co-authored-by: robojumper <robojumper@gmail.com>
70 lines
1.6 KiB
C++
70 lines
1.6 KiB
C++
#ifndef EFFECTS_STRUCT_H
|
|
#define EFFECTS_STRUCT_H
|
|
|
|
#include "common.h"
|
|
#include "d/d_base.h"
|
|
#include "m/m_angle.h"
|
|
#include "m/m_mtx.h"
|
|
#include "m/m_vec.h"
|
|
|
|
class EffectsStruct {
|
|
private:
|
|
s32 field_0x00;
|
|
u8 field_0x04[0x1C - 0x04];
|
|
|
|
public:
|
|
// vt at 0x1C
|
|
EffectsStruct();
|
|
EffectsStruct(dBase_c *);
|
|
virtual ~EffectsStruct();
|
|
|
|
inline void init(dBase_c *owner) {
|
|
mpOwner = owner;
|
|
}
|
|
|
|
void remove(bool);
|
|
void fn_80027320(u8);
|
|
void fn_80029920(u16 effect, mVec3_c *pos, mAng3_c *rot, mVec3_c *scale, void *, void *);
|
|
void fn_80029980(u16 effect, mVec3_c *pos, mAng3_c *rot, mVec3_c *scale, void *, void *);
|
|
void fn_800299F0(u16 effect, mMtx_c *mtx, void *, void *);
|
|
void fn_80029A10(u16 effect, mVec3_c *pos, mAng3_c *rot, mVec3_c *scale, void *, void *);
|
|
void setMtx(const mMtx_c &);
|
|
|
|
bool checkField0x00() const {
|
|
return field_0x00 != 0;
|
|
}
|
|
|
|
private:
|
|
u8 field_0x20[0x28 - 0x20];
|
|
/* 0x28 */ dBase_c *mpOwner;
|
|
u8 field_0x2C[0x34 - 0x2C];
|
|
};
|
|
|
|
// Not sure if these belongs here, but it uses EffectsStruct
|
|
// Related Functions in the 8002B100 area
|
|
class EffectsStruct_Ext {
|
|
public:
|
|
EffectsStruct_Ext() : mField_0x00(1), mField_0x01(0) {}
|
|
|
|
void init(dBase_c *, f32, f32, f32);
|
|
|
|
void setField_0x00(u8 val) {
|
|
mField_0x00 = val;
|
|
}
|
|
void setField_0x01(u8 val) {
|
|
mField_0x01 = val;
|
|
}
|
|
|
|
void fn_8002B120(f32, f32);
|
|
|
|
/* 0x00 */ u8 mField_0x00;
|
|
/* 0x01 */ u8 mField_0x01;
|
|
/* 0x04 */ f32 mField_0x04;
|
|
/* 0x08 */ f32 mField_0x08;
|
|
/* 0x0C */ f32 mField_0x0C;
|
|
/* 0x10 */ EffectsStruct mEff;
|
|
virtual ~EffectsStruct_Ext() {}
|
|
};
|
|
|
|
#endif
|