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

#include <d_menu_ring.h>

+ Inheritance diagram for dMenu_Ring_c:
+ Collaboration diagram for dMenu_Ring_c:

Public Types

enum  dMenu_Ring_Status { STATUS_WAIT , STATUS_MOVE , STATUS_EXPLAIN , STATUS_EXPLAIN_FORCE }
 

Public Member Functions

 dMenu_Ring_c (JKRExpHeap *, STControl *, CSTControl *, u8)
 
void _create ()
 
void _delete ()
 
void _move ()
 
void _draw ()
 
void setKanteraPos (f32, f32)
 
bool isOpen ()
 
bool isMoveEnd ()
 
bool isClose ()
 
u8 getStickInfo (STControl *)
 
s16 calcStickAngle (STControl *, u8)
 
void setRotate ()
 
void setItemScale (int, f32)
 
void setButtonScale (int, f32)
 
void setItem ()
 
void setJumpItem (bool)
 
void setScale ()
 
void setNameString (u32)
 
void setActiveCursor ()
 
void setMixItem ()
 
void drawItem ()
 
void drawItem2 ()
 
void stick_wait_init ()
 
void stick_wait_proc ()
 
void stick_move_init ()
 
void stick_move_proc ()
 
void stick_explain_init ()
 
void stick_explain_force_init ()
 
void stick_explain_proc ()
 
void stick_explain_force_proc ()
 
void setSelectItem (int, u8)
 
void drawSelectItem ()
 
void setSelectItemForce (int)
 
u8 getCursorPos (u8)
 
u8 getItemNum (u8)
 
u8 getItemMaxNum (u8)
 
bool checkExplainForce ()
 
bool checkCombineBomb (int)
 
void setCombineBomb (int)
 
void drawNumber (int, int, f32, f32)
 
u8 getItem (int, u8)
 
void setDoStatus (u8)
 
bool isMixItemOn ()
 
bool isMixItemOff ()
 
void setMixMessage ()
 
void textScaleHIO ()
 
void textCentering ()
 
f32 clacEllipseFunction (f32, f32, f32)
 
f32 calcDistance (f32, f32, f32, f32)
 
void clacEllipsePlotAverage (int, f32, f32)
 
bool dpdMove ()
 
u8 openExplain (u8)
 
virtual void draw ()
 
virtual ~dMenu_Ring_c ()
 
void drawFlag0 ()
 
void setStatus (u8 i_status)
 
- Public Member Functions inherited from dDlst_base_c
 dDlst_base_c ()
 

Private Attributes

JKRExpHeapmpHeap
 
STControlmpStick
 
CSTControlmpCStick
 
dSelect_cursor_cmpDrawCursor
 
dMsgString_cmpString
 
CPaneMgrAlphampMessageParent
 
CPaneMgrAlphampCenterParent
 
CPaneMgrAlphampSpotParent
 
CPaneMgrmpTextParent [10]
 
CPaneMgrmpNameParent
 
CPaneMgrmpCircle
 
dKantera_icon_cmpKanteraMeter
 
J2DScreenmpScreen
 
J2DScreenmpSpotScreen
 
u8 field_0x060 [0x064 - 0x060]
 
J2DScreenmpCenterScreen
 
J2DPicturempSelectItemTex [4][3]
 
J2DPicturempItemTex [MAX_ITEM_SLOTS][3]
 
J2DPicturempBlackTex
 
J2DPicturempItemNumTex [3]
 
J2DTextBoxmpComboOffString [5]
 
J2DTextBoxmpBowArrowComboString [5]
 
ResTIMGmpSelectItemTexBuf [4][3][2]
 
ResTIMGmpItemBuf [MAX_ITEM_SLOTS][3]
 
dMenu_ItemExplain_cmpItemExplain
 
voidmpResData [3]
 
cXyz mDirectSelectCursorPos
 
f32 mItemSlotPosX [MAX_ITEM_SLOTS]
 
f32 mItemSlotPosY [MAX_ITEM_SLOTS]
 
f32 mItemSlotParam1 [MAX_ITEM_SLOTS]
 
f32 mItemSlotParam2 [MAX_ITEM_SLOTS]
 
f32 mRingRadiusH
 
f32 mRingRadiusV
 
f32 mAlphaRate
 
f32 field_0x518 [4]
 
f32 field_0x528 [4]
 
f32 field_0x538 [4]
 
f32 field_0x548 [4]
 
f32 field_0x558 [4]
 
f32 mCenterPosX
 
f32 mCenterPosY
 
f32 mPikariFlashingSpeed
 
f32 field_0x574 [3]
 
f32 field_0x580 [3]
 
f32 mRingItemNamePosX
 
f32 mRingItemNamePosY
 
f32 mRingItemNameScale
 
f32 mRingGuidePosX [10]
 
f32 mRingGuidePosY [10]
 
f32 mRingGuideScale [10]
 
f32 mRingCursorScale
 
f32 mRingPosX
 
f32 mRingPosY
 
f32 mRingScaleH
 
f32 mRingScaleV
 
f32 mRingAlpha
 
u32 field_0x628
 
u32 mPlayerIsWolf
 
u32 mNameStringID
 
s32 field_0x634
 
s16 mOpenCloseFrames
 
s16 field_0x63a
 
s16 field_0x63c
 
s16 field_0x63e [MAX_ITEM_SLOTS]
 
s16 field_0x66e
 
s16 field_0x670
 
s16 mWaitFrames
 
s16 field_0x674 [4]
 
u16 field_0x67c
 
s16 field_0x67e
 
s16 mCursorSpeed
 
s16 field_0x682
 
s16 field_0x684
 
s16 field_0x686 [4]
 
s16 field_0x68e
 
u8 mItemSlots [MAX_ITEM_SLOTS]
 
u8 mCurrentSlot
 
u8 field_0x6a9
 
u8 mXButtonSlot
 
u8 mYButtonSlot
 
u8 field_0x6ac
 
u8 field_0x6ad
 
u8 mItemsTotal
 
u8 mTotalItemTexToAlloc
 
u8 mStatus
 
u8 mOldStatus
 
u8 field_0x6b2
 
u8 field_0x6b3
 
u8 field_0x6b4 [4]
 
u8 field_0x6b8 [4]
 
u8 mRingOrigin
 
u8 mDrawFlag
 
u8 field_0x6be [4]
 
u8 field_0x6c2
 
u8 field_0x6c3
 
u8 field_0x6c4
 
u8 field_0x6c5
 
u8 field_0x6c6
 
u8 field_0x6c7 [4]
 
u8 field_0x6cb
 
u8 mDoStatus
 
u8 field_0x6cd
 
bool mDirectSelectActive
 
u8 field_0x6cf
 
u8 field_0x6d0
 
u8 field_0x6d1
 
u8 field_0x6d2
 
u8 field_0x6d3
 

Member Enumeration Documentation

◆ dMenu_Ring_Status

Enumerator
STATUS_WAIT 
STATUS_MOVE 
STATUS_EXPLAIN 
STATUS_EXPLAIN_FORCE 

Constructor & Destructor Documentation

◆ dMenu_Ring_c()

dMenu_Ring_c::dMenu_Ring_c ( JKRExpHeap i_heap,
STControl i_stick,
CSTControl i_cStick,
u8  i_ringOrigin 
)

◆ ~dMenu_Ring_c()

dMenu_Ring_c::~dMenu_Ring_c ( )
virtual

Member Function Documentation

◆ _create()

void dMenu_Ring_c::_create ( )

Initializes the very first status (which is STATUS_WAIT) after the ctor and plays the item wheel opening sound

◆ _delete()

void dMenu_Ring_c::_delete ( )

◆ _draw()

void dMenu_Ring_c::_draw ( )

◆ _move()

void dMenu_Ring_c::_move ( )

This is the update function which runs every frame. It runs a process based on mStatus every frame or initializes a new process if mStatus changes

◆ calcDistance()

f32 dMenu_Ring_c::calcDistance ( f32  param_0,
f32  param_1,
f32  param_2,
f32  param_3 
)

◆ calcStickAngle()

s16 dMenu_Ring_c::calcStickAngle ( STControl i_stick,
u8  param_1 
)

◆ checkCombineBomb()

bool dMenu_Ring_c::checkCombineBomb ( int  param_0)

◆ checkExplainForce()

bool dMenu_Ring_c::checkExplainForce ( )

◆ clacEllipseFunction()

f32 dMenu_Ring_c::clacEllipseFunction ( f32  param_0,
f32  param_1,
f32  param_2 
)

◆ clacEllipsePlotAverage()

void dMenu_Ring_c::clacEllipsePlotAverage ( int  param_0,
f32  param_1,
f32  param_2 
)

◆ dpdMove()

bool dMenu_Ring_c::dpdMove ( )

◆ draw()

virtual void dMenu_Ring_c::draw ( )
inlinevirtual

Reimplemented from dDlst_base_c.

◆ drawFlag0()

void dMenu_Ring_c::drawFlag0 ( )
inline

◆ drawItem()

void dMenu_Ring_c::drawItem ( )

◆ drawItem2()

void dMenu_Ring_c::drawItem2 ( )

◆ drawNumber()

void dMenu_Ring_c::drawNumber ( int  i_itemNum,
int  i_itemMaxNum,
f32  i_posX,
f32  i_posY 
)

◆ drawSelectItem()

void dMenu_Ring_c::drawSelectItem ( )

◆ getCursorPos()

u8 dMenu_Ring_c::getCursorPos ( u8  i_slotNo)

◆ getItem()

u8 dMenu_Ring_c::getItem ( int  i_slot_no,
u8  i_slot_no2 
)

◆ getItemMaxNum()

u8 dMenu_Ring_c::getItemMaxNum ( u8  i_slotNo)

Returns maximum capacity obtained depending on the currently selected item slot This can be:

  • Capacity of any bomb type
  • Capacity of bee larvae in a bottle
  • Bow capacity
  • Slingshot capacity

◆ getItemNum()

u8 dMenu_Ring_c::getItemNum ( u8  i_slotNo)

Returns current ammo depending on the current item slot the cursor is on This can be:

  • Ammo of any bomb type
  • Number of bee larvae in a bottle
  • Bow ammo
  • Slingshot ammo

◆ getStickInfo()

u8 dMenu_Ring_c::getStickInfo ( STControl i_stick)

◆ isClose()

bool dMenu_Ring_c::isClose ( )

◆ isMixItemOff()

bool dMenu_Ring_c::isMixItemOff ( )

◆ isMixItemOn()

bool dMenu_Ring_c::isMixItemOn ( )

◆ isMoveEnd()

bool dMenu_Ring_c::isMoveEnd ( )

◆ isOpen()

bool dMenu_Ring_c::isOpen ( )

◆ openExplain()

u8 dMenu_Ring_c::openExplain ( u8  param_0)

◆ setActiveCursor()

void dMenu_Ring_c::setActiveCursor ( )

◆ setButtonScale()

void dMenu_Ring_c::setButtonScale ( int  i_idx,
f32  i_scale 
)

◆ setCombineBomb()

void dMenu_Ring_c::setCombineBomb ( int  param_0)

◆ setDoStatus()

void dMenu_Ring_c::setDoStatus ( u8  i_doStatus)

◆ setItem()

void dMenu_Ring_c::setItem ( )

◆ setItemScale()

void dMenu_Ring_c::setItemScale ( int  i_idx,
f32  i_scale 
)

◆ setJumpItem()

void dMenu_Ring_c::setJumpItem ( bool  i_useVibrationM)

◆ setKanteraPos()

void dMenu_Ring_c::setKanteraPos ( f32  i_posX,
f32  i_posY 
)

◆ setMixItem()

void dMenu_Ring_c::setMixItem ( )

◆ setMixMessage()

void dMenu_Ring_c::setMixMessage ( )

◆ setNameString()

void dMenu_Ring_c::setNameString ( u32  i_stringID)

◆ setRotate()

void dMenu_Ring_c::setRotate ( )

◆ setScale()

void dMenu_Ring_c::setScale ( )

◆ setSelectItem()

void dMenu_Ring_c::setSelectItem ( int  i_idx,
u8  i_itemNo 
)

◆ setSelectItemForce()

void dMenu_Ring_c::setSelectItemForce ( int  i_idx)

◆ setStatus()

void dMenu_Ring_c::setStatus ( u8  i_status)
inline

◆ stick_explain_force_init()

void dMenu_Ring_c::stick_explain_force_init ( )

◆ stick_explain_force_proc()

void dMenu_Ring_c::stick_explain_force_proc ( )

◆ stick_explain_init()

void dMenu_Ring_c::stick_explain_init ( )

◆ stick_explain_proc()

void dMenu_Ring_c::stick_explain_proc ( )

◆ stick_move_init()

void dMenu_Ring_c::stick_move_init ( )

◆ stick_move_proc()

void dMenu_Ring_c::stick_move_proc ( )

◆ stick_wait_init()

void dMenu_Ring_c::stick_wait_init ( )

◆ stick_wait_proc()

void dMenu_Ring_c::stick_wait_proc ( )

◆ textCentering()

void dMenu_Ring_c::textCentering ( )

◆ textScaleHIO()

void dMenu_Ring_c::textScaleHIO ( )

Member Data Documentation

◆ field_0x060

u8 dMenu_Ring_c::field_0x060[0x064 - 0x060]
private

◆ field_0x518

f32 dMenu_Ring_c::field_0x518[4]
private

◆ field_0x528

f32 dMenu_Ring_c::field_0x528[4]
private

◆ field_0x538

f32 dMenu_Ring_c::field_0x538[4]
private

◆ field_0x548

f32 dMenu_Ring_c::field_0x548[4]
private

◆ field_0x558

f32 dMenu_Ring_c::field_0x558[4]
private

◆ field_0x574

f32 dMenu_Ring_c::field_0x574[3]
private

◆ field_0x580

f32 dMenu_Ring_c::field_0x580[3]
private

◆ field_0x628

u32 dMenu_Ring_c::field_0x628
private

◆ field_0x634

s32 dMenu_Ring_c::field_0x634
private

◆ field_0x63a

s16 dMenu_Ring_c::field_0x63a
private

◆ field_0x63c

s16 dMenu_Ring_c::field_0x63c
private

◆ field_0x63e

s16 dMenu_Ring_c::field_0x63e[MAX_ITEM_SLOTS]
private

◆ field_0x66e

s16 dMenu_Ring_c::field_0x66e
private

◆ field_0x670

s16 dMenu_Ring_c::field_0x670
private

◆ field_0x674

s16 dMenu_Ring_c::field_0x674[4]
private

◆ field_0x67c

u16 dMenu_Ring_c::field_0x67c
private

◆ field_0x67e

s16 dMenu_Ring_c::field_0x67e
private

◆ field_0x682

s16 dMenu_Ring_c::field_0x682
private

◆ field_0x684

s16 dMenu_Ring_c::field_0x684
private

◆ field_0x686

s16 dMenu_Ring_c::field_0x686[4]
private

◆ field_0x68e

s16 dMenu_Ring_c::field_0x68e
private

◆ field_0x6a9

u8 dMenu_Ring_c::field_0x6a9
private

◆ field_0x6ac

u8 dMenu_Ring_c::field_0x6ac
private

◆ field_0x6ad

u8 dMenu_Ring_c::field_0x6ad
private

◆ field_0x6b2

u8 dMenu_Ring_c::field_0x6b2
private

◆ field_0x6b3

u8 dMenu_Ring_c::field_0x6b3
private

◆ field_0x6b4

u8 dMenu_Ring_c::field_0x6b4[4]
private

◆ field_0x6b8

u8 dMenu_Ring_c::field_0x6b8[4]
private

◆ field_0x6be

u8 dMenu_Ring_c::field_0x6be[4]
private

◆ field_0x6c2

u8 dMenu_Ring_c::field_0x6c2
private

◆ field_0x6c3

u8 dMenu_Ring_c::field_0x6c3
private

◆ field_0x6c4

u8 dMenu_Ring_c::field_0x6c4
private

◆ field_0x6c5

u8 dMenu_Ring_c::field_0x6c5
private

◆ field_0x6c6

u8 dMenu_Ring_c::field_0x6c6
private

◆ field_0x6c7

u8 dMenu_Ring_c::field_0x6c7[4]
private

◆ field_0x6cb

u8 dMenu_Ring_c::field_0x6cb
private

◆ field_0x6cd

u8 dMenu_Ring_c::field_0x6cd
private

◆ field_0x6cf

u8 dMenu_Ring_c::field_0x6cf
private

◆ field_0x6d0

u8 dMenu_Ring_c::field_0x6d0
private

◆ field_0x6d1

u8 dMenu_Ring_c::field_0x6d1
private

◆ field_0x6d2

u8 dMenu_Ring_c::field_0x6d2
private

◆ field_0x6d3

u8 dMenu_Ring_c::field_0x6d3
private

◆ mAlphaRate

f32 dMenu_Ring_c::mAlphaRate
private

◆ mCenterPosX

f32 dMenu_Ring_c::mCenterPosX
private

◆ mCenterPosY

f32 dMenu_Ring_c::mCenterPosY
private

◆ mCurrentSlot

u8 dMenu_Ring_c::mCurrentSlot
private

◆ mCursorSpeed

s16 dMenu_Ring_c::mCursorSpeed
private

◆ mDirectSelectActive

bool dMenu_Ring_c::mDirectSelectActive
private

◆ mDirectSelectCursorPos

cXyz dMenu_Ring_c::mDirectSelectCursorPos
private

◆ mDoStatus

u8 dMenu_Ring_c::mDoStatus
private

◆ mDrawFlag

u8 dMenu_Ring_c::mDrawFlag
private

◆ mItemSlotParam1

f32 dMenu_Ring_c::mItemSlotParam1[MAX_ITEM_SLOTS]
private

◆ mItemSlotParam2

f32 dMenu_Ring_c::mItemSlotParam2[MAX_ITEM_SLOTS]
private

◆ mItemSlotPosX

f32 dMenu_Ring_c::mItemSlotPosX[MAX_ITEM_SLOTS]
private

◆ mItemSlotPosY

f32 dMenu_Ring_c::mItemSlotPosY[MAX_ITEM_SLOTS]
private

◆ mItemSlots

u8 dMenu_Ring_c::mItemSlots[MAX_ITEM_SLOTS]
private

◆ mItemsTotal

u8 dMenu_Ring_c::mItemsTotal
private

◆ mNameStringID

u32 dMenu_Ring_c::mNameStringID
private

◆ mOldStatus

u8 dMenu_Ring_c::mOldStatus
private

◆ mOpenCloseFrames

s16 dMenu_Ring_c::mOpenCloseFrames
private

◆ mpBlackTex

J2DPicture* dMenu_Ring_c::mpBlackTex
private

◆ mpBowArrowComboString

J2DTextBox* dMenu_Ring_c::mpBowArrowComboString[5]
private

◆ mpCenterParent

CPaneMgrAlpha* dMenu_Ring_c::mpCenterParent
private

◆ mpCenterScreen

J2DScreen* dMenu_Ring_c::mpCenterScreen
private

◆ mpCircle

CPaneMgr* dMenu_Ring_c::mpCircle
private

◆ mpComboOffString

J2DTextBox* dMenu_Ring_c::mpComboOffString[5]
private

◆ mpCStick

CSTControl* dMenu_Ring_c::mpCStick
private

◆ mpDrawCursor

dSelect_cursor_c* dMenu_Ring_c::mpDrawCursor
private

◆ mpHeap

JKRExpHeap* dMenu_Ring_c::mpHeap
private

◆ mPikariFlashingSpeed

f32 dMenu_Ring_c::mPikariFlashingSpeed
private

◆ mpItemBuf

ResTIMG* dMenu_Ring_c::mpItemBuf[MAX_ITEM_SLOTS][3]
private

◆ mpItemExplain

dMenu_ItemExplain_c* dMenu_Ring_c::mpItemExplain
private

◆ mpItemNumTex

J2DPicture* dMenu_Ring_c::mpItemNumTex[3]
private

◆ mpItemTex

J2DPicture* dMenu_Ring_c::mpItemTex[MAX_ITEM_SLOTS][3]
private

◆ mpKanteraMeter

dKantera_icon_c* dMenu_Ring_c::mpKanteraMeter
private

◆ mPlayerIsWolf

u32 dMenu_Ring_c::mPlayerIsWolf
private

◆ mpMessageParent

CPaneMgrAlpha* dMenu_Ring_c::mpMessageParent
private

◆ mpNameParent

CPaneMgr* dMenu_Ring_c::mpNameParent
private

◆ mpResData

void* dMenu_Ring_c::mpResData[3]
private

◆ mpScreen

J2DScreen* dMenu_Ring_c::mpScreen
private

◆ mpSelectItemTex

J2DPicture* dMenu_Ring_c::mpSelectItemTex[4][3]
private

◆ mpSelectItemTexBuf

ResTIMG* dMenu_Ring_c::mpSelectItemTexBuf[4][3][2]
private

◆ mpSpotParent

CPaneMgrAlpha* dMenu_Ring_c::mpSpotParent
private

◆ mpSpotScreen

J2DScreen* dMenu_Ring_c::mpSpotScreen
private

◆ mpStick

STControl* dMenu_Ring_c::mpStick
private

◆ mpString

dMsgString_c* dMenu_Ring_c::mpString
private

◆ mpTextParent

CPaneMgr* dMenu_Ring_c::mpTextParent[10]
private

◆ mRingAlpha

f32 dMenu_Ring_c::mRingAlpha
private

◆ mRingCursorScale

f32 dMenu_Ring_c::mRingCursorScale
private

◆ mRingGuidePosX

f32 dMenu_Ring_c::mRingGuidePosX[10]
private

◆ mRingGuidePosY

f32 dMenu_Ring_c::mRingGuidePosY[10]
private

◆ mRingGuideScale

f32 dMenu_Ring_c::mRingGuideScale[10]
private

◆ mRingItemNamePosX

f32 dMenu_Ring_c::mRingItemNamePosX
private

◆ mRingItemNamePosY

f32 dMenu_Ring_c::mRingItemNamePosY
private

◆ mRingItemNameScale

f32 dMenu_Ring_c::mRingItemNameScale
private

◆ mRingOrigin

u8 dMenu_Ring_c::mRingOrigin
private

◆ mRingPosX

f32 dMenu_Ring_c::mRingPosX
private

◆ mRingPosY

f32 dMenu_Ring_c::mRingPosY
private

◆ mRingRadiusH

f32 dMenu_Ring_c::mRingRadiusH
private

◆ mRingRadiusV

f32 dMenu_Ring_c::mRingRadiusV
private

◆ mRingScaleH

f32 dMenu_Ring_c::mRingScaleH
private

◆ mRingScaleV

f32 dMenu_Ring_c::mRingScaleV
private

◆ mStatus

u8 dMenu_Ring_c::mStatus
private

◆ mTotalItemTexToAlloc

u8 dMenu_Ring_c::mTotalItemTexToAlloc
private

◆ mWaitFrames

s16 dMenu_Ring_c::mWaitFrames
private

◆ mXButtonSlot

u8 dMenu_Ring_c::mXButtonSlot
private

◆ mYButtonSlot

u8 dMenu_Ring_c::mYButtonSlot
private

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