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

Water Column/Pillar. More...

#include <d_a_obj_waterPillar.h>

+ Inheritance diagram for daWtPillar_c:
+ Collaboration diagram for daWtPillar_c:

Public Member Functions

 daWtPillar_c ()
 
 ~daWtPillar_c ()
 
void setBaseMtx ()
 
int CreateHeap ()
 
cPhs__Step create ()
 
int execute ()
 
void actionMain ()
 
void effectSet ()
 
void effectSet2 ()
 
void actionSwWaitInit ()
 
void actionSwWait ()
 
virtual BOOL eventStart ()
 
void actionWaitInit ()
 
void actionWait ()
 
void actionUpFirstInit ()
 
void actionUpFirst ()
 
void actionUpFirstWaitInit ()
 
void actionUpFirstWait ()
 
void actionUpInit ()
 
void actionUp ()
 
void actionUpWaitInit ()
 
void actionUpWait ()
 
void actionDownInit ()
 
void actionDown ()
 
void actionRockWaitInit ()
 
void actionRockWait ()
 
void actionRockOnInit ()
 
void actionRockOn ()
 
void actionEndInit ()
 
void actionEnd ()
 
f32 getPillarHeight ()
 
int draw ()
 
int _delete ()
 
void onRockFlag ()
 
cXyz getPos ()
 
u8 isRockYure ()
 
void clearRockYure ()
 
- 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 ()
 
- Public Member Functions inherited from dEvLib_callback_c
 dEvLib_callback_c (fopAc_ac_c *param_0)
 
BOOL eventUpdate ()
 
BOOL setEvent (int, int, int)
 
void orderEvent (int, int, int)
 
BOOL setAction (action_class< dEvLib_callback_c > *)
 
BOOL initAction ()
 
BOOL executeAction ()
 
BOOL initStart ()
 
BOOL executeStart ()
 
BOOL initRun ()
 
BOOL executeRun ()
 
virtual ~dEvLib_callback_c ()
 
virtual BOOL eventRun ()
 
virtual BOOL eventEnd ()
 

Static Public Member Functions

static int createHeapCallBack (fopAc_ac_c *)
 
- Static Public Member Functions inherited from fopAc_ac_c
static void setStopStatus (u32 status)
 

Static Public Attributes

static dCcD_SrcGObjInf const mCcDObjInfo
 
static dCcD_SrcGObjInf const mCcDObjCoInfo
 
static dCcD_SrcCps mCcDCps
 
static dCcD_SrcCyl mCcDCyl = {daWtPillar_c::mCcDObjCoInfo}
 
- Static Public Attributes inherited from fopAc_ac_c
static u32 stopStatus
 

Private Types

enum  Action_e {
  ACTION_SW_WAIT , ACTION_WAIT , ACTION_UP_FIRST , ACTION_UP_FIRST_WAIT ,
  ACTION_UP , ACTION_UP_WAIT , ACTION_DOWN , ACTION_ROCK_WAIT ,
  ACTION_ROCK_ON , ACTION_END
}
 
enum  Type_e { STATIC , RISES_AND_FALLS }
 

Private Member Functions

s32 getEventID ()
 
s32 getParam (u8 shift, u8 bit)
 

Private Attributes

request_of_phase_process_class mPhase
 
J3DModelmpModel
 
mDoExt_btkAnm mVerticalTextureScrollAnimation
 
mDoExt_bckAnm mModelRotationAnimation
 
dBgS_ObjAcch mAcch
 
dBgS_AcchCir mAcchCir
 
dCcD_Stts mStts
 
dCcD_Cps mCapsuleCollider
 
dCcD_Cyl mCylinderCollider
 
u8 pad0 [0x3C]
 
f32 mScaleX
 
u8 pad1 [0x4]
 
f32 mScaleZ
 
f32 mCurrentHeight
 
cM3dGCpsS mCapsuleSource
 
u8 mAction
 
u16 mWaitFrameDelay
 
f32 mTargetMaxSpeed
 
u8 mSwitchNo
 
u8 mType
 
u8 pad2 [0x6]
 
f32 mFirstTargetHeight
 
f32 mMaxHeight
 
f32 mTargetHeightStalactiteOffset
 
f32 mRelativeWaterHeight
 
u32 mEffectOscillationAngleStep
 
cXyz mEffectOscillationVerticalOffset
 
f32 mEffectOscillationAngle
 
f32 mEffectOscillationAmplitude
 
f32 mEffectOscillationDampingScale
 
f32 mEffectOscillationMaxDecay
 
f32 mEffectOscillationMinDecay
 
u8 field_0xB44
 
u8 mStartedRisingOrDoesNotRiseAndFall
 
u8 mPillarIsPreparingToRise
 
u32 mBottomAndTopParticleEmmitters [7]
 
u32 mWaterSurfaceParticleEmitters [2]
 
cXyz mTopPos
 
s8 mStalactiteShouldStartShaking
 
u8 mIsCarryingStalactite
 

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 base
 
leafdraw_method_classleaf_methods
 
s8 unk_0xBC
 
u8 unk_0xBD
 
draw_priority_class draw_priority
 
- Public Attributes inherited from fakeWtPillarPadding
u8 a [8]
 
- Public Attributes inherited from dEvLib_callback_c
fopAc_ac_cmActor
 
action_class< dEvLib_callback_c > * mAction
 
u16 _C
 

Detailed Description

Water Column/Pillar.

Water columns that can carry broken stalactites (see d_a_obj_syrock)

Member Enumeration Documentation

◆ Action_e

Enumerator
ACTION_SW_WAIT 
ACTION_WAIT 
ACTION_UP_FIRST 
ACTION_UP_FIRST_WAIT 
ACTION_UP 
ACTION_UP_WAIT 
ACTION_DOWN 
ACTION_ROCK_WAIT 
ACTION_ROCK_ON 
ACTION_END 

◆ Type_e

Enumerator
STATIC 
RISES_AND_FALLS 

Constructor & Destructor Documentation

◆ daWtPillar_c()

daWtPillar_c::daWtPillar_c ( )

◆ ~daWtPillar_c()

daWtPillar_c::~daWtPillar_c ( )
inline

Member Function Documentation

◆ _delete()

int daWtPillar_c::_delete ( )

◆ actionDown()

void daWtPillar_c::actionDown ( )

◆ actionDownInit()

void daWtPillar_c::actionDownInit ( )

◆ actionEnd()

void daWtPillar_c::actionEnd ( )

◆ actionEndInit()

void daWtPillar_c::actionEndInit ( )

◆ actionMain()

void daWtPillar_c::actionMain ( )

◆ actionRockOn()

void daWtPillar_c::actionRockOn ( )

◆ actionRockOnInit()

void daWtPillar_c::actionRockOnInit ( )

◆ actionRockWait()

void daWtPillar_c::actionRockWait ( )

◆ actionRockWaitInit()

void daWtPillar_c::actionRockWaitInit ( )

◆ actionSwWait()

void daWtPillar_c::actionSwWait ( )

◆ actionSwWaitInit()

void daWtPillar_c::actionSwWaitInit ( )

◆ actionUp()

void daWtPillar_c::actionUp ( )

◆ actionUpFirst()

void daWtPillar_c::actionUpFirst ( )

◆ actionUpFirstInit()

void daWtPillar_c::actionUpFirstInit ( )

◆ actionUpFirstWait()

void daWtPillar_c::actionUpFirstWait ( )

◆ actionUpFirstWaitInit()

void daWtPillar_c::actionUpFirstWaitInit ( )

◆ actionUpInit()

void daWtPillar_c::actionUpInit ( )

◆ actionUpWait()

void daWtPillar_c::actionUpWait ( )

◆ actionUpWaitInit()

void daWtPillar_c::actionUpWaitInit ( )

◆ actionWait()

void daWtPillar_c::actionWait ( )

◆ actionWaitInit()

void daWtPillar_c::actionWaitInit ( )

◆ clearRockYure()

void daWtPillar_c::clearRockYure ( )
inline

◆ create()

cPhs__Step daWtPillar_c::create ( )

See the east room in B1 of the Lakebed Temple as an example: When first entering entering the room after redirecting water towards it, a cutscene plays showing the water level rising; the bottom of the oscillating water pillar in this room starts above water, but ends up below water after the cutscene, resulting in its target height never being modified. However, exiting and re-entering the room does not result in the cutscene playing again, so its target height is modified upon subsequent entries to the room

◆ CreateHeap()

int daWtPillar_c::CreateHeap ( )

◆ createHeapCallBack()

int daWtPillar_c::createHeapCallBack ( fopAc_ac_c i_this)
static

◆ draw()

int daWtPillar_c::draw ( )

◆ effectSet()

void daWtPillar_c::effectSet ( )

◆ effectSet2()

void daWtPillar_c::effectSet2 ( )

◆ eventStart()

BOOL daWtPillar_c::eventStart ( )
virtual

Reimplemented from dEvLib_callback_c.

◆ execute()

int daWtPillar_c::execute ( )

◆ getEventID()

s32 daWtPillar_c::getEventID ( )
inlineprivate

◆ getParam()

s32 daWtPillar_c::getParam ( u8  shift,
u8  bit 
)
inlineprivate

◆ getPillarHeight()

f32 daWtPillar_c::getPillarHeight ( )

◆ getPos()

cXyz daWtPillar_c::getPos ( )
inline

◆ isRockYure()

u8 daWtPillar_c::isRockYure ( )
inline

◆ onRockFlag()

void daWtPillar_c::onRockFlag ( )
inline

◆ setBaseMtx()

void daWtPillar_c::setBaseMtx ( )

Member Data Documentation

◆ field_0xB44

u8 daWtPillar_c::field_0xB44
private

◆ mAcch

dBgS_ObjAcch daWtPillar_c::mAcch
private

◆ mAcchCir

dBgS_AcchCir daWtPillar_c::mAcchCir
private

◆ mAction

u8 daWtPillar_c::mAction
private

◆ mBottomAndTopParticleEmmitters

u32 daWtPillar_c::mBottomAndTopParticleEmmitters[7]
private

◆ mCapsuleCollider

dCcD_Cps daWtPillar_c::mCapsuleCollider
private

◆ mCapsuleSource

cM3dGCpsS daWtPillar_c::mCapsuleSource
private

◆ mCcDCps

dCcD_SrcCps daWtPillar_c::mCcDCps
static
Initial value:
= {
{ { {0.0f, 0.0f, 0.0f}, {0.0f,1100.0f, 0.0f}, 150.0f }}
}
static dCcD_SrcGObjInf const mCcDObjInfo
Definition d_a_obj_waterPillar.h:79

◆ mCcDCyl

dCcD_SrcCyl daWtPillar_c::mCcDCyl = {daWtPillar_c::mCcDObjCoInfo}
static

◆ mCcDObjCoInfo

const dCcD_SrcGObjInf daWtPillar_c::mCcDObjCoInfo
static
Initial value:
= {
{0x0, {{AT_TYPE_0, 0x0, 0x0}, {0x00, 0x0}, 0x79}},
{dCcD_SE_SWORD, 0x0, 0x0, dCcD_MTRL_NONE, 0x0},
{dCcD_SE_STONE, 0x0, 0x0, dCcD_MTRL_NONE, 0x0},
{},
}
@ AT_TYPE_0
Definition c_cc_d.h:31
@ dCcD_MTRL_NONE
Definition d_cc_d.h:40
@ dCcD_SE_STONE
Definition d_cc_d.h:23
@ dCcD_SE_SWORD
Definition d_cc_d.h:14

◆ mCcDObjInfo

const dCcD_SrcGObjInf daWtPillar_c::mCcDObjInfo
static
Initial value:
= {
{0x0, {{AT_TYPE_100, 0x0, 0x1D}, {AT_TYPE_0, 0x0}, 0x0}},
{dCcD_SE_SWORD, 0x0, 0x0, dCcD_MTRL_NONE, 0x0},
{dCcD_SE_STONE, 0x0, 0x0, dCcD_MTRL_NONE, 0x0},
{},
}
@ AT_TYPE_100
Definition c_cc_d.h:40

◆ mCurrentHeight

f32 daWtPillar_c::mCurrentHeight
private

◆ mCylinderCollider

dCcD_Cyl daWtPillar_c::mCylinderCollider
private

◆ mEffectOscillationAmplitude

f32 daWtPillar_c::mEffectOscillationAmplitude
private

◆ mEffectOscillationAngle

f32 daWtPillar_c::mEffectOscillationAngle
private

◆ mEffectOscillationAngleStep

u32 daWtPillar_c::mEffectOscillationAngleStep
private

◆ mEffectOscillationDampingScale

f32 daWtPillar_c::mEffectOscillationDampingScale
private

◆ mEffectOscillationMaxDecay

f32 daWtPillar_c::mEffectOscillationMaxDecay
private

◆ mEffectOscillationMinDecay

f32 daWtPillar_c::mEffectOscillationMinDecay
private

◆ mEffectOscillationVerticalOffset

cXyz daWtPillar_c::mEffectOscillationVerticalOffset
private

◆ mFirstTargetHeight

f32 daWtPillar_c::mFirstTargetHeight
private

◆ mIsCarryingStalactite

u8 daWtPillar_c::mIsCarryingStalactite
private

◆ mMaxHeight

f32 daWtPillar_c::mMaxHeight
private

◆ mModelRotationAnimation

mDoExt_bckAnm daWtPillar_c::mModelRotationAnimation
private

◆ mPhase

request_of_phase_process_class daWtPillar_c::mPhase
private

◆ mPillarIsPreparingToRise

u8 daWtPillar_c::mPillarIsPreparingToRise
private

◆ mpModel

J3DModel* daWtPillar_c::mpModel
private

◆ mRelativeWaterHeight

f32 daWtPillar_c::mRelativeWaterHeight
private

◆ mScaleX

f32 daWtPillar_c::mScaleX
private

◆ mScaleZ

f32 daWtPillar_c::mScaleZ
private

◆ mStalactiteShouldStartShaking

s8 daWtPillar_c::mStalactiteShouldStartShaking
private

◆ mStartedRisingOrDoesNotRiseAndFall

u8 daWtPillar_c::mStartedRisingOrDoesNotRiseAndFall
private

◆ mStts

dCcD_Stts daWtPillar_c::mStts
private

◆ mSwitchNo

u8 daWtPillar_c::mSwitchNo
private

◆ mTargetHeightStalactiteOffset

f32 daWtPillar_c::mTargetHeightStalactiteOffset
private

◆ mTargetMaxSpeed

f32 daWtPillar_c::mTargetMaxSpeed
private

◆ mTopPos

cXyz daWtPillar_c::mTopPos
private

◆ mType

u8 daWtPillar_c::mType
private

◆ mVerticalTextureScrollAnimation

mDoExt_btkAnm daWtPillar_c::mVerticalTextureScrollAnimation
private

◆ mWaitFrameDelay

u16 daWtPillar_c::mWaitFrameDelay
private

◆ mWaterSurfaceParticleEmitters

u32 daWtPillar_c::mWaterSurfaceParticleEmitters[2]
private

◆ pad0

u8 daWtPillar_c::pad0[0x3C]
private

◆ pad1

u8 daWtPillar_c::pad1[0x4]
private

◆ pad2

u8 daWtPillar_c::pad2[0x6]
private

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