New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
LightMapMgr Class Reference

#include <LightMapMgr.h>

Inherits sead::CalculateTask.

Classes

class  CalcObj

Public Types

enum  EnvTypeCourse {
  cEnvTypeCourse_Enemy = 0 , cEnvTypeCourse_Boss , cEnvTypeCourse_MapObj , cEnvTypeCourse_Item ,
  cEnvTypeCourse_Player , cEnvTypeCourse_DistantView , cEnvTypeCourse_Effect , cEnvTypeCourse_Num
}
enum  EnvTypeCourseSelect {
  cEnvTypeCourseSelect_W1a = 0 , cEnvTypeCourseSelect_W2a , cEnvTypeCourseSelect_W2b , cEnvTypeCourseSelect_W3a ,
  cEnvTypeCourseSelect_W4a , cEnvTypeCourseSelect_W5a , cEnvTypeCourseSelect_W5b , cEnvTypeCourseSelect_W6a ,
  cEnvTypeCourseSelect_W6b , cEnvTypeCourseSelect_W7a , cEnvTypeCourseSelect_W8a , cEnvTypeCourseSelect_W8b ,
  cEnvTypeCourseSelect_W9a , cEnvTypeCourseSelect_Num
}
enum  AmbColorType {
  cAmbColorType_EffectColor13_0 = 0 , cAmbColorType_EffectColor13_1 , cAmbColorType_EffectColor14_0 , cAmbColorType_EffectColor14_1 ,
  cAmbColorType_EffectColor15_0 , cAmbColorType_EffectColor15_1 , cAmbColorType_WaterHalfFrontColor0 , cAmbColorType_WaterHalfFrontKonst0 ,
  cAmbColorType_WaterHalfFrontKonst1 , cAmbColorType_WaterHalfBehindColor0 , cAmbColorType_WaterHalfBehindColor1 , cAmbColorType_Num
}
enum  RenderStep { cRenderStep_CalcView = 0 , cRenderStep_UpdateGPUBuffer , cRenderStep_LightDraw , cRenderStep_Num }
Public Types inherited from sead::TaskBase
enum  State
enum  Tag
typedef TListNode< TaskBase * > ListNode
typedef TList< TaskBase * > List

Public Member Functions

 LightMapMgr (const sead::TaskConstructArg &arg)
virtual ~LightMapMgr ()
agl::lght::LightMapMgrgetLightMapMgr ()
const agl::lght::LightMapMgrgetLightMapMgr () const
bool overrideModelLightMap () const
void setOverrideModelLightMap (bool enable)
void prepare () override
void enter () override
void calc () override
void loadAglEnvBinary (void *data, s32=-1)
void loadAglEnvBinary (const sead::SafeString &name, s32=-1, sead::Heap *heap=nullptr)
void loadAglEnvBinary (const sead::SafeString &name, sead::Heap *heap=nullptr)
void initializeViewDependent (const sead::Camera *camera, const sead::Projection *projection, const sead::Camera *camera_drc=nullptr, const sead::Projection *projection_drc=nullptr)
void initializeViewIndependent ()
void loadAglLmapBinary (void *data)
void loadAglLmapBinary (const sead::SafeString &name, sead::Heap *heap=nullptr)
void initialize (sead::Heap *heap=nullptr)
void setModelLightMap (ModelG3d *model, bool set_mdl_dl_dirty) const
void loadAglEnvBinaryWithType (const sead::SafeString &name, const sead::SafeString &type, sead::Heap *heap=nullptr)
void initializeForCourseSelect (sead::Heap *heap=nullptr)
void loadAglEnvBinaryWithLerpForCourseSelect (f32 t)
const agl::TextureSamplergetLightmap1 (EnvTypeCourse type) const
const agl::TextureSamplergetLightmap2 (EnvTypeCourse type) const
void getAmbColor (sead::Color4f *color, AmbColorType type) const
void setCobModelLightMapForCourseSelect (ModelG3d *model, u8 world, u8 world_sub_letter) const
void setModelLightMapForCourseSelect (ModelG3d *model) const
const sead::SafeStringgetEnvTypeCourseStr (EnvTypeCourse type) const
Public Member Functions inherited from sead::CalculateTask
 CalculateTask (const TaskConstructArg &arg)
 CalculateTask (const TaskConstructArg &arg, const char *name)
void pauseCalc (bool b) override
void pauseDraw (bool b) override
void pauseCalcRec (bool b) override
void pauseDrawRec (bool b) override
void pauseCalcChild (bool b) override
void pauseDrawChild (bool b) override
virtual ~CalculateTask ()
void attachCalcImpl () override
void attachDrawImpl () override
void detachCalcImpl () override
void detachDrawImpl () override
const RuntimeTypeInfo::InterfacegetCorrespondingMethodTreeMgrTypeInfo () const override
MethodTreeNodegetMethodTreeNode (s32 method_type) override
Public Member Functions inherited from sead::TaskBase
 TaskBase (const TaskConstructArg &arg)
 TaskBase (const TaskConstructArg &arg, const char *name)
virtual ~TaskBase ()
virtual void enterCommon ()
virtual void exit ()
virtual void onEvent (const TaskEvent &)
virtual void onDestroy ()
void doneDestroy ()
void detachCalc ()
void detachDraw ()
void detachCalcDraw ()
FrameworkgetFramework () const
MethodTreeMgrgetMethodTreeMgr () const
T * getParameter () const
void adjustHeapAll ()
TaskBasegetParentTask () const
HeapgetHeap ()
TaskMgrgetTaskMgr () const
Tag getTag () const
Public Member Functions inherited from sead::TTreeNode< TaskBase * >
 TTreeNode ()
TTreeNode< T > * parent () const
TTreeNode< T > * child () const
TTreeNode< T > * next () const
TTreeNode< T > * prev () const
TTreeNode< T > * findRoot ()
void pushBackSibling (TTreeNode< T > *o)
void pushBackChild (TTreeNode< T > *o)
void pushFrontChild (TTreeNode< T > *o)
void insertBeforeSelf (TTreeNode< T > *o)
void insertAfterSelf (TTreeNode< T > *o)
T & val ()
nextIterator nextBegin () const
nextConstIterator nextConstBegin () const
nextIterator nextEnd () const
nextConstIterator nextConstEnd () const
nextIterator childBegin () const
nextConstIterator childConstBegin () const
nextIterator childEnd () const
nextConstIterator childConstEnd () const
depthFirstIterator depthFirstBegin () const
depthFirstConstIterator depthFirstConstBegin () const
depthFirstIterator depthFirstWithoutRootBegin () const
depthFirstConstIterator depthFirstWithoutRootConstBegin () const
depthFirstIterator depthFirstEnd () const
depthFirstConstIterator depthFirstConstEnd () const
Public Member Functions inherited from sead::TreeNode
 TreeNode ()
void clearLinks ()
void detachAll ()
void detachSubTree ()
void pushBackSibling (TreeNode *n)
void pushBackChild (TreeNode *n)
void pushFrontChild (TreeNode *n)
void insertBeforeSelf (TreeNode *n)
void insertAfterSelf (TreeNode *n)
bool isRoot () const
bool isLeaf () const
const TreeNodefindRoot () const
TreeNodefindRoot ()
s32 countChildren () const
Public Member Functions inherited from sead::IDisposer
 IDisposer ()
virtual ~IDisposer ()
Public Member Functions inherited from sead::INamable
 INamable ()
 INamable (const SafeString &name)
void setName (const SafeString &name)
const SafeStringgetName () const

Static Public Attributes

static const s32 cLightMapNum = 2
static const s32 cLightMapNumAll = (cEnvTypeCourse_Num + cEnvTypeCourseSelect_Num) * cLightMapNum
static const s32 cLightMapHemisphereLightNum = 2
static const s32 cHemisphereLightNum = cLightMapHemisphereLightNum
static const s32 cLightMapDirectionalLightNumMain = 2
static const s32 cLightMapDirectionalLightNumCourse = 4
static const s32 cLightMapDirectionalLightNumCourseSelect = 2
static const s32 cLightMapDirectionalLightNum = 4
static const s32 cDirectionalLightNumMain = cLightMapDirectionalLightNumMain
static const s32 cDirectionalLightNumCourse = cEnvTypeCourse_Num * cLightMapDirectionalLightNumCourse
static const s32 cDirectionalLightNumCourseSelect = cEnvTypeCourseSelect_Num * cLightMapDirectionalLightNumCourseSelect
static const s32 cDirectionalLightNumAll = cDirectionalLightNumMain + cDirectionalLightNumCourse + cDirectionalLightNumCourseSelect

Private Types

enum  View {
  cView_Main = 0 , cView_MainDRC , cView_Reflection , cView_ReflectionDRC ,
  cView_Num
}

Private Member Functions

void initializeViewDependent_ ()
void setModelLightMapWithName_ (ModelG3d *model, const sead::SafeString &name, s32 idx_lghtmap, s32 model_light_map_index) const
void draw_ (const agl::lyr::RenderInfo &render_info, View view, bool view_dependent, const sead::Matrix34f *view_mtx, const sead::Projection *projection)
void drawMain_ (const agl::lyr::RenderInfo &render_info)
void drawMainDRC_ (const agl::lyr::RenderInfo &render_info)
void drawReflection_ (const agl::lyr::RenderInfo &render_info)
void drawReflectionDRC_ (const agl::lyr::RenderInfo &render_info)

Private Attributes

u32 _cc [4/sizeof(u32)]
nw::g3d::res::ResTexturemResTexture [cLightMapNumAll]
nw::g3d::res::ResTextureData mResTextureData [cLightMapNumAll]
agl::lyr::DrawMethod mDrawMethodMain
agl::lyr::DrawMethod mDrawMethodMainDRC
agl::lyr::DrawMethod mDrawMethodReflection
agl::lyr::DrawMethod mDrawMethodReflectionDRC
agl::lght::LightMapMgr mLightMapMgr
CalcObj mCalcObj
agl::env::EnvObjMgr mEnvObjMgr
bool mIsViewDependent
const sead::CameramCamera
const sead::ProjectionmProjection
const sead::CameramCameraDRC
const sead::ProjectionmProjectionDRC
sead::SafeArray< sead::SafeArray< s32, cEnvTypeCourse_Num >, cLightMapNummLightMapIndexCourse
sead::SafeArray< s32, cAmbColorType_NummAmbientLightTypeIndex
const void * mAglEnvBinary1
const void * mAglEnvBinary2
bool mOverrideModelLightMap

Additional Inherited Members

Public Attributes inherited from sead::CalculateTask
MethodTreeNode mCalcNode
Public Attributes inherited from sead::TaskBase
 cCreated
 cPrepare
 cPrepareDone
 cSleep
 cRunning
 cDying
 cDestroyable
 cDead
 cSystem
 cApp
Protected Member Functions inherited from sead::TreeNode
void clearChildLinksRecursively_ ()
Protected Attributes inherited from sead::TaskBase
TaskParametermParameter
BitFlag32 mInternalFlag
ListNode mTaskListNode
HeapArray mHeapArray
TaskMgrmTaskMgr
State mState
Tag mTag
TaskClassID mClassID
Protected Attributes inherited from sead::TTreeNode< TaskBase * >
mData
Protected Attributes inherited from sead::TreeNode
TreeNodemParent
TreeNodemChild
TreeNodemNext
TreeNodemPrev

Member Enumeration Documentation

◆ EnvTypeCourse

Enumerator
cEnvTypeCourse_Enemy 
cEnvTypeCourse_Boss 
cEnvTypeCourse_MapObj 
cEnvTypeCourse_Item 
cEnvTypeCourse_Player 
cEnvTypeCourse_DistantView 
cEnvTypeCourse_Effect 
cEnvTypeCourse_Num 

◆ EnvTypeCourseSelect

Enumerator
cEnvTypeCourseSelect_W1a 
cEnvTypeCourseSelect_W2a 
cEnvTypeCourseSelect_W2b 
cEnvTypeCourseSelect_W3a 
cEnvTypeCourseSelect_W4a 
cEnvTypeCourseSelect_W5a 
cEnvTypeCourseSelect_W5b 
cEnvTypeCourseSelect_W6a 
cEnvTypeCourseSelect_W6b 
cEnvTypeCourseSelect_W7a 
cEnvTypeCourseSelect_W8a 
cEnvTypeCourseSelect_W8b 
cEnvTypeCourseSelect_W9a 
cEnvTypeCourseSelect_Num 

◆ AmbColorType

Enumerator
cAmbColorType_EffectColor13_0 
cAmbColorType_EffectColor13_1 
cAmbColorType_EffectColor14_0 
cAmbColorType_EffectColor14_1 
cAmbColorType_EffectColor15_0 
cAmbColorType_EffectColor15_1 
cAmbColorType_WaterHalfFrontColor0 
cAmbColorType_WaterHalfFrontKonst0 
cAmbColorType_WaterHalfFrontKonst1 
cAmbColorType_WaterHalfBehindColor0 
cAmbColorType_WaterHalfBehindColor1 
cAmbColorType_Num 

◆ RenderStep

Enumerator
cRenderStep_CalcView 
cRenderStep_UpdateGPUBuffer 
cRenderStep_LightDraw 
cRenderStep_Num 

◆ View

enum LightMapMgr::View
private
Enumerator
cView_Main 
cView_MainDRC 
cView_Reflection 
cView_ReflectionDRC 
cView_Num 

Constructor & Destructor Documentation

◆ LightMapMgr()

LightMapMgr::LightMapMgr ( const sead::TaskConstructArg & arg)

◆ ~LightMapMgr()

virtual LightMapMgr::~LightMapMgr ( )
virtual

Member Function Documentation

◆ getLightMapMgr() [1/2]

agl::lght::LightMapMgr & LightMapMgr::getLightMapMgr ( )
inline

◆ getLightMapMgr() [2/2]

const agl::lght::LightMapMgr & LightMapMgr::getLightMapMgr ( ) const
inline

◆ overrideModelLightMap()

bool LightMapMgr::overrideModelLightMap ( ) const
inline

◆ setOverrideModelLightMap()

void LightMapMgr::setOverrideModelLightMap ( bool enable)
inline

◆ prepare()

void LightMapMgr::prepare ( )
overridevirtual

Reimplemented from sead::TaskBase.

◆ enter()

void LightMapMgr::enter ( )
overridevirtual

Reimplemented from sead::TaskBase.

◆ calc()

void LightMapMgr::calc ( )
overridevirtual

Reimplemented from sead::CalculateTask.

◆ loadAglEnvBinary() [1/3]

void LightMapMgr::loadAglEnvBinary ( void * data,
s32 = -1 )

◆ loadAglEnvBinary() [2/3]

void LightMapMgr::loadAglEnvBinary ( const sead::SafeString & name,
s32 = -1,
sead::Heap * heap = nullptr )

◆ loadAglEnvBinary() [3/3]

void LightMapMgr::loadAglEnvBinary ( const sead::SafeString & name,
sead::Heap * heap = nullptr )

◆ initializeViewDependent()

void LightMapMgr::initializeViewDependent ( const sead::Camera * camera,
const sead::Projection * projection,
const sead::Camera * camera_drc = nullptr,
const sead::Projection * projection_drc = nullptr )

◆ initializeViewIndependent()

void LightMapMgr::initializeViewIndependent ( )

◆ loadAglLmapBinary() [1/2]

void LightMapMgr::loadAglLmapBinary ( void * data)

◆ loadAglLmapBinary() [2/2]

void LightMapMgr::loadAglLmapBinary ( const sead::SafeString & name,
sead::Heap * heap = nullptr )

◆ initialize()

void LightMapMgr::initialize ( sead::Heap * heap = nullptr)

◆ setModelLightMap()

void LightMapMgr::setModelLightMap ( ModelG3d * model,
bool set_mdl_dl_dirty ) const

◆ loadAglEnvBinaryWithType()

void LightMapMgr::loadAglEnvBinaryWithType ( const sead::SafeString & name,
const sead::SafeString & type,
sead::Heap * heap = nullptr )

◆ initializeForCourseSelect()

void LightMapMgr::initializeForCourseSelect ( sead::Heap * heap = nullptr)

◆ loadAglEnvBinaryWithLerpForCourseSelect()

void LightMapMgr::loadAglEnvBinaryWithLerpForCourseSelect ( f32 t)

◆ getLightmap1()

const agl::TextureSampler & LightMapMgr::getLightmap1 ( EnvTypeCourse type) const

◆ getLightmap2()

const agl::TextureSampler & LightMapMgr::getLightmap2 ( EnvTypeCourse type) const

◆ getAmbColor()

void LightMapMgr::getAmbColor ( sead::Color4f * color,
AmbColorType type ) const

◆ setCobModelLightMapForCourseSelect()

void LightMapMgr::setCobModelLightMapForCourseSelect ( ModelG3d * model,
u8 world,
u8 world_sub_letter ) const

◆ setModelLightMapForCourseSelect()

void LightMapMgr::setModelLightMapForCourseSelect ( ModelG3d * model) const

◆ getEnvTypeCourseStr()

const sead::SafeString & LightMapMgr::getEnvTypeCourseStr ( EnvTypeCourse type) const

◆ initializeViewDependent_()

void LightMapMgr::initializeViewDependent_ ( )
private

◆ setModelLightMapWithName_()

void LightMapMgr::setModelLightMapWithName_ ( ModelG3d * model,
const sead::SafeString & name,
s32 idx_lghtmap,
s32 model_light_map_index ) const
private

◆ draw_()

void LightMapMgr::draw_ ( const agl::lyr::RenderInfo & render_info,
View view,
bool view_dependent,
const sead::Matrix34f * view_mtx,
const sead::Projection * projection )
private

◆ drawMain_()

void LightMapMgr::drawMain_ ( const agl::lyr::RenderInfo & render_info)
private

◆ drawMainDRC_()

void LightMapMgr::drawMainDRC_ ( const agl::lyr::RenderInfo & render_info)
private

◆ drawReflection_()

void LightMapMgr::drawReflection_ ( const agl::lyr::RenderInfo & render_info)
private

◆ drawReflectionDRC_()

void LightMapMgr::drawReflectionDRC_ ( const agl::lyr::RenderInfo & render_info)
private

Member Data Documentation

◆ cLightMapNum

const s32 LightMapMgr::cLightMapNum = 2
static

◆ cLightMapNumAll

const s32 LightMapMgr::cLightMapNumAll = (cEnvTypeCourse_Num + cEnvTypeCourseSelect_Num) * cLightMapNum
static

◆ cLightMapHemisphereLightNum

const s32 LightMapMgr::cLightMapHemisphereLightNum = 2
static

◆ cHemisphereLightNum

const s32 LightMapMgr::cHemisphereLightNum = cLightMapHemisphereLightNum
static

◆ cLightMapDirectionalLightNumMain

const s32 LightMapMgr::cLightMapDirectionalLightNumMain = 2
static

◆ cLightMapDirectionalLightNumCourse

const s32 LightMapMgr::cLightMapDirectionalLightNumCourse = 4
static

◆ cLightMapDirectionalLightNumCourseSelect

const s32 LightMapMgr::cLightMapDirectionalLightNumCourseSelect = 2
static

◆ cLightMapDirectionalLightNum

const s32 LightMapMgr::cLightMapDirectionalLightNum = 4
static

◆ cDirectionalLightNumMain

const s32 LightMapMgr::cDirectionalLightNumMain = cLightMapDirectionalLightNumMain
static

◆ cDirectionalLightNumCourse

const s32 LightMapMgr::cDirectionalLightNumCourse = cEnvTypeCourse_Num * cLightMapDirectionalLightNumCourse
static

◆ cDirectionalLightNumCourseSelect

const s32 LightMapMgr::cDirectionalLightNumCourseSelect = cEnvTypeCourseSelect_Num * cLightMapDirectionalLightNumCourseSelect
static

◆ cDirectionalLightNumAll

const s32 LightMapMgr::cDirectionalLightNumAll = cDirectionalLightNumMain + cDirectionalLightNumCourse + cDirectionalLightNumCourseSelect
static

◆ _cc

u32 LightMapMgr::_cc[4/sizeof(u32)]
private

◆ mResTexture

nw::g3d::res::ResTexture* LightMapMgr::mResTexture[cLightMapNumAll]
private

◆ mResTextureData

nw::g3d::res::ResTextureData LightMapMgr::mResTextureData[cLightMapNumAll]
private

◆ mDrawMethodMain

agl::lyr::DrawMethod LightMapMgr::mDrawMethodMain
private

◆ mDrawMethodMainDRC

agl::lyr::DrawMethod LightMapMgr::mDrawMethodMainDRC
private

◆ mDrawMethodReflection

agl::lyr::DrawMethod LightMapMgr::mDrawMethodReflection
private

◆ mDrawMethodReflectionDRC

agl::lyr::DrawMethod LightMapMgr::mDrawMethodReflectionDRC
private

◆ mLightMapMgr

agl::lght::LightMapMgr LightMapMgr::mLightMapMgr
private

◆ mCalcObj

CalcObj LightMapMgr::mCalcObj
private

◆ mEnvObjMgr

agl::env::EnvObjMgr LightMapMgr::mEnvObjMgr
private

◆ mIsViewDependent

bool LightMapMgr::mIsViewDependent
private

◆ mCamera

const sead::Camera* LightMapMgr::mCamera
private

◆ mProjection

const sead::Projection* LightMapMgr::mProjection
private

◆ mCameraDRC

const sead::Camera* LightMapMgr::mCameraDRC
private

◆ mProjectionDRC

const sead::Projection* LightMapMgr::mProjectionDRC
private

◆ mLightMapIndexCourse

sead::SafeArray< sead::SafeArray< s32, cEnvTypeCourse_Num >, cLightMapNum > LightMapMgr::mLightMapIndexCourse
private

◆ mAmbientLightTypeIndex

sead::SafeArray< s32, cAmbColorType_Num > LightMapMgr::mAmbientLightTypeIndex
private

◆ mAglEnvBinary1

const void* LightMapMgr::mAglEnvBinary1
private

◆ mAglEnvBinary2

const void* LightMapMgr::mAglEnvBinary2
private

◆ mOverrideModelLightMap

bool LightMapMgr::mOverrideModelLightMap
private