mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-12 11:11:16 +00:00
7.7 KiB
7.7 KiB
View Management and Rendering
ViewManager
ViewManager::ViewManager(Tgl::Renderer*, Tgl::Group*, const OrientableROI*): Constructor.ViewManager::IsBoundingBoxInFrustum(const BoundingBox&): Checks if a bounding box is within the view frustum.ViewManager::ProjectedSize(const BoundingSphere&): Calculates projected screen size of a bounding sphere.ViewManager::Update(float, float): Updates visibility and LOD for all ROIs.ViewManager::CalculateFrustumTransformations(): Calculates frustum planes and vertices.ViewManager::UpdateViewTransformations(): Transforms frustum vertices into world space.ViewManager::SetFrustrum(float, float, float): Sets frustum parameters (FOV, near, far).ViewManager::SetResolution(int, int): Sets screen resolution.ViewManager::SetPOVSource(const OrientableROI*): Sets the point of view.ViewManager::Pick(Tgl::View*, unsigned long, unsigned long): Ray picking to find aViewROI.
ViewROI
ViewROI::ViewROI(Tgl::Renderer*, ViewLODList*): Constructor.ViewROI::GetGeometry(): ReturnsTgl::Group.ViewROI::UpdateWorldData(const Matrix4&): Updates world transform.ViewROI::SetLocalTransform(const Matrix4&): Sets local transform.ViewROI::IntrinsicImportance(): Returns intrinsic importance (default 0.5).
ViewLOD
ViewLOD::ViewLOD(Tgl::Renderer*): Constructor.ViewLOD::GetMeshBuilder(): ReturnsTgl::MeshBuilder.ViewLOD::AveragePolyArea(): Placeholder.ViewLOD::NVerts(): Placeholder.m_unk0x08: Flags, tested byGetUnknown0x08Test4()andGetUnknown0x08Test8().
ViewLODList
ViewLODList::AddRef(): Increments refcount.ViewLODList::Release(): Decrements refcount, deletes if zero.
ViewLODListManager
ViewLODListManager::Create(const ROIName&, int): CreatesViewLODList.ViewLODListManager::Lookup(const ROIName&): RetrievesViewLODList.ViewLODListManager::Destroy(ViewLODList*): DestroysViewLODList.
OrientableROI
OrientableROI::SetLocalTransform(const Matrix4&): Updates transforms.OrientableROI::UpdateWorldData(const Matrix4&): Updates world data.OrientableROI::GetLocal2World(): Returns local-to-world matrix.OrientableROI::GetWorldPosition(): Returns world position.OrientableROI::GetWorldDirection(): Returns direction vector.OrientableROI::GetWorldUp(): Returns up vector.m_unk0xd8: Internal flags.
LEGO-Specific Classes
LegoROI
LegoROI::LegoROI(Tgl::Renderer*): Constructor.LegoROI::Read(...): Reads fromLegoStorage.LegoROI::FindChildROI(const LegoChar*, LegoROI*): Recursive child search.LegoROI::SetFrame(LegoAnim*, LegoTime): Sets transform from animation.LegoROI::IntrinsicImportance(): Returns 0.5.LegoROI::UpdateWorldBoundingVolumes(): Updates bounding sphere and box.m_name,m_entity,m_sphere: Name, entity pointer, bounding sphere.
LegoLOD
LegoLOD::LegoLOD(Tgl::Renderer*): Constructor.LegoLOD::Read(...): Reads and creates meshes.LegoLOD::Clone(Tgl::Renderer*): Clones the LOD.LegoLOD::FUN_100aacb0(...): Sets color for non-textured meshes.LegoLOD::FUN_100aad00(...): Sets texture.m_melems: Mesh array.m_numMeshes,m_numPolys: Mesh and polygon counts.
LegoEntity
LegoEntity::Create(MxDSAction&): Initializes entity.LegoEntity::SetROI(LegoROI*, MxBool, MxBool): Associates ROI.LegoEntity::SetWorldTransform(...): Sets transform.LegoEntity::SetWorldSpeed(MxFloat): Sets speed.LegoEntity::ParseAction(char*): Parses actions.LegoEntity::ClickSound(MxBool): Plays click sound.LegoEntity::ClickAnimation(): Plays click animation.LegoEntity::SwitchVariant(): Switches model variant.m_roi,m_worldLocation,m_worldDirection,m_worldUp,m_worldSpeed,m_type,m_actionType,m_flags: Entity fields.
Lego3DManager
Lego3DManager::Create(CreateStruct&): Creates renderer/device/view.Lego3DManager::Destroy(): Destroys renderer/device/view.Lego3DManager::Render(double): Renders scene.Lego3DManager::SetFrustrum(float, float, float): Sets frustum.
Lego3DView
Lego3DView::Create(...): Creates view andViewManager.Lego3DView::Add(ViewROI&): Adds ROI.Lego3DView::Remove(ViewROI&): Removes ROI.Lego3DView::SetPointOfView(ViewROI&): Sets camera ROI.Lego3DView::Moved(ViewROI&): Updates camera if needed.Lego3DView::Render(double): Renders scene.Lego3DView::Pick(unsigned long, unsigned long): Picks ROI.m_pViewManager: Pointer toViewManager.
LegoView
- Base class for
Lego3DView. Manages scene and camera.
LegoView1
- Subclass of
LegoView. Adds lighting.
LegoNavController
LegoNavController::SetTargets(int, int, MxBool): Sets targets.LegoNavController::CalculateNewPosDir(...): Calculates new position/direction.
LegoCameraController
- Camera control using mouse and
LegoNavController.
LegoPointOfViewController
- Abstracts point-of-view control. Uses
Lego3DViewandLegoNavController.
LegoMouseController
- Handles mouse input (clicks, drags, releases).
LEGO Game Management
LegoOmni
LegoOmni::Create(MxOmniCreateParam&): Initializes subsystems.LegoOmni::Start(MxDSAction*): Starts an action.LegoOmni::RegisterWorlds(): Registers game worlds.LegoOmni::FindWorld(const MxAtomId&, MxS32): Finds world.LegoOmni::FindROI(const char*): Finds ROI.
LegoWorld
LegoWorld::Create(MxDSAction&): Creates world.LegoWorld::ReadyWorld(): Prepares world.LegoWorld::Enable(MxBool): Enables/disables world.LegoWorld::Add(MxCore*),LegoWorld::Remove(MxCore*): Adds/removes objects.LegoWorld::Find(const char*, const char*): Finds object.LegoWorld::PlaceActor(...): Places actor on path.
LegoWorldList
- List of all worlds, managed by
LegoOmni.
LegoGameState
LegoGameState::Save(MxULong),LegoGameState::Load(MxULong): Save/load state.LegoGameState::SwitchArea(Area): Switches area.m_currentAct,m_currentArea,m_previousArea: Area tracking.
LegoState
- Base class for various game element states.
Media and Animation
LegoAnim
LegoAnim::Read(...): Reads animation.m_duration,m_modelList: Duration and actors.
LegoAnimNodeData
LegoAnimNodeData::CreateLocalTransform(LegoFloat, Matrix4&): Local transform at time.
LegoAnimKey
- Base class for animation keys.
m_time,m_flags: Time and flags.
LegoTranslationKey, LegoRotationKey, LegoScaleKey, LegoMorphKey
- Specialized animation keys.
Other Utilities
LegoStorage, LegoMemory, LegoFile
- Abstract base and concrete storage classes.
BoundingBox, BoundingSphere
- Basic bounding volume structures.
LegoVertex, LegoColor, LegoSphere, LegoBox, LegoMesh
- Geometry structures.
LegoTree, LegoTreeNode, LegoTreeNodeData
- Tree structures.
LegoContainer, LegoTextureContainer
- Containers for collections.
LegoTextureInfo
- Texture metadata.
LegoNamedPartList, LegoNamedPart
- Named LEGO parts.
LegoPathBoundary
- Path boundary, subclass of
LegoWEGEdge.
LegoPathController
- Manages paths.
LegoPathEdgeContainer
- Edge list for paths.
LegoPathStruct
- Path triggers.
LegoPathStructNotificationParam
- Notification parameter for path triggers.
Audio
LegoCacheSound, LegoCacheSoundManager
- Caching and managing sound effects.
LegoSoundManager
- Sound management system.
MxBackgroundAudioManager
- Background music manager.
Transitions
MxTransitionManager
- Handles world/area transitions.