Commit graph

23086 commits

Author SHA1 Message Date
toaster
80c84f644b Merge branch 'snprintf-errormode-fix' into 'master'
m_perfstats.c: Fix directive output may be truncated warning/error

See merge request KartKrew/Kart!1164
2023-04-13 12:03:51 +00:00
toaster
43b1686abf Controller rumble if Stairjank is affecting your momentum directioning
Uses the same strength as offroad because of how it's functionally equivalent in Sealed Star stages
2023-04-12 23:08:50 +01:00
SteelT
bdfccb4478 Change static buffer size to 2048, fixes the "directive output may be truncated writing up to" error 2023-04-12 14:31:50 -04:00
SteelT
8311ba8acb m_perfstats.c: Fix directive output may be truncated warning/error
Lets the game build on my end with ERRORMODE enabled
2023-04-12 14:11:23 -04:00
toaster
fa48fa421b Guarantee initialisation of event.data2 to 0 for controller button event 2023-04-12 18:49:23 +01:00
toaster
3210b7b80c Revert "Revert "Ignore OS key repeats for game controls""
This reverts commit b6b5175bbee451579dc7d364cb40787e29b25a83.
2023-04-12 18:42:16 +01:00
toaster
74247d8100 Permit compiling with LOGMESSAGES disabled (and accomodate a crash early enough in the startup before the log is made, too) 2023-04-12 15:08:17 +01:00
toaster
adc2adb5c8 I_ShowErrorMessageBox for SDL interface
Handles showing the error message box on quit.
- Polite communication that the game fell over and that you (probably) didn't do anything wrong
- Accomodates pointing you to UNIXBACKTRACE and _WIN32 exchndl crash logs if relevant
- Points you to the specific dated and timed log file that contains the error
- Tells you that the vague and often confusing error message (like I_Error) is for a programmer, server host, or add-on creator
- Hee Ho!
2023-04-12 14:59:12 +01:00
toaster
6f9f3a733e Merge branch 'collision-crashes' into 'master'
More collision use after delete fixes

See merge request KartKrew/Kart!1161
2023-04-12 10:28:36 +00:00
toaster
ffd59c3d9b Merge branch 'fix-fof-spring-terrain' into 'master'
K_ProcessTerrainEffect: fix spring crash on top of FOF

See merge request KartKrew/Kart!1162
2023-04-12 10:09:21 +00:00
AJ Martinez
4f2dccbf72 Use UINT32 time_t 2023-04-12 02:51:48 -07:00
AJ Martinez
e3ea9df683 Fix sliptide death-spirals on input boundary cross 2023-04-12 01:26:33 -07:00
AJ Martinez
d870bf0416 Fix min/max allowing for theoretical handling breakage in camera-sliptide logic 2023-04-12 00:47:00 -07:00
AJ Martinez
01813c91ba Merge remote-tracking branch 'origin/master' into online-handling 2023-04-11 23:42:58 -07:00
AJ Martinez
2b8f71bec5 It's probably bad to allocate exponential memory 2023-04-11 23:11:23 -07:00
AJ Martinez
2426170e0b Hash pubkeys for early out during stat retrieval 2023-04-11 23:09:40 -07:00
AJ Martinez
515e0baa01 Do serverstats file I/O entry by entry 2023-04-11 22:55:13 -07:00
AJ Martinez
44848717df Credit in k_serverstats.h 2023-04-11 22:27:13 -07:00
AJ Martinez
2961629332 Allow and warn about duplicate pubkeys in DEVELOP 2023-04-11 22:24:12 -07:00
AJ Martinez
f0658910af Credit in k_serverstats.c 2023-04-11 22:15:55 -07:00
James R
1a2121b3ca K_ProcessTerrainEffect: fix spring crash on top of FOF 2023-04-11 20:32:55 -07:00
toaster
df38d6fcde Comment fix 2023-04-11 20:07:45 +01:00
toaster
86fe3e266b allZero doesn't need to be memset 2023-04-11 20:05:53 +01:00
toaster
d85779c12b Newlines at end of k_profiles and k_serverstats 2023-04-11 20:05:43 +01:00
toaster
d61d822231 Compilation fixes: Unused variable warnings 2023-04-11 20:02:39 +01:00
toaster
a97373cb7a Increment PROFILEVER due to merge conflict resolution 2023-04-11 19:49:08 +01:00
AJ Martinez
0aabb6ddcd Return full stats struct, dynamically allocate trackedList 2023-04-11 19:38:02 +01:00
AJ Martinez
4f569641fc Store total wins in profiles 2023-04-11 19:38:02 +01:00
AJ Martinez
c7c9f145ca Really get rid of XD_POWERLEVEL 2023-04-11 19:38:02 +01:00
AJ Martinez
3012839138 Serverside PWR: Completely rip out profile PWR, add PWR to XD_ADDPLAYER 2023-04-11 19:38:02 +01:00
AJ Martinez
10fb496689 Version field for srvstats.dat 2023-04-11 19:38:01 +01:00
AJ Martinez
7eb5755963 Disallow duplicate non-GUEST pubkeys 2023-04-11 19:38:01 +01:00
AJ Martinez
d89d06be31 Instantly update stats when players leave 2023-04-11 19:38:01 +01:00
AJ Martinez
134a5ef9c0 WIP 2023-04-11 19:38:01 +01:00
toaster
c7e510a3ec k_collide.cpp: Guard against dereferencing possibly invalid t2 2023-04-11 17:41:41 +01:00
toaster
b9133530e2 Obj_OrbinautJawzCollide: Guard for removed objects 2023-04-11 17:39:53 +01:00
toaster
d4de130fe0 More sanity checks for skipping restricted queue entries
- GTR_FORBIDMP in netgames
- mapheader doesn't exist
2023-04-11 17:18:30 +01:00
toaster
f1ca263c40 Promote gametypes in XD_MAP, XD_MAPQUEUE and XD_REQMAPQUEUE to UINT16
Since new-voting repermitted custom gametypes to go beyond the bounds of a UINT8, here's some extra anti-footgun protection.
2023-04-11 17:18:30 +01:00
toaster
4f271aec24 Handle_MapQueueSend
All XD_MAPQUEUE/XD_REQMAPQUEUE packets are now handled in one function, to guarantee requests are made consistently.
2023-04-11 17:18:30 +01:00
toaster
47ecc6370b K_UsingPowerLevels: Clean up significantly
- Comment each restriction/enablement
- Fix the roundqueue PWR disabling to only occour when the roundqueue is in action, as opposed to when it has any entries at all
2023-04-11 17:18:29 +01:00
toaster
7d1e1a578e (Will merge conflict with new intermission) Do not show advancemap string if roundqueue (or nextmapoverride) will have effect next round 2023-04-11 17:18:29 +01:00
toaster
6bca2a7003 Console command queuemap
- Full valid format: queuemap [name/num] -gametype [name] -encore -force
- Server is fully authoriative about the order of maps in the round-queue
    - Server sends XD_MAPQUEUE (which contains gametype, encore, and ordering)
    - Admin clients have to send XD_REQMAPQUEUE (which contains gametype, encore, and mapnum)
        - Servers spit out a processed XD_MAPQUEUE on reciept
    - Done this way just in case an XD_MAPQUEUE is not recieved and has to be resent, guarantees ordering
- Will create a UI for this post-launch, this is primarily for testing but may be useful for user-ran tournaments
2023-04-11 17:18:29 +01:00
toaster
a1065d9036 G_MapIntoRoundQueue: Seperate into a general append function *and* a specific placement function. A surprise tool that will help us later 2023-04-11 17:18:29 +01:00
toaster
371c52d457 XD_MAP: Clean up associated functions and typings
- Free `mapname` at successful completion of Command_Map_f
- Maps are UINT16, not INT16 or INT32
- Remove [MAP]code component of help message as it hasn't been relevant since long map markers
2023-04-11 17:18:29 +01:00
toaster
85897190e0 GetGametypeParm
Both Command_Mapf and Command_RandomMap take gametype information, so let's seperate it into one generic function
2023-04-11 17:18:29 +01:00
toaster
b8c858e00b Don't halt the server over malformed roundqueue data 2023-04-11 17:18:28 +01:00
toaster
48665e5ee3 [pink dog voice] THAT'S not archive block Parties!! 2023-04-11 17:18:28 +01:00
toaster
487ec6db74 K_UsingPowerLevels: Disable PWR if a roundqueue is in action 2023-04-11 17:18:28 +01:00
toaster
5751ecdcd1 Special stage access-related fixes
- Fix GPEVENT_SPECIAL forcing via rank restriction in round queue
- Re-implements gamedata->everseenspecial
2023-04-11 17:18:28 +01:00
toaster
a08683e819 Improved round-queue state net communication
- Only send from the server when an update to roundqueue state is relevant
- Perform sanity checking on reciept
- Initialise when map command is sent with roundqueue size greater than the client's
- Correct gametype/encore state on reciept
- Only permit from the server, forbid admin clients from providing it on penalty of kick
2023-04-11 17:18:28 +01:00