Armagetron Advanced 0.2.8.3.4

Compatibility with gcc 6, fixing several undefined behaviors that went bad.

Milestone information

Project:
Armagetron Advanced
Series:
0.2.8
Version:
0.2.8.3.4
Released:
 
Registrant:
Manuel Moos
Release registered:
Active:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
No users assigned to blueprints and bugs.
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
No bugs are targeted to this milestone.

Download files for this release

After you've downloaded a file, you can verify its authenticity using its MD5 sum or signature. (How do I verify a download?)

File Description Downloads
download icon armagetronad-0.2.8.3.4.src.zip (md5) Source zip for windows (a bit broken, you need to edit makedist.bat to read SET AA_DIR=".") 1,181
last downloaded 24 hours ago
download icon ArmagetronAdvancedDedicated_0.2.8.3.4 (md5) 32 bit portable linux server 1,165
last downloaded 11 weeks ago
download icon ArmagetronAdvanced_0.2.8.3.4 (md5) 32 bit portable linux client 4,954
last downloaded 47 weeks ago
download icon armagetronad-0.2.8.3.4.src.tar.gz (md5) Source 1,473
last downloaded 21 weeks ago
download icon armagetronad-0.2.8.3.4.src.tar.bz2 (md5) Source 1,206
last downloaded 43 weeks ago
download icon armagetronad-0.2.8.3.4.gcc.win32.exe (md5) Windows Client Installer 49,412
last downloaded 3 days ago
download icon armagetronad-dedicated-0.2.8.3.4.gcc.win32.exe (md5) Windows Server Installer 4,989
last downloaded 3 weeks ago
Total downloads: 64,380

Release notes 

Armagetronad 0.2.8.3.4 is a compiler compatibility release.

Two issues that surfaced when compiling with gcc 6 were fixed.

The first one was that tLocale.h failed to compile; the reason was a
convoluted chain of operators calling each other. That also caused
undesired conversions (just a small performance problem) in other
compilers, so we unraveled the code paths without determining what
exactly the change turning this into a compilation error was.

The second issue were crashes in nNetObject.h and eTeam.cpp, caused by
us relying on undefined behavior: we relied on null checks on the
'this' pointer and on reference addresses, both cannot legally be
null. gcc 6 now started optimizing the tests away.

Changelog 

View the full changelog

Changes since 0.2.8.3.3:
- Eliminated undefined behavior that was fine in gcc 5, but now
  (rightfully!) turned into crashes in gcc 6.
- Eliminated compilation disambiguity that was just causing a mild
  performance degradation in gcc 5 and is now a compilation failure in
  gcc 6.

Changes since 0.2.8.3.2:
- security fix: do not read ahead of the beginning of network buffer.
- security fix: don't attribute network errors from processing random
  packets to the connection to the server
- security fix: while at it, don't process random packets unless they
  may be important
- fix for potential crash with friend list filtering
- intel driver compatibility
- fix for rare crash with sound lock
- fix for camera turning for bizarre axis configurations

Changes since 0.2.8.3.1:
- security fix: old style action commands from clients no loger cause hangs and crashes
- security fix: oversized packets are ignored properly
- security fix: never read one byte outside of the received buffer
- security fix: only include .cfg files from the var subfolder
- compiler compatibility: adapted to gcc 4.60
- smaller spelling fixes
- FOV calculations now correct for widescreen and horizontal splitscreen
- Additional checks against illegal values passed to renderer

Changes since 0.2.8.3:
- fixed temporary sound disappearance when alt-tabbing away and back
- default subcultures are now distributed
- enable 32 bit color depth at desktop resolution
- no more display lists for SiS cards
- spelling mistakes and missing German translations

Changes since 0.2.8.3_rc4:
- Intercepted chat commands are now written to ladderlog.txt. Format:
  COMMAND /command-intercepted player [command arguments]
- Increased default speed of server pinging
- Reordered game menus a bit
- fast finish works again

Changes since 0.2.8.3_rc3:
- Pinging previously popular servers earlier for quicker server
  browsing
- Improved master server random polling, the second polled master now
  also is random, and all masters are polled if need be
- Custom camera snaps to cycle direction once when activated if the turn speed
  is zero.
- RESERVE_SCREEN_NAME now works regardless of the ALLOW_IMPOSTOR setting.
- USER_LEVEL now escapes the given authenticated name so you don't have to
  guess the escaping rules. Ex: USER_LEVEL "name with spaces@forums" 2
  changes user level for name\_with\_spaces@forums

Changes since 0.2.8.3_rc2:
- Fixed crash with server polling
- ROUND_WINNER and MATCH_WINNER logged to ladderlog
- Camera switches to user preferred camera when you die in incam mode
- Better support for custom language files
- Players can no longer spam chat with /shuffle messages. Added new setting
  SHUFFLE_SPAM_MESSAGES_PER_ROUND, a per round, per player limit on the number
  of shuffle messages displayed.

0 blueprints and 0 bugs targeted

There are no feature specifications or bug tasks targeted to this milestone. The project's maintainer, driver, or bug supervisor can target specifications and bug tasks to this milestone to track the things that are expected to be completed for the release.

This milestone contains Public information
Everyone can see this information.