Implements custom, VFS-based map load/save dialogs for Atlas (replaces
broken native file dialogs), fixes#631, #889.
Fixes map loading/saving to handle arbitrary subdirectories for better
organization.
Adds default settings to Atlas player panel, fixes#1872. Each setting
now has a checkbox to choose whether it should be saved with the map
(avoids writing lots of useless default data for each map).
Adds map preview setting to Atlas, refs #1745.
Cleans up and simplifies some duplicate code.
Fixes optional serialization performance test.
This was SVN commit r13938.
This fixes an error with autostart and smoothlos=true, where the system
defines were being accessed before the first rendered frame.
This was SVN commit r13923.
Use an arena allocator in ShaderModelRenderer::Render, to reduce
the allocation cost in STL containers.
Avoid unnecessary copying of std::vectors.
This was SVN commit r13911.
wdbg_heap_NumberOfAllocations doesn't work without the wdbg_heap
leak detector, which is disabled since it's slow and broken.
Use a simple hook via _CrtSetAllocHook instead to count allocations.
This was SVN commit r13910.
Switch all the constant strings in graphics code to use the new
variables.
This avoids the cost of instantiating CStrInterns at runtime every
frame.
This was SVN commit r13906.
CShaderDefines is designed to be efficient to copy and compare, but not
to construct. Conditional defines were constructing new CShaderDefines
for many models every frame.
Precompute all the possible conditional combinations of CShaderDefines
when a material is first loaded, so they can be looked up at no cost
when rendering.
This was SVN commit r13902.
On MSVC, casting i32 to i64 then multiplying gets compiled into a call
to __allmul, which is slow. Use the __emul intrinsic instead.
GCC 4.6+ appears optimise this case automatically and doesn't need any
special handling.
This reduces the cost of ComputeShortPath by about 50% (testing AI vs AI
on Oasis 01).
This was SVN commit r13873.
Overflowing elements in SpatialQueryArray are now reported with
debug_warn, but can be ignored and the program will continue working,
but further entities will be truncated.
This was SVN commit r13860.
Add CEntityHandle which wraps an entity_id_t and also has a pointer to a
per-entity array of IComponents. QueryInterface/CmpPtr on a handle just
involve a couple of pointer dereferences instead of a map lookup.
This requires sizeof(void*) per registered interface type per entity,
which is currently ~0.5KB per entity, which shouldn't be a problem.
This was SVN commit r13825.
Exclude dev.cfg from the Windows installer.
Use the correct filename for the Windows installer.
Update some paths to match the new EC2 build process.
This was SVN commit r13802.
- Don't show the scrollbar when the contents aren't overflowing the
visible area.
- Fix bugs in minimum bar sizing.
- Add capability to set a maximum bar size.
- Correct outdated/incorrect comments.
This was SVN commit r13771.