Commit graph

22232 commits

Author SHA1 Message Date
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
Indev
9f31eeaa72 Make lookback instant locally, also add toggle to do same in replays 2026-03-25 01:55:54 +03: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
NepDisk
2c53e42b8a Allow efx and non efx to be played at the same time on sounds with an origin 2026-03-22 15:51:21 -04:00
NepDisk
057b46010f Disable EFX debug 2026-03-22 15:06:25 -04:00
NepDisk
3b7939347c Hacky System for efx reverb tail
Since theres no direct way of getting this lets hack around it :D
2026-03-22 15:03:20 -04:00
Alug
3777d9a6b4 Improve speed of find_close_polyvertex in debug builds
for #226
2026-03-22 14:18:50 -04:00
NepDisk
eff586510a register cv_handleboostslip 2026-03-22 13:49:01 -04:00
NepDisk
9317f753bc S_StartSoundAtVolumeEx: Allow applying EFX to individual sounds
S_StartSoundAtVolume has been expanded to allow you to pass EFX info to it.
Just set the effect and the vars for the effect and OpenAL will handle the rest. Can be used in the future for all sorts of things.
I_SoundIsPlaying still needs to be modified to account for sounds lasting longer audibly then they do as a source.
2026-03-22 11:09:23 -04:00
Alug
122fbcc808 fix gr_skydome 0
ugh...
2026-03-21 22:15:46 +01:00
GenericHeroGuy
6087d97528 An attempt at fixing slope wedges collisions 2026-03-21 18:24:32 +01:00
minenice55
7867454d85 un-expose ticcmd tilt and shake from lua
will be exposed using a better system later
2026-03-20 22:12:30 -04:00
minenice55
8b38e8c828 "mostly functional" alt thunder 2026-03-20 22:08:33 -04:00
NepDisk
f66b2df41e Let Bubbleboost steal bumpers also 2026-03-20 19:05:09 -04:00
NepDisk
c84c7c3a0b Port updated RR transluceney fade/slide-in code
Taken mostly from commits by Jartha. Also thanks to $HOME for the translucenthud support.
2026-03-20 18:45:26 -04:00
NepDisk
7d6784c4fa Don't attract red SPB rings in first 2026-03-20 16:23:51 -04:00
GenericHeroGuy
275bbf2e38 And this needs the fix too 2026-03-20 18:40:59 +01:00
GenericHeroGuy
0050d30528 Here's the actual fix for the spinout in wind thing lol 2026-03-20 18:27:07 +01:00
NepDisk
c8ad0535c0 Don't let flipover flashing get eaten 2026-03-18 16:51:48 -04:00
toaster
dc47f7e64d Fixed flashingtics not working if you've never taken any damage in a match before.
Two notable consequences of this bug:
* The delay when pressing the item button as a spectator to toggle PF_WANTSTOJOIN was not present, leading to a rapid toggle and spurious changeteam commands.
* Lightsnaking through map hazards such as Lavender Shrine's stabbies caused you extra spicy unavoidable pain.
2026-03-18 16:07:02 -04:00
NepDisk
1551efb70d Hack to fix spinout and flipover ignoring wind 2026-03-18 16:01:05 -04:00
GenericHeroGuy
9db16aaccf Fix the wind pusher in Diamond Square 2026-03-18 20:13:30 +01:00
NepDisk
d02ee5e54e Don't play follower horns if they are hidden 2026-03-18 14:36:24 -04:00
NepDisk
5eba072076 Disable polytile by default
Fixes a minor issue on v1 silvercloud island

for #226
2026-03-18 14:08:24 -04:00
NepDisk
f8e61760f1 Add missing doubled flashtics back to battle via gametyperule 2026-03-18 13:05:04 -04:00
NepDisk
a27d40b16b 2 seconds of extra timer for flame shield 2026-03-18 11:28:00 -04:00
NepDisk
24604a0298 Add small and text only nametags
I really hate HUD code....
2026-03-18 10:45:10 -04:00
yamamama
eaaf63f466 Are you fucking kidding me 2026-03-17 15:55:32 -04:00
minenice55
0f7dd00567 bro. 2026-03-17 15:23:46 -04:00
GenericHeroGuy
ffa5a92ef0 We're writing unit tests in Zig now
I dunno what happened, I was just applying some FloatFree(tm) and then all
of this appeared out of nowhere!
2026-03-17 19:52:59 +01:00
NepDisk
0afba2955e Whoops missed this condition 2026-03-17 14:25:17 -04:00
NepDisk
e262b15a43 Make sure bots can stack other boosts when stacking is ON not OFF 2026-03-17 10:34:07 -04:00
minenice55
4f88b8c1b1 Merge branch 'altthunder' into next 2026-03-16 16:42:17 -04:00
GenericHeroGuy
d269268060 The MS fix thing I keep forgetting about 2026-03-16 21:05:40 +01:00
yamamama
98655d0621 Order of operations gaffe 2026-03-16 12:37:21 -04:00
yamamama
0db607be23 SHUT UP GENERIC 2026-03-16 12:21:52 -04:00
yamamama
422b07a472 Make this not a floating point operation 2026-03-16 12:16:51 -04:00
Indev
a8ab3baf2c Fix listemotes calculating incorrect number of pages 2026-03-15 21:14:35 -04:00
yamamama
7d9d88ea39 distancefromcluster: Move mapscale undo to DtF calcs only
Conga already undoes mobjscale, so we were effectively double-scaling,
which would really badly blow up the distance on mobjscaled maps
2026-03-15 17:51:13 -04:00
yamamama
b46a51607f Bubble Shield adjustments
- Players with inflated Bubble Shields now ignore collisions with anything the shield itself is supposed to reflect
- If a player happens to still collide with a reflectable in this state, they noclip through and a ``bubblegraze`` value increments
  - ``bubblegraze``, like ``justbumped``, prevents K_KartBouncing collisions for some time
- Falling rocks can now be reflected by Bubble Shields
- 1.5 seconds of flashtics applied to players whose (inflated) Bubble Shields are shattered
2026-03-15 15:10:57 -04:00
yamamama
9a39b24d28 Add approach functions, add an `approach` function to Lua mathlib
Easy increment/decrement :)
2026-03-15 15:10:57 -04:00
minenice55
8d07005431 telegraph the charging better 2026-03-14 23:20:14 -04:00
minenice55
93e88e30a2 effects when fully charged 2026-03-14 23:02:10 -04:00
minenice55
41a59f7136 basic alt thunder implementation
homing attack poc, dunno if we wanna do smth like this
2026-03-14 22:29:07 -04:00
minenice55
c98d48f1a2 Update k_items.c 2026-03-14 20:16:33 -04:00
minenice55
301afd19c2 Merge branch 'next' into altthunder 2026-03-14 20:16:26 -04:00
NepDisk
15079bd993 Buff flame by 2 seconds and expose its value to SOC and Lua 2026-03-14 19:53:53 -04:00
NepDisk
19038018f0 Give flameshield a numbers buff
Max speed goes from 78 on sonic to 81 and its accel matches what a sneaker is
2026-03-14 19:43:08 -04:00
GenericHeroGuy
952f98511b Some heavy airdrop tweaks
* Reduced min delay in fusion mode from 11 to 6 tics
* Made air drag MUCH weaker, and applied to heavy-only mode for consistency
* XY momentum cut in fusion/heavy changed from 0.9x/0.8x to 0.85x for both
* Increased the Z momentum cut if you have high upwards momentum
* Reduced ring cost from 3 to 2
* Kickstart accel inverts the accelerate input in fusion
2026-03-15 00:40:52 +01:00
yamamama
f082cb1439 Player-tracking roulette box visibility 2026-03-14 19:21:15 -04:00
minenice55
680e188f17 put item seeking reticule in k_item 2026-03-14 19:08:01 -04:00
yamamama
387ea9a559 Experiment: attempt to make Arrow Bullet more reliable by lowering the minimum threshold
This is an Alt Shrink buff
2026-03-14 18:55:10 -04:00
NepDisk
ea9171bff7 Remove unused bubbleMultipler variable 2026-03-14 18:49:36 -04:00
minenice55
2046a3820a rename lastjawztarget and jawztargetdelay
will be used for more items and need to be made more generic
2026-03-14 17:53:38 -04:00
minenice55
ddef03927c Merge branch 'next' into altthunder 2026-03-14 17:45:47 -04:00
GenericHeroGuy
40988ef4b5 Some recovery spin tweaks
* Charging during flashtics now has unique effects
* Fixed full charge sound not playing in flashtics
* kickstartaccel is now accounted for
* Dedent (hint: git show -b)
2026-03-14 21:23:24 +01:00