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.
- The server will no longer send a new turn until the previous one has
been "acknowledged". (TODO: this may create lag between turns in its
current form; investigate and possibly allow executing two turns while
the third is being negotiated).
- Mutexes are now being used in NetServer and NetClient to ensure
commands go into the right batches.
- Commented out some orders in the GUI code that should not be there and
are not 100% working anyway (they were part of the follow/formation
system).
- Units that spawn or are created by scripts now have net-safe position
and orientation.
- Added a debug flag that can be turned on to print details about when
commands are received and executed (DEBUG_SYNCHRONIZATION). This is
especially useful if you diff the stdouts of two running games. There
should be no differences if everything is in synch.
This was SVN commit r5463.
- Fixed outdated / buggy networking code in the GUI scripts.
- Finished the API to CNetClient so that it's possible to start a CGame
from it.
- Some enhancements for debugging networking: Enabled updates while the
game is minimized/out-of-focus if it's in a network session. Also
reduced the turn length to something slightly more manageable but still
unplayable (1 sec versus 3 sec).
- Fixed a bug where IssueCommand used to access the order it creates
after queueing it, which is bad if the order gets deleted while being
queued (e.g. in CNetClient).
This was SVN commit r5139.
Made CTechnology inherit from CJSComplex, so that properties such as
resources can be added dynamically instead of being hardcoded in it.
Also removed some excessive debug output from GUI.
This was SVN commit r4980.
- Loot script was not properly giving loot.
- Some errors were occuring in the GUI every frame when XML files are
lacking certain traits.
- Fixed time on celt female citizen forage gather animation.
This was SVN commit r4832.
#- Modified female citizen gather rates and aura effects.
#- Units automatically go gather nearby resources when done building a
dropsite.
#- Ore renamed to metal.
This was SVN commit r4594.
- Added "Screenshot Mode" checkbox on game setup screen, which will set
units to Hold stance by default (normally, they'll be in aggress).
- Made the "Fog of War" checkbox actually work.
- Fixed a bug where repairing a building could cause you to reach
negative resources.
- Increased ranged unit LOS so they can pursue things that go out of
attack range.
- Made visibility permanent for Settlements.
- Removed a stray "s" in template_unit_cavalry_melee.xml.
This was SVN commit r4526.
Also modified the entity script to allow for gathering fractional
resources, and modified the GUI to round resources to the nearest
integer. This is necessary since techs will likely push resource
gathering amounts to fractional numbers.
This was SVN commit r4161.
These seemed to be eating up 100 MS per frame! I've made the GUI
remember old resource values and only refresh counters when they change,
but this is still really bad performance, because in a real game we'll
have resource values changing every second. We need to find a much
better way to lay out those resource counter elements.
This was SVN commit r4127.