"precipprops" lets you create a new precipitation type by picking a mobj type to use, how many random states it has, and flags for effects such as thunder/lightning. Seesound on the mobj type sets an ambient sound (like rain drops) and mass sets the sound's frequency in tics. This could open up the possibility for SOC/Lua Weather options later.
* Ranges between full brightness to half-brightness (50% of fullbright effect).
* Has both software and GL support (I think - GL needs to be doublechecked, but I think it's just GL being murky in general).
* Used by Rings.
* Backport FF_GLOBALANIM and FF_RANDOMANIM extensions to FF_ANIMATE from 2.2.
* Rings use the former instead of their own hacky solution to the problem.
* Also backport FF_VERTICALFLIP, because why not.
* Inverts sprite relative to gravity. I remember wanting this for the flipped death sprite for Jawz, but then Oni drew his own frame for that, so it doesn't matter.
* Refactor vissprite struct a tad, given I did so in internal where I pulled most of these improvements from.
* Should be no in-game affect; let me know if you notice any regressions.
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..?
- The skin values are now locked between 1 and 9.
- kartspeed & kartweight are no longer locked on skin-switch. Combined with the above, this results in no gameplay change, other than the character select showing the proper value.
- Values used for the engine sounds are locked. No longer can overflow into character voices or freeslotted sounds.
- Removed the overzealous weight locking when in offroad.
If we want to ACTUALLY lock speed/weight for Lua too then we should do that in the Lua stuff.
* Do that thing where the character icons are ALWAYS 1x sized, through having two seperate lumps.
* Revamp the S_SKIN parameters to be `facerank` (rankings - equivalent of half-scale old face), `facewant` (WANTED - equivalent of old face), and `facemmap` (equivalent of old iconprefix).
* Do that thing Oni wanted where it shows two postions above and two positions below your current ranking (and you) to the left of the screen, instead of always the top 4, with some limits to avoid drawing outside of everything.
* Replace the last few shitty Mario numbers (for the left rankings) with cool, new Oni numbers.
* Change a bunch of offsets and things so the tab rankings and the intermission work nicer with 9+ players.
* Fixed the conditionals for `suicide` and `retry` commands - `suicide` is now allowed in singleplayer, and `retry` no longer checks your lives (for now).
* Disable the "traditional" level reload method (which `retry` tried to use), since it was completely broken with the other changes we've made. Mapchanges only.
* Made retries cause a mapchange, per the above.
* Disable the last source of skincolor trampling in the game - loading a level while not netgame or record attacking.
* Multiplied rain speed by 3, per Oni's request.
* Disable weather density - force to 1 if weather draw distance, otherwise zero
* Move the ceilingpic check into a more convenient part of the weather spawning loop.
* `drawdist_precip_cons_t` - replaces "Infinite" with "None".
* Disable the lowest normal draw distance (256), given... both kart and srb2 are basically unplayable like that.
* Disable cv_drawdist_nights entirely.