Commit graph

6388 commits

Author SHA1 Message Date
toaster
a7ae0e8677 Fixes interpolated z for portals (x and y were fixed already) 2022-10-31 18:20:21 +00:00
toaster
3cce3ec2ce Use Partial Addfile for G_LoadDemoExtraFiles as well
Still cope compared to the MP addfile codepath, but not the n^2 time cope of before.
2022-10-31 18:06:34 +00:00
toaster
b19004ae3b Enable extended legacy downloader
Tested with a full 255 WAD server, it's a LITTLE silly but I think it's inexplicably safe to ship!?
2022-10-31 17:51:25 +00:00
toaster
a679e7a9e1 Legacy download code recieves more attention.
- Make all the I_Errors return false and print to the console instead.
- New prints for missing files if you can't fit it all into one packet.
- Make the startmessage warning less specific and direct you to the logfile, to accomodate all the different ways legacy downloads can fail.
2022-10-31 17:49:52 +00:00
toaster
5ab988dc3e Legacy downloader requests have recieved a little TLC.
- Catch buffer overrun opportunities and fail early.
- Add #define MORELEGACYDOWNLOADER for the equivalent of MOREFILENEEDED, but disabled for now because honestly we really shouldn't be encouraging people to use this thing by making it support 255 WADs at once, but also because that'd be MISERABLE to test
- Add a menu report for when legacy downloader attempts fail
2022-10-31 12:43:25 +00:00
toaster
fbf696a38a Update maps.kart hash 2022-10-31 11:03:01 +00:00
toaster
163bf9e491 Resolve mixed declarations
It's the collective opinion of Kart Krew's coders that sticking to C90 spec isn't healthy... but while the compiler still warns for it in the v1 buildflags, avoid undesired reports.
2022-10-31 10:51:20 +00:00
Eidolon
d814674d81 Use interp position in GL billboarding 2022-10-31 10:38:40 +00:00
toaster
8ae551e6bc Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart-Public into internal16fixes
# Conflicts:
#	src/p_tick.c
2022-10-31 10:35:31 +00:00
Eidolon
65737cd4bd Only call SetupFrame in T-1 hack with player->mo 2022-10-30 21:03:00 -05:00
toaster
461a80d357 Only do view interpolation hack if renderer exists 2022-10-30 21:01:54 -05:00
toaster
21bfb9753f Only read/write luavars from demos if Lua state has been initialised. 2022-10-30 13:29:27 +00:00
toaster
a6c825dd16 More consistent netreplay wadfile list writing
Fixes crashes for newly-written demos that have files with absurdly long names attached
2022-10-30 13:13:42 +00:00
toaster
e931f2bec2 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart-Public into internal16fixes
# Conflicts:
#	src/p_tick.c
2022-10-30 12:55:52 +00:00
Eidolon
fcdb098b9c Ensure player mo exists in T-1 hack skybox update 2022-10-29 22:56:47 -05:00
AJ Martinez
144795c22c Don't antigrief players alone in local freeplay 2022-10-29 15:37:45 -07:00
toaster
17bde07bda Only do view interpolation hack if renderer exists 2022-10-29 13:06:25 +01:00
toaster
de51d065b0 Fix an issue with reading invalid memory when loading a map inside a pk3 that has no REJECT table. 2022-10-29 12:51:00 +01:00
toaster
0df494d30d Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart-Public into internal16fixes 2022-10-29 12:48:12 +01:00
toaster
ca69b5f2ca Merge branch 'replayhut-skin255-crash' into 'master'
Another spot that needs guarding

See merge request KartKrew/Kart-Public!320
2022-10-29 11:47:21 +00:00
Ashnal
8b0ed17690 Another spot that needs guarding 2022-10-28 17:15:50 -04:00
toaster
8d2d91a3bf Fix mixed declarations and code warning 2022-10-28 21:26:31 +01:00
toaster
b84d4a6bd2 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart-Public into internal16fixes 2022-10-28 21:24:45 +01:00
Eidolon
6db1496aaa Disambiguate skyVisible from global variable 2022-10-28 15:19:20 -05:00
toaster
cb575bcde9 Add additional external contributors. 2022-10-28 18:02:50 +01:00
toaster
4680094dd5 Update credits again 2022-10-28 15:50:50 +01:00
toaster
8a49fa5ec0 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart-Public into internal16fixes 2022-10-28 15:47:21 +01:00
toaster
1b884dd8f2 Merge branch 'replayhut-skin255-crash' into 'master'
Ensure skin index read from replay file is within numskins before drawing face

See merge request KartKrew/Kart-Public!319
2022-10-28 14:45:51 +00:00
Eidolon
4b61bcdb81 Correct local variable boolean type 2022-10-27 20:08:49 -05:00
Eidolon
661f06e1ef Correct local variable boolean type 2022-10-27 20:07:56 -05:00
Ashnal
19403d2889 Ensure skin index read from replay file is within numskins before drawing face 2022-10-27 20:28:14 -04:00
Eidolon
1b96c8b40f Net-save/load turnobjs field on rotating polyobjs
Fixes desyncs with rotating polyobjs
2022-10-27 18:13:25 -05:00
toaster
33989f56e5 Version is now 1.6
If you're looking to this commit to figure out what a hypothetical 1.7 should change, also increment MODVERSION - in this commit's case it was already incremented by another branch.
2022-10-27 15:32:43 +01:00
toaster
2bab452268 Add R_RelativeTeleportViewInterpolation
Adjusts pview_old for relative teleport to attempt a contigious motion
2022-10-27 13:38:13 +01:00
toaster
054bbd7745 Fix undesired interpolation for regular teleport 2022-10-27 13:36:14 +01:00
toaster
b6eb21c5e2 Make all the join/leave sound effects have a singularity of true so that they don't stack super loud during major net interruption or multiple splitscreen player joins. 2022-10-27 12:38:53 +01:00
toaster
60b8916a96 Merge branch 'map-by-name' of https://git.do.srb2.org/KartKrew/Kart into internal16fixes 2022-10-27 12:16:11 +01:00
toaster
7e668f99b3 Fix spectators spawning at world origin on sectionrace maps. 2022-10-27 12:13:06 +01:00
toaster
63a5bed7d8 Adjust antigrief
Instead of not running for server or admin, run for ALL players, but only avoid *kicking* local or admin players.
Fixes a bug where having a non-interacting splitscreen player could take down your server.
2022-10-27 11:54:52 +01:00
toaster
c2f9a40593 New asset hashes for gfx.kart and maps.kart 2022-10-26 21:09:44 +01:00
toaster
33c6dba5af Repair bad manual cherrypick of vsync repair 2022-10-26 20:53:16 +01:00
toaster
d13c1f83e8 SDL: OpenGL instead of Direct3D11 for Software blitter
Repaired performance regression under certain play conditions
2022-10-26 20:47:56 +01:00
toaster
0a98f9c69a SDL: Support setting vsync at runtime
Allows vid_wait to work under software without having to switch to OpenGL and then back
2022-10-26 20:45:41 +01:00
toaster
427944f633 Remove advancedemo
Just a weird, meaningless footgun waiting in the wings for someone to catch themselves on. D_StartTitle works plenty fine here!
2022-10-26 20:40:19 +01:00
toaster
ab68f0dadd Rewrite ping timeout
- ALWAYS kick someone who's about to stop the server because they're about to overrun TICQUEUE, even if they're in the joiner grace period
- Reduce the joiner grace period for normal ping limit to 10 seconds (from 30)
- Properly account for ignoring all local players when the host is splitscreen
2022-10-26 20:27:32 +01:00
toaster
33e35b7e13 Fix ping measurement off-by-one that slightly underestimates ping measurements 2022-10-26 13:50:35 +01:00
toaster
289de329eb Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart-Public into kpubnext 2022-10-26 13:23:56 +01:00
Eidolon
e7c16a13b7 Merge branch 'splitscreen-hudhook-fix' into 'next'
Clear and draw all game hud hook calls to 1 list

See merge request KartKrew/Kart-Public!318

(cherry picked from commit 7e17eb8591)

2cffc9b4 Clear and draw all game hud hook calls to 1 list
2022-10-25 23:04:58 -04:00
Eidolon
2cffc9b488 Clear and draw all game hud hook calls to 1 list
Fixes splitscreen issues with lua hud hooks
2022-10-25 20:36:27 -05:00
Eidolon
2473c7d7cc Merge branch 'mobj-jitter' into 'next'
Ensure view interpolates between T-1 to T

See merge request KartKrew/Kart-Public!317
2022-10-25 20:00:49 -05:00
Eidolon
806252320e Ensure view interpolates between T-1 to T 2022-10-25 19:32:28 -05:00
Sal
a69b3b0260 Merge branch 'netunarchive-fixes' into 'master'
Fix use after free bug

See merge request KartKrew/Kart-Public!315
2022-10-19 06:19:28 +00:00
Eidolon
978f784ff7 win32: Add dpi aware manifest config 2022-10-18 17:53:29 -05:00
Ashnal
bd4150b90e Fixes an issue where mobjs with shadows would never get freed,
due to their reference count getting reset after
having their shadows spawned, resulting in a reference count of -1
and the mobj never being freed, or a use-after-free during the shadow's thinker.
Also adds some P_SetTargets to P_BlockThingsIterator to fix an inconsistency I noticed while investigating this.
2022-10-03 02:07:36 -04:00
Ashnal
78ad817cf1 Forgot to remove my debug prints 2022-09-29 19:26:42 -04:00
Ashnal
f8d71450e5 Unlink non-mobj and non-precip thinkers when loading and freeing
Move globalweather to before P_SpawnSpecials so that specials can properly change weather and have it communicated in savegames
2022-09-29 19:22:53 -04:00
Ashnal
c24a0d0a47 Remove usage of currentthinker from direct removal
It's designed to be referenced from P_RunTHinkers, whjich we aren't doing
2022-09-29 15:43:50 -04:00
Ashnal
3d311eeae3 Fix compiler warning 2022-09-10 13:30:24 -04:00
Ashnal
59fb3ed900 Attempt to fix use after free bug
with precipitation mobjs on netgame load
2022-09-10 13:29:18 -04:00
Sal
c4ecddb9f3 Merge branch 'server-browser-improvements' into 'next'
Server browser technical and aesthetic improvements

See merge request KartKrew/Kart-Public!313
2022-09-09 19:14:58 +00:00
James R
435e65e63a Merge remote-tracking branch 'origin/master' into next 2022-09-07 02:49:15 -07:00
Sal
a9acd6a8e9 Merge branch 'split-netfil-loading' into 'next'
Speed up file loading on server join by splitting P_AddWadFile into stages

See merge request KartKrew/Kart-Public!295
2022-09-05 15:04:49 +00:00
X.organic
6fb59f87b7 Speed up file loading on server join by splitting P_AddWadFile into stages 2022-09-05 15:04:49 +00:00
James R
07452bc8fb Server browser: always display the number of servers found so far 2022-09-04 22:45:39 -07:00
James R
def84a2cc0 Slide server browser pages left and right 2022-09-04 22:28:59 -07:00
James R
41d82d9baf Merge "No servers found" with server browser status line 2022-09-04 22:26:23 -07:00
James R
00c9abd652 Clear the server list when entering or refreshing the server browser 2022-09-04 22:20:24 -07:00
James R
ca71fb02f3 Merge blue "checking for updates" pop up with server browser status line 2022-09-04 22:16:05 -07:00
James R
53ee6524b4 Display the current status of server querying in the server browser
While trying to contact servers: display how many servers
are left. Once done: display the total number of servers
available in game.
2022-09-04 22:08:36 -07:00
James R
ed9d520b4e Retry contacting servers in the server browser every second until nettimeout 2022-09-04 19:52:45 -07:00
Sal
b2eff44dc4 Merge branch 'mobj-after-free' into 'master'
Fix use-after-frees around mobjs

See merge request KartKrew/Kart-Public!309
2022-09-03 02:58:47 +00:00
X.organic
f009b3d8c9 Fix use-after-frees around mobjs 2022-09-03 02:58:47 +00:00
Sally Coolatta
bf96c7ade8 Merge branch 'master' into next 2022-09-02 10:19:35 -04:00
Sally Coolatta
e59521f14f Fix mixed declarations 2022-09-02 10:18:20 -04:00
X.organic
70128776ac Miscellaneous memory bug fixes to make AddressSanitizer happy 2022-09-02 13:20:31 +00:00
Ashnal
97f79a8866 Should fix the dedicated server player node takeover
that completely destroys servers
2022-08-29 16:58:33 -04:00
toaster
e9fa66a3b3 Merge branch 'spec-hud-snap' into 'master'
Make spectator HUD snap to bottom left of viewport

See merge request KartKrew/Kart-Public!306
2022-08-28 14:30:51 +00:00
Sal
78cf02c221 Merge branch 'sdl-gamepads' into 'next'
Use SDL Game Controllers API

See merge request KartKrew/Kart-Public!298
2022-08-28 09:24:36 +00:00
Sal
d9f4bd6111 Merge branch 'futurepk3' into 'next'
Backport SRB2 2.2's PK3 loader code fixes

See merge request KartKrew/Kart-Public!289
2022-08-28 09:23:16 +00:00
toaster
233c5b1f7a Make spectator HUD snap to bottom left of viewport 2022-08-27 15:09:36 +01:00
toaster
bbfaa0e99e Revert continuous hold attempt
- Does not function with controllers that don't produce continuous joystick events on hold, as testing unfortunately made clear.
- The entire thing would need to be rewritten to make up for that, and I don't have the time to invest that kind of energy into version 1.
- An unreliable feature is worse than no feature at all.
2022-08-27 11:10:28 +01:00
Sal
5a8784169b Merge branch 'gametype-always' into 'next'
Adjust voting rule changes again

See merge request KartKrew/Kart-Public!301
2022-08-26 22:45:44 +00:00
Sal
df101848d1 Merge branch 'ping-catchup' into 'next'
Ping Catchup

See merge request KartKrew/Kart-Public!302
2022-08-26 22:44:47 +00:00
Sal
886bda775b Merge branch 'hole-punch-less-getaddrinfo' into 'next'
Call getaddrinfo less frequently when hole punching

See merge request KartKrew/Kart-Public!303
2022-08-26 22:44:25 +00:00
Sally Coolatta
2b75147eac Drawseg clipping optimized, from prboom-plus
Ported and flattened from Sal's work on the internal repository
2022-08-26 23:01:54 +01:00
toaster
f7fc5c684e Positive sign only 2022-08-26 21:26:03 +01:00
toaster
de97c41532 Revert "Remove game deadzone for Accel/Brake"
This reverts commit 44eeb3a0f3.

# Conflicts:
#	src/m_menu.c
2022-08-26 21:18:27 +01:00
toaster
b10c21c504 Only use positive component of accel axis for menu KEY_ENTER behaviour 2022-08-26 21:00:39 +01:00
toaster
9e194dab2d Add cv_lookbackaxis (and p2-4 equivalents)
* Rename `Look Up/Down` to `Spec. Look Up/Down` to disambiguate from `Look Backward`
* Make it support multiplayer replay recording save request too
2022-08-26 20:50:57 +01:00
toaster
44eeb3a0f3 Remove game deadzone for Accel/Brake
- They're binary inputs as processed by the game.
- A mechanism for binary inputs with no deadzone is already used for item and drift.
- Generally bound to triggers, not the stick.
- SDL still has a minimum deadzone, so won't fire endlessly.
2022-08-26 20:50:57 +01:00
toaster
3ef3789f58 Gamepad improvements for menus
* For left stick up/down/left/right input, allow holding a direction down to move continuously in a direction at a rate of 7 steps per second per axis
* Now supports accel axis being used for the Enter key/"accept" in menus, to mirror how an accel BUTTON bind will be used as an Enter event.
2022-08-26 20:50:57 +01:00
toaster
f167895865 Fix compilation warnings and non-codebase-standard types
Also, make the I_GetJoystickEvents functions match each other
2022-08-25 20:28:13 -05:00
Eidolon
08a218a3a1 Bump execversion to 10, remap xbox controls to SDL 2022-08-25 20:28:13 -05:00
Eidolon
5412be76e8 Use SDL Game Controllers API 2022-08-25 20:28:13 -05:00
James R
7b019571aa Merge remote-tracking branch 'origin/master' into next 2022-08-25 10:40:46 -07:00
toaster
d86081cb8a If the client has caught up to the server -- say, during a wipe -- make GetLag return a ping of zero
Should fix the momentarily large ping bug.
2022-08-25 18:00:19 +01:00
toaster
1fb84fbfa9 Adjust voting rule changes again
* 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.
2022-08-24 18:52:09 +01:00
toaster
77164096dd Don't even attempt to advertise a non-netgame server.
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!
2022-08-24 15:04:09 +01:00
Eidolon
a728a4bb06 Don't use localaim/angle in skybox in demos 2022-08-23 20:11:24 -05:00
X.organic
a4690a44fe
Restore "SONIC ROBO BLAST 2" header in w_wad.c
I don't know either why it disappeared in the first place.
2022-08-23 18:33:44 +02:00