dxx-rebirth/d2x-rebirth/RELEASE-NOTES.txt

78 lines
12 KiB
Plaintext

RELEASE NOTES
=============
What's new in 0.60
------------------
* Merged code bases and massive code refactorization. [Massive thanks to kp]
* Screenshots are now saved as PNG by default. This reduces size, sometimes very substantially, and simplifies posting screenshots online.
* Screenshot filenames are now date-stamped.
* Homing projectiles now behave like in the original game running at 30 FPS! [Thanks to Drakona, Lothar, roncli, A Future Pilot, Ryusei117 and more]
* Fixed FPS fluctuations with VSync. [Thanks to derhass]
* Flashing effects properly scale to ingame brightness setting.
* In addition to quicksave, there is now a quickload key!
* Original base input sensitivity for all devices and mouse overrun option for mouse. [Thanks to the Retro team]
* Improved collision detection, fixing player damage being way too low in some ocassions. [Thanks to Drakona]
* Reworked OPTIONS menu.
* New texture filtering options! [Thanks to beware]
* Optional timers displaying countdowns for cloak and invulnerability.
* New tracker for Multiplayer games.
* Players can now drop the Quad Laser powerup and Laser powerups 2-4. Players cannot drop Super Laser powerups at all.
* Players can now choose whether respawning is triggered by any input or only by pressing a weapon firing input. This allows players using push-to-talk to speak without respawning, and allows all players to iconify the game while dead.
* When a player exhausts an available weapon, auto-select previously acted as if the player had pressed the key to cycle to the next weapon. Now, it starts its search at the top of the auto-select preference list. Given three available weapons, with priorities #1, #2, and #3, if the player exhausted #2, the old behaviour was to select #3. Now, it selects #1. (Github issue #156).
* Fixed bug which allowed boss robots to teleport to a disallowed segment.
* Fixed bug which caused players to disagree about boss location after teleportation.
* Fixed a startup crash when more than 8 joysticks are present.
* Maximum number of joysticks is unchanged at 8, but is now settable via SConf parameter `max_joysticks`; previously, a source patch was required to change this limit. See also new SConf parameters `max_axes_per_joystick` (128), `max_buttons_per_joystick` (128), and `max_hats_per_joystick` (4).
* Generated boss robots were able to teleport into their starting segment, even if that segment was too small. This is no longer allowed (unless there are no segments into which it can teleport).
* Cloaked robots dropped from other robots will now cloak, rather than rendering with their placeholder texture.
* Internal limits on the number of destructable lights ("delta lights"; 10000 -> 32000), robot materialization centers (20 -> 128), and fuel centers (D1:50, D2: 70 -> both: 128) have been raised.
* Robot homing weapons now pick a target when first fired. Previously, they always began by tracking player 0.
* Using a fusion cannon against a boss which reflects energy weapons no longer produces a multiplier effect. The boss will now reflect only the bolts sent in. Previously, it reflected one bolt for every frame that the shot was in contact with the boss, producing dozens of reflected bolts. Although visually interesting, this was not the original author's intent, and the implementation had several defects. If there is community objection, this change might be reverted or made configurable (Github issue #265; #269).
* Fixed a bug which allowed premature Omega cannon recharging after ~9.1 hours on the same level (Github issue #262).
* Fixed a bug which prevented Omega cannon recharging after ~4459701 years on the same level (Github issue #262).
* Fixed a bug which allowed markers to expire in multiplayer games if the automap was left open for ~5.1 hours.
* Prevented undefined behaviour when a level trigger tries to open a wall where no wall exists. This is also diagnosed to the console, so that the level author can fix the level (Github issue #236).
* Prevented undefined behaviour when playing a demo of a level with some types of invalid reactor triggers.
* Fixed a bug where exploding players were checked for the Flash Missile special. Normally, this was silent and harmless, but it might have produced odd results in mods which apply the Flash Missile special to low-numbered weapons.
* Fixed a bug that prevented the thief stealing energy weapons.
* Prevented undefined behaviour when guidebot cannot reach its goal object (Github issue #232).
* Prevented undefined behaviour when reading demos written by old versions of Descent 2. Old demos recorded trigger transition events even when no trigger was hit (Github issue #177).
* Prevented undefined behaviour advancing to a new level while dead (Github issue #61).
* Added diagnostic to report levels which try to trigger a robot materialization center where none exists. Level authors should modify the level to fix the trigger.
* The command line parser will now reject invalid command line arguments. Previously, they were silently ignored, which could confuse users who misspelled an option (or relied on an option that was later removed or renamed).
* Mission parser now allows comments in more places. This fixes loading chaos.hog (Github issue #203).
* In multiplayer games, the host can now specify players start with a higher laser level, other primary weapons, or powerups. The host cannot grant additional secondary weapons in this way.
* Weapons granted in this way cannot be dropped voluntarily (through Shift-F5) and are not ejected when the ship is destroyed. However, ships receive the granted items on every spawn, so these items are not lost on death.
* In multiplayer cooperative games, players can now choose to see the missile camera view of missiles fired by other players. The game will still prefer a player's own missile camera over the camera of an ally.
* In multiplayer cooperative games, players can now drop four markers each, not two. The game has always allocated space for a total of 16 markers, so that each of the 8 players in a competitive game can have two markers. Cooperative games permit only four players, so each player can be given more markers without requiring additional storage.
* This causes a slight incompatibility with old save games, whereby loading an old game reassigns markers downward. No data corruption occurs, and the feature is of sufficient value that this minor breaking change is considered worthwhile.
* Players can now choose to have auto-select be deferred if a weapon is grabbed while firing. Previously, the choices were to skip the auto-select entirely or to perform it immediately (Github issue #97).
* In multiplayer games, the host can now choose respawn invulnerability as a range from 0 to 4 seconds, in 0.5 second increments; previously, it was 0 seconds or 2 seconds, with no other choices (Github issue #99).
* In multiplayer anarchy games, the host can now configure the game to prefer to spawn players at sites farther from the currently live players (Github issue #108).
* In multiplayer games, the host can now choose to duplicate preplaced primary weapons, secondary weapons, or powerups.
* Added experimental support for uncapped ship turning (yawing, pitching, and rolling), popularly known as mouselook. This is runtime-disabled by default. Players who wish to use it must enable it in Options -> Controls under the heading "Uncapped Turning In:". Separate knobs are provided for single player, multiplayer cooperative, and multiplayer anarchy. For multiplayer games, mouselook must also be enabled by the host in "Game Setup" -> "Advanced Netgame Options" -> "Misc. Options" as "Allow coop mouselook" or "Allow anarchy mouselook", depending on game type. For this feature, any multiplayer game other than cooperative is considered anarchy: "Anarchy", "Team Anarchy", "Robo-Anarchy", "Capture the Flag", and "Hoard", and "Bounty" are all grouped as "anarchy" since all those modes are competitive against other players. If the host does not enable mouselook in the game setup menu, no players in that game will be permitted to use mouselook. A host may permit mouselook for guests while keeping its own controls set to non-mouselook mode. Although the feature is popularly known as mouselook, the implementation controls turning for all input types: keyboard, mouse, and joystick.
* Added experimental support for shuffling powerups in non-cooperative games. Shuffling must be enabled by the host in Advanced Netgame Options. When enabled, all powerups are randomly shuffled at level startup. For this purpose, hostages are not considered powerups and do not participate in the shuffle process, even though anarchy converts hostages into shields before play begins.
* Added experimental briefing directive to show Descent 1 style rotating robots, rather than Descent 2 style robot movies. Invoke with a line consisting solely of "$:Rebirth.rotate.robot N" or "$:$F:Rebirth.rotate.robot N" where N is the decimal index of the robot to show, and all other characters must be present as shown. The first form is visible to legacy clients. The second form abuses a parsing defect in legacy clients to hide the unknown directive, at the expense of toggling the blinking cursor. Use a regular "$F" on an adjacent line to reverse the toggle.
* Players protected by spawn invulnerability are now able to acquire an invulnerability powerup, which will upgrade their invulnerability time from the 0.5-4.0 seconds of spawn invulnerability to the full 30 seconds of an invulnerability powerup. Previously, a player protected by spawn invulnerability was not allowed to acquire an invulnerability powerup and instead received the error "You already are Invulnerable!"; players protected by an invulnerability powerup are still prohibited from collecting a new one until the old one runs out.
* Drastically improved positional accuracy and less latency in Multiplayer games.
* Revamped powerup management in Multiplayer which properly handles and prevents loss and excess of powerups.
* Important packets in Multiplayer are handled in proper order, fixing a multitude of packet-loss related issues.
* A plethora of new Multiplayer options. [Thanks to the Retro team, A Future Pilot and many more]
* Proper chaff effect for bombs in D2X-Rebirth Multiplayer as intended in the original game but never implemented correctly.
* Headlights on player ships will now properly render according to headlight state of the player.
* "Bright Players" Multiplayer option will now only affect players instead of all polygon models.
* Improved thief bot to (hopefully) work more accurate in Multiplayer.
* New Multiplayer GAME INFO screen that can be toggled ingame, too.
* Proximity Bomb spin variance logic now applies also to Smart Mines and pre-placed mines.
* Hoard mode no longer borrows the Proximity Bomb slot for counting player orbs; Proximity Bomb powerups can now be found and used correctly in Hoard mode.
* Fixed some Multiplayer scoring oddities.
* New SP (Options->Gameplay) / MP (Host Game -> Game Setup -> Advanced) options to remove the thief during level load and to restore the thief energy weapon bug.
* Command line option `-tmap` was specific to SDL-only builds and had no effect in OpenGL-enabled builds. It is no longer accepted by OpenGL builds.
* ... and many, many more bugfixes and improvements.
Known issues
------------
* On Windows the mouse is not correctly released if using ALT+TAB to minimize the game. This is not a bug in the program but rather the SDL library. It can be worked around by pausing the game and using ALT+ENTER to get the game to windowed mode. The mosue should not be stuck then anymore.
* Mac builds may suffer from crashes (or other random glitches) when playing MIDI music. This is not a bug in the program but rather an issue in timidity which SDL_mixer uses to play these files. Using a Soundtrack AddOn (which contains OGG files) should fix that problem.