Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_tag_push.h
Go to the documentation of this file.
1#ifndef D_A_TAG_PUSH_H
2#define D_A_TAG_PUSH_H
3
4#include "d/actor/d_a_npc.h"
6
7class daTag_Push_c : public fopAc_ac_c {
8public:
9 static void* srchActor(void*, void*);
10 int create();
11 int Delete();
12 int Execute();
13 int Draw();
14 int isDelete();
16
17 int getId() {
18 u16 id = (fopAcM_GetParam(this) & 0xFF000000) >> 24;
19 return id == 0xFF ? -1 : id;
20 }
21
22 u8 getBitSW() { return fopAcM_GetParam(this) & 0xFF; }
23
24 u8 getBitSW2() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
25
27 // !@bug home.angle.x is promoted to a 32-bit signed integer prior
28 // to being compared, so the compared value can never exceed
29 // SHORT_MAX and the condition always passes.
30 if (home.angle.x != 0xFFFF) {
31 return (u16)home.angle.x;
32 }
33 return -1;
34 }
35
37 u16 rv = (fopAcM_GetParam(this) & 0xff0000) >> 16;
38 return (rv == 0xff) ? -1 : rv;
39 }
40
41 void pushBackPlayer(int param_1) {
42 if (getPlayerListNo() > -1) {
43 cXyz cStack_1c;
44 csXyz cStack_24;
46 &cStack_24) != 0)
47 {
48 daPy_getPlayerActorClass()->setPlayerPosAndAngle(&cStack_1c, cStack_24.y, 0);
49 if (param_1 != 0) {
51 dComIfGp_evmng_setGoal(&cStack_1c);
52 }
53 }
54 }
55 }
56
58
59 virtual ~daTag_Push_c() {}
60};
61
62STATIC_ASSERT(sizeof(daTag_Push_c) == 0x574);
63
64#endif /* D_A_TAG_PUSH_H */
Definition c_sxyz.h:10
Definition d_a_npc.h:31
void changeDemoMoveAngle(s16 i_angle)
Definition d_a_player.h:1113
virtual void setPlayerPosAndAngle(cXyz const *, s16, int)
Definition d_a_player.h:792
Definition d_a_tag_push.h:7
static void * srchActor(void *, void *)
Definition d_a_tag_push.cpp:7
int create()
Definition d_a_tag_push.cpp:51
u32 getFlowNodeNo()
Definition d_a_tag_push.h:26
int isDelete()
Definition d_a_tag_push.cpp:121
int getPlayerListNo()
Definition d_a_tag_push.h:36
daNpcT_ActorMngr_c mActorMngr
Definition d_a_tag_push.h:57
int Delete()
Definition d_a_tag_push.cpp:69
virtual ~daTag_Push_c()
Definition d_a_tag_push.h:59
int Execute()
Definition d_a_tag_push.cpp:73
int chkPointInArea(cXyz)
Definition d_a_tag_push.cpp:131
u8 getBitSW()
Definition d_a_tag_push.h:22
u8 getBitSW2()
Definition d_a_tag_push.h:24
int Draw()
Definition d_a_tag_push.cpp:117
int getId()
Definition d_a_tag_push.h:17
void pushBackPlayer(int param_1)
Definition d_a_tag_push.h:41
Definition f_op_actor.h:271
actor_place home
Definition f_op_actor.h:290
actor_place current
Definition f_op_actor.h:292
BOOL daNpcT_getPlayerInfoFromPlayerList(int param_0, int i_roomNo, cXyz *o_spawnPos, csXyz *o_angle)
Definition d_a_npc.cpp:2736
static u16 const id[4]
Definition d_a_obj_smtile.cpp:269
daPy_py_c * daPy_getPlayerActorClass()
Definition d_a_player.h:1258
STATIC_ASSERT(sizeof(daTag_Push_c)==0x574)
void dComIfGp_evmng_setGoal(cXyz *i_pos)
Definition d_com_inf_game.h:2772
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:172
s16 x
Definition c_sxyz.h:7
s16 y
Definition c_sxyz.h:7
csXyz angle
Definition f_op_actor.h:247
s8 roomNo
Definition f_op_actor.h:248
Definition c_xyz.h:7