Add some retro-compatibility to avoid issues.
First reported by: gameboy
Differential Revision: https://code.wildfiregames.com/D4066
This was SVN commit r25651.
Issue spotted by kalimaps
Reviewed by: wraitii
Code parts by: wraitii
Differential Revision: https://code.wildfiregames.com/D4043
This was SVN commit r25646.
Since it is very non-trivial to determine which mods change checksums
and which don't, this relies on modder goodwill (and on verification on
our end for signed mods).
The declaration is an optional "ignoreInCompatibilityChecks" boolean in
mod.json
Also rework slightly the MP lobby mod display to always show the host
mods in a clear manner.
Differential Revision: https://code.wildfiregames.com/D3968
This was SVN commit r25634.
Because the page stack is a vector, if during PushPage, a new page is
pushed, the vector may re-allocate. This 'pulls the rug out' from
underneath the code stack that originally pushed, which then crashes.
To fix this, use a deque, since push/pop won't invalidate references.
Reported by: Imarok.
Based on a patch by: Imarok (tests are his)
Differential Revision: https://code.wildfiregames.com/D4037
This was SVN commit r25616.
Variants can now have limited or no diversity. This can occasionally
speed rendering slightly (5-10% FPS increase was reported on Combat Demo
Huge, which is very variant-heavy).
Reported by: bb
Based on a patch by: bb
Fixes#5831
Differential Revision: https://code.wildfiregames.com/D3035
This was SVN commit r25613.
Bit operations can be done via std::bitset. The current implementation
is too specific to have it just for a future. Refs 479f59e386,
5ca66fc757.
This was SVN commit r25569.
For modern standards base64 costs a bit less space and might be
implemented on demand. base32 usage was introduced in e0dfbe719d and
removed in 93cffe9deb.
Refs a34b759720, 317f98a6c0.
This was SVN commit r25568.
We already have a single place to access arguments, so we don't need
a platform dependent place for that.
Refs 3f58951808, 8c1bd05ab9.
This was SVN commit r25567.
Following D3108 / 876f6d5e50, sounds are attenuated by their actual
distance. However, as noted by players on A24, the dropoff is stark and,
when zoomed out, can easily result in not hearing things that are
happening in the middle of the screen.
The new default settings almost double the max-range, change the minimum
range to have greater dynamic range, and reduce the stereo depth
slightly to better match the default camera FOV.
These are stored per sound-grounp, possibly allowing future tweaks on a
per-soundgroup basis, and are configurable.
Tested by: Imarok
Discussed over mail with: Samulis, Porru
Differential Revision: https://code.wildfiregames.com/D3612
This was SVN commit r25547.
Parses mod.json data not only in temporary JS values, but in a proper
C++ struct.
This will ultimately make it more convenient to pass more than just the
version to JS in D3968, and it enforces the schema a bit more.
Differential Revision: https://code.wildfiregames.com/D3988
This was SVN commit r25546.
Supersedes D1674 and D3520.
This still generates some false positives (particularly the
singular-plural check), but in general it will suffice to better check
bundled languages.
Refs #4250
Differential Revision: https://code.wildfiregames.com/D3926
This was SVN commit r25538.