* now splits everything up into independent static libraries.
* fixed a great deal of incorrect #include statements. all headers must
now be specified with their full path relative to source. exception: if
file being included and including file are in the same directory, no
path needed.
use <> when relying on the build system's include path (e.g. for system
headers and external libraries, e.g. boost), otherwise "".
* temporarily renamed maths/Vector2D to Vector2D_Maths to avoid
conflict. these should be merged.
* hacked around VC linker stupidness when building static libs; texture
codecs must now be registered manually.
This was SVN commit r3931.
The pathfinder was pushing locations with negative coordinates (or
coordinates larger than the map size) onto the queue, which led to
memory corruption in CAStarEngine's node array and later a crash in its
destructor.
This was SVN commit r3923.
Actor variation selection (though not saved to maps, so not very
useful).
Added more levels of complexity to the waiting-for-game-to-respond
message pump, to fix reentrancy problems.
Use number keys to assign player to selected unit.
This was SVN commit r3913.
(these are the old self-tests ripped out as well as new ones)
note: have not run yet; several would surely fail if they run (can't
anyway until cxxtest is installed)
This was SVN commit r3912.
ia32: prepend CPUCap enum names and rdtsc with ia32 to avoid conflicts.
move all self tests into separate headers as required for Cxxtest.
adts: remove some dead code.
add CppDoc comments to debug, lib (with heavy cleanup), tex, tex_codec,
snd_mgr
slight improvements to path
tex: refactor; split out tex_decode and encode to allow self-test
This was SVN commit r3911.
Also fixed sectorDivs so it's always initialised, since the complaints
were annoying.
Camera: Added a const.
Super cavalry: Added required(?) aura attributes.
This was SVN commit r3906.
- Underwater tiles will be tested against the frustum with a bounding
box including the water surface, so the water gets drawn even if the
terrain is off-screen.
- Transparent objects (e.g. trees) should now interact with water
properly. I did this by rendering them twice, first before the water, so
it overlaps the underwater pieces, then after, so the above-water pieces
overlap the water (the water now writes Z as well as colour to allow
this). Before, only the first pass was done, so the tops of trees were
covered by water. There might be more efficient ways of doing this - the
best could be for the transparent objects to be drawn with a shader that
always either discards a pixel or writes alpha of 1.0 instead of using
2-pass depth write then colour write.
This was SVN commit r3904.
problem was FILE_CACHED_AT_HIGHER_LEVEL flag preventing a buffer from
being added to cache, which was causing trace_entry_causes_io to leak a
buffer it allocated. documented the entire problem thoroughly.
wdbg_sym: no longer complain if stack trace generation just ended up
returning a warning
This was SVN commit r3886.
^ actually that was last revision, but forgot this there :P
housekeeping/cleanup of smaller issues I noticed while working:
lib: add NO_COPY_CTOR macro
lib_errors: fix descriptions, rename
INFO_ALREADY_PRESENT->INFO_ALREADY_EXISTS
* refactor "is valid VFS dir" to VFS_PATH_IS_DIR macro
* remove some scaffolding
* update docs
* scour all VFS APIs, make sure they receive valid VFS dir paths
second try for Trac notification:
closes#79closes#80
This was SVN commit r3876.
ERR_(FILE|PATH)_NOT_FOUND -> ERR_TNODE_NOT_FOUND, ERR_NOT_(FILE|DIR) ->
ERR_TNODE_WRONG TYPE
path_util:
- path_append: bugfix (no more extraneous /); add support for appending
slash
- path_replace: bugfix (no more warnings for expected error)
- add path_last_component, path_foreach_component
- move some defs to the header that belong there from vfs.h/path.h
file: add dir_create; move PosixFile definition here and provide
accessor for fileio
vfs: no longer automatically append slash; instead, make sure caller
does
vfs_mount:
- mount_realpath: bugfix (strip trailing /), interface improvement
- document write_target; clarify MULTIPLE_MOUNTINGS; add support for
creating real dirs
vfs_tree:
- refactor TDir::add into find, add, find_and_add
- fix TDir and TNode for dir-ends-with-slash requirement
- split up lookup into lookup_cb and path_foreach_component
- add support for inserting dirs with given mount point: tree_add_path
(needed when mounting)
wposix: get rid of weird PATH_MAX = 260 (Win32 weirdness)
TextureManager: remove no longer needed SupportedTextureFormats
GameSetup, Xeromyces: setup XMB location to data/cache/mods/official/xmb
Util: HardcodedErrorString now uses error_description_r
VFSUtil, i18n: fixes for dir slash issue
Closes#79, #80
This was SVN commit r3874.
- Entity templates are now per-player, along with an unowned
"unmodified" version of each template that should be used to find the
original values of the stats. This can be accessed in the scripts as
<template>.unmodified.
- Fixed a pathfinder crash when the last path from the engine had 0
elements (just ignoring this for now).
- Units should no longer become purple when they upgrade in rank.
Refs #3.
This was SVN commit r3863.
- Pulled out the A* implementation to a separate class to support reuse
of code for the high level pathfinder
- Cached the the open/closed status of nodes to improve speed
- Added a maximum node limit before the search is cut off
(DEFAULT_SEARCH_LIMIT in AStarEngine.cpp for now)
- Allied unit collisions are now ignored
This was SVN commit r3861.
-added NOTIFY_ORDER_CHANGE, which is used for flank penalty instead of
idle.
-entity speed is now actions.move.speed_curr for the current speed, but
the original speed is still actions.move.speed. Changes take place in
entityEventMovemen.
This was SVN commit r3840.
file_cache: avoid caching 0-length files (prevents div by 0)
adts: bit more defensiveness against size=0
trace: now use "dividers" in the trace file instead of relying on
monotony property of the get_time source. this avoids incorrectly
splitting the trace into runs when time is actually not monotonous
(which would cause lots of warnings), e.g. due to debugger.
in the process, changed interface to return (most-recent first) runs,
instead of only the raw unsorted entries.
This was SVN commit r3832.
- file: make DirIterator opaque struct with type field, as with
File/FileIo in recent commit. unifies all dir enum interfaces.
- add dir open/nextent/close functions to FileProvider_VTbl
- allocators: change signature of SingleAllocator to that of the
templated type (avoids need for cast)
(affects archive, compression, zip)
- file_util: move dirent filter logic here so it can be used by file.cpp
also, not only vfs.
This was SVN commit r3822.