blob: 8c4945f886dec6275f98faae430236b5eba4d91a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
#ifndef D_A_IB_H
#define D_A_IB_H
#include "f_op/f_op_actor_mng.h"
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
#include "m_Do/m_Do_ext.h"
#include "d/d_particle.h"
class daIball_c : public fopAc_ac_c {
public:
enum Mode {
MODE_WAIT = 0x0,
MODE_WATER = 0x1,
};
typedef void (daIball_c::*ModeFunc)();
void setPointLight();
void createDisappearEffect(int, int);
BOOL createItem();
BOOL dead();
void checkGeo();
void mode_wait_init();
void mode_wait();
void mode_water_init();
void mode_water();
void animControl();
void damage();
void set_mtx();
void CreateInit();
BOOL _daIball_draw();
BOOL _daIball_execute();
BOOL _daIball_delete();
cPhs_State _daIball_create();
BOOL CreateHeap();
static void init();
static void regist(fopAc_ac_c*);
static void remove(fopAc_ac_c*);
static void remove_old();
static u32 m_ib_actor[5];
static const char m_arcname[];
static dCcD_SrcCyl m_cyl_src;
public:
/* 0x290 */ dBgS_ObjAcch mAcch;
/* 0x454 */ dBgS_AcchCir mAcchCir;
/* 0x494 */ dCcD_Stts mStts;
/* 0x4D0 */ dCcD_Cyl mCyl;
/* 0x600 */ J3DModel* mpModel;
/* 0x604 */ mDoExt_btkAnm mBtkAnm;
/* 0x618 */ mDoExt_brkAnm mBrkAnm[2];
/* 0x648 */ mDoExt_bckAnm mBckAnm;
/* 0x658 */ dPa_rippleEcallBack mRippleCb;
/* 0x66C */ int mTimer;
/* 0x670 */ u8 m670[0x674 - 0x670];
/* 0x674 */ int mPlaySpeedIdx;
/* 0x678 */ u8 m678[0x67C - 0x678];
/* 0x67C */ f32 mPrevSpeedY;
/* 0x680 */ u8 mMode;
/* 0x681 */ bool mbPlayedSe;
/* 0x682 */ u8 m682[0x684 - 0x682];
/* 0x684 */ LIGHT_INFLUENCE mLight;
/* 0x6A4 */ f32 mLightFlickerMult;
};
namespace daIball_prm {
inline s8 getItemBitNo(daIball_c* ib) { return (fopAcM_GetParam(ib) >> 0x10) & 0xFF; }
inline u16 getAdId(daIball_c* ib) { return fopAcM_GetParam(ib) & 0xFFFF; }
};
#endif /* D_A_IB_H */
|