Commit graph

24233 commits

Author SHA1 Message Date
toaster
ec5b8fcf04 XD_REQMAPQUEUE --> PT_REQMAPQUEUE
It was technically possible for custom clients to spoil future rounds of a tournament queued while they are connected to a server.
Making it a PT direct packet to the servernode both solves this problem AND reduces irrelevant NetXCmd traffic for clients.
2026-03-27 23:37:08 -04:00
Skirlez
4c5ed80162 don't allocate 2 extra bytes in DoSayPacketFromCommand 2026-03-27 23:29:24 -04:00
NepDisk
06245c7ecc Update credits 2026-03-27 23:27:55 -04:00
Skirlez
4b03990167 Fix a crash on some setups when using the say or csay commands 2026-03-27 23:25:45 -04:00
JugadorXEI
0e53d5dfd7 Lua: Hook PlayerMsg to code, remove vestigial mute variable from it¨ 2026-03-27 23:19:51 -04:00
NepDisk
90026bc683 Port PT_SAY from RR
Based on the various commits by tyron
2026-03-27 23:18:00 -04:00
NepDisk
2166bfa7c2 Fix random icon not displaying 2026-03-27 22:22:00 -04:00
NepDisk
fddcf9c2af Merge branch 'next' into roundqueue 2026-03-27 22:16:42 -04:00
NepDisk
857af5beec Fix EFX crashing with mines 2026-03-27 22:14:55 -04:00
NepDisk
ca57b6dcfa Cast this 2026-03-27 21:18:47 -04:00
NepDisk
f7f1a10a7b Cast this 2026-03-27 21:17:12 -04:00
NepDisk
50bbd3c561 Merge branch 'next' into roundqueue 2026-03-27 21:01:47 -04:00
NepDisk
5d38c24f41 Fix copy paste mistake in file header 2026-03-27 21:00:59 -04:00
minenice55
48785600cd make gamepad gravity calc works a bit better with timescale
ideally this runs at the rate we pump inputs instead of at the game tick rate but I'll save that for if/when we get a better input events system
2026-03-27 19:13:26 -04:00
minenice55
9f79cdef49 fix seeking reticule with jawz
this flag needs a proper setter/getter
2026-03-27 15:22:20 -04:00
NepDisk
045e6170c1 Create and use mapnum enumtype 2026-03-27 13:37:36 -04:00
minenice55
c8a4e99dd2 attraction shield attack timer
and tweak visuals
2026-03-27 12:22:53 -04:00
minenice55
204cbc8190 hashes for new assets 2026-03-27 11:51:29 -04:00
minenice55
471bd9e269 only use hi power boost if locked on to a target and fully charged 2026-03-26 17:54:59 -04:00
minenice55
45e6fc6aef add cvars for boost values, small aim assist, contact damage 2026-03-26 17:49:18 -04:00
NepDisk
a2f1b430a7 Make mapbuffer use UINT16 2026-03-26 16:51:14 -04:00
NepDisk
a6006e0980 Go to vote instead of returning to menu 2026-03-26 16:45:11 -04:00
NepDisk
3ebe925669 `Raise extbuffer 2026-03-26 16:42:50 -04:00
NepDisk
4bde2e7452 Fix some missed INT16 cases and update G_GetNextMap 2026-03-26 15:46:41 -04:00
NepDisk
820db79d18 Raise most map numbers to UINT16
I've probably missed a few...
2026-03-26 14:55:20 -04:00
yamamama
ca8b66dd80 Fix compatibility issues with ShouldDamage
- Death-based damage types (DMG_DEATHMASK) only accept "should damage" responses from the ShouldDamage hook
  - SRB2K never had a "damage value" system for spinouts, squishes, and explosions to begin with
- In Lua compatibility mode, death-based damage types force the damage value to be 10000 when a player is being killed
2026-03-26 11:56:26 -04:00
toaster
cf2eb1dc70 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.
2026-03-25 23:38:12 -04:00
toaster
c877362772 queuemap: Add -clear parameter
- Can be used to clear all entries in the round queue
- Stores the special state in the gametype field
- Returns a message if the queue is already empty
2026-03-25 23:32:57 -04:00
toaster
1d4e3b50b0 Handle_MapQueueSend
All XD_MAPQUEUE/XD_REQMAPQUEUE packets are now handled in one function, to guarantee requests are made consistently.
2026-03-25 23:20:19 -04:00
toaster
b30dd43ec6 Got_MapQueuecmd: Add a success message for adding a map to the round queue (visible only to admins) 2026-03-25 23:05:21 -04:00
toaster
9a1212f32e Command_Map_f, Command_QueueMap_f: Prevent memory leak on cheat-limited early-return 2026-03-25 23:02:28 -04:00
toaster
04697e94f3 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
2026-03-25 23:01:42 -04:00
NepDisk
24373da780 Port basics of roundqueue 2026-03-25 22:52:54 -04:00
yamamama
266453f15a Minor affine fixes
* Remove the "pivot offset difference" system; this
  really only ever becomes a concern for pre-scaled affines,
  and caused janky visuals (especially for flipovers)
* Make OGL offsetting actually respect horizontal flips
2026-03-25 12:46:33 -04:00
James R
57b8e683ad Console: use CTRL_+ and CTRL_- to change font size 2026-03-25 01:52:28 -04:00
minenice55
91d92b8142 change mechanics of attraction shield's tackle
instead of a direct homing attack (prone to very strange velocity changing), now is a boost that gets stronger if you're driving in the direction of your target
this boost shouldn't bypass offroad

todo:
hi-power mode should deal damage on contact
new targeting logic that has a LoS check
slight aim assist?
expose to cvars
2026-03-25 00:53:51 -04:00
NepDisk
b3347d785a Alias GT_MATCH as GT_BATTLE in compatmode
Fixes some v1 mods such as Achii Titlecards
2026-03-24 23:25:41 -04:00
NepDisk
3755120541 OpenAL EFX: Clean up globalmapefxparameters and add error handeling 2026-03-24 15:18:25 -04:00
NepDisk
18064a5fab v1 extension backcompat: rotated patch caching 2026-03-24 10:00:50 -04:00
NepDisk
7ffd0815e0 Fix applying flang and chorus waveform as float 2026-03-23 20:24:03 -04:00
NepDisk
dba734515f OpenAL EFX: Refactor EFX parameters, general cleanup, and debug
All that is left to do is Lua exposure and proper value clamping for Lua and SOC.
2026-03-23 18:34:35 -04:00
NepDisk
8942924a03 Fix missed values from 25 -> 255 reversion 2026-03-23 01:59:06 -04:00
NepDisk
b218994f87 Invalidate botvars 2026-03-23 01:51:19 -04:00
NepDisk
dce648a641 Colormap lib fixes from newer SRB2 and revert 25->255 expansion 2026-03-23 01:35:27 -04:00
NepDisk
fd1a75d059 Kill a bunch of dead code 2026-03-22 23:11:29 -04:00
NepDisk
4e97270582 Actively disable EFX send inside invalid sectors 2026-03-22 21:31:29 -04:00
NepDisk
9061274cdc Add per map global EFX via mapheader 2026-03-22 20:27:47 -04:00
yamamama
dba94cce75 Fix flipovers on reverse gravity
Curse of Flipgoop
2026-03-22 16:45:04 -04:00
NepDisk
1d1a4c83eb Use Reverb for ring burnout sound 2026-03-22 16:42:55 -04:00
NepDisk
43ece4d257 Add a few more EFX 2026-03-22 16:29:42 -04:00