Update 2.2.12 authored by Sal's avatar Sal
## New features ## New features
* Allow saving in modified games (!1749) * Single-player files can now save when using mods! (!1749)
* Multiplayer emblems and unlockables (!1756) * Emblems and unlockables now work in Coop mode! (!1756)
* Implement per-texture offsets in UDMF (!2018) * These are handled per-player, but the gamestate for unlockables is based on what the server has. (what levels are available in level select, linedef executor triggers, etc...)
* New skincolors, color grid view for skincolor selection (!2027) * The multiplayer pause menu now displays the same stats as singleplayer, and use Emblem Hints + Emblem Radar.
* Modders: Added the "ShareEmblems" option to MainCfg, which makes Emblems collected by clients share with the server host, intended for progression-based level packs.
* Several new skincolor features: (!2027)
* Added 44 new base skincolor options.
* Updated the default colors for Knuckles, Amy, and Fang.
* Added color grid view for skincolor selection. Press Enter on the Color selector!
* Added the ability to press PageUp/PageDown to scroll through colors faster.
* Added some extra keys to the Player Setup menu for modders:
* Press Pause/Break to pause the character's walking animation.
* Press Insert to preview the current skincolor's opposite color shade on the background.
* Added the `renderhitbox` console variable, for modders to debug & fine-tune custom object hitboxes.
* UDMF: Implement per-texture offsets. (!2018)
* SOC: Added A_Shockwave, which spawns a ring of objects like Sea Egg's attack. (!1777)
* Lua: Added player power `pw_strong`. This allows for fine-tuning of player attack interactions. (!1366)
* Lua: Added time/date functions from the `os` library. (!2060)
* Christmas Mode will nevah die.
* Lua: Add `dispoffset` as a property for `mobj_t` userdata. This allows you to edit this directly instead of being tied to their `mobjinfo`. (!1708)
* Lua: Added access to floor/ceiling plane offsets, angle, and lighting. (!1884)
* Lua: Added R_TextureNameForNum and R_CheckTextureNameForNum, for getting strings from texture IDs. (!1880)
* Lua: Added `ping` as a read-only property for `player_t` userdata. (!2025)
* Dedicated servers: Added the "dedicatedidletime" console variable. This stops game logic from running when your server has no players interacting with it after the specified amount of time. Defaults to 10 seconds, can be turned back off by setting to 0. (!2019)
## Improvements ## Improvements
* Turn dispoffset into a mobj field (!1708) * Using an unlockable Level Select now gives you the option to use it again from the pause menu. (!1756)
* LUA_EnumLib optimizations for constant value access (!1721, !2017) * Raised several unlockable-related limits. (!1988)
* Refresh Sprite2s (!1750) * Allow targeting invulnerable bosses. (!1917)
* Plane scroller & wind/current/pusher improvements (!1811) * Don't break targeting when bosses take damage. (!1917)
* Reallow score chains from rolling (!1833) * Added HUD icons for timed NiGHTS powerups if powerup display is enabled. (!1949)
* Interpolate console animation, make con_height update on the fly (!1878) * Bomb spheres are no longer attracted by the Attraction shield. (!1953)
* Allow targeting invulnerable bosses & don't break targeting when they take damage (!1917) * Score chains can be gotten from rolling again. (!1833)
* Add HUD icons for timed NiGHTS powerups (!1949) * Interpolated console animation. (!1878)
* Don't attract bomb spheres with Attraction shield (!1953) * Drop shadows are now interpolated while their caster is scaling. (!1986)
* Small text colormap tweaks (!1971) * Added extra colors to the NiGHTS Link palette cycle past 600. (!1811)
* Optimize field lookups in Lua metatables (!2024) * 3D model improvements: (!1840)
* Simplified the way invcolor works (!2027) * Support sprite x/y offset, adjusts the model position sideways relative to the camera.
* Support sprite x/y scale; x scale adjusts model horizontal scale, y scale adjusts model vertical scale.
* Sprite roll angle is now handled like Software, where the roll is done relative to the camera.
* Note for modders: `rotaxis` in spriteinfo has been deprecated, as it is now handled automatically.
* Console improvements:
* Added "true" and "false" as possible values for console variables. (!2049)
* Show list of aliases when typing "alias" alone. (!2055)
* Replace existing aliases if there's already one with the same name. (!2055)
* Changed function key behaviors:
* F10 now toggles fullscreen and windowed mode. There is also now a separate resolution used for windowed mode.
* F11 now toggles the current renderer.
* Netcode improvements:
* Drastically improved input pacing when connected as a client with interpolation turned on. (!2046)
* The game puts you in a "waiting for next level" state when trying to join on intermission, avoiding a desync. (!2019)
* Prevent connection timeouts during fade transitions. (!2019)
* Clients are now consistently given a connection timeout when their delay reaches past the end of the backup buffer. (!2019)
* Refresh all character sprites when new Sprite2s are added. This makes characters able to supply animations for level packs without being load order dependent. (!1750)
* Binary map format: Plane scroller & wind/current/pusher improvements: (!1811)
* Adds new linedef actions 516-518, 526-528 and 536-538, for scrolling/carrying both floors and ceilings simultaneously.
* Checking the Effect 6 flag on these actions allows setting the scrolling/carrying/pushing speed/strength via the front X offset, instead of the linedef's length.
* SOC: Custom gametypes with both teams and lives now shows your lives count. (!1579)
* SOC: Simplified the way the `invcolor` property for skincolors works. (!2027)
* Lua: Overriding SOC actions using `super` now respects other loaded mods. (!1737)
* Lua: Optimized `LUA_EnumLib` constant value access. (!1721, !2017, !2034)
* Lua: Optimized field lookups in metatables. (!2024)
* Small tweaks were made to text colormaps for custom graphics. (!1971)
* Crash handler messages were made more descriptive. (!2042)
## Bugfixes ## Bugfixes
* Fix IPv6 (!1612) * Fixed IPv6 support being broken. (!1612)
* Allow adding cosmetic addons mid-save (!1877) * Allowed adding cosmetic addons mid-game. (!1877)
* Handle other sidedef correctly when attaching to a wall to climb it (!1908) * Improved collision detection & slope interactions for players with different sizes than normal. (!2013)
* Refactor P_CheckSector to prevent crushing oddities with multiple players (!1946) * Fixed linedef action 420 being unable to lower light levels properly by default. (!1977)
* Fix linedef action 420 being unable to lower light levels properly by default (!1977) * Fixed linedef actions 319 and 320 being unable to use the last unlockable. (!1988)
* Fix segfault when P_RemoveMobj is called within A_FaceTarget action (!1974) * Refactor `P_CheckSector` to prevent crushing oddities with multiple players. (!1946)
* Fix segfault when shields are removed after thinking (!1975) * The Emblem Radar now automatically turns off when all emblems are collected in Emerald Hunt maps. (!1946)
* Fix segfault when going up steep slopes in rare cases (!1978) * Updated a line slope error message to be more helpful. (!2040)
* Fix segfault when Crushstaceans hit a player with Armageddon shield (!1980) * No longer crash when getting a character with missing sprite frames. (!2039)
* Fix I_GetFreeMem for 64-bit platforms (!1982) * Spikes no longer eject non-solid objects. (!1674)
* Fix scrolling backgrounds (!1985) * Fix instances of string arguments being used as constants being converted incorrectly by the UDMF converter. (!2061)
* Interpolate shadows when scaling mobjs (!1986) * Fix cutscenes being desynced in netgames since v2.1. (!2022)
* Fix flung spheres not using the blue sphere collection effect (!1995) * Fix A_FishJump regression in binary format maps. (!2035)
* Fix camera interpolation never being reset (!2008) * Fix 0 being considered a valid linedef executor tag for bosses. (!2037)
* Fix collision issues with thinner and wider players (!2013) * Fix a few instances of linedef exeuctors being canceled early. (!1944)
* Fix segfault when ghost dies from a death pit (!2026) * Fix Mario Mode's invincibility color cycle not working. (!2027)
* Fixed Mario mode's invincibility & NiGHTS score sprite color cycling (!2027) * Fix NiGHTS score color cycle not working. (!2027)
* Fix scrolling menu backgrounds overflowing. (!1985)
* Fix flung spheres not using the blue sphere collection effect. (!1995)
* Fix camera interpolation resets. (!2008, !2011)
* Fix `con_hudlines`'s value being off by one. (!1931)
* Fix time overflow with `con_hudtime`. (!1931)
* Fix wall climbing not taking into account the other side of the wall. (!1908)
* Fix credits zig zag being colored differently than in-game. (!1746)
* Fix inaccurate FPS counter. (!2047)
* Fix crash when fading music. (!2043)
* Fix crash when a ghost dies from a death pit. (!2026)
* Fix crash when `P_RemoveMobj` is called within `A_FaceTarget` action. (!1974)
* Fix crash when shields are removed after thinking. (!1975)
* Fix crash when going up steep slopes in rare cases. (!1978)
* Fix crash when Crushstaceans hit a player with Armageddon shield. (!1980)
* Fix crash when attempting to set read-only properties on players. (!2032)
* Fix crash when exiting game with devmode automap open. (!2044)
* Fix `I_GetFreeMem` for 64-bit platforms. (!1982)
* Removed the last remaining traces of a temporary FOF type from UDMF development. (!2038)
\ No newline at end of file