Commit Graph

448 Commits

Author SHA1 Message Date
f432d9d18b fix dehydra warnings (some of which were dangerous pass-user-string-as-format-string vulnerabilities)
This was SVN commit r7177.
2009-11-07 09:32:19 +00:00
9662666403 more string drudgery
- sprintf, snprintf -> sprintf_s (ensures 0-termination of result)
- use %s instead of %hs with sprintf_s to avoid GCC warnings
- convert h_mgr's to_string to unicode

This was SVN commit r7170.
2009-11-06 10:59:10 +00:00
77d2c67ada misc. string fixes
convert remaining %s to %hs or %ls
use WPRINTF_ARGS on unicode printf functions
fix: __func__ can't be widened via preprocessor (-> revert to char*)
convert remaining external_[directory|file_string to string()
Util: don't mix fwprintf and fprintf
Formation: fix dangling pointer (storing result of c_str())

This was SVN commit r7164.
2009-11-04 15:29:28 +00:00
8a52113e60 huge cleanup and conversion of most string handling (especially paths) to unicode
please note: format strings must be %hs for char* arguments and %ls for
wchar_t*

This was SVN commit r7161.
2009-11-03 21:46:35 +00:00
cd6a926c14 Fix #293 (Lots of printf format string errors), based on patch from Cygal
This was SVN commit r7113.
2009-08-14 18:42:39 +00:00
5b302658a3 # fix permissions of created directories
also took the opportunity to move file_system_posix to file_system since
a further FS abstraction layer = YAGNI. also namespaced
file_system_util.

This was SVN commit r7074.
2009-08-04 19:57:53 +00:00
6714d80fba Fix memory leak, Valgrind warnings
This was SVN commit r7051.
2009-07-28 20:13:26 +00:00
008d894dd7 Fix some GCC warnings
This was SVN commit r7048.
2009-07-28 16:59:19 +00:00
cdfb58a62f Fix some more GCC warnings
This was SVN commit r7045.
2009-07-28 09:27:56 +00:00
f5f1d47aed Fix some GCC -Wextra warnings
This was SVN commit r7043.
2009-07-27 18:32:59 +00:00
df36e937f0 Patch from #258: [FreeBSD compat] add some missing includes
This was SVN commit r7001.
2009-07-16 16:53:55 +00:00
af7f2a2300 Add includes of ScriptableComplex.inl to fix link errors in release config
This was SVN commit r6988.
2009-07-14 15:11:05 +00:00
c9fa7f13d9 Add GPL header
This was SVN commit r6830.
2009-04-18 17:00:33 +00:00
1e3cd00c72 Set svn:eol-style=native
This was SVN commit r6816.
2009-04-11 17:00:39 +00:00
eaede77cce # Fix crash when dragging corpses in Atlas
This was SVN commit r6785.
2009-03-26 20:30:24 +00:00
433c34cd94 Fix warnings on Windows
This was SVN commit r6776.
2009-03-24 23:07:48 +00:00
6426777e61 # Disable non-Free pathfinding library
(All the code is still there, it's just #ifdef'd out by default)

This was SVN commit r6775.
2009-03-24 21:40:10 +00:00
b51353ae0b Use NONCOPYABLE macro, to avoid ICC warnings
This was SVN commit r6589.
2009-01-03 18:40:28 +00:00
5228800b73 # Fixed Linux build
Use noncopyable instead of boost::noncopyable. (But maybe this should be
changed to the NONCOPYABLE macro instead?)
Use boost::filesystem::wpath::file_string instead of
external_file_string, since the latter varies between std::string on
Linux and std::wstring on Windows.
Use wcstombs instead of wcstombs_s.
Use rtl_AllocateAligned instead of _mm_malloc.

This was SVN commit r6574.
2009-01-02 21:19:41 +00:00
cc2f2e46c8 Adding the m_base check.
This was SVN commit r6522.
2008-11-25 00:03:24 +00:00
0cea78e462 crash fix in void CEntity::UpdateXZOrientation()
This was SVN commit r6506.
2008-11-22 18:14:51 +00:00
213743b73d # improve robustness of simulation and EntityManager code
also const-correctness fixes in EntityFormation
+build

This was SVN commit r6502.
2008-11-22 16:50:03 +00:00
6267e13760 IsEntityRefd now checks the entity pointer as well (avoids null pointer dereference in some cases - encountered during MP game).
Simulation.cpp: hoist retrieval of simulation pointer out of loop

This was SVN commit r6482.
2008-11-15 22:38:04 +00:00
cb257dd020 Null pointer fix.
This was SVN commit r6481.
2008-11-15 20:08:41 +00:00
cfc4f47105 This was SVN commit r6422. 2008-10-13 21:06:15 +00:00
5d35f6bfe0 Increase turn length to 300ms to work better with lag.
This was SVN commit r6318.
2008-08-08 05:57:10 +00:00
98dd1a1bb4 Refactored "generic" order to just call it "contact action", and added support for intercepting targets if performing a contact action while moving.
This was SVN commit r6290.
2008-07-29 08:22:56 +00:00
d0c6805725 Fixed bug that was causing population to go negative. It was due to a unit being killed by multiple enemies in the same frame, which led to multiple calls of the death event handler. The fix is twofold: First, kill() only calls the event handler the first time the unit is killed. Second, damage() (in JS), which apart from killing things also loots them, makes sure that the unit is not already being destroyed. This latter fix is to ensure that we don't get a huge amount of loot by simply attacking a low-HP unit with many soldiers simultaneously, so they kill it in the same frame.
This was SVN commit r6276.
2008-07-24 05:50:45 +00:00
75a9b2f357 Made stance-setting work with multiplayer.
This was SVN commit r6274.
2008-07-24 05:25:14 +00:00
0f9294ce17 Fixed some strict aliasing warnings
This was SVN commit r6252.
2008-07-19 00:36:42 +00:00
fe6370aff8 more dehydra. disabled lockfree module (not in use).
This was SVN commit r6240.
2008-07-17 17:00:00 +00:00
9025056ffd Made rally point setting net-safe.
This was SVN commit r6225.
2008-07-13 17:37:45 +00:00
36b18f646f Added shouldRun parameter to order(ORDER_GENERIC) calls from scripts.
This was SVN commit r6224.
2008-07-13 16:31:03 +00:00
e4966f6f1b Added running support to GENERIC orders through a field that can be sent across the network (previous implementation used to be by setting properties on the entity itself).
This was SVN commit r6223.
2008-07-13 06:24:50 +00:00
d5fedc7c76 Fixing some multiplayer issues:
a) Run commands were not being sent accross properly because the JS just
directly set flags on the entity. Note: The current fix has the
side-effect of making it no longer possible to double-rightclick a
target to charge, run-gather, etc. That will be fixed in a later commit.
b) EntityLists were serialized in a format that made it impossible to
deserialize a zero-length list.

This was SVN commit r6221.
2008-07-13 05:56:27 +00:00
f6ac13c15a Networking fixes - it now more or less works over ENet!
This was SVN commit r6216.
2008-07-12 19:08:38 +00:00
3c411dd174 large batch of Dehydra static code analysis fixes
(mostly passing arguments by const reference and checking LibError
return codes)

This was SVN commit r6214.
2008-07-12 10:45:11 +00:00
984f3d2180 GCC fixes
This was SVN commit r6192.
2008-07-04 11:16:30 +00:00
b9c939402b GCC fixes
This was SVN commit r6191.
2008-07-04 11:15:47 +00:00
58407c7438 workaround for invalidId issue (fixes windows build)
class static const member apparently sometimes requires external linkage
and enum causes conversion warnings, so go with file-scope constants.

This was SVN commit r6161.
2008-06-30 17:31:09 +00:00
10237a66c7 GCC/Linux build fixes
This was SVN commit r6107.
2008-06-25 23:01:13 +00:00
b5987f11e8 Cleaned up TerrainOverlay a little
This was SVN commit r6104.
2008-06-24 23:35:46 +00:00
b478fde5a1 add support for positional sound and "omnipresent" interface sounds
snd_mgr: remove support for sound cones (will not be used); only set
VSrc rolloff factor if relative flag is set
main: hack: flip listener up vector to 'fix' L/R flip (cause is unknown,
coord systems appear to be correct)

This was SVN commit r6092.
2008-06-21 20:06:30 +00:00
2b4f3416a8 SimulationScriptInit.cpp: add missing headers
SoundGroup.cpp: fix: avoid invalid-handle complaints if quickstart has
disabled sound

This was SVN commit r6029.
2008-06-16 18:33:47 +00:00
b0a6d6dca8 committing the current status of dacian's new network code on matei's request
also includes sound support.

GameSetup: ensure all ScriptingInit are called; moved simulation
ScriptingInits and init/shutdown to SimulationScriptInit.cpp (reduces
#includes)

This was SVN commit r6028.
2008-06-16 18:19:35 +00:00
c0ed950657 had to remove uint and ulong from lib/types.h due to conflict with other library.
this snowballed into a massive search+destroy of the hodgepodge of
mostly equivalent types we had in use (int, uint, unsigned, unsigned
int, i32, u32, ulong, uintN).

it is more efficient to use 64-bit types in 64-bit mode, so the
preferred default is size_t (for anything remotely resembling a size or
index). tile coordinates are ssize_t to allow more efficient conversion
to/from floating point. flags are int because we almost never need more
than 15 distinct bits, bit test/set is not slower and int is fastest to
type. finally, some data that is pretty much directly passed to OpenGL
is now typed accordingly.

after several hours, the code now requires fewer casts and less
guesswork.

other changes:
- unit and player IDs now have an "invalid id" constant in the
respective class to avoid casting and -1
- fix some endian/64-bit bugs in the map (un)packing. added a
convenience function to write/read a size_t.
- ia32: change CPUID interface to allow passing in ecx (required for
cache topology detection, which I need at work). remove some unneeded
functions from asm, replace with intrinsics where possible.

This was SVN commit r5942.
2008-05-11 18:48:32 +00:00
7d82d87ce8 [requires workspace rebuild due to added directory]
replace ONCE with direct calls to ScriptingInit in simulation/network
code as well.
note: GameSetup is now responsible for calling ServerSession's init
instead of Server doing it

added simulation/scripting with a module that takes care of all
scripting init (reduces CCD)

This was SVN commit r5883.
2008-04-13 14:50:11 +00:00
af6694262a cleanup:
remove ONCE(ScriptingInit) constructs, replace with direct call from
GameSetup
revised GameSetup's InitScripting (organize into groups)
JSCollection: remove #define of two concrete collection types (made
typedef, moved to their respective entity.h and player.h)

This was SVN commit r5871.
2008-04-06 14:03:23 +00:00
bf31dd66b3 increase handle limit to 16k
in 2008-02-09 meeting, decided to stick with a fixed-size array for
simplicity. (changing to vector would require modifying the m_refd
bitset optimization. there is a 32k handle limit due to serialization
code anyway, and no pressing need to justify changing either)

This was SVN commit r5612.
2008-02-09 19:11:01 +00:00
455556783e # Fixed walking on a multistep path, which sometimes stopped after the first few steps.
The problem was incorrect logic in the start-next-segment-of-the-path
code that was added to allow multiple segments to be handled within the
same update. I'm not sure how this worked before but it seemed to give
continuous paths! Likely that's because the pathing for contact actions
is different.

Also added more sanity checks in Aura.cpp for deleted entities in the
m_Influenced queue. There was a crash caused by something here though
it's hard to reproduce.

This was SVN commit r5597.
2008-02-04 08:24:17 +00:00