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