blob: ea66cc5a81b5ab92a9dd839996af44b8bb796f2b (
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
#ifndef D_A_NPC_BTSW2_H
#define D_A_NPC_BTSW2_H
#include "f_op/f_op_actor.h"
#include "d/d_npc.h"
class daNpc_Btsw2_c : public fopNpc_npc_c {
public:
typedef BOOL (daNpc_Btsw2_c::*ActionFunc)(void*);
enum ActionStatus {
ACTION_STARTING = 0,
ACTION_ONGOING = 1,
ACTION_ENDING = -1,
};
cXyz& getAttentionBasePos() { return mAttPos; }
void setAction(ActionFunc func, void* arg) {
if (mCurrActionFunc != func) {
if (mCurrActionFunc) {
mActionStatus = ACTION_ENDING;
(this->*mCurrActionFunc)(arg);
}
mCurrActionFunc = func;
mActionStatus = ACTION_STARTING;
(this->*mCurrActionFunc)(arg);
}
}
BOOL initTexPatternAnm(bool);
void playTexPatternAnm();
void setAnm(s8);
bool chkAttention(cXyz, s16);
void eventOrder();
void checkOrder();
virtual void anmAtr(u16);
virtual u32 getMsg();
virtual u16 next_msgStatus(u32*);
void setAttention();
void lookBack();
BOOL CreateHeap();
BOOL CreateInit();
void wait01();
void talk01();
void pathMove();
BOOL wait_action(void*);
cPhs_State _create();
BOOL _delete();
BOOL _execute();
BOOL _draw();
static const char m_arc_name[];
private:
/* 0x6C4 */ request_of_phase_process_class mPhs;
/* 0x6CC */ u32 mShadowId;
/* 0x6D0 */ J3DModel* mpKabanModel; // Bag
/* 0x6D4 */ J3DModel* mpTirasiModel; // Flyer
/* 0x6D8 */ J3DAnmTexPattern* m_btp;
/* 0x6DC */ mDoExt_btpAnm mBtpAnm;
/* 0x6F0 */ u8 mBtpFrame;
/* 0x6F1 */ s8 m_handL_jnt_num;
/* 0x6F2 */ s8 m_handR_jnt_num;
/* 0x6F4 */ s16 mBlinkTimer;
/* 0x6F6 */ u8 m6F6[0x704 - 0x6F6];
/* 0x704 */ cXyz mAttPos;
/* 0x710 */ u8 m710[0x714 - 0x710];
/* 0x714 */ csXyz m714;
/* 0x71A */ u8 m71A[0x71D - 0x71A];
/* 0x71D */ bool mHasAttention;
/* 0x71E */ bool m71E;
/* 0x71F */ u8 m71F[0x724 - 0x71F];
/* 0x724 */ u8 m724;
/* 0x728 */ ActionFunc mCurrActionFunc;
/* 0x734 */ s8 mPathNo;
/* 0x735 */ u8 m735;
/* 0x736 */ u8 m736;
/* 0x738 */ dPath* mpPath;
/* 0x73C */ s16 mFinalPathPntIdx;
/* 0x73E */ s16 m73E;
/* 0x740 */ s16 mPathPntIdx;
/* 0x742 */ s16 m742;
/* 0x744 */ s8 m744;
/* 0x745 */ s8 m745;
/* 0x746 */ s8 m746;
/* 0x747 */ s8 m747;
/* 0x748 */ u8 m748[0x74A - 0x748];
/* 0x74A */ s8 mActionStatus;
};
#endif /* D_A_NPC_BTSW2_H */
|