Repository navigation
·
15 commits
to main
since this release
Changelog
- tweak(filesystem): Ignore case and separator type in file lists and the file exist cache (#3531)
- fix(missingtexture): Fill every MissingTexture mip level directly and no longer skip the last row (#3566)
- perf(headless): Add font and display string dummies to skip font rasterization (#3538)
- build(pathfinder): Include PreRTS.h in new pathfinder source files (#3523)
- bugfix(aiupdate): Restore pending path requests after save load (#3491)
- bugfix(polygontrigger): Fix height calculation in PolygonTrigger::updateBounds() (#3575)
- bugfix(wanderaiupdate): Make the new wander destination random about the current position (#3544)
- fix(hlod): Keep the aggregate and proxy arrays of HLod definitions (#3553)
- refactor(wwsaveload): Delete the WWSaveLoad library (#3551)
- refactor(wwsaveload): Remove the persistent object support from WWAudio, WWMath and WW3D2 (#3551)
- refactor(soundrobj): Read and write the sound definition chunk in SoundRenderObjDefClass (#3551)
- refactor(wwaudio): Remove the sound definition database (#3551)
- fix(wwaudio): Stop sounds from keeping a pointer to the definition that created them (#3551)
- test(soundrobj): Add Google Test round trips for the sound render object chunk (#3551)
- bugfix(tools): Fix crash in wdump and W3DView when opening a file from the command line (#3569)
- refactor(wdump): Use Get_Bit from WWLib and remove the local bit helpers (#3567)
- refactor(wdump): Replace RawFileMClass with RawFileClass from WWLib (#3567)
- tweak(gamemessage): Add separate game message type for playback CRC (#3391)
- refactor(gamemessage): Clean up game message type related code (#3391)
- style: Wrap remaining inline assembly in curly braces and normalize asm block layouts (#3514)
- feat(ingameui): Implement 1% low FPS display (#2661)
- bugfix(tools): Skip rendering while the device is lost (#3548)
- bugfix(wbview3d): Draw maps larger than 1024x1024 through the partial terrain window (#3502)
- bugfix(replaysimulation): Keep the working directory in replay simulation worker processes (#3508)
- fix(netpacket): Ignore repeat commands in a packet that do not follow a matching command and clear the last command after an unrecognized packet entry (#3564)
- docs: Add guideline against unintended issue references in commit messages (#3565)
- refactor(ww3d2): Route device and display queries via Renderer (#3418)
- chore: Add static asserts to verify the size of arrays for enum bit flags (#3389)
- chore: Add static asserts to verify the size of arrays for enum values (#3389)
- fix(wdump): Add missing names for primary gradient and detail color shader functions (#3389)
- fix(gameengine): Pass the default game title directly to FETCH_OR_SUBSTITUTE (#3560)
- bugfix(gamestatemap): Restore the ESC menu after a failed save load (#3490)
- unify(map): Remove leftover Generals PolygonTrigger.cpp and TerrainLogic.cpp (#3561)
- fix(patch): Skip writing the patch version when the registry key fails to open (#3563)
- fix(damage): Prevent undefined shift by -1 in DeathTypeFlags helpers for DEATH_NORMAL (#3559)
- bugfix(texturefilter): Fix blocky shroud edges from misconfigured texture filters (#3434)
- bugfix(object): Avoid potential crash with dangling contain module when Demolition Bike is destroyed while landing on Reinforcement Pad (#3542)
- fix(x64): Fix pointer truncations and integer user data casts (#3459)
- bugfix(aiupdate): Keep contained hackers hacking when Stop is pressed (#3533)
- fix(wheightmapedit): Validate new and resized map dimensions (#3501)
- fix(wheightmapedit): Fix new/delete mismatch and wrong data buffer size in WorldHeightMapEdit::resize() (#3501)
- bugfix: Prevent crashing Generals when attacking units from previously transferred Tunnel Network (#3341)
- chore(logging): Remove commented out debug logs that no longer compile (#3525)
- chore(logging): Fix commented out debug logs that no longer compile (#3525)
- fix(weaponset): Add sanity check for weapon slot index in WeaponSet::setWeaponLock() (#3529)
- bugfix(recorder): Validate next frame value range in RecorderClass::readNextFrame() (#3090)
- test(wwmath): Add WWMath unit tests and benchmarks (#2670)
- refactor(visualc): Remove visualc.h (#2670)
- feat(bezier): Add deterministic D3DX vector math for BezierSegment (#2670)
- refactor(gameengine): Route game engine math through WWMath (#2670)
- refactor(wwmath): Route WWMath call sites through the deterministic wrappers (#2670)
- feat(wwmath): Add deterministic math entry points (#2670)
- refactor(wwmath): Reorder and reformat WWMath functions (#2670)
- chore(basedefines): Add RETAIL_COMPATIBLE_CRC and USE_DETERMINISTIC_MATH switches (#2670)
- build(cmake): Add gamemath library and deterministic math build options (#2670)
- build(mingw): Fix redefinition of the BSTR conversion functions with MinGW-w64 14 (#3550)
- fix(logging): Simplify and fix debug log formatting (#3524)
- fix(w3ddisplay): Fix cinematic text display string leak (#3517)
- unify: Merge common system; BuildAssistant, PlayerTemplate, FunctionLexicon, GameState, GameStateMap (#3463)
- refactor: Introduce project wide unichar type (#3321)
- fix: Replace float/integer pointer casts with std::bit_cast (#3532)
- bugfix(langameoptionsmenu): Fix crash in LAN game player tooltip after the host left the game room (#3546)
- fix(dx8wrapper): Release the cached textures at shutdown (#3543)