Skip to content

Releases: klei1984/max

v0.7.0

20 Jul 08:00
Compare
Choose a tag to compare

Release Notes

Read the Installation Guideline on how to use.
Read the Build Instructions on how to build.

  • Fixed defects: 209, 211, 212, 213, 214, 215, 216, 217, 218.

  • Corrected reimplementation issues:

    • Scan and attack range indicators did not render for locked units in various situations.
    • Corrected various problems in remote module (application layer of network play code).
    • Corrected game tick period balancing algorithm (affected low performance computer systems and network play).
    • Corrected unit speed points calculations in corner cases.
    • Consider corner case in production cost calculation algorithm.
    • Various attack types did not wait till a previous attack's hit animation finished.
    • Units that ran out of speed points and their movement tasks were not ready for transport were not eligible for move assistance.
    • Corrected grid position of units in reports menu.
    • Corrected redraw area size for mission description area.
    • The Prev and Next buttons incorrectly evaluated which unit is ready for actions.
    • Path markers were drawn even if they were off screen.
  • Reimplementation changes:

    • Minimum CMake requirement is increased to v2.28+ for fetch content for exclude from all feature.
    • Replaced libiconv with SDL2's own internal implementation and adapted integration as necessary.
    • Replaced SDL2_net with ENet library (MIT license).
    • Added MiniUPnP (BSD-3-Clause license) UPnP client library.
    • Implemented basic network play over reliable UDP/IP including UPnP port management.
    • Removed obsolete IPX session management.
    • Improved mouse handling in windowed mode.
    • Use user specific writable application folder for preferences, logs and saved game files.
    • Configure game data directory via settings.ini.
    • Removed support for selective installation types via command line arguments.
    • Removed CD-ROM support. Removed feature to only render flic animation still frames when reading flic files from CD-ROM.
    • Use basic dialog window to report startup issues to users instead of console output.
    • Removed console output window on Windows.
    • Use SDL_Log to log runtime errors and redirect its output to stdout.txt. Use AiLog and NetLog for debug messages.
    • Prevent unit status announcements on game over screen.
    • Updated NSIS Windows installer:
      • Added interface to configure original M.A.X. game data folder
      • Create user preferences folder in AppData Roaming folder if it does not exist.
      • Support a portable installation mode which does not use the AppData Roaming folder of the given user.
      • Create application start menu and desktop shortcuts.
      • Copy saved game files and backups from original M.A.X. game data folder to user preferences folder.
      • Set default install folder to "M.A.X. Port".
    • Added preliminary UTF-8 aware string manipulation features that will be required later for proper foreign language support.
    • Changed color fading effect to be based on time instead of steps. This should improve slow window transition times on high resolutions.
    • Comply to XDG Base Directory Specification on Linux.
    • Deb packages follow official Debian packaging guidelines as much as possible.
    • Added a shell-script to configure original M.A.X. game data folder, XDG environment variables and XDG folders on Linux before launching the game.
    • Added support for game assets when Linux mounts ISO 9660 CD-ROMs in all lower case mode.
    • Added 64-bit Linux Flatpak package.
    • Added 64-bit Arch Linux pacman package.
    • Added Arch Linux PKGBUILD script configured to download and build master branch from GitHub.
    • Protect log file resource with mutex in multi threaded contexts.
    • Support arbitrary map dimensions.
    • Reimplemented quick build menu debug feature (only in debug builds).
    • Reimplemented save file type modifier debug feature (only in debug builds).
    • Added 64-bit Windows XP builds.
    • Refactored tactical map tile renderer algorithm.
    • Use entire tactical map area instead of multiples of 64 pixels.

Known Issues

See the discord server for an up to date comprehensive list of known issues in the FAQ section.

Release v0.6.1

07 Nov 21:50
Compare
Choose a tag to compare

Release Notes

  • Fixed defects: 88, 154, 207, 208, 209.

  • Corrected reimplementation issues:

    • Prevent music randomizer from freezing the game.
    • Prevent crash after music randomizer finds new track to play (latent).
    • Initialize sound group volume from INI configuration file.
    • Do not apply INI volume control to individual sound samples within sound group.
    • Do not set music group sound level redundantly at mission start.
    • Corrected various network lobby UI control scaling issues.
    • Corrected network lobby scenario mission selection logic.
    • Corrected regression in unit statistics calculations.
    • Prevent occasional crashes due to invalid control flow in TaskCreateBuilding task.
  • Reimplementation changes:

    • Added computer player ability to upgrade defensive structures.
    • Limit frames rendered per second on game over screen.
    • Added a debug feature triggered via ALT+F4 to diagnose end turn lock up situations in debug builds.
    • Enabled assertion tests in release builds.
    • Updated SDL2 to v2.28.5
    • Added ENET library to dependencies.
    • Added new AI task log messages.
    • Refactored various interfaces.

Known Issues

See the discord server for an up to date comprehensive list of known issues in the FAQ section.

Release v0.6.0

20 Oct 11:10
Compare
Choose a tag to compare

Release Notes

  • Corrected reimplementation issues:

    • Corrected three sound manager resource handling issues.
    • Do not skip logo screen if MVE intro video is cancelled.
  • Reimplementation changes:

    • Restored MVE video player.
    • Added sound playback to MVE video player.
    • Rescale MVE videos to game window resolution.
    • Removed self modifying code from MVE video player.

Known Issues

See the discord server for an up to date comprehensive list of known issues in the FAQ section.

Release v0.5.0

07 Oct 18:54
Compare
Choose a tag to compare

Release Notes

  • Fixed defects: 25, 92, 169, 194, 195, 196, 197, 199, 200, 201, 204, 205.

  • Corrected reimplementation issues:

    • Players were unable to power on buildings if only turning on a new power station and shutting down one or possibly more power generators would have solved the excess power demand situation.
    • Buildings were able to leave big rubble behind if the top left grid cell was land even if all the rest were water or coastal grid cells. This could lead to path finding dead lock situations for sea units.
    • Gain experience message shown incorrect unit type.
    • Voice effects did not play for failed stealth actions.
    • It was possible to corrupt a SmartList with another SmartList's Iterator. In corner cases it was possible to destroy the list itself resulting in potential code runaways.
    • Transporter units refused to do their work in various scenarios especially after loading a previously saved game.
    • Computer players used corrupted threat maps that confused their senses.
    • Transporter units were afraid to thread where their clients would be unable to move.
    • Flic animation did not update experience row in portray.
    • Unit storage was incorrectly handled as an unsigned value which caused various anomalies.
  • Reimplementation changes:

    • Updated the build system to build dependencies from source code.
    • Added support for 64 bit builds on select platforms.
    • Added support for Debug, Release, RelWithDebInfo and MinSizeRel build configurations.
    • Added limited support for Windows XP.
    • Added unit test framework to build system.
    • Reworked smart container classes and added unit tests.
    • Removed unused GNW modules.
    • Reworked the color management module.
    • Added new AI task log messages.
    • Refactored various interfaces.
  • Notes:

    • Added saved game sanitizer to correct ordered lists. Disabled by default as very slow on huge saved game files. Incorrect order in ordered SmartLists could cause graphics glitches. Some of the original missions have ordering issues.

Known Issues

See the discord server for an up to date comprehensive list of known issues in the FAQ section.

Release v0.4.2

04 Jun 13:55
Compare
Choose a tag to compare

Release Notes

  • Behavior changes:

    • Show tactical map coordinates for mini map. M.A.X. allows to issue movement orders for selected units on the mini map using right mouse click events. The new feature complements the other.
    • Added a backup to the auto save slot. The backup save file is called SAVE10.BAK. The backup is common for all game modes and is usable for data corruption recoveries. If the auto save is corrupted, e.g. SAVE10.HOT or SAVE10.DTA, replace it with SAVE10.BAK.
    • Allow computer players to have more than one repair shop per type (Hangar, Depot, Dock, Barracks). Rational: The buildings manager plans narrow corridors within bases that tend to congest. The more units a team has, the more repair shops they should be allowed to build. Typically new buildings are built along outlying areas of bases which should effectively prevent congestions deep within huge bases.
    • To fix defect 187 the connection manager now lays out connectors using a different algorithm. In saved games that used the original algorithm computer players may add redundant connections. End users should keep this in mind when saved game files are transferred between MS-DOS M.A.X. v1.04 and M.A.X. Port.
  • Fixed defects: 11, 108, 180, 184, 186, 187, 188, 189, 190, 191, 192, 193.

    • Found root cause for defect 11.
    • Reworked defect 108. The printed manual is wrong.
    • Found second call site for defect 180.
  • Corrected reimplementation issues:

    • In corner cases mobile builder units hallucinated themselves to be factories.
    • Computer units spent all their speed points to move between two close by grid cells.
    • Units waiting for transport or bridges spent all their speed points moving between two close grid cells.
    • Activation of transported units was not always possible to perfectly valid locations.
  • Reimplementation changes:

    • Replaced default SDL assertion popup message with custom game specific alternative. In case of multiplayer games all assertions are ignored automatically.
    • Added saved game corruption detection and recovery methods. It is potentially possible to recover defect 11, 151 and 183 in existing saved games. Warning: If corruption is detected at run-time instead of game loading time before an auto save would be created, the auto save and a backup file are NOT created. This behavior is introduced to be able to reload the previous turn in attempt to be able to inspect potential game events that may lead to the recurrence of the corruption (that prevented the last auto save).
    • Limit size of ai_log.txt. If the limit is reached the file is automatically deleted and reopened.
    • Reimplemented the debug mode Preferences Window menu extensions. Warning: changing team type on the fly could crash the game.
    • Added a lot of new AI task log messages.
    • Refactored various interfaces.

Known Issues

See the discord server for an up to date comprehensive list of known issues in the FAQ section.

Release v0.4.1

13 May 13:29
Compare
Choose a tag to compare

Release Notes

  • Behavior changes:

    • Configured scroll speed is integrated over time based on nominal screen refresh rate. Slower updates than nominal screen refresh rate is allowed to be compensated for up to a maximum of 50%.
    • The minefield map only contributes danger zones to threat maps.
    • Computer players update their threat maps immediately when they spot new enemy units.
  • Fixed defects: 11, 13, 36, 39, 50, 74, 179, 180, 181 and 182.

    • The root cause of defect 11 is not confirmed yet. Additional assertion tests are added to catch the offending call sites.
  • Corrected reimplementation issues:

    • Large rubble was not removable by bulldozer.
    • Some translated strings were incorrect.
    • Unit counters could have overflown to negative values.
    • The localization module skipped leading spaces that led to text rendering issues in a few strings.
    • Air path indicators were not drawn correctly.
    • If an air unit ran out of speed points the unit forgot the actual destination.
    • The dock did not render empty unit slot visuals correctly.
    • Military unit statistics were rendered into the wrong display rows in corner cases.
    • An assertion test triggered for false positive cases.
    • Initial clan upgrades related to construction time (turns attribute) were wrong. In corner cases certain units were impossible to build.
    • Spawning new units started their idle sound effect even if they were not the selected units.
    • Computer players added enemy air units to their own tracking lists.
    • The TaskMove task requested threat map for the minimum caution level of CAUTION_LEVEL_NONE which is wrong.
    • Some variables had wrong signedness which could have led to incorrect unit behaviors.
    • In corner cases certain units were not considered as threats by computer players.
    • In corner cases the task debugger was able to unexpectedly trigger which led to immediate game exits without debugger attached.
  • Reimplementation changes:

    • Removed legacy text mode support from the SmartFile classes.
    • Added a lot of new AI task log messages.
    • Improved GDB python scripts.
    • Refactored various interfaces.

Known Issues

See the discord server for an up to date comprehensive list of known issues in the FAQ section.

Release v0.4.0

23 Apr 13:20
Compare
Choose a tag to compare

Release Notes

  • Changed file names to prevent collisions with MS-DOS M.A.X. versions. Now both M.A.X. and M.A.X. Port can be installed in the same directory. The new configuration file is called settings.ini.
  • Added English, French, German, Italian and Spanish translations. The language can be changed in settings.ini with a text editor. E.g. to change from English to Spanish language=english > language=spanish.
  • Fixed defect 171, 172, 173, 174, 175, 176 and 177.
  • Added internationalization teams to credits.
  • Corrected windowed mode operation.
  • Corrected title on unit stats menus for ammunition.

Known Issues

See the discord server for an up to date comprehensive list of known issues.

Release v0.3.0

31 Mar 16:41
Compare
Choose a tag to compare

Release Notes

The release baseline is provided so that end users without GitHub.com accounts can try out M.A.X. Port. The application is somewhat stable, it is possible to complete the entire single player campaign with minor issues.

Known Issues

  1. All original MS-DOS M.A.X. v1.04 defects that are not yet fixed: https://klei1984.github.io/max/defects/
  2. Network based multiplayer does not work.
  3. MVE videos do not play.
  4. Certain sound effects play unit startup and shutoff sounds when they should not.
  5. At high screen resolutions there are some screens that transition very slow. Work around: do not play at higher than Full HD resolutions.
  6. In corner cases certain tasks misbehave that prevents the game manager to progress to the next turn. Work around: reload the game.
  7. Computer player engineers or constructors could leave their building site in corner cases that may lead to unrecoverable errors.
  8. Computer player units spend all their speed points to move between two adjacent grid cells within a turn unnecessarily.
  9. The game crashes from time to time.