diff --git a/ChangeLog b/ChangeLog index 37fa07c13a4..e18f89d36bb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,139 @@ +2024-06-23: Version 4.5.0-beta1: +* General: + * Add: Emscripten support (too many commits, #3613, #3630, #3643, #3730, #3743) + * Add: Alert the player to the Lassat being ready via text and audio cues (commit:83f03f31ec40e8d5d55931b41155b1aa65535abd, #3738) + * Add: Automatic assignment of units produced in factories to groups (too many commits, #3628, #3804, #3806) + * Add: Add an in-game guide viewable in the escape menu and teaching the player fundamentals throughout the campaign; Various internal UI improvements; Add guide.js to libcampaign (too many commits, #3836, #3863, #3865, #3876, #3893) + * Add: Formation speed-limiting (too many commits, #3904) + * Fix: Reset pitch on moving VTOLs after saveload (commit:8346cc2c6356f03deeda66f71aaca6e1405e9393, #3555) + * Fix: Return to base/LZ when set to retreat at a health level without HQ or repair units/structures present (commit:6a6832aca59e55b43c654d73e3692804c94500e6, commit:dfb2aea8a6d4b24b78fc2631cc99cefc9ebed4bd, #3557) + * Fix: Do not override saved camera position in skirmish saves (commit:36f970660b09d307a3303740595d3ccc7a598c74, #3558) + * Fix: Calculate weapon pitch from turret base to prevent wobbly effect on turret when very close to target (commit:e39e763259ca55539ad522159b13383270d37f14, #3538) + * Fix: Fix damage formula against structures and features incorrectly using Green rank damage reductions since v2.0.10 (commit:a19141ce7e58deaf35494e081da582321d3f9cd9, #3361) + * Fix: Fix fully armed VTOLs attached to sensors sitting down near former targets (commit:86bb59be4e2fed457f89387f8555b53a116e78d4, #3573) + * Fix: Various potential crashes (too many commits, #3646, #3647, #3657, #3789) + * Fix: Prevent scouting/patrol allowing CB droids observing something (commit:748df17934f2614811df7ed374f1ab48083f9933, #3685) + * Fix: Prevent droidUpdateBuild() passing a negative buildRate to buildStructure(), causing allies to delete your buildings sometimes (commit:d04f77d3707f9e8c38d9de64e8062e7cbfa65848, #3744) + * Fix: Prevent in-game menu saves changing the challenge score data with the wrong name. Thus not showing score on the challenge tip (commit:af14f626177bb190c164fbc7d9d8164c3472f24d, #3763) + * Fix: When upgrade change value is negative, use iDivFloor() to floor values (commit:2f00d6def39a0fad713b8210dd7d82268bbe7728, #3795) + * Fix: research.json: Add support for new "calculationMode" option to avoid accumulated rounding errors (commit:43e8fb0e1dcb76663444b317fc179de2ab068df9, #3796) + * Fix: Load saved research state before any droids or structures are loaded fixing research attribute re-application issues for home map objects (commit:ca7c20dde8769aeb373c78f77d1a32b409fd0312, #3816) + * Fix: Prevent sudden tab jumping in the build menu when trucks start a new structure (commit:4b17d7c439dbf9154dfc9bb82b4a45e519cbe2f8, commit:ec5362fc2598b1a625def9a0b98a898755812fbe, #3817) + * Fix: Enforce Weapon Pitch Limits + Fix Weapon "Unlatching" (commit:ce0014566e01034e0faa2afc73ac512bfe6676d4, #3821) + * Fix: Improve functionality of favorite buildings (commit:30ae267472c855127f534f4bdae576847cd13ab8, #3841) + * Change: Teleport units next to Nexus Links (commit:78f09c0a8f0dc3eaf36e4795366902e02eb4e0b7, #3556) +* Graphics: + * Add: Support for per pixel point lights (too many commits, #3587, #3610, #3614, #3672, 3784) + * Add: Add ability to reload model textures at runtime in the debugger (commit:d82483a1295c36b228d83ed2db1e17e1584887a4, commit:86b7b0104431004b34d4505113c97509035ec05a, #3599) + * Add: Let trees cast shadows and improve tree models. Plant them better to the terrain. (too many commits, #3679) + * Add: Add Collective/Nexus faction Forts, Collective mortar pits and bunkers, Collective T/L shaped walls, fix seams on Nexus bunkers (commit:130be3890753a321fac90997f6fa971080031e4d, #3822) + * Add: Give the Assault Gunner cyborg a unique weapon model based off the Assault Gun (commit:82e5de679df55c3a6f900aae6183b0aff9b083ae, #3875) + * Add: New light cyborg variants of the HVC and TK for Beta campaign (commit:5c137c5dea90992e2f7eceab6f89e85bce426605, commit:6b9e442095b5a96415faafe71f48099e2fa4fab8, #3875) + * Add: OpenGL: Detect GL_CLAMP_TO_BORDER extensions; glad: Add OpenGL ES 3.1 + 3.2 (too many commits, #3896) + * Fix: Rendering order of translucent models (i.e. baseplates) vs additive effects (commit:69681de090420cade30eddefc4e862fa7e99652b, #3614) + * Fix: Limit height of scrollable lists, notably fixing translation link being barely clickable (commit:9426f096a5e865b6c5a17d54bf648ef0925ec738, #3621) + * Fix: Fix object animation precision so as to prevent shake effect (commit:34b751620c9984580ce556e379ac585449fe400a, #3652) + * Fix: Fix vertex-winding between Blender PIE addon and Warzone 2100 (commit:4f78fe6c4923ab8a3cba5b3ef3f7be15e42a3f73, #3666) + * Fix: Normal terrain quality water + fog, adjust blending (commit:715d12d1f7da327f64b5d3333c918acd638bb3ab, #3693) + * Fix: Fix tiles under skyscrapers not changing to rubble (too many commits, #3731) + * Fix: Fix bad connectors on Mantis body resulting in odd VTOL weapon location placement (commit:70c1ca95cdaf963ceef9c7a0361abada40e6b260, #3786) + * Fix: Fixed weapon model issues on the Tank Killer and Super Tank Killer cyborg (commit:1b5cadd9836f6e9e2b2c18b7dd8c7805a9e184c0, commit:37d41ababf08f448975db6ead52aee82454e2973, #3875) + * Fix: Prevent shadow issues with all the non-fort rail weapons; Fix UV coords on some other mount models causing lime green areas on some (too many commits, #3890) + * Change: Process child widget clicks based on z-order, partial refactor of Radar widget (too many commits, #3655, #3662, #3664) + * Change: Adjust skybox fog (commit:83a3afd69dc38fbe2b66fe5ae28bf464dbac8f84, #3673) + * Change: Warn if OpenGL version is below 3.1 as we may likely remove support for them at some point (commit:d8ce8ba76b9e684fe9fa23c1f42783fffa7418e5, #3870) +* Campaign: + * Add: New Campaign Selector, enhanced support for campaign mods (and campaign balance mods). Includes a "Classic" balance option seemingly comparable to at least 2.3.9 (with a 3.2.x option) (too many commits, #3688, #3702, #3756, #3768, #3789, #3796, #3813, #3815, #3881) + * Add: Add tweak options such as auto-gain power after mission end, 40 unit limit, using classic timers, and auto-saves only mode granting 1 save at the start of a mission (too many commits, #3688) + * Add: Allow campaign library to map tech to map created artifacts, allow adding/deleting managed tech (commit:dc906767823af3bddd1acf2838265682e2ed126c, #3752) + * Add: Package + bundle the Reclamation & Fractured Kingdom add-on campaigns (too many commits, #3827, #3902) + * Fix: Remove transport timer on mission results screen after losing offworld or beating Gamma 9 (commit:063874aacf1ce4205aaea538e9131808b766ba5e, #3563) + * Fix: Prevent issues with Commanders losing groups, or Commander groups being "tied" together, after offworld transition or saveloading (commit:ba37c6ecc04a1da3c348d6a0408faab5838df9d4, commit:28f50a76c094dde37e79ce5b0efa79873c1a8b9f, #3596, #3728) + * Fix: Use initNoGoAreas() to prevent LZs from persisting across missions blocking areas that could be built on (commit:d0f004954ff136acc04bd5a2314d71f21b123bc7, #3602) + * Fix: Prevent launch button disappearing on LZ compromise until widget gets reopened (commit:f0f7bfc1f22cdf38a4e05a8df3ee5fcdfe92b954, #3604) + * Fix: Let debug mode persist across missions again (commit:8602760d68f074714aa7868545b3af85f46b14f6, #3742) + * Fix: Don't force player to destroy the Gamma 2 base to win (else would have to destroy it after the nuke event). Add hover unit anti-cheese on Alpha 12 land path factory triggers (commit:dc906767823af3bddd1acf2838265682e2ed126c, #3752) + * Fix: Prevent noisy assert when attemping to load saves when a flag position is outside scroll limits such as on Gamma 6 (commit:f96ba155a1716590efde7a1b0cef526801aec7cd, #3769) + * Fix: Prevent picking up artifact multiple times if units are within range at the same time (via a clone wars cheat for example) (commit:e35f41182bf0dd56f3b4d62ea7e872e48f7c41ae, #3736) + * Fix: Fix LZ flare position being 1 tile off for LZs on Beta 10 and Gamma 8; Bring back Mobile Repair units on Gamma 4 and replace MRP towers with TK hardpoints (commit:4ba5e83f215ef01dab7587376edd48f6dd8d8a6d, #3811) + * Fix: Improvements to video handling. No more 1 frame flicker if no videos installed (too many commits, #3813) + * Fix: Prevent "return to LZ" displaying and playing at the end of Gamma 2 sometimes (commit:4424f877be89401642acc14bd0b7e486128afb03, #3881) + * Change: Update structure durability, pricing, build times; Add Plasteel to Gamma; Improve damage output of all VTOL weapons by 3x+ (damage spread out over multiple shots); Make VTOLs come in waves for offmap spawns (commit:007b31e2e7759511b9e6e296f57a6d6dfbe491f6, #3552) + * Change: Hellstorm becomes an incendiary weapon; Buff AC damage to win against HVC against tanks if accuracy was bad like from low ranks (commit:007b31e2e7759511b9e6e296f57a6d6dfbe491f6, #3552) + * Change: Cyborg weapons stronger than tank variants; Nexus unit vision sensor set to NavGunSensor again; VTOL weapon/wave improvements; fixed rotation on Alpha 8 scavenger factory trapping units sometimes (commit:5811cdabfcb1f50540d2322e96cc0778e304dfa1, #3597) + * Change: Add new Beta campaign cyborgs: Thermite, Sniper, and Tank Killer so cyborgs are useful (commit:5811cdabfcb1f50540d2322e96cc0778e304dfa1, #3597) + * Change: Destroy player structures/features blocking spawn locations or transporter reinforcements; Remove most AI LZ zones that were used to block areas for this (commit:9321a87995382377eef0e17ad9fe92e1eabff28b, commit:d2e5af0c40303e572cb354467f1a4ca07198eda8, #3607) + * Change: Improved allied or player defenses/units on Beta 1, Gamma 3, Gamma 6; Move Turbo-Charged Engine Mk2 to Beta 7; Various small balance tweaks to weapons (commit:1f5bfb2425c7f212051702c69ed1eadc78a1f051, #3659) + * Change: Diversify and fix Beta/Gamma weapon power and build times, Make VTOL MRP an AA weapon like Sunburst, Flamer Bunker now uses Flamer Tower weapon (commit:dc906767823af3bddd1acf2838265682e2ed126c, #3752) + * Change: Buff Wheels speed and reduce cost and build time; Experiment with new rank thresholds based off the originals; Fix Gauss Cannon modifier and make it penetrate; Base Heavy Gunner off Heavy Cannon after feedback; AA buffs; Pepperpot becomes way stronger than long range artillery; Increase MRP HP (commit:4424f877be89401642acc14bd0b7e486128afb03, #3881); + * Change: Make Classic Commander/Sensor ranks the originals, which are doubles of those today for the first time again in 14 years (commit:8fb796890b0ada141f27746860b9c33a55c9a1b2, #3881) +* Multiplayer: + * Add: Non-blocking client join (w/ new join progress UI) (too many commits, #3825) + * Add: Add a map search bar to find your installed maps by name (too many commits, #3829) + * Fix: Fix Plasma Cannon Emplacement research showing a Pulse Laser emplacement (commit:c41351d649bcecad91f73372e4807441d606d3c3, #3684) + * Fix: Use sounds for quick chat events (commit:2a60e342597ee42fdc9e84f0a54c25c9e5714c3e, #3735) + * Fix: Make ban button add player to ban list (commit:be23c28a760a0e997e5940ac369d87c127be4e24, #3823) + * Fix: Let match settings console message display for more than a second at the start of a match (commit:f636cefe5375cbbc34e41a1e3c13fa530fb0b9b0, #3828) + * Fix: Update reticules when alt-click unloading transporters (commit:da7b3d3ea4c8b9f23cdc259aa00215850ca1e94d, #3840) + * Fix: Improvements to autoLagKick, kick votes, and ability to kick on "Waiting For Players" screen (too many commits, #3882) + * Fix: Check if there are available slots before a client wants to move (commit:221be397178a51017cb8ec3222e9dd5da86b870f, #3845) +* Balance MP: + * Add: Add Mk2 and Mk3 upgrades to the Depleted Uranium MG Bullets research line to help those that want pure MG in 1v1s (commit:96211672c757540e5b463653081aafe646b6fa73, #3834) + * Change: Leopard body upgrade: kinetic 12->14, HP 107->120 (commit:b1fabbae7da9544df974663276c91edb5873a353, #3575) + * Change: Port structure damage formula fix related changes to MP. Here a durability buff is experimented with compared to campaign (commit:1dcf7a0077dd11d26e15e6abf16f15f43d8c1966, commit:9709419754d3ee6671f579a822e942ad80b0c44f, #3553, #3618) + * Change: EMP Missile Launcher splash damage radius 2->3, long-range 3->5 (commit:6b84872dd3c1318bc4f7e163bf358198cb041d12, #3594) + * Change: HRA production time rollback 900->800 (commit:e7b3930de81307e163933521c29de0a1f5c7ad1f, #3626) + * Change: Reduce weight of Heavy Repair Turret 3000->2000 (commit:ea8b8f6f0c6b15bf42643d0fa14169e574874a19, #3833) + * Change: Make Hi-Energy Laser Emitter depends on Flashlight and the Heavy Laser depend on Pulse Laser (commit:832eb27cba4bc45db35aa70f34948b686046fd94, #3878) + * Change: Buff Plasmite Flamer HP to help it last in T3 settings when it appears (commit:823e73e7576b7256d325ec8b2829401525c12f55, #3899) +* Scripting: + * Add: Add new REF_FORTRESS structure type and decouple fortresses from GENERIC. Add STRUCT_GENERIC stattype (too many commits, #3777) + * Add: getDroidPath() that returns droid path (commit:e025ff02eb8fb95cdd1120d7a87555f2a8d93c3a, #3793) + * Add: Add "direction" JS field to Structure objects (commit:62bb60a00220aa59df684502da50ad7fa254747c, #3508) + * Add: Add an eventDroidRankGained event (commit:9758e9e0f128d949c0fbe82ae2aecb95597f3ebb, #3836) + * Add: Add BuildPower and Weapons to structures stats (too many commits, #3897) + * Fix: Fix property results in convResearch() (commit:bdf4a4c5a3143a213049a2c72966075350009f90, #3798) + * Change: Update QuickJS (too many commits, #3642, #3711, #3743, #3884) + * Change: change removeObject() API function to defer object removal. You must expect deleted objects to take immediate effect the next tick (too many commits, #3736, #3767, #3770) + * Change: Remove rules.js hack enabling cyborgSpade. Put the component in the automatically researched truck component research (commit:ce9994640cec9571b360b32c13cd4174d5ca91ab, #3828) +* AI + * Fix: Fix BoneCrusher! breaking on saves due to invalid global variable initialization, and fix various linter warnings (commit:5517171f566bdd49be1cf6759204da2bd732066b, #3654) +* Networking: + * Add: Replace miniupnpc with libplum to support UPnP, NAT-PMP, and PCP protocols (and can be made to work with IPv6) (too many commits, #3802) + * Change: Misc minor improvements. moved syncDebug*/WZFile related functions to a separate source file, (too many commits, #3696, #3780) + * Change: Pass references to sockets wherever possible (commit:e68a3370613a9c8a87dfaa41f37d7a471799c2b1, #3729) + * Change: Reduce the number of netplay.h includes, replace with sync_debug.h if that's enough (commit:64025c9e8351d5dfc2450b220a065bc2f26bacf8, #3760) + * Change: Enable TCP_NODELAY for game sockets (commit:24517868a0bbaa3add345c3e13e61a53593228e4, #3801) + * Fix: Prevent net messages from being endlessly buffered in modes that don't send them over the network (i.e. campaign, skirmish, etc) (commit:02ff65758102bfcedc9199ba7a1fca2a3ba0bd12, #3720) + * Fix: Various network improvements (too many commits, #3889, #3898, #3905) +* Sound: + * Add: Support higher cap for MAX_TRACKS (commit:db06a776ff642bffcd069181156f97c512868e3d, #3567) + * Add: Convert audio .cfg files to JSON, remove a ton of lexer/parser code related to loading the old file format (commit:0594ed90d4e5d1e9d52d5b11e48b2e352c5bf556, #3722) + * Add: Allow audio JSON files to override existing entries (commit:39b0138c6b4a24a1d411e59f310dacd9860cee44, #3772) + * Add: Support loading audio from memory buffers, use this for menu music (commit:1c2e4eade476205c472465a92524647ce8da702c, #3886) + * Fix: Fixed generator power hum appearing when it shouldn't; Prevent Oil derrick pump sound from persisting onto offworld maps where they would be on the home map; Cleanup (too many commits, 3716) +* Other: + * Add: Dedicated host documentation (too many commits, #3591) + * Add: Add PagedEntityContainer to provide optimized page-based storage for effects, projectiles, droids, structures, blueprints, and features (too many commits, #3660, #3675, #3689, #3701, #3707, #3714, #3715) + * Add: Generate artifact attestations to establish build provenance (commit:ab9f711178b6fa68b2741991edf039cf2b9e1cbb, #3803) + * Fix: Fix distance checking with unit repair algorithm (commit:630ffd70599cfd5047c35d1535740bcbe702bfce, #3571) + * Fix: Make nvtx easier to package, and add more scope. FreeBSD build fix (commit:b4e108eb5ae5bae2015a4bdb64cc060151129fd3, commit:b9f9a8bed03dbcc5204de5b42e775c4de29a499a, commit:57d397b33ec953c53feaca70743356cca61d0b61, #3585) + * Fix: Add missing const across the code base (commit:6744315d7c6fc3185544e854d93e5f5d68ea09a6, #3593) + * Fix: Limit artifact / oil drum pickup events to half a tile height differences (commit:17f6300d3f4ae059836809a08cacdc32ac21b28d, #3625) + * Fix: Always enumerate map tiles in row order (commit:b43110d0fd2b63cb9181ba757d2066c69c5cf587, commit:8477d839d34db112e52b60e84e1f4474be935f30, #3641) + * Fix: Fix "makemehero" cheat not giving sensors the correct experience, add supereasy and insane chat command (commit:ae7905a5e2ff48ffe11d750fbe16c0a5f91ee5af, commit:c7b19ffa29cb60af64ea4511e477ebfd3b888f0f, #3703) + * Fix: Misc compiler warning fixes / dependency updates (too many commits, #3585, #3710, #3711, #3761) + * Fix: CRC performance improvements (commit:99684c9c920816f3a5bf512a0b779c8da1e4b642, commit:717e5bd0030e1ead6c527ebf839ebfdc5388bf35, #3800) + * Fix: Fix validity check for stdinreader (commit:f1a50c272921b9b5da8a8fe0c5d55cf82f4b3ebb, #3818) + * Fix: Fix wzmaplib to export .lev format maps that Flame can edit/read (too many commits, #3831) + * Fix: Improve formatting performance on Paragraph widgets (too many commits, #3891) + * Change: Move internal containers from linked-lists to std::lists (too many commits, #3572, #3579, #3588, #3608, 3612, #3671) + * Change: Very first steps to make DROID and STRUCTURE look like properly encapsulated C++ classes (too many commits, #3606) + * Change: Convert C-style stat arrays for game objects to std::vector (too many commits, #3616, #3617) + * Change: Use checkReferences to hopefully prevent all dangling pointer crashes and to help track them (commit:3dae28f96298753ac394863e2f72cd02f8c37475, commit:fa0d3c0ca2d3259bb342f1b839d2f25496bb286a, commit:7849c07f9ec5cadfd7c0add95cbcefbcf4977390, #3670, #3887) + * Change: Update super-linter, partially enable editorconfig-checker, fix some trailing whitespace issues (too many commits, #3794) + * Change: Make the makemehero cheat set hero rank experience to 2048 to account for the old thresholds (commit:2f38bfa8786e2aaac80bb561cd94efbd9949c7e5, #3881) + 2023-11-29: Version 4.4.2: * General: * Fix: Various potential crashes (too many commits, #3539, #3540, #3544, #3545)