Simulator::Cell::cCellGFX class

Public types

struct CellGFXObjectData
The graphical representation of a cell object: its model, animated creature, etc.
struct EffectInstance
enum WorldIDs { kCellLightingWorldID = 0x4A4D97F, kCellPreloadedModelWorldID = 0x1010050, kCellPreloadedEffectWorldID = 0x1010051, kCellSkyboxEffectWorldID = 0x1010000, kCellBackgroundEffectWorldID = 0x1010011, kCellBackgroundModelWorldID = 0x1010010, kCellBeachEffectWorldID = 0x1010016, kCellBeachModelWorldID = 0x1010015, kCellEffectWorldID = 0x1010021, kCellModelWorldID = 0x1010020, kCellForegroundEffectWorldID = 0x1010031, kCellAnimWorldID = 0x148A084 }
using IsPreloadedMap_t = eastl::map<cCellDataReference_*, int>

Public static functions

static auto Get() -> cCellGFX*
static auto PreloadResources() -> void
static auto PreloadCellResource(IsPreloadedMap_t preloadedMap, cCellDataReference<cCellCellResource>* resource) -> void
static auto PreloadPopulateResource(IsPreloadedMap_t preloadedMap, cCellDataReference<cCellPopulateResource>* resource) -> void
static auto PreloadLootTableResource(IsPreloadedMap_t preloadedMap, cCellDataReference<cCellLootTableResource>* resource) -> void
static auto PreloadCreature(uint32_t creatureID) -> void
static auto AddPreloadedEffect(uint32_t instanceID, uint32_t groupID = 0) -> void
static auto AddPreloadedModel(uint32_t instanceID, bool waitUntilLoaded) -> void
static auto Initialize() -> void
static auto StartDisplay() -> void
Adds the renderer layers, sets as visible the effect and model worlds, sets as visible the UI, and starts playing the music.
static auto CreateEffect(Swarm::IEffectsWorld* effectsWorld, uint32_t instanceID, uint32_t groupID, IVisualEffectPtr& dst) -> void
Creates an instance of an effect; if the effect cannot be loaded, 'cell_bad_effect' is loaded instead.
static auto InstanceEffectOnCell(cCellObjectData* cell, uint32_t effectID) -> Swarm::IVisualEffect*
static auto LoadEffectMap() -> void
Loads and places all the effects from the cCellGlobalsResource::effectMapEntry effect map.
static auto GetVisibleBackgroundBBox() -> Math::BoundingBox&
Returns the bounding box for the currently visible background.
static auto GetFrustumCull() -> Graphics::cFrustumCull&
Returns the frustum cull for the currently visible main cell level.

Constructors, destructors, conversion operators

ASSERT_SIZE(EffectInstance, 0x74)
ASSERT_SIZE(CellGFXObjectData, 0xC8)

Public functions

auto AddPreloadedTexture(Graphics::Texture* texture) -> void
auto AddPreloadedModel2(Graphics::Model* model) -> void

Public variables

eastl::vector<ModelPtr> mPreloadedModels
eastl::vector<TexturePtr> mPreloadedTextures
eastl::vector<Anim::AnimatedCreature*> mPreloadedCreatures
int field_3C
int field_40
int field_44
int field_48
int field_4C
IEffectsWorldPtr mpPreloadedEffectWorld
IModelWorldPtr mpPreloadedModelWorld
IAnimWorldPtr mpPreloadedAnimWorld
IVisualEffectPtr field_5C
int field_15C
IVisualEffectPtr mpDoFDistortEffect
int field_164
cObjectPool<CellGFXObjectData> mCellGFXObjects
256 objects of size 0xC8
eastl::fixed_vector<int, 22528> field_184
int field_1619C
ILightingWorldPtr mpLightingWorld
int field_161A4
IModelWorldPtr mpBeachModelWorld
IEffectsWorldPtr mpBeachEffectWorld
int field_161B0
IEffectsWorldPtr mpSkyboxEffectWorld
int field_161B8
IEffectsWorldPtr mpBackgroundEffectWorld
IModelWorldPtr mpBackgroundModelWorld
IAnimWorldPtr mpBackgroundAnimWorld
IEffectsWorldPtr mpEffectWorld
IModelWorldPtr mpModelWorld
IAnimWorldPtr mpAnimWorld
IEffectsWorldPtr mpForegroundEffectWorld
int field_161D8
eastl::vector<EffectInstance> mEffectInstances
Current effects.
char padding_161F0
Audio::AudioTrack mCellMotionAudioTrack
Audio::AudioTrack mCellgameSeedMusicAudioTrack
Audio::AudioTrack mCellAmbAudioTrack
char padding_16214

Function documentation

static void Simulator::Cell::cCellGFX::CreateEffect(Swarm::IEffectsWorld* effectsWorld, uint32_t instanceID, uint32_t groupID, IVisualEffectPtr& dst)

Creates an instance of an effect; if the effect cannot be loaded, 'cell_bad_effect' is loaded instead.

effectsWorld The effects world where the effect will be instantiated
instanceID ID of the effect
groupID Ignored