* Adjusted the save system to acknowledge the new status quo. Instead of trying to save modifiedgame in the file like some sort of extremely boneheaded honour system everyone and their mothers hacks around, we just use it to determine whether the save is for a mod with savedata or not (this keeps backwards compatibility based on how we were using it, anyways, especially with the *force* parameter...)
* Added a menu message for attempting to play a demo set on a map that isn't loaded, as opposed to letting it I_Error.
* Minor tweaks to addons menu representing modded status.
0-5 players: 1 invincibility/grow allowed out at once
6-9 players: 2 invincibilities (how it was before)
10-13 players: 3 invincibilities
14+ players: 4 invincibilites
Also, make SF_RUNONWATER set off majormods. I was under strong pressure to remove it and almost did but honestly it's kind of endearing and I think like one character in Releases uses it..?
* majormods and savemoddata cannot coexist as true values, so going through and making situations that involve both only reference one.
* Clean up comments in `dehacked.c`.
Since supposedly the current code *can't* work with newer versions of libpng that have the apng patch, it won't compile if that's what people have.
It seems like some distros are adding the apng patch to libpng and that'll make things annoying to compile for people.
I think it goes without saying, but if there's ever a fix to make newer libpng versions work with the APNG code then this can be reverted.
- Update chars.kart hash, AGAIN!
- Fix spectators being visible on minimap when F12ing people
- Optimize how splitscreen players are drawn on top of the minimap
- Remove duplicated cvar registrations
- Move cv_resynchattempts and cv_netticbuffer from D_ClientServerInit to D_RegisterServerCommands and D_RegisterClientCommands respectively, so they can save to config properly
- Increase "Frequent" gametype switch frequency even more
- "SRB2" version dehacked warning ignores srb2.srb
* Make G_SetGameModified only console-print for major mods.
* Add amnesty to "major mod" detection while loading files with custom savedatas.
* Improved the console prints for command `isgamemodified`.
* If your file defines state and object freeslots in SOC, you are allowed to modify those freeslots IN ANY SOC SCRIPT IN THE SAME FILE without being marked as a "major mod".
* If your file contains broken unlockables/emblems that don't actually have effect for any reason, it's not counted as a "major mod".
* Added add-ons menu message for adding a "major mod".