indev
148bd1ab4d
Remove lua_udatalib, and use Lua_CreateFieldTable for mobj and player instead
...
Need to test this a little but in theory, udatalib doesn't really give
much benefits, and using fields table and enum is safer than messing
with offsetof
2026-11-10 21:53:23 +03:00
alufolie91
473619ab66
add I_CheckAboveDesktopRes
...
forgor i added this originally for the resolution list rework stuff so was missing here lul
2026-11-09 20:51:02 +01:00
alufolie91
d75638cbfc
remove alpha to coverage (a2c) support
...
while this can look nice in some cases with msaa, it has the effect that everything transclucent is twice as translucent as it should be besides just being a kinda confusing option for almost everyone
so just delet it and simplify code
2026-11-09 20:26:50 +01:00
alufolie91
f09b591989
set screentexture filtermode to linear when downsampling
...
nearest-neighbour filtering is good from upscaling from a lower resolution, but will produce super ugly mixels and shimmering when downsampling from a higher resolution
2026-11-09 20:19:14 +01:00
alufolie91
79d75aa08d
simplify gl "downsampling" stuff
...
still kinda meh but whatever, shit works
2026-11-09 20:19:08 +01:00
alufolie91
486560d79e
fix typo
...
:blobcatpats:
2026-11-09 20:18:03 +01:00
alufolie91
953b0c8f94
opengl: make stencil attachment for fbo with EXT a requierement
...
while not compeletely needed, we use the stencil buffer for some stuff, so dont really feel like having to deal with potential issues here
besides, probably any gpu in almost the last 2 decades should support this and even gl3.0 anyways, so this is just bloat we do not need
2026-11-09 20:17:59 +01:00
alufolie91
5639e872f1
delet this
...
cant remember what this was used for lul
2026-11-09 20:17:51 +01:00
alufolie91
80da0fc538
fix G_GetDemoDate
...
forgor to change this back oopsie
2026-11-07 13:52:29 +01:00
alufolie91
014126b57d
Merge branch 'origin/polyholes' into Saturn-Next
2026-11-06 17:21:19 +01:00
alufolie91
d7b150a04f
(hopefully) make replay date stuff more thread safe
...
dont do locale stuff from thread, use localtime_r && localtime_r as localtime is not threadsafe either
G_GetDemoDate returns malloc´d buffer again, tho not strictly necessary
also, fix dates not always being initialized in all cases and type issue with G_GetCreationTime
2026-11-06 16:14:39 +01:00
alufolie91
5751f9b29b
fix windoze compile
...
windoze does not have threads.h and thread_local is only a keyword per c23....
thanks michealslop....
2026-11-05 15:55:22 +01:00
alufolie91
1a29bd1e63
Merge branch 'Saturn-Next' into polyholes
2026-11-05 15:38:42 +01:00
alufolie91
e54b6a780d
"fix" skywalls on hadal trench and candy lake
...
this whole sky handling is just incredibly stupid and wouldve been such an easy fix, but here we go
this is just more stupid hacks but i really dont feel bad here since the code already hacked around a bunch of shit
just hoping this wont cause any issues on some maps and needs testing
sigh
2026-11-05 15:38:11 +01:00
alufolie91
c1a0b97c54
add checks for missing bsp lumps
...
not sure why there werent any, the other map lumps have those, and a corrupted file may have those missing also which would just crash instead of telling you wtf is wrong
2026-11-05 15:38:07 +01:00
alufolie91
b8aaf63b20
use "rawlinedef" when checking for seg issues
...
smth smth byte order or whatever but is consistent with the rest of the code anyways
2026-11-05 15:38:04 +01:00
alufolie91
d43b60ad83
fix blendmodes and line translucency on polyobject sides in gl
...
this is also how vanilla kart handled this code eitherways
2026-11-05 15:38:00 +01:00
alufolie91
cb5d3ab4e1
add compile flag for building with thread sanitizer
...
indev noticed thats a thing that exists
wouldve been quite useful a bunch of times before lol
also some fixes for the other sanitizer flags
2026-11-04 01:42:11 +01:00
alufolie91
eba1cfb94d
remove "flatcheck" from HWR_PrecacheLevelFlats
...
in practice this did nothing really
would be more useful for encore but that aint working for us so whatever
2026-11-04 01:38:30 +01:00
alufolie91
f5030e6a3c
fix some holes and cracks in the gl renderer on some maps
...
hopefully...
this is adapted from the large refactor but that was slow as shit
needs testing to see if this messes with something
2026-11-04 00:27:22 +01:00
indev
3adcf608c3
(Hopefully) fix race condition in replay hut
...
It was probably caused by menupath being modified when replay load
thread is in the middle of checking it, now the check for "valid"
replay load thread is simpler. Also as comment says, there still are
few reported data races for replaynamesloaded but i THINK it should be
fine, since the only "data race" that could be harmful here is
replaynamesloaded switching from true to false, which would mean
demolist_all is suddenly invalidated, and that shouldn't be possible
because we only switch replaynamesloaded from true to false inside main
thread while also locking the "search mutex"
(this is so wordy lol)
2026-11-04 01:06:18 +03:00
indev
9682ab59c9
Make M_CheckParm thread-safe, it is called from different thread in http-mserv.c for example
2026-11-03 23:56:22 +03:00
alufolie91
51adf8869c
HWR_PrecacheLevelTextures should also skip texture number 0
...
whoopsie
2026-11-02 14:58:55 +01:00
alufolie91
5183baed44
make HWR_ApplyDispoffset a little less ugly lol
2026-11-02 14:41:09 +01:00
alufolie91
e5c6cb635d
make teleporter handling in P_ProcessLineSpecial a little less ugly lulul
2026-11-02 14:41:06 +01:00
alufolie91
1ba4fe99a7
fix fof noencore ceiling checks being flipped in opengl renderer
...
matches software now
even if most custom maps were made with opengl in mind, stuff did not work anyways for years so this shouldnt hopefully cause any issues
2026-11-02 14:38:56 +01:00
alufolie91
c44d6f6aeb
update HWR precache stuff
...
not much but matches stuff i did for blan
2026-11-02 14:32:12 +01:00
alufolie91
07427b391e
dont run horizonline code on fofs in opengl
...
this currently does NOT work anyways and just wastes time for nothing on some maps
2026-11-02 00:15:38 +01:00
alufolie91
2210bd4e2d
opengl: fix opaque fof planes checking the wrong sector for encore remap
...
it should check its own "master" sector for remap behavior NOT the sector it resides in
note: i did not change the ceiling/floor behavior here as i noticed there might be more issues than this with fofs
2026-10-31 12:51:01 +01:00
alufolie91
f4ac08d09f
some smaller mobj related things
...
mostly cleanup and correctness fixes for phobos build
2026-10-31 12:50:18 +01:00
alufolie91
090580badf
replace number with COM_SPLITSCREEN
2026-10-31 12:50:14 +01:00
SteelT
0eacda7494
discord.c: Fix joinSecret memory leak
2026-10-17 16:26:33 +02:00
alufolie91
14df9c01fa
send over less mobj stuff in savegame on mobjscaled maps in some cases for phobos build
...
none of this ever accounted for mapobjectscale
sadly not vanilla compatible but oh well
from https://gitlab.com/kart-krew-dev/ring-racers/-/commit/c4cca8c8b703b4bb23e27be4c3bfd37b9d092215
2026-10-15 16:25:51 +02:00
alufolie91
a69fc07dcf
fix smoldering smoke not accounting for mapobject scale (but vanilla compatible)
...
:chaosleep:
2026-10-15 16:17:33 +02:00
alufolie91
cea97226d5
fix driftdust and respawn lasers not accounting for mapobjectscale (but vanilla compatible)
...
super annoying, but at least it looks right like that
2026-10-15 14:52:49 +02:00
alufolie91
19a7a4c5c1
remove duped copyright
2026-10-15 10:15:51 +02:00
alufolie91
98d4ab3e9d
do not attempt to netsync locally spawned mobjs
...
it is generally not really advised to locally load addons as a host as that might cause issues
2026-10-15 10:15:48 +02:00
alufolie91
1700db48b4
make player gravstretch and squish properly account for mapobjscale
2026-10-15 09:30:13 +02:00
alufolie91
ba3429f497
software: add helper for getting "wall lights"
...
slightly less ugly
2026-10-15 09:28:10 +02:00
Alug
3b98d6c44f
addfilelocal/autoload: fix showing wrong error when file was not found
...
W_CheckFileContains returns -1 if file was not found which still triggered those conditions
so just handle if file was not found to skip doing other stuff in those cases
2026-10-14 13:56:31 +02:00
alufolie91
3183ec58ab
simpler fix for localskin minimap angle display crash
2026-10-12 15:13:38 +02:00
alufolie91
46a72bda8e
fix crash when applying localskin midgame
2026-10-08 09:24:30 +02:00
alufolie91
156400ffc2
fix arithmetic on NULL pointer when drawing 3d models
...
caused by localskin code.... sigh......
noticed this while messing with dynamic allocated (local)skins
2026-10-07 20:25:56 +02:00
alufolie91
116fbd93d0
cleanup squishdance stuff a bit
...
we dont need all those things saved per player really lol
2026-10-07 09:58:20 +02:00
alufolie91
30affaf451
cleanup saltyhop a little, move it to player struct
2026-10-07 09:58:20 +02:00
alufolie91
d66020e3a9
fix localskin menu not showing localskin 3d models
...
this should use the skins localnumber not the "actual" skinnumber
yeah localskin code still sucks....
fixes https://github.com/Indev450/SRB2Kart-Saturn/issues/230
2026-10-04 00:56:25 +02:00
alufolie91
4749d1a108
OpenGL: prefer GL_RGBA for fbo texture
...
as recommended per https://wikis.khronos.org/opengl/Common_Mistakes
2026-10-01 19:30:09 +02:00
alufolie91
36d13734f6
v10.1
2026-09-27 17:53:52 +02:00
alufolie91
3fc5f572bb
fix CMake again............
2026-09-27 17:35:05 +02:00
alufolie91
d65319a9fc
fix "Modulative" blendmode in software
...
forgot to account it when the gamma correction stuff was ported
2026-09-27 17:15:42 +02:00
alufolie91
1d8b066a64
fix desynchs with vanilla on Sewer System
...
read the sectornode list stuff
this means we reuse old stale data in some cases, which also causes strange bugs with orbiting items in some cases, but thats what vanilla does and we HAVE to keep vanilla compat after all
i really hope this does not cause any fun impossible to debug crashes, but what can you do
2026-09-26 15:12:28 +02:00
alufolie91
e6033322c6
disable phobos in cmake
...
stupid copy paste error
2026-09-26 12:03:05 +02:00
alufolie91
d988876bca
change version number for phobos
...
phobos is NOT vanilla compatible and is not meant to be
this should prevent the game be able to connect to vanilla servers hopefully
2026-09-26 11:57:33 +02:00
alufolie91
7e92482ced
add orbit mobj check into K_MoveHeldObjects
2026-09-25 22:07:09 +02:00
alufolie91
fa753c3694
Revert "cleanup and make safer, orbit item handling in K_MoveHeldObjects"
...
This reverts commit 5e1ae2155f .
2026-09-25 22:03:03 +02:00
indev
58403cf4a5
Revert "Prevent orbit from being freed by using P_SetTarget in K_RepairOrbitChain"
...
This reverts commit 13241d1880 .
2026-09-25 22:04:15 +03:00
indev
13241d1880
Prevent orbit from being freed by using P_SetTarget in K_RepairOrbitChain
2026-09-25 21:54:49 +03:00
alufolie91
91f016fd0c
remove inline from P_TagDamage
...
not only this is basically unused its also quite huge
so no need to inline this at all
2026-09-25 20:34:49 +02:00
alufolie91
5e1ae2155f
cleanup and make safer, orbit item handling in K_MoveHeldObjects
...
based on https://gitlab.com/kart-krew-dev/ring-racers/-/commit/4e9d2295c9da30888fea77825c276bac831aecb3
2026-09-25 20:32:31 +02:00
alufolie91
dd2a227529
mobj hnext/hprev list fixes for phobos build
...
too lazy to cherry pick so
https://gitlab.com/kart-krew-dev/ring-racers/-/commit/a392996a5437742d5b7a91d0fce9da49c3a8bd76
and
https://gitlab.com/kart-krew-dev/ring-racers/-/commit/8b5bd645ca5d8ef9269aa6ccf4375337bd0c1672
both of which might change behavior so phobos only
2026-09-25 19:03:46 +02:00
alufolie91
9521183eb3
cast this to boolean
...
no effective change just wanna be more explicit there
2026-09-23 19:17:13 +02:00
alufolie91
56bb20f4e1
cleanup controller menu stuff a little more
2026-09-23 18:31:49 +02:00
alufolie91
604fa7281b
dont reset JoyInfo in I_InitJoystick
...
seems to fix wonky behavior when changing controllers per player
2026-09-23 18:24:44 +02:00
indev
2c9a82e2d3
20
2026-09-21 22:36:41 +03:00
alufolie91
4f7e296885
fun times with M_DoAssignJoystick
...
my tired ass forgor cv_usejoystick gets reassinged within this, so the cvar string also changes
2026-09-21 20:41:01 +02:00
indev
c917708184
Actually change command name to useprefcolor, so its a bit more intuitive
2026-09-21 20:57:18 +03:00
indev
110e93f4ed
Add command to change skin color to prefcolor
2026-09-21 20:53:44 +03:00
orbitalviolet
a0d6d452a0
Fix regression #1507
2026-09-21 18:41:10 +02:00
alufolie91
7fb3f7a1aa
YES THANKS MICHEALSOFT VERY COOL
2026-09-21 17:32:08 +02:00
Roberto Ierusalimschy
7e906074ec
keep memory-error message in the global state, so that its use
...
does not depend on Lua internalizing strings to avoid a string
creation on memory errors
2026-09-21 17:14:21 +02:00
alufolie91
de35e086d3
use strnlen in W_CheckNumForNamePwad
...
we clamped this to a length of 8 eitherways
so might aswell just use strnlen which is safer in any case
2026-09-21 16:44:56 +02:00
alufolie91
295b35b23a
cleanup p_mobj + more safety
...
big cleanups and more mobj checks
needs to be rechecked since its quite a lot
2026-09-21 16:38:54 +02:00
alufolie91
a5b6dad8f3
cleanup p_enemy + more safety
...
add a crapton of checks for removed mobjs
copy pasted from srb2 mainly
2026-09-21 16:37:40 +02:00
alufolie91
d024992144
clean up Command_connect
2026-09-21 16:34:33 +02:00
alufolie91
3df604e8b6
expand sector flags
...
include gravflip, heatwave, noclipcam and invertencore
is a bit cleaner
may also add the special flags at some point to clean things up a bit more
2026-09-21 16:33:21 +02:00
alufolie91
080f586c19
simplify W_CheckNumForNamePwad
...
pretty much what blankart does
avoids doing a bunch of string work
2026-09-21 16:31:18 +02:00
indev
0e62afd348
Count lua memory for total usage in memfree command
2026-09-21 17:24:43 +03:00
indev
648d3c439b
Change lua to not use z_zone allocator
2026-09-21 17:24:43 +03:00
NepDisk
1dd3e90363
Make memdump show block tags
2026-09-21 16:22:22 +02:00
NepDisk
c78c0d1657
Fix memory block not being moved to correct taglist with Z_ChangeTag
...
I didn't even notice this one at first, whoops! Also added proper checking to prevent this from happening again.
2026-09-21 16:22:01 +02:00
NepDisk
838d05eef7
Convert Z_Zone head into a list similar to thinkerlists
...
I was thinking to myself about how 2.1 and before did thinkers and how 2.2 made it into thinker lists and thought "wait isn't memory allocated similar to that?" and well here we are.
2026-09-21 16:21:40 +02:00
alufolie91
3c3e8dd986
use Z_TotalUsage for memory debug display
2026-09-19 21:09:20 +02:00
alufolie91
2d79ff9606
few more smoler style cleanups
2026-09-17 11:44:15 +02:00
alufolie91
70f4207e02
smol fix for pm´s in DoSayCommand
...
sending a pm might change the length of the string which we need to reconsider when sending the cmd
2026-09-17 11:40:52 +02:00
alufolie91
242754f811
disable flat precaching in opengl in encoremode
...
this appears to mess up remapping behavior in certain cases (ex. sneaker/spring panels)
since i cba looking into properly fixing this, ill just disable this for now
2026-09-12 16:53:26 +02:00
alufolie91
521544f6ba
raise skinlimit to 1024 for phobos build
...
not thoroughly tested by me, so might still be incomplete
2026-09-03 19:34:56 +02:00
alufolie91
efc0681e01
make PHOBOS_BUILD a compile flag
...
pass PHOBOS_BUILD=1 to build
2026-09-03 19:30:55 +02:00
alufolie91
4c3fa7d826
raise numlap limit to 255 for phobos client
...
idk but this was wanted
2026-09-03 19:21:18 +02:00
alufolie91
ac87678708
rename COMPAT_VANILLA to PHOBOS_BUILD
...
have a distinct name for that build "Phobos", as a nod to Doom
also invert the flag, as it should make adding stuff less headachey
will make this a compiler flag later but too lazy atm
2026-09-03 18:47:45 +02:00
alufolie91
a6e5edabd2
fix M_TextInputSetString not null terminating in some cases
...
if input string is longer than the buffer this may never be null terminated properly
2026-09-02 15:05:43 +02:00
alufolie91
24e5b1d84b
fix buffer overflow when opening "Advanced Color Options"
...
idk if this is the intended thing, but works fine
2026-09-02 14:40:49 +02:00
alufolie91
ade7db9004
fix replayhut exploding due to sega fishe
...
"sega_bass_fishin" is exactly 16 characters which caused stuff to not be terminated
2026-09-02 14:09:33 +02:00
indev
819b171d90
Do a full garbage collection after LUA_InvalidateLevel
2026-08-28 00:44:49 +03:00
GenericHeroGuy
882716e911
Make Valgrind builds usable when not running with Valgrind + cleanup
2026-08-24 11:34:55 +02:00
alufolie91
5644036d25
macrofy Z_CheckHeap errors
...
stuff was slightly ugly and unwieldy.
making it a macro also makes adding new errors less messy
2026-08-24 10:30:28 +02:00
alufolie91
de74c9251f
make HWR_AddPolyObjectPlanes a little less ugly
2026-08-23 16:40:31 +02:00
alufolie91
1552b1808f
"about"
2026-08-21 16:51:04 +02:00
alufolie91
fd349e2b37
netsync mobj pmomz in non vanilla compat builds
...
may help with some join desynchs
2026-08-18 17:39:19 +02:00
alufolie91
0cf1cabcc2
basic 32 player support
...
can just be enabled per MAXPLAYERS define in doomdef
this will also auto undefine COMPAT_VANILLA
no support for tab rankings or intermission rankings at all yet
will port those over eventually from saturn 32p or blankart and clean stuff up
please note this may have bugs since not everything is ported over yet
2026-08-18 17:39:19 +02:00
alufolie91
bcbe765b9d
fix potential buffer underflow in portal handling
...
P_FindSpecialLineFromTag may return -1 in some cases
2026-08-17 19:19:51 +02:00
alufolie91
eca3effb3b
raise version to v10
...
was originally be 9.3 but this update is too massive to be a minor version update
2026-08-17 18:47:42 +02:00
Gustaf Alhäll
f1380a276e
Fix buffer overflow when running map scripts
2026-08-17 18:43:08 +02:00
James R
8ffeab1646
Reset wait period for COM_BufInsertText
2026-08-17 16:39:27 +02:00
alufolie91
2eb175c356
few more smaller code cleanups
2026-08-17 16:39:23 +02:00
alufolie91
4e606fc7de
fix indentation
2026-08-10 15:50:35 +02:00
Gustaf Alhäll
c5116dea1a
Add support for OpenBSD
2026-08-10 15:50:32 +02:00
alufolie91
924f9c2151
put directory changing and getting stuff into functions
...
from https://gitlab.com/kart-krew-dev/ring-racers/-/commit/7ef40f5d743bf6bf251e2edc89cda23e8fb36ee5
changed a bit so windows also can print the "warning" on failure
2026-08-10 15:38:31 +02:00
alufolie91
e0fa53e4df
demonames apparently should write one less character
...
better keep it like this
2026-08-10 15:33:40 +02:00
alufolie91
eeb7d48a6f
one more snprintf replacement for next branch
2026-08-09 17:51:39 +02:00
alufolie91
df291710d8
replace a few more length magic numbers with sizeof
...
just to be sure really
2026-08-09 17:49:34 +02:00
alufolie91
16577877d3
replace all sprintf with snprintf
...
some of this was taken from https://gitlab.com/kart-krew-dev/ring-racers/-/commit/59f23dfa181327ed5c00f55688840d39e3583569 so thx!
should fix apple clang warnings and is alot safer to have all this crap be bounded
theres prob alot more other stuff, and id love to eventually replace all the strcpy family functions with snprintf and equivalent
2026-08-09 17:49:31 +02:00
alufolie91
309d459a70
fix apple clang warning for music test
...
define this as constant otherwise compiler may treat the array as being variable in size for some reason
2026-08-09 15:00:52 +02:00
alufolie91
e1430f7bc7
replace magic number with sizeof
2026-08-08 19:07:56 +02:00
alufolie91
bf70beb88a
cleanup SV_SendServerInfo a little
...
mostly just make it more readable by using ptr
2026-08-08 19:03:31 +02:00
alufolie91
a951622f6a
ensure serverinfo "application" is null terminated
...
not strictly needed but better be safe than sorry
2026-08-08 19:00:13 +02:00
alufolie91
d7db0d68dc
ensure serverinfo mapname is null terminated
...
forgor back then
2026-08-08 18:53:55 +02:00
alufolie91
2b9224cc3f
forgor to update player names comment
2026-08-08 18:09:45 +02:00
alufolie91
0a750cd3bc
cleanup gl shadow checks
...
just move em into the function to be less ugly
2026-08-08 17:38:20 +02:00
alufolie91
0e8a32612f
move player_name init to D_RegisterServerCommands
...
runs before registering client commands and is for everything server + client needs
2026-08-08 17:31:27 +02:00
Monster Iestyn
3c6882203b
Initialise player_names[] in D_RegisterClientCommands such that we don't need to have to manually update it if MAXPLAYERS ever changed
2026-08-08 17:31:23 +02:00
alufolie91
0464a8b0c7
attempt to mitigate "palette" cvar allowing random lumps to be used as palette
...
if theres a proper way to check for actual palettes pls tell me thx
2026-08-07 20:14:48 +02:00
alufolie91
599eda96aa
fix M_ScrollString not null terminating its output
...
this caused music test to have non terminated strings
2026-08-07 19:36:51 +02:00
alufolie91
421d735052
fix compiler complains when compiling with valgrind support
2026-08-06 22:16:50 +02:00
alufolie91
73bc64f9da
fix clamp assert in HWR_SplitWall
...
idk man it really hates if lo > hi apparently lol
2026-08-06 22:16:48 +02:00
alufolie91
5d807d65e5
smol style fix
...
less confusing
2026-08-06 17:43:15 +02:00
alufolie91
88d86a6e60
fix NOMUMBLE compile
...
idk how and why this breaks, but I_OutputMsg is in doomdef anyways for god knows why
2026-08-06 17:05:09 +02:00
alufolie91
b2cdbaae60
fix protocol register thingie
2026-08-06 16:58:07 +02:00
alufolie91
9160431556
fix compile for android bionic c lib
2026-08-06 16:58:01 +02:00
alufolie91
2f9a400cf3
cmake flag for mumble
...
stimky
2026-08-06 16:51:51 +02:00
alufolie91
c39073dd9e
fix arm compile
...
idk why i added this, if this is ever needed for whatever pls yell at me
2026-08-06 15:09:48 +02:00
alufolie91
f03692b840
delet duped MobjThinker check
2026-08-05 22:50:11 +02:00
MIDIMan
617e8fdd55
Manually set NetVars's hook_type
...
Also adds a 2.3 TODO comment for MF_AMBIENT
2026-08-05 22:49:53 +02:00
alufolie91
d5252bd3b3
fix an oopsie in p_mobj.c
...
prob did that while sleep deprived, P_WeaponOrPanel includes a few more things than intended to be there
doubt we even use any of those, but i dont want to cause any potential issues agaion
2026-07-28 20:49:23 +02:00
alufolie91
94f46c3ce6
also prevent "local" pushable mobjs from executing linedef actions
...
missed when i did the other, pushables have a seperate executor special
2026-07-25 09:24:59 +02:00
alufolie91
c3e709231d
Merge branch 'luaprofile' into Saturn-Next
2026-07-24 16:18:59 +02:00
alufolie91
7878e01e3f
update copyrights for "core" folder
2026-07-24 16:15:56 +02:00
alufolie91
4631844c9f
revert removing the slopelanding dupe
...
dont think this would cause any issues at all, but i dont feel like maybe causing some dumbass edge cases anywhere really
can test this further after v10 release since its already taking ages
2026-07-24 16:07:28 +02:00
alufolie91
0c440d240c
can pass char to this now
...
no need to reconvert this stuff from const char to std::string and back to const char really lol
2026-07-24 15:54:50 +02:00
alufolie91
5c7be85977
fix cmake
...
.ch..........
2026-07-24 15:50:35 +02:00
alufolie91
c401926c0b
fix lua hook profiler drawing out of screen bounds in some cases
...
this omits alot of hooks in the profiler, tho not sure if anyone should even care about those back in the list
maybe just have it have multiple pages like perfstats, or better just integrate it into perfstats......
2026-07-24 15:48:57 +02:00
alufolie91
e0e8be8d46
perfstats thinkframe maxpage fix from blan
...
+ also yoink the ps types to get rid of magic numbers
just prevents the cvar being set to a page that does not exist
2026-07-24 15:47:44 +02:00
alufolie91
957d3f7229
delet fmt for lua hook profiler
...
i dont want another stinky library
this would just be an arsepain to include in windoze builds
TODO: make this drawer less of a mess, maybe integrate into perfstats instead?
2026-07-24 15:31:16 +02:00
alufolie91
7e47b9b6ba
fix crash in K_drawKartMinimapHead if player mobj was removed
2026-07-24 07:36:47 +02:00
romoney5
6e91e00289
Ignore scenery thinker for player objects
...
Prevents Lua from being able to remove player objects using MF_SCENERY
and causing potential crashes
2026-07-24 07:36:43 +02:00
alufolie91
a539f38e72
add more safety checks to some maploading stuff
...
+ rename things to make more sense
2026-07-21 20:33:46 +02:00
alufolie91
4f21d8f983
dont apply lua rumble during replay playback
...
same as non lua rumble
2026-07-21 16:05:11 +02:00
alufolie91
31517ebebe
smol fbo stuff cleanup
...
was from the water branch
2026-07-21 15:54:18 +02:00
alufolie91
3a2e009d01
have the musiccredit "box" style be colourized
2026-07-21 15:52:02 +02:00
alufolie91
38e50a3cfb
bit more p_mobj cleanup
...
more unnesting stuffs
2026-07-21 15:31:33 +02:00
alufolie91
97555bc263
remove trailing whitespaces from musicdef fields
...
mostly just to prevent the warning popping from those, but also why not lol
2026-07-21 15:03:38 +02:00
alufolie91
848115d105
print the unedited musicdef field for whitespace warning
...
otherwise this may just show whitespaces where they arent ones originally
2026-07-21 15:03:27 +02:00
alufolie91
3668c2c4f3
more code cleanups
...
+ remove duped slopelanding stuff
mostly just unnesting stuffs, some mobj checks, etc
2026-07-21 14:44:56 +02:00
alufolie91
d5f68bf2aa
fix compiler warning for sound stuff.....
...
:chaosleep:
2026-07-20 16:33:51 +02:00
alufolie91
3ae968f060
smol random cleanups
2026-07-20 16:08:55 +02:00
alufolie91
d73f79509e
actually reduce pointinsubsector in P_SpawnMapThings in some cases lol
...
bunch of vanilla maps have rings and stuff present lul
2026-07-20 16:05:04 +02:00
MIDIMan
19e9eedce3
Fix NiGHTS hoops crashing the game for mid-level netgame joiners
2026-07-20 15:50:16 +02:00
alufolie91
8880057ff2
fix and cleanup P_SpawnMapThings
...
-split emeraldhunt handling into its own function
-merge hoop spawn loop into the main mapthing spawnloop
-continue early for things like rings and coins
- reduce the amount of R_PointInSubsector on maps with nights hoops
hopefully reduces levelload time slightly
2026-07-20 15:50:13 +02:00
alufolie91
9692484d2e
fix issues with sound freeslotting
...
this "works" with a skinlimit of 255
but would cause hard to debug crashes with raised skinlimits and was generally really unsafe and could cause soundnames to not be null terminated aswell as buffer overflows from blind strcpy
the sprintf fix is from Indev originally for neptune
NOTE: if the skinlimit is ever raised above 1024 then freeslotnames NEEDS to be atleast one byte bigger to not truncuate stuff
NOTE2: pretty sure localskins are fucked if any are loaded in servers with 255 skins loaded, but i dont care atm
2026-07-20 11:29:19 +02:00
alufolie91
df3a64339c
fix skin search command overflow
...
when using localskins and going over the skinlimit
this should use numskins not numallskins there
no i dont feel like supporting localskins here the other skin commands also dont care
2026-07-20 01:01:09 +02:00
indev
5a966aa317
Re-add playernode check
2026-07-20 01:54:47 +03:00
indev
a132db9e6e
Attempt to fix server locking up when trying to kick player that has left already
2026-07-19 23:41:19 +03:00
alufolie91
0acfc96812
attempt to fix kick/ban commands causing dedicated servers to self destruct
...
if a player was specified which was not being in game
this is what caused dedis to sometimes go to the main menu
2026-07-19 06:16:50 +02:00
alufolie91
f09c61cee9
only play stairjank sound if we have its visuals enabled
2026-07-19 02:42:18 +02:00
alufolie91
735c4b67dc
move stairjank particles into K_MoveKartPlayer
...
to where we also rotate the player
also means we now use K_AltFlip :p
also means the visual toggle now actually does prevent spawning them
2026-07-19 02:40:17 +02:00
alufolie91
267a758447
fix up dedi i_system
2026-07-19 02:36:16 +02:00
indev
6892c212d1
Comment out stairjank particles for now, since spawning mobjs during P_TryMove may mess up some global variables
2026-07-19 03:31:09 +03:00
alufolie91
a1127068df
fix wireframe potentially not disabling on toggle
...
netupdate sucks ass
2026-07-17 22:43:23 +02:00
alufolie91
7ee93d889e
remove this from polyvertex_t
...
was used for optimization but not used anymore
2026-07-16 20:16:42 +02:00
alufolie91
ee9c9e2839
hack: fix paletterender stuff not applying to screenshots/gifs when using downsampling fbo
...
this sucks
but the final screen texture with the palette render postprocess step will not be in the downsample fbo
so we have to redraw it there with the postprocess step......
this is still better than drawing another screen texture when using paletterender which costs perf
2026-07-14 11:28:49 +02:00
alufolie91
28c4061a26
remove viewsky which doesent exist lol
2026-07-14 09:40:37 +02:00
alufolie91
d0f02f1530
remove pointless skybox check here
...
if skybox then newview->sky will be false there which R_DrawSkyPlanes will check for
2026-07-14 09:40:35 +02:00
alufolie91
53fbbecbcd
fix incrementing garbage in Portal_AddSkyboxPortals
2026-07-14 03:00:42 +02:00
indev
587f24ae85
Add empty I_OpenURL into dedicated server build
2026-07-13 23:56:53 +03:00
alufolie91
ba0b414062
fix paletterender toggle calling setpalette during startup
2026-07-13 20:31:30 +02:00
alufolie91
b27b4bfd7a
software: fix cv_spriteclip
...
scaled sprites should be excluded from the simple viewwindow checks
also R_CheckSpriteVisible should be done AFTER portal adjustments
2026-07-13 07:47:51 +02:00
alufolie91
7971f76885
software: cleanup sky hacks
...
still horrid, but atleast this wont give me braindamage each time i have to look at it
this also read stale data from the previous frames and was just insanely messy
this still sucks ass but oh well
2026-07-13 07:47:48 +02:00
alufolie91
7048eeacc3
Portal_AddSkybox can be static
...
its unused anyways
also adds plane bounds check which was missing
2026-07-13 07:44:47 +02:00
alufolie91
8a62f4e978
software: move hom removal to R_RenderPlayerView
...
gl also has it there so why not
2026-07-13 07:44:38 +02:00
Eidolon
f5fdf917bd
Support >4GB sys mem in memfree for linux, win32, macOS sys mem counts
...
Also includes memory counts for the extended allocation functionality
2026-07-13 07:44:33 +02:00
alufolie91
b9ac91c74f
fix eggbox crap
...
:chaosleep:
2026-07-09 23:49:16 +02:00
indev
b408a098bd
Fix netxcmdnames missing one name
2026-07-09 13:01:13 +03:00
alufolie91
90ab1f4994
cleanup opengl wipe stuff a little
...
split it like srb2.2
2026-07-09 06:47:26 +02:00
alufolie91
96484c94db
fix & cleanup hw_bsp
...
this basically brings it to the latest state from Doom-Legacy before the big refactor (which i had previously ported and tested as well) + some extra stuff from it
sadly this does not seem to fix plane holes, but its a bit cleaner and more accurate in some places
while the big refactor did fix issues with plane holes, it also introduced a few new issues, like z-fighting sneaker panels and significantly longer loading times
may as well just wait at this point for what (or rather if) RR will be doing
2026-07-09 06:47:26 +02:00
alufolie91
c805fa9f33
remove a bunch of unused crap
2026-07-09 06:46:27 +02:00
alufolie91
29159ca5cd
whoopsie
...
sleeby....
2026-07-08 20:37:16 +02:00
alufolie91
b6b70ae8f0
Add "Report an Issue" button in the Saturn Menu
...
yoinked from SRB2-Legacy
2026-07-08 20:33:24 +02:00
alufolie91
2b0e4b7468
have fallback if SDL_OpenURL fails or does not exist on the Error box
2026-07-08 20:33:20 +02:00
alufolie91
c374bd75fc
menu for controller rumble stuff
2026-07-07 13:10:05 +02:00
alufolie91
ec70e8aa29
only apply LUA controller rumble and led color to local players
...
what my dumb ass was meaning to do with 2ae1e0f56e
displayplayer[0] does not necessarily map to a local player!
2026-07-06 04:59:33 +02:00
alufolie91
3ad6159e85
make controller rumble types toggable separately
...
needs a proper menu, but too lazy for that currently
2026-07-05 22:51:29 +02:00
alufolie91
2ae1e0f56e
only rumble controllers for local players
...
also not in replays
2026-07-05 22:25:39 +02:00
alufolie91
2302d4efbd
mark R_ThingIsFullBrightT as static
2026-07-05 21:36:51 +02:00
alufolie91
be08c9cd1f
changes to some saturn specific visual effects
...
most of those were added cause they´re cool to look at, but without much thought about potentially giving players that enable such features an "unfair" advantage over others.
- eggboxes wont be rotated while stationary and on the ground anymore (they are meant to deceive players, being rotated makes them stand out alot!)
- players that are about to explode due to eggboxes wont spawn extra red speedlines anymore
- option to show driftlevel per speedlines has been removed
2026-07-05 21:36:48 +02:00
alufolie91
7b91666db9
clean up some frameflags stuff
...
mfw no FF_VERTICALFLIP
2026-07-04 20:17:03 +02:00
alufolie91
ba5c85ba8a
:chaosleep:
2026-07-04 06:21:06 +02:00
alufolie91
05e8771fbc
Revert "add warning if theres no music lump for musicdef"
...
This reverts commit 59b7b0529f .
very fun if the music lumps were split into some other file!
2026-07-03 19:08:54 +02:00
alufolie91
59b7b0529f
add warning if theres no music lump for musicdef
...
if theyre left over or typo´d (which prevents them from showing up)
2026-07-03 19:01:10 +02:00
alufolie91
3fa8ab442a
print warning if whitespaces are encountered in musicdef fields
...
technically that is a non issue for saturn but vanilla will completely explode from this
2026-07-03 18:27:49 +02:00
indev
fdd8381258
Fix 'attack or protect' text being offcentered on certain resolutions
2026-07-03 15:10:08 +03:00
alufolie91
41cbce3ed3
hack for kartdebugcheckpoint display
...
see comment
2026-07-02 19:43:06 +02:00
alufolie91
63e4c5a63d
use viewsin and viewcos for spherefrustum checks in gl
...
dont need all those yaw vars, since they effectively map to gl_viewsin and -gl_viewcos respectively
while those are less accurate due to being fixed point, there appears to be no visual issues from this and seems to even slightly improve performance in some cases
2026-07-02 18:34:32 +02:00
alufolie91
bba86fe4af
fix DRAWONLYFORX sprite visability handling
...
this effectively didnt do anything and had a typo for the player 3 case anyways
2026-07-02 18:34:29 +02:00
alufolie91
1dee3060dd
add some more mobj checks to p_map
...
cross-checked against srb2 next branch
2026-07-02 18:34:22 +02:00
alufolie91
56c2178bde
cleanup COMPAT_VANILLA mobj checks
...
move stuff into a helper func, which just returns if mo != NULL in vanilla compat mode, otherwise returns P_MobjWasRemoved
reasoning for this crap is in the comment above said helper
2026-07-02 18:34:19 +02:00
alufolie91
e445669521
cleanup stuff a bit for unused gametypes
...
wish could just remove all of this but gotta keep it for compat reasons ig
2026-07-02 18:34:06 +02:00
alufolie91
7a309bc0b8
make this less messy
2026-07-01 22:45:37 +02:00
alufolie91
8b6ebfbad4
promote those null checks again.....
...
sigh......
atleast this should be right this time
2026-07-01 22:26:50 +02:00
indev
5775c12b16
Disable writing to replay query while replays are loading
2026-07-01 23:23:04 +03:00
alufolie91
78ebc14d88
print performance warning for lua scripts using mobj hooks without specific mobjtype
...
thx indev for help <3
these may trash performance quite hard at times
and are not visible from just perfstats most of the time
2026-07-01 19:21:41 +02:00
alufolie91
38a248193e
make lua hook profiler kinda work
...
very scuffed up since we dont have the srb2::Draw lib
so it may display stuff out of screen bounds
i also rather not use fmt here but va since i dont want another dependency
needs to be fixed up sometime
2026-07-01 18:15:38 +02:00
James R
934f2d347c
Add basic profiling for Lua hooks (except HUD hooks)
...
- Add lua_profile cheat: calculate average time spent in
hooks over a period
- Show hook times in a sorted table, along with lump name,
script line number and hook type
- Show cumulative time spent in game logic hooks and
percentage of overhead to game logic
2026-07-01 18:13:51 +02:00
alufolie91
551d7d4d89
add V_DrawRightAlignedSmallStringAtFixed
...
idk but might be useful
2026-07-01 18:08:56 +02:00
alufolie91
a2184d2bef
move cv_audbuffersize register
...
this stuff kinda grouped some cvars together, makes more sense there
2026-07-01 18:08:53 +02:00
alufolie91
d638baeda6
change mobj hook detection again
...
so we can restore the actual correct behavior for the HurtMsg hook, which nothing even uses lol
2026-07-01 18:08:50 +02:00
alufolie91
4a06e8a6d1
fix map replacement checks for pwads added on startup
...
stuff added per -file or whatever
this incorrectly rechecked the iwads again instead of the pwads themselves, which let to the game flagging vanilla maps as replaced, setting the game to be modified
2026-06-30 18:37:04 +02:00
alufolie91
e2a3992787
make online hud / chat menu scrollable
...
yes i checked green res....
it barely fits like this........
2026-06-29 22:02:18 +02:00
indev
ec06150432
This todo is done :3
2026-06-29 20:45:45 +03:00
indev
2413a3503c
Add stairjank particle effect using drift dust
2026-06-29 20:44:30 +03:00
alufolie91
d9e339cb56
toggable sound effect for stair jank
...
not the biggest fan of it but idk how to make this better on stairs with lots of steps
so this will do for now
2026-06-29 18:13:30 +02:00
alufolie91
408db7a2eb
use G_KeynumToString for local addon menu key info
...
just in case we change them dont have to change them everywhere
2026-06-29 15:46:11 +02:00
alufolie91
e12ecabcf0
revert some P_IsObjectOnGround
...
pretty sure none of those cause issues currently, but rather not risk stuff as that condition might change from smth else in those cases
its not an expensive call anyways really
2026-06-29 15:35:45 +02:00
alufolie91
65c2d2733d
clear deathmatch and ctf spawnpoints aswell
...
prob wont matter much for us but still better to not leave those dangling after map change
2026-06-29 14:43:04 +02:00
alufolie91
00aa023e9e
cleanup p_setup a bit again
2026-06-29 14:42:58 +02:00
alufolie91
f43a4a2eb6
have gametype i_error actually print the invalid gametype
...
bit more informative ig?
2026-06-29 02:14:53 +02:00
alufolie91
4eb108e0a6
add sound thing for reference
...
does nothing cause it sucks
maybe someone else has a better idea what to do here
2026-06-29 02:13:59 +02:00
alufolie91
ea76af5a81
seenames is stupid
...
keep that ashnal utils breaks without this crap
2026-06-29 01:46:39 +02:00
alufolie91
4b8f998c85
cast this crap
2026-06-28 22:58:20 +02:00
alufolie91
d687be4997
change K_GetSpeedometerStyle to unsinged
...
does not need be signed
most other things will cache this into an uint8 eitherway
2026-06-28 22:34:09 +02:00
alufolie91
1bcadf3c46
fix the lap emblem animation thingie
2026-06-28 22:23:32 +02:00
alufolie91
80e4d02c51
dont skip intro sounds if music is disabled
2026-06-28 21:13:28 +02:00
alufolie91
352d1faacf
forgor cv_chat_showlimit :chaosleep:
2026-06-28 18:59:28 +02:00
alufolie91
7f9d70285d
add new chat stuff to menus + show chat box when hovering over some things
...
very ugly but i dont care, the hud stuff is done similar
just hoping this doesent explode or whatever
2026-06-28 18:53:28 +02:00
alufolie91
496477fa9a
chatbgtint does actually not apply to the chatbox
...
but only to the also confusingly named "mini chat"
2026-06-28 18:37:11 +02:00
alufolie91
530bb50709
ig "style" is the better word here
...
lulul
2026-06-28 17:53:57 +02:00
alufolie91
8bb04a68a8
ass well
2026-06-28 17:52:53 +02:00
alufolie91
820ab4b2bc
block "addfilelocal" from adding files that contains maps
...
now we have a more accessible menu for addfile local
i really dont want to risk stuff
2026-06-28 16:25:31 +02:00
alufolie91
af6abb5458
better check for map data within autoloaded files
...
before this flagged every file with lumps that contained the MAP as string somewhere, like palettes and such
this is kinda messy but i really do not want to dupe this huge block of code, neither do i want to convert this to ceepeepee again to mess about with templates
oh well
2026-06-28 16:23:24 +02:00
alufolie91
5c373b6251
demote those to asserts
...
never seen srb2, saturn, RR or blan or anything else have this return null
there is a possibility but whatever
just continuing in such cases was wrong eitherways as it wouldve just corrupted the vres thing
2026-06-28 16:05:14 +02:00
alufolie91
24bac9c133
actually print a different message for localskins with lua
...
tell ppl that this may cause issues
2026-06-28 16:05:11 +02:00
alufolie91
73c7a5a0c4
add better description for skip intro music stuff
2026-06-28 00:40:54 +02:00
alufolie91
49d6374505
have local skin message account for "KCL" prefix
...
for skins with lua
2026-06-28 00:27:02 +02:00
GLide KS
2ba4757c6a
Hopefully a cleaner implementation of Local Addon switch
2026-06-28 00:26:59 +02:00
romoney5
3606b0ae66
Don't disable console on resync
2026-06-28 00:26:56 +02:00
romoney5
ba75523d48
Print a warning when archiving an invalid Lua value
2026-06-28 00:26:54 +02:00
alufolie91
71640202ed
better polyobj count error for savegame
...
from Banpyura
gonna look into their return to menu instead of i_error stuff sometime
2026-06-27 23:42:16 +02:00
alufolie91
5fb5af05be
this is P_NetUnArchiveThinkers lululul
2026-06-27 23:39:32 +02:00
indev
4f036c9312
Fix setupm_ip going out of textbox when its not being edited
2026-06-28 00:14:56 +03:00
alufolie91
d99c272a79
have textboxes "reserve" space for cursor
...
so it wont draw outside the textbox but rather scrolls
2026-06-27 23:14:40 +02:00
alufolie91
c4ed75fbc6
port over some chat stuff from SRB2-Banpyura
...
per https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2784
chat offsets and character count
offsets are added to the base offset like we do for hud stuff, the og pr will directly use the cvar values for this, but wanna keep consistent with our rest
needs to be added in the menu somewhere but idk where
2026-06-27 22:43:57 +02:00
alufolie91
91927e324b
,
...
this menu been broken since 4 months lol
2026-06-27 20:40:33 +02:00
alufolie91
13dc0db9a9
add stairjank and skydome stuff to menu
...
pls someone gib a better description for skydome idk ingles
2026-06-27 20:29:19 +02:00
alufolie91
8aafde4c9d
"less"
2026-06-27 20:05:51 +02:00
alufolie91
266a4effb7
fix fogblock not accounting for fake contrast
...
super old oopsie lulul
2026-06-27 14:18:13 +02:00
alufolie91
948c9399de
fix HWR_SplitWall again..
...
theres guards just above this which should just skip shit but for some reason the clamps still do stuff, idk man
fixes the weird grass fof in green hill
2026-06-27 14:18:10 +02:00
alufolie91
db4aedf498
readd missing setblend for sky bg
...
oopsie forgor to copy this back
2026-06-27 14:18:04 +02:00
alufolie91
f12d5a246d
just dont set shader for this ig
...
otherwise this breaks when you disable the hud for whatever reason
looks the same so whatever
2026-06-26 19:54:20 +02:00
alufolie91
6efe56808a
make sky "dome/barreling" toggable
...
per "skydome" cvar
using karts old sky code for gl since it appears to differ a bit from srb2 and id want to keep this "authentic" to old kart
2026-06-26 17:44:40 +02:00
alufolie91
ec047151e3
toggable stair "jank" visuals
...
akin to RR, just toned down for smaller kart chars
also toggable ofc
theres not that many stairs in kart but this looks cute with smol bumps in the road
wish this would work on slopes but theyre kinda messed up lol
2026-06-26 17:44:37 +02:00
alufolie91
b1100d6215
add mobj "temprollangle" field
...
same as rollangle but resets at beginning on each tic
i dont feel like exposing this to lua atm, so if someone wants to or if even needed at all
2026-06-23 18:24:27 +02:00
alufolie91
cb8df4c3d0
change how banana rotation throw stuff works
...
noticed sloperoll does not properly work from certain angles
so just reset rollangle if needed in K_RollMobjBySlopes since couldnt find a better place tbh
2026-06-23 18:21:04 +02:00
alufolie91
fbae43f61a
move spinoutroll to k_hud
...
hud thing for minimap so should be in there
2026-06-23 00:11:47 +02:00
mazmazz
7ea95b4495
Fix OSX null-pointer-arithmetic error
2026-06-22 23:14:51 +02:00
alufolie91
07c780dc9c
add missing null terminator for player name on server info screen
2026-06-22 23:10:36 +02:00
alufolie91
f6d3ab1f3a
more random style cleanup
...
had those lying around in lugstuff branch
2026-06-22 21:05:10 +02:00
alufolie91
2c8099e228
make builds with more than 16 players undefine COMPAT_VANILLA
2026-06-22 20:57:24 +02:00
alufolie91
7c84dd5661
raise NUMMOBJFREESLOTS to 4096 on non vanilla compat build
2026-06-22 20:57:21 +02:00
alufolie91
cabd8baae5
some P_MobjWasRemoved for non COMPAT_VANILLA builds
2026-06-22 20:57:10 +02:00
alufolie91
593540a3f9
add flag "COMPAT_VANILLA"
...
undefine to enable features that are not vanilla compatible
2026-06-22 20:56:53 +02:00
alufolie91
407af1d25c
Merge branch 'maperrors2' into Saturn-Next
2026-06-22 20:54:53 +02:00
alufolie91
029c21eae8
correct map issues clientside
...
but be loud about it instead of I_Error´ing
most of those would be fatal anyways, so screw vanilla desyncing if they crash eitherways
2026-06-22 20:53:49 +02:00
entryway
568f29ed1c
Check for blockmap overflow in P_BlockLinesIterator. Under RANGECHECK define.
2026-06-22 20:52:49 +02:00
alufolie91
2dacc333b5
just set backsector to NULL
...
if not in vanilla doom compat mode/overflow emulation GetSectorAtNullAddress will just return NULL, so we can do so aswell
2026-06-22 20:52:42 +02:00
alufolie91
363612c488
port more checks from dsda-doom for invalid map data
...
decided to have it i_error for now, not sure what exactly is the best approach here
should we just "correct" some of those instead?
vanilla probably just crashes anyways
2026-06-22 20:52:19 +02:00
alufolie91
d8ffffd86e
replace non valid sidenum magic number
...
with what dsda-doom uses
2026-06-22 20:52:11 +02:00
alufolie91
4b2a13defb
cleanup K_DropItems a bit
...
move "paperitem" spawn to its separate function like RR
2026-06-21 23:30:20 +02:00
alufolie91
9cc74d8b17
use P_MobjWasRemoved for P_MoveChaseCamera
...
dont need to care about synch safety here....
2026-06-21 23:07:20 +02:00
alufolie91
066adb972e
add some more mobj null checks to P_MobjThinker
...
from srb2 ig
2026-06-21 23:07:17 +02:00
alufolie91
0f1ad8a086
few more smaller cleanups
2026-06-21 23:07:12 +02:00
alufolie91
40537eca81
cleanup P_KillMobj a little
2026-06-21 23:03:45 +02:00
AJ Martinez
0cff3c23f3
Don't attempt itemamount correction after orbitals self-destruct
2026-06-21 22:35:20 +02:00
alufolie91
9bdda66a0c
rename this to D_CheckMapReplacements
2026-06-21 19:14:22 +02:00
alufolie91
3b6a09da9b
oops
2026-06-21 19:04:48 +02:00
Zwip-Zwap Zapony
c275555678
Draw the input prompt while the console is moving
2026-06-21 19:00:10 +02:00
Zwip-Zwap Zapony
fc588f8046
Make con_height adjustable on the fly
2026-06-21 19:00:07 +02:00
alufolie91
17093e8022
add command to list unused map slots
...
less pain for server owners
hope this is sufficient
2026-06-21 18:03:50 +02:00
alufolie91
b575c288fa
allow page up/down to scroll through chat
...
like in console
2026-06-18 17:31:36 +02:00
indev
f9a6702219
Fix player node staying muted when player leaves
2026-06-18 17:28:27 +03:00
indev
cfda853e6f
Add console variant for mute command, also fix it applying mute for players that are not in game
2026-06-18 16:35:48 +03:00
alufolie91
14ac3ca9b0
;;...
2026-06-16 20:05:12 +02:00
alufolie91
e94fecf56d
cleanup even more style issues
...
also should fix R_InitSprites printing the wrong spritename in some cases
2026-06-16 19:08:04 +02:00
alufolie91
51d9aa6197
add credit to bayer dither shader sources
...
completely forgot about this (sry!)
the original implementation was mostly based on hughsk´s 8x8 bayer shader while the current is mostly adapted from the libretro 4x4 bayer shader
2026-06-16 12:32:02 +02:00
alufolie91
96a29abc62
move this back
...
might change behavior of this, which may desynch in rare cases
2026-06-15 14:53:59 +02:00
alufolie91
fa1b797a44
handle interrupt signals during CONS_Error
...
also move stuff into smol inline function
2026-06-15 14:51:35 +02:00
alufolie91
e1061ab4b4
add PARANOIA cases for reject and blockmap stuff
...
also see comment
2026-06-13 15:11:41 +02:00
alufolie91
ab0d071d35
use sizeu1 instead of %lu
...
windoze.......
2026-06-13 13:41:06 +02:00
alufolie91
8129b89034
port P_VerifyBlockMap from dsda-doom
...
to check for blockmap issues that might cause crashes
2026-06-13 13:37:21 +02:00
alufolie91
14aaba7a87
make reject matrix print an error instead of warning
...
better on 2nd thought as this may crash vanilla clients that use nametags
2026-06-13 13:20:54 +02:00
alufolie91
2c1bb6c268
smol optimize fof checks in P_CheckSight
...
check if fof is solid before height comparisons, also split initial height comparisons to save on some height checks in some cases
2026-06-13 13:20:51 +02:00
alufolie91
cc6437285f
check for missized rejectmatrix´s on load, pad them if needed
...
this is what dsda-doom/prboom does
ensures we wont crash from oob reads and makes us print a warning
2026-06-13 13:00:00 +02:00
indev
b24f6683b7
Use SKINCOLOR_NONE for ROULETTECOLOR_NONE instead of TC_DEFAULT
2026-06-13 02:25:43 +03:00
indev
5f559af29c
Add more options to roulettecolor
2026-06-13 02:12:23 +03:00
indev
eef1c55549
Add option for item roulette to use 'local' colors instead of player color
2026-06-13 01:40:14 +03:00
alufolie91
3c227ec532
P_CheckSight: fix rare overflow in rejectmatrix check
...
didnt think this could overflow here but well it does
wish there was a better way to bounds check heap arrays in C
2026-06-12 22:06:57 +02:00
indev
50f839e1ad
Fix JoyAxis and InputDown inputs being off by one, this fixes lookback only working for p1 (ty lug <3)
2026-06-12 16:47:55 +03:00
indev
8db399be9b
Allow lookback in replays (currently only works for player 1)
2026-06-12 16:38:32 +03:00
alufolie91
8cb321993e
restore functionality to set zipper/speed pad sounds
...
set using the front side upper texture field like the play sound special per "DSXXXX"
the parsing part already was there but not the actual code to make it use the specified sound for some reason lul
shouldnt break anything and is vanilla compatible!
2026-06-08 10:04:14 +02:00
alufolie91
b4cad08ad3
cleanup p_spec/p_setup a bit
2026-06-08 09:44:36 +02:00
alufolie91
fa899d3970
fix a few more style issues
2026-06-07 07:07:56 +02:00
alufolie91
b955fdb47d
cleanup s_sound a little
2026-06-05 23:07:29 +02:00
James R
4686e8e112
Do not play invalid sfx
2026-06-05 23:07:26 +02:00
alufolie91
667c67a61a
also avoid strcpy for PutFileNeeded
2026-06-05 20:43:37 +02:00
alufolie91
df9a23a6c7
CL_CheckFiles: avoid using strcpy
...
wadfile->filename has not a fixed size, so it theoretically might be bigger than wadfilename buffer
this probably wont ever happen but better be safe than sorry honestly
2026-06-05 20:20:38 +02:00
alufolie91
a3f557f4df
SV_SendFile: check if I_GetNodeAddress is set before use
2026-06-05 20:07:43 +02:00
alufolie91
1ac029edc6
optimize CL_CheckFiles a bit
...
the "already loaded" check will not first compare the md5sum, which is a very simple memcmp, and only then it will do string copies, nameonly mutation and name compare should the md5sum match
this should save quite a few unnecessary string operations since the md5 match case will rarely ever hit
2026-06-05 20:07:43 +02:00
alufolie91
761766d353
whitespace fix
2026-06-05 16:19:02 +02:00
alufolie91
72d3360711
delet this
...
this doesent exist anymore lol
2026-06-05 15:59:55 +02:00
alufolie91
ac52ec2c48
print netcmd name for SendNetXCmdForPlayer warnings
...
makes those prints a little more useful for debug
2026-06-05 14:50:46 +02:00
alufolie91
956bc3f7df
hw renderer cleanups from lugstuff branch
...
mostly just code dedupe with ceepeepee lambdas
had checked in the past those didnt cause any real noticeable perf changes
2026-06-05 13:07:57 +02:00
alufolie91
746a8cec8b
hw_main: make HWR_SkyWallList_Add realloc check a little safer
...
stuff like that should always be checked per equals/greater than just equals
in practice this shouldnt have caused any issues but its just better practice to check for greater
2026-06-05 12:21:27 +02:00
alufolie91
f7a32b5f85
init "savegamename"
...
global that was missed
2026-06-04 09:21:38 +02:00
alufolie91
bd30ab8fb7
delet JoyType_t
...
palyer[sic]......
2026-06-04 09:21:36 +02:00
alufolie91
4140f93e41
update pingdisplay only once per second
...
this will make sense later......
2026-06-04 09:21:33 +02:00
alufolie91
8ae6f71578
bunch of smaller optimizations and cleanups
...
mostly avoiding needless work as per usual
2026-06-02 11:31:56 +02:00
alufolie91
d5083ac66c
cleanup and split K_MoveKartPlayer
...
item stuff split into K_PlayerItemThink
2026-06-02 11:24:49 +02:00
alufolie91
62be792a0d
cleanup K_KartDrift a bit
2026-06-02 11:23:47 +02:00
alufolie91
c34346cb9a
Saturn Icon for mac
2026-05-30 07:29:30 +02:00
alufolie91
d7803ecdcf
fix cmake build
2026-05-30 06:05:52 +02:00
alufolie91
1a2a487a93
change cmake title to "Saturn"
2026-05-30 05:42:54 +02:00
alufolie91
bed6306cdf
p_sight: let P_CrossSubsecPolyObj also use "fast" P_DivlineCrossed
...
for P_CheckSight on polyobjects
2026-05-30 05:42:51 +02:00
alufolie91
7521b3abd2
tiny optimize PIT_RadiusAttack in some cases
...
by checking simpler things before distance checks which may avoid two P_AproxDistance/FixedHypot calls
2026-05-30 05:42:48 +02:00
alufolie91
58d5bab181
tiny optimization K_SpawnKartMissile
...
by avoiding "min/max" reevaluation
2026-05-30 05:42:46 +02:00
alufolie91
2bffe443ed
simplify analogue throwdir stuff in K_drawInput
2026-05-25 17:11:18 +02:00
alufolie91
261c02f4b6
few more hw_ file cleanups
2026-05-22 23:12:56 +02:00
Alug
d59ac7d01b
fix weird gap in opengl options menu
2026-05-20 19:03:41 +02:00
indev
ac86f36186
Skip empty lines in renderer.txt
2026-05-18 20:32:59 +03:00
alufolie91
b5c7fd5a2b
HWR_Subsector: check for sub->polyList instead of numpolys
...
numpolys sometimes might not get reset, checking for sub->polyList is what was actually intended
2026-05-18 18:21:00 +02:00
alufolie91
da103f54d6
hw_main: reorder plane stuff in HWR_Subsector
...
check for subsector validcount first, then if its a sky plane
so we can skip checking sector heights for sky planes, which may save a bit of maths on maps with many slopes
2026-05-18 18:20:58 +02:00
alufolie91
f82d138482
cleanup some things
2026-05-15 13:00:30 +02:00
alufolie91
e7332a3efe
Revert "Blua: implementation of fast track for gettable operations"
...
This reverts commit e4e51f0f80 .
2026-05-15 11:54:10 +02:00
alufolie91
bd27a62769
Revert "Blua: fast track for 'settable'"
...
This reverts commit bdae0ef4ae .
2026-05-15 11:53:59 +02:00
alufolie91
2b650e4b61
Revert "Blua: 'Protect' in table operations is not needed in the fast track"
...
This reverts commit 537a50b9b3 .
2026-05-15 11:53:53 +02:00
alufolie91
8e82256827
Revert "Blua: 'luaV_fastget' only treats the real fast case (table with a non-nil value at given key, so that it does not need to check metamethods)"
...
This reverts commit 019812db08 .
2026-05-15 11:53:46 +02:00
alufolie91
4fa937728b
Revert "Blua: OP_SELF can use 'luaV_fastget' specialized for strings, as it is applied only to string keys"
...
This reverts commit 0fb752b745 .
2026-05-15 11:53:42 +02:00
alufolie91
9f9e6450f2
Revert "Blua: opcode OP_SELF operate only with string keys, so they can use fast-track table access"
...
This reverts commit 7684e6aa07 .
2026-05-15 11:53:33 +02:00
alufolie91
1c75dd0401
Revert "blua: fix copy paste error for "slow path" in auxgetstr/lua_getfield"
...
This reverts commit b652d802f5 .
2026-05-15 11:53:26 +02:00
alufolie91
e854096ca0
revert back to number based player names fallbacks
...
well need our player 1-16 not player a-z :chonkbuncle:
2026-05-15 03:11:52 +02:00
toaster
83a60ea857
Some fixes for bad player info on joining servers.
...
* Don't overwrite the first player's name when joining with multiple local splitscreen players. (resolves #151 )
* The defaults for unprovided names are now consistently "Player A/B/C/D" as opposed to some being letter-based and some being number-based.
* Send local player info once per local splitscreen player, rather than n^2 times (where n is the number of local splitscreen players).
* Since the packet *requires* four names to be sent every time you join a server, send dummy names for local splitscreen players who aren't connecting, instead of your actual cvars (no data leakage you didn't ask for!)
2026-05-15 03:11:03 +02:00
toaster
3d9d14b353
EnsurePlayerNameIsGood: Remove trailing whitespace, instead of just failing on it
...
Interesting error with its recursive duplication resolving exposed by the previous commit!
2026-05-15 03:11:00 +02:00
alufolie91
24c9f88262
make snacpending error print player number
...
bit more informative :chaosleep:
2026-05-15 01:28:02 +02:00
alufolie91
b652d802f5
blua: fix copy paste error for "slow path" in auxgetstr/lua_getfield
...
lets hope this fixes the random crashes from gc sometime
stimky from https://github.com/Indev450/SRB2Kart-Saturn/pull/223/changes/e4e51f0f80fb7deb9213c72bb374d0a7e4c3f03b
2026-05-15 01:09:19 +02:00
alufolie91
459beeb000
fix oopsie from https://github.com/Indev450/SRB2Kart-Saturn/commit/093ed023ef36bb2e8608116ef39d7710366ccf84
2026-05-15 00:36:36 +02:00
indev
a28d798189
Remove some redundant mo != NULL asserts if they are followed by !P_MobjWasRemoved(mo) asserts
2026-05-15 01:24:14 +03:00
indev
e75a696ee5
Remove outdated PARANOIA assert in P_SetMobjState, it uses P_SetPlayerMobjState automatically for players now
2026-05-15 01:06:04 +03:00
alufolie91
e113027ce6
d_netcmd: fix snacpending stuff
...
also move all of it behind PARANOIA define, since nothing else was using it eitherway
2026-05-14 21:25:53 +02:00
alufolie91
2ce4e866e3
reorder seg_t struct a bit
...
fixes a 4byte hole so we can fit everything important into cacheline 1
even when compiled without HWRENDER this should be a better layout
checked per pahole
2026-05-14 18:56:43 +02:00
alufolie91
55a57a1036
fix checking for fbo completeness too early
...
this should come after everything apparently
all this shit really needs to be cleaned up again
2026-05-12 21:02:15 +02:00
alufolie91
6aabdc86c0
P_TryMove: reduce the amount of R_PointInSubsector per call
...
and also P_PlayerTouchingSectorSpecial
since either are in a loop that often runs multiple times per call
improves perf a bit per usual testing
2026-05-12 15:38:43 +02:00
indev
9aaa7cc5bf
Don't break non-string keys in ArchiveTables when printing error message
2026-05-12 03:52:56 +03:00
alufolie91
d6946d4d44
fix HWR_RenderPolyObjectPlane
...
smol oopsie that was supposed to be float
fixes the rotating skybox thing in Zero Space
2026-05-11 15:08:14 +02:00
alufolie91
a868844bdf
remove outdated comment about precipmobj
2026-05-10 20:15:28 +02:00
alufolie91
39fd31c4b9
p_mobj: potentially save a few more floor/ceiling z checks in some cases
...
+ some other crap
2026-05-10 20:15:24 +02:00
alufolie91
54f3d7b5e0
move lua_tostring out of the loop in mapheaderinfo_get
...
does not need to be reevaluated constantly
2026-05-10 16:57:45 +02:00
alufolie91
88116368bb
fix potential null pointer deref in P_LineOpening
...
again ive never seen this hit, but the mobj gets checked right below its radius get dereferenced within the floorz/ceilingz functions which kinda annoyed me lol
as a fallback i just the floor/ceiling sectorheights, which were used before the addition of slopes
2026-05-09 20:00:19 +02:00
alufolie91
9328825a7c
fix potential null pointer deref in P_MobjFloorZ/CeilingZ
...
dont think this ever really hit, but boundsec indeed can be null
it also gets checked if its null above anyways, so why not here?
2026-05-09 20:00:07 +02:00
alufolie91
f825ca32cc
add "HAVE_IPV6" to passtrough compiler flags
...
to allow compiling with ipv6 support
to note this is unsupported from our side, as purely ipv6 servers are unreachable from vanilla clients
2026-05-09 15:33:48 +02:00
alufolie91
ce982d170f
change "important" hook_state field to be bool type
...
matches the others
prob no diff in practice at all
2026-05-08 14:38:57 +02:00
alufolie91
1b3050028e
save a few mobjfloorz/ceilingz calls in some cases
...
gave a small speedup on my test setup (+~3fps)
on slopes those are rather expensive
2026-05-08 14:38:47 +02:00
alufolie91
2344552ba8
Opengl: enable stencil testing only when portals are used
...
maybe a bit of perf on non portal maps, prob neglible but why not
2026-05-07 16:26:42 +02:00
alufolie91
50c1263e7d
OpenGL: only enable stencil testing during level render
...
not 100% sure if this is the most correct thing, but this causes issues with Nvidia Gpu´s under x11
should fix https://github.com/Indev450/SRB2Kart-Saturn/issues/226
2026-05-06 12:28:08 +02:00
alufolie91
f1ded99262
some code style cleanups
2026-05-06 12:28:05 +02:00
alufolie91
b1620a3fce
delet I_ShutdownConsole spam
...
without process forking I_ShutdownSystem will handle it, otherwise the parent process calls it before exiting
2026-05-04 23:02:04 +02:00
alufolie91
d0ea4d20d0
fix parent process being killed before child per interrupt/terminate signals
...
by ignoring those signals
otherwise the terminal will be left in a weird state, aswell as the parent exit stuff wont be properly run
this was "fine" before https://github.com/Indev450/SRB2Kart-Saturn/commit/f4dc161831a988e725e8639b9674984ebdf5f6bb but now needs to be handled like this
2026-05-04 23:02:01 +02:00
alufolie91
7f4804f98c
fix super rare underflow within FixedHypot if input is -2147483648
...
this has an insanely rare chance of happening in certain cases (train rush map has a few spots where this is somewhat likely)
abs does not really handle -2147483648 and its result is pretty much implementation defined/ub, since we compile with fwrapv flag it would just return -2147483648 which will cause this to try and access tantoangle at a negative index
we can just return INT32_MAX here since treating either as 2147483647 would return 2147483647 eitherways
2026-05-04 14:10:49 +02:00
alufolie91
4fe3495652
fallback to srb2back instead of hoping the map is still loaded for intermission bg
...
timescale and replay fastforward caused stuff to crash and well this is better than a whitescreen ig
2026-05-04 10:28:32 +02:00
alufolie91
3c409b4a46
detect kill signal when printing signal from signalhandler
...
bit more informative than "signal number 9"
2026-05-04 10:01:26 +02:00
alufolie91
45067e00a5
fix compiler warnings + "support" gcc16
2026-05-04 08:04:08 +02:00
alufolie91
370ed1583b
comment out unused spritescale/offset fields from gl_vissprite_t
...
yes those are in fact unused
not deleting since they might be useful for something sometime....
2026-05-02 21:02:50 +02:00
alufolie91
535c2073f1
move palshader code out of HWR_DrawScreenFinalTexture
...
and make the whole handling safer so we have less chance of ending up with blackscreens should the palette render shader fail
2026-05-01 03:51:28 +02:00
alufolie91
6460ae94f1
remove magic number for P_CalculatePrecipFloor stuff
2026-04-29 17:55:16 +02:00
alufolie91
093ed023ef
cleanup CL_DrawConnectionStatus a little
2026-04-29 17:55:13 +02:00
minenice55
1bada2810a
cap download size to total size in the connection UI
2026-04-29 17:55:10 +02:00
alufolie91
9df7f3cd3f
dont let saltyhop overwrite the players spriteyoffset
...
let it add to it instead
otherwise if we ever use it for smth else in hardcode saltyhop will work with it
2026-04-29 17:55:04 +02:00
alufolie91
010b6c0361
use destructor attribute for W_Shutdown
...
makes sure this is always called in any case
also just simpler
2026-04-29 17:55:01 +02:00
alufolie91
dbf67a9670
remove some branch hints in some places
...
should really only use those for things that are basically dead but gotta be kept for compat reasons and such
2026-04-29 17:54:58 +02:00
alufolie91
8868445c3c
S_UpdateSounds: init listenmobj
...
not sure why but ubsan did complain about it sometimes
S_StartSoundAtVolume also just memsets it so why not do the same here anyways
2026-04-29 17:54:55 +02:00
alufolie91
568cb8b8c7
check I_GetNodeAddress is set before use
...
this might´ve not been init yet at that point
2026-04-27 22:02:43 +02:00
alufolie91
3b00a69615
prevent buffer underflow within holepunching
2026-04-27 22:02:39 +02:00
alufolie91
6949ce82ab
k_hud: fix achii speedometer not being properly coloured with colourhud
...
oopsie smol oversight from me
2026-04-23 10:07:40 +02:00
alufolie91
c343c52477
remove "extra3" hud stuff
...
decided to finally make smol stickers for the beta hud
this was never a really great solution since it made things look pretty bad at certain resolutions/scales
still keep the loading code for convenience but honestly not needed aswell at this point
2026-04-23 10:07:35 +02:00
alufolie91
7931a82b23
attempt to fix a plethora of buffer overflows when trying to connect to a server that does not exist
...
ex: if you typo´d the serveraddress
this really aint pretty but idk how to make things not turn into limbo hell otherwise
2026-04-21 20:52:15 +02:00
alufolie91
31ccf9c34a
optimize K_CheckOffroadCollide further
...
also makes this alot more readable
like this most of the time we dont have to ever check the players floorz nor ceilingz at all since we check if the sector the players mobj is in is even offroad at all
nothing super big but i did see an improvement of around 1fps in my usual benchmark
2026-04-18 18:46:58 +02:00
alufolie91
ff3b73c49e
fix offroad oopsie causing desynch
...
ye def not confusing at all to suddenly switch the meaning of floor and ceiling
2026-04-17 20:53:24 +02:00
alufolie91
64bed71509
add toggle to allow controllers to control the game while window is unfocused
...
can be toggled with "gamepadunfocused" or in the focus options
2026-04-17 18:54:18 +02:00
alufolie91
eed5943b0b
optimize K_CheckOffroadCollide a little bit
...
no need to always check both the mobjs floor and ceiling z coordinates, those are surprisingly complicated checks on slopes
2026-04-17 17:46:17 +02:00
alufolie91
4f9ddffe2a
d_cliserv: check for splitscreen nodes first in clientcmd handler
...
so we dont always have to check a bunch of things that most of the time wont apply anyways
2026-04-17 17:46:17 +02:00
alufolie91
a73f3a073c
hw_main: dont need to do sprite billboarding stuff with shearing enabled within HWR_SplitSprite
2026-04-17 17:46:17 +02:00
alufolie91
a59928221b
few more cleanups and super tiny optimizations k_hud
2026-04-16 17:39:13 +02:00
Eidolon
b46e5cb577
gl: Fix sky dome VBO leak
2026-04-15 23:51:15 +02:00
alufolie91
bb62fbfc12
add "USEJEMALLOC" make flag to link against "jemalloc" allocator
...
on my linux system and usual benchmark setup this improves performance quite significantly (+~12fps)
this relies on jemalloc to be installed as a separate library for now and is more a convenience thing
2026-04-15 23:51:15 +02:00
GenericHeroGuy
81f46224e1
Fix asan error when pressing shift and arrow key
...
Also fix addons menu ignoring shift when capslock is on!
Also also fix capslock+rshift still typing uppercase letters!
2026-04-15 18:08:03 +02:00
NepDisk
6c58c0de41
Add support for using custom SDL2 mappings
2026-04-14 20:25:31 +02:00
alufolie91
4edc102d67
hack: fix intermission background becoming white after resolution change
2026-04-12 15:23:53 +02:00
alufolie91
e0bf663157
Hack: fix intermission screen displaying whitescreen in some cases
...
does not fix whitescreen when switching resolutions while in intermission screen, but oh well
lets hope there will be no issues with calling D_Renderview in intermission state, but it seems to work from quick testing lul
2026-04-12 15:05:51 +02:00
alufolie91
eccc3eb33f
print opengl extensions in new lines for ogllog
...
otherwise this may still get truncated and lots of text editor also complain about a super long single line of text
also fix null ptr dereferencing into strtok should strdup return null
2026-04-12 14:30:49 +02:00
indev
1217089d81
G_UseContinue is unused, delet it
2026-04-11 21:53:15 +03:00
alufolie91
e5c0967a3f
BLUA: simplify lua number hash
2026-04-11 16:49:19 +02:00
indev
27f22e4b5b
Use case insensitive string hashing and compare functions for cvar hashtable
2026-04-09 19:09:37 +03:00
alufolie91
c039d14efc
remove even more unused stuff
2026-04-08 22:42:34 +02:00
alufolie91
71a0b25e32
remove old and unused menu player description stuff
...
hope ignorelines is the correct thing to well ignore lines lol
2026-04-08 22:42:31 +02:00
alufolie91
8c2132a98c
remove a few more unused things
2026-04-08 21:54:32 +02:00
alufolie91
898bcd336d
should be
...
:chonkbuncle:
2026-04-08 18:53:43 +02:00
alufolie91
5461a6dcbe
cleanup skinselect menu stuff slightly
2026-04-08 14:56:44 +02:00
alufolie91
d957bddc1f
update opengl dithering shader
...
now works more like i intended too by more or less scaling the pattern to be roughly the same size on each resolution and trying to reduce precision issues by using floor to convert float values to integer range
2026-04-08 14:39:09 +02:00
alufolie91
7177a9f57f
raise version to v9.3
2026-04-07 17:53:11 +02:00
alufolie91
4ccf3dfaf9
software: make R_DrawWallColumn being able to render "holey" textures
...
not the most efficient but idk a better solution to this, and clipping code may cause some other undesired effects, but well were not supposed to be drawing textures with holes on single sided walls eitherways, but here we are
basically this copies columns into a buffer filled with cyan pixels, so the holes become cyan instead of nothing, which we can cut again using the twomultipatch drawers
fixes the "melt" effect on some things like spelunky or music plant (and well reading/writing oob)
2026-04-05 20:37:24 +02:00
indev
489a58f9fd
Allocate all colormaps with PU_STATIC
2026-04-05 18:31:55 +02:00
alufolie91
b26effa241
Merge pull request #223 from Indev450/bluaopti2
...
Some optimizations and fixes for BLUA from LUA
2026-04-05 18:28:50 +02:00
alufolie91
efd8c20d26
enable lto by default on makefile builds
...
change flag to NOLTO to disable lto
at this point we shouldnt have any issues anymore since the utter crapton of bugfixes
2026-04-05 18:26:16 +02:00
alufolie91
03b85aa00e
Merge pull request #225 from Indev450/optifindvar
...
Speed up CV_Findvar & CV_FindNetVar with hashtable
2026-04-04 17:05:25 +02:00
indev
e6434c24ec
Fix spelling in server addon info tooltip
2026-04-04 18:01:10 +03:00
indev
52e23e7b08
Merge pull request #224 from Indev450/addon-download-info
...
Addon download info
2026-04-04 14:49:38 +00:00
indev
b84e6d89e2
Add toggle for server addons info hud into settings
2026-04-04 17:24:58 +03:00
indev
42fa435a0b
Add toggle for server addon info
2026-04-04 17:17:11 +03:00
indev
873cff4474
Display information about addon types loaded on server when joining (WIP)
2026-04-04 17:17:09 +03:00
indev
e543599598
Add option to hide skin name from stat display
2026-04-04 16:54:17 +03:00
alufolie91
9d75bb1405
hw_main: reorder things, mark const, remove pointless check for polyobject planes
...
like normal planes, polyobject planes will just reallocate their vertex buffer eitherways according to size, so that check does not make much sense, srb2 also did remove it a while ago
2026-04-04 15:47:02 +02:00
indev
7b0e3269b3
Add option to hide finished players from minimap
2026-04-04 16:37:15 +03:00
alufolie91
12169bfb38
controllers:check if controller supports addressable led and rumble
2026-03-29 13:50:13 +02:00
alufolie91
4dd5957f19
cache islocalplayer in P_SpectatorJoinGame
2026-03-29 13:50:10 +02:00
alufolie91
0fadfe0f72
dehacked: fixup lua_enumlib_sprintf_upper
...
apparently reusing a va list like that is ub, so we should just copy it if we want to reuse it
also fix the resize check, since vsnprintf return does not include 0 terminator which we need to account for
also make this part of dehacked.c a bit more readable lol
2026-03-29 10:58:51 +02:00
alufolie91
621df7e296
v_video: make stringwidth loops safer
2026-03-28 23:39:21 +01:00
alufolie91
17d72e02fe
cleanup some redundant/dead code
2026-03-28 23:39:17 +01:00
alufolie91
cd76660314
restore intended behavior for cvar menu categories
...
for onchange functions
2026-03-28 23:39:01 +01:00
alufolie91
06a9ab785e
add misssing break K_SpawnBattlePoints
...
oopsie, somehow this seems to never caused any issues?
2026-03-28 23:06:10 +01:00
indev
6760546bcd
I thought i reverted debug print aaaaaaaa
2026-03-29 00:34:11 +03:00
indev
b44e003ab9
This is intended to be empty string, this way it reads the rest of the string including '=' :p
2026-03-29 00:29:38 +03:00
alufolie91
6a1c907aa4
bunch of random fixes
...
-handle more memory allocation failures
-fix null pointer dereferences
-prevent writing out of bounds while writing filenames for D_ParseFileneeded
-prevent reading out of bounds while checking for new target in director
-fix Update_MS checking against an unitialized value in some cases
-fix assert for AddLumpToCache since strlen on non null terminated strings is UB
-cleanup and rearrange R_DrawColumn
-cleanup musicdef parser a little
all in one commit cause idk would be ugly if those were seperate ig
2026-03-28 00:45:15 +01:00
indev
fded8cc562
Crash fix for super tiny resolutions
...
Not really sure if anyone would actually want to play on something that
is lower than 320x200 but this prevents zero division in V_Recalc at least
2026-03-27 22:05:11 +03:00
alufolie91
43465c0e3f
add debug print for fallback flashpals
2026-03-26 18:29:46 +01:00
alufolie91
7fb21c35ba
Experiment: speed up CV_FindVar and CV_FindNetVar
...
oftentimes lua scripts call CV_FindVar a fuckton of times during runtime, with many cvars this can actually tank performance more than one might think
ideally lua scripts should cache the result, but with so much stuff and servers we cant expect everyone to go through all scripts to do that
using a hashtable for CV_FindNetVar might improve join times aswell, but needs further testing to confirm
2026-03-25 19:35:20 +01:00
alufolie91
f6a0430a40
use constructor for W_Startup
...
never liked having this inside i_system
2026-03-25 19:35:17 +01:00
alufolie91
ab209448d1
Introduce GNU constructor and destructor attributes
...
The constructor attribute causes the function to be called automatically before execution enters main (). Similarly, the destructor attribute causes the function to be called automatically after main () has completed or exit () has been called. Functions with these attributes are useful for initializing data that will be used implicitly during the execution of the program.
added "used" attribute aswell so compiler does not omit non referenced functions (i hope)
gotta test this a bit but seems cool for stuff like verstable maps
2026-03-25 19:35:14 +01:00
alufolie91
9334b86f6e
console print for playing demos from replayhut
...
might be useful
perhaps this should be put into g_doplaydemo instead?
2026-03-25 19:34:56 +01:00
alufolie91
6022966d69
G_DoPlayDemo: fix demoname becoming garbage when replay restarts/rewinds
...
only used in the error paths, which we shouldnt reach
but im not a fan of having a chance of putting garbo in the console
2026-03-25 19:34:54 +01:00
indev
6c7db705c7
Strip colors from demo titles for replay search
2026-03-25 21:05:39 +03:00
indev
ce3d17de68
Simplify R_DoPlayerFade crash fix a bit and rename playerdist to otherplayerdist
2026-03-25 20:24:37 +03:00
alufolie91
404d88a536
remove some dead code
2026-03-24 01:07:07 +01:00
indev
4f28f574bb
Fix rare crash in R_DoPlayerFade when viewplayerdist is too low
2026-03-24 00:20:28 +03:00
alufolie91
654895dcff
fix timedemo not accounting for level and addon loading
...
apparently demos used to send a mapcmd before instead of directly calling G_InitNew, so this function was never called which meant that timedemos always returned a wrong result first time
2026-03-23 19:05:37 +01:00
alufolie91
8af43a55c9
split CONS_Printf
...
so both CONS_Alert and CONS_Debug dont have to handle and copy the varargs twice
probably makes no actual difference in practice, but i prefer it to not do pointless work
2026-03-22 22:29:21 +01:00
alufolie91
0d20ebb01f
delet P_CyclePlayerMobjState
...
P_SetMobjState already handles player case and forwards it to P_SetPlayerMobjState
so this is just duped code
2026-03-22 22:17:45 +01:00
alufolie91
1c74b37026
unify console shift handling
...
both the non AZERTY and AZERTY functions basically did the exact same thing so can just get rid of one
also simplify some checks
2026-03-22 22:14:19 +01:00
indev
6721f534cc
Fix Got_Saycmd not skipping null terminator when message has maximum length
2026-03-22 22:16:55 +03:00
indev
bb3414d603
Fix /pm and emote suggestions overlapping
2026-03-21 23:10:48 +03:00
indev
e13cb1ca92
Remove few remaining flashpal things in opengl menu
2026-03-17 19:00:38 +03:00
indev
a0dffd0670
Fix listemotes calculating incorrect number of pages
2026-03-16 04:07:48 +03:00
Alug
7684e6aa07
Blua: opcode OP_SELF operate only with string keys, so they can use fast-track table access
...
https://github.com/lua/lua/commit/cb3d5dce30089512085f78a0bef79e30ef732e30
2026-03-15 18:19:06 +01:00
Alug
0fb752b745
Blua: OP_SELF can use 'luaV_fastget' specialized for strings, as it is applied only to string keys
...
https://github.com/lua/lua/commit/257961c601fdec1ea1f9640d460e0d31c39333a1
2026-03-15 18:19:03 +01:00
Alug
c418fe3ef8
Blua: 'luaV_fastget' only treats the real fast case (table with a non-nil value at given key, so that it does not need to check metamethods)
...
https://github.com/lua/lua/commit/1a44e822009752513ce895b9eabc51a4ee4a195a
2026-03-15 18:18:59 +01:00
Alug
fdccc80260
Blua: 'Protect' in table operations is not needed in the fast track
...
https://github.com/lua/lua/commit/df8b996bccd3830d6fe9d7ba80e8fccd6ac3cabf
2026-03-15 18:18:57 +01:00
Alug
84be9096b1
Blua: fast track for 'settable'
...
https://github.com/lua/lua/commit/3b795541c488c7e633567897c9112312007a20a0
https://github.com/lua/lua/commit/b91bc93fd33f2158745b37c9e091c6fa4d1a4fd5
had to adjust some things, hope this doesent explode lmao
2026-03-15 18:18:54 +01:00
Alug
e4e51f0f80
Blua: implementation of fast track for gettable operations
...
https://github.com/lua/lua/commit/e247c3ada3ff47a1352927e797263137f4e02e0e
lets hope i converted this properly lul
2026-03-15 18:18:51 +01:00
Alug
9087fd8377
lua hooklib: use NUMMOBJTYPES to detect mobj hooks
...
removes the "force_mobj" field, gives a suprising perf boost from my timedemo testing +6-7fps (164 - 169/170fps)
this does however will prevent the generic hook from being called if the mobj being passed ever should be NULL
This shouldnt ever happen, vanilla assumes this aswell and way worse things would happen there, but just wanted to note
2026-03-13 19:09:38 +01:00
Alug
1aa37be676
p_user: cache kartspeed value within P_3dMovement
...
its result shouldnt change there, so no need to always recompute stuff, even if its not heavy work
2026-03-13 19:09:26 +01:00
Alug
04f63b23ff
software: hack for bogus height walls
...
as per comment, this is merely a shitty workaround for a chain reaction of bad fixed point maths
since im honestly not feeling like rewriting most of the software renderer to either operate on 64bit or float maths, we just skip drawing anything that seems completely unreasonable
2026-03-13 19:09:18 +01:00
Alug
d6ed923f83
P_XYMovement: check for kart specific stuff first to determine friction apply
...
this stuff is much more common than the other stuff being checked, so more likely to return earlier and save a bunch of other checks
2026-03-13 19:09:08 +01:00
Alug
c7845118c0
explicitly cast those
2026-03-13 19:08:50 +01:00
alufolie91
ffc6adde4c
Merge branch 'servaddonsonly' into Saturn-Next
2026-03-13 19:08:21 +01:00
alufolie91
fed7020da1
hash_sparse: change length checks
...
dont early return on 0 len, let it be the falltrough case, this seems to help branch prediction
2026-03-13 18:58:49 +01:00
alufolie91
1a4255d9df
luaS_newlstr: use hash also for checking strings
...
taken from raptorjit
we can check the hash first to skip quite a bunch of memcmps which should be faster in most cases (hopefully but quick timedemo tests confirmed that)
2026-03-13 18:58:39 +01:00
alufolie91
f6ead71f0c
blua: handle 0 length strings in hash_sparse
2026-03-13 18:58:31 +01:00
Alug
966f60f590
Experiment: replace lua´s string hash with luajits ARX hash
...
the string hashing was the most hit and most spent in part of the whole game in alot of cases
replacing it with luajits algo absolutely massively improves lua performance (10-15fps in my bench timedemos!)
however idk how all this stuff exactly works so this needs alot of testing to make sure nothing breaks
ive rewritten the unaligned ptr access slightly to use memcpy for safety with some platforms that require stricter alignment
2026-03-13 18:58:21 +01:00
alufolie91
9afc018a45
Avoid computing invalid addresses
...
luaV_execute should compute 'ra' only when the instruction uses it.
Computing an illegal address is undefined behavior even if the address
is never dereferenced.
2026-03-13 18:58:05 +01:00
Alug
43608810da
lua branching hint stuff
...
rechecked against lua 5.4
2026-03-13 18:56:18 +01:00
Alug
90b5f9050a
Blua: small optimization in luaL_addlstring (avoid adding chars one by one)
...
https://github.com/lua/lua/commit/f292760f12022a83cf01e788482a264aeeb3c276
2026-03-13 18:55:55 +01:00
Alug
edc10a35a1
Blua: better names for metamethods in debug information
...
https://github.com/lua/lua/commit/becf19feeffeb0bf2297e163da4ccc7b4b5e6b5c
2026-03-13 18:55:49 +01:00
Alug
91435fe1b2
Blua: small optimization (reorder of BinOpr enum to unify some cases in switches)
...
https://github.com/lua/lua/commit/d7872dcf91eb2075312a03973a6cdb489610c796
2026-03-13 18:55:42 +01:00
Alug
a7ebc7e745
Blua: micro-optimization: avoid one API call in 'read_chars'
...
https://github.com/lua/lua/commit/f86f4116c82654d24faa4a32a909d0c27f3d4746
2026-03-13 18:55:37 +01:00
alufolie91
3cf3c1bb99
Merge pull request #219 from Indev450/netstuff
...
Netcode fixes, cleanups and optimizations
2026-03-13 18:45:18 +01:00
alufolie91
2c170f1956
Merge pull request #217 from Indev450/optimizewadlumps
...
Optimze Wad Lumps
2026-03-13 18:21:50 +01:00
alufolie91
98da654e02
Fix P_MakeMapMD5 printing incorrect time
...
:chonkbuncle:
2026-03-10 16:55:54 +01:00
alufolie91
af84105e40
better error for nodeless maps
2026-03-10 16:55:51 +01:00
indev
a1666704e5
Hide offroad particles when player is doing saltyhop
2026-03-09 14:53:30 +03:00
alufolie91
7b408a33d7
fix openmpt versions strings leaking
...
from https://lib.openmpt.org/doc/libopenmpt_c_overview.html "All strings returned from libopenmpt are dynamically allocated and must be freed with openmpt_free_string()."
didnt knew this tbh lol
2026-03-03 02:32:13 +01:00
alufolie91
9ee535066e
OpenGL: initialize all FSurfaceInfo´s
...
seen this a bunch of times now that occasionally something tries to access uninit values from a surface info
since those are really small we just always init them now
2026-03-03 02:31:54 +01:00
alufolie91
6430150b63
fix parts of png info text for screenshots not being null terminated in some cases
2026-03-02 17:53:24 +01:00
alufolie91
16cf4ede89
v_video: generate missing flashpals instead
...
not sure if this is more sane than the huge ass array from before
but atleast this is more accurate and can basically generate flashpals from any palette while also still working with all the colour and gamma adjustments
prob needs some cleanup idk this is all rather messy lol
2026-03-02 17:23:11 +01:00
alufolie91
efe8732188
fix flashpals throwing random garbage into the renderer in some cases
...
iirc, if the provided palette currently in use did not provide subpalettes, this will read past the bounds of allocated memory, which aint good lol
i just dumped the white flashpal and threw it into there since idk if -file or autoload gets called before the palette gets initialised, which would carry a risk of copying more garbage, hence this big ass array
2026-03-02 00:44:10 +01:00
alufolie91
07fc0eb03a
v_video: fix cv_palettenum bounds check
...
mhhm yeah
2026-03-02 00:35:19 +01:00
X.organic
f2b46fd148
Fix myhashfgets-related buffer overflows in deh_soc.c
2026-03-02 00:35:16 +01:00
alufolie91
8247133966
w_wad: use strnlen to check lump length for map marker
...
lump name may not be null terminated here, so strlen may read out of bounds garbo
using strnlen ensures we read max 8 characters which is the name buffer size
2026-03-02 00:35:13 +01:00
alufolie91
397fb071e5
fix compiling with valgrind support
2026-03-02 00:35:11 +01:00
alufolie91
1a9fa94cbd
Autoload: dont attempt to load directories
...
lol
2026-03-01 01:04:14 +01:00
alufolie91
e8c7cc6a9b
D_AutoloadFile: add overflow safeguard
2026-03-01 01:04:14 +01:00
alufolie91
5ca3ab5966
Autoload: fix incorrectly incrementing wad count
...
those should only be incremented if we actually add something to the filearray and not instantly execute or error out
2026-03-01 01:04:14 +01:00
indev
1cf04514b3
Fix W_MakeFileMD5 printing incorrect time
2026-03-01 02:31:11 +03:00
alufolie91
5577ba4c7a
Autoload: dont add wads that contain maps
2026-03-01 00:03:19 +01:00
alufolie91
6ff1cbf4b0
ok actually just remove keepmusic resume stuff
...
well now it just broke with dynmusic
this sucks, its probably fixable but the code was abysmal so shrug
2026-02-26 01:11:37 +01:00
alufolie91
db4cd73912
fix keepmusic resuming not resetting with "tunes" command
...
this code sucks ass wtf was i cooking
if this breaks again i will just wipe it lmao
2026-02-26 01:05:18 +01:00
alufolie91
3c70598aea
lumpnumcache: W_LumpExists should return true or false
...
whoops was oversight by me
prob doesent really matter due to wraparound but its still incorrect
2026-02-25 22:38:46 +01:00
alufolie91
1ec29c1c94
better flags for ASAN and UBSAN
...
compile with -O1 and -fno-omit-frame-pointer
-fno-common for ASAN
2026-02-25 21:30:23 +01:00
alufolie91
fedccd25b9
hw_cache: use verstable for HWR_PrecacheLevelFlats flatchecks + convert to C
...
replaces the unordered_set and doesent require c++
2026-02-25 18:04:45 +01:00
alufolie91
1e51365cad
add comment about K_KartUpdatePosition
2026-02-25 17:45:07 +01:00
alufolie91
94026e4331
makefile: comment out all the "Wno" flags
...
we effectively fixed all of them, so this does not throw any warnings for me atleast
in case we may screw up id rather have those warnings appear
2026-02-25 17:45:05 +01:00
alufolie91
2084cdc6d5
hw_md2: remove pointless float casts
...
durs and tics are int32.
and so is var2, anim_duration is uint16 but that still makes no sense lul
2026-02-25 17:10:24 +01:00
alufolie91
1b22c3af19
those should be boolean
...
just for correctness!
2026-02-25 16:52:47 +01:00
alufolie91
3e327263c9
fix faulty papersprite flipping in opengl
...
lol
2026-02-25 16:46:58 +01:00
alufolie91
7c24d92613
delet V_GetSkincolorChar
...
this was unused and broken anyways
think this came from snowy kart or smth
2026-02-25 16:46:55 +01:00
alufolie91
ba808307e9
FORCEINLINE is apparently used by windows already lmao
2026-02-24 16:10:54 +01:00
alufolie91
014a22e933
w_wad: replace unordered_map with verstable hashmap for lumpnumcache + convert back to C from C++
...
been rethinking this and been doing some digging online
the unordered_map was just a quick and simple fix for performance issues in blan, but came with caveats:
- unordered_map is simple to use but not particulary great in terms of performance during lookups especially
- we needed to convert w_wad to c++ just for the lumpnumcache
- due to needing to preserve the key since they gotta outlive the scope of the function that inserts things into the map, we effectively did a string copy on each map insert and lookup
after some research came across verstable, which is basically almost the exact same as unordered map but in C while being extremely fast (even more with its builtin string hash and comparisor)
only caveat with verstable is we need to rely on a new lib, though its just a single header file, and we gotta manage ensuring the input keys outlive functionscope ourselves, which we do with strdup in this case
good thing, verstable allows to call a "destructor" specified by us whenever it removes or replaces keys in the map
this also means we only need to copy strings on insert and not on lookup anymore
all in all this is much faster while giving us the simple usage of c++ unordered_map while staying in C
due to the strdup quirk i had to slightly modify verstable to allow to take const as inputs for the getter functions even if the keys themselves are not const marked with "KEY_GET_CONST"
Verstable can be found here: https://github.com/JacksonAllan/Verstable
and is licensed under MIT which is perfect!
2026-02-24 16:06:27 +01:00
alufolie91
3f3ba9e993
Merge branch 'Saturn-Next' into optimizewadlumps
2026-02-24 15:54:47 +01:00
alufolie91
2f684bba95
ensure SIGINT/SIGTERM can quit out from wipes and serverconnection ticker
2026-02-24 12:34:21 +01:00
indev
a287a6419f
Use strncpy for zip entry filename because it might not be null-terminated inside zip
2026-02-23 22:53:23 +03:00
alufolie91
6f2aba7ee3
Windows is such a cool Operating System
...
idk why we just dont use int32 there aswell and rely on whatever tf windows supplies which i dont trust ffs
2026-02-23 18:17:40 +01:00
alufolie91
a9a0d4bed8
fix compiler warnings for glibc 2.43 and newer
...
this version changed so that many standard functions now propagate the constness of its input pointers
to not cause warnings for everyone on older versions this is now a really dumb macro lol
2026-02-23 17:58:53 +01:00
alufolie91
355c78e075
check for _GNU_SOURCE for nongnu_strcasestr
...
idk we dont need it and it throws warnings on new glibc so i dont want it tbh
2026-02-23 17:58:50 +01:00
alufolie91
4623f8aff2
explicitly set "std=gnu17"
...
we *rely* on a bunch of gnu extensions so its better to explicitly set this
yes in theory we fully comply with c23/gnu23 and saturn compiles fine under that, but since its still fairly new theres alot of maschines that still dont support it :chaosleep:
2026-02-23 17:58:36 +01:00
indev
1265bbba2e
Rename I_LockMutex back into I_lock_mutex for now
2026-02-23 19:14:14 +03:00
alufolie91
fdccf868cc
disable player fade if viewplayer is spectator
...
fixes some wonky stuff like players disappearing when they were close to the invisible spectator player and you werent watching someone else
2026-02-23 17:09:32 +01:00
alufolie91
3204b5c3b4
Merge branch 'Saturn-Next' into netstuff
2026-02-23 17:02:32 +01:00
alufolie91
cd02242a01
fix splitscreen clients being unable to join saturn servers
...
lmao oops idk dumb copy paste sry
2026-02-23 17:02:13 +01:00
alufolie91
e35dc9e097
fix g_in_exiting_signal_handler
...
every "flag" set by signal handlers must be of type "volatile sig_atomic_t"
everything else may fail to be correctly set, read or get optimized away which rendered this basically useless
2026-02-23 16:20:48 +01:00
alufolie91
f4dc161831
dont let SIGINT/SIGTERM do work in signal handler take 2
...
the earlier approach still raised the default signal within this, which basically just skipped everything and ended up NOT calling I_Quit at all
Basically this is to ensure we dont call I_Quit at all from a signal handler as it is NOT async safe and can cause serious issues like deadlocks and such, instead SIGINT and SIGTERM will just signal the main loop/thread to safely call I_Quit instead
2026-02-23 16:01:14 +01:00
alufolie91
1d6c27baca
lua_pushlstring: prefer luaS_newlstr over luaS_new
...
the latter calls strlen which is not needed as the empty string has no length
2026-02-22 14:01:27 +01:00
alufolie91
009df228d6
fix memory leak when fetching masterserver rules
...
strdup returns a malloc´d string!
2026-02-22 13:33:57 +01:00
alufolie91
7746e494cf
fix memory leak within http masterserver handling
...
errbuf gets malloc´d!
2026-02-22 13:33:54 +01:00
alufolie91
90a88983f1
k_hud: make the hud offset vars static
2026-02-22 13:33:49 +01:00
alufolie91
22a4fe63db
Fix minimap angle display colour for skins that use non default startcolor
...
i.e. they use a different colour than "green" to remap their skincolor on
2026-02-22 13:33:46 +01:00
Alug
d77508f481
init superactions global
...
was missed before
2026-02-16 19:27:56 +01:00
Alug
53321d33d5
mark some nightsmode stuff with likely/unlikely i missed
...
and in some cases move around the conditionals
i love backwards compat Zzz....
2026-02-16 19:27:52 +01:00
Alug
5c28f6afd8
Revert "fix new compiler warnings from new gcc version"
...
This reverts commit d49001143f .
2026-02-16 19:04:51 +01:00
Alug
d49001143f
fix new compiler warnings from new gcc version
...
just throw const at everything :blobthumbsup:
2026-02-11 17:48:16 +01:00
Alug
513e5a7e3f
remove even more dead code lol
2026-02-10 16:38:37 +01:00
Alug
6f75fab7ff
move gamepad led ticker after render logic
...
this does not really matter but save a tiny little amount of time before rendering a frame
2026-02-09 19:41:45 +01:00
Alug
38fc6d6ba1
remove screen texture toggle from accessability menu + new tooltip
2026-02-09 16:09:26 +01:00
Alug
02f2464a00
HWR_CreateBlendedTexture: init a bunch of stuff
2026-02-08 23:13:16 +01:00
Alug
c84724da37
make lumpnumcache case sensitive + optimize + replace quickncase hash with FNV1a
...
lumpnumcache can be case sensitive W_CheckNumForName should also look for uppercase stuff and W_LumpExists is case sensitive anyways
this avoids having to always account for case (toupper/tolower) during hash and string comparisons and even allows us to even directly compare our strings instead of using fastcmp (std::strings allow this!)
from some benchmarking externally this makes this faster quite a bit
2026-02-08 20:35:08 +01:00
Alug
86b286fb0b
fix few more cases of using potentially uninitialized garbage
2026-02-06 20:06:56 +01:00
Alug
ecef8913b1
remove some more dead code
...
as reported by clang-tidy
2026-02-06 17:06:33 +01:00
Alug
277b202020
hooklib: init all the hook states
...
idk i aint trusting any of this lul
2026-02-06 17:06:04 +01:00
Alug
6ba97bc43c
only do the anim texture maths if we need it
...
idk why but this showed up during profiling
best would be just to redo the whole system since it sucks lol
2026-02-05 23:31:19 +01:00
Alug
0fbde146a9
remove some unused fields from precipmobj_t
...
we do not have animating precip nor do we cast it to mobj_t anymore, so we can just get rid of this stuff
reducing the struct size by 16bytes wowie
2026-02-05 20:07:44 +01:00
Alug
16e0c6f0f6
dont constantly fetch lookback joyaxis in p_ticker if replay recording is enabled
...
minuscule optimization lul
2026-02-05 20:07:41 +01:00
Alug
8cab07a4b2
add missing "ifdef LOGMESSAGES"
2026-02-03 15:59:53 +01:00
Alug
55c8546d68
do not use Zone Memory for masterserver rules
...
this gets called from within non main threads!
zone memory is not thread safe!
2026-02-02 17:27:23 +01:00
Alug
1762f18116
delet all the Z_Free checks
...
Z_Free already checks its input internally!
2026-02-02 16:12:38 +01:00
Alug
e4dbf1ce11
plug a potential memory leak in M_SaveConfig
2026-02-02 16:11:57 +01:00
Alug
10b9d96259
hw_clip: replace "RoundToInt" with lrint
...
prefer to use standard lib functions if possible
lrint does the same thing (well ofc as long as no one touches the rounding direction löl) and is even quite a lot faster (though this is negligible in this case)
2026-02-02 16:11:54 +01:00
indev
b23154fd93
Prevent replays menu scoll bar from disappearing
2026-02-02 02:28:33 +03:00
Alug
b0ee972178
r_plane: fix visplane hashing overflowing
...
shift into "int" to prevent super large values during multiply
2026-02-01 20:52:48 +01:00
Alug
544e1d3b21
"fix" overflow in R_InitViewMapping with high resolutions
2026-02-01 17:07:18 +01:00
Alug
0ca6947f99
fix a few type issues
2026-02-01 16:27:25 +01:00
indev
3122c08039
Add focus options for gamepad led and rumble
2026-02-01 02:49:03 +03:00
indev
7a279a6fd9
Prefix autoaccel cvars with 'kart' to avoid conflict with hostmod
2026-01-28 19:19:02 +03:00
Alug
00bc8bc149
limit addon only stuff to server info screen
...
quite honestly everything else is awful and i dont want to bother with it
2026-01-27 18:23:51 +01:00
Alug
f12b55f63b
rename addonsonly variable to cl_addonsonly
...
very generic name so add the prefix for whatever cl means
2026-01-27 18:08:12 +01:00
Alug
3e476d7658
implement allowing to load addons and gamestate only instead of joining server
...
really messy, needs some cleanup, not sure if this is good at all
2026-01-27 18:06:22 +01:00
Alug
c4581bd9a6
Only save and keep track of controller ids on SDL versions 2.32.4 and up
...
Older versions break and have unstable ids on Windows, cant check for linux but ill just add a version check at this point
This was part of updating sdl with v9, which got reverted due to other issues but this was not reverted oopsie
2026-01-24 18:20:54 +01:00
Alug
bb47b976a7
software: fix drawseg xrange item coord type being too small
...
both sprite and drawseg coords are int32
might fix some clipping issues
2026-01-23 18:33:11 +01:00
Alug
6c419ff22e
fix few more implicit double/float conversions
2026-01-23 18:33:08 +01:00
Alug
522904527f
add missing HAVE_CURL
2026-01-23 10:08:35 +01:00
Alug
30539371c2
more cmake stuffs
...
-add LTO option, enabled by default
-set optimization level to O3 and O0 for debug builds
-add ASAN and UBSAN options
-always compile with gnu debug symbols
2026-01-22 14:46:12 +01:00
Alug
e2ecc315b4
cmake: attempt to fix dedicated build uhh building
2026-01-22 14:44:47 +01:00
Alug
eb2f186205
Merge pull request #221 from P-AS/morecmakefixes
...
CMake fixes cherry-picked from srb2-legacy
2026-01-22 14:43:38 +01:00
Alug
bbf06b3376
add "vid.udup" same as vid.dup but not scaled with "highreshudscale"
2026-01-22 14:26:24 +01:00
Alug
a1f70b0b31
opengl: attempt to scale vhs effect "fuzzyness"
...
this makes it appear more or less the same in all resolutions, similar to software, while also improving performance quite a bit on higher resolutions
2026-01-22 14:26:23 +01:00
Alug
2e0f5c02a4
opengl: make vhs effect bars be affected by "fuzzines"
...
makes stuff slightly slower, but matches the software effect
2026-01-22 14:25:57 +01:00
Alug
0f7001ef5c
opengl: tiny optimiazation for vhs effect
...
dont call rand within the loop, use xorshift instead
while not massive, we dont need to call rand thousands of times, the xorshift is visually indistinguishable
this is still rather slow due to the crapton of draw calls and should best be replaced by a shader or something
2026-01-22 14:25:54 +01:00
PAS
4600da5782
restore SRB2_SDL2_EXE_NAME
2026-01-21 15:54:32 -05:00
indev
a3557fadef
P_PlayRinglossSound from lua might desynch so print warning about that
2026-01-21 23:38:41 +03:00
Alug
d9a67faf47
fix windoze compile
2026-01-21 21:11:52 +01:00
PAS
96eaf8850e
Add path suffix for libgme cmake module
2026-01-21 15:01:51 -05:00
PAS
e7efd46419
Fix FindGME pkg-config command, update LibFindMacros.cmake
2026-01-21 15:01:33 -05:00
PAS
346b1456cd
CMake: Fix FindOPENMPT
2026-01-21 14:59:01 -05:00
PAS
9f5a5a735b
Allow changing Cpak generator (from upstream)
2026-01-21 14:58:32 -05:00
PAS
8e4b304bed
CMake: don't configure before CPACK_PACKAGE_DESCRIPTION_SUMMARY is set
2026-01-21 14:51:17 -05:00
Alug
6cbb8a36cf
Merge branch 'Saturn-Next' into netstuff
2026-01-21 20:48:47 +01:00
Alug
7dbb08315c
fix cmake
2026-01-21 20:48:04 +01:00
Alug
b1ff1bb531
Merge branch 'Saturn-Next' into optimizewadlumps
2026-01-21 20:47:44 +01:00
Alug
8eaf4a73f4
Merge branch 'Saturn-Next' into optimizewadlumps
2026-01-21 20:46:55 +01:00
Alug
607fbc54fc
Merge pull request #220 from Indev450/fixcmake2
...
Fixup CMake, but simpler
2026-01-21 20:45:24 +01:00
Alug
276cf0a8cb
fix string.c include
...
whoops, not sure why that was even done like that
string.c will include strcasestr.c and SRB2_HAVE_STRLCPY will ensure eitherways we dont use the included strlcpy stuff
2026-01-21 20:04:19 +01:00
Alug
59c9af97c2
joy_open: make debug prints actually print the player number
2026-01-21 19:54:03 +01:00
Alug
4e75d99026
simplify LUA_Alloc
...
Z_Realloc already handles everything internally, no need to manually free anything
2026-01-21 19:49:55 +01:00
Alug
8e91c16e97
cmake: enable gnu extensions
...
we rely on some of them like the cleanup macro
dont want those breaking or smth
2026-01-21 19:34:44 +01:00
Alug
186421fe85
cmake: link with peethread
2026-01-21 19:23:36 +01:00
Alug
af952870c3
fix fbo oopsie
2026-01-21 19:22:40 +01:00
Alug
4eeb0b4b20
update readme to reflect this
2026-01-21 19:16:05 +01:00
Alug
cb2c65e9d9
more cmake fixups
...
- skip asset install for linux
- pass fwrapv flag
- fix asset hash stuff
- pass rdynamic flag
- add saturn specific stuff, saturnpak, saturnjoin, libbacktrace and fix screen fbo stuff
2026-01-21 19:09:50 +01:00
cobalt2727
f7bbde3982
fix ARM builds being completely broken
...
If merged, this is the quickest approach to resolve https://github.com/STJr/SRB2/issues/513
...alternatively, we could just remove the option altogether but I don't have the time right now to test whether it's needed or not
To the best of my knowledge, this covers all possible amd64 `CMAKE_SYSTEM_PROCESSOR` values based on what I'm seeing at https://stackoverflow.com/questions/70475665/what-are-the-possible-values-of-cmake-system-processor
2026-01-21 18:24:53 +01:00
Alug
c9fc3b4820
fixup cmake for macos
...
mostly based on the patch from https://github.com/Bijman/srb2bld
with some changes from https://github.com/Indev450/SRB2Kart-Saturn/pull/216
but doesent completely replace the build system with what blan has
compiles fine on nix, but needs testing on mac
2026-01-21 18:23:21 +01:00
Alug
f5195dd137
Merge branch 'crashissuereports' into Saturn-Next
2026-01-20 17:32:30 +01:00
Alug
5289f13891
Show report issue button also on I_Error
...
also make wrapper functions for everything, to reduce code dupe
2026-01-20 17:32:22 +01:00
Alug
073b35690b
dont attempt to show sdl message box on non dedicated builds running as dedicated
2026-01-20 17:32:19 +01:00
Alug
43d3ac102d
HWR_RenderPlane: cleanup code that does nothing
2026-01-20 15:42:37 +01:00
Alug
aa96f9ceb3
V_DrawVhsEffect: fix scaling with highreshudscale, fix downwards bar going out of screen bounds
...
this shouldnt account for highreshudscale at all
on very high resolutions the bars are still only half size, but atleast they dont become minuscule or just dont draw at all
also ensures both bars are clamped, on some resolutions sometimes they just go out of visible screen range
2026-01-20 14:57:18 +01:00
Alug
104b8260fb
add reducevfx to accesability menu
...
If there are things that should be handled by that toggle def feel free to suggest them!
2026-01-19 14:35:10 +01:00
Alug
edebc728ef
remove unused stuff from joyinfo
2026-01-18 19:00:05 +01:00
Alug
08e7ce3b5b
m_menu: clean up the skin display stuff a little
2026-01-16 13:27:20 +01:00
Alug
29f187b751
fix some windoze specific "-Wzero-as-null-pointer-constant" warnings
2026-01-16 12:53:34 +01:00
indev
ac3a1ad5eb
Add gcc 13.3 into list of supported versions
2026-01-16 12:02:21 +03:00
indev
1b8d7b1541
I_Error when dedi tries to go to main error
...
This will not fix the issue entirely but will at least prevent server
getting stuck and backtrace will show where did it try to go into menu from
2026-01-16 11:11:36 +03:00
Alug
b812d61da2
Merge branch 'crashissuereports' into Saturn-Next
2026-01-14 12:58:44 +01:00
indev
6fd64383d3
This isn't ceepeepee rn :SmolBuncle:
2026-01-12 22:33:30 +03:00
Alug
e984e7a6c8
Merge branch 'menumodels' into Saturn-Next
2026-01-12 19:13:21 +01:00
Alug
96f90ff9c4
push back models even further
...
bigger models still had parts being culled, hope this is generous enough idk
2026-01-12 19:13:17 +01:00
Alug
51aec0e012
Merge branch 'menumodels' into Saturn-Next
2026-01-12 18:40:38 +01:00
Alug
faadd3e89f
support the uhhh localskin setup with 3d models
2026-01-12 18:40:00 +01:00
Alug
0c091256f4
tiny cleanup + warning fix
2026-01-12 18:30:11 +01:00
indev
7a0fb01626
Make glOrtho remap coordinates to vid.width and vid.height, this makes calculating coordinates in HWR_Draw2DModel easier
2026-01-12 18:30:08 +01:00
Alug
c01818e2e3
simplify skinnum bounds check
...
lul
2026-01-12 18:30:06 +01:00
Alug
e17a8a505c
fix the culling issues
...
i hope this is right.......
2026-01-12 18:30:03 +01:00
indev
ab654deba7
Make HWR_Draw2DModel not depend on resolution, make 3d skin select use skinselectspin cvar
2026-01-12 18:29:58 +01:00
Alug
b145d7fd0e
WIP: show 3d models in player setup
...
this is incredibly ugly and hacked together
theres some weird culling issues and shit doesent really "scale" with different resolutions which needs to be fixed
but it kinda works
2026-01-12 18:29:55 +01:00
Alug
264c9e38ad
d_netfil: dont use zone memory in CURLGetFile
2026-01-11 19:46:46 +01:00
indev
e88773da4e
How did i miss the =
2026-01-11 13:08:23 +03:00
indev
310f67a06c
Fix smol mistake in strcasestr
2026-01-11 03:49:07 +03:00
indev
0914d5b8e2
-Wzero-as-null-pointer-constant is valid for c only since GCC 15.2 (from what i see)
2026-01-11 00:49:48 +03:00
Gustaf Alhäll
bf1aa47854
Simplify textcmd handling
2026-01-09 20:53:15 +01:00
Alug
291a4dbb25
disable midnight channel border flicker with "reducevfx"
2026-01-09 13:01:30 +01:00
Alug
8fe3d13935
fix InitColorLUT
2026-01-09 11:08:22 +01:00
Alug
bdc326b14e
leveltime be tic_t
...
:chaosleep:
2026-01-08 00:43:43 +01:00
Alug
d938e38ad3
Acessability: add basic "reducevfx" toggle to disable/reduce certain effects
...
toggles certain effects, which may be troublesome to some players
-disabled hyudoro flashing, instead makes player translucent
- Makes rainbow colour effects, such as invul, change colours very slowly
- Disables underwater and heatwave screen effects
- Disables palette flashing
- Disables vhs effect
not the most pretty implementation, but im lazy and this works
feel free to suggest more things
2026-01-08 00:40:24 +01:00
Alug
3d4772455b
K_SpawnSparkleTrail: check for blend effect apply outside the loop
...
tiny optimization
2026-01-08 00:40:24 +01:00
Alug
e1f0089627
enable "Wzero-as-null-pointer-constant", fix cases of it
...
prevent ambiguity
shoutout blankart for making me aware this exists
2026-01-08 00:40:24 +01:00
Alug
be423b2910
Merge branch 'Saturn-Next' into netstuff
2026-01-08 00:34:19 +01:00
Alug
3bf3bdf641
enable "Wzero-as-null-pointer-constant", fix cases of it
...
prevent ambiguity and bad practices, i like expressive and "correct" code
shoutout blankart for making me aware this exists
2026-01-08 00:34:15 +01:00
Alug
e923777eb6
Acessability: add basic "reducevfx" toggle to disable/reduce certain effects
...
toggles certain effects, which may be troublesome to some players
-disabled hyudoro flashing, instead makes player translucent
- Makes rainbow colour effects, such as invul, change colours very slowly
- Disables underwater and heatwave screen effects
- Disables palette flashing
- Disables vhs effect
not the most pretty implementation, but im lazy and this works
feel free to suggest more things
2026-01-08 00:33:53 +01:00
Alug
cf6eb0010e
K_SpawnSparkleTrail: check for blend effect apply outside the loop
...
tiny optimization
2026-01-08 00:33:50 +01:00
Alug
5184115216
enable "Wzero-as-null-pointer-constant", fix cases of it
...
prevent ambiguity and bad practices, i like expressive and "correct" code
shoutout blankart for making me aware this exists
2026-01-08 00:33:43 +01:00
Alug
edbebbf082
fix wrong type for K_DriftSparkColor
...
all the colour stuff is still a bit of a mess, but generally its handled as an uint8
2026-01-02 18:34:13 +01:00
Alug
242dee499d
initialize more globals that have been missed
2026-01-02 18:34:10 +01:00
Alug
39a46e8f79
Revert "Remove tic provision (vanilla compat edition)"
...
This reverts commit 4a3c9ccfbb .
2025-12-30 01:09:14 +01:00
Alug
a2de1e24c5
d_cliserv: fix casts from nan to int type
...
in few cases the files totalsize might be 0, which results in a nan, casting that to int type is undefined behavior
2025-12-28 17:46:44 +01:00
Alug
c0cce90e60
properly handle getcwd error in IdentifyVersion
...
if getcwd fails, the buffer contents will be undefined
so we shall just overwrite it again with "."
2025-12-27 15:34:26 +01:00
Alug
d9712cf85e
Merge branch 'Saturn-Next' into netstuff
2025-12-27 15:13:50 +01:00
Alug
9ccd62b5cb
Merge branch 'Saturn-Next' into optimizewadlumps
2025-12-27 15:13:42 +01:00
Alug
67e74b5874
fix w_wad oopsie
2025-12-27 15:13:20 +01:00
Alug
9639ace28a
fix dedicated server build warnings
2025-12-27 15:07:13 +01:00
Alug
a2616778cc
fix another -Wnull-dereference warning
2025-12-27 15:06:50 +01:00
Alug
0691e2d9e2
Merge branch 'Saturn-Next' into netstuff
2025-12-27 13:40:19 +01:00
Alug
495c34dd40
fix gcc version detection fallback stuff
...
latest_gcc_version should always just be X.x not X.x.x
this broke some warning flags for me
2025-12-27 13:02:30 +01:00
Alug
f38ca9aa28
Signal Handler: Add button to report issues to github
...
mostly based on what srb2 does with some stuff from srb2-legacy
the button will attempt to open the issue page on the saturn git when a crash occurs
2025-12-27 12:41:41 +01:00
Alug
8e67e0bace
Merge branch 'Saturn-Next' into optimizewadlumps
2025-12-27 10:53:10 +01:00
Alug
b0bf588c27
fix some null pointer dereferences
...
and enable -Wnull-dereference by default
2025-12-27 10:52:21 +01:00
Alug
35e4f35f6e
fix some shadowed variables, enable -Wshadow by default
2025-12-27 10:32:16 +01:00
LJ Sonic
7866b769cc
Do not archive table values for nil keys
2025-12-27 00:00:39 +01:00
Alug
1af1e42dab
FBO: remove nvidia xwayland hack
...
this has been a non issue since a while now, so can remove this (we shouldnt work around driver bugs anyways)
2025-12-26 23:20:42 +01:00
Alug
40bd3e5e19
simplify opengl vsync set
2025-12-26 23:20:39 +01:00
Alug
25dd3b4976
Revert "Fix static memory being re-tagged as purgable"
...
This reverts commit c544cf9a7c .
2025-12-26 21:44:58 +01:00
PAS
08864e27b2
Fix double byte-swap in SV_MakeTic
2025-12-26 21:44:39 +01:00
Alug
4a3c9ccfbb
Remove tic provision (vanilla compat edition)
...
based on https://codeberg.org/srb2classic/srb2classic/commit/7cf14fbe740998c3246dd190904f49a236b2ccec
seems to get rid of some jitter in localhost
2025-12-26 21:44:37 +01:00
Alug
cedd789a27
Merge branch 'Saturn-Next' into netstuff
2025-12-26 21:44:34 +01:00
Alug
0fe3086a5a
Fixup the doomednum lookup
...
properly match the old linear lookup by returning the FIRST match for doomednum
also shrinks the array, doomednum max is 4095, no need for such massive array, also fixed a off by
should fix some join desynchs and desynchs on certain maps
2025-12-26 18:58:41 +01:00
Alug
c9afd4a2cd
G_GetDemoDate: make safer and use static memory
...
bunch of smaller issues before, no real checks for strltol and potential free on a null pointer lul
also skips replays with shorter than 10 char names and handles errors better
2025-12-24 00:06:17 +01:00
indev
7518a6f181
Revert "Sort directories too in replay list"
...
This reverts commit 7c848f4be5 .
2025-12-24 01:36:02 +03:00
indev
2bf4c44259
Revert "Actually add filepath to directories to sort them"
...
This reverts commit 1c95e5f40e .
2025-12-24 01:36:00 +03:00
indev
1c95e5f40e
Actually add filepath to directories to sort them
2025-12-24 01:23:20 +03:00
indev
7c848f4be5
Sort directories too in replay list
2025-12-24 00:54:39 +03:00
Alug
a4af254643
Revert "dont call I_Quit from within "quit_handler", let it signal main loop to quit"
...
This reverts commit a2feaa7fde .
2025-12-22 20:16:04 +01:00
Alug
860dc37fe4
Optimize: move a few strlen calls out of loops
...
when applicable and the input does not get modified within the loop
needs some testing incase i oversaw something
2025-12-18 19:13:47 +01:00
Alug
8b3d55fbc8
HWR_ProcessSeg: port softwares code to skip rendering inner sides that are "joined" to other fofs
...
This seems to improve performance on maps with moderate to lots of fofs quite a bit.
On maps with only a few fofs, this makes no difference or has very very little regression
Need to test and check if there are any visual errors, but so far everything seems good
2025-12-18 19:11:37 +01:00
Alug
0540b5656a
OpenGL: keep around our drawnodes memory
...
no need to constantly reallocate new memory
we dont have renderer switch, and the next level will render drawnodes anyways
those wont grow super big also, so theres no big worry about wasting tons of memory
yes i like ceepeepee vectors, how can you tell
2025-12-18 19:11:26 +01:00
Alug
6c98440f27
Remove pure attribute from fasticmp
...
While i assume this to be fine currently, i quite frankly dont trust the srb2 codebase enough aswell as preventing any future issues if there should ever be need to switch locales, since toupper WILL change behaviour in such cases which does not qualify as pure
2025-12-16 17:52:13 +01:00
indev
3828a9f8e0
Add flipcammode toggle for using local flipcam settings instead of player flags
2025-12-11 22:58:45 +03:00
Alug
2c7c9ec32a
fastcmp.h: mark fastcmp functions as pure
...
this might let the compiler optimize aways subsequent calls in some cases
strcmp etc from glibc also does it
prayin nothin changes the locale at runtime lmao
2025-12-11 20:28:31 +01:00
indev
1ccd3e37bc
Init playerinfo[i].node to 255 so if playerinfo packet gets lost, server join screen doesn't display empty player names
2025-12-11 21:37:31 +03:00
Alug
6ad344f65d
findfile: let files added with "-file" look in addon/downloads folders first
...
due to https://github.com/Indev450/SRB2Kart-Saturn/commit/956fc099adcd7f33993c43c8ee3aea64df3fe9b4
IWADS shouldnt use findfile anymore
If there should be such case we can always expose the startupiwad count to check if were currently searching for iwads iirc
2025-12-11 18:19:21 +01:00
indev
1c289d73ca
Oopsie
2025-12-11 17:54:03 +03:00
indev
44ba69cf53
Move lite steer and turn smoothing cvars into individual player controls menu
2025-12-11 17:35:35 +03:00
indev
4cea0c1414
Add autoaccel into accessibility menu
2025-12-11 16:43:59 +03:00
Alug
4ee468f5c6
Accessability: Add "Auto Acceleration" feature
...
ported from hostmod
2025-12-11 14:27:09 +01:00
Alug
9a58eb3010
G_BuildLocalTiccmd: remove "moveinput" variable
...
checking both cmd->buttons aswell as cmd->driftturn already handles those cases
2025-12-11 14:27:06 +01:00
Alug
59ff5e61bf
Revert "Fix use-after-free when mobj is removed while still playing sounds"
...
This reverts commit 3bdc745bd1 .
2025-12-10 19:13:07 +01:00
Alug
821c061f82
Optimize: Use doomednum lookup also when (re)spawning mapthings
...
not just for loading savegame thinkers
Actually even provides slight runtime performance improvement, but mostly makes levelload faster
2025-12-10 18:22:34 +01:00
Alug
fd2c208612
Merge branch 'Saturn-Next' into optimizewadlumps
2025-12-09 18:07:15 +01:00
Alug
8f91707164
Merge branch 'Saturn-Next' into netstuff
2025-12-09 18:07:06 +01:00
Alug
37eba186f5
netcode: replace some stuff with memsets + add a little bounds safety in some places
2025-12-09 18:07:02 +01:00
Gustaf Alhäll
eb4d9bbdd5
Fix decompression warning when starting a server
2025-12-09 17:57:02 +01:00
Alug
c19c80d797
command.c: fix "alias" command crashing when no aliases were registered
...
if we dont have aliases list how do we check the next alias in the list aswell?
2025-12-07 21:08:38 +01:00
Alug
a2feaa7fde
dont call I_Quit from within "quit_handler", let it signal main loop to quit
...
fixes an issue for me which led to having the game threads getting stuck when sending an interrupt signal to the game due to some thread issues with the sdl subsystems
shoutout to dsda doom for this
2025-12-07 20:27:57 +01:00
Alug
3cb4e86b48
i_system: "fix" recursive i_quit
...
well this still aint working all to great, but atleast this allows me to quit the game if it gets stuck without having to always send a kill signal to it
copy pasted from what the dedicated build does
2025-12-07 20:24:18 +01:00
Alug
ed758fc921
g_demo: check for maplump existance directly
...
cant really rely on mapheaderinfo to tell us if some map exists or not
2025-12-07 20:23:57 +01:00
Alug
8f3b7158e3
w_wad: kill longname support
...
we dont use it for anything, we also cannot use it for anything.
Due to massive amounts of unterminated string being passed to everything
So we dont need to waste memory and resources
2025-12-07 19:04:36 +01:00
Alug
a191c8b71e
g_demo: screw you LF2_EXISTSHACK
2025-12-07 19:04:21 +01:00
Gustaf Alhäll
3f2e0bd349
Fix memory leak in AATree string trees
2025-12-06 19:40:54 +01:00
Gustaf Alhäll
3bdc745bd1
Fix use-after-free when mobj is removed while still playing sounds
2025-12-06 19:40:49 +01:00
Alug
f578781418
put "string.c" earliest in sourcefile
...
otherwise Windows is unable to find nongnu_strcasestr
2025-12-06 15:45:45 +01:00
indev
0bb63ee0af
Use size_t there
2025-12-06 17:34:05 +03:00
Alug
2ae9563ab3
Menu: fix camera options from within accessability options returning to the main menu
...
really wonky setup, but some other menus do similar things...
2025-12-05 19:13:01 +01:00
indev
6b429e4388
Add locatelump command
2025-12-05 20:35:48 +03:00
Alug
0321b0d94a
m_menu: do some cleanup - replay drawers
2025-12-05 17:29:49 +01:00
Alug
ac57b7fd2d
Menu: show stats for current skin in Time Attack menu
...
+ some cleanup
2025-12-05 17:29:46 +01:00
Alug
7013e63142
Menus: dont advertise encore toggle if its not unlocked yet!
...
this wont do anything anyways besides telling you you havent unlocked it yet
so can just hide it
2025-12-05 17:29:43 +01:00
Alug
b76ce836a0
w_wad: optimize W_LumpExists
...
in two parts:
- Use our lumpcache lookup first (our unordered map), BUT since it is case insensitive we extract our lump out of it to do another case sensitive name compare
- In the manual lump seach falltthrough case, we can also check against the string lenghts and hash (its case insensitive but will still reject differing names, same with stringlenght)
this improves the performance of the leaderboard map browser quite a bit and everything else using v.patchExists
2025-12-05 16:06:13 +01:00
Alug
4e1ef7c0cd
Revert "remove the wonky double tap input for controllers"
...
This reverts commit 9e2fd091a8 .
causes some wonky issues still, will need to look into it more, but for now revert
2025-12-05 15:11:51 +01:00
Alug
fd1e415731
w_wad: use unordered map to cache wad start and end folders
2025-12-05 14:59:55 +01:00
Alug
41c887f2bf
w_wad: comment out fullname lump hash for now
...
its unused and not particulary useful eitherway, save us a few hash generates and a struct field lul
2025-12-05 14:59:51 +01:00
Alug
8091d825d5
w_wad: use our lump fullnamelenght in W_CheckNumForFolderStartPK3
2025-12-05 14:59:47 +01:00
Alug
699113fb25
w_wad: replace lumpnumcache with unordered_map hash lookup
...
needs testing if actually better
but the old lumpnumcache was basically useless due to being incredibly small
even just booting up the game we have around 1000 entries already
this hopefully should still be faster than potentially going through ALL lumps in ALL wads we have loaded to find the lumpnums
not sure if longnames should get any special handling like before, but i dont think it really matters if theyre long honestly
thanks ceepeepeereference for the basis of this
2025-12-05 14:59:39 +01:00
Alug
3996abef36
convert w_wad to ceepeepee
...
prep for smth i might try
2025-12-05 14:59:36 +01:00
Alug
892f2253ea
p_spec: remove hardcoded animdefs table
...
srb2.srb includes an ANIMDEFS file which WILL override this anyways and includes any of these.
so no need to complicate the code with this
2025-12-05 14:58:19 +01:00
Alug
bebe62346f
fix Flat loading code passing non null terminated strings to W_CheckNumForName
2025-12-05 14:58:15 +01:00
indev
834a94e429
Ok i guess we still need old_z2 :ChonkBunckle:
2025-12-05 03:10:41 +03:00
indev
fcf833ff48
Move ghost mobj old_x2 hack into P_SpawnGhostMobj to cover all cases where it would matter
...
ty lug <3
2025-12-05 03:10:41 +03:00
indev
f2a27539d3
Experimental: remove mobj->old_x2, old_y2, etc fields
2025-12-05 03:10:41 +03:00
Alug
05d26654df
p_user: do some tiny cleanups
2025-12-05 01:07:18 +01:00
Alug
cee6a27340
mark debugfile with UNLIKELY
...
this is for debug, and esp network debug which barely anyone ever needs, so can tell compiler better branch hint
2025-12-05 01:07:14 +01:00
Alug
66e35a9d67
k_kart: slightly cleanup driftrelease code
2025-12-05 00:29:31 +01:00
indev
ad096ccd42
Update LUASTUFF.md
2025-12-04 19:21:30 +03:00
Alug
7a9e81828a
forgot to remove this oops
2025-12-04 15:41:20 +01:00
Alug
71e7dacb56
r_opengl: dont set directional light model shader uniforms if we dont use them
2025-12-04 01:26:43 +01:00
Alug
f9c0ee865f
make those ternaries a little prettier lul
2025-12-04 01:23:42 +01:00
Alug
154eaaf027
hw_main: cleanup and simplify HWR_RenderPolyObjectPlane
2025-12-04 01:23:39 +01:00
Alug
66f5f9b2a2
hw_main: handle implicit float conversion cases explicitly
2025-12-04 01:23:36 +01:00
Alug
b27275b887
hw_batching: fix typo in non shader polygon comparitor
...
checked poly1 against poly1 sky
2025-12-03 18:15:30 +01:00
indev
c81c2c1d8d
Add option to show current song credits in pause menu
2025-12-03 15:47:38 +03:00
Alug
7eb2ad1e35
slightly cleanup SV_AddWaitingPlayers
2025-12-02 23:23:41 +01:00
Alug
f49e57a38c
d_cliserv: Cleanup PT_ClientJoin
...
move refuse message handling into its own function
2025-12-02 23:23:38 +01:00
Alug
265f4a50ef
readd check for node before SV_SendSaveGame
...
Apparently in some cases the server will connect to itself, in this case the server tries to send itself the savegame, leading to a crash in some cases. oops
2025-12-02 23:23:36 +01:00
Alug
e83e2659a7
reorder packets again
2025-12-02 23:23:29 +01:00
Alug
c680dd3222
fix some packet types not being correctly handled
2025-12-02 23:23:15 +01:00
Alug
96aaaf5261
merge SendNameAndColor & SendWeaponPref
...
TODO: make a bunch of player specific cvars arrays for splitscreen handling
- also cleanup some strlen usage
2025-12-02 23:23:07 +01:00
Alug
efb29e6be5
d_cliserv: do some cleanups
...
- expose SAVEGAMESIZE
- pass node number to SV_AddWaitingPlayers (saves iterating through all 128 net nodes everytime a player joins) lifted from RR
- move all packet handling to the packet handlers
- Reorder packethandling switches a little, so common/important packets get checked first
- fix wrong clamp for realfirsttic that was too early
- add nowtime division by NEWTICRATERATIO (no change unless ticrate changes)
2025-12-02 23:23:02 +01:00
indev
ccfab57a8c
Add 'time per frame' argument for hud.setVoteBackground
2025-12-02 23:59:02 +03:00
Alug
56d1343f1b
dont call CON_Drawer during frameskip, just call CON_MoveConsole instead
...
fixes the issue at hand, without making the console flicker in gifs
sigh....
2025-12-02 20:49:56 +01:00
indev
b273bc3ca8
Hide localskins menus immediately when option is changed
...
@Alug :blobhug:
2025-12-02 22:12:49 +03:00
Alug
d4f58a885b
add toggle to let console prints show in main menus
...
if you want this for some reason
2025-12-02 20:07:56 +01:00
Alug
04458f18f8
m_menu: fix splitscreen players being unable to change the names from player setup
...
smol oversight :blobcatpats:
2025-12-02 19:43:05 +01:00
indev
64152eea0d
Fix few possible multithreading bugs related to ReplayNamesLoadThread
2025-12-02 20:59:27 +03:00
indev
0e0a690e3c
Print a warning when luaL_resourcetryagain force triggers garbage collector
2025-12-02 20:39:38 +03:00
Alug
f283d3ca43
suppress wrong "-Warray-bounds" warning in G_DeviceLEDTick
...
newer gcc does this for whatever reason, its fine
splitscreen will never call this out of its bounds
2025-12-02 18:40:30 +01:00
Alug
982fff959f
blua: attempt emergency garbo collection on file io operations if they fail
...
ports of
https://github.com/lua/lua/commit/e885dee5ab4dbee2457ee2023340e848fdabdef9
and
https://github.com/lua/lua/commit/3d838f635cc81ec3332f9a904992db1c6d8a46ad
prevents massive memory leaks and other issues due to faulty lua scripts
2025-12-02 18:31:32 +01:00
Alug
b0e968e3c3
raise version number to 9.2
2025-12-02 15:54:53 +01:00
Alug
e5bbb14ce0
replayhut: fix race condition in M_ResetDemoList freeing the demolist vars
...
in rare cases this could free the data the thread is currently using
so we gotta wait for it to finish first
2025-12-02 14:59:12 +01:00
Alug
327cca2e8e
change freecam condition for awayview
...
shouldnt change the behavior much as we wont see anything without a camera, but this is explicit about what exactly is wanted (i.e. thiscam may be null, we only check due to null deref, we only care about if freecam is active)
2025-12-02 12:48:47 +01:00
Alug
e02e9a12d7
ticcmd: replace magic numbers with constants
...
names lifted from RR
2025-12-02 12:48:43 +01:00
Alug
9e2fd091a8
remove the wonky double tap input for controllers
...
finally figured out what occasionally messed up my bound controls lol
why in the world is this even a thing for controllers??
2025-12-02 00:58:18 +01:00
Alug
0a04fca634
remove mlooky, rename mousesens to mousexsens, make mouse y sensitivity not be affected by x sensitivity
...
mlooky basically just took the place of mousey, which did nothing before, but is a better name
2025-12-02 00:55:59 +01:00
Alug
8a3f793324
g_input: init some globals that were missed
2025-12-02 00:43:27 +01:00
Alug
e91892849c
dont let splitplayers 3 and 4 input gamecontrols in the menu
...
oversight lul
2025-12-02 00:43:22 +01:00
Alug
6b4e3c9d13
update saturn credits
...
phew so every line now has two names
otherwise we cannot fit everything and anyone into this anymore
this even allowed to put back the tooltip at the bottom
i still want to redo the credits completely at some point with some cool stuff though
2025-12-01 23:41:27 +01:00
indev
5f55b81fbf
Fix M_ClearMenus being called too early in map command func
2025-12-02 00:51:40 +03:00
Alug
ca68bab002
fix more cases of dangerous PU_PATCH_LOWPRIORITY
2025-12-01 22:31:20 +01:00
Alug
339eb1879e
fix the credits freeing our HUD item patches
...
goddamit i hate PU_PATCH_LOWPRIORITY
2025-12-01 22:24:42 +01:00
indev
1adb49c65c
Fix emotes being slightly offset in chat log
2025-12-02 00:02:55 +03:00
Alug
1d33a05a85
Fix some Serverbrowser issues
...
- Fix serverlist results not being properly reset, which lead to reopening/refreshing the serverlist to show the old state, selecting one of those "old" servers then lead to just connecting to nothing
- Fix the resfresh button making servers disappear if hit too often too fast (from srb2)
https://codeberg.org/srb2classic/srb2classic/commit/3acc312923da0fe5e07c0517d9bff9e8b657b1eb
2025-12-01 21:57:57 +01:00
Alug
cfcd20d44a
G_AdjustViewEx and macro for G_AdjustView
...
neppy likes it more which is fair so we do this too
2025-12-01 21:08:30 +01:00
Alug
204607e272
replays: always check if map is loaded not just in old 1.0 replays
...
cause like, otherwise it will just I_Error which is worse lol
like this we just get thrown back to titlescreen
2025-12-01 21:03:57 +01:00
Alug
b89a8ca6f9
replays: properly throw player back to titlescreen from replay error
...
fixes the game becoming stuck in limbo state if replay fails to start
2025-12-01 21:03:57 +01:00
indev
d4aa352d59
Don't try to open replay if no replays are found
2025-12-01 22:49:36 +03:00
Alug
c489841732
Fix record attack ghosts sometimes crashing
...
due to ghosts occasionally ending to early and game interpreting them as still valid uhhhhh
lets pray this wont explode or cause any weird issues......
credits to RR
REVERT THIS ONCE I GO AND FIXUP THE REPLAY MESS
2025-12-01 20:19:11 +01:00
Alug
a6a97b4c4f
add gdb_history to gitignore
2025-12-01 20:19:03 +01:00
indev
fba070f82e
Expose cameras to lua outside of hud hooks
2025-12-01 21:08:24 +03:00
Alug
10c117f95f
dont reset freecam if the player you are "supposed to be watching" specs in replays
...
this aint pretty, but im too lazy to make it pretty sincerly
2025-12-01 18:23:51 +01:00
Alug
bceda5beb4
dont force awayview when in freecam
2025-12-01 18:23:48 +01:00
Alug
c50c936b1f
remove hwr_shutdown call
...
honestly this didnt help with the issue i had, game should already release all the memory on quit anyways.
this just makes it take longer to quit
2025-11-30 20:28:46 +01:00
Alug
22a6be76b5
OpenGL: fix frustum culling not accounting for spritescales
...
also rename "this_scale" to "thing_scale" to be more descriptive
Fixes the comically large tree disappearing when it shouldnt on "Ethereal Crystal"
2025-11-30 14:47:02 +01:00
Alug
d3d25df3c5
hw_main: cleanup HWR_RenderX stuff a bit
2025-11-30 14:46:30 +01:00
Alug
2a3f9e9ee6
hw_cache:rename some stuff
...
more in line with the rest of the code
2025-11-30 14:45:37 +01:00
Alug
31f01fd5da
Revert "Provide our own SDL2 dll files"
...
This reverts commit 91530c61ad .
i hate windows, i hate sdl breaking with every single update
2025-11-30 14:37:00 +01:00
indev
bb9a4a0da0
Add listemotes command, also fix few emote warnings not printing newlines
2025-11-30 00:36:36 +03:00
Alug
3bac722562
m_menu: cleanup gamepad menu stuff a little
2025-11-29 19:13:12 +01:00
Alug
3769ab74ac
m_menu: move onchages back to m_menu, get rid of nextmap onchange hack
2025-11-29 19:07:01 +01:00
Alug
c3d6cdd272
ensure modelMatrix is initialized
2025-11-29 14:26:08 +01:00
Alug
093602fd6b
comment out unused dynslope member from levelinterpolator_t struct
...
this wont ever work with our thinkerless dynslopes
2025-11-29 14:26:05 +01:00
James R
a80d119c58
Rename strcasestr to nongnu_strcasestr, macro strcasestr ifndef _GNU_SOURCE
...
Fix for GCC C++ compiler, which always defines _GNU_SOURCE.
2025-11-28 18:23:25 +01:00
Alug
1cdc92a62b
HWR_Precache: lookup for flats that already have been precached
...
yes i used c++ unordered_set here, yes i suck with linked lists, lol
maybe speeds this process up a little
2025-11-28 18:07:21 +01:00
Alug
6b8de308b7
HWR_Precache: check against gl_numtextures not numtextures
...
in practice those should mostly be the same but the variable is for gl so
2025-11-28 16:53:12 +01:00
Alug
310e64d8be
OpenGL: add a little more checks during texture free
...
prob not necessary but feels better
2025-11-28 16:53:10 +01:00
Alug
d2d3afc7f4
software: clip sprites that are out of view
...
similar to what the frustum cull does in opengl, clips sprites that are out of view in vertical direction
2025-11-27 22:53:12 +01:00
Alug
c26d2faee9
OpenGL: fixup spherefrustum culling and use it for sprites
...
clips sprites that are out of our view, especially with precip this may lead to significant speedup in certain cases
huge thanks to indev for helping with this <3
huge thanks to dsda-doom for the maths needed!
2025-11-27 22:53:12 +01:00
Alug
1c82c338a5
sprite gzt is float in opengl render........
2025-11-27 18:57:21 +01:00
Alug
c81cd48552
R_ProjectSprite: move fakeflat clipping before light maths
...
so if applicable we have slightly less work
2025-11-27 17:43:40 +01:00
Alug
306f7d455e
tiny optimizations k_kart
2025-11-27 17:43:36 +01:00
indev
dc40befa88
Use I_GetTime for animated emotes, so anim argument in M_DrawEmote is not needed
2025-11-27 18:49:43 +03:00
Alug
2222272d6f
remove more unused/uneeded things
...
- delet hw_dll
- remove sector_t ceilspeed and floorspeed
- remove a bunch of stuff from viewvars_s
2025-11-27 16:49:50 +01:00
Alug
1849d5aade
R_ProjectSprite: make sprite clipping work with sloped fake floors/ceilings
...
from eternity engine
2025-11-27 16:49:47 +01:00
Alug
3878c2f72a
DoAddLine: add fast check for lines with same front and back sectors without middle tex
...
taken from dsda-doom
2025-11-27 16:49:44 +01:00
Alug
7cf3bceaff
HWR_Subsector: avoid calling HWR_AddSprites on already processed sectors
2025-11-27 16:49:41 +01:00
Alug
1e394b0530
pass frontsector ceiling z to R_Prep3DFloors
...
in both cases "R_Subsector" already got the frontsectors ceiling z, so no need to get it again within R_Prep3DFloors
should save some P_GetSectorCeilingZAt per frame
2025-11-27 16:49:38 +01:00
Alug
b09660204a
r_bsp: move polyobj renderside check into R_AddPolyObjects
...
uneeded within R_AddLine as outside R_AddPolyObjects this will never be called if currecnt seg is a polyseg
2025-11-27 16:49:35 +01:00
indev
7b4592377e
Make emote search case insensetive (emotes themself still are case sensetive)
2025-11-27 18:40:52 +03:00
indev
45ba69a45a
Discordify emotes a bit more :chonkbunckle:
...
- When autocompleting emote with enter, don't send it immediately
- Don't autocomplete after typing 1 character after : (allows text emotes like ":c")
2025-11-26 22:56:04 +03:00
indev
4d9c345202
Add support for emotes in console chat mode (and support for emotes in console in general)
2025-11-26 22:45:03 +03:00
Alug
0437952027
mark checkcoord as const
2025-11-26 10:09:55 +01:00
Alug
d188839d0b
move R_QuickCamDist to r_main
...
also mark it with PUREFUNC and R_QuickDist with FUNCMATH, so compiler may optimze it more agressively
2025-11-26 10:09:52 +01:00
Alug
86ac11f877
replace localangle assignments with P_ForceLocalAngle
...
just a little neater, there also was a function to force the player angle, but this most likely wouldve changed behavior
2025-11-25 22:53:30 +01:00
Alug
0f59e0e270
some mobj interp fixes
...
copy pasted from RR thx
2025-11-25 22:53:27 +01:00
Alug
cd32270ec0
. W
...
:mompie:
2025-11-25 20:25:29 +01:00
Alug
f2a7f9ccaa
fix compile with HAVE_DISCORDRPC
2025-11-25 20:21:23 +01:00
Alug
2c2ffe36d7
init a few more globals that were missed
...
i love globals that are in the middle of files.....
2025-11-25 20:15:27 +01:00
Alug
951b880acb
d_netcmd: use cleanup macro for map and localskin command
...
did Command_Map_f really leak memory all the time? lul
2025-11-25 19:19:19 +01:00
Alug
ecfa973e6b
move M_ResetDemoList hack to G_InitNew
2025-11-25 19:19:17 +01:00
Alug
749b87b4ca
bring back addon name scroll that was lost
...
oopsie
2025-11-25 17:46:58 +01:00
Alug
7f671e4e30
clean and fixup addon menu
...
Hopefully should finally fix addons not showing as loaded sometimes and other issues with warning windows being unclosable, etc
lets pray this doesent cause any issues....
add a tickroutine for menus aswell, which will be called in M_Ticker
courtesy of Ring Racers
https://gitlab.com/kart-krew-dev/ring-racers/-/commit/bc9f9d740a0262c249917a37e250ef0209185b12
https://gitlab.com/kart-krew-dev/ring-racers/-/commit/8312f12d6cae934ae8de7e46da231c311f4b4fde
https://gitlab.com/kart-krew-dev/ring-racers/-/commit/6e671d4894e56cd3af09d6e9af2635f030817361
2025-11-25 17:42:01 +01:00
indev
ee0e4836f5
Fix race condition in server list search
2025-11-25 19:06:02 +03:00
Alug
a01cd628ab
do some more cleanup when shutting down graphics system
...
make sure we free all our opengl allocated stuff by calling HWR_Shutdown
make sure we also destroy our sdl texture, renderer and window if the exist
2025-11-25 16:38:19 +01:00
Alug
4a4e668d21
delet more unused/empty sdl stuff
...
I_WaitVBL, I_BeginRead and I_EndReada
2025-11-25 16:38:16 +01:00
Alug
03c579769c
delet some duped declarations
2025-11-25 13:15:53 +01:00
Alug
2e88b6a1dd
fix portal contents being culled erroneously also in software
...
also dont rember commenting those out in gl lul
2025-11-25 02:18:23 +01:00
Alug
5265b147f5
HWR_BlendMidtextureSurface: add extra guard to check linedef alpha
2025-11-24 22:42:53 +01:00
Alug
b4a37a2fa4
fix performance regression in certain cases due to changed polygon order
...
wonky, needs testing as this may slow down other parts
2025-11-24 22:42:50 +01:00
Alug
93eb2b336d
Dedicated: dont create or destroy ANY lua hud drawlist
...
not needed at all in dedi
2025-11-24 21:32:26 +01:00
Alug
30acdca9d3
cache SRB2BACK patch on startup
...
this is used in a bunch of places while being pretty small, so just cache it on start
2025-11-24 21:26:07 +01:00
Alug
677b34c174
dont free PU_PATCH_LOWPRIORITY patches in render_none
...
also dont cache them either!
simply not needed at all
so save us a little work
2025-11-24 21:16:17 +01:00
Alug
b3be7bcedc
Player Infoscreen: if availible, display player names in their skincolor
...
we hijack the playerinfo data field for this, and pray to the kart gods this is unused on the ms
2025-11-24 18:20:00 +01:00
Alug
19c10be76b
R_QuickCamDist & R_QuickDist: turn into function and make it fixed point
...
since we mostly use it in fixed point maths, this just makes alot more sense
moving it into inline functions ensures that in C code this wont evaluate its arguments multiple times
2025-11-24 17:44:20 +01:00
Alug
60222f2f00
R_AllocateTextures: remove "reallocuser"
...
this just does... what Z_Realloc does anyways...
Z_Realloc already zeroes out the new memory it allocates
2025-11-24 17:44:16 +01:00
Alug
34edd0a2e3
some misc cleanups
...
also account for a few more double evluations from min/max macros
and save a few angle to fixed conversions in spb handling
2025-11-24 17:44:13 +01:00
Alug
46b485df14
Server Infoscreen: Show server kart speed instead of "Cheats"
...
effectively almost all servers will get flagges as having cheats enabled, so instead show the game speed
2025-11-24 16:57:50 +01:00
Alug
8d3632caca
ensure all our savebuffers are initialized
...
just some safety
2025-11-24 03:16:50 +01:00
Alug
b5ae9ba733
remove erronous P_RunDynamicSlopes call in P_PreTicker
...
we dont run preticker when we netjoin so.....
2025-11-24 01:03:44 +01:00
Alug
2a823ecd60
move K_KartPlayerHUDUpdate to k_hud
...
how tf did i miss that lul
2025-11-24 00:35:25 +01:00
Alug
940327210f
p_setup: move interpolator reset into P_FreeLevelState
2025-11-24 00:35:23 +01:00
Alug
20a08df1e1
K_PlayerEffectsShouldBlend: also apply when player has invulnerability
2025-11-24 00:30:28 +01:00
Alug
4cf27d40e9
apply additive blending to ghosts aswell when using "playerblendeffects"
...
same conditions as the others
either be in sneakerboost, or go fast enough
2025-11-24 00:28:31 +01:00
Alug
d18c9a257a
remove erronous ";"
2025-11-24 00:15:59 +01:00
Alug
65dc5bb1fd
dont free our titlescreen patches
...
ever...
Fixes a crash when you take ages on server join and timeout due to it.
2025-11-23 22:31:29 +01:00
Alug
e18be33c91
F_IntroDrawer: remove "highres" variable
...
this was ALWAYS true anyways
2025-11-23 22:02:01 +01:00
Alug
9ad6751719
make Controller Rumble strength user changable
...
range from 0.25 to 4
to account for all types of controllers and such
base 1 was set around what felt good on my dualsense, not entirely sure if this is the best baseline to go with
otherwise it could still be adjusted
2025-11-23 18:49:40 +01:00
Alug
86ab994408
G_DeviceRumbleTick: get rid of magic numbers
...
use named constants instead
2025-11-23 18:01:30 +01:00
Alug
21f0d603c3
move gamepad led and rumble tickers into g_input
...
not entirely sure why i placed them in d_main and p_tick respectively
but they should be here
thx neppy for making me question this lul
2025-11-23 17:59:51 +01:00
Alug
971513e7d3
HWR_BlendMidtextureSurface: fix major performance regression
...
big oopsie from my side
this caused textures that werent translucent to be marked with translucent in a bunch of cases, which led to them being rendered in a slower path
2025-11-23 15:47:03 +01:00
indev
03929e551f
emotes: change autocompletion behavior to work like console
2025-11-23 01:31:38 +03:00
Alug
db5ae247b6
LoadMobjThinker: revert faulty local player check
2025-11-22 21:54:54 +01:00
Alug
d46beab34e
fix signed integer overflow in polygon hash calculation
...
also gives a speedup on some maps lul
2025-11-22 21:47:45 +01:00
Alug
9a794232d7
HWR_ProcessSeg: fix cliphigh overflow
2025-11-21 19:51:00 +01:00
Alug
db635e5c5b
K_GetScreenCoords: fix signed overflow
...
why even cast that to signed......
2025-11-21 19:41:46 +01:00
indev
8a105a9679
If there is only 1 emote suggestion and user presses enter, autocomplete emote
2025-11-21 20:39:33 +03:00
indev
46b968a351
Fix autocomplete messing up emote in few cases
2025-11-21 20:34:34 +03:00
indev
a9836307b2
Allow suggesting emotes if currently typed part matches inside emote, not only at beginning
2025-11-21 20:16:19 +03:00
Alug
b6515bb0ae
fix Wimplicit-const-int-float-conversion warning
2025-11-21 15:16:39 +01:00
Alug
b8257e9037
fix memoryleak when searching for iwads
...
I_LocateWad returns mallocd memory that needs to be freed
and our home search does not need a tmp ptr
just do as we did before and sprintf it into returnwadpath
also check home directory before the hardcoded lists like before (might speed up startup a little on nix)
also cleanup iwad search in dedi builds and apply everything there aswell
2025-11-21 14:47:13 +01:00
Alug
416a2565f9
hw_batching: use polygon hash signbit to detect skywalls/horizonlines
...
in comparepolygons
gives a nice little performance bump of around 10-15fps in heavy cases
2025-11-20 17:52:14 +01:00
Alug
fa75ad4cdd
r_opengl: smol micro optimizations
...
not much, mostly just avoiding redoing things
2025-11-20 17:52:10 +01:00
Alug
cedddaadfc
r_opengl: delet byte2float lookup
...
just do direct division
no performance difference at all, but gets rid of that huge ass table
2025-11-20 17:52:07 +01:00
Alug
43ec517cdd
small fixes for gamepad indicator led stuff
...
- skincolors are uint8 type not uint16
- ensure desired colour is within skincolor range
- rename G_GetSkinColor to G_GetSkinColorForGamepad
- replace pointless array with single variable for current color in D_DeviceLEDTick
- remove pointless call to G_GetSkinColorForGamepad when hotplugging gamepads (G_SetPlayerGamepadIndicatorColor will call it itself when 0/skincolor_none is passed)
2025-11-19 23:38:29 +01:00
Alug
495ad5ce06
move this back oop
2025-11-19 22:44:38 +01:00
indev
31ce643311
Check if mobj was actually spawned before setting islocal
2025-11-19 22:07:55 +03:00
Alug
b5c1f21ac1
mark all batching variables with static
...
they are only used within this file, no need to advertise them as global
2025-11-19 18:13:32 +01:00
Alug
86c1b2cbef
simplify the vector buffer stuff
...
honestly doesent make that much sense in most cases to grow capacity * 2 (slightly misunderstood some stuff on implementation)
and in other cases dont need to manually check for resize
2025-11-19 18:12:20 +01:00
Alug
ad828b8f4b
reduce scope of some fps counter vars
2025-11-19 00:26:07 +01:00
Alug
5dda681c8a
clean up some more render float maths
...
- dont use M_PIl in double or float maths
- dont use M_PI in float maths (use M_PIf)
- use tanf instead of tan
2025-11-19 00:26:03 +01:00
Alug
92df8ffe01
remove thread.h include, use "thread_local" for everything
...
we enforce c++ 17, thread_local is a c++11 extension, so this should work everywhere
2025-11-18 22:38:37 +01:00
Alug
2ee8dc09d1
fix opengl portals (and its contents) being culled in some cases they shouldnt be
...
we do culling per our viewmatrix since a while, which wasnt properly set up for portals beforehand and used whatever was last which was then incorrectly applied to portal culling :chaobaba:
2025-11-18 22:38:32 +01:00
Alug
b8f9392efd
delet I_UpdateNoBlit
...
this didnt do anything anymore
2025-11-18 22:38:30 +01:00
Alug
99f1166eb1
p_mobj: check for common mobjs first
...
players first, then kart items, shadows and then some srb2 things that are commonly used
makes more sense to check for all of those first everywhere, so we may skip a crapton of pointless checks in many cases
2025-11-18 16:23:27 +01:00
indev
7ab8bf1bbf
Emotes: only print 'too many frames' warning if we actually get non-empty frame
2025-11-18 12:20:33 +03:00
Alug
a994d7c050
G_DoPlayDemo: fix maybe unitialized warning
...
in this case this wouldve been fine, tho variables using the cleanup macro should always be initzialized for safety
2025-11-17 21:59:21 +01:00
Alug
e46d548080
testing test
2025-11-17 20:23:58 +01:00
Alug
3a7108ecfa
Merge branch 'Saturn' into Saturn-Next
2025-11-17 20:23:23 +01:00
Alug
bcf876a4c4
Merge branch 'Saturn-Next' into Saturn
2025-11-17 17:52:31 +01:00
Alug
8ab15b73a9
raise version to 9.1
2025-11-17 17:05:19 +01:00
Alug
301d73a30e
Merge pull request #213 from Indev450/revertsdl
...
Revert SDL2 to 2.28.5 and revert SDL_Mixer to 2.0.4
2025-11-17 17:26:20 +01:00
Alug
2ef4e7fcba
Merge branch 'Saturn-Next' into revertsdl
2025-11-17 16:00:16 +01:00
Alug
7eb118920f
SOCK_Get: recvfrom returning 0 still means its not a valid packet
...
0 lenght packets means, nothing
0 is still failure, just graceful, ignore that shit, those are not "valid" packets
2025-11-17 15:57:06 +01:00
Alug
2f0588355e
remove old xcode stuff
...
apparently this does not work at all, and instead cmake can be used on macos
2025-11-17 04:56:58 +01:00
Alug
3e6830fc70
remove sdlsound, provide dummy sound instead
...
sdl sound was completely broken, so just provide a blank dummy interface instead, when compiling without sdl or mixer
2025-11-17 04:56:55 +01:00
Alug
2faf859e32
add mapicon packets to packettypename
...
so they properly show in the net debugfile
2025-11-17 04:56:15 +01:00
indev
8c31fd8a34
Allow searching for files inside luafiles
2025-11-17 03:15:23 +03:00
indev
4dd6d52550
Revert "Only skip exclude_paths if we're looking for addons (allows commands like exec find configs in luafiles)"
...
This reverts commit 8524465767 .
Right, -file exists
2025-11-17 03:14:20 +03:00
indev
8524465767
Only skip exclude_paths if we're looking for addons (allows commands like exec find configs in luafiles)
2025-11-17 03:12:00 +03:00
Alug
91530c61ad
Provide our own SDL2 dll files
...
this is plain 2.28.5 like before, but with a fix for the right ALT-GR key backported, so non US layouts can work properly
2025-11-16 22:22:14 +01:00
Alug
89f450db27
Revert "Simplify intermission timer code"
...
This reverts commit ed16c4fd9f .
2025-11-16 21:56:15 +01:00
Alug
3e212ebaad
Revert "Simplify intermission timer code"
...
This reverts commit ed16c4fd9f .
2025-11-16 21:47:21 +01:00
Alug
14af9eb82a
Revert "Merge pull request #204 from Indev450/updatesdl2again"
...
This reverts commit 38bfb58f78 , reversing
changes made to 1fa50e12a8 .
2025-11-16 21:20:31 +01:00
Alug
ed5dbf74f4
Revert "Merge pull request #206 from Indev450/updatemixer"
...
This reverts commit ca3f40ddf1 , reversing
changes made to 38bfb58f78 .
2025-11-16 21:20:26 +01:00
Alug
2bf0a24ab6
Revert "comment out directsound thing"
...
This reverts commit 37cd720dd6 .
2025-11-16 21:20:14 +01:00
Alug
88a9d6c29e
Fix dedicated server build
...
forgor about I_HandleControllerHatRepeat
fixes https://github.com/Indev450/SRB2Kart-Saturn/issues/212
2025-11-16 20:50:15 +01:00
Alug
335b7ba737
Fix dedicated server build
...
forgor about I_HandleControllerHatRepeat
fixes https://github.com/Indev450/SRB2Kart-Saturn/issues/212
2025-11-16 20:50:09 +01:00
Alug
37cd720dd6
comment out directsound thing
...
somehow this still applied on 32 bit build
2025-11-16 19:58:17 +01:00
Alug
a085abe538
remove "stun.c" from sourcefile
...
fixes linking on windoze
will need to handle this in cmake seperately!
2025-11-16 19:58:15 +01:00
Alug
57dc099641
Update README
2025-11-16 19:51:44 +01:00
Alug
84a3503262
comment out directsound thing
...
somehow this still applied on 32 bit build
2025-11-16 16:54:11 +01:00
Alug
5117bf1f85
remove "stun.c" from sourcefile
...
fixes linking on windoze
will need to handle this in cmake seperately!
2025-11-16 16:31:23 +01:00
Alug
d4a29f2a44
this aint testing anymore :3
2025-11-16 17:18:23 +01:00
Alug
6129e7c864
Merge branch 'Saturn-Next' into Saturn
2025-11-16 17:02:58 +01:00
Alug
51371dce80
delet cv_birdmusic toggle
...
stuff was from ages ago, we can just check for the feature toggles instead
2025-11-16 15:27:59 +01:00
Alug
4814088265
mixer_sound/s_sound: remove all the pointless "else"
...
+ some tiny optimizations here and there
2025-11-16 15:27:56 +01:00
Alug
2344c391d2
Renderer: port some texture skewing fixes from SRB2
...
- ffloors on the frontsector in opengl now support texture skewing like software
- alot of cleanups, simplifycation and optimizations
2025-11-16 15:27:36 +01:00
Alug
105267612b
git pls
2025-11-14 15:30:14 +01:00
Alug
69ef78b2e8
Merge branch 'fakeseed' into Saturn-Next
2025-11-14 15:29:38 +01:00
Alug
f4349988c4
smol timing related changes
...
avoid mixing integer maths AFTER casting to float types, even though its all double this may lead to wonky precision issues
I_GetPrecisePrecision now also doesent always call SDL_GetPerformanceFrequency everytime, since its return value will never change since its solely dependant on the platform
and also removing some dead code
2025-11-14 15:12:54 +01:00
Alug
1b42131c6f
remove md5 from sourcefile list
...
we handle it seperately both in make and cmake, having it here just breaks compile
2025-11-14 14:51:04 +01:00
indev
c8db86379d
Merge pull request #210 from Indev450/lua-check-local-addon
...
Automatically check if lua-spawned mobj comes from "addfilelocal addon" hook
2025-11-14 16:50:04 +03:00
Alug
40d2bf816c
Merge pull request #207 from Indev450/controllerfixes
...
Some Controller fixes
2025-11-14 14:47:27 +01:00
Alug
ca3f40ddf1
Merge pull request #206 from Indev450/updatemixer
...
Update sdl2_mixer to 2.8.1 for Windows
2025-11-14 14:47:16 +01:00
Alug
38bfb58f78
Merge pull request #204 from Indev450/updatesdl2again
...
Update SDL2 to 2.32.10 on Windows builds
2025-11-14 14:46:33 +01:00
Alug
1fa50e12a8
hw_main: some smoller optimizations
...
- use sqrtf for fade/tint alpha for shaderless light calc
- save recalcing the cosine/sine from angle on angled flats 3 times in HWR_RenderPlane
- precalc float "int32 min/max "
2025-11-14 13:31:57 +01:00
Alug
f73e616b97
fail loudly if sdl window/renderer/gl context creation fails
...
this will crash eitherways, so much rather get atleast a somewhat more informative error
2025-11-14 12:35:45 +01:00
Alug
fe0ade1d9c
fix some shadowed variables
2025-11-14 06:00:52 +01:00
Alug
1fb60e8230
fix sourcefile for src dir
2025-11-13 19:54:09 +01:00
Alug
efe7009650
PT_ReceivedGamestate: add missing SATURNPAK ifdef
2025-11-13 19:31:33 +01:00
Alug
19a4e379d7
HWR_DoWipe: always draw a black screen if it returns early
...
otherwise this just flashes like crazy should there ever be any issue here
2025-11-13 17:38:45 +01:00
Alug
4e8865d495
cleanup some wonky float/double maths
2025-11-13 17:38:43 +01:00
Alug
dfca24b370
HWR_SkyDomeVertex: tiny optimization
...
save a tiny bit of float division, use float sin and cos functions, handle implicit float conversions
2025-11-13 16:45:57 +01:00
Alug
a4c2fd2414
Merge branch 'Saturn-Next' into updatesdl2again
2025-11-12 19:22:07 +01:00
Alug
aa985823ba
speed up GL_SetPalette "take 2"
...
ensuring bytecolor is packed nd mypalettedata is initialized this seems to now work properly on windows
2025-11-12 19:20:43 +01:00
Alug
b779c9e63d
ensure byteColor_t is packed
...
make sure it is always sized 4 bytes and not padded at all since that is assumed to be the size
2025-11-12 19:04:39 +01:00
Alug
c58e54544d
initialize all remaining globals
...
well atleast all i can find lel
2025-11-12 16:49:44 +01:00
Alug
c080fc8732
GL_UpdateTexture: fix small oversight
...
from when i refactored it
GL_TEXFMT_AP_88 needs to increment the image data ptr even if chromakeyed
2025-11-11 22:39:31 +01:00
Alug
24163a7c92
Merge branch 'Saturn-Next' into controllerfixes
2025-11-11 14:53:40 +01:00
Alug
d934197246
git merge pls
2025-11-11 14:49:11 +01:00
Alug
76747b4677
git merge pls
2025-11-11 14:48:59 +01:00
Alug
5268fc2d19
Merge branch 'Saturn-Next' into fakeseed
2025-11-11 14:42:41 +01:00
Alug
bcd54110d5
only call netkeepalive between calls during gl precache
...
this caused some crashes in blankart, hopefully this is fine though
2025-11-11 14:19:11 +01:00
Alug
83d538b16a
gl_viewludsin/viewludcos is only needed for sprite billboarding
...
which is not needed with shearing
2025-11-11 14:19:08 +01:00
Alug
2a6a7e1d2b
smol optimization R_NoEncore
...
reuse secspecial for invertencore check
2025-11-11 14:19:06 +01:00
Alug
c977c4fc45
initialize most of our global variables
...
just to be safe, not really trusting the game at this point, maybe this helps with some obscure bugs or smth lel
2025-11-11 14:19:02 +01:00
Alug
87e0b55f01
fix windowmoved never resetting
2025-11-09 19:13:49 +01:00
Alug
54f5b5ebfb
enable software cyan pixel "cutting" for flats by default
2025-11-08 12:30:58 +01:00
Alug
b421893646
call NetKeepAlive during ogl precache
...
should prevent timeouts on slower systems (*cough* *cough* windoze *cough*) hopefully
thx neppy for the idea!
2025-11-07 21:28:45 +01:00
Alug
237aeb7834
use early returns for "I_Finish" stuff
...
i like that more, less checks for stuff
2025-11-07 21:28:42 +01:00
Alug
7dbd95d556
Merge pull request #208 from Indev450/deletglseg
...
Remove OpenGL adjusted "segs"
2025-11-06 21:03:38 +01:00
Alug
1e4ba39691
Merge pull request #209 from Indev450/gammastuff
...
Port RR´s gamma correction + split gamma and brightness
2025-11-06 21:02:37 +01:00
Alug
a7805ae3f0
Merge branch 'Saturn-Next' into gammastuff
2025-11-06 21:01:49 +01:00
Alug
325338bfbf
sound precache: add option to keep sounds cached but not precache them
...
ugh i suck so much at explaining
this is the default now pretty much
2025-11-06 20:41:07 +01:00
Alug
01a54e4d0b
delete remaining M_Memcpy that were missed
...
those werent there in lugstuff branch oops lel
2025-11-06 19:15:59 +01:00
Alug
e2df018e38
simplify srb2::floattofixed
...
my tired ass didnt think about just reusing shit kek
ty indev <3
2025-11-06 19:01:25 +01:00
indev
33b62cba33
Push empty string instead of null if len == 0 in lua_pushlstring
2025-11-06 20:44:29 +03:00
Alug
29b4f78b64
lib_concat: fix zero lenght string case
...
continue the loop, not return, it might just be an empty line, so returning might break some luas
0 lenght would make realloc allocate nothing at all, so just skip it
2025-11-06 18:44:36 +01:00
Alug
bce18e3d61
delet M_Memcpy
...
was just a wrapper for memcpy eitherway
so should make no difference other than avoid any confusion
figured i could just use "sed" command lel
2025-11-06 17:37:19 +01:00
Alug
e9c2b982c6
smol cleanup JoyAxis stuff & g_game
2025-11-06 17:37:15 +01:00
Alug
67e1793f49
software renderer: handle some float type related issues with slope drawers
...
there were a bunch of cases where inf and nan float results were casted and used with integer things, which is undefined in c
yes i did use ceepeepee for that crap, cause this wouldve been really annoying without templating
if someone really wants that crap to use outside ceepeepee, feel free to make a bunch of wrappers cause im too lazy for that stuff
2025-11-05 23:41:56 +01:00
Alug
80613a8a49
R_AllocClippingTables & R_AllocTextureColumnTables: fix nullptr arithmetic
2025-11-05 23:04:21 +01:00
Alug
b017a72026
R_DrawPlanes: dont increment garbage ptr
...
does not need to be there at all eitherways
2025-11-05 23:04:18 +01:00
Alug
a7c5254a32
set "-Wno-cast-qual" for clang
...
see comment
2025-11-05 23:04:15 +01:00
Alug
9dd1a47969
fix SINT8 write macro, fix big endian READUINT32 macro
2025-11-05 23:04:13 +01:00
Alug
bbbd42e653
use "offsetof" for skydome vbo offsets
...
silences UBSAN complaining about accessing struct members through null ptr
2025-11-05 23:04:10 +01:00
Alug
2b7f2da5ee
Mipmaps: fix translucent textures turning black
...
i.e. since we allow texture filtering on translucent textures now, the min filter may specifcy one of the mipmap filters, this means we NEED to call GL_GENERATE_MIPMAP and set the LODs for them, otherwise no texture will be generated
alternatively we could do a bunch of special cases for the mipmap filters, but this is simpler
2025-11-02 14:36:08 +01:00
Blue Staggo
23ba827726
Give midtextures filtering without ugly borders + Clean up padding code
...
Couldn't do proper translucent blending on midtextures because of wrapping.
2025-11-02 14:36:04 +01:00
Blue Staggo
326a28ec36
Oops, forgot to disable padding for nearest texture mode
2025-11-02 14:36:00 +01:00
Blue Staggo
19d6a1600e
Optimise padding algorithm
2025-11-02 14:35:56 +01:00
Alug
3095303a4b
Revert "simplify vhs effect interpolation"
...
This reverts commit e26fb91350 .
2025-11-02 14:35:28 +01:00
Alug
2a1807422c
Merge branch 'fastcmpstuff' into Saturn-Next
2025-11-01 23:45:22 +01:00
Alug
4676885521
fixup: replace stricmp with fasticmp
...
actually replace everything correctly
my dumbass forgor about the fast both strcmp and stricmp matter in sort stuff so we cannot use the fastcmp stuff there, which means we should not redifine stricmp as fasticmp in case something relies on that behaviour ugh
2025-11-01 23:45:06 +01:00
Alug
30cea37248
use npow2 screen textures if GL_ARB_texture_non_power_of_two is supported
...
apparently some gl drivers may use a slower path for streamed textures that only get partly updated, this tricks them into thinking this did a "full update" and resulting in using a faster renderpath
2025-11-01 23:42:35 +01:00
Alug
080d3c6b18
Merge branch 'luacvarfixes' into Saturn-Next
2025-11-01 23:38:39 +01:00
Alug
df10855483
fix oopsie that broke name change
2025-11-01 23:15:38 +01:00
Alug
dc6bf05f35
experiment: replace every strcasecmp with fasticmp
...
same as before, tho this is not twice as fast but atleast 1/3 faster
2025-11-01 23:15:26 +01:00
Alug
871545024d
experiment: replace every strcmp with fastcmp
...
did some profiling and in basically every single test fastcmp was twice as fast as strcmp
maybe this speeds up some things
2025-11-01 23:15:21 +01:00
Alug
aeb172f2ab
do some smol cleanup r_skins
...
mostly style fixes, some minor caching for some things
2025-11-01 22:35:34 +01:00
James R
ec757ceb2c
Pass const pointer to all netxcmd handlers
...
Ensure buffer data is read-only and not modified by
handler
2025-11-01 21:21:06 +01:00
Alug
e00783da82
fix stuff from merge conflict
2025-11-01 21:21:03 +01:00
toaster
52a9486974
Remove heinous pointer-sent-over-the-network hack remnants
...
This used to be used for `P_RelinkPointers()`, but was superseded by the far saner mobjnum. HOWEVER, its lingering effect was to leave `mobj->info` in an invalid state until a later `P_FinishMobjs()` was called. This is memory unsafety :D
After removing the last remnants of this ancient hack, it is now once again possible to connect to a server without crashing immediately. However, I did get a crash after a few seconds, so there is definitely still *something* nasty going on under the hood.
2025-11-01 21:20:58 +01:00
Alug
26b26b8f25
consolelib: fix some early returns not properly cleaning lua stack
2025-11-01 21:20:53 +01:00
James R
81f7335b05
Got_Luacmd: always read netxcmd data, even if command is not executed
2025-11-01 21:20:48 +01:00
Eidolon
f603106ac8
Check Lua stack before pushing cons args
...
Prevents a Lua stack overrun when executing absurd console commands for
local-only lua commands.
2025-11-01 21:20:43 +01:00
James R
5675eefeb2
Got_Luacmd: ensure lua stack is large enough for command arguments
2025-11-01 21:20:39 +01:00
Monster Iestyn
1d0fb17da4
Fixes for lib_cvRegisterVar (the Lua version of CV_RegisterVar):
...
* Make sure the consvar's properties are all initialised to zeros as defaults
* Error if the consvar is not given a name
* Error if the consvar has CV_CALL but no call function
* Error if the consvar has CV_NOINIT but not CV_CALL
2025-11-01 21:20:31 +01:00
James R
f53d37052a
Replace LUA_PushLightUserdata with LUA_PushUserdata
...
See c92378fa and a7e20f70. I didn't realize that light
userdata's metatable is shared--like numbers or strings.
So it cannot be paired with a metatable.
I also made a few minor tweaks to Lua cvars, other than
accounting for the double pointer in the userdata.
2025-11-01 21:20:22 +01:00
Alug
cae5e73d7d
LUA_RawPushUserdata
...
"Same as LUA_PushUserdata but don't set a metatable yet."
from RR
2025-11-01 21:20:17 +01:00
Alug
4fccb48d2a
fix wonky variable names
2025-11-01 20:58:04 +01:00
Alug
3e0150d4f3
remove auto/postload check variables
...
we can just check our counts since D_FindAddonsToAutoload will never be called again
2025-11-01 20:53:31 +01:00
Alug
7c1f17bb8d
pass our file counts to W_InitMultipleFiles
...
smol opzimiation, skips some ptr deref
2025-11-01 20:49:03 +01:00
Alug
c8ae4a89d9
throw motion blur effect stuff behind an ifdef
...
so we can get rid of the unused array
prob could just remove it at this point, but maybe ill fix it someday for the funnis
2025-11-01 20:08:36 +01:00
Alug
42b1f849c0
cleanup and optimize startup wad handling
2025-11-01 20:08:33 +01:00
Alug
c0f24ebbbc
postautoloaded can be static
...
not used outside of d_main
2025-11-01 20:08:30 +01:00
Alug
de73c53665
optimize addon autoload handling
2025-11-01 20:08:25 +01:00
Alug
908e073628
removed unused autoload variables
...
M_ConnectMenuModChecks been checking an uninitialized bool the whole time Zzz...
2025-11-01 18:29:10 +01:00
Gustaf Alhäll
eaee95a026
Add -workdir
2025-11-01 18:15:20 +01:00
Alug
456a380e3a
HWR_PrecacheLevel: disable sprite precaching
...
in some cases this may lead to crashes, its mostly useless in gl eitherway due to how colourmapped sprites work
2025-11-01 16:32:27 +01:00
Alug
c428472c6f
dont precache anything ever in HWR_PrecacheLevel if disabled
...
before some cvar callbacks called this unconditionally
2025-11-01 16:32:19 +01:00
Alug
feff5a7c17
make a toggle for using angleturn in replays
...
while this is more accurate to how the player experienced stuff in the actual game, this also can be somewhat jittery and stuttery depending on the net conditions the replay was recorded in, so make this toggable if someone wants it
2025-11-01 16:32:16 +01:00
Alug
ae306351ba
add cv_precachetextures to advanced video options
2025-11-01 16:32:13 +01:00
Alug
03de30df3e
SV_StopServer: reset textcmdbuf
...
fixes an issue where in some rare cases, the game may get stuck in a weird limbo state due to the text command buffer being full and never be cleared, so net commands can never be executed
2025-11-01 03:01:40 +01:00
toaster
e45c72f525
SV_StopServer: Use G_SetGamestate instead of a direct write
...
An apparent oversight identified while working on the previous commit.
2025-11-01 03:01:17 +01:00
Alug
36c43d89e6
GL encore: use struct for encore texture handling
...
struct with two sets of maptextures, one for normal another for encore textures
functionally identical, hopefully also performancewise
more explicit than doing this with just one set and indexing stuff :bloblcatpats:
2025-10-31 15:10:39 +01:00
Alug
f34a47c50d
HWR_PrecacheLevelFlats: only run flat encore case when having an "encoremap"
...
not when its just encore mode
might save some time on some maps, as we dont need to check for remapping
2025-10-31 15:10:32 +01:00
Alug
24895874ed
UDP_Bind: check socket send buffer size aswell
...
if to small than adjust, like receive buffer
2025-10-30 18:04:04 +01:00
Gustaf Alhäll
129f88b6a7
Fix buffer underflow when querying invalid nodes
2025-10-30 18:03:47 +01:00
Alug
cb5c4e482e
SOCK_GetAddr: freeaddrinfo does not need to be called on getaddrinfo failure
2025-10-30 18:03:43 +01:00
Alug
db2062ed1d
some i_tcp fixes
...
- SOCK_Get return true when receiving good packet from a lan player
- SOCK_GetAddr fix handling of ipv6 addresses, so ipv6 servers can be found in the serverlist
taken from srb2/classic
2025-10-30 18:03:38 +01:00
Alug
45ee50b47d
remove reduntant stuff from D_ClearState and G_StopDemo
...
we only need R_ExecuteSetViewSize from splitscreen_onchange, the rest doesent do anything due to SV_StopServer call earlier setting cl_mode to CL_ABORTED
SV_StopServer also calls Y_EndIntermission and Y_EndVote if necessary
2025-10-28 01:21:38 +01:00
Alug
694a8eeb69
P_TryMove: save one R_PointInSubsector call per player
...
by reusing the special sector calculated earlier, this didnt change for when its checked another time
also one fixedmul in P_SceneryTryMove in some cases
2025-10-28 00:50:02 +01:00
Alug
908bba2c8a
rename subsector variable in P_TryCameraMove to be more descriptive
2025-10-28 00:49:58 +01:00
Alug
7325c8dbfd
Merge branch 'Saturn-Next' into fakeseed
2025-10-28 00:02:35 +01:00
Alug
88363cf45d
add NOHOLEPUNCH flag to disable holepunch entirely
2025-10-27 22:58:42 +01:00
Alug
e5c18ae1f1
update ms listing if fakeseed was changed
2025-10-27 22:47:18 +01:00
Alug
4bb5b8fa04
add "Fake Seed" system
...
allow sending a fake player to the ms and serverbrowser when your dedicated server is empty
effectively functioning as a "seed" player without manual intervention and occupieng a server slot
2025-10-27 22:24:21 +01:00
Alug
509e7140e3
use strlcpy for filling playerinfo names
...
MAXPLAYERNAME+1 so it copies 21 and null terminates the last
2025-10-27 21:21:39 +01:00
Alug
056f919bbe
DrawTiltedSpan: more micro optimize
...
- do pointerdiff outside the loops, no need to do them 16 times per span
- cache tiltilighting and planezlight, mark as const and restrict
2025-10-27 00:56:21 +01:00
Alug
548cad76b2
drawspan: some type fixes, mark const and reordering
2025-10-26 14:05:12 +01:00
Alug
95d8864faa
fix software hiding the wrong thing in video options
2025-10-26 02:19:35 +01:00
Alug
e26fb91350
simplify vhs effect interpolation
2025-10-25 22:32:58 +02:00
Alug
da67f6feb8
rename most "gamma" vars to "brightness"
...
lots of confusion
but it does more brightness adjustment than gamma adjustments, yes this does some gamma correction but not user changable global gamma adjustments like globalgamma
uhhh
2025-10-25 22:21:37 +02:00
Alug
8cc73bc482
Port RR´s gamma correction + split gamma and brightness
...
port of https://gitlab.com/kart-krew-dev/ring-racers/-/commit/e27506c660933e19dbcfe9ec776caf7819952e30
not cherry picked since it differs too much it would be hellish to untangle (sry!)
Gamma is split from brightness since both do somewhat different things in the context here
2025-10-25 22:21:19 +02:00
Alug
28685ea658
fix some tooltips issues, wording and inconsistencies
...
fbo also now supports from gl 2.1
2025-10-25 20:39:01 +02:00
Alug
a69df8807d
fix some messed up whitespaces lel
2025-10-24 21:57:57 +02:00
Alug
d4a130f1dc
remove those memsets
...
not needed anymore now
2025-10-24 18:40:29 +02:00
Alug
8ccf4eb9ba
this can be alot smoler
2025-10-24 18:40:25 +02:00
Alug
cdb7b6fede
initialize input events to something
2025-10-24 18:40:21 +02:00
Alug
fcae072625
refactor controller dpad menu repeat handling
...
dont hack around manually checking for state checks
just use sdl provided stuff and poll if a dpad button currently is being held
2025-10-24 18:40:18 +02:00
Alug
26fc417555
forgor about localskin menu
...
Zzz....
2025-10-24 16:09:53 +02:00
Alug
bb3dd435f0
oop didnt mean to move this
2025-10-24 15:49:40 +02:00
indev
16a531272f
Skip repeating backslashes in HU_DoCEcho when printing to console
2025-10-24 16:36:50 +03:00
Alug
ba5b79e48a
dont double print kitchen sink message to log
...
we already handle this in HU_DoCEcho
2025-10-24 15:37:11 +02:00
Alug
59470ddbd4
fix oob access in D_SetupVote
...
check if luamaps was set before
2025-10-24 15:37:08 +02:00
Alug
82c4191516
Revert "SDLSetMode: render immediately after resolution change to avoid 1-frame of texture presented at wrong size"
...
This reverts commit 0e2ffdeb1d .
2025-10-24 04:09:43 +02:00
Alug
8a305d3c79
move those to D_ClearState
2025-10-24 03:47:59 +02:00
Alug
7c507c7b3b
do some cleanup g_demo
...
:shook:
use the CLEANUP macro everywhere
init some things that may not be initialized
and make this more readable
lets hope didnt break anything Zzz...
TODO: if there are still issues with demo records and stuff crashing might consider porting some of the fixes from RR
2025-10-24 03:44:56 +02:00
Alug
ca27dad6c1
use D_ClearState in G_StopDemo
...
actually fixes issues with crashes AND palette reset
also resets a bunch of more stuff which def is good
2025-10-24 03:44:53 +02:00
Alug
383d55cac6
smol cleanup V_DrawVhsEffect
...
dont need to assign all the software stuff in gl mode
2025-10-24 03:37:45 +02:00
James R.
0e2ffdeb1d
SDLSetMode: render immediately after resolution change to avoid 1-frame of texture presented at wrong size
2025-10-24 01:55:20 +02:00
Alug
b84d101337
initialize sdl window,renderer and texture to something
2025-10-24 01:55:17 +02:00
indev
eb04271c83
Actually try to do this with hooks
2025-10-23 22:52:03 +03:00
Alug
852aa74d62
random style fixes and stuff
2025-10-23 21:01:20 +02:00
Alug
aa06459c09
set special case for console key when using native keyboard input
...
ALWAYS make sure that remains in the same physical place
otherwise things might get very annoying
it already does so with my german layout
2025-10-23 21:01:20 +02:00
indev
54e7ad571e
Check if mobj is spawned from local addon in most of lua_baselib functions related to mobjs
2025-10-23 22:00:46 +03:00
Alug
1d3dae01e9
set SDL_HINT_AUTO_UPDATE_SENSORS hint to 0
...
we dont need any of that so disable it
2025-10-23 20:58:01 +02:00
Alug
736a626ccf
init joyinfo in I_InitJoystick
2025-10-23 20:57:58 +02:00
Alug
a4cc8b0585
keep track of joystick instance index
...
means we dont constantly need to refetch it
needs testing on windoze
2025-10-23 20:57:55 +02:00
Alug
333c94be52
clean up controller dpad input handling
...
just treat them as "normal" buttons instead of manually polling for them
alot cleaner and gets rid of yet another polling loop
also clean up some other stuff
needs to be tested with multiple controllers in splitscreen but cba to do that atm
2025-10-23 20:57:52 +02:00
Alug
6f17ed0883
Merge branch 'Saturn-Next' into updatesdl2again
2025-10-16 15:07:54 +01:00
Alug
02d6fccfa9
Merge remote-tracking branch 'origin/Saturn-Next' into updatesdl2again
2025-10-10 16:40:05 +01:00
Alug
0ceaca4b2f
Merge branch 'Saturn-Next' into updatesdl2again
2025-10-03 22:43:29 +01:00
Alug
af9fa77501
update SDL2 to 2.32.10
...
Fixes keyboard input issues for certain languages when using the "native" keyboard input setting
probably fixes some other issues aswell
needs regression testing
2025-10-03 21:29:26 +01:00
Alug
21920112ee
a thousand curses upon you polyobjects!
2025-10-02 18:37:18 +02:00
Alug
9b7bf5e7d8
Merge remote-tracking branch 'origin/Saturn-Next' into deletglseg
2025-10-02 18:00:59 +02:00
Alug
524168b20b
experiment: remove opengl adjusted segs
...
in theory this should improve levelload times and reduce memory usage?
gotta see if it really does, visually so far there seems to be no difference at all
2025-10-02 17:57:52 +02:00
Alug
2049353647
move this out of maptitle condition
...
it does not rely on it and may even fail
idk why i threw it in there
2025-07-27 15:11:07 +02:00