3#include <common/aglShaderEnum.h>
4#include <math/seadMatrix.h>
5#include <prim/seadBitFlag.h>
6#include <prim/seadRuntimeTypeInfo.h>
7#include <utility/aglNamedObj.h>
8#include <utility/aglNamedObjIndex.h>
9#include <utility/aglParameter.h>
10#include <utility/aglParameterObj.h>
12namespace agl {
namespace env {
48 static_assert(
sizeof(
Index) == 0x54);
70 static_assert(
sizeof(
MetaInfo) == 4);
82 static_assert(
sizeof(
TypeInfo) == 0x14);
120 return mFlag.isOnBit(0);
156static_assert(
sizeof(
EnvObj) == 0x108);
160#define AGL_ENV_OBJ_TYPE_INFO()
162 static s32* sTypeInfo;
165 static s32 getType() { return *sTypeInfo; }
166 virtual s32 getTypeID() const { return *sTypeInfo; }
168#define AGL_ENV_OBJ_REGIST_CLASS(CLASS, LABEL, META)
169 s32* CLASS::sTypeInfo = ::agl::env::EnvObj::registClass(#CLASS, LABEL, ::agl::env::EnvObj::TypeToID<CLASS>::createInstance, ::agl::env::EnvObj::cMetaInfo_##META)
Definition aglEnvObjMgr.h:16
Definition aglEnvObj.h:20
virtual s32 getNamedObjNum() const
Definition aglEnvObj.cpp:149
virtual ~Index()
Definition aglEnvObj.h:28
s32 mEnvType
Definition aglEnvObj.h:46
void setType(s32 type)
Definition aglEnvObj.h:35
s32 getType() const
Definition aglEnvObj.h:40
Index()
Definition aglEnvObj.h:22
virtual const sead::SafeString & getNamedObjName(s32 index) const
Definition aglEnvObj.cpp:144
Definition aglEnvObj.h:54
static EnvObj * createInstance(sead::Heap *heap)
Definition aglEnvObj.h:56
Definition aglEnvObj.h:17
virtual bool isHostIOEnabled() const
Definition aglEnvObj.h:109
bool isEnableHostIO() const
Definition aglEnvObj.h:118
virtual void postRead_()
Definition aglEnvObj.h:94
utl::Parameter< bool > mEnable
Definition aglEnvObj.h:151
virtual const sead::SafeString & getGroupName() const
Definition aglEnvObj.h:107
virtual const sead::SafeString & getEnvObjName() const
Definition aglEnvObj.h:106
static s32 sTypeNum
Definition aglEnvObj.h:153
static const s32 cTypeMax
Definition aglEnvObj.h:85
sead::BitFlag16 mFlag
Definition aglEnvObj.h:148
static sead::SafeString getTypeName(s32 type)
Definition aglEnvObj.h:88
void setName(const sead::SafeString &name)
Definition aglEnvObj.h:123
MetaInfo
Definition aglEnvObj.h:63
@ cMetaInfo_0
Definition aglEnvObj.h:64
@ cMetaInfo_1
Definition aglEnvObj.h:65
@ cMetaInfo_2
Definition aglEnvObj.h:66
@ cMetaInfo_Num
Definition aglEnvObj.h:68
@ cMetaInfo_3
Definition aglEnvObj.h:67
virtual ShaderMode drawDebug(const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, s32 view_index, ShaderMode mode) const
Definition aglEnvObj.h:104
static TypeInfo sTypeInfoTable[cTypeMax]
Definition aglEnvObj.h:154
EnvObjMgr * mpMgr
Definition aglEnvObj.h:146
virtual void update()
Definition aglEnvObj.h:102
utl::Parameter< sead::FixedSafeString< 32 > > mName
Definition aglEnvObj.h:149
static TypeCreateFuncPtr getTypeCreateFunc(s32 type)
Definition aglEnvObj.h:89
virtual s32 getTypeID() const =0
static s32 * registClass(const sead::SafeString &name, const sead::SafeString &label, TypeCreateFuncPtr p_create_func, MetaInfo meta_info)
Definition aglEnvObj.cpp:59
void becomeDefaultName_()
Definition aglEnvObj.cpp:54
virtual s32 getObjType() const
Definition aglEnvObj.h:110
bool isEnable() const
Definition aglEnvObj.h:128
virtual void callbackLoadData()
Definition aglEnvObj.h:105
u16 mIndex
Definition aglEnvObj.h:147
EnvObj()
Definition aglEnvObj.cpp:26
virtual ~EnvObj()
Definition aglEnvObj.cpp:36
void update_()
Definition aglEnvObj.cpp:138
void clear_()
Definition aglEnvObj.cpp:131
void initialize_(s32 index, s32 view_max, EnvObjMgr *p_env_mgr, sead::Heap *heap)
Definition aglEnvObj.cpp:106
void setEnable(bool enable)
Definition aglEnvObj.cpp:40
utl::Parameter< sead::FixedSafeString< 32 > > mGroup
Definition aglEnvObj.h:150
virtual void initialize(s32 view_max, sead::Heap *heap)
Definition aglEnvObj.h:101
s32 getIndex() const
Definition aglEnvObj.h:113
ShaderMode drawFog(s32 view_index, f32 start, f32 end, const sead::Vector3f &direction, const sead::Color4f &color, ShaderMode mode) const
Definition aglEnvObj.cpp:49
virtual const sead::SafeString & getObjName() const
Definition aglEnvObj.h:108
static s32 getTypeNum()
Definition aglEnvObj.h:86
virtual void updateView(const sead::Matrix34f &view_mtx, const sead::Matrix44f &proj_mtx, s32 view_index)
Definition aglEnvObj.h:103
Definition aglNamedObjIndex.h:11
INamedObjIndex()
Definition aglNamedObjIndex.cpp:6
Definition aglNamedObj.h:9
Definition aglParameterObj.h:13
Definition aglParameter.h:107
Definition seadSafeString.h:421
Definition aglEnvObj.cpp:21
Definition aglImageFilter2D.h:11
Definition aglDisplayList.cpp:5
ShaderMode
Definition aglShaderEnum.h:27
Definition seadAssert.h:44
BitFlag< u16 > BitFlag16
Definition seadBitFlag.h:124
Matrix44< f32 > Matrix44f
Definition seadMatrix.h:343
SafeStringBase< char > SafeString
Definition seadSafeString.h:409
Vector3< f32 > Vector3f
Definition seadVector.h:239
Matrix34< f32 > Matrix34f
Definition seadMatrix.h:342
#define SEAD_RTTI_BASE(CLASS)
Definition seadRuntimeTypeInfo.h:75
Definition aglEnvObj.h:75
TypeCreateFuncPtr p_create_func
Definition aglEnvObj.h:78
s32 index
Definition aglEnvObj.h:80
MetaInfo meta_info
Definition aglEnvObj.h:79
const char * name
Definition aglEnvObj.h:76
const char * label
Definition aglEnvObj.h:77