Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
daNpcThe_c Class Reference

Telma. More...

#include <d_a_npc_the.h>

+ Inheritance diagram for daNpcThe_c:
+ Collaboration diagram for daNpcThe_c:

Public Types

enum  Type { TYPE_BAR , TYPE_1 , TYPE_KAKARIKO }
 
enum  Animation {
  ANM_NONE , ANM_F_TALK_A , ANM_F_SMILE , ANM_F_CHUCKLE ,
  ANM_F_TALK_B , ANM_F_TALK_C , ANM_F_LAUGH , ANM_F_TALK_R ,
  ANM_FH_SMILE , ANM_FH_CHUCKLE , ANM_FH_TALK_B , ANM_FH_TALK_C ,
  ANM_FH_LAUGH , ANM_FH_TALK_R , ANM_WAIT_A , ANM_WAIT_LOOKING ,
  ANM_TO_WAIT_B , ANM_WAIT_B , ANM_WAIT_LOOKUP , ANM_TALK_R ,
  ANM_TALKING_R , ANM_LOOK_A , ANM_LOOK , ANM_KUNE_WAIT_A ,
  ANM_KUNE_TALK , ANM_KUNE_WAIT_B , ANM_KUNE_SHISHI
}
 
enum  Expression {
  EXPR_TALK_A , EXPR_SMILE , EXPR_CHUCKLE , EXPR_TALK_B ,
  EXPR_TALK_C , EXPR_LAUGH , EXPR_TALK_R , EXPR_H_TALK_R ,
  EXPR_H_SMILE , EXPR_H_CHUCKLE , EXPR_H_TALK_B , EXPR_H_TALK_C ,
  EXPR_H_LAUGH , EXPR_NONE
}
 
enum  Motion {
  MOT_WAIT_A , MOT_LOOK_A , MOT_TO_WAIT_B , MOT_WAIT_LOOKUP ,
  MOT_KUNE_TALK , MOT_KUNE_WAIT_A , MOT_KUNE_SHISHI , MOT_WAIT_B ,
  MOT_KUNE_WAIT_B , MOT_TALK_R , MOT_LOOK
}
 
typedef BOOL(daNpcThe_c::* ActionFn) (void *)
 
typedef BOOL(daNpcThe_c::* EventFn) (int)
 
- Public Types inherited from daNpcF_c
enum  AnmFlags {
  ANM_PAUSE_MORF = 0x0001 , ANM_PAUSE_BTK = 0x0002 , ANM_PAUSE_BRK = 0x0004 , ANM_PLAY_MORF = 0x0008 ,
  ANM_PLAY_BTK = 0x0010 , ANM_PLAY_BRK = 0x0020 , ANM_PAUSE_BCK = 0x0040 , ANM_PAUSE_BTP = 0x0080 ,
  ANM_PLAY_BCK = 0x0100 , ANM_PLAY_BTP = 0x0200 , ANM_FLAG_400 = 0x0400 , ANM_FLAG_800 = 0x0800 ,
  ANM_PAUSE_EXPRESSION = 0x1000 , ANM_PAUSE_BPK = 0x2000 , ANM_PLAY_BPK = 0x4000 , ANM_MOTION_FLAGS ,
  ANM_EXPRESSION_FLAGS , ANM_PAUSE_ALL
}
 
enum  LookMode {
  LOOK_NONE , LOOK_RESET , LOOK_PLAYER , LOOK_PLAYER_TALK ,
  LOOK_ACTOR , LOOK_ATTN
}
 

Public Member Functions

 daNpcThe_c ()
 
 ~daNpcThe_c ()
 
BOOL CreateHeap ()
 
BOOL ctrlJoint (J3DJoint *, J3DModel *)
 
bool setExpressionAnm (int, bool)
 
bool setExpressionBtp (int)
 
bool setMotionAnm (int, f32)
 
BOOL wait (void *)
 
void setMotion (int, f32, int)
 
void setExpression (int, f32)
 
BOOL waitTW (void *)
 
BOOL talk (void *)
 
BOOL test (void *)
 
BOOL EvCut_TwResistance (int)
 
BOOL EvCut_Introduction (int)
 
cPhs__Step create ()
 
void reset ()
 
int Draw ()
 
void setParam ()
 
BOOL main ()
 
void playMotion ()
 
void playExpression ()
 
void setExpressionTalkAfter ()
 
BOOL doEvent ()
 
BOOL ctrlBtk ()
 
void setAttnPos ()
 
void lookat ()
 
BOOL drawDbgInfo ()
 
void adjustShapeAngle ()
 
u8 getTypeFromParam ()
 
bool isDelete ()
 
void setLookMode (int i_lookMode)
 
bool isSneaking ()
 
bool chkAction (ActionFn action)
 
BOOL setAction (ActionFn action)
 
void doNormalAction ()
 
- Public Member Functions inherited from daNpcF_c
BOOL execute ()
 
int draw (BOOL, BOOL, f32, _GXColorS10 *, BOOL)
 
void initialize ()
 
J3DAnmTransformKeygetTrnsfrmKeyAnmP (char *, int)
 
J3DAnmTexPatterngetTexPtrnAnmP (char *, int)
 
J3DAnmTextureSRTKeygetTexSRTKeyAnmP (char *, int)
 
J3DAnmTevRegKeygetTevRegKeyAnmP (char *, int)
 
BOOL setMcaMorfAnm (J3DAnmTransformKey *i_anm, f32 i_rate, f32 i_morf, int i_attr, int i_start, int i_end)
 
BOOL setBckAnm (J3DAnmTransform *i_bck, f32 i_rate, int i_attr, int i_start, int i_end, bool i_modify)
 
BOOL setBtpAnm (J3DAnmTexPattern *i_btp, J3DModelData *i_modelData, f32 i_rate, int i_attr)
 
BOOL setBtkAnm (J3DAnmTextureSRTKey *i_btk, J3DModelData *i_modelData, f32 i_rate, int i_attr)
 
BOOL setBrkAnm (J3DAnmTevRegKey *i_brk, J3DModelData *i_modelData, f32 i_rate, int i_attr)
 
void setEnvTevColor ()
 
void setRoomNo ()
 
BOOL chkEndAnm (f32)
 
BOOL chkEndAnm (J3DFrameCtrl *, f32)
 
BOOL playAllAnm ()
 
void playExpressionAnm (daNpcF_c::daNpcF_anmPlayData ***)
 
void playMotionAnm (daNpcF_c::daNpcF_anmPlayData ***)
 
void setLookatMtx (int, int *, f32)
 
BOOL hitChk2 (dCcD_Cyl *, BOOL, BOOL)
 
void setDamage (int, int, int)
 
int ctrlMsgAnm (int &, int &, fopAc_ac_c *, BOOL)
 
void orderEvent (int, char *, u16, u16, u8, u16)
 
void changeEvent (char *, char *, u16, u16)
 
BOOL chkActorInSight (fopAc_ac_c *, f32)
 
BOOL chkActorInArea (fopAc_ac_c *, cXyz, cXyz, s16)
 
BOOL chkActorInAttnArea (fopAc_ac_c *, fopAc_ac_c *, int)
 
BOOL initTalk (int, fopAc_ac_c **)
 
BOOL talkProc (int *, BOOL, fopAc_ac_c **)
 
BOOL turn (s16, f32, int)
 
BOOL step (s16, int, int, int)
 
void setAngle (s16)
 
u8 getDistTableIdx (int, int)
 
fopAc_ac_cgetEvtAreaTagP (int, int)
 
fopAc_ac_cgetAttnActorP (BOOL, fpcLyIt_JudgeFunc, f32, f32, f32, f32, s16, int, BOOL)
 
BOOL chkActorInSight2 (fopAc_ac_c *, f32, s16)
 
BOOL chkPointInArea (cXyz, cXyz, f32, f32, f32, s16)
 
BOOL chkPointInArea (cXyz, cXyz, cXyz, s16)
 
cXyz getAttentionPos (fopAc_ac_c *)
 
BOOL chkFindPlayer2 (BOOL, s16)
 
void setHitodamaPrtcl ()
 
virtual ~daNpcF_c ()
 
virtual void setMtx ()
 
virtual void setMtx2 ()
 
virtual void setCollisions ()
 
virtual void drawOtherMdls ()
 
BOOL chkActorInSpeakArea (fopAc_ac_c *i_actorCheck, fopAc_ac_c *i_actorArea)
 
BOOL chkPlayerInSpeakArea (fopAc_ac_c *i_actor)
 
BOOL chkActorInTalkArea (fopAc_ac_c *i_actorCheck, fopAc_ac_c *i_actorArea)
 
BOOL chkPlayerInTalkArea (fopAc_ac_c *i_actor)
 
BOOL checkHide ()
 
void setIntDemander (fopAc_ac_c *i_actor)
 
void setIntFlowNodeNo (int i_flowNodeNo)
 
void setCutType (int i_cutType)
 
void onInterrupt (u8 param_0)
 
- Public Member Functions inherited from fopAc_ac_c
 fopAc_ac_c ()
 
 fopAc_ac_c ()
 
 ~fopAc_ac_c ()
 
 fopAc_ac_c ()
 
 ~fopAc_ac_c ()
 
 fopAc_ac_c ()
 
 ~fopAc_ac_c ()
 
 fopAc_ac_c ()
 
 ~fopAc_ac_c ()
 
 fopAc_ac_c ()
 
 ~fopAc_ac_c ()
 
 fopAc_ac_c ()
 
 ~fopAc_ac_c ()
 

Static Public Member Functions

static BOOL createHeapCallBack (fopAc_ac_c *)
 
static BOOL ctrlJointCallBack (J3DJoint *, int)
 
- Static Public Member Functions inherited from daNpcF_c
static void tgHitCallBack (fopAc_ac_c *, dCcD_GObjInf *, fopAc_ac_c *, dCcD_GObjInf *)
 
static voidsrchAttnActor1 (void *, void *)
 
static voidsrchActor (void *, void *)
 
- Static Public Member Functions inherited from fopAc_ac_c
static void setStopStatus (u32 status)
 

Private Attributes

Z2Creature mSound
 
daNpcF_MatAnm_cmpMatAnm
 
daNpcF_Lookat_c mLookat
 
daNpcF_ActorMngr_c mActorMngr [3]
 
u8 field_0xc90 [4]
 
dCcD_Cyl mColCyl
 
ActionFn mpNextActionFn
 
ActionFn mpActionFn
 
request_of_phase_process_class mPhase [2]
 
u8 field_0xdf8 [8]
 
u32 mItemID
 
u32 field_0xe04
 
u32 field_0xe08
 
u32 field_0xe0c
 
u32 field_0xe10
 
int mFlowID
 
s16 mLookMode
 
u16 mMode
 
bool field_0xe1c
 
bool field_0xe1d
 
u8 mType
 

Static Private Attributes

static charmEvtCutNameList [4]
 
static EventFn mEvtCutList [4]
 

Additional Inherited Members

- Public Attributes inherited from fopAc_ac_c
int actor_type
 
create_tag_class actor_tag
 
create_tag_class draw_tag
 
profile_method_classsub_method
 
JKRSolidHeapheap
 
dEvt_info_c eventInfo
 
dKy_tevstr_c tevStr
 
u16 setID
 
u8 group
 
u8 cullType
 
u8 demoActorID
 
s8 subtype
 
u8 carryType
 
u32 actor_status
 
u32 actor_condition
 
fpc_ProcID parentActorID
 
actor_place home
 
actor_place old
 
actor_place current
 
csXyz shape_angle
 
cXyz scale
 
cXyz speed
 
MtxP cullMtx
 
union { 
 
   cull_box   box 
 
   cull_sphere   sphere 
 
cull 
 
f32 cullSizeFar
 
J3DModelmodel
 
dJntCol_cjntCol
 
f32 speedF
 
f32 gravity
 
f32 maxFallSpeed
 
cXyz eyePos
 
actor_attention_types attention_info
 
s16 field_0x560
 
s16 health
 
u8 field_0x564
 
u8 field_0x565
 
u8 field_0x566
 
s8 field_0x567
 
- Public Attributes inherited from leafdraw_class
base_process_class mBase
 
leafdraw_method_classmpDrawMtd
 
s8 mbUnk0
 
u8 mbUnk1
 
draw_priority_class mDwPi
 
- Static Public Attributes inherited from daNpcF_c
static u8 const mCcDObjInfo [48]
 
static dCcD_SrcCyl mCcDCyl
 
static dCcD_SrcSph mCcDSph
 
static fopAc_ac_cmFindActorPList [100]
 
static s32 mFindCount
 
static s16 mSrchActorName
 
- Static Public Attributes inherited from fopAc_ac_c
static u32 stopStatus
 
- Protected Attributes inherited from daNpcF_c
mDoExt_McaMorfSOmpMorf
 
mDoExt_bckAnm mBckAnm
 
mDoExt_btpAnm mBtpAnm
 
mDoExt_btkAnm mBtkAnm
 
mDoExt_brkAnm mBrkAnm
 
dBgS_ObjAcch mAcch
 
dCcD_Stts mCcStts
 
dBgS_AcchCir mAcchCir
 
daNpcF_ActorMngr_c field_0x824
 
daNpcF_ActorMngr_c mAttnActor [5]
 
cXyz mLookatPos [3]
 
cXyz mLookPos
 
cXyz field_0x884
 
cXyz field_0x890
 
cXyz field_0x89c
 
cXyz field_0x8a8
 
cXyz field_0x8b4
 
cXyz field_0x8c0
 
cXyz field_0x8cc
 
cXyz field_0x8d8
 
cXyz mHeadPos
 
csXyz mCurAngle
 
csXyz mOldAngle
 
csXyz mEyeAngle
 
csXyz mHeadAngle
 
csXyz field_0x908 [3]
 
csXyz mLookatAngle [3]
 
int mStaffID
 
int mCutType
 
int mAttnIdx
 
int mAttnChangeTimer
 
int mAttnActorTimer [5]
 
int mMsgTimer
 
int mDamageTimer
 
int mTotalDamageTimer
 
int field_0x95c
 
int mEventTimer
 
int mBtpTimer
 
int mTurnAmount
 
int mTurnMode
 
f32 mTurnStepNum
 
f32 mExpressionMorfOverride
 
f32 mExpressionMorf
 
f32 mMotionMorfOverride
 
f32 mGroundH
 
f32 field_0x984 [3]
 
s16 field_0x990
 
s16 field_0x992
 
s16 mTurnStartAngle
 
s16 mTurnTargetAngle
 
u16 field_0x998
 
u32 mAnmFlags
 
u32 mShadowKey
 
u32 field_0x9a4
 
u32 mHitodamaParticleKey [2]
 
u32 mPolySound
 
int mFlowNodeNo
 
cXyz field_0x9b8
 
cXyz field_0x9c4
 
s16 field_0x9d0
 
s16 field_0x9d2
 
s16 mEventIdx
 
s16 mExpressionPhase
 
s16 mExpressionPrevPhase
 
s16 mMotionPhase
 
s16 mMotionPrevPhase
 
s16 mExpression
 
s16 mMotion
 
u16 mMotionLoops
 
u16 mExpressionLoops
 
u16 mOrderEvtNo
 
s8 mReverb
 
bool mOrderSpeakEvt
 
bool field_0x9ea
 
bool field_0x9eb
 
bool field_0x9ec
 
bool mOrderNewEvt
 
bool field_0x9ee
 
u8 field_0x9ef
 
bool mIsDamaged
 
u8 field_0x9f1
 
bool mHide
 
u8 field_0x9f3
 
bool mTwilight
 
u8 field_0x9f5
 
u8 field_0x9f6
 
dMsgFlow_c mFlow
 
cBgS_GndChk mGndChk
 
dBgS_GndChk field_0xa80
 
dBgS_LinChk field_0xad4
 

Detailed Description

Telma.

Member Typedef Documentation

◆ ActionFn

typedef BOOL(daNpcThe_c::* daNpcThe_c::ActionFn) (void *)

◆ EventFn

typedef BOOL(daNpcThe_c::* daNpcThe_c::EventFn) (int)

Member Enumeration Documentation

◆ Animation

Enumerator
ANM_NONE 
ANM_F_TALK_A 
ANM_F_SMILE 
ANM_F_CHUCKLE 
ANM_F_TALK_B 
ANM_F_TALK_C 
ANM_F_LAUGH 
ANM_F_TALK_R 
ANM_FH_SMILE 
ANM_FH_CHUCKLE 
ANM_FH_TALK_B 
ANM_FH_TALK_C 
ANM_FH_LAUGH 
ANM_FH_TALK_R 
ANM_WAIT_A 
ANM_WAIT_LOOKING 
ANM_TO_WAIT_B 
ANM_WAIT_B 
ANM_WAIT_LOOKUP 
ANM_TALK_R 
ANM_TALKING_R 
ANM_LOOK_A 
ANM_LOOK 
ANM_KUNE_WAIT_A 
ANM_KUNE_TALK 
ANM_KUNE_WAIT_B 
ANM_KUNE_SHISHI 

◆ Expression

Enumerator
EXPR_TALK_A 
EXPR_SMILE 
EXPR_CHUCKLE 
EXPR_TALK_B 
EXPR_TALK_C 
EXPR_LAUGH 
EXPR_TALK_R 
EXPR_H_TALK_R 
EXPR_H_SMILE 
EXPR_H_CHUCKLE 
EXPR_H_TALK_B 
EXPR_H_TALK_C 
EXPR_H_LAUGH 
EXPR_NONE 

◆ Motion

Enumerator
MOT_WAIT_A 
MOT_LOOK_A 
MOT_TO_WAIT_B 
MOT_WAIT_LOOKUP 
MOT_KUNE_TALK 
MOT_KUNE_WAIT_A 
MOT_KUNE_SHISHI 
MOT_WAIT_B 
MOT_KUNE_WAIT_B 
MOT_TALK_R 
MOT_LOOK 

◆ Type

Enumerator
TYPE_BAR 
TYPE_1 
TYPE_KAKARIKO 

Constructor & Destructor Documentation

◆ daNpcThe_c()

daNpcThe_c::daNpcThe_c ( )

◆ ~daNpcThe_c()

daNpcThe_c::~daNpcThe_c ( )

Member Function Documentation

◆ adjustShapeAngle()

void daNpcThe_c::adjustShapeAngle ( )
virtual

Reimplemented from daNpcF_c.

◆ chkAction()

bool daNpcThe_c::chkAction ( ActionFn  action)
inline

◆ create()

cPhs__Step daNpcThe_c::create ( )

◆ CreateHeap()

int daNpcThe_c::CreateHeap ( )
inline

◆ createHeapCallBack()

int daNpcThe_c::createHeapCallBack ( fopAc_ac_c i_this)
static

◆ ctrlBtk()

BOOL daNpcThe_c::ctrlBtk ( )
virtual

Reimplemented from daNpcF_c.

◆ ctrlJoint()

int daNpcThe_c::ctrlJoint ( J3DJoint i_joint,
J3DModel i_model 
)

◆ ctrlJointCallBack()

int daNpcThe_c::ctrlJointCallBack ( J3DJoint i_joint,
int  param_1 
)
static

◆ doEvent()

BOOL daNpcThe_c::doEvent ( )

◆ doNormalAction()

void daNpcThe_c::doNormalAction ( )
inline

◆ Draw()

int daNpcThe_c::Draw ( )
inline

◆ drawDbgInfo()

BOOL daNpcThe_c::drawDbgInfo ( )
virtual

Reimplemented from daNpcF_c.

◆ EvCut_Introduction()

BOOL daNpcThe_c::EvCut_Introduction ( int  i_staffID)

◆ EvCut_TwResistance()

BOOL daNpcThe_c::EvCut_TwResistance ( int  i_staffID)

◆ getTypeFromParam()

u8 daNpcThe_c::getTypeFromParam ( )
inline

◆ isDelete()

bool daNpcThe_c::isDelete ( )
inline

◆ isSneaking()

bool daNpcThe_c::isSneaking ( )
inline

◆ lookat()

void daNpcThe_c::lookat ( )

◆ main()

BOOL daNpcThe_c::main ( )
virtual

Reimplemented from daNpcF_c.

◆ playExpression()

void daNpcThe_c::playExpression ( )

◆ playMotion()

void daNpcThe_c::playMotion ( )

◆ reset()

void daNpcThe_c::reset ( )

◆ setAction()

BOOL daNpcThe_c::setAction ( ActionFn  action)
inline

◆ setAttnPos()

void daNpcThe_c::setAttnPos ( )
virtual

Reimplemented from daNpcF_c.

◆ setExpression()

void daNpcThe_c::setExpression ( int  i_expression,
f32  i_morf 
)
virtual

Reimplemented from daNpcF_c.

◆ setExpressionAnm()

bool daNpcThe_c::setExpressionAnm ( int  i_idx,
bool  i_modify 
)
virtual

Reimplemented from daNpcF_c.

◆ setExpressionBtp()

bool daNpcThe_c::setExpressionBtp ( int  i_idx)
virtual

Reimplemented from daNpcF_c.

◆ setExpressionTalkAfter()

void daNpcThe_c::setExpressionTalkAfter ( )
inline

◆ setLookMode()

void daNpcThe_c::setLookMode ( int  i_lookMode)
inline

◆ setMotion()

void daNpcThe_c::setMotion ( int  i_motion,
f32  i_morf,
int  i_restart 
)
virtual

Reimplemented from daNpcF_c.

◆ setMotionAnm()

bool daNpcThe_c::setMotionAnm ( int  i_idx,
f32  i_morf 
)
virtual

Reimplemented from daNpcF_c.

◆ setParam()

void daNpcThe_c::setParam ( )
virtual

Reimplemented from daNpcF_c.

◆ talk()

BOOL daNpcThe_c::talk ( void param_0)

◆ test()

BOOL daNpcThe_c::test ( void param_0)

◆ wait()

BOOL daNpcThe_c::wait ( void param_0)

◆ waitTW()

BOOL daNpcThe_c::waitTW ( void param_0)

Member Data Documentation

◆ field_0xc90

u8 daNpcThe_c::field_0xc90[4]
private

◆ field_0xdf8

u8 daNpcThe_c::field_0xdf8[8]
private

◆ field_0xe04

u32 daNpcThe_c::field_0xe04
private

◆ field_0xe08

u32 daNpcThe_c::field_0xe08
private

◆ field_0xe0c

u32 daNpcThe_c::field_0xe0c
private

◆ field_0xe10

u32 daNpcThe_c::field_0xe10
private

◆ field_0xe1c

bool daNpcThe_c::field_0xe1c
private

◆ field_0xe1d

bool daNpcThe_c::field_0xe1d
private

◆ mActorMngr

daNpcF_ActorMngr_c daNpcThe_c::mActorMngr[3]
private

◆ mColCyl

dCcD_Cyl daNpcThe_c::mColCyl
private

◆ mEvtCutList

daNpcThe_c::EventFn daNpcThe_c::mEvtCutList
staticprivate
Initial value:
= {
}
T cLib_calcTimer(T *value)
Definition c_lib.h:74
BOOL EvCut_TwResistance(int)
Definition d_a_npc_the.cpp:1133
BOOL EvCut_Introduction(int)
Definition d_a_npc_the.cpp:1139

◆ mEvtCutNameList

char * daNpcThe_c::mEvtCutNameList
staticprivate
Initial value:
= {
"",
"TW_RESISTANCE",
"TW_RESISTANCE",
"THE_INTRODUCTION",
}

◆ mFlowID

int daNpcThe_c::mFlowID
private

◆ mItemID

u32 daNpcThe_c::mItemID
private

◆ mLookat

daNpcF_Lookat_c daNpcThe_c::mLookat
private

◆ mLookMode

s16 daNpcThe_c::mLookMode
private

◆ mMode

u16 daNpcThe_c::mMode
private

◆ mpActionFn

ActionFn daNpcThe_c::mpActionFn
private

◆ mPhase

request_of_phase_process_class daNpcThe_c::mPhase[2]
private

◆ mpMatAnm

daNpcF_MatAnm_c* daNpcThe_c::mpMatAnm
private

◆ mpNextActionFn

ActionFn daNpcThe_c::mpNextActionFn
private

◆ mSound

Z2Creature daNpcThe_c::mSound
private

◆ mType

u8 daNpcThe_c::mType
private

The documentation for this class was generated from the following files: