Forums
August 15, 2020, 04:05 PM

Author Topic: Worms Armageddon v3.8 Released  (Read 23381 times)

0 Members and 1 Guest are viewing this topic.

Offline Deadcode

Worms Armageddon v3.8 Released
« on: July 16, 2020, 07:44 PM »
Seven years in the making, the long-awaited 3.8 update is finally here!

Highlights of v3.8

CD-ROM Edition: Download Here
Steam Edition: Update automatically through Steam.
GOG Edition: Please read this to avoid losing your team data.

SHA-256 sum:
c93765fe0fd6ab6a106cb124a9aba3ba3c134f8de365313a8c70d4a48aae1089 *WA_update-3.8_[CD]_Installer.exe

v3.8 Update (built 2020-06-21, released 2020-07-16)

Fixes
  • [DC] Bug introduced in v3.7.2.1: Opening a team for editing, in which an animated gravestone (numbered 1-6) was selected, and then clicking OK to save the team (even if nothing was changed), would reset the grave to Gravestone 1.
  • [DC] Bug introduced in v3.6.28.0: When the Map Editor was in Preview mode for a .BIT or .LEV type map, and preview was updated while the water level was set high enough to force there to be fewer than 18 Placement Holes, right-clicking the Placement Holes button caused the displayed number to be updated to a value lower than 18, even though there was (and still is) no support for changing the number of placement holes in a .BIT or .LEV map. Subsequently lowering the water level would result in the displayed preview disagreeing from what would be seen in-game (because there were now too few placement holes in the preview). Note, this bug became easier to reproduce by accident in v3.7.2.1, due to the fix that forced the preview to update when the water level was changed.
  • [DC] Bug in a feature introduced in v3.6.28.0: In the Map Editor, the water level was previewed as if the map were of standard height, and could be shown incorrectly if the map was of custom height.
  • [DC] In v3.6.26.4, a feature was added to the Map Editor in which Ctrl-clicking the Terrain Texture button toggles v3.0 terrain emulation (mainly in the application of grass).
    • [DC] When loading a .BIT or .LEV map with a date stamp earlier than 2002.08.08 (the approximate release date of 3.5 Beta 1), the file was supposed to be treated by default as if it had been designed for W:A v3.0. However, this feature was non-operational.
    • [DC] There was no indication of whether this mode was in effect, other than the effect seen on the map when in Preview mode. Now, a "3.0" indicator will be displayed on top of the Terrain Texture button when this mode is enabled.
  • [DC] Bug in a feature introduced in v3.6.24.1: When "Playback at...", or restarting from a marked location, was used to skip to a point in a replay in which a looped sound effect (such as the Super Sheep flying sound, or the Dynamite fuse) should have been playing, the sound would not be heard.
  • [DC] Bug in a feature introduced in v3.6.26.4: When "Playback at...", or restarting from a marked location, was used on a replay extracted from a network log, it did not begin fast-forwarding until the loading stage had finished (i.e., until the first frame of game time had passed, it played back network time at normal speed).
  • The French, Spanish, and Russian translations have been updated by LTK, OutofOrder, and StepS, respectively, encompassing all new strings added since v3.7.2.1 and some corrections and improvements to existing strings. Some corrections have also been made to existing English strings.
  • The Portuguese translation has been updated and improved by Kaleu. All strings added/changed in the updates are now translated.
  • The German translation has been updated and improved by schaf. All strings added/changed in the updates are now translated.
  • The Swedish translation has been updated and improved by Olle Settergren. All strings added/changed in the updates are now translated.
  • [DC] The Dutch, German, Portuguese, Spanish, and Swedish translations had a complete absence of paragraph breaks in the descriptions of some missions (MISSION_DETAIL_*). These descriptions have now been given paragraph breaks directly corresponding to their English versions.
  • [DC] Bug in a feature introduced in v3.6.26.4: The translated language name of Portuguese (displayed in the language drop-down of the Options menu) has been fixed.
  • [DC] The spelling has been corrected in some string names. To make a user-made language file which was written for an earlier version of W:A compatible with the latest version, please see the list of "rename" entries in the DATA\User\Languages\localisation.log file. Make sure to put user-made language files in the appropriate subdirectory of User\Languages, not DATA\User\Languages.
  • [DC] Cheat Options dialog box, as accessed by a client who joined an online game
    • [DC] Bug introduced in v3.6.30.0: The buttons in this dialog box (corresponding to options enabled by the host) appeared to be changed by being clicked, even though a client who joins a game cannot change its scheme options. (The changes were not in fact saved, however; this was a cosmetic bug only.)
    • [DC] Even before v3.6.30.0, there was a minor bug in this dialog box; clicking the buttons gave a sound effect implying a successful click, when it should have given the "can't click here" sound effect.
  • [DC] Bug in a feature introduced in v3.6.30.0: When Home Lock was in effect (activated by pressing Ctrl+Home), this mode should have been temporarily overridden while aiming a cursor or controlling a Super/Aqua Sheep, but was not. Also, Home lost its old function, which has now been restored, of snapping the cursor to the current worm.
  • [CS] In certain circumstances, W:A would crash when it attempted to play a music track, and the respective file was missing.
  • [DC] In the team statistics viewer, "Overall Team Rank" was incorrectly calculated, and had a maximum of 85% instead of 100%.
  • [CS,DC] Bug introduced in v3.7.0.0: At in-game resolutions with a width not evenly divisible by 64 pixels, when playing on maps that force a custom gradient to be dithered, the background gradient would not be drawn all the way to the bottom of the screen, causing a strip at the bottom of the screen (with a height of ScreenHeight*(ScreenWidth%64)/ScreenWidth) to have artefacts due to being drawn but never erased.
  • [CS] A logic condition was improved when using a DirectDraw graphics API. The condition was used to determine when it is safe to resume the game after it was minimised and restored. The fix was required for hardware rendering, but may improve compatibility in certain hypothetical circumstances.
  • [DC] Flaw introduced in v3.6.31.0: The message "<team> (<player>) forced out by possible message injection" was almost always a false positive, and furthermore the message itself was too easily misinterpreted. This message has been replaced with "<team> (<player>) forced out by an unknown cause", using the new string NET_UNKNOWN_CAUSE.
  • [DC] Bug introduced in v3.7.0.0: If the camera tried to centre on an object that reached the top of the coordinate system, the game would crash. This could happen, for example, when flying a Super Sheep as high as it would go, or selecting a cursor-aimed weapon while flying at maximum height with the Jet Pack.
  • [DC] Bug in a feature introduced in v3.7.2.1: When hosting a LAN game, the 5 minute notification would be shown (inappropriately), and attempting the /open command would cause a crash.
  • [DC] Bug introduced in v3.6.30.0: If a client was editing a team or viewing the current scheme's Options or Weapons, and during this was kicked by the host or disconnected, then upon exiting back to the Join screen there would be no sign of having been kicked, and the game would behave as if it were still connected to the host (although it would not be).
  • [DC] Bug introduced in v3.6.29.0: When a new localised string, NET_LOC_HOSTER, was added to distinguish between the verb "to host" and the noun "person who is hosting", it was accidentally left as "Hoster" in English, even though both strings should be "Host".
  • [DC] Bugs in the interaction between the map thumbnail and intrinsic maps
    • [DC] Bugs introduced in v3.6.30.0 and v3.7.0.0: When an intrinsic map was the current map upon entering a screen that displayed the map thumbnail, it was (incorrectly) possible to right-click the map thumbnail to enter the Map Editor, which would then generate a random map; upon exiting the editor the name of the intrinsic map was not cleared.
      • Starting in v3.6.30.0, this bug was introduced to the online hosting screens, and could be triggered by starting a New Match or entering the Next Round stage.
      • Starting in v3.7.0.0, this bug was introduced to the offline multiplayer screens, and could be triggered by starting a new game from the Main Menu, starting a New Match, or entering the Next Round stage.
    • [DC] Bug introduced in v3.7.0.0: In the offline multiplayer Next Round screen, clicking the map thumbnail (to generate a new random map) when the current map was intrinsic did not clear the name of the intrinsic map.
  • [DC] Bug in a feature introduced in v3.6.31.0: When W:A forced the current map to be randomly generated, it would ignore the setting of the map complexity slider. The circumstances under which this could happen include:
    • Hosting an online game when the current map is a .BIT or .PNG.
    • Hosting a game on a third-party WormNET server in a channel that enables ranking.
    • Starting an online or offline game when the "current.thm" file is corrupt or nonexistent.
  • [DC] It was impossible to successfully join a password-protected game having a 16 character password (except by using a URL to join), because a user-entered 16 character password was truncated to 15 characters.
  • [DC] Bug introduced in v3.6.30.0: When someone with a 16 character player name hosted a game, their player name was truncated to 15 characters in an inconsistent way. This resulted in the following bugs:
    • In the host's front end chat history, the 16 character version of the host's name would appear, but in all other places on the host's end, the 15 character version would appear.
    • For all clients, only the 15 character version of the host's name would be seen.
    • When clients tried to send a private message to the host in the front end, the host would not see the message, regardless of whether the 15 character or 16 character version of the host's nickname was used.
  • [DC] Some potential security vulnerabilities have been fixed.
  • [DC] In the Network screen, the TCP/IP - IPX/SPX toggle button would initially only allow an installed protocol to be selected (i.e., in most cases, only TCP/IP), but after entering and leaving either the LAN screen, WormNET, or Direct TCP/IP, both TCP/IP and IPX/SPX would be selectable, even if one of these was not installed.
  • [DC] Bug introduced in v3.6.20.1: IPX/SPX support was almost completely broken. The player list was empty, and whereas hosted games could be seen under certain conditions, they could not be joined.
  • [DC] Bug introduced in v3.6.30.0: In the LAN lobby, lines of chat could be received but not sent.
  • [DC] The registry tweaks TimerWorkaround_*.reg (introduced in v3.6.20.1) and RegisterAssociations_*.reg (introduced in v3.6.30.0) were in Unicode format, making them incompatible with Windows 98.
  • [DC] Bug in features introduced in v3.6.29.0 and v3.6.30.0: Export Log did not count the self-kill and self-damage of a Kamikaze upon the worm that used it.
  • [DC] Bug in a feature introduced in v3.6.28.0: The M key, which creates a "bookmark" if pressed during playback, functions both during replay file playback and during instant replays. Previously, when pressed during an instant replay, the mark created could not be removed or used, and would be displayed uselessly for the entire remainder of the game. Now, the mark disappears at the end of the instant replay.
  • [DC] Bug in a feature introduced in v3.6.23.0: Once an end-game fadeout began during playback of a replay file, it was too late to press R to restart the replay. Pressing it would restart playback, but the fadeout would continue, finish, and close the playback session.
  • [DC] The instant replay countdown timer was displayed in the format 00:00:00, with the last two digits indicating hundredths of a second, making the second colon misleading. The second colon has been replaced with a decimal point, yielding the format 00:00.00.
  • [DC] If, within the same WA.exe instance, a WormNET game was hosted with an N digit Game ID, and later was hosted with a Game ID having N-2 digits or fewer (without a game being hosted in-between with N-1 digits), anybody attempting to join the later game would fail, seeing the error "Incorrect Game ID.". This could happen either by disconnecting from one WormNET server and connecting to another one that uses smaller Game IDs, or if within the same WA.exe instance a single WormNET server reset its Game ID counter.
  • [DC] Bug in a feature introduced in v3.6.23.0: Restarting playback with the R key did not respect camera lock (enabled by turning on Scroll Lock or holding down the left mouse button).
  • [DC] Some in-game "Morse code" messages in languages other than English were too long to be fully displayed at 640×480. They are now wrapped to two lines. Note, user translations that are too long to fit in 1280 pixels of total width or too long to fit in two lines will still not be fully displayed.
  • [DC] Since v3.5 Beta 1, W:A correctly recognized and hid IRC operator status (instead of incorrectly interpreting the nickname as beginning with the "@" character), but did not do so for other IRC user modes (voice, half-op, admin, and owner). This was not a problem on the official WormNET server, but could have been on third-party servers.
  • [DC] Once the IRC error "Nickname is already in use" popped up once, it was ignored subsequent times within the same instance of W:A.
  • [DC] Bug introduced in v3.6.26.4: When connected to a host who was using a version earlier than v3.5 Beta 3pre4, the game start command was ignored (when the remote host clicked Start, nothing happened locally).
  • [DC] Bug in a feature introduced in v3.6.19.7: When a player in an online game, who has at least one team that has not surrendered, disconnects after the last turn has finished, but before the "game over" sequence has finished, then the message GAME_NET_FAIL ("<team> - forced out due to network failure!") was displayed during the live game, but not during playback of the replay file. It is now shown in both circumstances.
  • [DC] When a team name or worm name began with the "!" character, game comments (such as those shown when a worm drowns – GAME_WATER_DEATH_COMMENTS, or when a team receives reinforcements when a weapon's delay expires – GAME_REINFORCEMENTS_COMMENTS) could potentially begin with "!", and that would be interpreted by the game as a command to show the comment immediately instead of queuing it (also resulting in the "!" prefix being trimmed away). This bug was fixed in v3.7.0.0, but the fix was done without realising that the bug had existed, and as a result emulation of the bug was not implemented. So, when an older version was emulated, if the bug occurred it could potentially result in desynchronisation. The bug is now fully emulated (except for the trimming of the "!" prefix).
  • [DC] W:A would crash if an in-game ambient music track failed to play.
  • [DC] The v3.7.2.1 fix, "The game would crash if a CPU Worm, while enumerating possible places to which to walk, reached its maximum search depth at a point in its path where it would fall and retain control. (See Footnote 2.)", treated some situations as a crash that would not have crashed. The game is now allowed to continue in most of those situations. It still errs on the side of caution, but less so than with the initial fix.
  • [DC] Bug in fixes introduced in v3.6.21.1, v3.6.24.1, and v3.6.30.0: When doing Export Log on a Mission replay with WinningCondition=2 (Survive), the mission would falsely be logged as "Mission Successful" if the replay file was truncated, had invalid data, or had one of the types of crashes or endless loops that are emulated by halting playback.
  • [DC] Bug introduced in v3.6.30.0: When doing playback or Export Log on a replay of an online game created by v3.6.19.15-v3.6.29.24 (i.e., a version that did not record the time between turns) a trio of errors was incorrectly printed following certain types of player disconnections.
  • [DC] When doing playback / Export Log of an online game replay file created by versions earlier than v3.6.29.24, disconnection of players/teams was in some cases not correctly interpreted. Most notably, in a game with at least three players, the automatic disconnection of other clients caused by the disconnection of the host, as seen by a client, was incorrectly interpreted.
  • [DC] When doing playback / Export Log of an online game replay file created by v3.6.19.4-13, disconnection messages were completely ignored, instead of printing "unknown user is quitting" as was supposed to happen.
  • [DC] When doing playback / Export Log of an online game replay file created by v3.6.29.24 or later, in which game logic <v3.6.19 was emulated, playback would cut off right after any player quit, with the message "Invalid file data".
  • [DC] In the Team Editor, pressing Delete while editing a team or worm name that had spaces in front of it would delete the spaces and move the cursor to match its previous spatial position. Pressing Delete while editing a team or worm name that started with the "[" character would cause the entire name to be erased.
« Last Edit: August 07, 2020, 01:09 AM by Deadcode »

Offline Deadcode

Re: Worms Armageddon v3.8 Released
« Reply #1 on: July 16, 2020, 07:45 PM »
  • [DC] Under certain conditions, the bug fixed in v3.6.24.1, "A replay file which ended abruptly (due to a crash or Alt+F4 during recording, or a recording still being made), when played back, would continue indefinitely after the point at which the file ended, with the human-controlled worms doing nothing and CPU worms (if any) moving like normal" would still occur. This was quite rare, but completely deterministic; if it happened when playing back a particular replay file, it would always happen with that file.
  • [DC] The background debris in the front end had a 80 pixel empty area on the bottom upon being initialised. This was a very minor flaw; the gap would quickly be filled as the debris moved from its initial position.
  • [DC] Bug in a feature introduced in v3.6.30.0: When doing playback or Export Log on a replay of an online game created by a version that recorded the time between turns, events following Round Finish (such as player chat, and auto-acknowledgement of round finish) all were shown with the same timestamp, even though the replay had enough information to show the actual timestamps at which the events happened. (Essentially, during Export Log, the game timer stood still following Round Finish.)
  • [DC] Bug in a feature introduced in v3.6.28.0: When attempting to load a land*.dat file in the Map Editor that had an incorrect file format, the file would fail to load (correctly) but some memory would be leaked, corresponding directly to the size of the land*.dat file.
  • [DC] Bug in a feature introduced in v3.7.0.0: Every time a game round was ended (including live games, playback, and Export Log), W:A leaked approximately 15 KB of memory (to be precise, 2 bytes of memory for every string in the language file being used).
  • [DC] If a player in an online game pressed Delete to change the Info level while the player with the current turn was idle (i.e., not moving in any way except using the mouse to aim a weapon) for 10 seconds, causing Hello.wav or ComeOnThen.wav to be played, and then that current player did not move (except for moving the mouse) for the rest of their turn, it would cause a desynchronisation the next time a weapon was used (or any other checksum-triggering event occurred). This was due to the cycling of the Info level cancelling Hello/ComeOnThen from being played only for the person who pressed Delete, and not for other players. If all players happened to have changed their Info level during the same period, it would not result in a desynchronisation, but would still result in checksum errors upon playback of the replay (unless the user pressed Delete during the same time period in playback) and upon Export Log.
  • [DC] Bug introduced in v3.6.30.0 and v3.6.31.0: In playback / Export Log, it was possible in certain circumstances for "Checksum Missing in Frame 0" to be shown followed by "Checksum Spurious in Frame 0 / 0". This would happen on an offline replay in which PageDown was held while the game started in order to "chat" (enter a replay annotation) at the very beginning, and would also happen under certain circumstances if a remote player disconnected while the local player's game was still loading.
  • [DC] Bug introduced in v3.7.0.0: When using a BattyRope (not TestStuff) logic version in the range BattyRope5-9, the BattyRope version was decremented, resulting in BattyRope4-8. This could result in a desynchronisation in any online game with a mixture of players having <v3.7.0.0 and >=v3.7.0.0, or when doing playback / Export Log on a replay file created by a version earlier than v3.7.0.0. It also resulted in the latest BattyRope fix, "With BattyRope enabled, if a worm was still on the Bungee upon winning the game, its bungee would be detached (to do the victory dance); as a result it would fall down and possibly lose the game instead of winning" only being enabled in TestStuff9, not in BattyRope9.
  • [DC] Bug in a feature introduced in v3.6.19.7: It was possible for a custom .WAM file (mission/training script) to contain out-of-range integer values for boolean settings (such as PlaceWeapon_OnGround) that would result in desynchronisation when playing back a replay file recorded when playing the corresponding mission/training level.
  • [DC] It was possible, though quite rare, for uninitialised memory to result in setting a Target in a Training level as "Vital", with a flashing red element distinguishing it as thus. With the introduction of replay file recording in v3.6.19.7, an additional bug resulted in a replay file being created in this situation that would have checksum mismatches when played back later.
  • [DC] Latent bug in a feature introduced in v3.6.19.7: When playing back a replay file, any situation in which a checksum was generated while a parachuting crate was falling would result in a Checksum Mismatch. Normally this could never happen, due to the v3.5 Beta 1 change that automatically made crates fall fast, but with RubberWorm's crateshower option enabled, it always happened.
  • [DC] Bug in a feature introduced in v3.6.29.0: When Export Log encountered a fatal error attempting to parse a replay file, the error message written into the .log file had an incorrect character encoding.
  • [DC] Bug in a feature introduced in v3.6.22.0: If Gfx0.dir or Gfx1.dir was used (which always happens unless they are both deleted), and <v3.6.22.0 was emulated, and a map with >96 non-black colours was played on, then checksums would be incorrectly calculated, in a way incompatible with <v3.6.22.0. An Export Log on the replay would show checksum mismatches, but playback would not. (Note that normally, a >96 colour map could never be played on simultaneously with <v3.6.22.0 emulation, but a third-party mod such as RubberWorm, which has an option to change the logic version, could actually allow this to occur. Otherwise, this would have been a purely latent bug.)
  • [DC] Bug in a feature introduced in v3.6.30.0: The feature "Export Log will no longer fall into an endless loop when emulating the BattyRope Jet Pack bug." was implemented too aggressively. It would halt the Export Log operation even in situations where an endless loop did not actually occur, due to an explosion hitting the worm on the Jet Pack after it had gone into what would have otherwise been an endless loop.
  • [DC] Latent bug in a feature introduced in v3.6.23.0: If R was pressed to restart playback at a time which, during live play (as if the game had been played offline), would have been part of a potential instant replay, and a Mine was triggered before the first turn started, a "Checksum Spurious" error would incorrectly be detected. This was a latent bug because normally, it is impossible for a mine to be triggered before the first turn. However, third-party modules such as RubberWorm, which has an option for "black hole" style gravity, could set up a situation in which a mine would fall towards a worm before the first turn started, causing this bug to manifest.
  • [CS] Bug introduced in v3.7.0.0: Error messages, and possibly other computed strings, were sometimes calculated incorrectly. This bug caused some error messages, e.g. "Graphics initialisation error", to repeat their title in the message box text, instead of providing details about the encountered error.
  • [CS] Bug in an improvement introduced in v3.7.0.0: Graphics API initialisation error messages simply contained the GRAPHICS_INIT_FAILURE string ("Couldn't initialise graphics") instead of providing more detail as they were supposed to.
  • [CS] Handling of lost devices in Direct3D 9 has been overhauled. W:A should no longer crash or get stuck on a black screen when devices are lost other than due to minimisation (e.g. switching the Windows desktop/session by pressing Ctrl+Alt+Del or Win+L), or get stuck in a flickering loop on multi-monitor Windows 7 systems.
    • Thus, W:A will no longer warn Windows 7 users with multiple monitors when attempting to select a Direct3D 9 renderer.
  • [DC] If a Worm currently overlapping with terrain used Teleport (to a location not completely obstructed by terrain or other objects, i.e. a location that could be teleported to normally), then a desynchronisation would result. Locally, the worm would be moved to the target one frame earlier than it should be, resulting in a desynchronisation from remote players in an online game, or upon playback / Export Log of the replay file later. In practice, such a situation could only occur in relatively obscure situations. The known ones are:
    • In "Weapon use doesn't end turn" mode (see Footnote 7), the worm placed a Girder overlapping with itself (which can only happen when emulating older versions), causing it to fall into the terrain, and then triggered Teleport while inside the terrain.
    • In RubberWorm's "black hole" mode, the worm fell into the black hole, making it fall at high speed towards the ocean — straight through all kinds of obstacles including terrain. While inside the terrain, it then triggered Teleport.
  • [DC] Loading a .LEV or .BIT map into the Map Editor that had been hex-edited to have a Bridges or Objects percentage higher than 100% would crash W:A.
  • [DC] Bug in a feature introduced in v3.7.0.0: In Export Log, the team colour words in the list of teams at the beginning of the log had their first letter capitalized in such a way that garbled any non-alphabetical characters or characters not in the Windows-1252 character set.
  • [DC] Bug in a feature introduced in v3.7.0.0: In Export Log, the list of teams aligned spectators improperly when localised to a language other than English, due to using a hard-coded length for the string "Spectator" instead of measuring the length of the LOG_SPECTATOR string.
  • [DC] In the WormNET screens, the strings NET_GAMENAME, NET_PLAYERNAME, and NET_NEW_CHANNEL, and the name of the current channel, were displayed with the bottom one or two pixels missing (affecting letters like "g" and "y").
  • [DC] Bug in a feature introduced in v3.6.19.7: The .IMG file support in the Map Editor was hard-coded to assume the images were of the standard size (1920×696). If the total size in pixels was larger than 1336320 (1920×696), it would crash; otherwise it would load the data as if it were 1920×696, which in most cases would garble the map.
  • [DC] Bug in a feature introduced in v3.6.28.0: It was possible for the targeted weapon mouse cursor to wrap from the right edge to the left edge in super-wide maps.
  • [CS] Upon returning from the Team Editor to the Options screen after editing a team, the selection in the team list box was reset to the first team, instead of remembering the current team selected.
  • [DC] Sea bubbles made by sinking objects are randomly created with a size in the range 1-3 or 1-4, depending on the type of object (which has not been changed). However, ambient sea bubbles (created constantly at all times, rising from below the ocean bottom), due to a bug, were only created with a size of 1 or 3, and never 2. Due to the potential distraction of having size 4 sea bubbles appear when they never did before (and also justifiable in that a near-surface disturbance like a sinking object would be more likely to have its large bubbles reach the surface, whereas large bubbles created deep in the sea would likely break up before reaching the surface), this has been fixed by allowing ambient sea bubbles to be created in the size range of 1-3.
  • [DC] Bug in a feature introduced in v3.7.0.0: W:A would always save its install path into the registry automatically upon being launched, even if "Auto-register associations" was disabled. Now it only does so when either registering associations, or if the path value doesn't exist and needs to be created.
  • [DC] The Spanish and French translations of the names of some CPU teams and worms in mission campaigns were longer than 16 characters, and were being truncated. These names have been replaced with ones that fit in the allotted space.
  • [DC] Bug in a feature introduced in v3.6.24.1: When using the Export Video feature, the start time (if set to anything nonzero) would be shown in red above the game time indicator, as if it were a bookmark created by pressing the M key or using the "Playback at..." feature.
  • [DC] The in-game background debris had a parallax and z-order which disagreed. In z-order it was behind the background layer, but in parallax it was at the same depth as the map. This has been fixed by giving the background debris a parallax that places it farther away than the background layer.
  • [DC] Under Wine, pressing A in the Main Menu would make the W:A window go black and silence sound. W:A would then have to be closed (e.g. with Alt+F4), as nothing would restore it at that point. The handling of this key has now been removed. (Note, it was meant to be a minimise hotkey, but it never actually worked due to not receiving keyboard focus in anything other than Wine.)
  • [DC] Bug in features introduced starting at v3.6.19.7: When W:A was launched with command-line parameters from a current working directory other than the main W:A directory, using any non-absolute path in a filename parameter would result in W:A failing to open the correct file, because it would try to access that relative path from the main W:A directory.
  • [DC] Bug in features introduced in v3.6.26.5 and v3.6.30.0: The Sanitize and Repair context-menu operations (/sanitize and /repair on the command line) crashed when failing to open or create the file, instead of showing an error message.
  • [DC] Bug in a feature introduced in v3.6.30.0: The pinned chat panel is intended never to be larger than the unpinned chat panel, but it was possible for this to break down. If such a condition arose, with the pinned chat panel larger than the unpinned one, then enlarging the unpinned chat using a single press of Ctrl+Down would cause it to jump in size to be as big as the pinned chat panel. This condition could arise if the unpinned chat panel was decreased to minimum size, and then the game was exited (causing the size of the chat panels to be saved into the registry); then the next time a game session was started, the pinned chat panel would be reset to its default size (or larger), resulting in a pinned chat panel larger than the unpinned one.
  • [DC] Bug in a feature introduced in v3.6.26.4: The feature introduced in v3.6.19.7, where holding Shift while clicking or right-clicking the terrain texture button in the Map Editor would cycle only between textures that minimally "eat into" the terrain (thus being suitable to BattleRace-type .BIT maps), was not adapted to the new feature where holding Ctrl while clicking the same button would toggle v3.0 style terrain texture thinning. In the v3.0 texture thinning mode, it should have cycled only between Hospital and Manhattan, but cycled between -Beach, Cheese, Hospital, Manhattan, and Pirate, three of which eat into the texture in v3.0 style terrain texture thinning mode.
  • [DC] During automatic camera motion, the mouse had to be moved at least 16 pixels within a single frame (1/50 second time interval) in order to temporarily unlock the camera (yielding manual camera control via the mouse). However, the formula used for this added the absolute value of the x and y deltas, meaning 45 degree diagonal motion only had to be faster than 11.3 pixels per frame instead of 16. The formula used is now the Pythagorean theorem, meaning the speed threshold is now applied equally in all directions. See also Features (the speed threshold is now a configurable option).
  • [DC] If two or more players tried to team in with the same team name at the same time, only one would be successfully teamed in, and the other would remain in a "team pending" state, unable to either cancel the team-in or team in with a different name (without first exiting and rejoining).
  • [DC] In the WormNET channel list screen, double-clicking the empty space or border of the channel list would join the currently highlighted channel.
  • [DC] Bug introduced in v3.6.23.0: W:A did not work properly with WormNET servers set up to use a custom HTTP port (i.e. one other than port 80). The initial connection to the server would work, but then W:A would send subsequent requests to port 80 instead of the custom port, making it impossible even to join a channel.
  • [DC] Bug in a feature introduced in v3.6.30.0: If the /afk or /away command was used in-game, and wasn't previously active in the front end, and the user was still Away upon the return to the front end, then the Away state would not be visually indicated in the front end; it would still be in effect, however, and could not be cancelled in the normal way — the only way to cancel it was to either enter the command again and then cancel it, or wait until a new game round was started and cancel it in-game.
  • [DC] The v3.6.20.1 fix, "It is no longer possible for a host to start the game on your end if you have not lit up on your end to signal readiness. If the host attempts this, your Ready light bulb will flash; click it to go ahead and start." was improperly implemented.
    • [DC] It was possible for the game to accidentally start unattended while the light bulb was flashing.
    • [DC] If the second round was started with this flashing light bulb behaviour in effect, then a desynchronisation would happen in the third round, in which the client to which the bug happened would locally start the game immediately when the light bulb was clicked, but the host would continue to wait for that client to be ready to start.

Offline Deadcode

Re: Worms Armageddon v3.8 Released
« Reply #2 on: July 16, 2020, 07:45 PM »
  • [DC] The maximum host address length of a hosted game that W:A is able to connect to has been changed in the past, but longer lengths were never properly handled. In early versions, a length that was too long would cause a crash, or would result in garbage characters being printed. In later versions, hosted games with host addresses too long would simply not be shown in the list. Now, these games are shown in the list, but an attempt to join them will show the message "Can't connect. Host Address too long." Also, the maximum host address length of a hosted game that W:A is able to connect to has been changed from 39 to 49 characters.
  • [DC] Bugs introduced in v3.6.19.7 and v3.7.0.0: Holding the Space Bar resulted in strange behaviour in the front end. If a button or checkbox had the current keyboard focus, then moving the mouse while holding Space highlighted the button, leaving it highlighted until Space was released. In versions earlier than v3.7.0.0, the bug still existed, but in a reduced form; the button or checkbox would only become highlighted when the mouse passed over the button while Space was being held, but would then remain highlighted until Space was released, regardless of where the mouse was subsequently moved. Now, the Space Bar acts more like it does on standard Windows buttons; holding it down presses the currently focused button/checkbox, and releasing it triggers that button/checkbox. Pressing any key other than Space while still holding it down cancels the press; Space can then be released without triggering the button/checkbox.
  • [DC] When launching certain replay files, a NONSTANDARD_POWER_LEVELS dialog box would pop up underneath the SHELL_LOADING box, requiring the dialog box to be dismissed before launching would continue.
  • [DC] Bug in a feature introduced in v3.7.0.0: The Direct3D 9 renderers did not work properly under Wine.
  • [DC] Bug in a feature introduced in v3.6.23.0: The in-game dialog box (ESC) and chat (PageDown/PageUp) transitions were supposed to occur at a framerate-independent speed, but instead increased in speed as the frame rate increased.
  • [DC] Bug in a feature introduced in v3.5 Beta 1: When running W:A under Vista or later with UAC enabled, after minimising in-game, the game could not be restored by clicking its taskbar button. The only way to restore it was to open its system menu (in Vista or earlier, by right-clicking its taskbar button; in Windows 7 or later, by Shift+right-clicking its taskbar button, or right-clicking its taskbar thumbnail) and click Restore or Maximize — and this method only worked in W:A v3.6.30.0 and later, since earlier versions did not support opening the system menu.
  • [DC] When using 8-bit DirectDraw under Windows 8.x/10, restoring after minimising in-game resulted in severe graphical glitching. It was previously necessary to use a Windows Application Compatibility setting (Layer_ForceDirectDrawEmulation) to avoid this bug, but that is no longer necessary.
  • [DC] When using DirectDraw or Direct3D 7 under Windows 8.x/10:
    • [DC] Restoring after minimising in the front end resulted in a white screen. Even using the Layer_ForceDirectDrawEmulation compatibility setting was only a partial workaround for this problem, making it disappear after a few seconds or less but not necessarily preventing it from appearing in the first place.
    • [DC] With "Wait for vertical sync" enabled, the frame rate was very poor.
  • [DC] Bug introduced in v3.6.30.0: Under Windows Vista and Windows 7, in any front end screen that had its default focus on an edit box, after giving the focus to a different control (e.g. by pressing Tab or by clicking on the other control), minimising, and then restoring by clicking the taskbar button, the input focus would be strangely divided. The default edit box would receive input, but without showing any caret, text selection, or highlighting — and the control that had focus before minimising would be highlighted.
  • [DC] Bug in a feature introduced in v3.5 Beta 1: Under Windows Vista and Windows 7, W:A did not appear in the Alt+Tab list when minimised, except when launched from a replay file.
  • [DC] The "Close" menu option in the Windows 7+ taskbar button context menu (as opposed to the system menu) did not have the desired effect. It would either do nothing, or in some circumstances in v3.7.0.0 and later when in-game, would restore the game from a minimised state.
  • [DC] The buttons in the Scheme Options editor's "cheat" menu were not highlighted on mouseover.
  • [DC] The front end had quite a bit of latency in its response to input. It is now much faster.
  • [DC] Bug introduced in v3.7.0.0: The front end's background gradient was rendered 20 times per frame, negatively impacting the overall frame rate (depending on other factors; having vertical sync enabled, for example, could hide this problem).
  • [DC] Map Editor keyboard repeat bugs (applies to features introduced in v3.5 Beta 1)
    • [DC] Holding down the Alt key to improve drawing precision could result in jerky mouse motion due to the hardware keyboard repeat of the Alt key.
    • [DC] Holding down the Ctrl key to constrain drawing motion into one axis could result in jerky mouse motion due to the hardware keyboard repeat of the Ctrl key.
  • [DC] The Constrain function in the Map Editor (used by holding the Ctrl key while drawing) was biased towards horizontal motion — any perfectly diagonal motion would be constrained into the horizontal axis. The constraint direction resulting from perfect diagonal motion is now chosen randomly.
  • [DC] Bugs in features introduced in v3.6.19.7 and v3.7.0.0: Closing a drop-down list by clicking an item in it or pressing the ESC key did not restore input focus to the listbox control (unless that control had default focus in its parent dialog, because the bug was that focus was changed to the default control of the parent dialog). Note that this bug was present only in drop-down listboxes, not combo boxes.
  • [DC] Bug in a feature introduced in v3.6.30.0: Opening a combo box by pressing Up/Down/PageUp/PageDown copied the name of the first item into the combo box's edit box. This happened even if the first item was a directory name (with surrounding angle brackets).
  • [DC] Ctrl+Break is meant to be a synonym for ESC in Windows dialog boxes, but did not work in all dialogs/screens of the W:A front end. Now it acts exactly like ESC.
  • [DC] Bug in a feature introduced in v3.7.0.0: It was possible on some systems for the Direct3D 7 renderer to get a lower-resolution surface than requested, for example getting a 1024×1024 surface when it requested a 1280×960 one. When this happened, it would show only the leftmost and/or topmost portion of the game viewport, filling the rest with black. Now it will fall back to a lower resolution if this happens.
  • [DC] Bug introduced in v3.6.23.0: The amount of time the phone icon stayed on-screen before sliding away depended on the rendered frame rate, not the passage of real time. For example, on a 60 Hz monitor it disappeared a little bit too soon (showing for only 83% of the time it should), and on a 120 Hz monitor it disappeared far too soon (showing for only 42% of the time it should). With vertical sync disabled it disappeared even faster.
  • [DC] Bug in a feature introduced in v3.7.0.0: Hardware mouse cursors did not work under Windows 98/Me.
  • [DC] Bug in a feature introduced in v3.7.0.0: When hardware cursors had been active and then disabled in the same instance of WA.exe, every time the front end cursor state changed it was possible for a crash to happen. In practice, the crash is only known to have happened under Windows 98.
  • [DC] Bug in a feature introduced in v3.5 Beta 1: If W:A was minimised while a game was being started (while the dialog box "Please wait... working..." was shown) it would enter a buggy state. In v3.6.31.2b and later, it might be playable for a while, but would eventually enter an unplayable state or crash. In earlier versions it would instantly enter an unplayable state. Either way, it would eventually either crash or require the "WA.exe" process to be killed externally.
  • [DC] Bug introduced in v3.6.28.0: After mousing over a control in the Network Choice screen (causing help text to appear), and out into empty space (which makes the help text disappear), mousing back over the previous control didn't show the help text. Only mousing over a different control than the last one caused help text to appear again.
  • [DC] Bug in a feature introduced in v3.5 Beta 1: If the WormNET screen changed modes while minimised, in most cases it would be visually garbled when restored. This could happen when one initiated connecting to WormNET, joining a channel, or parting from a channel, and then immediately minimised before the action was finished.
  • [DC] Bug in a feature introduced in v3.5 Beta 1: If W:A was minimised during the process of connecting to an online game, then it would crash upon being restored.
  • [DC] Bug in a feature introduced in v3.7.0.0: The automatic resizing of message boxes and confirmation boxes could potentially go into an infinite loop if the title text was very long, which could happen if a dialog box title string was edited in the language file. If the title text was just moderately long (and not long enough to trigger the infinite loop), it would cause the dialog box to expand vertically as well as horizontally, resulting in lots of empty vertical space in most cases.
  • [DC] Latent bugs exposed by a feature in v3.7.0.0: When using Direct3D renderers, after W:A lost and regained focus (by minimising and restoring), certain graphical glitches would manifest until exiting from the current front end screen. (The fix to these glitches has been applied to all front end controls, so even ones that had a similar but unreported glitch will now be fixed.)
    • [DC] In any front end screen with message history controls, giving focus to one of the message history controls (or taking focus from it) would cause a horizontal dotted line to flash near its top.
    • [DC] Resizing the player list (in the Host lobby) would cause it to flash solid white.
  • [DC] Latent bug exposed by a feature in v3.7.0.0: When using Direct3D renderers, upon opening any confirmation dialog box or Deathmatch win/loss dialog box, the two text regions would flash a 3D rectangular border. When entering the Mission screen, Host/Join screen, or offline or online next-round screen, the map thumbnail would flash a 3D rectangular border. (The fix to these glitches has been applied to all front end controls, so even ones that had a similar but unreported glitch will now be fixed.)
  • [DC] Under Windows 2000/XP, occasionally some buttons/images in the front end would load as black 13×13 squares. It was also possible for the background debris to occasionally load as transparent emptiness, making it invisible. Both of these bugs would usually disappear upon minimising and restoring the game (although either of them could also appear after doing so).
  • [DC] Bug introduced in v3.6.28.0: Compatibility with Windows 95 was broken and has now been restored.
  • [DC] When using 8-bit DirectDraw with hardware rendering under VMware on Windows NT-based guests, certain front end controls had a skew/slant glitch in their fonts.
  • [DC] In Windows Vista or later, with DPI set to higher than 100%, and either "Use Windows XP style DPI scaling" enabled, or "Disable display scaling on high DPI settings" enabled in the Compatibility settings for W:A's EXE/shortcut, the Map Editor's Import dialog box would be created without a visible scrollbar, leaving empty blackness in place of where the scrollbar should be.
  • [DC] Bug in a feature introduced in v3.5 Beta 1: When minimising in-game, if any keys were held down at the moment of minimisation, the game would continue to act as if the keys were held down, until being restored (at which point, the fix in v3.7.2.1 would come into play, and refresh the game's keyboard state from the state of the actual keyboard). This would only have an actual effect during an online game, because minimising an offline game automatically pauses it.
  • [DC] Bug in a feature introduced in v3.5 Beta 1: If W:A was minimised while the mouse was on a list header (e.g. "Team Name" or "Points" in the Multiplayer screen's team list), then upon restoring, the header would still be highlighted in white, and the only way to cancel the highlighting would be to move the mouse over an empty header, if any empty region existed. Similarly, if the left mouse button was pressed and held on a list header, and W:A was minimised while still holding the mouse button, then upon restoring, the header would still be highlighted in yellow, and the only way to cancel the highlighting would be to click on a header.
  • [DC] Bug introduced in v3.7.0.0: The landscape mini-thumbnails in the Map Editor would highlight upon mouseover of their clickable rectangle, but then unhighlight only upon exiting a rectangle that was 2 pixels larger in every direction. (This is similar to a bug that was fixed in v3.6.28.0, in which the mini-thumbnails were highlighted and unhighlighted upon entering and exiting a rectangle 2 pixels smaller in every direction than the clickable rectangle.)
  • [DC] Bug introduced in v3.7.0.0: When the Map Editor's file combo box was open, after mousing over and highlighting the landscape mini-thumbnail on the right that it partially covered, the mouse could then be moved onto the combo box's scrollbar without unhighlighting the mini-thumbnail.
  • [DC] Mouse-over help text in the Map Editor, LAN Lobby, Network Options screen, and WormNET were glitchy and less responsive than the help text in the rest of the W:A front end. The help text in these screens is now just as instant as that in the rest of W:A and follows the same rules.
  • [DC] After the mouse cursor changed to a hand upon mousing over a hypertext link, it would not always switch properly back to the default arrow cursor. This would happen when single-clicking on the link and moving it out of the hypertext window fast enough, when "dragging" the link out of the hypertext window, or when minimising and restoring, if the cursor was outside the hypertext window upon restoring.
  • [DC] Bug introduced in v3.6.30.0: The Direct IP hosting dialog box refused to accept a game name if it was exactly 1 character long.
  • [DC] Bug introduced in v3.5 Beta 1: Certain actions in the front end resulted in temporary mouse capture (see below for list of actions that did this). While in this state, right-clicks would be ignored. A left-click would be ignored, but would cancel the mouse capture (so that subsequent clicks would work). Also, moving the mouse at least one pixel in any direction would cancel the mouse capture.
    • Double-clicking a nickname in the list of nicknames on WormNET, to /msg them.
    • In the Host/Join/Next Round lobby, right-clicking a nickname in the list of players, to /msg them.
    • Using line memory, by pressing Up / Down / PageUp / PageDown in any edit box supporting it.
  • [DC] Bug in a feature introduced in v3.6.28.0: If a chat message was received while the pinned chat was visible (i.e., if Ctrl+PageDown and PageUp had been pressed), then if the pinned chat was dismissed soon enough (by pressing Ctrl+PageUp), the phone icon would be visible, even though it shouldn't be after a chat message has been visibly shown on-screen.
  • [DC] Upon leaving a WormNET channel, the PART command was followed by too many LIST and WHO commands (only one of each is necessary). This may have somewhat slowed down the process of leaving a channel.
  • [DC] The IRC message 333 (which always follows 332, indicating the topic of a joined channel) was incorrectly being shown as green text.
  • [DC] The IRC welcome message (001) was not being displayed as green text, when it should have been.
  • [DC] Bug in a feature introduced in v3.6.28.0: The host/join chat log of the current session, stored in User\Logs, was not properly closed in all circumstances under which an online game session could be ended. This prevented the log file from being deleted, renamed, or moved, until exiting W:A.
    • [DC] When quitting from the Next Round screen as a host
    • [DC] When losing connection to the host while in-game, as a client
    • [DC] Bug in a feature introduced in v3.6.30.0: When quitting W:A while in an online game by clicking Close in its taskbar button's system menu. The file was closed immediately anyway, but LOG_SESSION_ENDED was not entered into the log.
  • [DC] Bug in features introduced starting in v3.6.19.7: When starting WA.exe with either "Auto-register associations" enabled or the /register parameter, if a relative path was specified for WA.exe, or a path containing forward slashes instead of backslashes, the associations would be incorrectly registered.
  • [DC] UDP ports 17010 and 17012 are used for the LAN mode protocol, but W:A initialised them even when entering WormNET mode, and broadcast on UDP port 17012 when hosting WormNET games. W:A no longer uses these ports in WormNET mode.
  • [DC] Bug in a feature introduced in v3.5 Beta 1: When scrolling a message history box with text selected inside it, if the selected text reached the top or bottom edge, the solid white selection rectangle would be drawn outside its proper bounds. Starting in v3.7.0.0, this bug was made worse, leaving a permanent trail 1 pixel thick on the top and/or bottom edge.

Offline Deadcode

Re: Worms Armageddon v3.8 Released
« Reply #3 on: July 16, 2020, 07:45 PM »
  • [DC] Bug introduced in v3.5 Beta 1: Upon using the /away command in WormNET (IRC) with no parameters to clear your away message, NET_AWAY_CLEARED was not printed (nor was any other feedback).
  • [DC] If the network packet for "Play Again" or "New Match" was immediately followed by subsequent packet(s) changing the scheme, number of worms, or alliance colours, then those subsequent packets would be ignored, leading to a desynchronisation when the new match was started. (This could theoretically could happen in situations of extreme network congestion, when the host very quickly made those changes after clicking "Play Again" or confirming "New Match".)
  • [DC] Bug in a feature introduced in v3.6.19.7: In the combo box for browsing scheme/map subfolders and files, clicking on a folder which could not be entered (due to access rights restrictions or illegal filename characters) collapsed the combo box, preventing it from being restored until exiting the current screen.
  • [CS] Bug introduced in v3.7.0.0: Internet URLs starting with www. (no protocol) were recognized (underlined and double-clickable), however double-clicking them displayed an Invalid URL error message.
  • [DC] After an instant replay occurred, the default girder rotation state and strike direction would be reset for all teams. Any team that subsequently selected Girder or Girder Starter-Pack would have "stop-sign" as the default state, and any team that selected a Strike weapon would have "right" as the default direction. In v3.5 Beta 1 and later, this resulted in not being able to fire a Strike weapon on the same turn after an instant replay in which the turn didn't end, unless a Girder was selected first and rotated to a position other than the stop-sign.
  • [DC] Bug in a feature introduced in v3.6.29.0: With stereo effects enabled, upon worm placement, the YesSir sound was always played from the centre of the map instead of the current cursor position.
  • [DC] In the game lobby for a joined player, if the host disconnected at a point when the user had entered text into the chat edit box, then pressing Enter would behave as if the edit box had not been hidden.
  • [DC] When applying the "built-in game time limit" logic as it existed before being removed (see v3.6.30.0 changes affecting game logic), if the total turn time (not counting retreat) fell between 2.00 and 4.98 seconds inclusive, or the total game time (up to the end of the fade-out) fell between 2.00 and 14.98 seconds inclusive, the following bugs could or would happen:
    • [DC] The offline multiplayer next-round screen didn't properly indicate that a draw had happened.
    • [DC] The end-of-round report in the online and offline next-round screens didn't properly indicate that a draw had happened.
    • [DC] In a match with six teams, a portion of the sixth team's flag or grave palette was interpreted as non-palette data, and could either force a named team's allied group to get a point as if it won the round (even reaching or exceeding the number of points needed to win without ending the match), or force the match to end.
  • [DC] Bug in a feature introduced in v3.7.0.0: In the online hosting next-round screen, if the last remote player left the game, the "ready to start" sound would be played instead of the "twang" sound, due to the feature allowing an offline game to be started from the online hosting screens without using the light bulb button. The "ready to start" sound would also play upon entering the screen if there were already no clients (i.e. when continuing to the next round of an offline game started from the Host screen).
  • [DC] Under Windows Vista / 7, if Windows 95 or 98 compatibility was (unnecessarily) enabled in the WA.exe file's properties, a crash would occur when opening the Team Editor.
  • [DC] In the Team Editor, all soundbanks (voice banks) with a "." anywhere in their name, or a name one character in length, would be excluded from the list of choosable soundbanks.
  • [DC] Bug introduced in v3.6.19.17: In the Team Editor, fanfares with filenames longer than 32 characters should have been excluded from the list of choosable fanfares, but were not. Choosing a fanfare with a filename too long could corrupt one's team file.
  • [DC] Bug in a feature introduced in v3.6.28.0: Ever since wa:// and wa:host links were introduced, it was possible to start W:A by following the link wa: (with nothing following the colon), but the warning message box “Ignoring unrecognised command-line parameter ("wa:")” was displayed. This message box is no longer displayed, as long as nothing unrecognized follows the colon.
  • [DC] Bug in a feature introduced in v3.6.28.0: Links of the form wa:host?Parameters would also work with a ":" or "/" character replacing the "?", however, any other character in that position would be silently accepted, but with the remaining characters following it being ignored (instead of being treated as parameters for the hosted game).
  • [DC] Bug in a feature introduced in v3.6.29.0: The /quiet (or /q) command-line option would be ignored in the case that Export Log failed to create a log file, showing the error in a message box regardless.
  • [DC] Bug introduced in v3.6.31.2b: When prompted (with LARGE_MAP_WARNING_DIALOG or IDS_LARGE_MAP_WARNING) as to whether to load a large map, the displayed in-game memory usage was too small by a large margin. This memory usage is dependent on whether hardware or software rendering is being used; more memory is used in the latter configuration.
  • [DC] Bug introduced in v3.6.28.0 and v3.6.30.0: The peak usage was actually different in the two respective situations in which the LARGE_MAP_WARNING_DIALOG and IDS_LARGE_MAP_WARNING large map prompts are shown, but the same value was displayed in both prompts. In IDS_LARGE_MAP_WARNING, the peak memory usage was too large by a significant margin. The value was close to being correct for LARGE_MAP_WARNING_DIALOG, but was slightly too small. [Note: This fix is now obsolete; the peak memory usage is now the same as the base memory usage.]
  • [DC] When loading a .PNG map to display a thumbnail in the front end, an unnecessarily large amount of memory was temporarily allocated.
  • [DC] The Map Editor's detail slider did not respond properly to PageDown and PageUp keypress events.
    • The left and right sliders were allowed to go one step beyond their minimum and maximum, respectively.
    • Any change made using only PageDown or PageUp would result in a visual change to the slider control, and update the tooltip, but the actual detail range used in generating maps was not updated, and the change would be forgotten upon exiting the Map Editor.
  • [DC] The exclamation mark icon in the upper-left of front end message boxes (such as the Alt+F4 quit confirmation box in full-screen mode) had its palette distorted in a different way in almost every front end screen.
  • [DC] Bug in a feature introduced in v3.6.19.7: If the current Scheme or Map subfolder was deleted from outside of W:A, and then an attempt was made to open the File Chooser combo box using the Down arrow key, W:A would crash. (This version of the bug was introduced in v3.6.29.0, but in earlier versions, the crash could still be triggered by attempting to enter a subfolder that had been deleted from outside of W:A, after W:A had listed its contents.)
  • [DC] Bug introduced in v3.6.30.0: If W:A was minimized in the Scheme Options editor with the "Cheats" dialog box open, upon restoring, the four buttons in the "Cheats" dialog would be replaced by blackness, until redrawing was triggered by mouseover or the dialog box was closed.
  • [DC] Clicking or right-clicking on the Map Editor's Preview button did not update the tooltip; it was only updated if the mouse was subsequently moved.
  • [DC] After beating the final mission, the Mission screen would enter a glitchy state, in which whenever the final mission was selected as the current one, the "Next" button would be enabled; if clicked, it would wrap around to the first mission ("Pumpkin Problems"). This was an asymmetrical state of affairs; the first mission did not have the "Previous" button enabled. This state was only temporary, lasting as long as your team was entered in as the current team in the Mission screen; any action that removed it as the current selected team would result in any subsequent re-entry of that team, or any other, leading to the normal, non-glitchy state (until the last mission was again beaten). This bug has been fixed by preventing the "Next" button from ever being enabled on the last mission (as opposed to enabling wraparound in both directions).
  • [DC] Bug introduced in v3.6.30.0: Under certain conditions, the dynamically dithered background gradient (in maps with more than 96 colours or of non-standard height) would have pixels of clashing colour dithered into its bottom-most region. This bug also resulted in the bottom of the non-dithered gradient displaying incorrectly.
  • [DC] Bug introduced in v3.6.28.0: When hosting a game with a colour map, clients running W:A v3.6.24.2 or earlier would not be sent the map in a properly backwards-compatible way. The message "Please wait while the level file loads" would be displayed on their end, and the game would desynchronise when started.
  • [DC] Bug introduced in v3.6.30.0: The field "SpecialBuild" in WA.EXE's version-information resource (displayed as "Special Build Description" in File Properties under Windows XP and below) was corrupt. In v3.7.0.0 and later, this bug was only seen in the Steam builds.
  • [CS] Fixed a crash that could occur during start-up if the installed bitmap font files were from an older version of W:A.
  • [DC] The "worm selection order", "worm placement mode", "number of oil drums / mines", "stockpiling mode", "sudden death mode", and "anchored worms" buttons made two simultaneous sounds when changed with a mouse click. In the Scheme Options screen, this had always happened; in the Offline Multiplayer and Network Hosting screens, it was introduced in v3.6.19.7.
  • [DC] If the proxy settings were changed in the Network Configuration screen, W:A needed to be restarted for the change to properly take effect.
  • [DC] Bug in a feature introduced in v3.6.19.7: During playback, when a CPU team collected a crate, the weapon-collection notice (i.e., the text showing the contents of the crate) was not shown at the top of the screen.
  • [DC] Bug in a feature introduced in v3.5 Beta 1: When exiting certain front end screens, there would be a short flash of incorrect palette. Some versions of this bug had already been fixed in past versions of W:A, but this fix should be universal.
  • [CS] While loading the team file (WG.WGT), when encountering a flag for which the custom flag image file was no longer present, the game would reset it by assigning a locale-dependent default flag. Since all relevant flag information is already stored in the team file, this behaviour has been disabled.
  • [CS,DC] Bug introduced in v3.6.28.0: When loading a PNG image lacking W:A-specific map metadata into the Map Editor, it was always treated as an island map, instead of autodetecting island or cavern status from the contents of the map. The previous autodetection logic has been restored.
  • [DC] During instant replays, the X marker for homing weapons and strikes was not shown.
  • [DC] When a mouse-targeted weapon was clicked such as not to cause instant firing (i.e. any homing weapon, or Girder/Teleport clicked while the worm is jumping/falling/landing), the mouse cursor was hidden locally (from the perspective of the player using it) but not remotely (by other players in a network game) or in playback. This has been fixed; now, remotely and in playback, the cursor will be seen to disappear, under the same conditions that it disappears locally, regardless of game logic version.
  • [DC] In the Map Editor, switching to a new map in one of the map thumbnails, right-clicking that thumbnail while not in Preview mode, then entering Preview mode, and right-clicking that map thumbnail again, would result in switching to a different random seed on the same map, resulting in objects, bridges, and placement holes (if any) being generated differently.
  • [DC] Bug in a feature introduced in v3.6.30.0: If the host in an online game committed changes to the Weapons scheme options while a client was in the Weapons screen, and then that client pressed Escape and chose the "Yes" option to exit and discard changes, this would result in a desynchronised state, potentially resulting in a desynchronisation upon game start.
  • [DC] Bug in a feature introduced in v3.6.19.7: Replay file playback would desynchronise in online games if the Indian Nuclear Test delay was set to 99 in the scheme, unless the Indestructible Border was enabled. This is because during the live game, the delay was overridden to 0, but in playback it remained at 99.
  • [DC] Bug in a feature introduced in v3.6.29.0: No logic version restriction was enforced when setting the "number victories to win the match" scheme option to zero (in which a match lasts exactly one round even in the event of a draw). Thus, if hosting with that scheme option enabled, and a mixture of players were present, some using versions prior to the introduction of the feature and some after, desynchronisation would result if the round ended in a draw.
  • [DC] Pressing Enter in any front end screen with a chat text-entry edit box (i.e., the WormNET lobby, LAN lobby, or Host/Join/Next Round/End of Match lobby) entered what was currently typed in the edit box regardless of whether the edit box had the current input focus.
  • [DC] Bug introduced in v3.7.0.0: If there was more than one player's name in the list following the message "ERROR: Cannot start game due to features unsupported by", then there would be no space between the word "and" and the last player's name.
  • [DC] Bug in a feature introduced in v3.6.19.7: Chat history carried over from the host/join or end-of-match screen to the Next Round screen was cut off on the right side, due to the chat history box being narrower in that screen. This has been fixed by rearranging the online countinued-round screen so that its chat history box is the same width as that of the host/join and end-of-match screens.
  • [DC] The online Next Round screen listed "players" (actually individual computers in a network game) rather than teams. If two or more people were playing on one computer, and had differently-coloured (differently-allied) teams, only one of those team colours and number of wins would be displayed in the countined-round screen. This has been fixed by splitting the player list into a player list and a team list, like the host/join screen.
  • [DC] In any front end screen, if the mouse cursor was moved from a control with help text to an edit box or text box / message history box (by moving the mouse fast enough that it would skip over the empty space between the controls), the displayed help text would not be erased.
  • [DC] Flaw introduced in v3.6.19.7: The help text for the player name edit box in the Network Choice screen was not displayed.
  • [DC] In the "View team statistics" screen, the Deathmatch rank was misaligned with the text "Deathmatch Rank", and if it occupied two lines (for example with "Highly distinguished"), the bottom 3 pixels of the second line were truncated.
  • [DC] In the offline end-of-match screen, there was no help text for the Winner box.
  • [DC] Bug introduced in v3.6.28.0: Attempting to use the Export Log feature without the W:A CD-ROM present resulted in the creation of an empty log file.
  • [DC] Bug in a feature introduced in v3.5 Beta 1: After minimising in-game, if any mouse button(s) were held down at the moment of minimisation, then after being restored, the game would continue to act as if the mouse button(s) were held down, until either the mouse was moved, or those button(s) were pressed and released (i.e., if the mouse was not first moved, the first press of each of those button(s) would be ignored). One of the effects of this was that from v3.6.19.18 onward, if the ESC dialog box's "Minimize Game" menu option was used, and after restoring the game, an attempt was made to click "Minimize Game" again without first moving the mouse, the first click would be ignored.
  • [DC] Bug in a feature introduced in v3.6.30.0: An "Exit without saving changes?" dialog box was shown when exiting the Options menu after editing the current scheme. Before v3.6.30.0, the current scheme was always reset to the Intermediate intrinsic scheme upon return to the main menu, so the exit from the Options menu really was done without saving changes to the scheme. However, from v3.6.30.0, this same "Exit without saving changes?" dialog no longer did what it claimed to do; when exiting the Options menu by responding "Yes" to this dialog, the scheme changes were in fact saved. This has been fixed by disabling the confirmation dialog completely, and, as was already done before, always saving changes when exiting the Options menu.
  • [DC] Flaw introduced in 3.6.19.7: Under Wine, moving the mouse away from a front end button that was highlighted by mouseover, to empty space (or anything other than a highlighted control), would only unhighlight the previously highlighted button after a significant delay. This was due to Wine's laggy implementation of WM_MOUSELEAVE via the Windows API call TrackMouseEvent(). Due to this, W:A now uses its own emulation of TrackMouseEvent when under Wine (as it also does under Windows 95, because _TrackMouseEvent() exhibits the same problem).

Offline Deadcode

Re: Worms Armageddon v3.8 Released
« Reply #4 on: July 16, 2020, 07:46 PM »
  • [DC] Bug in a feature introduced in v3.6.29.0 and v3.6.30.0: The Escape key was supposed to exit all front end screens, but did not work in the offline end-of-match screen.
  • [DC] Bug in a feature introduced in v3.6.28.0: The weapon panel did not update upon certain events:
    • When Mad Cows were fired, and the mouse cursor was over the Mad Cow icon in the weapon panel, the ammo count at the bottom of the panel only updated after all cows had been released, not after each individual cow was released.
    • The automatic consumption of instant utilities at the start of a turn, which were already present in the team's inventory, due to either being in the scheme (Damage×2) or having been collected after the end of the previous turn, did not update the weapon panel.
  • [DC] Bug in a feature introduced in v3.6.29.0: In Export Log, the printout of turn time used at the end of each turn did not properly take into account Double Time instant utility activation, and showed incorrect, potentially even negative, numbers in this case.
  • [DC] Bug in a feature introduced in v3.6.29.0: In Export Log, there was no empty line between "Total Jet Pack fuel used: x" and "End of round y".
  • [DC] Bug introduced in v3.6.29.0: In the Network Host or Offline Multiplayer screen, after loading a particular scheme file via the drop-down list of schemes, then making edits to the scheme, loading the same scheme file via the drop-down list would not reload the file, and the edits made to it would still be present. Another signal of this bug having occurred is that the drop-down list would close itself, instead of staying open and highlighting the chosen scheme name.
  • [DC] Bug in a feature introduced in v3.6.21.1: The cumulative match stats shown in Export Log were incorrect for all rounds other than Round 1, representing only the current round, and thus disagreed with the text that was shown during the actual match. The current fix for this is to omit the information from the Export Log output if it is not available, instead of displaying incorrect information.
  • [DC] In the Host lobby, clicking the right mouse button to decrease a number of worms when it was already set to 1, or clicking the left mouse button to increase a number of worms when it was already set to 8, although resulting in no change, still sent a network packet, and cleared the host's Ready light bulb if it was lit.
  • [DC] In the Host lobby, entering the Scheme Options or Weapon Options editor automatically cleared the host's light bulb if it was lit, even though no options had yet been changed.
  • [DC] Bug in a feature introduced in v3.6.19.7: In the Host lobby, entering the Team Editor automatically cleared the host's light bulb if it was lit.
  • [DC] Bug introduced in v3.5 Beta 1: If the player held down the Right arrow key with a Strike weapon selected (such that the key aimed it to the right) and continued holding that key while switching to a non-mouse-aimed weapon, the Right arrow key would instantly act as a worm movement key – making it inconsistent with both the Left arrow key's behaviour and non-Strike mouse-aimed weapon (e.g. Girder) arrow key behaviour. The Right arrow key now behaves like the Left arrow key in this regard.
  • [DC] With BattyRope enabled, the Export Log fuel usage report for an inactive worm that had its Jet Pack stripped during the retreat of another worm on the same team was slightly incorrect, shown as "MaxFuel (ActualUsage)" instead of just "ActualUsage".
  • [DC] Bug introduced in v3.6.30.0: If the in-game chat panel had been previously shown in non-pinned (active) mode, then in pinned chat mode, the double vertical line dividing the chat history (left pane) from the player list (right pane) would retain a bright white line to the left of the grey line, instead of showing only a single grey vertical line as was intended.
  • [DC] Bug in a feature introduced in v3.6.30.0: For a client in a network game (i.e., read-only mode for viewing scheme settings), in the Weapon Editor with "cheat" mode toggled on, the utility icons were incorrectly shown instead of hidden, and the power and crate probability fields could be shown despite their corresponding fields in the scheme format having no effect.
  • [DC] In the Steam edition of the game, the player's teams would be inadvertently reset when the Steam action Verify integrity of game cache was activated (or reset arguably intentionally by the Steam action Delete local game content). To solve this, the game now saves the teams identically in both WG.WGT and WG.backup-current.WGT. When loading the teams, it checks if WG.WGT matches the Steam/GOG default; if it does, it falls back on loading WG.backup-current.WGT.
  • [DC] In the Steam and GOG editions of the game, a default team file was distributed, with the flags set to United Kingdom. This broke from the intended (and CD-ROM edition) behaviour of initialising the flags of all default teams from the user's location code in the registry (HKEY_CURRENT_USER\Control Panel\International\Geo, which can be set from Control Panel: Regional and Language Options: Location). This behaviour has now been restored to the Steam and GOG editions.
  • [DC] If an intrinsic scheme was saved (which discards utility delay and superweapon ammo/delay settings in the saved scheme file) but then a game was immediately started, that game would still have the built-in utility and superweapon settings from the intrinsic scheme, even though the scheme combo box showed the saved scheme file as being the currently active one.
  • [DC] Bug introduced in v3.6.30.0: Instead of Mission #3 unlocking Laser Sight, and Mission #12 unlocking Fast Walk, the two were swapped.
  • [DC] Bug in a feature introduced in v3.5 Beta 1: If at least one message had been entered in the front end's chat text entry box, and then a line beginning with a slash ("/") was typed, containing no spaces, then subsequently pressing Up or Down to scroll through the line memory would not work correctly; it would append the last entered message to the current text entry, instead of switching to it.
  • [DC] Bug in a feature introduced in v3.7.0.0: The directory for user-created language files, User\Languages\n.n.n.n, was only created if the User\Languages directory already existed.
  • [DC] If a very large number of crates existed simultaneously in-game (on the order of at least 200 or so, which is possible by giving a custom value to "Maximum crate count on map at once", called "cratelimit" in RubberWorm), the game could crash at the end of the round (at the point where a live game would return to the front end, or a playback session would return to desktop).
  • [DC] Bug in a feature introduced in v3.6.26.4: Map files generated by third-party tools (such as MapGEN) would be incorrectly loaded in the Map Editor, if a terrain texture index of 27 ("Tribal") or 28 ("Urban") was written along with a terrain version of 0x0001 (which corresponds to W:A v3.6.26.1 and later). (W:A itself never saves map files in this way; for compatibility, it uses terrain version 0x0000 – corresponding to W:A v3.5 Beta 1 up to but not including 3.6.26.1 – for all textures other than "Tools".) The map would seem to load correctly, but upon exiting the Map Editor, "Tribal" would become "Urban", or if the texture was "Urban", the loaded map would revert to a .LEV style map (which would leave it unchanged if it was already a .LEV map).
  • [DC] Bug introduced v3.7.0.0: Clicking the Special Weapons button to enable Special Weapons (i.e., to show the armoury door, hiding the special weapons) changed the tooltip text to SCHEMEWEAPONS_H_SLIDER_AMMO, instead of staying at SCHEMEWEAPONS_H_ALLOWSPECIAL as it should. In Windows (as opposed to Wine), it was also necessary to have modified at least one setting in the Weapon Options screen for the incorrect tooltip text to stay, otherwise the incorrect text would only flicker very briefly before changing back to the correct text.
  • [DC] Bug introduced in v3.5 Beta 1: In the Map Editor, if the mouse cursor was a brush (i.e., the cursor was over a map of .LEV or .BIT type), and then a color map (.CUS, .PNG, .IMG, or land*.dat) was loaded using only the keyboard, the mouse cursor would become invisible.
  • [DC] Bug in a feature introduced in v3.6.30.0: /getvideo could take 1-6 arguments after the replay filename, substituting defaults as needed, but if only 1-5 were used, and followed with a different /command (such as "/quiet", "/dir", "/langdir", or "/nowk"), it would treat that /command and what followed it as the arguments to /getvideo that would otherwise be missing.
  • [DC] Fixes affecting game logic
    • [DC] Weapon delays for an allied team group were not decremented for the first time until after every team in that alliance got a turn, but once that happened, their delays were decremented every time any team in that alliance got a turn. With an uneven match such as 2vs1 or 3vs2, this actually resulted in unfairness, since the alliance with fewer teams in it had their delays decremented earlier in the game. Now, delays are decremented for the first time after every alliance has had one turn.
    • [DC] Bug in a feature introduced in v3.6.30.0: In BoomRacing mode, fire (especially from a Petrol Bomb) was influenced by all explosions, when it should have been limited to being influenced by explosions made by the same allied team group that created the fire.
    • [DC] A worm that triggered Freeze would be able to collect crates during other teams' turns, while in a frozen state, until unfreezing.
    • [DC] The bug introduced in v3.6.30.0 and supposedly fixed in v3.6.31.2b, "If a rope that was not perfectly vertical was allowed to settle into a perfectly vertical resting state, and then a Girder or Longbow Arrow was created inside the rope, the worm dangling from the rope would "accelerate" due to gravity while actually staying still at the end of the rope; when released, the worm would then fall downward at an artificially high initial velocity." was improperly fixed. The bug still happened in 50% of cases, depending on whether the rope settled to a resting state infinitesimally left of vertical or infinitesimally right of vertical.
    • [DC] Bug introduced in v3.7.0.0: The Girder Starter-Pack stop sign would only allow itself to be activated over empty space, as if it were a circularly-shaped girder to be placed.
    • [DC] Bug introduced in v3.6.22.0: If the Girder Starter-Pack stop sign was used in "Weapon use doesn't end turn" mode (see Footnote 7), the stop sign would "stick" as the default girder (until the turn ended, Girder was selected, or Girder Starter-Pack was reselected and rotated). While the stop sign was the default, all other aimable weapons would ignore the cursor position and instead use the last position where the stop-sign was clicked.
    • [DC] If a Worm currently overlapping with terrain used Teleport, then it would move to the target location immediately, rather than in the middle of the teleportation animation as it should. (See the explanation of the related desynchronisation, above, for situations in which this could occur.)
    • [DC] If a herd of Mad Cows was released from rope, and the last cow was released during a rope roll, then the worm would get land retreat time instead of air retreat time. The same would happen if the worm landed and entered a sliding state while releasing the last cow.
    • [DC] With TestStuff enabled, after a weapon was fired during a rope roll, the worm would get land retreat time instead of air retreat time.
    • [DC] The v3.7.2.1 fix, "The glitch in which targetable weapons (such as Homing Missile, Air Strike, and Teleport) could be fired without being targeted has been modified. It now only works in the form of pre-targeting, which must be done on the same turn." was incomplete. It was not applied for weapons released from Rope, Bungee, Parachute or Jet Pack.
    • [DC] Bug introduced in v3.7.2.1: If a Strike weapon with left/right aiming (such as Air Strike or Mine Strike) was fired without being targeted (using the glitch that allows this to be done), it would be fired with zero horizontal velocity (as opposed to left or right), throwing the game into an infinite loop.
    • [DC] Bugs in a feature introduced in v3.6.24.2: One of the features enabled by TestStuff — use of weapons during a rope roll — had two bugs that are now fixed:
      • It did not enforce restrictions on placement coordinates when firing Teleport or Girder. It was possible to exploit this to place a girder anywhere, even intersecting with terrain, worms and other objects.
      • It did not work correctly with targeted weapons that fire immediately upon mouse click, such as Air Strike, Girder, Teleport, etc. (Strictly speaking this change doesn't affect the game logic, but it is tied to the logic version for fairness.)
    • [DC] Despite the wraparound fixes in v3.6.28.0, it was possible for wind-blown flamelets to wrap across from the left edge of the coordinate system to the right edge or vice versa.
    • [DC] A fix in v3.6.31.2b was improperly done. As intended, it fixed the total subtraction of poison damage when an Indian Nuclear Test was immediately followed by the onset of Sudden Death at the end of the same turn. However, it created a bug in which, on turns where Sudden Death was pending (with the round timer red due to having counted down to zero, but with Sudden Death being delayed until a randomly chosen team's turn), poison damage was not subtracted from already-poisoned worms. The fix has now been simplified. Instead of queuing the poison-damage subtraction of a consecutive Indian Nuclear Test + Sudden Death until Sudden Death (as the old fix did, subtracting 7 points of poison in one go), it now immediately subtracts the 2 poison points caused by the Indian Nuclear Test, and then subtracts the 5 poison points caused by Sudden Death.
    • [DC] In a very tall map, any Mole Squadron mole that did at least 36.02 seconds (but less than 51 seconds) of digging, followed by reaching the ocean, would suddenly spring upwards away from the water at high speed.
    • [DC] Weapons/utilities set to infinite delay in the scheme were shown in the weapon panel, even though they could never be used. (Strictly speaking this change doesn't affect the game logic, but it is tied to the logic version so that all players see the same thing.)
    • [DC] Some conditions that applied to normal crate drops did not apply to superweapons:
      • Any normal weapon/utility which the team getting the next turn had in infinite supply would never fall in a crate, but this rule did not apply to superweapons.
      • Only weapons/utilities currently at zero delay would fall in a crate, but this did not apply to superweapons.
      • With Sheep Heaven enabled, normal crates were biased towards being sheep-based weapons, but superweapon crates were not.
    • [DC] Delayed weapons/utilities could never fall in a crate until the turn after the delay expired. This created a discontinuity between the effect of a 0 turn delay setting and a 1 turn delay setting on when a weapon/utility could appear in a crate; the former would result in the possibility of it falling in a crate on the first turn, but the latter would deny it from falling in a crate until the third turn.
    • [DC] Bug in a feature introduced in v3.6.30.0: The Delay of Damage×2, unlike other utilities, was not being loaded from the scheme.
    • [DC] If an explosion occurred very far (an ortho-distance of 32768 pixels or greater) from fire or skunk gas particles, it could move them with its blast. Note that the 3.6.30.0 "global explosion" fix did not address this, due to the different way in which distances are calculated (orthogonal instead of Pythagorean).
    • [DC] If an object (e.g. a rope-knocking worm) that would normally slide up one-pixel increments of terrain, and would normally knock another object (e.g. a worm), collided with both a one-pixel increment of terrain and a knockable object at the same location, it would rebound in the opposite direction, instead of knocking the other object and continuing to slide in the same direction.
    • [DC] Neither worms nor animals could collect more than one crate per frame. With Super/Aqua Sheep, this could make it possible to hit a crate and explode instead of collecting it.
    • [DC] A moving worm would move for two frames' worth of time in a single frame if one of the following events happened:
      • It was in a rope roll, and collided with something, deactivating its ability to shoot another rope.
      • It was in a rope roll, and skimmed against water (if a rope attached at the same time, then control would be retained).
      • It was on rope or bungee, and a jumping or jetpacking worm collided with it.
      • It was on rope, bungee, jetpack, or parachute, or was jumping or frozen, and was hit by a specific type of Longbow arrow collision (the type where the arrow registers its hit when its centre pixel, not its tip, touches the worm's collision mask). (The effect of the bug in this case was usually too subtle to see.)
      • It was standing still and was pushed by earthquake force. (The effect of the bug in this case was usually too subtle to see.)
    • [DC] Bug incompletely fixed in v3.5 Beta 1: When a valid initial-manual-placement Teleport was forced to fail by changing its coordinate after firing it, it was then possible to select a different weapon and use it. That worm would then be located way up in the sky and virtually untouchable during turns.

Offline Deadcode

Re: Worms Armageddon v3.8 Released
« Reply #5 on: July 16, 2020, 07:46 PM »
  • [DC] Fixes affecting game logic (continued)
    • [DC] Bug incompletely fixed in v3.6.19.17: The previous fix, "When placing worms at the beginning of a game, placing directly on land caused an annoying delay of two seconds, whereas letting the worm drop onto land did not create much of a delay. Now, placing directly on land causes virtually no delay (the only delay will be due to network lag)." was incomplete. A long delay still occurred after placing the last worm of the last team directly on land. This delay is now the same as that which occurs after placing the last worm one pixel above land.
    • [DC] Bug introduced in v3.5 Beta 1: When Girder or Teleport was clicked at an invalid location while a worm was jumping, falling, or landing, instead of triggering a warning beep as it should, this caused the mouse cursor to disappear, without the accompanying spangle animation that happened when clicking at valid locations. The warning beep would then only happen if Space was subsequently pressed from the ground in an attempt to place the girder or trigger the teleport.
    • [DC] If any mouse cursor triggering weapon (homing, strike, girder, or teleport) was used and had the "Remember as Default" property (currently only possible with the RubberWorm "Remember weapons" option enabled, which applies it to all weapons), then after the weapon's use, it would be reselected immediately before retreat time, blocking that retreat time from being effectively used due to the mouse cursor being enabled (which blocks the player's worm from being controlled via the arrow keys and other hotkeys).
    • [DC] With the Laser Sight utility enabled, the crosshair exhibited a glitch in which it switched between being shown at two different distances from the current worm. This was especially visible to non-allied players in an online game, since for them, the crosshair is shown at times when the active player sees the laser sight. (Strictly speaking this change doesn't affect the game logic, but it is tied to the logic version so that all players see the same thing.)
    • [DC] Any object (such as a worm) whose collision mask intersected with terrain would move through all terrain as if it weren't there (unless prevented from doing so due to being blocked by another object), until either passing into a space free of terrain (after which it would behave normally, and collide with the next piece of terrain it touched), or drowning. This is now fixed, by pinning the object in place as long as there is terrain intersecting with its collision mask.
      • The previous glitch in which a Girder could be placed at a location intersecting with objects/terrain (fixed/introduced in v3.5 Beta 1, and fixed in v3.6.19.7, v3.6.31.2b, and v3.8), if it had not been fixed, would now behave differently thanks to this new fix. Objects intersecting with the girder, instead of falling through it (and potentially drowning), would now be pinned by the girder, prevented from moving in any direction until the portions of the girder intersecting with them have been destroyed.
      • The glitch in which a Longbow arrow embedding itself in the terrain at the location of a Grave would cause the grave to fall through the terrain (introduced in v3.5 Beta 1, v3.6.19.7, and v3.6.19.12) is now fixed. Now, such a longbow arrow will pin the grave in place until the portion of it intersecting with the grave's collision mask has been destroyed.
    • [DC] It is now possible to place a Girder in a location that intersects with a Grave. This finally realises the goal of making graves have no tangible effect on the physics of the game (with only one exception – that the game waits for all objects, including graves, to stop moving before progressing to the next state), which began in v3.5 Beta 1, v3.6.19.7, and v3.6.19.12, with the fixes preventing graves from absorbing Longbow arrows.
    • [DC] Bug introduced in v3.6.21.1: If the Ninja Rope was fired on the single frame (1/50 second) step between walking off a ledge and falling, the firing of the rope would be immediately cancelled, such that the rope-firing sound effect would be heard but the rope would not be seen to fire at all.
    • [DC] With BattyRope enabled, if using Scales of Justice resulted in the death of inactive worms on Rope, Bungee, or Jet Pack, an endless turn would result, due to the game waiting for the worms with 0 health to be on land.
    • [DC] Frozen worms were unfrozen upon skimming water. Since frozen worms normally can't have horizontal velocity, the way to reproduce this was to trigger Freeze while another worm from the current team was moving in a trajectory that would make it skim.
    • [DC] Although it was not locally allowed as input, in schemes with worm selection and manual placement enabled, it was internally possible to select worm during initial placement. If a team used this cheating loophole to select one of their already-placed worms before manual placement finished, and used Freeze, the game would then see manual placement as being finished, even though not all worms were placed. Worms that had not been placed would be located way up in the sky and virtually untouchable during turns, but able to take turns themselves. If more than one worm was in this state, use of Firepunch by one of them would result in an endless turn.
    • [DC] In a scheme with manual placement enabled, instant utilities in a team's inventory would go into effect when that team was placing their first worm, instead of on their first turn after placement was finished. This could come into play in schemes with Stockpiling enabled, if a team collected instant utilities after the end of their last turn (e.g., by jumping at the very end of their retreat, such that the jump ended after the retreat ended and resulted in grabbing a crate, or by having an animal grab a crate after the end of their turn). The most bizarre way in which this manifested was with Crate Shower, which would in fact be triggered during manual placement if carried over from the previous round.
    • [DC] If one or more non-delayed instant utilities were present in a team's inventory when starting a turn, it was possible to directly select one of them, on the first frame of that turn. Then, even though all instant utilities would subsequently be automatically consumed and activated, it was possible to "use" the one that had been selected (by pressing Space), even though it was no longer present in the inventory. If it was Damage×2, using it would remove it from the activated-utilities icon bar in the lower-right of the screen (as if toggling it off), but would leave Damage×2 in effect. If it was Crate Spy, using it would both remove it from the activated-utilities icon bar and deactivate it. If it was Double Time or Crate Shower, using it would have no effect.
    • [DC] The v3.7.0.0 feature "When a Double Time crate is collected by an animal, the animal's remaining fuse time is now doubled." had the following bug and flaw:
      • Bug: It was possible to "double dip". If the team lost its turn before their animal collected the crate, and/or a delay was set for the Double Time utility (which wasn't possible in the scheme format at the time) and the crate fell in a crate shower, the animal's remaining fuse time would still be doubled, but the Double Time crate would not be consumed and would instead be added to the team's inventory, thus doubling the turn time of their next turn.
      • Flaw: The one-use-per-turn limit (for turn/retreat time doubling) and the one-use-per-animal limit (for animal fuse time doubling) were applied independently.
      Both the bug and flaw have been fixed by changing the logic of this feature. Now, anytime the Double Time instant utility is activated, either by direct collection by a worm, collection by an animal, or by being present in a team's inventory at the beginning of their turn, it will double the remaining fuses of all active animals owned by that team at that moment.
    • [DC] An active crate shower (initiated by a Crate Shower instant utility) blocked pending worm damage and deaths, and forced an Indian Nuclear Test to wait until the crate shower finished before returning the worm that fired it to a normal state.
    • [DC] With BattyRope enabled, inactive worms on Jet Pack, Ninja Rope, or Bungee would be able to collect crates during others' turns.
    • [DC] With BattyRope enabled, the fuel display for any inactive worm on Jet Pack would be hidden if another worm on the same team was currently in retreat. (Strictly speaking this fix doesn't affect the game logic, but it is tied to the logic version so that all players will see the same thing.)
    • [DC] The check making it impossible to use worm selection while the turn timer is paused (e.g. showing pending damage, or during the first shot of a Shotgun or Longbow with "Worm Selection is never cancelled" enabled – see Footnote 7) was only being done at the keyboard input level, not at the game logic level, thus making it possible to circumvent.
    • [DC] Under certain circumstances, using worm selection could override the remembered weapon of the next selected worm. This could happen in either of two ways:
      1.Start a game with BattyRope enabled. Use a W:A client of v3.7.0.0 or earlier, before the addition of the feature "The game no longer checks for the Tab key being pressed unless the current worm is in worm selection mode, and the key is now checked before all other keys, allowing the selected worm to be moved on the same frame as it is selected." Get on Rope / Bungee / Parachute / Jet Pack. Select "Select Worm", then press Enter and Tab simultaneously. The next selected worm's remembered weapon would be overridden by "Select Worm".
      2.Start a game with "Worm Selection is never cancelled" and "Weapon use doesn't end turn" enabled (see Footnote 7). Fire only one shot from Shotgun or Longbow, or 1-4 girders from Girder Pack. Press Tab. The next selected worm's remembered weapon would be overridden by the weapon just used.
      Although the nature of this bug is easier to see with the RubberWorm "Remember weapons" option enabled, it still happens without it, except that the remembered weapon is overridden by a different default weapon (unless Shotgun or Longbow is the one doing the overriding).
    • [DC] With "Worm Selection is never cancelled" enabled, it was possible to fire more than one weapon in a single turn (even with "Weapon use doesn't end turn" disabled – see Footnote 7). This could be done in two ways:
      1.First, incompletely use a multiple-shot weapon (fire only one shot from Shotgun or Longbow, or 1-4 girders from Girder Pack). Then press Tab and Space simultaneously (Latent bug exposed by a feature in v3.7.2.1) to make the next selected worm fire its default/remembered weapon – or by other means, switch to any worm (even the same one that fired the first weapon, by switching to another worm and back), select any weapon, and fire it. This could only be done once per turn, for a total of two weapons used in a single turn.
      2.With BattyRope enabled, get on Rope / Bungee / Parachute / Jet Pack with at least one worm, then fire up to 127 weapons in a single frame (optionally selecting a different weapon each time) by doing round-robin worm selection in-between weapon firings.
    • [DC] For the purposes of crates releasing sheep when detonated, and Sheep Heaven's effect on crate probabilities, Sheep Launcher crates were not counted as containing sheep.
    • [DC] With "Worm Selection is never cancelled" and "Loss of control doesn't end turn" both enabled (see Footnote 7), it was possible to kill all of one's own worms, with one of them still being temporarily controllable (a zombie worm); at this point, pressing Tab would crash the game, because there would be no worm with nonzero energy to switch to. Pressing Tab in this situation now has no effect. (See Footnote 2.)
    • [DC] Latent bug introduced in v3.6.26.4 and made possible in v3.6.28.0 by RubberWorm: If a worm firing a Ninja Rope repeat shot while "sliding" on a surface (actually bounce-sliding, which can only happen with RubberWorm bounciness enabled) came to a stop before the rope attached, then whichever weapon had been selected would be "fake fired" (used without being fired). With every weapon except for Ninja Rope, Bungee, Parachute, Select Worm, and utilities, this would trigger the beginning of retreat time. With multiple-shot weapons (Shotgun, Longbow, or Girder Pack) this would also display the message "N Shot(s) Remaining", although it was not possible to fire the remaining shot(s). With Shotgun and Longbow, it would additionally force the rope to detach and block all movement for the duration of the retreat. (However, with Select Worm selected, it would actually be fired for real, allowing subsequent worm selection while still on the rope, even without BattyRope enabled – although the rope would be detached when switching to the next worm.)

Changes
  • [DC] A DPI-awareness manifest has been added to W:A. On systems running Windows Vista and later, with a custom DPI setting, this prevents W:A's GDI-mode dialog boxes (such as the "Export Video" dialog, and the dialog that acknowledges "Export Log" having finished) from being rendered with a fixed-size font and resampled (which made the text look blurry at DPI settings higher than 100%).
  • [DC] From v3.6.26.4 onward, when a checksum mismatch occurred in an online game, the local checksum and the incorrect remote checksum were both recorded, such that in playback or Export Log it would appear as a "Remote Checksum Mismatch" error. In the case that upon playback, the remote checksum that was incorrect at the time the game was being played is now correct (according to the instance of W:A used for playback), it was displayed as "Remote Checksum Good", a useful feature for analysing the causes for desynchronisations. In v3.6.30.0 a more comprehensive format for recording remote checksum errors was introduced, however, a simple remote checksum error recorded in this format was no longer printed in an informative way (there was no differentiation between a remote checksum that was good or bad according to the instance of W:A doing playback). It is now printed in the same way as the older format ("Remote Checksum Mismatch" / "Remote Checksum Good").
  • [CS] The error message displayed upon failing to load a WormKit module has been improved.
  • [CS] On Windows systems running Windows XP or newer, the default graphics API is now Direct3D 9 (shader), with the alternative fallback renderer being changed to DirectDraw (32-bit). This replaces the first-start suggestion to enable Windows compatibility flags on Windows 8 and newer.
  • [DC] The Export Video dialog box has been rearranged.
  • [DC] When hosting a password-protected game, W:A sent the password to the WormNET server using the &Pwd=string parameter in the HTTP request, resulting in a potential violation of privacy. Now it simply sends &Pwd=1 instead if the game is password-protected, and no &Pwd= parameter otherwise.
  • [DC] There was an unnecessary 1 second pause upon showing the "Please wait... working..." dialog, whenever starting a game from the front end.
  • [DC] W:A no longer shows a warning if it has been run "as administrator", because the bugs that happened in this situation have been fixed.
  • [DC] In v3.6.19.7, a bug was fixed in which the text cursor of a combo box wasn't properly updated when selecting a different item in the drop-down list. The fix was to always move the cursor to the end of the text in the combo box upon closing the drop-down list. This fix ignored the fact that if the list is opened and closed without selecting a different item, the best behaviour would be to keep the text cursor where it was; this is what is now done.
  • [DC] Display mode changes are now avoided in some additional cases. If the desktop resolution, front end resolution (640×480), and in-game resolution are all different, then this can potentially prevent the monitor from blanking out for a period of time while changing modes.
    • [DC] When starting a game from the front end with a Direct3D 9 renderer in use, W:A no longer switches to the desktop's video mode before switching to the in-game video mode. (Note that with a DirectDraw renderer in use, this was already the behaviour since v3.5 Beta 1.)
    • [DC] When exiting from a game and returning to the front end with a DirectDraw or Direct3D 9 renderer in use, W:A no longer switches to the desktop's video mode before switching back to the front end's video mode.
  • [DC] The Direct3D 9 renderers no longer explicitly release and recreate the Direct3D 9 device upon restoring from a minimised state.
  • [DC] The DirectDraw renderer no longer has a frame rate limit. (In v3.6.31.2b, a frame rate limitation of 100 fps was added; in v3.7.0.0 the limit was changed to 125 fps. The Direct3D renderers added in v3.7.0.0 never had a frame rate limitation.)
  • [DC] The Windows Application Compatibility setting (Layer_ForceDirectDrawEmulation) has been removed from the Advanced Options menu, as it is no longer needed to get any renderer to work properly under any version of Windows. For those who had enabled this in previous versions of W:A, it is recommended that you disable it using a version of W:A that still had the option in its interface.
  • [DC] Double-clicking the chat message history box in the LAN Lobby no longer clears the view of the chat history. This was a confusing and not very useful feature, and interfered with double-clicking on hyperlinks (starting when the feature "Web and E-mail URLs are now automatically parsed and converted to hyperlinks in message histories" was added in v3.6.30.0).
  • [DC] Controls such as buttons and input forms of pop-up windows (e.g. Export Video and Playback At) will now use the system style instead of being forced to the classic style (Win2000-like). Also, in all Windows versions they now use the default dialog font instead of forcing use of MS Sans Serif.
  • [DC] The door that covers the special weapons in the Weapon Editor has been repalettised and now looks slightly better than before.

Offline Deadcode

Re: Worms Armageddon v3.8 Released
« Reply #6 on: July 16, 2020, 07:46 PM »
  • [DC] The country code mappings have been updated to include codes that weren't in the original mapping implemented in v3.6.19.7. This maps the location code in the registry (HKEY_CURRENT_USER\Control Panel\International\Geo, which can be set from Control Panel: Regional and Language Options: Location) to ISO 3166-1 Alpha-2 codes. Note that this change does not mean there are any new country flags displayed by W:A, just that the potential to add country flags for the new locations has been added.
  • [DC] The "custom.img" temporary file is no longer created or used.
  • [DC] Address space layout randomisation (ASLR) has been enabled, to mitigate possible undiscovered buffer overflow security vulnerabilities. This option, supported by Windows Vista and later, causes memory layout to be randomised. Some existing WormKit modules may need to be patched/rereleased to account for this.
  • [DC] The in-game clipboard paste feature, added in v3.6.28.0, blocked keyboard repeat on the paste hotkeys Ctrl+V and Shift+Insert. Keyboard repeat now works on these hotkeys, keeping consistency with the rest of the UI.
  • [DC] When loading .CUS maps (colour maps that were saved using v3.5 Beta 1/2/3pre1), the cavern roof flag in the header is now obeyed, rather than detecting it from the top 8 pixel rows of the map.
  • [DC] Commands typed in the in-game chat panel are now case-insensitive; for example, /afk, /AFK, /AfK, /msg, /Msg, and /MSG will all work. (Previously, in-game commands were only accepted in lowercase.)
  • [DC] The behaviour of the OK / Exit and Cancel buttons, and the Escape key, is now consistent and sensible in the Scheme Options and Weapon Options screens.
    • When changes have been made, the Exit button becomes an OK button.
    • Pressing Escape presents the user with the option to save changes and exit, discard changes and exit, or cancel the exit. This behaviour had already been present in the Weapons Options screen, but is now in the Scheme Options screen as well, and has been given a message that more intuitively describes what Yes, No, and Cancel do (and as a side effect, the effects of Yes and No have been inverted).
    • To a lesser extent, the Options menu, Advanced Options screen, and Team Editor have also been made more consistent. The exceptions are that the Options menu and Team Editor still do not detect whether changes have been made, the Advanced Options screen still does not have a visible Cancel button, and the Escape key behaviour has not been changed in any of these screens to match its new behaviour in the Scheme Options and Weapon Options screens.
  • [DC] In front end dialog boxes with a Yes button, the Enter key now acts as clicking Yes, and in ones with a No button but no Cancel button, pressing Escape acts as clicking No.
  • [DC] The team list in the Host/Join screen is now sorted the same as it is in the Offline Multiplayer screen.
  • [DC] The Force Wine virtual desktop option has been removed, as it is no longer needed for running W:A under Wine. If running W:A under a virtual desktop is still desired (e.g. to experiment with using the DirectDraw (8-bit) renderer), it is still possible to do so, either by enabling the "Emulate a virtual desktop" checkbox in winecfg (and closing all instances of wine that were open at the time this setting was changed), or by launching W:A with the command line “wine explorer "/desktop=640x480,Worms Armageddon" [WA.exe's full command-line]” instead of just “wine [WA.exe's full command-line]”.
  • [DC] The centering, alignment, and spacing of front end controls (buttons, text, edit boxes, group-boxes, etc.) have been improved in all dialog boxes and screens.
  • [CS] The </CENTER> close tag is now correctly handled when parsing HTML.
  • [DC] Schemes saved in .WSC format and replay files saved in .WAgame format had different rules for deciding what scheme-version byte value (1 or 2, corresponding to a scheme data size in bytes of 221 or 297, respectively) to use. When saving in .WSC format, the determination was made based on what version of W:A would be needed to correctly interpret all settings in the scheme. When saving into .WAgame format, the determination was made based on which scheme format could contain all the settings used. Both formats are now saved using the latter rules. This may result in some .WSC files that were sized 297 bytes when saved with a W:A version earlier than 3.8, but which when loaded and then resaved using W:A v3.8 or later, will become 221 bytes in size, losslessly.
  • [DC] The game will now display the string NET_CONNECTIONDELAYED when connecting to a hosted game takes at least 5 seconds. This string explains that the connection is taking a while, and gives some rudimentary advice as to what may be causing the problem.
  • [CS] Scheme files with a mismatching file size will now no longer be hidden from scheme selection dropdowns. Instead, an error message will be displayed when attempting to load them.
  • [CS] The background debris graphics in the front end is now animated at a constant speed, regardless of the vertical sync settings and frame rate.
  • [DC] The text cursor (caret) in the front end is now animated at a constant speed, regardless of the vertical sync settings and frame rate.
  • [DC] The water graphics in the Map Editor are now animated at a constant speed, regardless of the vertical sync settings and frame rate.
  • [DC] Code has been added to correctly emulate the v3.7.2.2 build released on Steam, whose version numbering intersected with internal alpha builds of the game developed independently.
  • [DC] Fonts in the front end which were previously completely non-antialiased (rendered with a single solid color) are now antialiased. This is done dynamically, adapting to the current palette, and is recalculated every time the palette changes, for every font that was not previously antialiased. As such, it may conceivably cause a slight slowdown in some circumstances, and has been made optional; to disable or enable it, use the FrontendFontDynamicAntialiasing_Off.reg or FrontendFontDynamicAntialiasing_On.reg registry tweaks, respectively. It defaults to being enabled.
  • [DC] In the Network Join screen, if the last scheme received from the host is invalid, this condition will now be shown (analogously to how an invalid map is shown). The host's player name will be crosshatched in red in the player list, and the scheme name will be displayed in red.
  • [DC] If a client in the network game lobby (Join/Next Round/End of Match) receives a signal to start the game that is either malformed, or occurs after receiving an invalid or incomplete map or scheme (which wasn't subsequently alleviated by valid and complete reception of whatever was invalid), the game will now be disconnected, and an appropriate error message will be shown. This avoids what would previously happen in this circumstance, i.e. starting a game that was likely to instantly desynchronise, and creating a potentially invalid replay file.
  • [DC] Deleting a scheme file no longer reverts to "[ Intermediate ]", but rather, retains the scheme file's loaded settings.
  • [DC] When saving a map, the Map Editor assumed that anything after the last "." in a typed filename was an file extension. Any such extension found would be deleted and replaced with the correct extension (corresponding to the current map type, .LEV, .BIT, or .PNG). Now, only supported map file extensions (.LEV, .BIT, .IMG, .CUS, .PNG, and .dat) will be detected, case insensitively, as file extensions to be deleted before the correct extension is appended, and anything else will be treated as a literal part of the filename.
  • [CS] On operating systems where 8-bit DirectDraw is known to be emulated in software (i.e. Windows 8 and newer), it is no longer selectable on the Advanced Options screen.
  • [DC] In the Steam version, the Steam overlay is now told to place itself at the upper-right corner (instead of the lower-right as was the default), to minimize its obstruction of in-game UI elements.
  • [CS] The camera lock feature (activated by pressing Scroll Lock) now no longer resets at the beginning of a local player's turn, i.e., it now always behaves like Shift + Scroll Lock (introduced in v3.6.29.0). Pressing Shift + Scroll Lock now has no additional effect on top of pressing Scroll Lock, though pressing Ctrl + Shift + Scroll Lock can still be useful to activate the camera lock mode which ignores mouse movement on systems where Ctrl + Scroll Lock by itself generates a Break keypress.
  • [DC] Changes affecting game logic
    • [DC] It is now possible to set a weapon/utility to have zero ammo and nonzero delay. Previously, the game would automatically set the delay to zero on anything with zero ammo.
      • Note, this changes the behaviour of team special weapons. Previously, any special weapon that was not a particular team's special weapon could appear in a crate on that team's turn. Any team collecting that crate would then be able to use it without delay, if it was not that team's special weapon. Now, the default delays of special weapons apply to all teams, and no special weapon can appear in a crate until its delay has expired.
    • [DC] It is now possible to use the Tab key to switch worms while the mouse cursor is enabled for a homing weapon, strike, girder, or teleport. This only makes a difference if such a weapon has the "Remember as Default" property (currently only possible with the RubberWorm "Remember weapons" option enabled), and/or the "Worm Selection is never cancelled" option is enabled (see Footnote 7). (Strictly speaking this change doesn't affect the game logic, but it is tied to the logic version for fairness.)
    • [DC] During Super/Aqua Sheep flight, it is now possible to press T to display a thought bubble, and Tab to switch worms (with "Worm Selection is never cancelled" enabled – see Footnote 7). (Strictly speaking this change doesn't affect the game logic, but it is tied to the logic version for fairness.)
    • [DC] The Laser Sight is no longer hidden while a gun is being fired or the turn timer is paused. Since guns can be reaimed while firing (in most circumstances), and the player can plan their move while the turn timer is paused, this makes the Laser Sight utility a bit more useful than it previously was. (Strictly speaking this change doesn't affect the game logic, but it is tied to the logic version for fairness.)
    • [DC] With "Weapon use doesn't end turn" disabled (the default; see Footnote 7), if using Scales of Justice results in the death of inactive worm(s) on Rope or Jet Pack that are nonmoving (in the case of rope, that means perfectly vertical) and resting on land, the transition stripping those worm(s) of Rope or Jet Pack is now animated differently (the same as it was already done with "Weapon use doesn't end turn" enabled); instead of a sudden transition to the worm falling and then standing, the rope is now simply removed, and Jet Pack is dismounted.
    • [CS,DC] When many worms attached to a Ninja Rope were against the floor or a wall (such as due to Batty Ropes being enabled), sounds were getting cut off due to the WormLanding.wav sound effect being played frequently at a low volume. It is now played at the lowest priority (same priority as object-on-object collision sounds) in this case, disallowing it from displacing most other sounds. (Strictly speaking this change doesn't affect the game logic, but it is tied to the logic version so that all players hear the same thing.)
    • [DC] The behaviour of the Sheep Launcher has been changed:
      • New behaviour: The Sheep Launcher (after being fired) is always detonated by a single press of Space. It can collect crates while staying in launcher mode, and doesn't have to directly hit them to collect them – it can collect one merely by passing by it with sufficient proximity, just like a land-walking sheep or a Super Sheep. It only switches to land-walking sheep mode if it hits the terrain, a worm, or an oildrum.
      • Original behaviour: If Space was pressed while the launcher was still in mid-air before hitting anything, it would change its sprite to a land-walking sheep (still wearing the helmet), while otherwise behaving virtually identically to how it did while in launcher mode. It would then take an additional press of Space to make it explode. Directly hitting a crate while in launcher mode would automatically change it to a land-walking sheep, just like pressing Space, at which point it would collect the crate. Only after changing to land-walking sheep mode would it be able to collect crates, and only then would it be able to do so by mere proximity.
      In order to allow players' muscle memory to adapt optimally to this change, when W:A v3.8 and later is emulating older game logic versions, a single press of Space by the local player will still immediately detonate the Sheep Launcher (although if it was in launcher mode, the detonation will happen one frame later than it would with v3.8 game logic). However, the behaviours of automatically changing to a land-walking sheep to collect crates, and not being able to collect them by mere proximity in launcher mode, will remain in effect.

Features
  • [DC] Most in-game motion and animations are now rendered at the hardware refresh rate, rather than being locked to 50 Hz as before. The game engine still runs at 50 Hz, so "tweening" is used to accomplish this. As a result, most in-game motion that used to appear somewhat jerky will now look quite smooth. (Note, tweening of animations is still limited by the number of pre-rendered frames in Gfx.dir. The difference is that now, the available frames are used as effectively as possible.)
    • The "frame rate divider" value for Export Video has been replaced with "frames per second", which can now be given any positive integer value, regardless of whether or not it is a divisor or multiple of 50 fps. Likewise, the FPS-divider argument to /getvideo has been replaced with an FPS argument.
      • Export Video will now work its way through the replay file as fast as it can, instead of defaulting to 1× playback speed – so for the best speed possible, disable "Wait for vertical sync" and "Assisted vertical sync". Playback speed will not be changed in response to the 1-9 keys, but the single-step key S can now be used, and will advance by one exported video frame, not one game logic frame. Subsequently pressing 1-9 after S will resume maximum-speed Export Video.
  • [DC] When loading its water graphics, the game now first tries to load DATA\Gfx\Water.dir, which is a re-rendered version of the original blue water waves – using the same algorithm, but antialiased and animated at a much higher framerate, to make it look good in super-slow-motion playback. If that file is not found, the game falls back to loading the original rendering of blue water waves, Data\Water\Blue\Water.dir (on CD-ROM if running the CD Edition).
  • [CS] Hardware rendering is now available for 8-bit DirectDraw. When enabled, graphics performance should be very close to W:A versions before 3.6.31.2b. An additional hardware rendering option, Use VRAM, has also been added. (Note: Because DirectDraw is emulated in newer Windows versions, this feature is only available on Windows 7 and older.)
  • [DC] It is now possible to save a snapshot of the current map in-game. The map is saved in its current destroyed/augmented state, with the water level set to its precise current level. There are two ways to do this: One is to press Alt+Pause, and the other is to enter /map in the chat panel (synonyms of this command are /mapshot, /snapmap, /savemap, and /getmap).
    • Map snapshots are saved in the User\SavedLevels\Capture folder. In order to facilitate using this folder, it is sorted before all other folders.
    • In order to save the precise water level while keeping the map format backwards-compatible, the water level is written in such a way that in most cases, versions of W:A prior to v3.8 will not be able to preserve the exact water level when opening the file in the Map Editor; however, versions as early as v3.6.28.0 will be able to preserve the exact water level when receiving the map over the network, and when playing back replay files.
    • When saving a snapshot of a map in which indestructible borders are enabled, the exact state of the portion of the borders that is currently underwater will not be preserved if the water level has risen since the game round started, due to the fact that the initial water height preserves the submerged borders, but subsequent rising of water erases the borders.
  • [DC] W:A now handles it more gracefully if Gfx.dir, Gfx0.dir, and/or Gfx1.dir are missing from the DATA\Gfx directory. It will fall back on whichever one exists, in order of preference.
  • [DC] A file named GfxC-3.0.dir has been added to the DATA\Gfx directory. This is a small file containing only the necessary bitmaps (Longbow arrows, Girders, and masks) for emulating versions earlier than v3.6.22.0 and no earlier than v3.0. It is now possible to delete Gfx.dir without losing any functionality (unless the ability to run old EXEs from the same W:A installation is desired).
  • [DC] When the /register parameter is combined with /nowk or /wk, this is now incorporated into the command line of the registered associations.
  • [DC] The R key now functions during instant replays, restarting the replay from its beginning (or the current "bookmark" position, if one was created using the M key during the playback of that instant replay).

Offline Deadcode

Re: Worms Armageddon v3.8 Released
« Reply #7 on: July 16, 2020, 07:46 PM »
  • [DC] Leading zeroes in the instant replay countdown timer's digital number font are now darkened.
  • [DC] This version of W:A can now emulate and interoperate with W:A v1.0. It is possible for an online game to have mixture of v1.0 and v3.7.2.20+ users, and it doesn't matter who is hosting.
    • A file named GfxC-1.0.dir has been added to the DATA\Gfx directory. This is a small file containing only the necessary bitmaps (Longbow arrows, Girders, and masks) for emulating W:A v1.0 without needing to keep a copy of the entire v1.0 Gfx.dir.
    • Note, W:A v1.0 applies terrain textures just like v3.0, but unlike v3.0, it allows the "Tools" texture to be used.
    • When loading a .BIT or .LEV with a date stamp earlier than the release date of the W:A v3.0 patch on 1999.04.23, the file will be assumed to have been saved by W:A v1.0.
  • [DC] Mouse wheel support in the front end has been made comprehensive. All controls that were previously not affected by the mouse wheel, and should have been, now are. Also, mouse wheel input now goes to the control over which the mouse cursor is hovering, rather than to the control that has keyboard focus.
  • [DC] When doing playback or Export Log on a replay of an online game created by v3.6.19.17-v3.6.25.1a, "Checksum Missing" errors that were caused by a Remote Checksum Mismatch are now noted as such. (Before v3.6.26.1, checksums during remote players' turns were only recorded when the remote checksum agreed with the local checksum.)
  • [DC] It is now possible to do Export Log on a batch of multiple replay files. This is currently only possible using the command line:
    /getlogs Path\To\filename-pattern.WAgame [/sort=num] [/from filename.WAgame]
    The meaning of each parameter is as follows:
    • Path\To\filename-pattern.WAgame – The path to the files cannot contain any wildcards. The filename pattern can use a wildcard pattern in "glob" syntax, where * matches any number of characters including none, and ? matches any single character. If no wildcard characters are used, only one file will be processed if it exists.
    • /sort=num – Sorts the file list numerically, e.g. processing match.12.WAgame before match.111.WAgame, instead of the default (which is a case-insensitive ASCII sort)
    • /from filename.WAgame – Skips over all files in the sorted list until filename.WAgame is reached, and then start the batch Export Log from that point onward. This is meant to be used to continue a previous batch Export Log operation that was interrupted before finishing. It must be used with the exact same combination of /getlog and /sort= parameter(s) as the previous run(s), to behave as intended.
    Batch Export Log is currently single-threaded, but multithreading is planned for a future update. Note that while batch Export Log is running, you cannot safely start a new game of W:A or launch a replay playback or Export Log session, due to shared temporary files related to map loading/initialization. This will be fixed in a future update; for now it is still possible to do this safely, by hitting Pause in the Batch Export Log window (it is important to do this while the counter is counting forward from a non-00:00:00 position, because otherwise map initialization might be in progress), launching the other replay or game, and then unpausing Batch Export Log by hitting any key with that window in focus.
  • [DC] The in-game menu that is opened by pressing Esc now remembers your mouse cursor position after being closed. (It is still reset to a centred position at the beginning of each round, however.)
  • [DC] When doing playback / Export Log of an online game replay file created by v3.6.29.24 or later, a checksum that was spurious from the perspective of the local player at the time of recording, but is no longer spurious at the time of playback (due to a difference in game logic or initial state), is now printed as such.
  • [CS,DC] There is now a button on the Advanced Options screen to associate W:A with .WAgame files and the wa:// URL. When appropriate, an elevated WA.exe will be spawned in order to write to protected Windows Registry locations.
  • [DC] It is now possible to take screenshots with transparency. This can be enabled or disabled using the CaptureTransparentPNGs_On.reg and CaptureTransparentPNGs_Off.reg registry tweaks, respectively. This applies both to screenshots taken using the Pause key and to video frames captured using the Export Video feature. Note that transparent areas only exist when all background detail is turned off.
  • [DC] The number of pixels the mouse must be moved within a single frame to temporarily unlock the camera (yielding manual camera control until the mouse has been idle for at least 2 seconds of game time) is now configurable via a registry value. It can also be disabled or set to the default value using the CameraUnlockMouseSpeed_Minimum.reg and CameraUnlockMouseSpeed_Default.reg registry tweaks, respectively.
  • [DC] All options in the Export Video dialog box except for "Start at" and "End at" are now remembered.
  • [DC] The /open command now optionally allows a host to change the game name and password when reopening the game, by popping up a dialog box allowing them to be changed.
  • [DC] The Weapon Editor now provides access to editing the ammo and delay of the Damage×2 utility, which until now was inaccessible in the front end and only editable externally.
  • [DC] A third state has been added to the "Legacy utility key" option (LegacyUtilityKey_Both.reg), in which both keybindings are enabled simultaneously.
  • [DC] W:A can now be used in windowed mode, with all renderers (except for 8-bit DirectDraw with hardware rendering). (Special thanks to StepS for lots of research and testing contributing to this feature.)
    • To enable or disable this, toggle the Windowed mode checkbox in Advanced Options, or use the WindowedMode_On.reg and WindowedMode_Off.reg registry tweaks.
    • Note that although 8-bit DirectDraw works in windowed mode, part of its palette will be incorrect.
    • When in-game, the mouse can be in either a grabbed or ungrabbed state. In the grabbed state, the Windows mouse cursor is hidden, and the mouse and keyboard control the game as if it were full-screen. In the ungrabbed state, the Windows mouse cursor is visible, and it along with the keyboard can be used to move the window, open the system menu, etc., but not to control the game in any way. To switch from the grabbed state to the ungrabbed state, press Ctrl+G, or do anything that takes focus away from W:A (such as using Alt+Tab to switch to a different application). To go back to the grabbed state, either click inside the client region of the W:A window, or restore focus to W:A from an unfocused state by some means other than clicking directly on it (such as using Alt+Tab or clicking W:A's taskbar button).
  • [DC] The file open dialog box used by the Map Editor's Import function now allows opening a file by double-clicking it.
  • [DC] Assisted vertical sync is now supported by all renderers.
  • [DC] The "browser back" buttons on mice and keyboards will now act like the ESC key in the front end, exiting the current dialog/screen.
  • [CS,DC] An option has been added to use OpenGL rendering.
  • [DC] It is now possible to start an offline game with CPU teams only, and no human teams present, pitting the CPU to play against itself.
  • [DC] It is now possible for transitions between the front end and game play to occur in the background while minimised. Previously (from v3.6.30.0 onward), the game always paused during such a switch if it was minimised, and required the user to manually restore W:A before allowing the switch to happen. (In v3.5 Beta 1 through v3.6.29.0, W:A automatically restored itself, stealing focus.)
    • [DC] The AFK (Away From Keyboard) mode (activated by entering /afk or /away in the chat) now works while minimised, and multiple rounds and matches can go by with no user intervention while staying minimised.
  • [DC] The /url command can now be used by a host who is using WormNAT2. This is accomplished by exporting a function from WA.exe (see Footnote 5).
  • [DC] Some files are now preallocated on disk to prevent fragmentation, speeding up their access on hard drives. Currently, this is only done for the temporary file containing the current game's decompressed map (data\land.dat).
  • [DC] In the circumstances where W:A prints to a console window (currently just for /getlog and /repair), it now detects whether stdout is a valid handle, and if it is, it prints to stdout instead of opening a new console window. To make WA.exe behave like a console app from the command line, you can pipe it through "cat" (which must be installed, e.g. from UnxUtils or Cygwin) by appending "|cat" at the end of the command line.
  • [DC] Flags have been added for Vietnam and Kyrgyzstan, and the flag for Iraq has been updated. The flags for Finland, Colombia, Ecuador, and Venezuela have been edited.
  • [DC] Every time a .LEV style map is generated, a corresponding SVG (Scalable Vector Graphics) file is now automatically written, with the filename DATA\landgen.svg.
  • [DC] Six Turkish characters have been added to W:A's font set: ĞğŞşİı
  • [DC] The game has been fully translated to Finnish by Juho Toivanen.
  • [CS,DC] An option to display timestamps (in local time) in front end and in-game chat logs has been added. Currently, this can be enabled by using the TimestampFormat_HMS.reg registry tweak for 24-hour time of day timestamps, and disabled using the TimestampFormat_None.reg tweak. The exact format can be customized by editing the TimestampFormat registry option, the syntax of which is that of the C strftime function. Currently, timestamps are only available for live games, and will not be displayed when playing back replay files.
  • [DC] In the Steam version, W:A will now use the Steam persona name, instead of the system username, as the default nickname.
  • [DC] It is now possible to play on maps up to the maximum size of 32504×32600 (whereas before, only the width or height could be maximum, but not both), as long as the system supports Large Address Awareness and enough memory is available.
  • [DC] It is now easily possible to enter automatic turn-skipping mode in an offline game, by entering /afk or /away in the chat. Previously, this could only be done by pressing Enter and PageUp simultaneously after typing the command.
  • [DC] It is now possible to toggle the displaying of extra information during replay playback that would normally be hidden in a live game. This is toggled by pressing Shift+Alt+Delete in-game.
    Display of the following information is toggled:
    • Crate contents
    • Hundredths of a second in turn time and retreat time
    • Mine fuses and duds
    • Full-time, full-precision display of weapon fuses
    Display of the following is not controlled by this toggle:
    • Allied chat
    • Invisible worms
    • Weapon panel for all alliances
  • [DC] In the Map Editor, it is now possible to automatically view the color preview (or large map thumbnail) while cycling through randomly generated maps via a map thumbnail. To do this, hold the right mouse button while cycling through maps on the map thumbnail (either by clicking, Shift+clicking, or using the mouse wheel, while the mouse is hovering over a map thumbnail). This will have the same effect as right-clicking the map thumbnail immediately after switching to each different map.
  • [DC] It is now possible to have W:A play sound effects while it is in the background. To set this option, use the "Play audio in background" checkbox in the Advanced Options screen, or use the PlayAudioInBackground_Enable.reg and PlayAudioInBackground_Disable.reg registry tweaks. Even with this option enabled, ambient sounds (front end menu loop and in-game ambient music) will still be disabled while W:A is in the background.
  • [DC] The number of the currently selected mission is now visible in the Mission screen. So as not to be overly intrusive, it is displayed in the heading of the "Mission Details" box.
  • [DC] A "Streaming Mode" option has been added. It is intended to be used when broadcasting streaming video of W:A. When enabled, it prevents the IP address from being shown on-screen while joining an online game, prevents the /url command from displaying the URL on-screen, and puts both address and both port fields of the Network Configuration screen in password-entry mode. To set this option, use the StreamingMode_On.reg and StreamingMode_Off.reg registry tweaks prior to starting W:A, or use the /stream command in the WormNET lobby, LAN lobby, or Host/Join/Next Round/End of Match lobby.
  • [DC] It is now possible for the host in an online game to add CPU teams. The game will only be allowed to start if all clients present support this feature.
  • [DC] It is now possible to change the "controller" setting (Human / CPU 1-5) when editing a team, whereas before it was only possible to edit this setting when creating a team.
  • [DC] It is now possible to select and copy text into the clipboard from the next-round and end-of-match screens' Results, Awards, and Details text boxes.
  • [DC] The exact value of the Hot Seat time is now precisely displayed in the front end and can be fine-tuned. To adjust it in increments of 1 second, hold the Shift key while left- or right-clicking to increase or decrease the value. Without Shift being held, this setting will cycle through the values 0, 5, 10, and 15, the same as it used to.
  • [CS] WormNET servers can now specify an IRC port for the game to connect to in the <CONNECT> tag. The syntax is <CONNECT HOST:PORT> (for example: <CONNECT 192.168.0.1:9999>). Previous versions of W:A only allowed connecting to the standard IRC port, 6667.
  • [DC] During replay file playback, the Sudden Death timer is now shown precisely, with hundredths of a second. Note that it is rounded up at the beginning of every turn.
  • [DC,CS] W:A now has a new scheme format, supporting the tweaking of many extended options, some that were previously internal, and some that have been newly implemented. Access to a limited subset of these options was previously opened up by a third-party module called "RubberWorm", and earlier versions of W:A had bundled some subsets of options in the form of the TestStuff, RacingStuff and BoomRacing hosting options, but the options are now all individually accessible. The options come in a range of types:
    • Boolean – true or false. Accessed via a checkbox.
    • Three-way boolean – true, false, or default. Accessed via a checkbox. The "default" state is shown as greyed-out square in the checkbox, and signals that the actual state (true or false) shall be determined from the game logic version.
    • Enumeration – a limited range of values that mean different things. Accessed via a drop-down list.
    • Integer – a whole number. The range varies depending on the option. Some options allow negative values.
    • Fixed-point – has an integer part ranging at most from -32768 to +32767, and a fractional part ranging from 0/65536 to 65535/65536 in 1/65536 increments. The numbers are edited in the UI in decimal form, e.g. 0.00000, 0.00002, 0.00003, ..., 0.99998, 1.00000, ... , 32767.99998. Note that although the game engine tends to round fixed-point values down, the choice was made to round to nearest in the extended scheme editor UI; as a result, many default values are 9-padded (such as 0.24 becoming 0.23999).
    The button used to access these options indicates whether any have been modified from default without the need to enter the screen, and when viewing the options themselves, each individual one indicates whether it has been modified from default, and can be reset to default by clicking that indicator. The options are:
    • Physics
      • Wind can be adjusted, either as the maximum strength randomised wind shall have, or as a constant strength the wind shall have on every turn. In randomised wind mode, the wind bias may be adjusted; this determines how much of an effect the horizontal distance from the map's center of the worm receiving a turn has on biasing the wind to blow in the opposite direction.
      • Gravity can be adjusted, in fixed-point units, where the default is 0.23999 pixels per frame of acceleration every frame (a frame is 1/50 seconds).
      • Terrain friction can be adjusted with high precision, in fixed-point units. The default is 0.95999. A value of 1.00000 yields no friction, and 0.00000 makes objects instantly stop whenever they would normally slide.
      • Rope knocking power can be adjusted as a percentage, optionally overriding the channel or offline value. (The units are the same as in the OfflineRopeKnocking registry tweak.)

Offline Deadcode

Re: Worms Armageddon v3.8 Released
« Reply #8 on: July 16, 2020, 07:46 PM »
  • [DC,CS] New scheme format (continued)
    • Physics (continued)
      • Phased Worms – Controls to what extent allied and/or unallied worms move through and cannot affect each other. There are two settings, Phased Allies, which controls worms' effects on their teammates, and Phased Enemies, which controls worms' effects on their opponents. Each of these can be set to one of four values:
        • Off – default behaviour; worms block other worms, and their weapons both hit other worms and damage them.
        • Worms – worms pass through other worms, but their weapons still hit them and damage them.
        • Worms+Weapons – worms pass through other worms; their weapons also pass through other worms, but when a weapon explodes, its damage still effects those other worms.
        • Worms+Weapons+Damage – worms have no influence on other worms whatsoever, with some exceptions (see Footnote 6).
      • Explosions push all objects (checkbox)
      • Pneumatic Drill Modification (checkbox) – controls whether the Drill imparts horizontal velocity to worms it hits.
      • Petrol Turn Decay (fixed-point) – precisely controls the per-turn rate at which the persistent flames from a Petrol Bomb shrink and eventually disappear. The resulting number of turns for which flames last can go from 1 to 65535, with all values from 1 to 257 being precisely specifiable (beyond that point there are some gaps).
      • Petrol Touch Decay – controls the rate at which persistent flames from a Petrol Bomb shrink and eventually disappear every time a worm touches them (damaging that worm).
      • Maximum flamelet count – The maximum number of individual fire objects (from Petrol, Napalm, or certain explosions) that can exist at once. Once this limit is reached, creation of new flamelets will erase older flamelets.
      • Maximum projectile speed (fixed-point) – The maximum horizontal and vertical velocity at which an object following projectile physics can move, in pixels per frame. A value of zero disables the limit. The default is 32.
      • Maximum rope speed (fixed-point) – The maximum speed at which a worm with a Ninja Rope or Bungee attached can move, in pixels per frame. A value of zero disables the limit. The default is 16.
      • Maximum Jet Pack speed (fixed-point) – The maximum horizontal and vertical velocity at which a worm using the Jet Pack can move, in pixels per frame. A value of zero disables the limit. The default is 5.
    • Gameplay (note that the distinction between “Physics” and “Gameplay” is a bit arbitrary, and mainly exists to divide the settings into different pages)
      • No-crate Probability – Edited in the Game Options screen, not Extended Game Options. Can be enabled or disabled by clicking its icon (a parachuting crate with a red "X" over it). When enabled, allows the per-turn probability of no crate falling to be directly controlled. It has the same units as the Weapon, Utility, and Health crate probability controls that are above it in the Game Options screen, e.g. if all are set to 10%, there will be an equal probability of any four occurrences (25% chance of a weapon crate falling, a utility crate falling, a health crate falling, or no crate falling) on any given turn. When disabled (the default), the original three crate probability controls act as they did before – the no-crate probability is equal to the number of empty squares in whichever of the three crate probability settings are set to any nonzero value (which means that the only way to make a crate drop on every turn is to set each probability to either 0% or 100%).
      • Unrestrict Rope (checkbox) – Allows firing the rope 54 degrees below the horizon, and reduces rope friction/drag. Default off.
      • Maximum crate count on map at once – The game will not spawn crates when doing so would exceed this limit. The default is 5.
      • Sudden Death disables Worm Select (checkbox) – Normally, Worm Select is unavailable after Sudden Death, but you can disable that behaviour here.
      • Sudden Death worm damage per turn – How many health points Worms lose during each turn of Sudden Death.
      • Batty Rope (checkbox) – After the end of their turns, worms with a Ninja Rope attached will remain attached, those using Bungee will stay on it, and those using Jet Pack will keep it equipped. Default off.
      • Rope-roll drops – Whether dropping weapons (using the Enter key) during a rope roll (in-between Ninja Rope swings or after Bungee detachment) is allowed.
        • Disabled – The default. While on the Ninja Rope, weapons can only be triggered while the rope is attached, and not during a rope roll.
        • As from rope only – Weapons that would normally be usable while the rope is attached are also usable during a rope roll.
        • As from rope or jump – Same as "As from rope only", except that weapons that would normally be usable during a jump are also usable during a rope roll.
      • X-Impact loss of control (checkbox) – Whether a horizontal collision (skid or wall hit) at a high horizontal velocity causes loss of control. Default on.
      • Keep control after bumping head (checkbox) – Whether control is retained after an upwards vertical collision with terrain during Ninja Rope or Bungee use. Default off.
      • Keep control after skimming – Whether control is retained after a skim (collision with water at a high horizontal velocity) during Ninja Rope or Bungee use, and if so, whether the ability to reshoot the Ninja Rope is retained.
        • Lose control – default behaviour.
        • Keep control – keep control, but lose the ability to reshoot the Ninja Rope.
        • Keep control and rope – keep control, and retain the ability to reshoot the Ninja Rope, if that was the type of rope in use.
      • Fall damage is triggered by explosions (checkbox) – Normally, Worms thrown by explosions do not experience fall damage, unless they experience horizontal collision(s) before hitting the ground. This setting enables fall damage (in addition to whatever damage caused by the explosion itself) even in the absence of any horizontal collisions.
      • Undetermined Crates (checkbox) – Determines the contents of weapon and utility crates at the moment when the crate is picked up (or a player activates Crate Spy), instead of when the crate is created. The default is for this to be determined by the game logic version (disabled for v3.6.28.0 and older, enabled for v3.6.29.0 and newer). It should only be disabled when all players trust each other not to secretly use information-revealing cheats.
      • Undetermined Fuses (checkbox) – Determines the fuse of mines (when random mine fuses are enabled) at the moment when the mine is triggered, instead of when the mine is created. The default is for this to be determined by the game logic version (disabled for v3.6.28.0 and older, enabled for v3.6.29.0 and newer). It should only be disabled when all players trust each other not to secretly use information-revealing cheats.
      • Pause timer while firing (checkbox) – Whether the timer is paused while a Worm is firing their weapon. Default on.
      • Loss of control doesn't end turn (checkbox) – When enabled, events that cause loss of control will still have that effect, but control will eventually be regained without ending the current turn. Default off.
      • Weapon use doesn't end turn (checkbox) – Allows weapons to be used multiple times in a single turn. Default off.
      • “Weapon use doesn't end turn” doesn't block any weapons (checkbox) – prevents the Earth Quake, Armageddon, and Indian Nuclear Test weapons from being disabled when “Weapon use doesn't end turn” is enabled. Default off.
      • Game engine speed (fixed point) – Changes the speed at which all game physics and sound effects occur. Default 1.00000. Will be shown in blue above the game timer if it has a non-default value.
      • Fractional round timer (checkbox) – Default off.
        • If disabled, the Sudden Death round timer counts down in whole-number seconds. In a scheme with 1 second turns, the round timer will never count down unless a player misses their turn by not firing a weapon. With 0 second turns, the round timer will never count down under any circumstances, and Sudden Death cannot be reached unless manually triggered.
        • If enabled, the Sudden Death round timer counts down in fractions of a second. This is especially useful for schemes with 0 or 1 second turns.
      • Automatic end-of-turn retreat (checkbox) – When enabled, a retreat will be triggered when turn time expires. This is especially useful in "Weapon use doesn't end turn" mode, where retreats aren't possible otherwise. The amount of retreat time depends upon whether the worm is on Rope / Bungee / Parachute / Jet Pack (getting air retreat time) or not (getting land retreat time) when turn time expires. Default off.
        • Note that in "Weapon use doesn't end turn" mode, enabling this option will allow weapons/animals released during the turn to continue to be controlled after the turn and retreat are both finished. To enable this functionality without giving actual retreat time, enable "Automatic end-of-turn retreat" and set the retreat time to 0.
      • Health crates cure poison – Controls what happens to poisoned worms when a health crate is collected:
        • Don't cure – Health crates have no effect on poison.
        • Cure collecting worm – Cures the worm that collected the health crate, or if an animal collected it, cures the worm that released the animal.
        • Cure all worms in team – Cures all worms in the team that collected the health crate, but not other teams allied to that team. Default behaviour.
        • Cure all allied worms – Cures all worms in all teams allied to the team that collected the health crate.
      • Sheep Heaven's gate – Controls what happens if the existing Sheep Heaven "cheat" option is enabled, acting as a gate that only allows the desired effects through. (As such, it has no effect if Sheep Heaven is not enabled.) Any non-empty combination of the following three options may be chosen (the default is all three together):
        • explode – Causes all crates (not just ones containing sheep-themed weapons) to release a sheep upon exploding, which then explodes on impact
        • fuse – Extends the fuse time of Super Sheep, Aqua Sheep, and Sheep Launcher to a number large enough that it should never run out in practice (100,000 seconds).
        • odds – Causes crates to contain sheep more often, by boosting the crate probability of sheep-themed weapons to 400% (where 100% is the maximum that can be set in the Weapon Editor). In v3.8 and later, the sheep superweapon (French Sheep Strike) is also boosted, to 4 times the probability of all other superweapons.
      • Conserve instant utilities (checkbox) – Default off. When enabled, this causes instant utilities to be consumed one at a time instead of all at once, behaving as follows:
        • Damage×2 and Crate Shower: Once activated, no more will be consumed for the remainder of the turn. Further crates collected on that turn will be added to the team's inventory.
        • Crate Spy: Once activated, no more will be consumed for the remainder of the round. Further crates collected during that round will be added to the team's inventory.
        • Double Time: Once activated the maximum times on a single turn (see "Double Time stack limit" below), no more will be consumed for the remainder of the turn. Further crates collected on that turn will be added to the team's inventory.
        • Setting the Damage×2 ammo in the scheme controls the number of consecutive full turn rotations during which Damage×2 will be in effect for all teams. (Whereas with this option disabled, all nonzero ammo values have the same effect.)
      • Expedite instant utilities (checkbox) – Forces instant utilities collected in crates to be instantly consumed in circumstances when they would otherwise be stored in the team's inventory for later activation, such as after the active turn has ended (e.g. by triggering a jump while the turn is still active, such that the worm reaches and collects an instant utility crate after the turn has ended). This prevents instant utilities from being "abused", i.e. being collected at the last moment such that they are saved and activated at the beginning of the next turn. Default off.
      • Double Time stack limit – The number of times a Double Time instant utility can be activated in a single turn. The time multiplier decreases with each use, going 2×, 3/2×, 4/3×, 5/4×, etc. When this limit is exceeded, further collection of Double Time utility crates will have no effect (thus being wasted if "Conserve instant utilities" is disabled, or saved in the team's inventory for activation on its next turn otherwise). A value of 0 represents an unlimited number of activations. The default is 1.
    • Glitches
      • Indian Rope glitch (checkbox) – Whether selecting the Ninja Rope while moving makes it possible to bypass the angle limit and shoot a rope that can even extend straight downwards. The default is for this to be determined by the game logic version (enabled for v1.0 emulation, disabled for all later versions).
      • Herd-doubling glitch (checkbox) – Whether jumping at just the right moment makes it possible to release double the number of Mad Cows as the selected herd count, in a single invocation of the Mad Cow weapon. The default is for this to be determined by the game logic version (enabled for v3.0 and earlier, disabled for v3.5 Beta 1 and later).
      • Jet Pack Bungee glitch (checkbox) – Whether it is possible to trigger a Bungee from mid-air using the Jet Pack. Default on.
      • Angle cheat glitch (checkbox) – Whether selecting the Longbow or Baseball Bat while moving makes it possible to bypass the angle limit of the respective weapon. Default on.
      • Glide glitch (checkbox) – Whether a certain type of leftward collision by a Jumping, post-Drilling, or post-retreat worm can trigger a glitch in which the worm continues moving in the air (with reduced speed) instead of landing. Default on.
      • Skip-walking
        • Disabled – Prevents it from making walking faster than normal.
        • Possible – Makes the skip-walking glitch behave as it historically did. This is the default.
        • Facilitated – Allows skip-walking to be done by repeatedly pressing the Up, Down, or Middle arrow key while walking, similarly to how it can be done by repeatedly right-clicking the mouse while walking. Also makes it possible to skip-walk during retreat time and after the first shot of a Shotgun or Longbow.
      • Block roofing (only affects games played on cavern maps)
        • Allow roofing – As was historically possible, worms can get above the roof of a cavern map through any of a number of techniques/tricks. This is the default.
        • Block above – Blocks worms from getting above the part of the roof that is visible, directly above the map. This works by projecting the roof upwards to infinity from the perspective of Worm collision mechanics, in a way that is ignored by all other types of objects.
        • Block everywhere – Same as "Block above", but also blocks worms from getting above the bottom of the roof everywhere to the left and right of the map.
      • Floating weapon glitch (checkbox) – Whether it is possible to drop a weapon (that normally would fall or fly) onto a surface, such that if done just right, it sits still until its hidden fuse expires before exploding or homing. Default on.
      • Terrain overlap phasing glitch (checkbox) – Controls what happens when an object's collision mask intersects with terrain. If enabled, the object ignores the presence of the terrain and passes through it, until reaching a space free of terrain, after which it behaves normally and collides with any subsequent terrain it encounters. If disabled, the object is pinned by the terrain, until every pixel of terrain that intersects with it is destroyed. The default is for this to be determined by the game logic version (enabled for v3.7.2.1 and earlier, disabled for v3.8 and later).
    • Input
      • Auto-place worms by ally (checkbox) – When worm placement is automatic, group worms by team colour. May make automatic placement feasible even in Fort-style maps. Default off.
      • Circular Aim (checkbox) – When holding the up or down arrow to aim, this will cause the aim to continue moving past the top or bottom, instead of stopping. Intended to make shots at specific angles more challenging. Default off.
      • Anti-lock Aim (checkbox) – The aiming angle is not preserved and is reset between turns (to an angle distinct from the last used one). Intended to make repeat shots more challenging. Default off.
      • Anti-lock Power (checkbox) – Holding down the space bar to fire will cause the power to begin decreasing after reaching its maximum. Intended to make full-power shots more challenging. Default off.
      • Worm Selection doesn't end Hot Seat (checkbox) – With this enabled, using Worm Select does not cause the Hot Seat timer to end and the turn timer to start. Default off.
      • Worm Selection is never cancelled (checkbox) – With this enabled, the Tab key can be always used during a turn to switch to another Worm. Default off.
      • Girder Radius Assist (checkbox) – Prevents the Girder mouse cursor from being moved to positions that are out of range (as determined by the Girder power) such that a beep would result if an attempt was made to place a girder there. As such, a beep will only be able to happen when an attempt is made to place a Girder where it would intersect with an existing object, and never due to being out of range. Can prevent an awkward end of a turn where a player spends time figuring out an ideal girder placement, just to have it denied by being out of range. Default off.
    • Visual
      • Blood Level – Amount of blood (as a percentage), or 255 to use the channel / offline setting value. The offline default is 25%; in the WormNET channel #AnythingGoes, the default is 100%, and in #PartyTime, it is 0%. (Note: The other Blood setting, in "Cheats", is independent and controls blood colour.)
    • RubberWorm
      • Bounciness (fixed point) – Makes worms spring back like a banana (with the respective sound) upon any collision, without any fall damage or loss of control, and sets the strength (coefficient of restitution) of said bounciness. A value of 1.00000 can cause worms to keep bouncing at the same height forever. The ratio of the height of each bounce to the previous one will be the square of this value; as such, a value of 0.5 will cause each successive bounce to reach 1/4 of the height of the previous one, and 0.70711, i.e. √(1/2), will cause each bounce to reach 1/2 the height of the previous one.
      • Air Viscosity (fixed point) – Makes objects such as projectiles experience "friction" when flying through the air, and sets the strength of said friction. A value of 0.00000 (the default) results in no air friction, and 1.00000 would result in no motion through the air being possible. As such, the maximum value allowed is 0.25000, which causes objects to lose 25% of their speed every frame (1/50 second), already an impractically huge amount of friction.
      • Air Viscosity (Worms) (checkbox) – Whether "Air Viscosity" should also affect Worms.
      • Wind Influence (fixed point) – Any nonzero value extends the set of objects that are sensitive to wind, excluding Worms, and sets the level of said sensitivity. A value of 1.00000 gives them the same wind response as Bazooka shells.
      • Wind Influence (Worms) (checkbox) – Whether "Wind Influence" should also affect Worms.

Offline Deadcode

Re: Worms Armageddon v3.8 Released
« Reply #9 on: July 16, 2020, 07:46 PM »
  • [DC,CS] New scheme format (continued)
    • RubberWorm (continued)
      • Gravity Type – Controls how certain objects such as Worms and projectiles are affected by gravity.
        • Unmodified – The default.
        • Standard – Gravity is multiplied normally.
        • Black hole (constant) – Objects are pulled to the middle of the map, with a constant force independent of their distance.
        • Black hole (linear) – Objects are pulled to the middle of the map, with a force that is inversely proportional their distance from the middle. (This is inverse linear, and not inverse square like the gravity of our universe.)
      • Gravity Strength (fixed point) – Controls the extent to which objects such as Worms and projectiles are affected by gravity. With a Gravity Type of "Standard" or "Black hole (constant)", this is specified as a gravity multiplier (with a value of 1.00000 being normal). With a Gravity Type of "Black hole (linear)", this is specified as the distance in pixels at which gravity is of normal strength.
      • Crate Rate – Specifies how many crates can potentially spawn simultaneously at the start of the turn (this will be limited by the value of the other setting, "Maximum crate count on map at once"). With crate drop probabilities set to 100%, causes the exact amount specified to spawn.
      • Crate Shower – Enables continuous crate drops during the turn, up to the maximum set by "Maximum crate count on map at once".
      • Anti-sink – Prevents Worms from drowning when touching the sea (unless done two times in a row). Worms that touch the sea will automatically be teleported to the last piece of land they were standing on.
      • Remember weapons – Prevents the last used weapon selection from resetting to a common weapon regardless of its importance (as defined by the game engine). For example, multiple Bananas can be fired in a row without resetting to Grenades after the first shot.
      • Extended fuses/herds – Enables the use of numeric keys 0-9 instead of just 1-5 to set timed weapon fuses and animal herd sizes. The 0 key will set 0 seconds for timed weapons, and 10 animals for herds.
      • Anti-lock aim – The aiming angle is not preserved and is reset between turns. Compared to the regular Anti-lock Aim option, this always resets the angle to zero degrees in horizontal left or right direction.
      • Kaos mood – Changes the utility crate probabilities (Fast Walk, Laser Sight, Damage*2, Invisibility, Low Gravity, Crate Spy, Jet Pack, Double Time, Crate Shower) from a set of presets, tailored to the "Kaos" scheme. (This will be replaced in a later W:A version with full individual editing of all crate probabilities.)
  • [DC] W:A can now emulate RubberWorm game logic without any third-party modules being loaded. There are two ways this can be done:
    • Replay files of games played using RubberWorm under previous versions of W:A may now be played back with full emulation. However, since RubberWorm did not tag replay files in any way to indicate its use, W:A must be told whether to enable RubberWorm detection when parsing replay files. To enable it, import EmulateRubberWorm_On.reg (from the Tweaks folder) into your system registry, or use the command line options /rwemu=on or /rwemu=off which will override the registry setting.
      • The entire range of RubberWorm versions are emulated. Since emulating the wrong version can potentially cause a desynchronisation, some autodetection is applied. The potential RubberWorm version a particular replay file could have used is first narrowed down according to what version of W:A was used, but for most versions of W:A this doesn't narrow it down to a single RubberWorm version. W:A addresses this issue by using the timestamp of when the replay was originally recorded, and matching this up with the latest RubberWorm version available at the time. This may not always be correct however, either due to users having their system date set incorrectly, or due to their using an outdated RubberWorm version. Thus, the emulated RubberWorm version can be controlled as a Unix time value integer, either by directly setting the registry value EmulateRubberWorm, or by using the /rwemu= command line parameter with an integer in decimal or hexadecimal specifying the desired Unix time override value – for example /rwemu=50EEDF6B or /rwemu=1357832043 will identically set the value to 2013-01-10 15:34:03 GMT, corresponding to RubberWorm v0.0.1.12-13 for W:A v3.7.0.0. For the full list, see 2.0 Supplementary DocumentationIntegration and Command-Line Parameters. Note that the detected W:A version will always override this (the version emulated will be rounded off to the oldest or newest RubberWorm corresponding to that W:A version, depending on the direction in which the time override setting is out of range), so for example, it will not be possible to force emulation of a version of RubberWorm made for W:A v3.7.0.0 when playing a replay file recorded with W:A v3.7.2.1.
    • The new scheme format includes all of the options that were controllable via RubberWorm. The ones that controlled aspects internally present in the game engine (but previously not exposed as scheme settings) are in general categories, and the ones that introduced new game mechanics are in the RubberWorm category.
  • [DC] W:A can automatically import RubberWorm scheme settings (which are stored as nonzero superweapon crate probabilities, values that the game otherwise ignores) into its new extended scheme format when loading a .WSC file. (The RubberWorm game logic version override is also imported, but only as a set of "test version" options, if any, excluding Rope knocking power; the logic version itself is ignored.) This is enabled by default, and can be controlled by importing any one of the following (from the Tweaks folder) into your system registry:
    • ImportRubberWorm_Disable.reg - Ignore RubberWorm scheme settings, leaving them in the form of superweapon crate probabilities (which the game ignores), when loading .WSC files in the front end.
    • ImportRubberWorm_Silently.reg - Silently import RubberWorm scheme settings. From the perspective of the user, it will be indistinguishable from loading a .WSC file that has already been converted to the extended scheme format.
    • ImportRubberWorm_Quietly.reg (Default) - In the Offline Multiplayer screen and Options menu, this behaves identically to ImportRubberWorm_Silently.reg, but in the Host lobby, the message SCHEME_IMPORTED_RUBBERWORM will be printed in the chat history (to the host only) every time RubberWorm settings are imported from a loaded .WSC file.
    • ImportRubberWorm_Verbosely.reg - In all three front end screens where .WSC files can be loaded, this will pop up a modal dialog box showing the message SCHEME_IMPORTED_RUBBERWORM every time RubberWorm settings are imported from a loaded .WSC file.
  • [DC] W:A can now emulate Project X synchronisation bugs (which occur when Project X disables its customisation functionality) during replay file playback. To enable this, import EmulateProjectXBugs_On.reg (from the Tweaks folder) into your system registry, or use the command line options /pxbugemu=on or /pxbugemu=off which will override the registry setting. This applies only to replay files in which the local player was using W:A v3.6.31.0, and should only be enabled if the local player had the Project X WormKit module installed. Replays matching these criteria, in which a Checksum Mismatch or related error occurs during playback, may be "cured" by enabling this option. The emulated synchronisation bugs are:
    • The colours of the flying dirt from when the Longbow or Mole Bomb hit a longbow arrow or girder are not taken from the pixels in the arrow or girder itself (like standard W:A does), but from the initial state of the map. If, at the beginning of the game, there was no land where the arrow/girder pixels currently are, no dirt will fly, thus causing a desynchronisation from clients that are not running Project X (because dirt particles affect the random number seed). In practice this usually happens when an arrow is shot into another arrow, or a Mole Bomb digs through a girder, but it could also happen when an arrow is shot into a girder, or a Mole Bomb digs through a longbow arrow.
    • Unlike standard W:A, large explosions do not erase smaller circles from the soil background. In fact, under Project X the soil background never gets erased at all, whereas in standard W:A it's possible for the entire soil background to be erased. This can cause a desynchronisation if <v3.6.22.0 is emulated.
    • Project X changes a floating-point precision flag (probably due to not setting D3DCREATE_FPU_PRESERVE), causing the physics of RubberWorm's "Black hole (linear)" Gravity Type to be modified slightly, due to intermediate floating-point results being rounded to single precision. Sooner or later players will be desynchronised, if some are using Project X and others aren't.
  • [DC] It is now possible to disable all in-game UI animations. This can be controlled by using the UIAnimations_Disabled.reg and UIAnimations_Enabled.reg registry tweaks; the default is for the animations to be enabled. The following animations are affected:
    • Opening/closing of the in-game dialog box (by pressing ESC) and its quit confirmation box
    • Opening/closing of the weapon panel (by clicking the right mouse button)
    • Opening/closing of the chat panel (by pressing PageDown/PageUp)
    • Scrolling of lines of chat
  • [DC] It is now possible to edit the amount of Jet Pack fuel in a scheme. This is done in the Weapon Editor by adjusting the Jet Pack's "Power"; any value from 0 to 250 may be set, where 0 represents infinite fuel. (This setting was enabled in the scheme format in v3.6.29.0, but until now could only be edited externally.)
  • [DC] To guard against corruption of the team file WG.WGT, its previous state (before the current instance of W:A was started) is now backed up as WG.backup-previous.WGT. This means that on rare occasions when the file becomes corrupted, W:A will now be able to recover from the situation. If this occurs, it prompts the user whether to automatically restore the backup, reset the team file, or do nothing and exit.
  • [DC] Scheme Save and Delete buttons have been added to the Host lobby.
  • [CS] The way translations are handled has been updated.
    • Game language files now include a line containing the version number that they originated from in the header.
    • A new escape sequence has been added for an alternate way to represent no-break space characters: \_
    • Game language files distributed with Worms Armageddon updates are now automatically updated in the same way that English.txt is; for example, if a string has been renamed or deleted in English.txt, the same change is applied to other language files. (Previously, this had to be done manually, and thus imperfectly.)
    • Incomplete game language files distributed with Worms Armageddon updates now include "#TODO" markers for all strings which require translation or review.
    • A new language file, New.txt, is now included. This file can be used as a starting point for translating Worms Armageddon to a new language.
    • localisation.log now includes copy entries, used for newly-added strings which are based on existing strings.
    • A translation tool to facilitate editing of language files is available online at loc.worms2d.info.
    To contribute new or updated translations, please see section 7.0.
  • [CS] A secret password (type-in cheat code) has been added which, when activated, effectively unlocks Full Wormage (makes all scheme settings available). The effect can be undone by typing the password a second time; whether Full Wormage has been unlocked in this way is saved to the registry. The password must be typed in the main menu, and its activation is confirmed by a sound effect. (In a future update, the password will be revealed upon completing all the requirements to unlock Full Wormage normally.)
  • [DC] In order to support a larger variety of image manipulation software (e.g. the GIMP) for use in the creation/preparation of W:A maps, the Map Editor will now recognize PNG files with embedded transparency (i.e. with a tRNS chunk, which specifies the alpha values of every palette entry). If such transparency information is found, it will override the usual means of conveying transparency (a palette value of exact black) and use only the transparency information.
    • PNG maps saved by W:A will now include a tRNS chunk, identifying the first palette entry as being transparent, and all others as being opaque. This will have the effect of allowing image editing/viewing software to interpret the transparency in these maps as true transparency, rather than blackness. It is backwards-compatible; previous versions of W:A will just ignore the tRNS chunk, and v3.8+ will obey it (with no effect, because due to the W:A-specific PNG chunk being present, they would treat the first palette entry, which is black, as being transparent anyway). It affects all PNG maps saved in the Map Editor, sent over the network in online games hosted by v3.8+, and embedded in replay files that were either played offline or hosted by v3.8+. An "Export Map" operation on such a replay file will yield a PNG file with proper transparency.

Offline goom

Re: Worms Armageddon v3.8 Released
« Reply #10 on: July 16, 2020, 07:50 PM »
Thanks for all your hard work Deadcode and everybody :)

Offline Kaleu

  • TUS, Worms Armageddon & The Wheat Snooper Translator
  • TU$ Support
  • Hero Member
  • ***

  • Brazil Brazil
  • cFc cFc clan
  • ea ea community

  • Posts: 4,017
  • Busy playing Dota 2
    • View Profile
Re: Worms Armageddon v3.8 Released
« Reply #11 on: July 16, 2020, 07:56 PM »
aeee
Experience the best TTRR gameplays with my maps!

→ The best of Kaleu ←

Offline TheMadCharles

Re: Worms Armageddon v3.8 Released
« Reply #12 on: July 16, 2020, 08:00 PM »
hmm


Offline Kradie

Re: Worms Armageddon v3.8 Released
« Reply #13 on: July 16, 2020, 08:15 PM »
Thank you Deadcode & team. I appreciate it a lot.
Hated by the masses, please feed me your hatred you have against me by spiting me 9000 times! Only then you can complete your journey to the darkside! Only your hatred can defeat me.



[img width=

Offline Mega`Adnan

Re: Worms Armageddon v3.8 Released
« Reply #14 on: July 16, 2020, 08:30 PM »
Thank you Deadcode and Co.! Very Cool! 8)



Adnan, you are Mega, not Micro and not even faint  :D So fight till the end please.