Nebula
Loading...
Searching...
No Matches
Todo List
Class BaseGameFeature::LevelParser
This class is a (working) mess right now, and should be refactored. An idea is to first load the json into an intermediate format/struct that contains all the loaded entities, not as actual entities but as smaller objects with kvp properties. This would require us to rewrite serialization somewhat, but we might gain quite a bit of flexibility from it if we move away from the json reader directly. This would be similar to how we parse and use gltfs. This would also make it easier to load subscenes, as they would be parsed directly into this structure/format.
Member Dynui::ImguiContext::RecoverImGuiContextErrors ()
update imgui and uncomment the commented code below!
Class Event
describe Event class
Member Game::BlueprintManager::CreateCategory (World *const world, BlueprintId bid)
this can be optimized
Member Game::FeatureUnit::RegisterComponentType (ComponentRegisterInfo< COMPONENT_TYPE > info={})
We should register the component ids to the feature unit and deregister them when the feature is detached or destroyed.
Member Game::GameServer::DestroyWorld (WorldHash worldHash)
The world index should probably be recycled.
Member Game::Message< MSG, TYPES >::Distribute (TYPES ...)
Implement networked messages.
Member Game::Message< MSG, TYPES >::distributedMessages
This should be updated by some NetworkMessageManager-y object.
Struct Game::TimeSource
These are currently not thread safe.
Class IO::BinaryReader
convert endianess!
Class IO::BinaryWriter
convert endianess!
Member IO::IoInterfaceHandler::OnReadStream (const Ptr< IO::ReadStream > &msg)
handle non-mappable stream!
Member IO::IoInterfaceHandler::OnWriteStream (const Ptr< IO::WriteStream > &msg)
handle non-mappable stream
Member IO::URI::Split (const Util::String &s)
: this is too complicated...
Member Math::fchop (scalar f)
type cast to int is slow!
Member Math::line::intersect (const line &l, point &pa, point &pb) const
: Untested! Replace with simpler code.
Member Messaging::Port::Send (const Ptr< Message > &msg)
should we stop here, once the message had been handled...?
Class OSX::OSXCriticalSection
: Add debugging asserts? If yes wrap with new __NEBULA-define
Class OSX::OSXThreadLocalPtr< TYPE >

: Performance? Would it actually be better to allocate one pointer lookup-table and associate this with a single thread-local key as like on the Wii? At the moment every Ptr has its own key.

: If this object will be used for anything else then singleton, it might make sense to change the interface to look like a normal C-pointer.

: Performance? Would it actually be better to allocate one pointer lookup-table and associate this with a single thread-local key as like on the Wii? At the moment every Ptr has its own key.

: If this object will be used for anything else then singleton, it might make sense to change the interface to look like a normal C-pointer.

Class Posix::PosixTimer
solve multiprocessor issues of QueryPerformanceCounter() (different processors may return different PerformanceFrequency values, thus, threads should be prevented from switching between processors with thread affinities).
Member RenderUtil::MouseRayUtil::ComputeWorldMouseRayOrtho (const Math::vec2 &mousePos, float length, const Math::mat4 &invViewMatrix, const Math::mat4 &invProjMatrix, float nearPlane)
There are better ways to do this!
Class Thread
describe Thread class
Member Util::Array< TYPE, SMALL_VECTOR_SIZE >::Difference (const Array< TYPE, SMALL_VECTOR_SIZE > &rhs)
this method is broken, check test case to see why!
Member Util::ArrayStack< TYPE, STACK_SIZE >::Difference (const ArrayStack< TYPE, STACK_SIZE > &rhs)
this method is broken, check test case to see why!
Member Util::FixedArray< TYPE, StackAlloc >::BinarySearchIndex (const TYPE &val) const
hmm, this is copy-pasted from Array...
Class Util::Queue< TYPE >
This is extremely slow and should probably use a list instead.
File valuetype.h
Add quaternions and additional types that are missing
Class Win32::Win32Timer
solve multiprocessor issues of QueryPerformanceCounter() (different processors may return different PerformanceFrequency values, thus, threads should be prevented from switching between processors with thread affinities).