Fixed the Lighthouse to not have the Library special tech.
Ptol Military Settlement has better sounds and a different portrait.
Increased defense tower limit since they now have a min distance limit.
Tweaked Ptolemies demo map.
This was SVN commit r13913.
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.
Britons get: Rotary Mill.
So, now all Celts get Rotary Mill, but also a unique unit-producing
building.
Britons now have a better demo "sandbox" map.
Ptolemies now play like they are intended. Just need tons of new
artwork. ;) Try them out on the demo map: Sandbox - The Ptolemaic
Egyptians.
Some highlights: Their Nubian Archers train very fast, but have a finite
life. The Lighthouse can be built on the shoreline (but looks like a
library). Their Military Settlement works as intended (can be built in
neutral territory, but min distance of 80 meters).
Testing out: Farm field limits (+8 per Farmstead, +2 per civ center).
This was SVN commit r13909.
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.
The debug heap has a high performance cost, even in release mode,
when running inside a debugger, which is surprising to people trying
to measure performance. It doesn't seem very useful at finding bugs
either.
Add a NoDebugHeap flag to Premake, to set that environment variable
when running in the VS2010 debugger.
This was SVN commit r13901.
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.