* If `kartvoterulechanges` is set to `Always`, the third option is always the opposite gametype, even if Encore is unlocked - that will now be present on the second option instead.
* This is both for consistancy with having Encore inaccessible on your gamedata, and a response to community feedback.
* The `kartencore` cvar being turned on will now be reflected in gametype rule changes from Battle to Race. This plugs one last hole in its area of effect for Race tracks.
This appears to be a long-time bug that exists upstream too, but nobody even knew about it before the MS rules alert made it clear this was actually happening!
This commit brings back the old code for W_CheckNumForNamePwad, using memcmp
instead of strncmp, which is readily inlined by modern C compilers and has
more acceptable performance in P_AddWadFile. Also removes some redundant
strlens, saving the result of one call instead.
This commit increases this branch's distance from SRB2 2.2, per Ashnal
and SteelT's note that I shouldn't worry too much about it, especially
when there's performance on the line.
This time without spare slots, because I don't see shenanigans like
WAD_MUSIC happening with skin indices. Verified to work by saving a
replay with 139 skins as the 133th skin and playing it back a few times.
Shouldn't cause issues with netcode either because there are no SINT8s
handling skin indices.
Now that 1.4 is out, maybe this will come in handy in 1.5, should 1.5 be
released. If not, I guess Ring Racers will make this branch redundant
once that comes out.
Implements W_VerifyPK3, thus allowing music PK3s - even those created
with an archiver, thanks to the preceding commit - to be loaded as
"unimportant" files, like music WADs can be.
Seems to be a regression in internal too. Requires more analysis on behaviour in the 2.2 engine, but essential for maintaining compatibility in 2.1 (such as with Opulence wobbly carpet).
- `cv_masterserver` - Replaces a hack checking for the original SRB2 MS addres every time, and additionally catches those who tested an early version of the http MS.
- `cv_usegamma` - This was previously WAY too easy to accidentially change. This way, a user who has had this accidentially happen will automatically return to baseline.
I originally wrote a ridiculous attempt at reimplementing the existing value rollaround. For one reason or another, that sidesteps net transmission. Let's just avoid all those hacks and limit our influence to changing the maximum allowed range.
Doesn't affect the conditions that allow entry -- just avoids pointlessly resetting the map if it occurs during the period where literally nothing can happen.
Notably implemented with a hack, but these have already or will be rewritten for Ring Racers, and backporting isn't viable or desirable, so functional is better than the alternative.
Because its z was being set but its old z wasn't being overwritten, at high enough refresh rates you can see it appear above its starting position for a single frame.
Done by modifying old_z instead of using P_SetOrigin for consistency of avoiding CheckPosition.
* Backport the fix to an interp-based crash caused by using a combination of interpolated and uninterpolated scale in renderer calculations.
* Between this and the last commit, I attempted a refactor of this and associated functions in order to find the cause of the above crash. Committed are the changes which resulted in increased performance.
Technically just removes one event that causes the crash instead of the actual crash, but I tried attacking it at the source and it's some nasty, nasty stuff...
* New version number.
* New MODVERSION.
* New asset hashes.
* Disable patch.kart requirement.
* Remove the request to modify CMakeLists.txt, because that got revamped and grabs the version number from elsewhere now.
They were skipped because I didn't expect anyone to use them as they're simply leftover SRB2 assets, but Kart Airlines surprised me by using them as pushable track hazards.
The part of HOSTMOD ministats that I wanted. Can go back to ms using the pingmeasurement cvar.
If Tyron wants to bring ministats fully in I think it'd be better to bring its ideas to replace the current HUD instead, ideally using the existing ping gfx, so they should bring it up with Oni
# Conflicts:
# src/d_clisrv.c
# src/d_netcmd.c
# src/d_netcmd.h
# src/doomstat.h
# src/hu_stuff.c
# src/m_menu.c
Update HMS version to 2.2.
Fetch the rules when master server cvar set. Print rules
in console when server register. Display the rules in the
menu when entering the server hosting menu or when
changing the advertise cvar.
* Fix some bugs.
* Reset bannode information properly, fixing being unable to join your own server.
* Write to the buffer before saving the kick/ban reason, rather than after.
* Improve the print output for the `showbanlist` command.
* Includes username.
* Includes remaining time as seen by a kicked joiner.
* Hides expired bans.
* Improve the messages for ban/kick related refused joins.
* Replace the Reason with the actual admin-provided reason for refused connection.
* Replace the "Server refuses connection" header with "You have been [banned/temporarily kicked] from the server", the previous given Reason.
* Fudge the time reported for temporary kicks so that a user is encouraged to return slightly after their tempkick ends, rather than before.
* Add an extra newline to the M_StartMessage for being kicked/banned with a reason provided.