Files
tww/include/d/actor/d_a_obj_buoyflag.h
LagoLunatic 102042628f Process profiles and enums cleanup (#1031)
* Fix some profile comments

* Add missing static for local visibility data

* Move proc name and draw priority enums to f_pc

* Add _e suffix to daObjBarrier_c proc enum

* Change proc name enum format to match TP

* Change draw prio enum format to match TP

* Change ItemNo enum format, finish fixing item names

* Revert static for cb1 hio

* Clean up formatting of profile comments

* Fix comment alignment
2026-05-26 00:11:58 -04:00

97 lines
3.1 KiB
C++

#ifndef D_A_OBJ_BUOYFLAG_H
#define D_A_OBJ_BUOYFLAG_H
#include "f_op/f_op_actor.h"
#include "m_Do/m_Do_mtx.h"
#include "f_op/f_op_actor_mng.h"
namespace daObjBuoyflag {
class Act_c;
enum Type_e {
Type_UNK0_e = 0,
Type_UNK1_e = 1,
Type_UNK2_e = 2,
};
enum Texture_e {
Texture_00_e = 0x0,
Texture_01_e = 0x1,
};
class Packet_c {
public:
void calc_pos_gravity(int, int) {}
void calc_pos_spd(int, int) {}
void calc_pos_spring(int, int) {}
void calc_pos_wave(int, int) {}
void hasi_nrm_init();
void draw_hata(daObjBuoyflag::Act_c*);
void draw_hasi(daObjBuoyflag::Act_c*);
void draw();
void init(daObjBuoyflag::Act_c*);
void calc_wind_base(daObjBuoyflag::Act_c*);
void calc_pos_spring_near(const cXyz*, const cXyz*, float, float);
void calc_pos(daObjBuoyflag::Act_c*);
void calc_nrm();
void calc(daObjBuoyflag::Act_c*);
void update(daObjBuoyflag::Act_c*);
};
class DrawVtx_c {
public:
};
class MoveVtx_c {
public:
};
class Act_c : public fopAc_ac_c {
public:
static fpc_ProcID make_norm(fpc_ProcID parentPId, cXyz* pos, int roomNo, csXyz* angle) {
u32 params = prm_make(Type_UNK0_e, Texture_00_e, false);
return fopAcM_createChild(fpcNm_Obj_Buoyflag_e, parentPId, params, pos, roomNo, angle);
}
static u32 prm_make(Type_e type, Texture_e texture, bool arg2) {
s32 b = arg2 ? 1 : 0;
return (type << 0) | (texture << 8) | (b << 31);
}
void setup(MtxP mtx) { cMtx_copy(mtx, m1090); }
inline cPhs_State _create();
inline bool _delete();
inline bool _draw();
inline bool _execute();
void jump_to_sea(float, float, short) {}
static fpc_ProcID make_barrel2_mine(fpc_ProcID parent, cXyz* pos, int room, csXyz* angle, Texture_e texture, bool arg5) {
u32 params = prm_make(Type_UNK2_e, texture, arg5);
return fopAcM_createChild(fpcNm_Obj_Buoyflag_e, parent, params, pos, room, angle);
}
static fpc_ProcID make_barrel2_norm(fpc_ProcID parent, cXyz* pos, int room, csXyz* angle, Texture_e texture) {
u32 params = prm_make(Type_UNK1_e, texture, false);
return fopAcM_createChild(fpcNm_Obj_Buoyflag_e, parent, params, pos, room, angle);
}
void attr_type() const; // weak but not inlined?
void prm_get_noCull() const {}
void prm_get_texture() const; // weak but not inlined?
void prm_get_type() const {}
void mtx_init();
void mode_afl();
void mode_jumpToSea();
public:
/* 0x0290 */ u8 m0290[0x1090 - 0x0290];
/* 0x1090 */ Mtx m1090;
/* 0x10C0 */ u8 m10C0[0x10F0 - 0x10C0];
/* 0x10F0 */ Mtx m10F0;
/* 0x1120 */ u8 m1120[0x1124 - 0x1120];
/* 0x1124 */ s32 m1124;
/* 0x1128 */ bool m1128;
};
};
#endif /* D_A_OBJ_BUOYFLAG_H */