Major updates to most network classes.
Simplify CNetServer so it doesn't duplicate any client behaviour; all
players now run CNetClient.
Remove most player/slot management from networking code.
Wait for all players to finish loading before starting the simulation.
Remove CGameAttributes; attributes are now just a JS object.
Remove CPlayer; they are now just simulation entities.
Handle player colours via simulation system.
Add a default map for Atlas, so it always has something to load.
Move network documentation to Doxygen.
Remove lots of now-unused code.
This was SVN commit r7653.
Align rendered shapes to pixels, to avoid fuzzy textures and subpixel
gaps at unlucky screen sizes.
Reposition dropdown scrollbars correctly after dynamic size changes.
Fix mouse-drag selection of text in input controls.
Draw input selection background as a nicer size.
Support tooltips on lists.
Support 'enabled' on lists.
Fix crash when switching GUI pages in tick hander.
This was SVN commit r7649.
dbghelp: ensure the DLL from our executable directory is loaded (avoids
breakage related to search-path and Dropbox)
wmi: use single-thread apartment COM model because multithreaded breaks
SHGetFolderPathW
wsysdep: sys_pick_directory: allow user-specified initial path; fix
previous non-unicode initial path; avoid reporting error if user cancels
wutil: add function to query executable directory at any time
This was SVN commit r7633.
i3 CPUs report a *maximum* of 8 cores/package, which caused the number
of processors to be misreported as 0 (but only because the APIC IDs were
skipped because the CPU generation was deemed to low, which was due to
failing to consider extended family/model)
thanks to titanforever for reporting this.
This was SVN commit r7626.
Don't flush network queue after every message.
Desingletonify CGameAttributes to allow testing.
Make network server/client basically testable.
Add very basic tests for network server/client.
Fix FsmActionCtx memory leak.
Split CNetHost into a separate file.
Convert CNetHost, CNetSession to a more conventional coding style.
Delete CNetLogger, since it's a lot of complexity and is barely used and
is redundant with CLogger.
Other minor simplifications.
This was SVN commit r7623.
mem_util: inline freelist functions to avoid needing an additional if()
in pool.cpp
pool: add comments clarifying the roles of PoolAllocator vs
RawPoolAllocator
wsdl: refactor (naming convention, determination of window style, reduce
forward decls)
This was SVN commit r7610.
Animate props much more sensibly.
Move ammo code out of CUnit.
Move animation logic out of CModel.
Launch projectiles from the correct location.
Use entity's speeds and sounds in actor viewer.
Add -nosound option to disable audio, and allow audio by default in
Atlas.
Remove some obsolete options.
This was SVN commit r7609.
Stop ignoring actor XML animation speeds.
Add decentralised registration of hotloaders.
Move player ID storage into CModel, to simplify CUnit.
Remove obsolete unit ID allocation code.
Remove some material junk.
This was SVN commit r7605.
Rewrite font builder tool to be much simpler and to support more text
effects.
Change GUI to use new set of fonts.
Switch font textures from TGA to PNG so they're easier for the font
builder to create.
Support RGBA font textures (for e.g. stroked text).
Greatly improve text rendering performance by using vertex arrays.
Fix rendering code leaving vertex buffers bound.
Add 'clip' property to GUI text objects, to disable clipping when
rendering.
Delete part of unused console function registration system.
This was SVN commit r7595.
Allow aggressive inlining of MD5 buffer updates (particularly for
fixed-size updates).
Make UTF-8 conversion a little faster.
This was SVN commit r7581.