Skip to content

Conversation

@ZombieFreak115
Copy link
Contributor

  • Converts platform-specific characters (Such as path seperators and newlines) to a common standard when serialized, and then converts them back on de-serialization to keep bitwise equality.

  • Change the nix implementation of peek_file and open_file to be caseless when looking for files of said name. This is because the Vic2 files assume that the filesystem is caseless, and there are quite afew cases in which it will fail to load some gfx files on Linux cause the developers used caseless matching.

  • Add new build targets for SSE, AVX2 and AVX512 for all release builds. Debug builds always use the SSE build target.

  • Add floating point math flags for SSE builds to keep determinism cross-platform. Clang should be used to build the SSE version on Alice itself, aswell as the launcher to ensure determinism. MSVC x Clang seems shifty with determinism.

  • Add automatic OOS-reporting when any client goes OOS. Currently it is not safe unless the client is trusted as there is no way (to my knowlegde) to easily test if the data the client sends to the host is safe to deserialize. It must therefore be enabled with a flag in host_settings.json first.

Add handwritten parts of scenario section and save section to be included in checksumming. Added a bool parameter to said serialize/deserialize functions to ignore local-only fields.

  • Fix an invalid write that i stumbled upon while testing

  • Add explicit padding initialized to 0 to some structs to avoid polluting the checksum randomly.

  • change std::sort in battle logic to use stable_sort, otherwie equal values may be sorted diffrently cross-platform

Right now the Clang builds will be using the SSE3 dcon ve headers due to the if-statement logic of checking SSE3 first. I created a PR on the dcon repo to fix it.

ZombieFreak115 and others added 30 commits November 25, 2025 19:24
This reverts commit 95256a5.
…hout capitalized start due to vic2 things"

This reverts commit 7016f08.
…ue to file being capitalized, but not when referenced.
ZombieFreak115 and others added 24 commits December 8, 2025 17:07
… 0 so the checksum stays the same between diffrent scenario creations
Remove compression from sending oos gamestate cause it simply takes too long to compress.
…mziation in which nicknames where gone in chat window.
…tings. Send host settings to client in handshake so they follow along.
@schombert schombert merged commit 7a97e91 into schombert:main Dec 20, 2025
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants