Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
  • 131 commits
  • 203 files changed
  • 9 contributors
May 13, 2012
cybersphinx Revert "Update version numbers for 3.1 beta10."
This reverts commit 968172d.

Revert "Update translations."

This reverts commit 29a0bd7.
May 19, 2012
Cyp Check template validity before trying to build droids. 6365f2d
cybersphinx Polish translation update by Emdek.
Closes #1347.
cybersphinx French translation update by Amiral JCDG.
Closes #3483.
cybersphinx Hungarian translation update by mtomi78.
Closes #3485.
cybersphinx Turkish translation update by Ayhan Görgülü.
Closes #3486.
cybersphinx Dutch translation update by nino_romans.
Closes #3484.
May 20, 2012
cybersphinx Fix some typos.
Thanks to pabs for noticing one of them. Closes #3495.
Paul Wise fix an FTBFS with -Werror=format-security
Fixes ticket:3493.
vexed Fix flag loading code to work for out of sequence factories.
fixes ticket:3384
May 21, 2012
Merge branch 'bugfixes' into 3.1 f04b5dd
Cyp Fix communication between remaining clients when one client freezes.
Problem persisted until the frozen client drops completely, or unfreezes (net connection is restored).

To reproduce, test with host and 2 other clients, and freeze one client with kill -STOP or by pausing the net
connection somehow.

Cause was lack of flushing, due to an inverted condition exposed in b9cc770 and
introduced in c1ca4d2. Would probably trigger before
b9cc770, for any remaining clients that freeze for any reason (for example, because
of <2.5 FPS or momentary hard drive swapping) for more than 400ms.
Cyp Be more consistent in ping display, show ping ≥ 4000 as ∞. bedd870
Cyp Put the unused MAX_BYTESPERSEC define out of its misery. a80f040
Cyp Fix Nexus AI unable to build units.
Nexus was building units with an unresearched sensor (equivalent to the default sensor). Since
6365f2d, Nexus can no longer build unresearched units.

In the tutorial, the designed MG viper wheels would also use the same unresearched sensor.

Replaced unresearched DefaultSensor1Mk1 with ZNULLSENSOR. Removed special case for tutorial in
7079ad2, which is no longer required.
Cyp Fix unconventional reported unit count on selecting all units of same…
… type.

Previous unconventional behaviour was to consider the set of previously-unselected droids becoming selected, and
report the size of the set plus the size of the set of types of droids in the set.

Iff there was exactly one droid of each type previously selected, and there was at least one unselected droid of
each selected type, then the reported unit count would coincidentally be correct.

Fixes ticket:3479.
Cyp Show "[PlayerName] has left the game." to all players again.
Fixes ticket:3461.
May 22, 2012
dak180 Update zlib to 1.2.7. 15aebc4
May 23, 2012
Cyp Don't spam assertions while artillery is assigned to allied sensors. 5d19904
Cyp Let CB sensors defend allies too. 313738e
May 24, 2012
Cyp Only play ID_SOUND_ARTIFACT_RECOVERED to the player picking up the ar…

Fixes ticket:3488.
May 25, 2012
Merge branch 'bugfixes' into 3.1 ddb696c
May 28, 2012
Merge branch 'bugfixes' into 3.1 2738fe8
May 30, 2012
Cyp Make sockets nonblocking as workaround for socket calls unexpectedly …

For some weird reason, select() sometimes returns that a socket write would not block, but the socket write does
block, anyway.

On display in the bottom of a locked manpage for select(), stuck in a disused lavatory with a sign on the door
saying "Beware of the Leopard":
       Under Linux, select() may report a socket file descriptor as "ready for reading", while nevertheless a
       subsequent read blocks. This could for example happen when data has arrived but upon examination has wrong
       checksum and is discarded. There may be other circumstances in which a file descriptor is spuriously
       reported as ready. Thus it may be safer to use O_NONBLOCK on sockets that should not block.

This would explain a socket read unexpectedly blocking, although the issue is actually a socket write unexpectedly

Fixes ticket:3410, or else.
Cyp Fix game mechanics bug allowing one truck to claim 10 derricks at once.
Abandoned structures with no cost now slowly deconstruct over a period of one minute.
May 31, 2012
vexed Fix commander unit count on loading games.
Add error sound, and text when you can't add any more units to the Commander.

Fixes ticket:3513
Fixes ticket:3062
vexed Add a work around and a assert to help out with the savegame issues d…
…escribed in said ticket.

Close ticket #3154
vexed Add missing header for last commit 3334b4d
Jun 01, 2012
Merge branch 'bugfixes' into 3.1 f996fa0
Jun 02, 2012
Cyp Assert on cyclic research dependencies instead of doing an infinite l…

Spurious assertions are possible in the case that the research tree is excessively interconnected, such as
researches 31-40 all depending on all of researches 21-30, and researches 21-30 all depending on all researches
11-20, and so on. Although it probably shouldn't assert on excessively interconnected research trees, the loop as
written could take a ridiculously long time, anyway.
cybersphinx French translation update by Amiral JCDG.
Closes #3512.
cybersphinx Update translations. b6c77bd
cybersphinx Increase precision of sorting in
Fix by Emdek, closes #3519.

Also remove unneeded "import os".
Jun 03, 2012
Cyp Fix some weird code that partly relied on sockets being blocking.
Exposed in 53ce0a7.
Cyp Don't use bsocket and tcp_socket at the same time.
Somehow fixes a client crash when failing to join a game. Possibly caused by deleting one of bsocket or tcp_socket,
and then using the other.
Cyp Don't continue to wait for a NET_ACCEPTED after processing a NET_REJE…

Don't wait for a NET_ACCEPTED after the socket is broken, either.
Cyp Fix host crash on failure in NET_CreatePlayer().
NET_CreatePlayer() should not be able to fail here, though. See following commit.

Crash was due to treating ERROR_FULL == 2 as an uint8_t pointer, and trying to dereference it.
Cyp Fix joining games with some closed slots.
Although it no longer crashed when trying to join a game with some closed slots (see previous commits), it is also
desirable to actually be able to join it.
Jun 04, 2012
Merge branch 'bugfixes' into 3.1 49d60d4
Cyp Do not return client broadcast messages to the sender.
Instead of sending a copy of broadcast messages back to the sender, which ignores them anyway, save the bandwidth.
Cyp Don't send a value which is never read, anyway. 051f83c
Cyp Simplify NETrecvGame() slightly.
No need to check for NET_* messages in game queues.
Jun 05, 2012
Cyp Don't desynch on dropped players.
Desynch was due to host-spoofed GAME_PLAYER_LEFT message being processed by clients at random times.

in a NET_SEND_TO_PLAYER, such that the clients' NETrecvNet() will process the GAME_PLAYER_LEFT in the same iteration
of the for (current = 0; current < MAX_CONNECTED_PLAYERS; ++current) loop as the real GAME_* messages from that
player, and therefore not mix up the messages.

To reproduce before this commit, start 8-or-so clients, set all to debug mode, change game speed of some clients
slightly, start kicking players. Keep trying again, until desynch is reproduced. Changing game speed of some clients
might or might not be required.

See 93f0e61.
dak180 Add a mac build for the image helper program. c346e9e
dak180 Use a faster optipng option set that also strips metadata.
Requires optipng 0.7.1+ to work.
Cyp Allow queuing building on burning oil wells.
Actual construction only starts after the oil well finishes burning.
Cyp Add oil barrels to map preview. 5b07a7b
Cyp Unduplicate backdrop pixel blitting code slightly. 27dfe97
Cyp Fix CB fire against mobile targets.
Steps to reproduce:
1) Player A builds a CB sensor.
2) Player B attacks the CB sensor with a mortar borg.
3) Player B runs away with the mortar borg where player A can't see.
4) Player A builds artillery.
5) Player B slowly kills off all the artillery with an MG viper wheels tank, while the artillery just sits there
   pointing at the mortar borg without firing.

To trigger, the artillery must be built after the last CB sensor in range of where the mortar borg attacks. Any
type of mobile artillery can trigger the bug, such as archangel leopard tracks, or MRA dragon wheels.

Workaround: Player A can build an uplink, so that the mortar borg becomes visible, and the artillery fires. If
            there's still anything left of the artillery by the time the uplink is built, that is.

Fixes ticket:3529.
Cyp Fix .gitignore.
The tools/image/image in .gitignore was mysteriously changed to be a directory only in
c346e9e, and the file therefore fails to be ignored.
Jun 07, 2012
Safety0ff Fix taking screenshots whose width is not congruent to 0 mod 4.
Closes #3537.
dak180 Do not bother looking for things that might not exist. 75041d8
dak180 Try to only show issues in the test outputs. 64951d6
Jun 09, 2012
Cyp Balance changes by NoQ.
And thanks to Reg312, Iluvalar and tmp500 for valuable suggestions.

Inferno: price 80->110, incend.radius 64->48, incend.damage 40->32
Thermite Cyborg: incend.damage 38->32
Plasmite: price 80->130, incend.radius 96->60, incend.damage 63->50
Incendiary Mortar: price 150->200, pit price 135->170, incend.damage 30->22
Incendiary Howitzer: price 250->300, emplacement price 325->400, incend.damage 60->32
Minipod: range 1152->1088
MRA: damage 34->29, splash damage 30->29, reload time 145->165
HMG: damage 18->17
AG: fire pause 3->4, damage 20->19
TAG: price 100->120, fire pause 3->4, damage 30->28
AG Cyborg: fire pause 4->5, damage 20->18
MG: ROF upgrades 15%/30%/45% -> 17%/34%/50%.
MC: research points 4800->3600
HPV: research points 7200->4800
Gates: price 25->75
Whirlwind: fire pause 3->4
Thermite Bombs: incend.damage 200->120
Plasmite Bombs: incend.damage 200->140
Cannon Fortress: price 1000->900, range 1792->1408
Seraph: damage 120->110, splash 100->90, INDIRECT->HOMING-INDIRECT
Cyp Texture changes by several people.
Cliff decals by Jorzi, sand support by Mysteryem, new rocky ground texture by MaNGusT, minor tweaks by NoQ.

Cliffs should now be visible.
Cyp Always reload weapons when bar is full.
Weapons would only reload if completely empty. If not completely empty, the reloading bar was meaningless.
Cyp Merge branch 'bugfixes' into 3.1
	src/game.cpp (Dropped 1974546 changes, which were now redundant.)
cybersphinx Update COPYING.NONGPL.
Closes #3533, refs #3534.
cybersphinx Update ChangeLog. d51cea9
Jun 10, 2012
cybersphinx New skybox for urban maps.
Closes #3534.
Safety0ff Make sure we pop our matrix when returning from rendering functions i…
…n exceptional circumstances.
Jun 11, 2012
Merge branch 'bugfixes' into 3.1 3928607
Jun 13, 2012
Cyp Fix fpathBlockingTile() usage in moveGetObstacleVector(). d115167
Cyp Don't put pathfinding points very close to blocking tiles. 57a56f2
Cyp Do not give up following a path due to the droid being on a blocking …

If the droid is on a blocking tile, repeatedly redoing pathfinding will not result in a path which does not
originate on said blocking tile.
Cyp Add extra deprecated feature check in the obsolete driver workaround …
Cyp Print all OpenGL extensions with --debug=3d, not just what fits on on…
…e line.
Cyp Add #include.
Buildbot apparently wasn't happy.
Jun 14, 2012
dak180 Update Png to 1.5.11. e971ebb
Safety0ff Fix on-screen droid radius calculation and placement of group/cmndr n…
…umbers, rank, etc

Closes #3547.
Cyp Change OpenGL 1.4+VBO check to OpenGL 1.2+VBO+TEC check for testing. 8b8282c
Jun 15, 2012
Safety0ff Fix hardcoded number of frames for structure animations.
N.B. Animation rates remain hardcoded for now.

Closes #1871.
(cherry picked from commit 55bea09)
Safety0ff Convert code and models from hard coded animation intervals to model …
…defined animation intervals.

Also assert on PIE files with bad animation data.

Closes #3539.
(cherry picked from commit 75ff207)
Safety0ff Don't reserve frame 0 for team colour (we use tcmask now).
Fixes bug in animation found by Berg.
(cherry picked from commit 2a9548a)
Safety0ff Fix texture animation data loading for pie 3
(cherry picked from commit 7c451d5)
Cyp Merge remote branch 'origin/bugfixes' into 3.1
Cyp Check for shader version ≥ 1.20, instead of checking for OpenGL 2.0.
Try to simplify checks a bit.
Cyp Merge branch 'bugfixes' into 3.1
Jun 16, 2012
Per Inge Mathisen qtscript: Make getResearch() return null if tech not found. Closes ti…
Safety0ff Add documentation for opengl usage. d3144a7
Safety0ff Fix bugs in glUseProgram and glAttachShader extension names. 174c561
Cyp Use OpenGL functions under extension names, if not present under regu…
…lar names.
vexed Revert "Fix texture animation data loading for pie 3"
This reverts commit cea701a.

(will commit this to bugfixes instead!)
vexed Revert "Don't reserve frame 0 for team colour (we use tcmask now)."
This reverts commit ecacd97.

(Will commit to bugfixes instead!)
vexed Revert "Convert code and models from hard coded animation intervals t…
…o model defined animation intervals."

This reverts commit b3dc944.

(will commit this to bugfixes instead!)
vexed Revert "Fix hardcoded number of frames for structure animations."
This reverts commit 02ced5e.

(will commit this to bugfixes instead!)
vexed Add missing vids message when they are not found 1a7c1a4
vexed Don't crash on null pointers. dc856ac
vexed Don't crash on NULL socket 6ff93f6
Safety0ff Fix hardcoded number of frames for structure animations.
N.B. Animation rates remain hardcoded for now.

Closes #1871.
(cherry picked from commit 55bea09)
(cherry picked from commit 02ced5e)
Safety0ff Convert code and models from hard coded animation intervals to model …
…defined animation intervals.

Also assert on PIE files with bad animation data.

Closes #3539.
(cherry picked from commit 75ff207)
(cherry picked from commit b3dc944)
Safety0ff Don't reserve frame 0 for team colour (we use tcmask now).
Fixes bug in animation found by Berg.
(cherry picked from commit 2a9548a)
(cherry picked from commit ecacd97)
Safety0ff Fix texture animation data loading for pie 3
(cherry picked from commit 7c451d5)
(cherry picked from commit cea701a)
Per Inge Mathisen Fix debug mode after player switching. Patch by vexed. Closes ticket:…

(cherry picked from commit 15d7ef0)
vexed Merge branch 'bugfixes' into 3.1 2ccf4e0
Safety0ff Use Berg's animated factory (GPL). e636d41
dak180 Pngs should be crushed, a lot.
Preferably before being committed.
dak180 Update the mac doc bundle. caa2074
Jun 17, 2012
Cyp Merge branch 'bugfixes' into 3.1
Cyp Merge remote branch 'origin/3.1' into 3.1 828292f
Cyp Do archaic OpenGL driver workaround before trying to enable shaders, …
…as well as after the workaround is clobbered.
Per Inge Mathisen Do not install map tools. Closes ticket:3494 43f9036
Per Inge Mathisen Make sure we do not overwrite sensible defaults with non-sensible ones
when reading rearm pad data from savegame files. Closes ticket:3518
Cyp Do not dereference NULL on referencing non-existent structure in stru…

Fixes ticket:3543.
Per Inge Mathisen qtscript: Set .stattype of a Laser Satellite building to correct ID. …
…Closes ticket:3506
Per Inge Mathisen qtscript: Add .type properties to common game objects, as requested in 69727cd
Per Inge Mathisen Clean up crazy indentation in function.cpp to make it readable. Refs …
Per Inge Mathisen Extra manual cleanup of function.cpp ec2bbb9
Cyp Swap Rush-T[23] map with 4c-Rush2-T[23] map, such that the map order …
…does not depend on tech level.
Cyp Add SHA-256 implementation. 474216b
Cyp In fallback, try to use glBlendColorEXT if glBlendColor is not present. 7867b7a
dak180 Add tools/image to the tarballs.
Closes #3528.
Safety0ff Use Berg's animated cyborg factory (GPL.) da43378
Safety0ff Determine which stencil functions and enums to use once instead of ea…
…ch frame.
Safety0ff Add some enums that were missed and update the functions for a newly …
…used function.
dak180 Be somewhat less unaimed in putting the image tool in the tarball. 2e72860
Jun 18, 2012
Merge branch 'bugfixes' into 3.1 02395b3
Safety0ff Add shader toggle UI. 691df6a
vexed Don't convert to a platform specific string here, it causes bad thing…
…s to happen.

"const char * PHYSFS_getRealDir 	( 	const char *  	filename 	 )
Figure out where in the search path a file resides.
The file is specified in platform-independent notation. "
Jun 19, 2012
Cyp "Fix" object selection bounding boxes and clicking on terrain, by sca…
…ling by a random factor.

This shouldn't work, but works in the sense that two wrongs make a right, two bugs make a feature.
Cyp Handle different maps with identical names, instead of a desynch.
Fixes ticket:3531 and ticket:3180.
Cyp Update ChangeLog. 769fccc
Cyp Merge branches 'screenscalehack' and 'bugfixes' into 3.1
Conflicts with 'bugfixes':
Cyp Fix loading of campaign savegames.
Apparently, the variable is set to "Sk-Rush" in campaign. And the actual map name is saved somewhere else.

Broken in 15c04ab.
cybersphinx Remove unused variable, and fix some narrowing stuff.
src/multiint.cpp:404:52: error: narrowing conversion of ‘(rand() % 256)’ from ‘int’ to ‘char’ inside { } is ill-formed in C++11 [-Werror=narrowing]

Fixes #3552.
dak180 Update the mac doc bundle. 0007657
Jun 20, 2012
cybersphinx Update ChangeLog. 6a31217
cybersphinx Update translations. 0c55d94
cybersphinx Merge branch 'bugfixes' into 3.1
* bugfixes:
  Update translations.
  Update the mac doc bundle.
  Update ChangeLog.
  Remove unused variable, and fix some narrowing stuff.
  Fix loading of campaign savegames.
cybersphinx Update translations. 8d8539f
cybersphinx Update version numbers for 3.1 beta11. e8a51a2