Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_e_st.cpp File Reference

Classes

class  daE_ST_HIO_c
 

Enumerations

enum  E_st_RES_File_ID {
  BCK_ST_ATTACK = 0x4 , BCK_ST_ATTACK02 , BCK_ST_ATTACKA , BCK_ST_ATTACKB ,
  BCK_ST_ATTACKC , BCK_ST_DAMAGE , BCK_ST_DAWNA , BCK_ST_DAWNB ,
  BCK_ST_DAWNC , BCK_ST_DEAD , BCK_ST_DEADWAIT , BCK_ST_DEATH ,
  BCK_ST_DEATHA , BCK_ST_DEFENSE , BCK_ST_HANG , BCK_ST_HANG02 ,
  BCK_ST_HANG_DOWN , BCK_ST_HANG_SHOCK , BCK_ST_HANG_UP , BCK_ST_HANGATTACK ,
  BCK_ST_HANGDAMAGE , BCK_ST_HITL , BCK_ST_HITR , BCK_ST_HUG ,
  BCK_ST_HUG_ATTACK , BCK_ST_JUMP , BCK_ST_LANDING , BCK_ST_MOVE ,
  BCK_ST_STAND , BCK_ST_TURN , BCK_ST_WAIT , BCK_ST_WAIT02 ,
  BCK_ST_WATERDEAD , BCK_ST_WINDDAMAGE , BMDR_ST = 0x28 , BMDR_ST2
}
 
enum  Joint {
  JNT_WORLD_ROOT , JNT_HEAD , JNT_LLEGA_1 , JNT_LLEGA_2 ,
  JNT_LLEGA_3 , JNT_LLEGB_1 , JNT_LLEGB_2 , JNT_LLEGB_3 ,
  JNT_LLEGC_1 , JNT_LLEGC_2 , JNT_LLEGC_3 , JNT_LLEGD_1 ,
  JNT_LLEGD_2 , JNT_LLEGD_3 , JNT_RLEGA_1 , JNT_RLEGA_2 ,
  JNT_RLEGA_3 , JNT_RLEGB_1 , JNT_RLEGB_2 , JNT_RLEGB_3 ,
  JNT_RLEGC_1 , JNT_RLEGC_2 , JNT_RLEGC_3 , JNT_RLEGD_1 ,
  JNT_RLEGD_2 , JNT_RLEGD_3 , JNT_AGOL , JNT_AGOR ,
  JNT_HANDL1 , JNT_HANDL2 , JNT_HANDR1 , JNT_HANDR2 ,
  JNT_WAIST
}
 
enum  Action {
  ACTION_WAIT , ACTION_MOVE , ACTION_PL_SEARCH , ACTION_SHOOT ,
  ACTION_HANG = 0xA , ACTION_HANG_SHOOT , ACTION_HANG_DROP , ACTION_HANG_2 ,
  ACTION_HANG_2_SHOOT , ACTION_JUMP_ATTACK , ACTION_S_DAMAGE = 0x13 , ACTION_DAMAGE ,
  ACTION_WATER , ACTION_G_NORMAL = 0x32 , ACTION_G_FIGHT , ACTION_G_DEF ,
  ACTION_G_DAMAGE , ACTION_G_S_DAMAGE , ACTION_G_WIND , ACTION_G_CHANCE ,
  ACTION_G_END , ACTION_UNK_100 = 0x64
}
 
enum  Action_Phase {
  PHASE_INIT , WAIT_PHASE_WAIT = 0x1 , WAIT_PHASE_TURN , MOVE_PHASE_MOVE = 0x1 ,
  PL_SEARCH_MOVE_INIT = 0x1 , PL_SEARCH_MOVE , PL_SEARCH_ATTACK02 , PL_SEARCH_WAIT02 = 0x5 ,
  SHOOT_PHASE_ATTACK = 0x1 , SHOOT_PHASE_WAIT02 , JUMP_ATTACK_PHASE_JUMP = 0x1 , JUMP_ATTACK_PHASE_HUG ,
  JUMP_ATTACK_PHASE_3 , JUMP_ATTACK_PHASE_HUG_ATTACK , JUMP_ATTACK_PHASE_JUMPBACK , JUMP_ATTACK_PHASE_LANDING ,
  HANG_PHASE_HANG = 0x1 , HANG_SHOOT_PHASE_HANG = 0x1 , HANG_SHOOT_PHASE_HANGATTACK , HANG_DROP_PHASE_WAIT = 0x1 ,
  HANG_DROP_PHASE_LANDING , HANG_2_PHASE_HANG = 0x1 , HANG_2_PHASE_2 , HANG_2_PHASE_HANG02 ,
  HANG_2_PHASE_SHOCK , HANG_2_SHOOT_PHASE_HANGATTACK = 0x1 , S_DAMAGE_PHASE_DAMAGE = 0x1 , DAMAGE_PHASE_HANGDAMAGE = 0x1 ,
  DAMAGE_PHASE_DEADWAIT , DAMAGE_PHASE_3 , DAMAGE_PHASE_4 , DAMAGE_PHASE_DEAD ,
  WATER_PHASE_DEAD = 0x1 , G_NORMAL_PHASE_WAIT = 0x1 , G_NORMAL_PHASE_TURN , G_NORMAL_PHASE_MOVE ,
  G_FIGHT_PHASE_MOVE = 0x1 , G_FIGHT_PHASE_WAIT02 , G_FIGHT_PHASE_ATTACKA , G_FIGHT_PHASE_ATTACKB ,
  G_FIGHT_PHASE_ATTACKC , G_DEF_PHASE_DEFENSE = 0x1 , G_DAMAGE_PHASE_HIT = 0x1 , G_S_DAMAGE_PHASE_NODAMAGE = 0x1 ,
  G_WIND_PHASE_WINDDAMAGE = 0x1 , G_CHANCE_PHASE_DAWNA = 0x1 , G_CHANCE_PHASE_DAWNB , G_CHANCE_PHASE_STAND ,
  G_END_PHASE_DEATH2 = 0x2 , G_END_PHASE_10 = 0xA , G_END_PHASE_DEATHA
}
 

Functions

static void anm_init (e_st_class *i_this, int i_index, f32 i_morf, u8 i_attr, f32 i_rate)
 
static int nodeCallBack (J3DJoint *i_joint, int param_2)
 
static int daE_ST_Draw (e_st_class *i_this)
 
static BOOL other_bg_check (e_st_class *i_this, fopAc_ac_c *actor_p)
 
static BOOL pl_check (e_st_class *i_this, f32 i_distance)
 
static void damage_check (e_st_class *i_this)
 
static int move_bg_check (e_st_class *i_this)
 
static void bg_angle_set (e_st_class *i_this, s16 i_maxStep)
 
static BOOL bg_pos_get (e_st_class *i_this)
 
static s16 next_angle_get (e_st_class *i_this)
 
static void move_calc (e_st_class *i_this)
 
static void e_st_wait (e_st_class *i_this)
 
static s16 pl_angle_get (e_st_class *i_this)
 
static void e_st_move (e_st_class *i_this)
 
static void e_st_pl_search (e_st_class *i_this)
 
static void e_st_shoot (e_st_class *i_this)
 
static void e_st_jump_attack (e_st_class *i_this)
 
static void roof_line_calc (e_st_class *i_this)
 
static void roof_line_calc2 (e_st_class *i_this)
 
static void tail_line_calc (e_st_class *i_this)
 
static void e_st_hang (e_st_class *i_this)
 
static void e_st_hang_shoot (e_st_class *i_this)
 
static void e_st_hang_drop (e_st_class *i_this)
 
static s8 e_st_hang_2 (e_st_class *i_this)
 
static void e_st_hang_2_shoot (e_st_class *i_this)
 
static void e_st_s_damage (e_st_class *i_this)
 
static void e_st_damage (e_st_class *i_this)
 
static void e_st_water (e_st_class *i_this)
 
static BOOL water_check (e_st_class *i_this)
 
static BOOL gr_check (e_st_class *i_this)
 
static void e_st_g_normal (e_st_class *i_this)
 
static s8 e_st_g_fight (e_st_class *i_this)
 
static s8 e_st_g_def (e_st_class *i_this)
 
static void e_st_g_damage (e_st_class *i_this)
 
static void e_st_g_s_damage (e_st_class *i_this)
 
static void e_st_g_wind (e_st_class *i_this)
 
static void e_st_g_chance (e_st_class *i_this)
 
static s8 e_st_g_end (e_st_class *i_this)
 
static void damage_check_g (e_st_class *i_this)
 
static void ground_angle_set (e_st_class *i_this)
 
static BOOL foot_control (e_st_class *i_this, st_foot *foot_p)
 
static void foot_control_main (e_st_class *i_this)
 
static void action (e_st_class *i_this)
 
static int daE_ST_Execute (e_st_class *i_this)
 
static int daE_ST_IsDelete (e_st_class *i_this)
 
static int daE_ST_Delete (e_st_class *i_this)
 
static int useHeapInit (fopAc_ac_c *a_this)
 
static int kabe_initial_pos_set (e_st_class *i_this)
 
static BOOL roof_initial_pos_set (e_st_class *i_this)
 
static cPhs__Step daE_ST_Create (fopAc_ac_c *a_this)
 

Variables

static BOOL small
 
static bool l_initHIO
 
static daE_ST_HIO_c l_HIO
 
static cXyz top_pos_data [4]
 
static int base_j [8]
 
static int top_j [8]
 
static s16 ya [6]
 
static s16 xa [6]
 
 AUDIO_INSTANCES
 
static actor_method_class l_daE_ST_Method
 
actor_process_profile_definition g_profile_E_ST
 

Enumeration Type Documentation

◆ Action

enum Action
Enumerator
ACTION_WAIT 
ACTION_MOVE 
ACTION_PL_SEARCH 
ACTION_SHOOT 
ACTION_HANG 
ACTION_HANG_SHOOT 
ACTION_HANG_DROP 
ACTION_HANG_2 
ACTION_HANG_2_SHOOT 
ACTION_JUMP_ATTACK 
ACTION_S_DAMAGE 
ACTION_DAMAGE 
ACTION_WATER 
ACTION_G_NORMAL 
ACTION_G_FIGHT 
ACTION_G_DEF 
ACTION_G_DAMAGE 
ACTION_G_S_DAMAGE 
ACTION_G_WIND 
ACTION_G_CHANCE 
ACTION_G_END 
ACTION_UNK_100 

◆ Action_Phase

Enumerator
PHASE_INIT 
WAIT_PHASE_WAIT 
WAIT_PHASE_TURN 
MOVE_PHASE_MOVE 
PL_SEARCH_MOVE_INIT 
PL_SEARCH_MOVE 
PL_SEARCH_ATTACK02 
PL_SEARCH_WAIT02 
SHOOT_PHASE_ATTACK 
SHOOT_PHASE_WAIT02 
JUMP_ATTACK_PHASE_JUMP 
JUMP_ATTACK_PHASE_HUG 
JUMP_ATTACK_PHASE_3 
JUMP_ATTACK_PHASE_HUG_ATTACK 
JUMP_ATTACK_PHASE_JUMPBACK 
JUMP_ATTACK_PHASE_LANDING 
HANG_PHASE_HANG 
HANG_SHOOT_PHASE_HANG 
HANG_SHOOT_PHASE_HANGATTACK 
HANG_DROP_PHASE_WAIT 
HANG_DROP_PHASE_LANDING 
HANG_2_PHASE_HANG 
HANG_2_PHASE_2 
HANG_2_PHASE_HANG02 
HANG_2_PHASE_SHOCK 
HANG_2_SHOOT_PHASE_HANGATTACK 
S_DAMAGE_PHASE_DAMAGE 
DAMAGE_PHASE_HANGDAMAGE 
DAMAGE_PHASE_DEADWAIT 
DAMAGE_PHASE_3 
DAMAGE_PHASE_4 
DAMAGE_PHASE_DEAD 
WATER_PHASE_DEAD 
G_NORMAL_PHASE_WAIT 
G_NORMAL_PHASE_TURN 
G_NORMAL_PHASE_MOVE 
G_FIGHT_PHASE_MOVE 
G_FIGHT_PHASE_WAIT02 
G_FIGHT_PHASE_ATTACKA 
G_FIGHT_PHASE_ATTACKB 
G_FIGHT_PHASE_ATTACKC 
G_DEF_PHASE_DEFENSE 
G_DAMAGE_PHASE_HIT 
G_S_DAMAGE_PHASE_NODAMAGE 
G_WIND_PHASE_WINDDAMAGE 
G_CHANCE_PHASE_DAWNA 
G_CHANCE_PHASE_DAWNB 
G_CHANCE_PHASE_STAND 
G_END_PHASE_DEATH2 
G_END_PHASE_10 
G_END_PHASE_DEATHA 

◆ E_st_RES_File_ID

Enumerator
BCK_ST_ATTACK 
BCK_ST_ATTACK02 
BCK_ST_ATTACKA 
BCK_ST_ATTACKB 
BCK_ST_ATTACKC 
BCK_ST_DAMAGE 
BCK_ST_DAWNA 
BCK_ST_DAWNB 
BCK_ST_DAWNC 
BCK_ST_DEAD 
BCK_ST_DEADWAIT 
BCK_ST_DEATH 
BCK_ST_DEATHA 
BCK_ST_DEFENSE 
BCK_ST_HANG 
BCK_ST_HANG02 
BCK_ST_HANG_DOWN 
BCK_ST_HANG_SHOCK 
BCK_ST_HANG_UP 
BCK_ST_HANGATTACK 
BCK_ST_HANGDAMAGE 
BCK_ST_HITL 
BCK_ST_HITR 
BCK_ST_HUG 
BCK_ST_HUG_ATTACK 
BCK_ST_JUMP 
BCK_ST_LANDING 
BCK_ST_MOVE 
BCK_ST_STAND 
BCK_ST_TURN 
BCK_ST_WAIT 
BCK_ST_WAIT02 
BCK_ST_WATERDEAD 
BCK_ST_WINDDAMAGE 
BMDR_ST 
BMDR_ST2 

◆ Joint

enum Joint
Enumerator
JNT_WORLD_ROOT 
JNT_HEAD 
JNT_LLEGA_1 
JNT_LLEGA_2 
JNT_LLEGA_3 
JNT_LLEGB_1 
JNT_LLEGB_2 
JNT_LLEGB_3 
JNT_LLEGC_1 
JNT_LLEGC_2 
JNT_LLEGC_3 
JNT_LLEGD_1 
JNT_LLEGD_2 
JNT_LLEGD_3 
JNT_RLEGA_1 
JNT_RLEGA_2 
JNT_RLEGA_3 
JNT_RLEGB_1 
JNT_RLEGB_2 
JNT_RLEGB_3 
JNT_RLEGC_1 
JNT_RLEGC_2 
JNT_RLEGC_3 
JNT_RLEGD_1 
JNT_RLEGD_2 
JNT_RLEGD_3 
JNT_AGOL 
JNT_AGOR 
JNT_HANDL1 
JNT_HANDL2 
JNT_HANDR1 
JNT_HANDR2 
JNT_WAIST 

Function Documentation

◆ action()

static void action ( e_st_class * i_this)
static

◆ anm_init()

static void anm_init ( e_st_class * i_this,
int i_index,
f32 i_morf,
u8 i_attr,
f32 i_rate )
static

◆ bg_angle_set()

static void bg_angle_set ( e_st_class * i_this,
s16 i_maxStep )
static

◆ bg_pos_get()

static BOOL bg_pos_get ( e_st_class * i_this)
static

◆ daE_ST_Create()

static cPhs__Step daE_ST_Create ( fopAc_ac_c * a_this)
static

◆ daE_ST_Delete()

static int daE_ST_Delete ( e_st_class * i_this)
static

◆ daE_ST_Draw()

static int daE_ST_Draw ( e_st_class * i_this)
static

◆ daE_ST_Execute()

static int daE_ST_Execute ( e_st_class * i_this)
static

◆ daE_ST_IsDelete()

static int daE_ST_IsDelete ( e_st_class * i_this)
static

◆ damage_check()

static void damage_check ( e_st_class * i_this)
static

◆ damage_check_g()

static void damage_check_g ( e_st_class * i_this)
static

◆ e_st_damage()

static void e_st_damage ( e_st_class * i_this)
static

◆ e_st_g_chance()

static void e_st_g_chance ( e_st_class * i_this)
static

◆ e_st_g_damage()

static void e_st_g_damage ( e_st_class * i_this)
static

◆ e_st_g_def()

static s8 e_st_g_def ( e_st_class * i_this)
static

◆ e_st_g_end()

static s8 e_st_g_end ( e_st_class * i_this)
static

◆ e_st_g_fight()

static s8 e_st_g_fight ( e_st_class * i_this)
static

◆ e_st_g_normal()

static void e_st_g_normal ( e_st_class * i_this)
static

◆ e_st_g_s_damage()

static void e_st_g_s_damage ( e_st_class * i_this)
static

◆ e_st_g_wind()

static void e_st_g_wind ( e_st_class * i_this)
static

◆ e_st_hang()

static void e_st_hang ( e_st_class * i_this)
static

◆ e_st_hang_2()

static s8 e_st_hang_2 ( e_st_class * i_this)
static

◆ e_st_hang_2_shoot()

static void e_st_hang_2_shoot ( e_st_class * i_this)
static

◆ e_st_hang_drop()

static void e_st_hang_drop ( e_st_class * i_this)
static

◆ e_st_hang_shoot()

static void e_st_hang_shoot ( e_st_class * i_this)
static

◆ e_st_jump_attack()

static void e_st_jump_attack ( e_st_class * i_this)
static

◆ e_st_move()

static void e_st_move ( e_st_class * i_this)
static

◆ e_st_pl_search()

static void e_st_pl_search ( e_st_class * i_this)
static

◆ e_st_s_damage()

static void e_st_s_damage ( e_st_class * i_this)
static

◆ e_st_shoot()

static void e_st_shoot ( e_st_class * i_this)
static

◆ e_st_wait()

static void e_st_wait ( e_st_class * i_this)
static

◆ e_st_water()

static void e_st_water ( e_st_class * i_this)
static

◆ foot_control()

static BOOL foot_control ( e_st_class * i_this,
st_foot * foot_p )
static

◆ foot_control_main()

static void foot_control_main ( e_st_class * i_this)
static

◆ gr_check()

static BOOL gr_check ( e_st_class * i_this)
static

◆ ground_angle_set()

static void ground_angle_set ( e_st_class * i_this)
static

◆ kabe_initial_pos_set()

static int kabe_initial_pos_set ( e_st_class * i_this)
static

◆ move_bg_check()

static int move_bg_check ( e_st_class * i_this)
static

◆ move_calc()

static void move_calc ( e_st_class * i_this)
static

◆ next_angle_get()

static s16 next_angle_get ( e_st_class * i_this)
static

◆ nodeCallBack()

static int nodeCallBack ( J3DJoint * i_joint,
int param_2 )
static

◆ other_bg_check()

static BOOL other_bg_check ( e_st_class * i_this,
fopAc_ac_c * actor_p )
static

◆ pl_angle_get()

static s16 pl_angle_get ( e_st_class * i_this)
static

◆ pl_check()

static BOOL pl_check ( e_st_class * i_this,
f32 i_distance )
static

◆ roof_initial_pos_set()

static BOOL roof_initial_pos_set ( e_st_class * i_this)
static

◆ roof_line_calc()

static void roof_line_calc ( e_st_class * i_this)
static

◆ roof_line_calc2()

static void roof_line_calc2 ( e_st_class * i_this)
static

◆ tail_line_calc()

static void tail_line_calc ( e_st_class * i_this)
static

◆ useHeapInit()

static int useHeapInit ( fopAc_ac_c * a_this)
static

◆ water_check()

static BOOL water_check ( e_st_class * i_this)
static

Variable Documentation

◆ AUDIO_INSTANCES

AUDIO_INSTANCES

◆ base_j

int base_j[8]
static
Initial value:
= {
}
@ JNT_RLEGD_1
Definition d_a_e_st.cpp:79
@ JNT_LLEGB_1
Definition d_a_e_st.cpp:61
@ JNT_LLEGA_1
Definition d_a_e_st.cpp:58
@ JNT_RLEGA_1
Definition d_a_e_st.cpp:70
@ JNT_RLEGC_1
Definition d_a_e_st.cpp:76
@ JNT_LLEGC_1
Definition d_a_e_st.cpp:64
@ JNT_RLEGB_1
Definition d_a_e_st.cpp:73
@ JNT_LLEGD_1
Definition d_a_e_st.cpp:67

◆ g_profile_E_ST

actor_process_profile_definition g_profile_E_ST
extern
Initial value:
= {
7,
sizeof(e_st_class),
0,
0,
129,
0x10040100,
}
Skulltula.
Definition d_a_e_st.h:23
static actor_method_class l_daE_ST_Method
Definition d_a_e_st.cpp:3157
@ PROC_E_ST
Definition d_procname.h:456
actor_method_class g_fopAc_Method
@ fopAc_CULLBOX_CUSTOM_e
Definition f_op_actor.h:70
@ fopAc_ENEMY_e
Definition f_op_actor.h:40
@ fpcLy_CURRENT_e
Definition f_pc_layer_tag.h:9
leafdraw_method_class g_fpcLf_Method
Definition f_pc_leaf.cpp:63
@ fpcPi_CURRENT_e
Definition f_pc_priority.h:8
leafdraw_method_class base
Definition f_op_actor.h:9
process_method_class base
Definition f_pc_leaf.h:12

◆ l_daE_ST_Method

actor_method_class l_daE_ST_Method
static
Initial value:
= {
}
static int daE_ST_Draw(e_st_class *i_this)
Definition d_a_e_st.cpp:300
static int daE_ST_IsDelete(e_st_class *i_this)
Definition d_a_e_st.cpp:2840
static int daE_ST_Delete(e_st_class *i_this)
Definition d_a_e_st.cpp:2844
static int daE_ST_Execute(e_st_class *i_this)
Definition d_a_e_st.cpp:2642
static cPhs__Step daE_ST_Create(fopAc_ac_c *a_this)
Definition d_a_e_st.cpp:2965
int(* process_method_func)(void *)
Definition f_pc_method.h:7

◆ l_HIO

daE_ST_HIO_c l_HIO
static

◆ l_initHIO

bool l_initHIO
static

◆ small

BOOL small
static

◆ top_j

int top_j[8]
static
Initial value:
= {
}
@ JNT_RLEGA_3
Definition d_a_e_st.cpp:72
@ JNT_LLEGB_3
Definition d_a_e_st.cpp:63
@ JNT_RLEGC_3
Definition d_a_e_st.cpp:78
@ JNT_LLEGC_3
Definition d_a_e_st.cpp:66
@ JNT_LLEGD_3
Definition d_a_e_st.cpp:69
@ JNT_LLEGA_3
Definition d_a_e_st.cpp:60
@ JNT_RLEGB_3
Definition d_a_e_st.cpp:75
@ JNT_RLEGD_3
Definition d_a_e_st.cpp:81

◆ top_pos_data

cXyz top_pos_data[4]
static
Initial value:
= {
cXyz(40.0f, 2.0f, 0.0f),
cXyz(58.0f, 2.0f, 0.0f),
cXyz(55.0f, 0.0f, 0.0f),
cXyz(78.0f, 0.0f, 0.0f),
}
Definition c_xyz.h:7

◆ xa

s16 xa[6]
static
Initial value:
= {
-0x4000, -0x4000, -0x4000, -0x4000, 0x0000, 0x8000,
}

◆ ya

s16 ya[6]
static
Initial value:
= {
-0x4000, 0x4000, 0x0000, 0x8000, 0x0000, 0x0000,
}