Emergency 2017 Dokumentation  v3.0.1
Todo List
Class em5::ActivitySystem
  • TODO(fw): If made more generic, this could be moved to qsf::game
Class em5::AiAreaReservationFunctor
  • TODO(bs) This is not a complete implementation yet, vehicle/mover types etc still need to be considered.
Class em5::AiCollisionDetectedFunctor
  • TODO(bs) This is an implementation stub, e.g. game reactions still need to be triggered.
Class em5::AiLevelOfDetailComponent
  • TODO(vs) It would be more optimal regarding memory consumption if we could store the state in a vector<bool> for all entities and more optimal for performance if we could store the state with the update call.
  • TODO(co) Please review "ACTIVATION_PROPERTY_ID"/"UseFullDetail": Why does it have to be so complicated? Can't it just follow the simple property convention used everywhere where one can guess all the names?
Class em5::AudioComponent
  • TODO(fw): We should really rename this component (without breaking editing of course), as it produces a lot of confusion when people mix it up with the "qsf::AudioComponent"
Class em5::DensityCalculator
  • TODO(co) Naming this class "em5::FreeplayDensityCalculator" instead of "em5::DensityCalculator" might be a good idea
Class em5::editor::BatchJobGroundSpeedConverter
  • TODO(co) Remove this batch job when possible, was only added for editing migration
Class em5::editor::EventPoolsView
  • TODO(co) Implement EM5 event pools view
  • TODO(co) The EM5 event pools view will not be part of the first public EM5 editor release. Maybe there's no need for this view at all and we can remove it because events are edited via JSON files.
Class em5::editor::FireMaterialsModel
  • TODO(co) Implement me
Class em5::editor::FireMaterialsView
  • TODO(fr) The view currently does not support undo/redo operations
  • TODO(co) There's no handling for the situation when new fire materials are added while the editor is up-and-running (rare situation, but should be handled to reduce chaos)
Member em5::FireMaterialManager::setIsEditing (bool isEditing, qsf::AssetRevision assetRevision=-1)
  • TODO(sw) remove the qsf::AssetRevision parameter as soon as this information can be gathered inside the manager
Class em5::FullBrakeAction
  • TODO(?) Finish this action
Class em5::GangsterDemoExtremist
  • TODO(fw): If this class stays as empty as it is when writing this, please remove it again
Member em5::GuiHelper::numberStringWithSeparator (uint32 number)
  • TODO(fw): Better move this into a helper class, as it's useful not only for GUI document classes
Member em5::HealthHelper::injurePersonBySender (qsf::Component *sender)
  • TODO(db): Add more specific cases to this method if there are unhandled damage reasons.
Class em5::HedgeComponent
  • TODO(fw): A shared base class for trees and hedges would be nice ("em5::VegetationComponent"?)
Class em5::HelicopterFollowCommand
  • TODO(fw): This is a pure dummy right now to define the command ID
Member em5::IngameMainEventSuccessWindow::setEventResults (MainEvent::EventResult &eventResults, uint32 mainEventNumber, uint32 silver, uint32 gold)
We need to save personal scores for every user and every event
Member em5::MapHelper::createEntityByPrototypeReference (const qsf::Prototype &prototype, bool sendMessage=true) const
TODO(db): Make usable for multiplayer
Member em5::Messages::EM5_ON_COMMAND_EXECUTE
  • TODO(jm): Not every command uses these messages!
Class em5::ModSystem
  • TODO(fw): Move this to QSF (best qsf::game) as it's not really EM5-specific
Class em5::ObjectiveManager
  • TODO(fw): Think about making a template of this, similar to qsf::ElementManager, but without taking over the ownership of the elements registered
Class em5::PathMovementComponent
This component is currently purly designed for ME12
Member em5::PersonJumpOutOfWindowLogic::updateSimulationJump (const qsf::JobArguments &jobArguments)
This is just a dummy, please make it better, faster, stronger^^
Class em5::SpawnEntities
  • TODO(fw): Get rid of this class, we actually only still need it because of "SpawnInhabitants"
Class em5::SpawnInhabitants
  • TODO(fw): Most probably this class should be replaced wth entries in the "em5::SpawnGroupManager"
Class em5::SupervisorCompositingComponent
Class em5::SupervisorCompositorWorkspaceConfigurator
Class em5::WeatherComponent
  • TODO(co) Connect properties to the CAMP reflection system
Member em5::WeatherComponent::getEventWeather () const
TODO(jm) Set the values of the event weather
Class qsf::ActiveToggleComponent
  • TODO(mh) multiplier currently not used, implement this
  • TODO(mh) deactivate only some components; allow for eg a blinking rotating light; on this state currently not possible
Class qsf::AnalysedMesh
TODO(np) This class is under construction It will need a manager class that holds descriptions of base meshes, so that meshes only analysed once
Class qsf::AudioManager
  • TODO(co) Audio is a good multithreading candidate: Load and stream audio in a separate thread
Class qsf::AudioMixer
  • TODO(co) Code style cleanup
Member qsf::BinarySerializer::read (const char *name=nullptr)
  • TODO(fw): May be optimized internally
Member qsf::BinarySerializer::read (T &value, const char *name=nullptr)
  • TODO(fw): May be optimized internally
Member qsf::BinarySerializer::write (const T &value, const char *name=nullptr)
  • TODO(fw): May be optimized internally
Member qsf::BinarySerializer::writeAs (const ORIGINALTYPE &value, const char *name=nullptr)
  • TODO(fw): May be optimized internally
Class qsf::BlockerPolygonComponent
  • TODO(co) Under construction. See editor concept.
Class qsf::BoxVolumeDebugDrawRequest
TODO(fw): Parameter "filledOpacity" is not supported yet
Member qsf::CollisionHelper::findFreePosition (const Entity &sourceEntity, const Transform &transform, float radius, float safety, uint16 collisionFlags, glm::vec3 &outPosition) const
  • TODO(co) Review those both methods, are those the same?
Class qsf::DecalGeometricMeshGenerator
  • TODO(np) In this class we use a mechanism for texture atlas. Someone (maybe mr. ofenberg or mr. wendel) can extract this to an extra class to use it for other cases. :)
Class qsf::DecalProjectedMeshGenerator
  • TODO(np) In this class we use a mechanism for texture atlas. Someone (maybe mr. ofenberg or mr. wendel) can extract this to an extra class to use it for other cases. :)
Class qsf::editor::AddStreetEdgeEditMode
  • TODO(mk) Finish this class, works with street crossing component
Class qsf::editor::base::MaterialAssetCompiler
  • TODO(co) Currently hard wired with the configuration used for EMERGENCY 5 PC, make it possible to configure the material compiler from the outside
Member qsf::editor::base::MaterialAssetCompiler::setTextureDownscaleFactor (float textureDownscaleFactor)
  • TODO(co) Quick'n'dirty poor mans solution to be at least able to change the texture scale. We need a decent project specific asset compiler configuration.
Class qsf::editor::base::Operation
  • TODO(co) Optimization: We might want to use "qsf::PagedAllocator" in order to avoid overusing the C++ memory heap
Class qsf::editor::base::SetLayerPropertyOperation
  • TODO(fw): This is pretty similar to "qsf::editor::base::SetComponentProprtyOperation", could we unify both?
Member qsf::editor::base::UserManager::loadByFilename (const std::string &filename)
  • TODO(co) For now, we only support JSON
Member qsf::editor::base::UserManager::saveByFilename (const std::string &filename)
  • TODO(co) For now, we only support JSON
Class qsf::editor::CameraManager
  • TODO(co) Under construction, we might e.g. want to add Qt signals informing about a camera change
  • TODO(co) Review the interaction with render view (the concrete window into the world), this camera manager is just high level orchestration
Class qsf::editor::ChatView
  • TODO(co) Just a prototype, implement details
  • TODO(co) According to plans there will be no chat view in the first public released QSF editor version, that's what this view is marked as developer view
Class qsf::editor::CollisionTool
  • TODO(co) Make it possible to create a collision component instance of a certain type
Class qsf::editor::CommitOperation
TODO(co) On the client this operation is empty, maybe we can get rid of it completely and e.g. just having a "qsf::editor::base::CommitOperation"
Class qsf::editor::ConnectDialog
  • TODO(co) This is just a first quick'n'dirty prototype, fine tune it
  • TODO(co) Give the user feedback about the attempt to connect to the server and also provide information in case of a connection failure
  • TODO(co) Make it possible to reset to the default settings (hostname="localhost", port="4042")
  • TODO(co) Add history support
Class qsf::editor::ConnectOptionsDialog
  • TODO(co) This is just a first quick'n'dirty prototype, fine tune it
  • TODO(co) Support the other options
Class qsf::editor::DeveloperQActions
TODO(co) At the moment empty, don't remove this class
Class qsf::editor::EditorSettingsGroup
  • TODO(co) For now, we only have a single camera mode for a single render view, later on there might be multiple render views, each with its own camera mode
Member qsf::editor::EditQActions::updatePasteQAction () const
  • TODO(co) I'm sorry, I don't understand what this method is doing, looks like a hack we don't want to have
Member qsf::editor::GizmoManager::change ()
  • TODO(co) Review this signal and remove it if possible
Class qsf::editor::IconManager
  • TODO(mk) Currently we don't support entities with multiple icons, because operations received only for the parent entities. We have to get through all child entities and do:
  • TODO(mk) Transform/ ParticleAsset changing / component deleting
  • TODO(co) On big maps, the performance is horrible with icons enabled, so icons are disabled by default at the moment
Class qsf::editor::LocalizationView
  • TODO(co) According to plans there will be no localization view in the first public released QSF editor version, that's what this view is marked as developer view
Class qsf::editor::LoginDialog
  • TODO(co) This is just a first quick'n'dirty prototype, fine tune it
  • TODO(co) Give the user feedback about the attempt to sign in to the server and also provide information in case of a sign in failure
  • TODO(co) Do only store and submit encrypted passwords
  • TODO(co) Add history support
Class qsf::editor::LoginOptionsDialog
  • TODO(co) This is just a first quick'n'dirty prototype, fine tune it
  • TODO(co) Support the other options
Member qsf::editor::MaterialBrowserMaterialsMenu::saveMaterials (const std::vector< GlobalAssetId > &globalAssetIds, bool forceCompile)
  • TODO(co) Just a first quick'n'dirty solution to have something for the artists, move this stuff elsewhere
Class qsf::editor::MeshPrototypeFabricator
  • TODO(co) The mesh prototype fabricator is heavily under construction (current focus: proof-of-concept)
  • TODO(co) "qsf::editor::MeshPrototypeFabricator::fabricatePrototypeByFilename()" and "qsf::editor::ParticlesPrototypeFabricator::fabricatePrototypeByFilename()" are quite similar, can we unify something wihout extreme overengineering?
Class qsf::editor::NewAssetDialog
  • TODO(co) Make it possible to select project and asset package where the new asset should be in
Class qsf::editor::NodeFullTransformEditMode
  • TODO(co) Add support for node cloning
Class qsf::editor::NodeSelectionManager
  • TODO(co) Add support for visual highlighting
Class qsf::editor::NodeTransformEditMode
  • TODO(co) Add support for node cloning
Class qsf::editor::ObjectBrushTool
  • TODO(co) Implement object brush tool, will probably use an edit mode which is derived from "qsf::editor::BrushEditMode"
  • TODO(co) The object brush tool will not be part of the first public QSF editor release. Maybe there's no need for this tool at all and we can remove it.
Class qsf::editor::ObjectPropertiesDelegate
Class qsf::editor::ParticlesPrototypeFabricator
  • TODO(co) The particles prototype fabricator is heavily under construction (current focus: proof-of-concept)
  • TODO(co) "qsf::editor::MeshPrototypeFabricator::fabricatePrototypeByFilename()" and "qsf::editor::ParticlesPrototypeFabricator::fabricatePrototypeByFilename()" are quite similar, can we unify something wihout extreme overengineering?
Class qsf::editor::PrototypesMimeData
  • TODO(co): Add more useful methods
Class qsf::editor::RenderingQActions
  • TODO(co) Fill me
Class qsf::editor::SearchWidget
  • TODO(sw) add signal when the search texes changes or better let this widget know the filter model to which it sets the values correctly (needs a proper base class of such filter models)
Class qsf::editor::SelectProjectMapDialog
  • TODO(co) Add history support
Class qsf::editor::SelectProjectMapOptionsDialog
  • TODO(co) This is just a first quick'n'dirty prototype, fine tune it
  • TODO(co) Support the other options
Class qsf::editor::SequenceMapBackup
  • TODO(co) Adding new tracks during sequence editing has to be handled property. Currently done via hack. See "qsf::editor::SequenceAddTrackOperation::sealImpl()".
Class qsf::editor::ServerManagementDialog
  • TODO(co) Implement me, contains the project management and user management GUI
Member qsf::editor::TerrainModelingEditMode::applyGlobalHeightSmooth ()
  • TODO(co) This feature was not asked for and is not required by our artists, we might want to remove it later on
Class qsf::editor::TerrainModelingTool
  • TODO(co) Listen and react and edit mode changes and current entity changes as e.g. seen inside "qsf::editor::PolygonTool" (keyword: Toggle GUI button pressed state)
  • TODO(co) Enable/disable "Set to Selection"-button according to weather or not something is currently selected
Member qsf::editor::TextureProcessor::compressNormalMaps (const std::vector< std::string > &sourceDirectories)
TODO(co) This method exists for data migration, we might want to remove it later on
Member qsf::editor::TextureProcessor::findUncompressedTextures ()
TODO(co) This method exists for data migration, we might want to remove it later on
Member qsf::editor::TextureProcessor::fixDatasourcePath ()
TODO(co) This method exists for data migration, we might want to remove it later on
Member qsf::editor::TextureProcessor::recompileCompiledMaterials ()
TODO(co) This method exists for data migration, we might want to remove it later on
Member qsf::editor::UnknownAssetImport::getAssetTypeByAbsoluteFilename (const std::string &absoluteFilename)
  • TODO(co) This might be a candidate for "qsf::AssetTypeManager"
Class qsf::game::CharacterAnimationComponent
  • TODO(fw): There is currently no support for masked animations
Class qsf::game::CommandMode
  • TODO(mk) Think about adding this class to reflection system, cause we have different commandmodes from different projects
Class qsf::game::EquipmentSystem
  • TODO(fw): Still needs to be implemented
Class qsf::game::MaterialAccessComponent
  • TODO(co) A component misused to access material properties? This looks odd and overkill like.
Class qsf::game::SelectableComponent
  • TODO(fw): Implement different properties, e.g. trace accuracy setting, alternative bounding geometry, maybe selection proxy, etc.
Class qsf::GameShotCameraInputHandler
  • TODO(fw): The class name should be changed
Class qsf::InputSystem
  • TODO(fw): It would be nice to inject arbitrary input events; but that's tricky because of OIS, we would have to change its internal state as well.
Member qsf::InterpolationPolicy< Color3 >::bezierInterpolation (const Color3 &from, const Color3 &cp0, const Color3 &cp1, const Color3 &to, const glm::vec3 &s, Color3 &out)
  • TODO(oi) Rooms for improvement here (like SIMD?)
Member qsf::InterpolationPolicy< Color4 >::bezierInterpolation (const Color4 &from, const Color4 &cp0, const Color4 &cp1, const Color4 &to, const glm::vec4 &t, Color4 &out)
  • TODO(oi) Rooms for improvement here (like SIMD?)
Member qsf::InterpolationPolicy< float >::approximateBezierInterpolationTime (float searchedT, float p0t, float cp0t, float cp1t, float p1t)
  • TODO(oi) This is the best I can do for proper bezier interpolation. This algorithm looks for the interpolation value that can be passed as t to the bezier interpolator method by analysing the time axis and doing a binary search. As you couldn't already tell, that is slow as hell. Someone MIGHT have a clue how to speed bezier interpolation up by eliminating this.
Member qsf::InterpolationPolicy< float >::bezierInterpolation (const float &from, const float &cp0, const float &cp1, const float &to, float t, float &out)
  • TODO(oi) Have some smart mathematician improve performance of this algorithm
Member qsf::InterpolationPolicy< glm::quat >::bezierInterpolation (const glm::quat &from, const glm::quat &cp0, const glm::quat &cp1, const glm::quat &to, float t, glm::quat &out)
  • TODO(oi) This is left to someone who knows his way around 4D-quat-arithmetics. I don't even know how I would represent the tangents in any meaningful way.
Member qsf::InterpolationPolicy< glm::vec3 >::bezierInterpolation (const glm::vec3 &from, const glm::vec3 &cp0, const glm::vec3 &cp1, const glm::vec3 &to, const glm::vec3 &s, glm::vec3 &out)
  • TODO(oi) Rooms for improvement here (like SIMD?)
Class qsf::Layer
  • TODO(fw): The buffer map mechanism could be optimized; this map has a layer manager with three layers, which is pretty useless
Class qsf::LightComponent
  • TODO(co) Remove "qsf::RendererComponent" inheritance?
Class qsf::LocomotionNode
  • TODO(tl) Experimental node
Member qsf::logic::Sequence::getShouldLoop () const
  • TODO(oi) Maybe this would be more appropriately treated as metadata of a "sequence playback" component which can be controlled by the designer in maps etc.
Member qsf::logic::Sequence::loadByFilename (const std::string &filename)
  • TODO(oi) For now, we only support JSON
Class qsf::logic::SequenceManager
  • TODO(co) As far as I can tell at the moment, there's no need for a sequence manager because the sequence system could also do this job
Member qsf::logic::SequencePlayer::advancePlayhead (float deltaTime)
  • TODO(co) We might want to use our "qsf::Time"-class in here
Member qsf::logic::SequencePlayer::modifyTime (float newTime)
  • TODO(co) We might want to use our "qsf::Time"-class in here
Class qsf::logic::SequenceSystem
  • TODO(co) As far as I can tell at the moment, there's no need for a sequence manager because the sequence system could also do this job
Class qsf::logic::SequenceTrackKeyEntityComponentPropertyBool
-TODO(oi) Put key micro-classes into it own files??
Class qsf::logic::SequenceTrackKeyEntityComponentPropertyColor3
-TODO(oi) Put key micro-classes into it own files??
Class qsf::logic::SequenceTrackKeyEntityComponentPropertyColor4
-TODO(oi) Put key micro-classes into it own files??
Class qsf::logic::SequenceTrackKeyEntityComponentPropertyEulerAngles
-TODO(oi) Put key micro-classes into it own files??
Class qsf::logic::SequenceTrackKeyEntityComponentPropertyQuat
-TODO(oi) Put key micro-classes into it own files??
Class qsf::logic::SequenceTrackKeyEntityComponentPropertyQuatEuler
-TODO(oi) Put key micro-classes into it own files??
Class qsf::logic::SequenceTrackKeyEntityComponentPropertyString
-TODO(oi) Put key micro-classes into it own files??
Class qsf::logic::SequenceTrackKeyEntityComponentPropertyVec2TimeOfDay
-TODO(oi) Put key micro-classes into it own files??
Class qsf::logic::SequenceTrackKeyEntityComponentPropertyVec3
-TODO(oi) Put key micro-classes into it own files??
Class qsf::Map
Member qsf::Map::createEntityByPrototypeReference (const Prototype &prototype)
  • TODO(co) Provide such methods or just enforce ID only. Might make it more complicated in case one already has the concrete reference.
Member qsf::Map::loadByFilename (const std::string &filename, const SerializationOptions &serializationOptions, GlobalAssetId globalAssetId)
  • TODO(co) For now, we only support JSON, BIN and "OgreMax Scene Exporter" (www.ogremax.com) XML scene support
  • TODO(co) depreciated, don't use this method anymore, use "loadByGlobalAssetId()" instead
Member qsf::Map::loadByGlobalAssetId (GlobalAssetId globalAssetId, const SerializationOptions &serializationOptions)
  • TODO(co) For now, we only support JSON, BIN and "OgreMax Scene Exporter" (www.ogremax.com) XML scene support
Member qsf::Map::saveByFilename (const std::string &filename, const SerializationOptions &serializationOptions)
  • TODO(co) For now, we only support JSON and BIN
Class qsf::MapPropertiesComponent
  • TODO(vs) Please extend the documentation and explain what inner and outer boundaries are for. Perhaps consider a more descriptive and flexible system that returns bounding corners for different usecases like entity navigation, camera movement, fire spreadage and so forth. Each map can then define internally whether an area is reused for different usecases or several boxes are stored.
Class qsf::MarkerComponent
  • TODO(co) For now, only the active state of the renderer component is toggled. It would be nicer to have a transparent pulsating material.
Class qsf::MeshAnimationComponent
  • TODO(fw): Add more getters like get remaining / absolute play length or access the current animation
  • TODO(fw): A method enqueueBlendToAnimation would be nice, to support several animations or blends one after another
Class qsf::MeshVertexFormatConverter
  • TODO(co) We should really remove this content-compatibility hack as soon as the last EMERGENCY 5 patch is done (this is tool, not runtime functionality)
Class qsf::MeshVertexNormalsDebugDrawRequest
  • TODO(vs) Uses a probably non portable friend declaration to hide an ugly default constructor creating an illegal state temporarily when used inside a std::vector.
  • TODO(co) Ugly hacked together for the first playable of EMERGENCY 5 (we required a way to visualize the vertex normals of vegetation meshes which are using custom normals)
Class qsf::NodesComponent
  • TODO(co) Sadly, the interface is error prone and a little bit complicated at some places, make a refactoring of this class ensure it's well documented
Class qsf::OgreManualObjectHelper
  • TODO(fw): Should we rewrite method interface to use GLM and QSF classes instead of OGRE? (This is already done for addPolygon, which was added last.)
Class qsf::OgreMeshIntersectionHelper
  • TODO(co) Review and cleanup texture coordinate calculation. Was added quick'n'dirty for the SANTRAIN project and hacks were added by an external SANTRAIN programmer.
Class qsf::openal::OpenALStreamOgg
  • TODO(co) Review background streaming, had to be hacked into for the first EMERGENCY 5 playable
Class qsf::PagedAllocator< T, PAGESIZE >
  • TODO(fw): Page size could be made changeable at any time (with effect for new pages only, of course) by saving the size of each page.
  • TODO(fw): We could possibly use a bitfield or similar to store for each element whether it is used - that would improve performance for isUsed() and isUnused() checks.
Member qsf::ParameterGroupManager::loadByAbsoluteFilename (const std::string &filename, const std::string *formatTypeOverride=nullptr, bool showMessageBoxOnParserError=false, bool setToDefaults=true)
  • TODO(co) For now, we only support JSON
Member qsf::ParameterGroupManager::saveByAbsoluteFilename (const std::string &filename, bool differenceToDefault=false)
  • TODO(co) For now, we only support JSON
Class qsf::PathMeshComponent
  • TODO(np) If the node points are to close, the street becomes corrupt. Need to implement exceptional cases
  • TODO(co) When saving the OGRE mesh, do also automatically generate mesh LODs by e.g. reducing the number of segments within lower LODs
Class qsf::PhysicsRagdollComponent
  • TODO(co) Under construction
Class qsf::PipelineStateCacheManager
Class qsf::PluginSystem
  • TODO(co) Set plugin filename of plugins not loaded dynamically via "qsf::PluginSystem::loadPlugin()"
Class qsf::PolygonComponent
  • TODO(co) Please note that in here, the term "polygon" is not used as it is used normally in mathematics and computer graphics. As a graphics programmer I'm not really happy that we misuse the name "polygon" in here which will probably confuse people outside the company. Something like "PolygonVolumeComponent", "AmbientVolumeComponent" etc. would make much more sense.
Member qsf::Project::loadByFilename (const std::string &filename)
  • TODO(co) For now, we only support JSON
Member qsf::Project::saveByFilename (const std::string &filename) const
  • TODO(co) For now, we only support JSON
Class qsf::Prototype
  • TODO(co) Is the current implementation sufficient, or do we need something more sophisticated like the system described within the article "Managing Decoupling Part 4 The ID Lookup Table" from Niklas Frykholm? ( http://bitsquid.blogspot.de/2011/09/managing-decoupling-part-4-id-lookup.html )
  • TODO(co) We could also add a "system" per "component" taking care of efficient memory management of component instances. This way we could reduce frequent new/delete when creating/destroying component instances.
Member qsf::PrototypeManager::savePrefabByFilename (Prototype &mainPrototype, const std::string &filename, bool differenceToDefault=true) const
  • TODO(co) For now, we only support JSON
Class qsf::QmTranslatorSerializer
  • TODO(ca) Currently only a subset of the QM file format is supported
Member qsf::Qsf::getDebugGroupManager ()
TODO(co) Find a better place for the debug group manager
Member qsf::Qsf::getSettingsGroupManager ()
TODO(co) Find a better place for the settings group manager
Class qsf::Random
  • TODO(fw): This is just for ease-of-use of the QSF AI / Boost random number generation. It's not very efficient this way, and for the game, we might want to have better control over random number generation.
Class qsf::RendererComponentMetaclasses2
  • TODO(co) See QSF H1512 "CAMP metaclasses tend to increase the object files so extreme that the compiler refuses to compile (/bigobj)"
Class qsf::ScriptComponent
  • TODO(co) At the moment this script component is primarily for rabid prototyping and proof-of-concept of the script system
Class qsf::SegmentDebugDrawRequest
  • TODO(vs) Uses a probably non portable friend declaration to hide an ugly default constructor creating an illegal state temporarily when used inside a std::vector.
Class qsf::ShadowSetupCsm
  • TODO(co) Port to OGRE 2.0
Member qsf::StreetEdge::isValid () const
(mk) Add identity check
Class qsf::StreetSectionComponent
  • TODO(np) If the node points are to close, the street becomes corrupt. Need to implement exceptional cases
  • TODO(co) When saving the OGRE mesh, do also automatically generate mesh LODs by e.g. reducing the number of segments within lower LODs
Class qsf::StringHashManager
  • TODO(fw): The dump to file functionality is still missing. Could be called automatically in the destructor.
Class qsf::TextDebugDrawRequest
  • TODO(vs) Uses a probably non portable friend declaration to hide an ugly default constructor creating an illegal state temporarily when used inside a std::vector
Class qsf::TraceDecalMeshGenerator
  • TODO(np) In this class we use a mechanism for texture atlas. Someone (maybe mr. ofenberg or mr. wendel) can extract this to an extra class to use it for other cases. :)
Member qsf::Translator::loadByFilename (const std::string &filename)
  • TODO(co) For now, we only support Qt XML ts
Member qsf::Translator::saveByFilename (const std::string &filename)
  • TODO(co) For now, we only support Qt XML ts
Class qsf::TriggerPolygonComponent
  • TODO(co) Under construction. See concept "EMx_tech_Gamelogic.docx" and editor concept.
Class qsf::TsTranslatorSerializer
  • TODO(co) Currently only a subset of the TS file format is supported