SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
CameraShaker Class Reference
Inheritance diagram for CameraShaker:
NameObj

Public Types

enum  ESinglyVerticalPower {
  SINGLY_VERTICAL_POWER_VERY_WEAK = 0 , SINGLY_VERTICAL_POWER_WEAK = 1 , SINGLY_VERTICAL_POWER_NORMAL_WEAK = 2 , SINGLY_VERTICAL_POWER_NORMAL = 3 ,
  SINGLY_VERTICAL_POWER_NORMAL_STRONG = 4 , SINGLY_VERTICAL_POWER_STRONG = 5 , SINGLY_VERTICAL_POWER_VERY_STRONG = 6
}
 

Public Member Functions

 CameraShaker (const char *)
 
virtual void movement ()
 
void shakeVertical (ESinglyVerticalPower)
 
void shakeInfinity (NameObj *, float, float)
 
void stopShakingInfinity (NameObj *)
 
void createSinglyVerticalTask ()
 
void createSinglyHorizontalTask ()
 
void createInfinityTask ()
 
void updateSinglyVerticalTask ()
 
void updateSinglyHorizontalTask ()
 
void updateInfinityTask ()
 
void setOffset ()
 
void addSinglyVerticalTaskOffset (TVec2f *)
 
void addSinglyHorizontalTaskOffset (TVec2f *)
 
void addInfinityTaskOffset (TVec2f *)
 
void adjustOffsetToScreen (TVec2f *)
 
void startInfinity (unsigned long, float, float)
 
- Public Member Functions inherited from NameObj
 NameObj (const char *pName)
 Constructs a new NameObj instance.
 
virtual void init (const JMapInfoIter &rIter)
 Intializes the NameObj and can set various settings and construct necessary classes.
 
virtual void initAfterPlacement ()
 
virtual void draw () const
 Draws the object. Does nothing until overridden.
 
virtual void calcAnim ()
 
virtual void calcViewAndEntry ()
 
void initWithoutIter ()
 Initializes a NameObj without a JMapInfoIter instance.
 
void setName (const char *pName)
 Sets the NameObj's mName.
 
void executeMovement ()
 
void requestSuspend ()
 
void requestResume ()
 
void syncWithFlags ()
 

Public Attributes

CameraShakeTaskmVerticalTasks [NR_VERTICAL_TASKS]
 
CameraShakeTaskmHorizontalTasks [NR_HORIZONTAL_TASKS]
 
CameraShakeTaskmInfinityTasks [NR_INFINITY_TASKS]
 
NameObjmInfinityNameObjs [NR_INFINITY_TASKS]
 
- Public Attributes inherited from NameObj
const char * mName
 A string to identify the NameObj.
 
volatile u16 mFlags
 Flags in relation to movement.
 
s16 mExecutorIdx
 The index into the NameObjExecuteInfo array.
 

Detailed Description

Definition at line 12 of file CameraShaker.hpp.

Member Enumeration Documentation

◆ ESinglyVerticalPower

enum CameraShaker::ESinglyVerticalPower

Definition at line 14 of file CameraShaker.hpp.

Constructor & Destructor Documentation

◆ CameraShaker()

CameraShaker::CameraShaker ( const char * pName)

Definition at line 22 of file CameraShaker.cpp.

◆ ~CameraShaker()

CameraShaker::~CameraShaker ( )
virtual

Definition at line 28 of file CameraShaker.cpp.

Member Function Documentation

◆ movement()

void CameraShaker::movement ( )
virtual

Reimplemented from NameObj.

Definition at line 32 of file CameraShaker.cpp.

◆ shakeVertical()

void CameraShaker::shakeVertical ( ESinglyVerticalPower power)

Definition at line 39 of file CameraShaker.cpp.

◆ shakeInfinity()

void CameraShaker::shakeInfinity ( NameObj * pNameObj,
float a2,
float a3 )

Definition at line 45 of file CameraShaker.cpp.

◆ stopShakingInfinity()

void CameraShaker::stopShakingInfinity ( NameObj * pNameObj)

Definition at line 55 of file CameraShaker.cpp.

◆ createSinglyVerticalTask()

void CameraShaker::createSinglyVerticalTask ( )

Definition at line 65 of file CameraShaker.cpp.

◆ createSinglyHorizontalTask()

void CameraShaker::createSinglyHorizontalTask ( )

Definition at line 74 of file CameraShaker.cpp.

◆ createInfinityTask()

void CameraShaker::createInfinityTask ( )

Definition at line 97 of file CameraShaker.cpp.

◆ updateSinglyVerticalTask()

void CameraShaker::updateSinglyVerticalTask ( )

Definition at line 107 of file CameraShaker.cpp.

◆ updateSinglyHorizontalTask()

void CameraShaker::updateSinglyHorizontalTask ( )

Definition at line 113 of file CameraShaker.cpp.

◆ updateInfinityTask()

void CameraShaker::updateInfinityTask ( )

Definition at line 119 of file CameraShaker.cpp.

◆ setOffset()

void CameraShaker::setOffset ( )

Definition at line 125 of file CameraShaker.cpp.

◆ addSinglyVerticalTaskOffset()

void CameraShaker::addSinglyVerticalTaskOffset ( TVec2f * pOffset)

Definition at line 135 of file CameraShaker.cpp.

◆ addSinglyHorizontalTaskOffset()

void CameraShaker::addSinglyHorizontalTaskOffset ( TVec2f * pOffset)

Definition at line 147 of file CameraShaker.cpp.

◆ addInfinityTaskOffset()

void CameraShaker::addInfinityTaskOffset ( TVec2f * pOffset)

Definition at line 159 of file CameraShaker.cpp.

◆ startInfinity()

void CameraShaker::startInfinity ( unsigned long index,
float a2,
float a3 )

Definition at line 171 of file CameraShaker.cpp.

Member Data Documentation

◆ mVerticalTasks

CameraShakeTask* CameraShaker::mVerticalTasks[NR_VERTICAL_TASKS]

Definition at line 45 of file CameraShaker.hpp.

◆ mHorizontalTasks

CameraShakeTask* CameraShaker::mHorizontalTasks[NR_HORIZONTAL_TASKS]

Definition at line 46 of file CameraShaker.hpp.

◆ mInfinityTasks

CameraShakeTask* CameraShaker::mInfinityTasks[NR_INFINITY_TASKS]

Definition at line 47 of file CameraShaker.hpp.

◆ mInfinityNameObjs

NameObj* CameraShaker::mInfinityNameObjs[NR_INFINITY_TASKS]

Definition at line 48 of file CameraShaker.hpp.