Compare commits

..
3146 Commits
Author SHA1 Message Date
Alug b59a54c61b change version string lul 2025-05-21 10:37:20 +02:00
Alug 42011f23b4 fix type mismatch for netUpdateFudge 2025-05-20 21:59:29 +02:00
Alug 7e6d31627e make savestate bit bigger lel 2025-05-20 21:58:11 +02:00
Alug a39ab80a77 no need to save those 2025-05-20 21:53:34 +02:00
Alug 18adf0ab32 oop 2025-05-20 21:36:57 +02:00
Alug 3ebfb353e1 more stuff 2025-05-20 21:34:22 +02:00
Alug 7769b0e0eb Revert "store last ticcmd in a buffer"
This reverts commit 9474142aca.
2025-05-20 21:18:48 +02:00
Alug b549aa6f53 this breaks horribly 2025-05-20 20:45:13 +02:00
Alug bd4103a2ed fix sound? 2025-05-20 20:42:32 +02:00
Alug 2e07f0be92 delet unused cvars 2025-05-20 20:41:26 +02:00
Alug 87eddd70af Merge remote-tracking branch 'origin/netshit3' into netshit3 2025-05-20 20:34:56 +02:00
Alug 7034bc6fb3 fix some hashtable warnings 2025-05-20 20:34:48 +02:00
indev 28cfdf8c23 Fix hud not ticking even outside of netplus simulations 2025-05-20 21:28:00 +03:00
Alug 00f24b8841 add P_SPMAngle hack 2025-05-20 20:25:08 +02:00
indev 8b706be4ba Port con_muted 2025-05-20 21:18:46 +03:00
Alug eb5d271dc4 this too 2025-05-20 20:20:37 +02:00
Alug fe107331fe delet this 2025-05-20 20:17:40 +02:00
Alug 51bac6418f clean up p_saveg 2025-05-20 20:13:25 +02:00
Alug 598344fb62 ok just dont touch the lua archive ig? 2025-05-20 19:05:43 +02:00
Alug c1690cc3a0 more shit 2025-05-20 19:02:40 +02:00
Alug d6ea4109ec make this actually do smth lel 2025-05-20 18:59:32 +02:00
Alug 9f634046e5 add hashtable shit 2025-05-20 18:53:45 +02:00
Alug 50af7630e9 smol fixes ig 2025-05-20 18:30:19 +02:00
Alug b30ff1db0e make this "work" 2025-05-20 18:00:56 +02:00
Alug a18662ebce we dont need to allocate a savebuffer, we just use the savestate one 2025-05-20 17:32:02 +02:00
Alug 3cd6fe4e34 tic_frequency 2025-05-20 16:14:50 +02:00
Alug 0b9ac05fbe netplus more like netminus
this is such a mess holy fuck
2025-05-20 15:52:05 +02:00
Alug 7b7028be6a we may fixed the double free, but now we fix the ghost hitlist also crashing 2025-05-19 20:00:54 +02:00
Alug 6f8e28bda8 setting gamestate attempts to 0 should disable saturn resynch and setting resynchattempts to 0 should disable vanilla resynch 2025-05-19 16:27:35 +02:00
Alug 11938e343b oop this was always true effectively 2025-05-19 15:59:50 +02:00
Alug 471d7981c4 Merge remote-tracking branch 'origin/votebgscaling' into lugstuff 2025-05-19 15:59:46 +02:00
Alug a729279224 try fixing some crash with bogus netxcmds 2025-05-19 15:59:41 +02:00
Alug c0f7780709 readd player var to lib_pDoSuperTransformation
otherwise this may desynch?
2025-05-19 15:48:20 +02:00
Alug 38cbdac05a lugstuff thing 2025-05-19 15:26:43 +02:00
Alug 128da9b687 even more random cleanup 2 2025-05-19 15:26:19 +02:00
Alug 5bf5172310 delet old tools
they dont work anymore anyways
2025-05-19 00:22:00 +02:00
Alug f422a81d46 delet dummy 2025-05-19 00:21:43 +02:00
Alug 6b0e55d42f random cleanups
note: 2d camera didnt work anyways
2025-05-18 16:44:09 +02:00
Alug 38ce112e5c stoopid gaame 2025-05-17 14:51:24 +02:00
Alug d9c7f55270 pressing the freecam toggle while spectator now moves your camera to startposition
just to quick and easy return to the map if youre really far off
2025-05-17 13:56:09 +02:00
Alug 2b03311fe9 make this switch slighty prettier 2025-05-17 03:47:14 +02:00
Alug 361621a46a fix 3d models rollangle on gravflip
idk if this is correct, but it works lel
2025-05-17 03:47:01 +02:00
Alug d8f75f5cf4 make ogl screenflip stuff directly assignable
those dont need to be seperate bools lel
also simplify the assignment aswell
2025-05-17 03:46:41 +02:00
Alug 36349c2770 ok even more cleanup for animvote check 2025-05-16 14:22:03 +02:00
Alug 2c0d131cab even more tiny cleanup votebg stuff 2025-05-16 14:15:19 +02:00
Alug 9feda4d22d Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2025-05-16 13:42:46 +02:00
Alug fa20199ead Revert "those appear to do nothing"
This reverts commit 5f40ff5a03.
2025-05-16 01:30:19 +02:00
Alug 36566091aa make addon warning not print "(null)" if there is no refreshdirname
kinda lazy way but shrug
2025-05-15 21:40:48 +02:00
Alug 1a1466ec67 macrofy redundant splitscreen menus
joystick and camera menus to be specific
2025-05-15 04:12:40 +02:00
Alug 268bce79bd move paletterender walllight stuff into HWR_CalcWallLight
just slightly cleaner
2025-05-15 01:26:04 +02:00
Alug 19c1d2438e HWR_UsePortals 2025-05-15 01:24:36 +02:00
Alug 2dcb35da21 those appear to do nothing
free performance ig?
2025-05-15 01:23:44 +02:00
Alug 7747af9e9f change gamepad powerup led behavior
it will instead always take the players mobj color, this makes it indirectly support things like acrobatics and the colourized banana snipe
also just makes it a value for cv_gamepadled instead of its own cvar
2025-05-14 19:28:06 +02:00
Alug 6bdd2b2397 delet some clutter in screen.c 2025-05-14 16:35:36 +02:00
Alug e95db0c7e8 fix copy paste error oops 2025-05-14 16:09:59 +02:00
Alug efcd8dacfe make votebg scaling behaviour changable 2025-05-14 16:06:15 +02:00
Alug 06124deab9 make an adaptive votescreen patch scaler
attempts to first fill the screen horizontally, if the screen is not filled vertically like that, it will then change the scaling to fill the screen vertically
like this effectively every votebg fills up the screen and accomidates most bgs that added padding for the weird vanilla behaviour
TODO: make the behaviour switchable
2025-05-14 15:51:41 +02:00
Alug 0f0195d35b Make votescreen backgrounds resolution and dup independant
also some slight cleanup
currently this scales vertically to fill out the screen vertically
not sure if horizontally would be preferred, but thatd most likely cut off alot of parts from some votebgs
2025-05-14 02:09:32 +02:00
Alug 0695806ee9 dont allow changing grid sorting with item if item button is also enter 2025-05-13 22:38:03 +02:00
Alug a1c34cab1a Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2025-05-13 05:33:19 +02:00
Alug 0fa702c471 disable this 2025-05-13 04:56:15 +02:00
Alug 70f41cf221 clamp screentexture size to maximum supported texture resolution
also moves everything into GL_SetModelView again
also means screen texture sizes wont be recalculated every frame anymore
2025-05-13 04:07:48 +02:00
Alug 78547ba931 fix replay saving during intermission with manual save 2025-05-12 06:12:11 +02:00
Alug 49de45d736 fix minimap angle display in encoremode 2025-05-11 18:47:19 +02:00
Alug 7085ac3392 fix smol oopsie for colourized speedlines 2025-05-11 17:40:17 +02:00
Alug fce86135c0 fix oob write when map has playerstarts for 32 players
playerstarts is MAXPLAYERS big, which is 16 for us
2025-05-11 17:12:00 +02:00
Alug d9052fff97 add "nofork" parameter
to disable process forking
might be useful for gdb and perf
2025-05-11 17:11:51 +02:00
Alug 03fff05f6c change colourized speeline behaviour slightly
"driftonly" will tone the lines completely instead of alternating between blue and driftcharge
"normal" will completely colourize speedlines in the player colour
2025-05-11 17:11:47 +02:00
Gustaf Alhäll 1a91adc5c1 Fix off-by-one buffer overflow when getting LUT 255 2025-05-11 17:11:21 +02:00
Alug f626e9e06b fix 3d models tanking performance to hell 2025-05-11 01:22:44 +02:00
Alug 983974821c make this check like vanilla did 2025-05-11 00:33:39 +02:00
Alug f4af9fd394 unlock everything when using modkartdata save
doesent make too much sense having to unlock everything again when playing mods
2025-05-10 23:42:53 +02:00
Alug b34dd7745b delet the discord stuff
was abandoned anyways
2025-05-10 22:04:42 +02:00
Alug 2728fbdd46 delet this 2025-05-10 21:59:05 +02:00
Alug 6bfb448de1 dont check for how many controllers just attempt to reset "all"
JoyInfo->dev will be null
The crash before was most likely due to an oob read
2025-05-10 21:37:16 +02:00
Alug b8839896c6 fix saturn menu 2025-05-10 19:17:39 +02:00
Alug df66651356 fix typo in rumble reset 2025-05-10 18:59:27 +02:00
Alug 6653b5ab6c Revert "skinlocal deez nuts"
This reverts commit 12ec3d11a2.
2025-05-10 18:56:24 +02:00
Alug 7373ebe0b2 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2025-05-10 16:39:14 +02:00
Alug 5ac2dc29b1 delet netticbuffer hax 2025-05-09 16:46:58 +02:00
Alug 8bed3915e4 kill this kill this with fire 2025-05-09 16:27:38 +02:00
Alug 296cec0b0c Fix controls getting stuck when opening the pause menu
https://git.srb2.org/Hanicef/SRB2Classic/-/commit/ed53d96430dedac42b288bd6a5ca8152e6e6acc4
2025-05-09 15:07:49 +02:00
Alug 8a93a79fc7 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2025-05-09 01:50:06 +02:00
Alug 0df7c2a1e2 cleanup dpad scroll stuff even more
mostly just to make this more readable
2025-05-08 10:24:03 +02:00
Alug 5d2ea9d7a3 tiny cleanup p_enemy 2025-05-07 20:51:40 +02:00
Alug bd653785c2 dont keepmusic music that is not flagged as keep on death
uuuuuggggghhhhhhhhhhhh
2025-05-06 22:06:33 +02:00
Alug e7b9a28d70 fix music fade crash fix breaking music fades on very new sdl2 versions
man
2025-05-06 21:50:34 +02:00
Alug e4aab9128e dont have acp1 anymore 2025-05-06 19:40:22 +02:00
Alug a69e03310e Revert "optimize MT_TUBEWAYPOINT"
This reverts commit 3d0ac03f06.
2025-05-06 19:35:10 +02:00
Alug eb9fdf1fdc dont free item patches at levelload lol 2025-05-06 17:37:48 +02:00
Alug 63ca42d12c Merge remote-tracking branch 'origin/lugstuff' into lugstuff 2025-05-06 17:08:41 +02:00
Alug a502633f76 call M_ClearMenus in D_StartTitle 2025-05-06 17:08:24 +02:00
Alug 23b194eaa8 why is this still here?? 2025-05-06 12:26:46 +01:00
Alug ce92b30119 fix 32bit windoze compile
everything needs time.h idk why it never errored out before lol
2025-05-06 12:24:13 +01:00
Alug 2adffd32ea test: try prevent synch issues when p_setscale gets called on mobj spawn 2025-05-05 20:30:34 +02:00
Alug 94a5c1fe31 fix the fast pointonsides 2025-05-05 12:50:14 +02:00
Alug 33c9184fed Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2025-05-05 12:49:30 +02:00
Alug 7d12ceae74 attempt to cleanup p_mobj a little 2025-05-04 02:49:57 +02:00
Alug 12ec3d11a2 skinlocal deez nuts 2025-05-04 01:35:35 +02:00
Alug b1c94a0885 remove redundant mobj null checks
P_MobjWasRemoved already checks this anyways
2025-05-04 00:52:25 +02:00
Alug 3614867f30 compeltely forgor about this one lel
was here before we had blendmodes
2025-05-04 00:51:10 +02:00
Alug ae19383ee0 simplify this slightly 2025-05-04 00:47:11 +02:00
Alug 75e367372c print previously supressed warnings into log instead of console 2025-05-03 23:16:16 +02:00
Alug 620f5a40d4 dont mindelay when record attacking
theres a few places that do not "lag compensate" at all in RA so this would completely mess things up
2025-05-03 23:10:34 +02:00
Alug a834bc6c05 smol cleanup m_perfstats 2025-05-03 20:44:38 +02:00
Alug 80b35cdefb properly fix mobj action stuff for c23
thx hanicef!
hope i didnt screw anything up in info.c
2025-05-03 20:27:08 +02:00
Alug 196501ae66 fix windoze boolean 2025-05-03 18:56:35 +02:00
Alug 76503edfeb add USELTO and USEASAN make flags
to compile with LTO or Address sanitizer
2025-05-03 17:21:31 +02:00
Alug b1d8930b5a FIXUP make code c24 compliant
this needs to be tested on other platforms
2025-05-02 12:50:41 +02:00
Alug 0ae6f8fa16 forgor casting this 2025-05-02 11:12:04 +02:00
Alug 9ce917feee let squishy speed be player choosable
idk why i just didnt do that lel
also adds stuff to the menus
2025-05-02 10:53:36 +02:00
Alug 7becd7a3d2 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2025-05-02 10:36:29 +02:00
Alug acbcdedfa0 fix conlict 2025-05-02 10:29:25 +02:00
Alug 0ab8fa25e2 that needs to come before old_ stuff gets reset 2025-05-02 10:22:58 +02:00
Alug f5b96eead2 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2025-05-02 10:21:19 +02:00
Alug fcdceb53d7 force c17 with gcc 15 for now
dont feel like porting stuff over to c24 or whatever for v8 so just force c17 so ppl can still compile
2025-05-01 00:33:05 +02:00
indev 2ddb1ab56c Attempt to fix game freezing on windows when moving game window 2025-05-01 00:33:02 +02:00
Alug 0ab0ced3d3 tiny more cleanup screencoord stuff 2025-04-30 14:55:53 +02:00
Alug 47dcf7d1a8 delet this 2025-04-29 22:18:09 +02:00
Alug 51f2dd6275 merge stuff from next 2025-04-29 21:54:38 +02:00
Alug 0b077a9a8d raise cmake minimum requiered to 3.5 2025-04-29 21:13:35 +02:00
Alug 5ab1a65bab delet old high color software stuff 2025-04-29 21:13:31 +02:00
Alug 1d7851d32f add ogl wireframe mode lul
might be useful for some stuff
can finally see the war crimes done by the renderer
2025-04-29 10:13:19 +02:00
Alug 489b4157d2 tiny more cleanup speedometer stuffs
put check for color speedo into a function
and precalc the xtra 3 scale
2025-04-28 17:47:22 +02:00
Alug 2d8d14dcc5 move doaddline block
slightly better branching since maps with portals are very uncommon in kart
2025-04-28 11:29:35 +02:00
Alug 1c8a0006f0 skip rechecking for horizonlines when reloading gamestate
map remains the same during desynch, so safe some time
2025-04-28 11:19:47 +02:00
Alug c722523d40 another tiny cleanup p_setup and p_saveg 2025-04-28 09:55:10 +02:00
Alug b8434e0d1e fix replay ghost double free
kinda rare, but may happen when you resynch on the exact same time you got hit by something
2025-04-27 13:14:52 +02:00
Alug 3ff9a75a8f delet tic resending stuff 2025-04-27 06:50:35 +02:00
Alug e2944412b4 change ticqueue system to be more like srb 2.2
mostly just renaming lel
2025-04-27 06:47:26 +02:00
Alug e7ff735e93 tiny optimization
we dont need to recalc the bpm stuff
we can also divide the bounce in half just once
2025-04-27 00:57:43 +02:00
Alug da0b714c92 make a struct for squishy
this is horrid but should fix this speeding up when multiple players squish
2025-04-27 00:24:52 +02:00
Alug 37146b4c3d no thx i will use memcpy
lel
2025-04-25 21:34:21 +02:00
Alug b56a7bd4ba add a few more branching hints
also fix some indentation
2025-04-25 21:34:02 +02:00
Alug 1c52de67d5 invert skywall offset
also fixes the issue, but doesent draw skywalls over actual walls in rare cases
lets hope this doesent draw walls over actual skywalls now (:
2025-04-25 21:33:08 +02:00
Alug e42e029d61 whitespace crap 2025-04-25 15:02:36 +02:00
indev 6db017ff1a Don't free PU_SPRITE memory, since it invalidates some lua patches if they are using sprite frames 2025-04-25 11:47:15 +02:00
Alug b5a5c7d4f2 take mobjscale into account when skipping small sectors for precip spawn 2025-04-24 13:11:09 +02:00
Alug d79c59f6f3 put precip purge into a function
to reduce code dupe and branching
2025-04-24 13:02:26 +02:00
Alug 40a7c08851 fix spectator key lel
oopsie
2025-04-24 09:42:01 +02:00
Alug 07c090d40d oops didnt think addskins would be used here lel 2025-04-24 09:21:11 +02:00
Alug 9bc010f670 attempt at cleaning up gamecontrol splitscreen shit 2025-04-24 09:13:14 +02:00
Alug 11f7ecba5f cleanup G_Responder
man
2025-04-24 08:58:05 +02:00
Alug 6d458f2960 memset those 2025-04-24 08:27:11 +02:00
Alug aad83a3a9b fix potential crash on startup
thx hanicef
2025-04-24 06:56:57 +02:00
Alug d1ba4c61d7 deprecate "addskins" command
"addskins" is an incredibly ambigous name since its main purpose was to add skins LOCALLY
just prints a notice for now since there may be ppl that still use it
2025-04-24 06:56:35 +02:00
Alug f255374a9d skip checking skin array if localskin was found in localskin array 2025-04-24 06:54:22 +02:00
Alug 635481ea90 just mark it like this 2025-04-24 06:46:41 +02:00
Alug 290deef444 missed removing this 2025-04-24 06:42:50 +02:00
indev baefb4d0b0 Remove I_Assert in GetItemId in lua_hudlib_drawlist.c
It is legal for lua_getpc to be null (thanks GenericHeroGuy for investigating!)
2025-04-23 19:54:22 +02:00
Alug 0ce8c55ab3 check ceiling first in encore flat precaching
no clue why but this fixes the sides of the road on ORR not being encore remapped
2025-04-23 19:54:17 +02:00
Alug e064e4d13d port RRs improved paranoia thinker/mobj prints
https://git.srb2.org/KartKrew/RingRacers/-/commit/509a023329ea1cd583c500a3287c488e5ee3e3a6
https://git.srb2.org/KartKrew/RingRacers/-/commit/17aaf178d587970a3a845aa6c2f3807077996a77
2025-04-23 16:01:27 +02:00
Alug bb26a33889 fix P_RemoveSavegameMobj triggering assert in P_UnlinkThinker 2025-04-23 13:45:47 +02:00
Alug 4c15826848 nooo PARANOIA dont set our thinker next pointer to NULL 2025-04-23 13:21:10 +02:00
Alug 91301ffdcb we have a global to check if config was loaded 2025-04-23 13:10:07 +02:00
Alug baed5fb5de fix cv_set being called for allowsaturnjoin before its registered 2025-04-23 13:09:03 +02:00
Alug 31122a6f34 add P_DivlineCrossedFast
to take more advantage of P_DivlineSideFast
2025-04-23 11:39:54 +02:00
Alug 95ac0796f8 lugstuff needs this 2025-04-23 11:39:27 +02:00
Alug df33fbcdd7 delet bunch of stuff 2025-04-23 11:30:21 +02:00
Alug ac7e298c42 try to fix skywalls zfighting
just apply a small polygonoffset to them
lets hope this is small enough so they dont end up rendering infront of actual textures and such
2025-04-23 00:17:31 +02:00
Alug 9fd20af939 reset palette cvars when toggling paletterendering
everything gets wiped anyways, so this would be just confusing
2025-04-22 22:10:49 +02:00
Alug 8960804f1c fix cloud tops palette not applying 2025-04-22 21:52:46 +02:00
Alug 6437c5a861 smol cleanup z_zone 2025-04-22 20:13:28 +02:00
indev 600e824c63 Don't resume music when game is paused (happens when you pause -> lose window focus -> regain window focus) 2025-04-22 19:26:30 +02:00
Alug 5977574270 simplify cmpack 2025-04-22 19:23:16 +02:00
Alug 1234511304 let saltyhop work without gravstretch 2025-04-22 09:27:40 +02:00
Alug 7784bc6d0d remove Z_ChangeTag hack
needs some testing
but patches have their own purgetag now
2025-04-22 09:27:07 +02:00
Alug 638b3757c8 move playeringame to player struct
credits hanicef for that idea
2025-04-22 09:26:27 +02:00
Alug 9474142aca store last ticcmd in a buffer
https://git.do.srb2.org/Hanicef/SRB2Classic/-/commit/fe663f799e733e9a59a95dfd561e506571838554
2025-04-22 09:21:33 +02:00
Alug cf391fb346 add cv_palette and cv_palettenum
so palettes can be changed midgame
note: subpalettes do not work properly in opengl with paletterendering disabled, so palettenum will NOT work there
2025-04-22 02:52:48 +02:00
Alug 9e684cded1 only check for votescreen replacements if we havent already replaced everything 2025-04-21 14:16:18 +02:00
Alug b642bfb984 add some savety to the hudlib
just error instead of crashing so we can track down any issues more easily
2025-04-21 14:15:35 +02:00
Alug 31e76f8b5f dont free our hud patches when loading an addon lel
appears to work fine in RR so we do it here
fixes some weird issues and crashes with certain hud elements
2025-04-21 14:12:42 +02:00
Alug 2e35a72dec cleanup colormap translation stuff
needs testing
2025-04-21 12:29:31 +02:00
Alug 0d4ad260f0 fix nohw compile lugstuff 2025-04-21 12:21:58 +02:00
Alug 1e66305ce8 add missing pglDisableClientState 2025-04-21 12:21:12 +02:00
Gustaf Alhäll b7a5d715c0 Fix use-after-free when loading addons after searching addons 2025-04-21 12:21:09 +02:00
Alug 20537807e1 Fix server listing refusing to list servers on resolution failure 2025-04-21 12:21:06 +02:00
Alug e63c6cfd1e replace instances of malloc + memset with calloc 2025-04-21 09:53:02 +02:00
Alug ed527a35e2 add mindelay and gentlemens stuff to menu 2025-04-20 23:34:59 +02:00
Alug 3a82442c86 remove lagless camera from the menu
and change cvar name to reset it for everyone
2025-04-20 23:19:15 +02:00
Alug 98dde2f077 Revert "remove erronous checks here"
This reverts commit c2c60f2c69.
2025-04-20 23:00:07 +02:00
Alug 9322a3b1d0 dont let postload make our waitingplayer spritepatches null 2025-04-20 22:59:55 +02:00
Alug 0f0bef2a04 big cleanup "GetZAt" stuff
GetZAt now takes 4 parameters (slope, x, y, normalheight)
and everything now uses their designated getzatfunction
2025-04-20 15:43:17 +02:00
Alug b13f104fde fix P_CameraLineOpening
lel this was always botched
2025-04-20 15:21:39 +02:00
Alug e9d91386d7 remove unecessary settransform call 2025-04-20 06:25:21 +02:00
Alug c2c60f2c69 remove erronous checks here 2025-04-20 06:25:06 +02:00
Alug 836395a6af check for sloperoll first 2025-04-20 06:23:36 +02:00
Alug a7094537cb dont need this anymore 2025-04-20 06:22:58 +02:00
Alug d02a097384 pass hardware patch to HWR_DrawSpriteShadow 2025-04-20 06:22:41 +02:00
Alug a34540f27f unnest timedemo stop stuff 2025-04-19 10:28:04 +02:00
Alug 454311fd28 fix titlescreen demos crashing, again 2025-04-19 10:27:51 +02:00
Alug a260c390ad whoop this is only used by curl 2025-04-19 08:13:07 +02:00
Alug 4de86a1bad cleanup http download stuff a little
unglobalise a bunch of stuffand put into a struct
also hopefully made the progressbar less funky
2025-04-19 08:10:09 +02:00
Alug 59b1d66c39 a 2025-04-19 01:25:37 +02:00
Alug b5521eb709 fix software sprite clipping 2025-04-19 01:19:23 +02:00
Alug 72f193f336 smol software stuffs 2025-04-19 01:06:39 +02:00
Alug 751c72f93c smol fix for R_AddSingleSpriteDef 2025-04-18 23:54:01 +02:00
Alug 5d77754695 fix hwrpatch grabbing the wrong patch
getmapped patch needs to be called before this is referenced to avoid potential issues
2025-04-18 22:03:55 +02:00
Alug e9b2e17b69 readd missing SHORT macro for patch_create 2025-04-18 21:59:24 +02:00
Alug c40d9f3ec4 make a backup of save data before writing to it 2025-04-18 12:52:24 +02:00
Alug 14d2a6f7b6 reword this lel 2025-04-18 12:35:09 +02:00
Alug 65c8bcf3bd reset record attack state in G_ResetDemoPlayback
should fix some wonky issues in a few cases
2025-04-18 11:29:42 +02:00
Alug d7fe799097 fix record attack condition in G_CheckDemoStatus 2025-04-18 11:20:58 +02:00
Alug 52a6812805 reset demo stuff for multiplayer demos when using connect command
so if smth happens and we cannot connect the game wont be stuck in some weird replay limbo state
2025-04-18 11:20:17 +02:00
Alug 96312999c0 fix crash when using connect command from within replays 2025-04-18 11:11:36 +02:00
Alug 3fe45c532d close menus when replay stops 2025-04-18 10:09:42 +02:00
Alug a7ff925038 add mobj null checks
well and remove one
2025-04-18 09:38:44 +02:00
Alug 1d4d1a1400 psure this never worked lel 2025-04-18 09:38:21 +02:00
Alug 4ec735afe1 more unnesting for mobj think stuff 2025-04-18 09:37:25 +02:00
Alug 05086d83f0 Revert "convert fixed to float with multiplication instead of division"
i did not intend to push this to testing lel
2025-04-17 21:49:45 +02:00
Alug 965411519c we dont use MT_WAYPOINT lel
just use starposts
also remove rings cause duh
2025-04-17 14:00:55 +02:00
Alug d328adea5d aaaa != 2025-04-17 13:50:26 +02:00
Alug fb804ea9dd those do not exist anymore lel 2025-04-17 13:48:38 +02:00
Alug 7df37d50f4 fix up the automap again
got the rest of stuff working in a horrible way
automap aswell as minigen stuff looks good now
2025-04-17 13:48:24 +02:00
Alug c36b076b01 fix oopsie in automap bounds calc 2025-04-17 13:32:37 +02:00
Alug ee3a26d8fb fix automap colours
forgor those revert those when i ported RR code over, now they should match up with what they say
2025-04-17 13:30:41 +02:00
Alug 6f86ef2896 why? 2025-04-16 23:21:33 +02:00
Alug ead9e96017 why are these even seperated like that lel 2025-04-16 22:37:22 +02:00
Alug 2b5b7c6292 fix camera vertical look tooltip for green res
Zzz...
2025-04-16 22:31:24 +02:00
Alug 1ee40b5579 add minimap icon dot to saturn hud menu 2025-04-16 22:31:08 +02:00
Alug cc6cb99ac5 add support for drawing a dot on the minimap showing player angle
mostly copy pasted from blankart so thx neppy c:
2025-04-16 22:02:44 +02:00
Alug d9babadd54 fix minimap disappearing when having minimap trans on 10 2025-04-16 21:28:44 +02:00
Alug 14f725a53f fix compile without ROTSPRITE 2025-04-16 20:27:53 +02:00
Alug dc465733c7 move patch rotation stuff into their own files 2025-04-16 20:25:33 +02:00
Alug 58e12d620f just use Z_SetUser
instead of duplicating what RotatedPatch_Create does lul
2025-04-16 19:19:38 +02:00
Alug 0ef5a80d84 turn rotcache into a lumpcache_t
gu hope this is correct lel
2025-04-16 19:06:46 +02:00
Alug 4587f6391a smol cleanup W_CachePatchNumPwad 2025-04-16 18:46:55 +02:00
Alug 280df5d3d6 fix the sprite shadows Zzz... 2025-04-16 16:38:35 +02:00
Alug 9cd8d2fb4e GL_ 2025-04-16 16:27:00 +02:00
Alug f384cf0b86 optimize this a little lel 2025-04-16 16:21:50 +02:00
Alug d1d61119ae smol opitmizations and cleanup 2025-04-16 02:46:40 +02:00
Alug 96eecfe5a0 fix model blendpatches
we already have a functional check in HWR_GetBlendedTexture anyways
2025-04-15 20:27:21 +02:00
Alug e0b58b4da0 add tags for model textures 2025-04-15 19:23:53 +02:00
Alug 021db03eb9 no asan ty 2025-04-15 19:16:42 +02:00
Alug 854ce92d83 Merge branch 'balls' into lugstuff 2025-04-15 19:14:37 +02:00
Alug 0bef27cdf9 fix models lel 2025-04-15 19:14:20 +02:00
Alug 2037420013 dont free our rotsprites aa 2025-04-15 18:37:33 +02:00
Alug 01c3205d5d readd freeing those
dont want kart to use like 4gbs of memory for no reason lel
2025-04-15 17:13:11 +02:00
Alug b9aee1d53e readd hud gfx flushing
now that stuff doesent completely die lmao
2025-04-15 16:55:04 +02:00
indev feb93360a4 If GLENCORE is enabled, free both encore and noencore textures 2025-04-15 17:50:05 +03:00
Alug afd0613199 simplify this 2025-04-15 16:27:03 +02:00
Alug 71e9e040ec cast Zzz... 2025-04-15 15:34:30 +02:00
Alug d54319cd55 revert this part 2025-04-15 15:33:20 +02:00
Alug 0ce790f1bc fix PARANOIA compile 2025-04-15 15:18:58 +02:00
Alug 4cb83de7b3 Merge branch 'lugstuff' into balls 2025-04-15 15:12:19 +02:00
Alug 6ebc6412e4 idk anymore lel 2025-04-15 15:11:52 +02:00
Alug d2f996ebaf change those tags
also add PU_PATCH_DATA
2025-04-15 14:32:42 +02:00
Alug 325eac5b6d add more purge tags refactor patch freeing and stuff
currently dies when adding a wad midgame and the loading into another map
2025-04-15 13:14:23 +02:00
Alug 888d840198 fix PARANOIA compile 2025-04-15 12:46:40 +02:00
Alug 72d5fbe641 fuckit *unshortens your patch dimensions* 2025-04-15 09:27:42 +02:00
Alug 9eb34006c2 port srb2s patch refactor
still needs all the new purge tags
then we should hopefully be free of use after frees and everything
2025-04-15 09:00:21 +02:00
Alug 1ccd50fffa fuck off goddamit 2025-04-15 05:08:19 +02:00
Alug 3a698aab1a noooo dont free out lumppat
for some reason this occasioncally causes an use after free??
our memory management honestly is a fucking mess ngl
2025-04-15 04:57:00 +02:00
Alug b257768f4c change this 2025-04-15 03:47:12 +02:00
Alug b81652bfdd cleanup rotsprite creation
was hoping to fix the rare software crash with this Zzz...
2025-04-15 02:58:43 +02:00
Alug 4f2ffcdea5 cleanup R_ProjectSprite 2025-04-15 01:53:27 +02:00
Alug 2c8c6028f8 revert using modulu for frac calcs for colum drawers
this is fucking slow for some reason
2025-04-14 22:50:39 +02:00
Alug 30d64ad538 Revert "Cache start and end locations for WAD folders"
This reverts commit ef7935e2af.
2025-04-14 12:10:51 +02:00
Alug df888048c4 minor branching stuff 2025-04-14 11:41:09 +02:00
Alug d3427a3074 quiet compiler! 2025-04-14 11:31:46 +02:00
Alug 6378980f0d disable holepunch
never worked for me, and somehow makes my perf slightly worse lel
2025-04-14 11:30:38 +02:00
Alug 31244a5ce1 only holepunch uses this 2025-04-14 11:30:16 +02:00
Alug 517de5d1fe uncomment the banana dust code
it doesent look that great, so i prefer the lua version anyways
2025-04-14 11:28:50 +02:00
Alug 4294536055 delet erronous null checks
idk where those even came from lel
2025-04-14 11:28:23 +02:00
Alug c7526928b7 few more things 2025-04-14 11:15:40 +02:00
Alug f967babe29 kill a bunch of wonky stuff
idk smth in here absolutely trashes my perf in some instances
2025-04-14 11:09:22 +02:00
Alug 41f42c0cb0 missed those 2025-04-14 10:30:26 +02:00
Alug 57388b78c5 disable titlescreen demos if any addon (but musicpacks) are loaded
read comment
not a fan of this, but better than ppl constantly crashing
2025-04-13 22:33:33 +02:00
Alug b589fba6b8 optimize colourcube conditional checks
screw u atoi
2025-04-13 21:46:05 +02:00
Alug f8e63c8a60 Merge pull request #162 from Chearii/dialspeedometer
Add a dial speedometer
2025-04-13 19:07:14 +02:00
Alug 9169c66d03 refactor K_StretchPlayerGravity
mostly just make it more readable lel
2025-04-13 10:38:19 +02:00
Alug 32310c7e39 calloc takes care of those 2025-04-13 09:56:05 +02:00
Alug f8b1d1838c we dont need all this stuff for precip 2025-04-13 09:08:40 +02:00
Alug 7877585135 move this to make it little more clear what this is for 2025-04-13 09:08:16 +02:00
Alug a9e80bf4c4 missed this with localskin stuff 2025-04-13 09:04:19 +02:00
Alug d932d29720 move drawnode stuff into a switch
i like switches uwu
2025-04-13 09:03:24 +02:00
Alug 0985f5f317 readd itembox fuse think that was lost somehow lmao 2025-04-13 09:02:58 +02:00
Alug dcdee7c7f2 move this since it does check for fuse 2025-04-12 18:10:07 +02:00
Alug e0215220b4 unnest and cleanup P_MobjThinker
everything was moved into seperate functions lel
2025-04-12 18:06:38 +02:00
Alug 5cbac8c415 Revert "temp revert nanosleep for nix"
This reverts commit 78cf0d8f9d.
2025-04-12 16:22:41 +02:00
Alug 9f781930ee move line polyseg check out of the lööp if theres no polyobjs on le map
seems to reduce a hotspot there significantly
2025-04-12 16:01:43 +02:00
Alug 43928bbbd2 spr->mobj not thing lel 2025-04-12 15:44:11 +02:00
Alug c7d304349d windoze stimky
well this atleast should work for everyone, but be noted that the normal "localtime" function is apparently not thread safe
2025-04-12 15:43:59 +02:00
Alug 50b3e1ed28 throw mobjcache allocation shit into a inline function 2025-04-12 15:43:43 +02:00
Alug 6ff76802eb convert fixed to float with multiplication instead of division 2025-04-12 15:43:17 +02:00
Alug 4be2c84df0 use mobjcache for savegame mobj load 2025-04-12 15:42:25 +02:00
Alug 2ff37018f9 make a macro for this 2025-04-12 15:41:58 +02:00
Alug 293f91988c attempt at unmangling localskin stuff again
moved almost all the weird ass ternaries into functions
and should also probably fix some remaining issues where stuff was wrong
2025-04-11 20:40:28 +02:00
Alug 32f6309163 dont need to do any of this lel
the calloc takes care of those already
2025-04-11 16:53:52 +02:00
Alug 57ef2acd9c just make the numlaps draw besides the date
idk theres no good place for this otherwise
2025-04-11 14:23:21 +02:00
Alug d0159f9b8d add cvar to change the demo date formatting
bruh
2025-04-11 14:18:10 +02:00
Alug 9178eb5686 bigger buffer for demo version thing 2025-04-11 13:53:19 +02:00
Alug fed354f24f print demo version on "outdated" demos
idk if this is fine lel
2025-04-11 13:47:05 +02:00
Alug 8d201d451b dont need le strncpy 2025-04-11 13:07:14 +02:00
Alug 1e4380f184 apparently we have "nameonly"
ty indev <3
2025-04-11 13:03:57 +02:00
Alug 09e97b07f4 try and get file creation time in some cases on windoze builds
untested as of right now
2025-04-11 12:35:14 +02:00
Alug bbc81e3cc8 try to catch more bad demo dates
i mean this game did not exist in 2010 lmao
but occasionally it actually returned dates other than 1970 depending on what was passed to it lmao
2025-04-11 11:51:58 +02:00
Alug e68d69a38c do pathseperator check like this 2025-04-11 05:07:18 +02:00
Alug d02555b80b extract the date out of replay + display em in replay hut
this is kinda horrid, but essentially, the number at the start of replay names is actually the time when the replay was recorded, so i can extract that and convert it to a readable format
this probably can be done alot cleaner lmao
2025-04-11 05:00:07 +02:00
Alug 2cb338d6f7 add setting for cecho toggle to print to console instead
idk i hate doing string stuff, hope this doesent explode lmao
also ensures even if disabled all cecho stuff is printed to log file again
2025-04-10 22:01:44 +02:00
Alug dadde36ff6 handle highres portraits and statdisplay text more gracefully on low resolutions
below 640x400 the highres portraits become an absolute mess so itll now fallback to the lowres portraits
the statdisplay name text also became completely unreadable so itll use V_DrawThinString instead on low resolutions
2025-04-10 21:16:15 +02:00
Alug 1a28886ce2 simplify those 2025-04-09 23:18:31 +02:00
Alug 0919cc458b remove unused variables from FTransform struct 2025-04-09 22:44:23 +02:00
Alug c3c200c295 this can just be a constant lel 2025-04-09 22:39:36 +02:00
Alug 2e0010ee4e delet this 2025-04-09 22:31:45 +02:00
Alug 653b9ffaa0 Revert "HACK: make translucent fofs not cut cyan pixels"
This reverts commit 0503841939.
2025-04-08 21:39:03 +02:00
Alug 84ddae95ba use precalced value
this never changes, psure impact is negligeble tho
2025-04-08 20:52:43 +02:00
Alug 0503841939 HACK: make translucent fofs not cut cyan pixels
testing this, similar behaviour to software, fixes a few visual inconsistencies, but needs some testing lmao
psure we be leakin memory lmao
2025-04-08 20:52:10 +02:00
Alug dd6dc4d982 let item button also change skin grid sorting type 2025-04-07 19:40:17 +02:00
Alug e8c1afc860 reuse pwidth 2025-04-07 17:54:09 +02:00
Alug aa08c1adef unglobalise holepunchpacket aswell 2025-04-07 17:25:57 +02:00
Alug 1bbfdf6a78 oops this needs be initialized 2025-04-07 17:11:53 +02:00
Alug c3fcece75a sat credits a 2025-04-07 16:20:45 +02:00
Alug f907577094 avoid branching inside the while lööp 2025-04-07 09:10:10 +02:00
Alug 980fbd9b10 use optimized P_DivlineSide instead of R_PointOnSideFast 2025-04-07 08:39:43 +02:00
Alug 9902cac3ee some software optimizations
from:
https://git.do.srb2.org/Hanicef/SRB2Classic/-/merge_requests/6#d4bba40be8388ccd557d03ef4e4a36d0728c7751_645_587

minus the buffer flipping change, karts resolution stuff is hell and even worse due to birdmod things
maybe will look into that sometime
2025-04-07 08:35:33 +02:00
Alug 7cf1e8f15f Refactor netbuffer out of global namespace
https://git.do.srb2.org/Hanicef/SRB2Classic/-/commit/079fd2cef97a9cf22fb5d2b66a9b500914efbc72

+ move some things into functions
2025-04-07 08:13:38 +02:00
Alug a107496f76 free ogl lighttables earlier
ogl lighttable data is owned by extracolormaps apparently, so it has to be freed ealier
2025-04-07 07:45:05 +02:00
Alug ef7935e2af Cache start and end locations for WAD folders
port from https://git.do.srb2.org/Hanicef/SRB2Classic/-/commit/1a9da9dca6168a1cd2f47e06931a99b821596be1

pls git let me apply the og author with patches
2025-04-07 07:37:30 +02:00
Alug 9bfabe3ffd this is unlikely 2025-04-07 06:46:26 +02:00
Alug 28703bc038 whoopy copy paste 2025-04-06 17:13:04 +02:00
Alug f48ce0d94a try to rectify some branch mispredictions
adds "LIKELY" and "UNLIKELY" macros
those can be used to tell the compiler which path is more likely to happen
2025-04-06 17:03:23 +02:00
Alug 418d265f51 dont need this 2025-04-06 16:25:01 +02:00
Alug 2c60a4c353 reorder those a little 2025-04-06 15:14:57 +02:00
Alug 099b1ab81e use the float vid dimensions
forgor here
2025-04-06 15:14:49 +02:00
Alug ae7553ba30 cache the fofflags too 2025-04-06 11:24:38 +02:00
Alug b14b01d5c9 somehow this is slightly faster 2025-04-06 10:59:59 +02:00
Alug 6ebf6a2797 cache this
somehow this was unusually expensive lol
2025-04-06 10:29:28 +02:00
Alug 7b813e142b delet this 2025-04-06 09:58:58 +02:00
Alug d7d610bb99 more smoller optimizations
save some unneeded floattofixed calls
and move the linedef check earlier
2025-04-06 09:36:48 +02:00
Alug 5b9ef80f61 check for horizonlines on mapload on opengl
this saves iterating through a crapton of lines every frame in ogl
2025-04-06 08:45:08 +02:00
Alug 0ec286b9f4 Optimze horizonline check
noticed during profiling due to how it was checked R_PointOnSegSide was called extremely often even if the less expensive check  returned false
2025-04-06 08:43:40 +02:00
Alug 0f3be26c42 Revert "revert "R_ResetViewInterpolation: wait an extra tic if R_UpdateViewInterpolation has not run yet, do not add extra time for subsequent calls""
This reverts commit a560c691ca.
2025-04-05 19:27:48 +02:00
Alug 163122afb1 use R_GetViewNumber here 2025-04-05 19:27:34 +02:00
indev 0b9d56912d Add 'inputdisplay' option for hud.enable, hud.enabled, hud.disable and hud.getOffsets 2025-04-05 17:41:50 +02:00
Alug 721401f85a delet that egg 2025-04-04 18:13:31 +02:00
Alug a4ac85be85 no need to scale the volume for splitscreen if we dont play a sound lol 2025-04-04 18:13:12 +02:00
Alug 8ca0e5f112 didnt mean to change that lel 2025-04-04 08:15:44 +02:00
Alug a99c3b7ae9 fix software crash on date (ceruleavaenaen riviera) 2025-04-04 01:56:46 +02:00
Alug 6406eb5ba6 bruh 2025-04-04 00:29:07 +02:00
Alug 5d2aebc269 fix oopsie in R_Render2sidedMultiPatchColumn 2025-04-04 00:28:16 +02:00
Alug c0fe43ff0c erronous endifma balls 2025-04-03 21:22:16 +02:00
Alug cbb590b4d7 kill SATURNSYNCH and can_receive_gamestate, change the detection of synch method
before we unconditionally sent PT_WILLRESENDGAMESTATE to every connected node that didnt desynch before, in a big lobby this could mean having to send out alot of reliable packets to potentially clients that couldnt use it anyways, like this we just check if a client is saturn, which gets set the moment a saturn client v7.1 and onwards joins (it sends a special packet to the server during connect)
this makes sure we only even attempt the new resynch system with clients WE KNOW can use it anyways
this is backwards compatible until v7.1, v7 when this was introduced did not send the special packet on join and relied on the willreceivegamestate packet, so they wont benefit from the better resynching anymore
2025-04-03 20:41:36 +02:00
Alug 7067d22da0 fix OOB read of "playeringame"
not too sure if this is completely save, but it should technically
2025-04-03 20:25:02 +02:00
Alug 683737a6c7 update saturn credtis
baaaaaaaaaaarely fits now on greenres
had to kill the tooltip too :/
we should prob think of smth else than abusing a menu for this
2025-04-03 00:13:45 +02:00
Alug ca302493f7 drift only option for coloured speelines
man
2025-04-02 19:48:43 +02:00
Alug 6cdce0c95d use max 2025-04-02 10:01:38 +02:00
Alug 9894198028 convert those to float once 2025-04-02 09:58:56 +02:00
Alug b221d22e38 check if texture exists first 2025-04-02 09:58:05 +02:00
Alug b56ce88c27 fix the wonky rendering issues on that one si-ht map
saturn regression introduced by the fof slope cutoff fix
hopefully this has no weiird side effects, but so far everything seemed fine
2025-04-02 09:57:17 +02:00
Alug a7f1ff24cd smol cleanup skyspecial handling for ogl 2025-04-02 09:56:07 +02:00
Alug 1c2e404853 slight cleanup drawOnMinimap 2025-04-02 09:55:35 +02:00
indev 33bb40765c Add pageup and pagedown support in replay hut 2025-04-01 00:23:06 +02:00
Alug 1987a18e68 change scr_depth to gr_texturedepth and allow it to change stuff midgame
its not used for software renderer anymore and before you had to restart the game to be able to see a change in gl
8bits and 24bits options have been removed since they had no effect
and it also allowed me to unglobal things
2025-03-31 22:55:54 +02:00
Alug 62e1109cd4 kill ogl_win
its unused apparently
2025-03-31 22:50:18 +02:00
Alug 3701f7cf9c texfomats without alpha should have maxlod of 5 2025-03-31 22:30:25 +02:00
Alug e14e4b51c7 HAVE_IPV6 2025-03-31 08:29:23 +02:00
Alug efd7cd155e disable compiling with ipv6 support
see commit before
2025-03-31 08:27:43 +02:00
Alug cef448ca23 bugfixes for sock stuff + kinda fix ipv6
thx srb2!
sadly we cannot really make use of ipv6 since vanilla clients cant really handle stuff well ontop of the server browser not supporting them anyways, sad!
its probably better to just disable ipv6 compile completely
however this also has minor cleanups and bugfixes for ipv4 too (server browser now should work proper if you rerfresh it often and then close and open it again etc)
2025-03-31 08:21:46 +02:00
Alug f51cd6977a better check for destinationnode 2025-03-31 08:13:46 +02:00
Alug 7b7d93a2d6 remove unused stuff d_net 2025-03-31 08:11:10 +02:00
Alug d37d97c5fa also dont do this without localdelay 2025-03-29 18:13:01 +01:00
Alug 53aeda3c6b oop still need to update this 2025-03-29 18:00:11 +01:00
Alug f793c4b57f update ping only once per second again
read the comment on why
2025-03-29 17:52:20 +01:00
Alug b72c997789 only do gentlemens anything if we intend to use it
shizo thing
2025-03-29 17:52:09 +01:00
Alug 636feddeb3 128k
well this didnt help but still think 64k might be a bit short
2025-03-29 03:10:25 +01:00
Alug a726646ff3 if 128k network buffer fails then try 64k as last resort 2025-03-29 02:34:36 +01:00
Alug e2e1839829 make the whole tcp stack return errno errors 2025-03-29 02:32:18 +01:00
Alug 2f22f28a4d try to set the socket buffer to 208k
this is what i get on nix, while windoze seems to be stuck on 64k, maybe fixed the occasional network buffer overrun that happens
2025-03-29 00:59:23 +01:00
Alug 541f532988 can just set it to null directly 2025-03-28 17:13:03 +01:00
Alug 2fb572ed4c dont run anything director in dedi
we dont need to even init its stuff
2025-03-28 17:01:43 +01:00
Alug f938d566f7 make a function that returns the newspeedometer style if its availible
makes stuff alot easier to read than constantly checking for if stuff exists everywhere
2025-03-28 07:12:37 +01:00
Alug d3df8708af tiny cleanup inputdisplay
just use V_DrawMappedPatch, it does the same but looks better in code lel
2025-03-28 07:10:26 +01:00
Alug 2b3fefc988 Revert "delet this"
This reverts commit 18352ff6d8.
2025-03-28 04:53:36 +01:00
Alug 568012589d :3 2025-03-28 04:52:50 +01:00
Alug c949589bea can just reset this here 2025-03-28 02:35:53 +01:00
Alug 893de2e047 force switch player after 15 seconds max
not sure if its too strict but it gets really boring just watching the same person for ages
2025-03-28 02:16:32 +01:00
Alug b4dcc7da7d forgor the header file 2025-03-28 02:14:44 +01:00
Alug 3c361654f7 instant switch if the player we watch is finishing
i dont need to watch the finishline for 5 seconds everytime lmao
2025-03-28 02:14:30 +01:00
Alug 29a8075d90 only count actually playing players for director
otherwise you could enable it if theres more than 1 person in the server but only 1 person is actually playing
2025-03-28 02:13:04 +01:00
Alug 4cfeef6300 you cant memset this to -1 lel
prob fixes the director never switching when only one player was left
2025-03-28 01:37:50 +01:00
Alug b2d4039a9f optimize director by checking for finishline waypoint on mapload
instead of every time this is called
2025-03-28 01:12:14 +01:00
Alug 8ede41fde8 simplify this lel 2025-03-28 00:45:17 +01:00
Alug c0a3c4d144 add R_QuickCamDistFixed which returns fixed point value 2025-03-28 00:36:59 +01:00
Alug 37b1ad80e3 nooo dont set srb2waddir to NULL 2025-03-27 23:50:46 +01:00
Alug 4a2f338c85 turn this into a switch for no reason 2025-03-27 23:37:50 +01:00
Alug 910f2d3b8c remove pointless function 2025-03-27 23:33:11 +01:00
Alug ce25dd54b5 add smol P-Meter patches
thx jin for those
2025-03-27 23:27:20 +01:00
Alug 56935ef0c2 seperate the colour hud patches out of here so they can be used without the vanilla colour hud 2025-03-27 22:48:29 +01:00
Alug 010cbd68fd seperate the driftgauge colour patches into extra2 + add some more comments
was an oversight, extra2 should be for all colour hud patches
2025-03-27 22:21:35 +01:00
Alug 2ec90922a2 fix driftgauge value "small" value being overwritten when having extra3 loaded 2025-03-27 22:12:22 +01:00
Alug 9dac5f6dab move saturn extra file checking into its own function
and also properly seperate all patch checks so they only get checked if you have the right file
may actually slightly speedup startup in some cases
2025-03-27 22:01:45 +01:00
Alug e5263121eb fix stick setting showing wheel 2025-03-27 21:36:44 +01:00
Alug b1270fd54d make beta interscreen cvar also affect tab rankings 2025-03-27 21:35:24 +01:00
Alug 648720c8ac just make the input display global toggle for it
mostly done so i can shorten the entry in the menu cause i cba to mangle stuff again
2025-03-27 21:29:50 +01:00
indev 526b254345 Add 'StickGFX' option for showinput cvar if graphics for it exist 2025-03-27 23:19:27 +03:00
Alug 806d8b5e42 actually initalise those lmao 2025-03-27 20:58:17 +01:00
Alug 62b24e9fd4 no need to check for this 2025-03-27 20:44:19 +01:00
Alug 4ca1d40bcc add support for sprite joystick knob
still needs proper toggle
2025-03-27 20:41:14 +01:00
Alug 939c92f1c1 that comment belongs to this lmao 2025-03-27 20:24:56 +01:00
Alug 0000db2f64 fix vertical patch scale not working when horizontal scale is also not changed in opengl patch drawer 2025-03-27 19:48:27 +01:00
Alug 18352ff6d8 delet this 2025-03-26 22:07:39 +01:00
indev 6661d98e5f Fix limit_dist overflowing for some mapobjectscale values 2025-03-26 20:22:16 +01:00
Alug 60ff34d7de fix spacing when compiled withou fbo support 2025-03-26 19:51:52 +01:00
Alug a5b317d552 better slope rotation for shadows
instead of copieng the target mobjs rotation we just use its standingslope instead, this means shadows properly rotate according to which slope theire on
should make them visually more cohesive if a player or other mobj is rotated midair
2025-03-26 19:51:31 +01:00
Alug 7b18694599 add dummy entries so the tooltips dont fucking cutoff stuff in green res
if i only knew of this dumb hack earlier
2025-03-26 19:32:35 +01:00
Alug e6b4f00cb2 muh huh durr hurr is above array bounds of deez nuts 2025-03-26 18:32:02 +01:00
Alug 0c87e207d5 fix advanced video options in green res
god bruh
also removes the directional light entry since its planned to be deprecated
2025-03-26 18:17:29 +01:00
Alug 1fc4437054 fix sprite distort tooltips
Zzzzzzzzzz......
2025-03-26 18:05:17 +01:00
Alug 5792331c10 turn advanced sound ioptions into scoll menu 2025-03-26 18:04:47 +01:00
Alug c06078e4cc turn sprite distortion menu into scoll menu due to green res 2025-03-26 18:00:00 +01:00
Alug d71d9becd8 rename "Custom Options" to "Custom Addon Options"
to make it clear wtf this is even for
2025-03-26 17:45:56 +01:00
Alug 01ea47f59e turn screenshot options into a scoll menu cause of green res 2025-03-26 17:45:31 +01:00
Alug a81cbb9813 fix focus options for green res 2025-03-26 17:31:48 +01:00
Alug 47d3f0e624 move everything around in main options menu to fit stuff for green res 2025-03-26 17:27:09 +01:00
Alug 43c718af37 fix bird menu from crashing (again) finally add an enum so this wont happen again 2025-03-26 17:13:54 +01:00
Alug 4e90b9260b lel 2025-03-26 15:54:18 +01:00
Alug d8282e7b7f add smol text indicating the autoload button 2025-03-26 15:35:13 +01:00
Alug a66b329255 change menu autoload button to "END" instead of right shift
too many ppl accidentally press right shift and end up putting things they didnt intend into their autoload file
which sometimes caused alot of issues in online play
2025-03-26 15:34:57 +01:00
Alug d138a593a6 brazil 2025-03-26 14:54:10 +01:00
Alug 19eda24e57 tab hell 2025-03-25 23:14:10 +01:00
Alug cbd54274f2 grey out mouse grab when use_mouse is enabled 2025-03-25 20:04:59 +01:00
Alug 4181b1dff6 add onchange for "alwaysgrabmouse" 2025-03-25 19:57:02 +01:00
Alug e5a088aee9 put all the "game focus" options into a seperate menu 2025-03-25 19:35:55 +01:00
Alug 6c6e44ec64 fix server lan discovery
which just returned EINVAL and triggered the I_Error in SOCK_Send
more information at: https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2219
2025-03-24 22:42:30 +01:00
Alug 5e1d1f5205 make this not I_Error
no fucking clue what happens with it
2025-03-24 21:10:52 +01:00
Alug db5298a2fc bleh 2025-03-24 20:35:27 +01:00
Alug 7c13b74636 Revert "remove the early returns in SOCK_Send"
This reverts commit dcc3b1294c.
2025-03-24 20:35:10 +01:00
Alug fc2bd63d91 delet this 2025-03-24 19:21:26 +01:00
Alug b9bdfbf790 Revert "clean up some net stuff"
This reverts commit f8903e7ce7.
2025-03-24 19:18:34 +01:00
Alug f54055e69b potentially fix "Received a file not requested" error in poor net conditions
needs a bit of testing
2025-03-24 19:01:02 +01:00
Alug d8e7ed1f1f grey saltroll out in menu if sloperoll disabled 2025-03-24 18:22:07 +01:00
Alug 702e800d3f toggle for saltyhop sloperoll behaviour 2025-03-24 18:20:16 +01:00
indev 4168dbddbb No need to FLOAT_TO_FIXED here :з 2025-03-24 17:19:35 +01:00
Alug 77ba719284 Reset seenplayer on netgame exit 2025-03-24 16:52:47 +01:00
Alug acd23c1002 remove the early returns in SOCK_Send
othewise it may never error out when it should
2025-03-24 16:30:05 +01:00
Alug 4729ca1c40 we dont need sweep and test 2025-03-24 16:25:17 +01:00
Anonimus f2691b4673 Add C++ support to the makefile
Also add new required DLLs for Windows users
2025-03-24 16:24:06 +01:00
Alug db8bc50c17 Do not error out if we don't have a socket for an address family we have disabled
from srb2
2025-03-24 16:23:16 +01:00
Alug 9f1a1cb661 Replace all instances of XD_KICK with a SendKick function 2025-03-24 15:35:26 +01:00
Alug c04fd47637 i hate menus 2025-03-23 18:31:38 +01:00
Alug 4bdcd5b9d5 this does not need be checked here 2025-03-23 18:24:46 +01:00
Alug b08bacede5 lugstuff momento 2025-03-23 18:20:04 +01:00
Alug d89ffbcc0f k_throwdir already returns just -1, 0 and 1 2025-03-23 18:17:59 +01:00
Alug 5ff3973ebb add player blendeffects to menu + change when they apply
most of them now apply during sneakerboost
sparkles may also get add blendmode when you go really fast with them (like the speedlines)
2025-03-23 18:15:35 +01:00
Alug 7331e43207 change "verticallook" and "cameralookbackmom" to be per splitscreen player 2025-03-23 18:15:32 +01:00
Alug 0d7473d104 15 step increment Zzz... 2025-03-23 16:58:53 +01:00
Alug 9c46306b07 simplify the slider stuff slightly 2025-03-23 16:56:56 +01:00
Alug 63517e3de3 make stretchfactor a cv_float again
for easier handling
now that we can use sliders this should hopefully work without issues
2025-03-23 16:54:51 +01:00
Alug 78566f067d make saltyhop height use slider 2025-03-23 16:43:53 +01:00
Alug c48ab0f163 make menu sliders work on CV_FLOAT 2025-03-23 16:38:34 +01:00
Alug 19a6da0ae3 changable saltyhop height
dunno, it looks a bit off on higher values since the animation duration is always the same
also cv_float is weird
2025-03-23 16:18:18 +01:00
Alug a560c691ca revert "R_ResetViewInterpolation: wait an extra tic if R_UpdateViewInterpolation has not run yet, do not add extra time for subsequent calls" 2025-03-23 15:30:45 +01:00
Alug 2306d4b59b Revert "test: revert all the view interp stuff"
This reverts commit 1a836031a7.
2025-03-23 15:28:59 +01:00
Alug 1a836031a7 test: revert all the view interp stuff 2025-03-23 15:07:18 +01:00
Alug 26a741e3fe cap Local_Maketic 2025-03-22 13:06:48 +01:00
Alug 0511c22e6f let this run during "singletics"
renderisnewtic was not really correct
2025-03-22 13:06:31 +01:00
Alug 81120cddce move the early return here 2025-03-21 16:44:14 +01:00
Alug bbe28d6d8f forger P_IsLocalPlayer exists 2025-03-21 15:56:10 +01:00
Alug caaf218dd4 hack for stick input display if you watch some other player Zzz.... 2025-03-21 15:53:10 +01:00
Alug ded46e6197 dont run discord rpc callbacks every frame
ditto
2025-03-20 23:51:59 +01:00
Alug 198cd1a68a dont update sounds every frame
if this would break ppl on 35fps cap wouldve been always screwed lel
2025-03-20 23:47:42 +01:00
Alug d19a455e65 dont call this every frame aswell 2025-03-20 23:44:48 +01:00
Alug 3f51b4389b cap a few things that break otherwise 2025-03-20 23:42:24 +01:00
Alug 55af517a57 uncap netupdate
:chonkbuncle:
2025-03-20 20:24:39 +01:00
Alug 0c209f2439 kill this, i want vanilla behaviour 2025-03-20 18:44:06 +01:00
Alug 27699e91ea delet player_joining 2025-03-20 18:44:03 +01:00
indev eadf16dd14 Only reset replay query in M_ReplayHut if replay hut wasn't open previously 2025-03-19 23:47:48 +01:00
Alug 10ea091471 handle pause better ig?
its still not really what i want lmao
2025-03-19 14:47:27 +01:00
Alug ff32db6e12 readd ACK 2025-03-19 14:31:50 +01:00
Alug ee908baa7a delet the uncap crap from funneh dance
we dont need this to be uncapped, mobj interpolation will take care of anything and this means i can put it into mobj thinker or whatever
2025-03-18 13:16:04 +01:00
Alug 694e7490a6 comments
this is horrible and i made this crap in 5 minutes
2025-03-17 20:14:06 +01:00
Alug 9d4cdbcc32 add horrible squishdance code
lmaao
this is so bad its unreal
2025-03-17 20:09:27 +01:00
Alug eefa41a58e Revert "Use PU_LEVEL for texture caching"
This reverts commit 5ecfc5e09d.
2025-03-17 18:43:55 +01:00
Alug 3b76c4b620 remove this again 2025-03-17 18:41:12 +01:00
Alug cedcccb18e move patch null checks into the patch drawers instead 2025-03-17 18:39:49 +01:00
Alug 0076d1e87a revert this too just in case 2025-03-17 18:26:32 +01:00
GenericHeroGuy b428a5fd1b Fix tonumber leaking doubles when JITted 2025-03-17 16:03:59 +01:00
Alug 20f8e910de make the banana throw speen be seperate from sloperoll toggle
were technically not rolling by slopes here
2025-03-17 15:55:10 +01:00
Alug ae2eb13623 forgor about saltyhop condition 2025-03-17 15:24:49 +01:00
Alug 2aca4dc0c7 add function to check if mobj should sloperoll
makes things slightly cleaner and we can apply sloperoll dist to everything
should probably save some time esp with the trailing item z calc
+ P_MobjPitchAndRoll should be able to be called always since it also does stuff seperate from sloperoll
2025-03-17 15:20:49 +01:00
Alug de2a73149b use quickcamdist for K_RollMobjBySlopes
we dont need this to be accurate at all
and its slightly faster so
2025-03-17 14:21:08 +01:00
Alug 981885dafb fix midair driftsparks
somehow accidentally ended up doing what RR does lmao
hope this doesent do anything funky synchwise
2025-03-17 13:42:31 +01:00
Alug b11348d3e3 kill bunch of redundant calcs for some kart visual effects 2025-03-17 13:06:06 +01:00
Alug f8b3e9cfcb safe some time by returning early in K_RollMobjBySlopes
in case those mobjs are out of our set distance
2025-03-17 12:40:08 +01:00
Alug d9c2add062 dont let saltyhop stop our drift sounds for 1 tic
if you disable its sound effects
2025-03-17 11:15:12 +01:00
Alug 7777946979 noo dont free our realpatch randomly
this used to be Z_Unlock which did nothing
checked against srb2 and rr and this should not be freed normally
2025-03-16 21:05:52 +01:00
indev 3b929b3687 Fix gl_extensions being truncated when there are too many extensions 2025-03-16 15:31:09 +01:00
Alug e1f3447a8b lmao 2025-03-16 13:28:33 +01:00
indev ac1bb9efbf Generalize K_SpawnOrMoveMob, and make adding new vfx that use it slightly easier 2025-03-16 15:01:44 +03:00
Alug cbf02a7741 goddamit 2025-03-16 12:24:38 +01:00
Alug 802514db04 oops 2025-03-16 12:23:51 +01:00
Alug 84ac034fa9 cache player 2025-03-16 12:23:16 +01:00
Alug 6c837f6fb6 bruh 2025-03-16 12:22:45 +01:00
Alug f7f0e02688 Merge remote-tracking branch 'origin/Saturn-Testing' into lugstuff 2025-03-16 12:19:57 +01:00
Alug be3b8cd23e dumb hack for input display in replays
since we cant get playerinput, just use throwdir to get some appoximation
maybe todo: idk maybe squeeze smth into replays?
2025-03-16 00:22:31 +01:00
Alug 868f0acb18 this needs be multiplied by 8 lel oops 2025-03-15 18:41:33 +01:00
Alug 579e7261a3 cache player 2025-03-15 16:47:11 +01:00
Alug 9dc14bda3a add extra check to save a little bit of time 2025-03-15 16:46:37 +01:00
indev 080ae52bce aatree is used both with HWRENDER and ROTSPRITE, so just don't guard its include 2025-03-15 14:50:13 +01:00
Alug 170d4bd57b port of "minimap icon spinouts" by Anonimus
https://codeberg.org/NepDisk/srb2k-neptune/pulls/7

+ some refactoring
2025-03-15 14:40:15 +01:00
Alug a541144d4a safe 2x "va" lel
V_GetSkincolorChar is unused now lel
2025-03-15 14:39:04 +01:00
Alug bcd5d9aa8b just use splitflags 2025-03-14 21:00:00 +01:00
Alug 66c9b05d3d doesent need be an array 2025-03-14 20:56:46 +01:00
Alug 8a410913f3 New input display option for stick display
thy neppy! https://codeberg.org/NepDisk/blankart/commit/52601bdfc2a6dd8916c3c401d70128d2ca11a1ff#diff-baf740b84aa99188fc2e5c1cb93e59fa2e319ff3

+ hellish abomination code cause kart
2025-03-14 20:46:25 +01:00
Alug 474ed722f6 make freecam speed per splitscreenplayer + add to menu 2025-03-12 07:00:50 +01:00
Alug bbd03114ee delet cam rotspeed cvar
lmao forgor this did nothing
2025-03-12 06:52:46 +01:00
Alug b04335f16e fix compile without ROTSPRITE 2025-03-10 17:52:08 +01:00
Alug 353337be24 consolidate those 2025-03-10 17:28:27 +01:00
Alug ed87d759e0 a 2025-03-10 17:28:09 +01:00
Alug c6824a6748 make this slightly less ugly 2025-03-10 14:59:35 +01:00
Alug 3615dd43d6 add cvar to force mouse grab and hide 2025-03-10 14:55:52 +01:00
Alug 865c3cfaec kill bunch of crap 2025-03-10 14:04:16 +01:00
Alug db3435356c Revert "apparently those temp variable are not needed"
This reverts commit 36508c24e3.
2025-03-10 12:31:53 +01:00
Alug 5c2adca262 Revert "use vectors P_ClosestPointOnLine3D and kill vertex z"
This reverts commit e0ae6aa85c.
2025-03-10 12:31:44 +01:00
Alug 801d1a3056 Revert "try simplify blockthings iterator"
This reverts commit 3bae721fa8.
2025-03-10 12:31:40 +01:00
indev 1eea46654b Add SHORT here for consistency with other code 2025-03-08 16:17:24 +01:00
indev c44f78d303 Check for missing patch earlier in W_CachePatchNameRotated 2025-03-08 16:17:20 +01:00
Alug d5587d51c1 p_sight stuff idk 2025-03-08 16:16:39 +01:00
Alug bccad86f50 try shizo thing to reduce netlag 2025-03-07 14:47:18 +01:00
Alug 4d6b5437c8 show smol notice in stat and ra menu when game is modded 2025-03-07 14:45:28 +01:00
Alug ab9aba1de6 remove erronous cv_sloperoll checks
this cvar is meant to be only the toggle for the player slope rotation, however, spriterotation should still be usable in any case with this disabled. the global toggle "cv_spriteroll" has been removed
2025-03-07 09:52:43 +01:00
indev 2a8b54c91b spriteroll doesn't exist now :p 2025-03-07 00:44:58 +01:00
Anonimus 2dedbc25f6 HUD patch rotation 2025-03-07 00:44:23 +01:00
Alug 7401ddca43 explicitly check for x11 sdl videodriver 2025-03-06 11:21:50 +01:00
Alug af470dc7b2 idk why this breaks shit 2025-03-05 00:07:24 +01:00
Alug 7e2469b1f7 fix some blendmode oopsies 2025-03-04 22:56:54 +01:00
Alug ddf21ea753 use memcmp for R_IsEmptyLine
:chonkbuncle:
this actually is quite a little faster too
2025-03-04 20:35:39 +01:00
Alug 8c451f6fee try make this slightly more readable 2025-03-04 19:27:26 +01:00
Alug dbb58f44e5 quick check if sectors are same
so can save on bunch of stuff, also move midtex check earlier
2025-03-04 19:18:27 +01:00
Alug d1981fd566 change syntax
will stay uppercase to not conflict with some crap Zzz...
2025-03-04 19:11:38 +01:00
Alug 73eafbe57c smth smth magic number 2025-03-03 13:12:00 +01:00
Alug 99087629f2 pointless inline 2025-03-03 11:20:03 +01:00
Alug f217914a47 empty function lel 2025-03-03 11:16:06 +01:00
Alug 8034e55050 this returns -1 on fail 2025-03-03 11:15:44 +01:00
Alug db0ffa3ed5 delet memcpy doing nothing 2025-03-03 11:14:09 +01:00
Alug 4318923ad5 tiny cleanup keyboard stuff 2025-03-03 09:56:13 +01:00
Alug 78cf0d8f9d temp revert nanosleep for nix 2025-03-03 00:13:59 +01:00
GenericHeroGuy 8524f3367c Figured out why that doesn't work 2025-03-02 23:30:02 +01:00
GenericHeroGuy 5b18c9837a Properly constant-fold (0 or 123)
But not (0 and 123). Yay bug compatibility!
2025-03-02 23:29:59 +01:00
Alug fa07c4d659 guh 2025-03-02 23:27:19 +01:00
indev ebcb3df9b4 Revert "Convert parsed numbers to doubles first in lj_strscan_scan"
This reverts commit 3f8fb365a0.
2025-03-02 23:13:18 +01:00
indev 9f76ede41e Revert "Restore setnumV for fmt == STRSCAN_NUM in lj_strscan_scan"
This reverts commit 644cd36286.
2025-03-02 23:13:15 +01:00
Alug 69d62b7b12 muh huh truncuate my butt mingw32 2025-03-02 23:13:08 +01:00
Alug 7ea55e2d29 bugger off UPX
dont want compressed executables, they BREAK backtraces
2025-03-02 23:02:43 +01:00
Alug febbc4f2cd inlining failed in call to my butt 2025-03-02 22:11:35 +01:00
indev 7480105a06 Restore setnumV for fmt == STRSCAN_NUM in lj_strscan_scan 2025-03-02 22:06:55 +01:00
Alug 6d604aed28 forgor 2025-03-02 21:44:31 +01:00
Alug 73d57220f0 screw you music system
no fucking clue but this fixes stuff showing the musiccredit too early on reload
2025-03-02 21:41:42 +01:00
Alug de4ee28ccf bleh 2025-03-02 21:29:21 +01:00
Alug 3bbe4842b7 Reapply "better M_Random implementation"
This reverts commit a406b21401.
2025-03-02 19:48:22 +01:00
indev 66198e0159 Convert parsed numbers to doubles first in lj_strscan_scan
Regular blua does something similar to that, and it changes how large
numeric literals are parsed. It's very rare for those to be used but can
still in theory cause synch issues between blua and bluajit clients
2025-03-02 19:10:51 +01:00
Alug 70a479836d lul 2025-03-02 19:10:48 +01:00
indev de4c90b790 Delet goto from bluajit, since regular blua doesn't support that 2025-03-01 13:05:03 +01:00
indev c8cc80a253 Fix water and fog shader missing #version 2025-02-28 20:39:39 +01:00
Alug cd991ca5bb more kart hud cleanup
also removes erronous nametag toggles
2025-02-28 18:54:38 +01:00
indev 8b6ce4e113 Don't reset demo recording if player is still entering replay name in intermission 2025-02-28 17:21:13 +01:00
Alug b356b72781 slight cleanup kart hud 2025-02-28 09:51:36 +01:00
Alug 58d3d66515 add airsparks to saturn options 2025-02-27 19:45:56 +01:00
Alug 94855fbaae color ping numbers for color hud 2025-02-27 19:38:11 +01:00
Alug a406b21401 Revert "better M_Random implementation"
This reverts commit a353dceaa3.
2025-02-27 19:37:41 +01:00
Alug 60018b5561 do this in a less horrifieng manner 2025-02-27 19:11:59 +01:00
Alug 25a5c39252 use floor shader for everything when paletterender disabled
just like vanilla!
not the way to do this properly, but whatever
2025-02-27 18:50:50 +01:00
Alug 8939e2601d actually can just use this directly 2025-02-26 13:04:10 +01:00
Alug fec04089c0 Merge remote-tracking branch 'origin/Saturn-Testing' into lugstuff 2025-02-26 11:11:19 +01:00
Alug 8dea244d1b turn this into a switch
else if stinky
2025-02-26 11:08:53 +01:00
Alug b96dc05a45 use lj_char_isspace 2025-02-21 20:05:35 +01:00
Alug 1ed3cf28b0 use strlen 2025-02-21 20:05:26 +01:00
indev 661d4ee8e1 Allow trailing spaces in lj_strscan_scan 2025-02-20 21:44:14 +01:00
Alug c711bf42c9 readd missing cast 2025-02-20 21:19:51 +01:00
Alug 1afb5e5219 toggle for keeping driftsparks while in air 2025-02-19 12:05:29 +01:00
Alug 98eaaae30e reuse var 2025-02-19 11:10:51 +01:00
Alug 10e303b0a8 few instances of int float conversions i forgor 2025-02-19 11:10:27 +01:00
indev 63391d3763 Fix compilation with old sdl 2025-02-18 23:50:04 +01:00
Alug 8a3d767c08 Reapply "delete acktosend"
This reverts commit 95f797fcda.
2025-02-18 23:49:55 +01:00
Alug d3b786d725 init joyid here
i hate the controller code
2025-02-17 21:58:27 +01:00
Alug ceff2e9be6 properly init numcontrollers 2025-02-17 21:30:36 +01:00
Alug 31dabda1db initialize this 2025-02-17 21:23:55 +01:00
Alug 72322e5f42 dont check number of controllers every frame 2025-02-17 21:16:12 +01:00
Alug 15f97ab8a4 skip a bunch of stuff in dedi/render_none 2025-02-17 20:54:37 +01:00
Alug 95f797fcda Revert "delete acktosend"
This reverts commit a150512122.
2025-02-17 19:45:34 +01:00
Alug a150512122 delete acktosend
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2591
2025-02-17 16:30:57 +01:00
Alug 1b58bdc903 update software precache
spit stuff into functions
handle animated textures and flats too
2025-02-16 16:47:06 +01:00
Alug 095fd0b015 better handling of sprite angles in precache
only cache stuff that we need
2025-02-16 16:38:42 +01:00
Alug 1abf62e929 skip checking sectors and lines multiple times 2025-02-16 15:37:43 +01:00
Alug 00f9eaf67f slightly optimize ogl precaching
cleanup too
2025-02-16 15:37:18 +01:00
Alug 3193081d0e make texture precache toggable 2025-02-16 15:34:54 +01:00
Alug ae7296c586 guard this in sprite precache 2025-02-16 15:33:58 +01:00
Alug 51efdb32e5 precache animated textures too 2025-02-15 16:22:16 +01:00
Alug 50e9721a0d also precache animated flats
i have no clue how tf animated textures work
2025-02-15 14:27:52 +01:00
Alug 2305a3210e dedicated server does not need to call texture precaching
prob leftover from back in the day, it doesent do anything at all anyways
also gives it a less ambigous name
2025-02-15 02:15:04 +01:00
Alug d947f5b4c1 precache (most) sprites on ogl leveload 2025-02-15 02:07:50 +01:00
Alug 18163ec6d7 mhhm ternaries 2025-02-15 02:06:51 +01:00
Alug efaf1eb2a1 move texture precache into own function
unnesting stuff
2025-02-15 01:05:44 +01:00
Alug d6476fde67 oops should be i 2025-02-15 00:35:34 +01:00
Alug c99f2c20b1 load both encore and non encore tex 2025-02-14 23:24:58 +01:00
Alug 989e1a3f56 move precache into hw_cache.c 2025-02-14 23:02:13 +01:00
Alug e2f311f9e0 handle encore in ogl precaching
thx indev for help <3
2025-02-14 22:57:25 +01:00
Alug 45b59fc81e this is incorrect, dont need it anyways 2025-02-14 21:57:57 +01:00
Alug 02fb70e2ae disable ogl precaching on encore mode
noencore things need to be handled
for now just disable it until i figure out how to check for lineflags here
2025-02-14 21:31:22 +01:00
Alug 53dfa07237 precache level flats and textures on mapload in opengl
not entirely sure if this works correctly with encore, have to test a little
TODO: move this into hwr file or smth
2025-02-14 21:22:42 +01:00
Alug bc2b85df0f Revert "do some lööp unrolling for software span drawers"
This reverts commit 782e3172ad.
2025-02-14 19:49:17 +01:00
Alug b21586a698 add toggle for blendmode player effects
otherwise people will yell
enabled by default for now for demonstration purposes
2025-02-13 18:41:26 +01:00
Alug 3797b02143 make P_InitCamera slightly prettier 2025-02-12 17:55:23 +01:00
Alug 796be8d0ff cleanup P_SetupLevel
removed bunch of pointless vars, moved some things into functions
changed some stuff to be boolean
2025-02-12 17:32:07 +01:00
Alug e394056c36 use correct type in P_InitMinimapInfo 2025-02-12 11:56:41 +01:00
Alug 8863b39aa9 split screentexture width and height
most displays are widescreen, so their width and height differ quite significantly, this may make the overall screentexture alot smaller
2025-02-11 19:21:38 +01:00
Alug 9c61691632 revert adding netbuffer to local ping
dont wanna revert the commit, since i keep the new way of determining the ping display, since its less awful than before
2025-02-11 15:01:48 +01:00
Alug 1e71c73a61 fix online player localping display 2025-02-10 21:00:00 +01:00
Alug 4349b6b9cb fix some level userdata not being invalidated
maybe fixed the random issues we had with the server?
2025-02-10 20:47:33 +01:00
Alug 793f3c23a6 dont add buffer delay when local delay is disabled 2025-02-10 19:05:44 +01:00
Alug 5987fd8fda account for netticbuffer in offline ping
this makes it more accurately reflect how it would behave in an online game
2025-02-10 17:43:33 +01:00
Alug c55fb60cc8 add some comments + smol cleanup again for keepmusic 2025-02-10 16:51:17 +01:00
Alug 9fcf4548df extend mapmusic_t struct and rename to music_t
didnt see that all the music stuff was more or less using the same things
2025-02-10 06:35:03 +01:00
Alug 11ea49fd15 clean this up a bit 2025-02-10 06:19:58 +01:00
Alug d09ae5ef5b init JoyInfo stuff on startup
just in case
2025-02-09 17:47:50 +01:00
Alug 78b1476c87 use joystick id here 2025-02-09 17:05:00 +01:00
Alug a2e12767ce reset joystick id when closing 2025-02-09 17:04:49 +01:00
Alug e2ec2ff4de optimize ogl drawer functions
by avoiding excessive interger to float conversions
2025-02-08 23:17:43 +01:00
Alug a5dcea17b6 fix clang uninitialised warning 2025-02-08 23:07:39 +01:00
Alug f803128b16 fix oopsie with mapmusic in glib 2025-02-08 18:09:52 +01:00
Alug 777629d8c3 this should be static 2025-02-08 17:48:00 +01:00
Alug 3de5a2d1d1 throw music vars into a struct "mapmusic_t"
simplifies everything, keepmusic vars use it too
2025-02-08 17:46:58 +01:00
Alug 48c3081fdc handle music reloadreset stuff in seperate function
just tryin make it less ugly
2025-02-08 17:31:01 +01:00
Alug 00e3f48329 rename this 2025-02-08 17:25:01 +01:00
Alug 39744885f2 always save keepmusic stuff
but set keepmusresume in stopmusic Zzz...
2025-02-08 16:47:12 +01:00
Alug c6451208ad attemp to fix playerreborn resetting keepmusic 2025-02-08 16:28:23 +01:00
Alug 0774274e9c change speelines blending condition
uuuhh, so, if you have sneakerboost they always will apply additive blending
otherwise if you go really fast (faster than sneakerboost)
2025-02-08 15:36:33 +01:00
Alug 2dc3ca5f01 did not mean to push this 2025-02-07 18:19:53 +01:00
indev 174a7b5d84 Don't force specific characters in M_HandleConnectIP 2025-02-07 18:18:20 +01:00
Alug cd57ebd763 keep track of joystick index in struct 2025-02-07 15:57:13 +01:00
Alug b14d1f1e0b just pass the controller directly
simplifies this alot
2025-02-07 04:05:10 +01:00
Alug 3f3df9346f Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2025-02-07 01:00:32 +01:00
Alug b0535da97b smol cleanup 2025-02-06 17:29:35 +01:00
Alug cdc25fddc8 only apply additive blend to speedlines when any kind of boost is happening
to emphasize that ure boosting or smth
2025-02-06 17:25:17 +01:00
Alug 351f043131 update controller led when connecting a controller 2025-02-06 14:43:18 +01:00
Alug 5f7632decf dont pass bogus values to I_GamepadRumble and I_SetGamepadIndicatorColor
- fixes rumble and led stuff not working after hotplugging
- also fixes sdl2-compat breaking
- i hate karts controller code
2025-02-06 02:12:05 +01:00
Alug 235f830621 remove this from action list 2025-02-05 17:08:16 +01:00
indev d49b5af91a Don't start invinc/grow alarm sound when player uses power item
It will still be started in K_UpdateInvincibilitySounds, but now if
player already had invincibility, they won't get 2 overlapping sounds
2025-02-05 16:56:42 +01:00
Alug d245c6eca7 Revert "kill a bunch of uneeded null checks"
This reverts commit 7bc804bccb.
2025-02-05 16:52:45 +01:00
Alug f02bd5513e random shit i had stashed and too lazy since its for testing only anyways 2025-02-05 15:45:06 +01:00
Alug 88dc60648e screw you seenames 2025-02-05 15:33:10 +01:00
Alug 63d6987b93 also add additive to boostflame 2025-02-05 00:35:33 +01:00
Alug 2386877394 test fix software white pixels (thx indev <3) 2025-02-04 19:09:38 +01:00
Alug 65188a6652 add blendmodes to a bunch of effects
lul
2025-02-04 19:08:54 +01:00
Alug 35e1c3370d crappy deb prints for mus stuff 2025-02-04 12:56:18 +01:00
Alug 7904740024 show musiccredit when using tunes 2025-02-04 12:56:05 +01:00
Alug 8af0d2c14c keep track of map music
this is kinda horrible, but allows musicchanges which replace map music/tunes to also work with this system
2025-02-04 12:55:50 +01:00
Alug bfd19512b1 reset keepmusposition in tunes command
mapmusic will be reset the moment the gamestate changes, so whatever was changed with tunes will not be kept sadly
2025-02-04 02:41:31 +01:00
Alug b777e82890 save music position and try to fade back into mapmusic when the music changed from mapmusic when keepmusic is enabled
uhh idk how to explain lel
hope this doesent explode
2025-02-04 02:24:08 +01:00
Alug 8cc09712bc skip intro sounds also with keepmusic lel 2025-02-04 02:12:51 +01:00
Alug 21a1158798 add additive blending to fast speedlines 2025-02-03 20:43:30 +01:00
Alug 207741651a handle ogl sprite lightlevels like rr now that we have all the stuff for it 2025-02-03 20:43:03 +01:00
Alug 098f5c9086 oops didnt mean to move this 2025-02-03 19:54:51 +01:00
Alug 919623157b flag clash moment 2025-02-03 18:39:17 +01:00
Alug 2d1f3b90e4 forgor 2025-02-03 18:39:03 +01:00
Alug 67fb508e8d Update position nums to use additive
https://git.srb2.org/KartKrew/RingRacers/-/commit/4d108930a94f44dbc916d1116eab8421e669e4b6
2025-02-03 18:10:36 +01:00
Alug ec121f5ac7 fix merge conflicts 2025-02-03 18:07:29 +01:00
Alug 73dc9a794f Add line and FOF blending, fix model and shadow blending
also a bit of cleanup in r_things but it's too minor to headline
2025-02-03 18:00:04 +01:00
Alug 3e563df999 Prelim: Linedef alpha variable
realistically this was just because I'm Lazy
this makes figuring out linedef blending less of a brain twister
2025-02-03 17:59:39 +01:00
Alug 7ad25c5f19 Add blending modes 2025-02-03 17:59:18 +01:00
Alug 3bae721fa8 try simplify blockthings iterator 2025-02-03 14:42:44 +01:00
Alug e0ae6aa85c use vectors P_ClosestPointOnLine3D and kill vertex z 2025-02-03 14:42:23 +01:00
Alug 36508c24e3 apparently those temp variable are not needed 2025-02-03 14:41:51 +01:00
Alug 201ead11ea check for realpatch here too 2025-02-03 14:41:10 +01:00
Alug 05354a3352 no need pass this stuff 2025-02-02 15:18:05 +01:00
Alug ed6b6404a3 should revert this completely 2025-02-02 00:19:46 +01:00
Alug e7c68fbeea partly revert this
some of those "mightve" been changed at the point of the check
2025-01-30 13:25:46 +01:00
Alug 9c00b4c32d inline G_CopyTiccmd 2025-01-30 13:11:49 +01:00
Alug bab0f05c3e dont register a crapton of pointless stuff for dedi
should cleanup dedi config significantly lmao
2025-01-30 13:11:30 +01:00
Alug bc62f0632a tiny cleanup i_video 2025-01-30 11:45:35 +01:00
Alug f5c5978f9d dont need to do all this crap if disabled 2025-01-30 00:14:57 +01:00
Alug 8eaa1f6130 "kill" seenames
idk if anyone wants it, its still there, needed to move the netvar out of it tho lol
2025-01-30 00:07:32 +01:00
Alug 9a84d9f1f8 move this after the early returns
save some time when drifting
2025-01-30 00:04:21 +01:00
Alug 4b44af7cf1 lmao 2025-01-29 23:57:42 +01:00
Alug b16472a379 turn driftsparkGrowTimer into a player field
less hacky and avoids 3 loops lol
2025-01-29 23:57:25 +01:00
Alug 8f7d51e57c kill redundant laptime code
just use the newer one
2025-01-29 23:23:54 +01:00
Alug 3cc8f8650d In rehashtab, do counthash before adding asize
Thanks alug!
2025-01-29 22:28:44 +01:00
Alug 3162930634 cause undefined behavior in table resizing calculation. :chonkbuncle:
reverting https://github.com/LuaJIT/LuaJIT/commit/c56811bb7acf40174ac9b63e69f58b42adf85bd7

seems to fix the issue with mismatching tables between jit and kart blua
2025-01-29 21:44:22 +01:00
Alug 45a8f61266 refactor M_DrawSlider
apparently fixes weird framerate issues with gamma slider
also shows the values on sliders
2025-01-29 19:33:57 +01:00
Alug 2f66ba0126 inline V_LocalTransFlag
its very smol
2025-01-29 19:05:42 +01:00
Alug 90bdd24de2 even more replay deb prints lel 2025-01-29 12:16:38 +01:00
Alug 8527d71fa8 also print player name for item desynch 2025-01-29 00:46:16 +01:00
Alug aba60ffd74 smol replay fixes from rr 2025-01-29 00:32:20 +01:00
Alug 3e455ee8ee better replay resynch prints 2025-01-29 00:32:04 +01:00
Alug 5f297136b8 Have replay recording of "hits" use the reference count system
https://git.srb2.org/KartKrew/RingRacers/-/commit/fa8bffabfc51ea1d7be86d833190bb7dcf494fca
2025-01-29 00:08:50 +01:00
Alug 2b6c05839e try and just compare music with mapmusname first 2025-01-28 18:32:19 +01:00
Alug aa5b480a44 inline a bunch of super smol lua things 2025-01-28 18:31:54 +01:00
Alug ba38b69782 inline a few hooklib functions 2025-01-28 18:10:10 +01:00
Alug 8cf889c390 super smol optimization 2025-01-28 17:37:52 +01:00
Alug 398d62e2a6 pass slope to K_RollMobjBySlopes
removing some code dupe in the process and allows some more flexability
2025-01-28 17:33:44 +01:00
Alug c923c6c96a forgor to set those oop 2025-01-28 16:09:56 +01:00
Alug 983410c953 fix issues with models
- Sloperotation was weird, it now uses what we calculate in K_RollMobjsBySlopes
- in general uses srb2s newer system
- alot of cleanup of pointless variables
- sprinfo pivots should now work
- removed roillmodel since it was smth weird and broke rollangle
2025-01-28 16:05:20 +01:00
Alug 4260527170 dont rain on stuff without planes lel 2025-01-27 23:41:54 +01:00
Alug 34603b9128 dont recalc if precip sector didnt move
forgor i can just check this
2025-01-27 23:24:01 +01:00
Alug a4213d0316 only need to recalc this once a tic
precip thinker thinks slightly more often, but we really dont need that tbh
2025-01-27 23:13:34 +01:00
Alug 3f63d89099 only recalc floorz for visible precip mobjs
before it apparently recalced it a crapton for the crapton not visible precipmobjs, which even on vanilla maps led to noticable jitter
2025-01-27 22:25:34 +01:00
Alug 83b6b841c6 just keep a copy of musicchange before the lua hook
keep music can check for what was it stuff changed last to
2025-01-27 16:43:48 +01:00
Alug f84ac6febe grow an invinc music also broke stuff
cant put it into the music exception list, otherwise it will always disable keepmusic when either one was used even once
2025-01-27 16:13:00 +01:00
Alug 89443dfe30 the music system is truly amazing 2025-01-27 15:32:47 +01:00
Alug df33acdd01 i hate conditions 2025-01-27 14:54:49 +01:00
Alug e0579225f3 smol optimization comparePolygon
return slightly earlier for skywalls and horizonlines
2025-01-27 11:21:23 +01:00
Alug 4f64ba6e79 make old ping bar be blue on d1 aswell as purple with mindelay 2025-01-27 09:19:25 +01:00
Alug fd3efc5469 potential fix for clients locking up due to never receiving acks back
apparently, if the client doesent receive an ack back which may happen due to duplicate packets/bad net conditions, it may spam resend the packet until its netxcmd buffer is full and locks up
2025-01-27 08:58:21 +01:00
Alug 64afc7a737 set this to 1 2025-01-27 08:57:55 +01:00
Alug e5de2a0165 disable landing dust for now
idk how to not make it spawn when item was placed instead of thrown Zzz...
2025-01-26 21:15:12 +01:00
Alug 09a2deb6de also rotate eggboxes in air 2025-01-26 21:14:24 +01:00
Alug ef1917dc6b reduce dust momz a little 2025-01-26 21:14:08 +01:00
Alug 94fbd49f40 spawn dust when throwable item lands
also when you drive into a banan
2025-01-26 20:26:29 +01:00
Alug 9c00eedfaf fall through deez 2025-01-26 18:31:17 +01:00
Alug 444e42517f delet if else hell 2025-01-26 18:18:23 +01:00
Alug 33921e79f4 handle vote bg fallbacks more gracefully
if someone doesent provide a widescreen patch it now falls back to the replaced non widescreen one and vice versa instead of just falling back to what vanilla provides
2025-01-26 17:57:27 +01:00
Alug bdafaa014c forgor about the banan spin 2025-01-26 16:17:58 +01:00
Alug dfe9815837 reduce scope of those
makes it look slightly neater
2025-01-25 22:44:22 +01:00
Alug db5b728a97 draw non widescreen anim vote bg before falling back to vanilla bg
how it was before, the game just fallback to the vanila widescreen patch if there was no animated widescreen bg provided, just fall back to the non widescreen anim patch instead if it exists
2025-01-25 22:13:39 +01:00
Alug 10c0c8afab move this
no need to have two conditions for same thing
2025-01-25 21:50:40 +01:00
Alug f14591033d kart is special and changed ping colours
so change this to reflect it
2025-01-25 21:40:28 +01:00
Alug 4e76751372 make ping flash somewhat like vanilla again 2025-01-25 21:36:06 +01:00
Alug 7e8cda4a96 "makes integer from pointer without a cast" deez nuts 2025-01-25 16:59:31 +01:00
Alug cebbcbaf7c remove noshowhelp from bunch of debug cvars
doesent make too much sense those are hidden tbh
2025-01-25 15:39:40 +01:00
Alug 55e90733ec dont banan drag rumble when not driving lel 2025-01-25 09:32:49 +01:00
Alug fd95e6a075 setup maplight stuff earlier
otherwise it doesent init early enough
2025-01-25 08:05:51 +01:00
indev fb9212a8c6 Fix 'total podium' stat display using totalwins 2025-01-25 06:30:52 +01:00
Alug a19260080d inline one line gametype checks 2025-01-24 21:55:47 +01:00
Alug fe8b8d798c inline bunch of one line HWR things 2025-01-24 21:54:36 +01:00
Alug 2b988d404f inline G_TicsTo stuff
theyre smol and get called often
2025-01-24 21:19:50 +01:00
Alug 439a2811b1 j moment 2025-01-24 21:18:17 +01:00
Alug 097b70f069 add funny banan throw rotate thing
like rr
2025-01-24 19:24:56 +01:00
Alug f557ae8bd6 think we should copy this 2025-01-24 18:04:38 +01:00
Alug 4dd80ff328 make trailing items also be able to rotate on slopes
mostly stuff from RR thx!
2025-01-24 17:56:50 +01:00
Alug a011b4e3ee spawn speedlines with non synched rng if ur in eggbox status
and well only if you have colourisation enabled
2025-01-24 17:14:30 +01:00
Alug 69d8dafc8f oop 2025-01-24 06:43:46 +01:00
Alug 10028a4769 proper add server gentlemans
this should be a netvar, but we cant really do that, thought not a huge deal
however id wish to send some kinda message to all players but idk
2025-01-24 06:39:57 +01:00
Alug 86712703d7 dont mess up realpingtable
when serverplayer has mindelay active
this was supposed to show mindelay for serverplayers but that doesent work :chaosleep: so just do not mess with it
2025-01-23 21:55:37 +01:00
Alug 230962c8c2 slight cleanup HU_drawPlayerPing 2025-01-23 21:25:26 +01:00
Alug a3dfa2a930 assign player later 2025-01-23 20:40:05 +01:00
Alug 4ce0a6c63e try speedup P_LoadRawSubsectors 2025-01-23 20:33:11 +01:00
Alug 25b13a89d4 try speedup P_LoadRawSectors 2025-01-23 20:27:56 +01:00
Alug c2611a465a simplify camtoggledelay and spectatedelay
just make em an array and use lööp
2025-01-23 19:45:23 +01:00
Alug bb6e58b5ce kill P_TeleportMove
P_MoveOrigin literally just calls that so replace it with that
2025-01-23 19:33:35 +01:00
Alug 7aa641bbfd colourise ping colour 2025-01-23 18:06:41 +01:00
Alug 3d3ebdefd6 a 2025-01-23 18:06:19 +01:00
Alug ad4be98c8a colourise pingnumber when gentlemens is active 2025-01-23 18:06:06 +01:00
Alug 86a172800d division by zero moment 2025-01-23 17:38:20 +01:00
Alug e1cfbd25fa add gentlemens delay to ping display
+ display ping even offline if you have mindelay active
2025-01-23 16:48:38 +01:00
Alug 0a40a28c3d smol cleanup 2025-01-23 16:16:46 +01:00
Alug ff90a678f1 port clientsided gentlemens delay
cant do the serverside stuff due to netvars
2025-01-23 16:03:12 +01:00
Alug edb7678675 just use D_NumPlayers 2025-01-23 15:50:45 +01:00
Alug d19e3b69fc Prevent dropped ticcmds due to interp timing jutter
kinda figured out what this does, and makes clients on uncapped listen servers alot less prone to drop gametics
2025-01-23 15:05:11 +01:00
Alug 70428d2309 fix freecam not resetting online
idk local player handling is fucking awful in kart
2025-01-22 19:42:01 +01:00
Alug b14b913d0a try just passing the sector + add 50 trillion extra checks
idk anymore but this is literally now how vanilla kart behaved
2025-01-22 19:08:03 +01:00
Alug f0df97589f skip some stuffs when theres no portals
skip some portal checking incases wheres no portals
2025-01-22 18:04:50 +01:00
Alug 58d0b5ffc6 remove redundand FTransform field 2025-01-22 16:46:58 +01:00
Alug fd1ea7ab0a more smol ogl sprite drawer optimizations 2025-01-22 15:45:08 +01:00
Alug 2036dfd83b also fix potential use-after-free in HWR_AddPrecipitationSprites
no clue why ogl didnt do it since its effectivle the same code as software
2025-01-22 15:44:25 +01:00
Alug fa9582cc72 no need to check for invisible precip here
the early returns indirectly handles things since we dont have custom weather support in kart
2025-01-22 15:43:24 +01:00
Alug 4b7a2848e5 split HWR_DrawSprites
saves on ALOT of conditional branching in a lööp when models are disabled
2025-01-22 15:23:30 +01:00
indev 9c16798fdb Check for spectator in K_StatRound 2025-01-21 16:54:53 +01:00
Alug 0d3d958b46 fix level statistics page controls 2025-01-21 16:54:28 +01:00
Alug a899923067 use SRB2.2s general folder structure
- seperate addons folder (download folder remains in home directory unlike RR)
- seperate gif and screenshot folders
2025-01-21 01:35:10 +01:00
Alug 6e0519bbbc use SRB2.2´s logging system
- creates a new logfile each start instead of overwriting it everytime
2025-01-21 00:50:21 +01:00
Alug 26ef5b0dad e better play it safe 2025-01-20 22:26:07 +01:00
Alug 127a7e5ae7 delete nonfunctional second mouse stuff 2025-01-20 22:02:08 +01:00
Alug 7320fdc340 kill even more unused patches
+ nonexistand crosshair stuff
2025-01-20 21:30:37 +01:00
Alug 867bc8197b dont cache all those unused hud graphics 2025-01-20 21:12:06 +01:00
Alug db7ab2d33f Hold up/down for 2 seconds while not moving to pan the camera vertically
from RR
2025-01-20 19:33:47 +01:00
Alug f56de827b5 a 2025-01-20 19:21:33 +01:00
Alug a9cb23be79 oops didnt init this 2025-01-20 19:17:41 +01:00
Alug 07287d056c dont turn 90 degrees when switching to freecam 2025-01-20 19:00:10 +01:00
Alug f3c44b48b9 kill aiming stuff in BuildTiccmd 2025-01-20 18:53:26 +01:00
Alug 5ab348bf30 fix freecam vertical look for the 500th thousand time
truly amazing code
2025-01-20 18:04:05 +01:00
Alug 2715699648 put this thing onto its original place 2025-01-20 15:22:00 +01:00
Alug 355dc07401 code dupe P_CyclePlayerMobjState 2025-01-20 15:19:43 +01:00
Alug 7c7e820a94 put this into switch
looks better
2025-01-20 15:09:19 +01:00
indev 2fd8532be0 Put playtime statistics at first page instead of RA medals 2025-01-19 01:10:55 +01:00
indev 83091413e7 New statistics menu (WIP) 2025-01-19 00:59:19 +01:00
indev 14fff2e3a3 Wipe kart stats on game data reload 2025-01-19 00:45:32 +01:00
indev ba26fc8226 That was from testing a 2025-01-19 00:31:32 +01:00
indev 85d68a7b7b Make custom stats fully compatible between different versions, so new fields can be added in future without save corruptions 2025-01-19 00:30:55 +01:00
Alug 2885dbfb12 remove some code dupe in R_AddLine 2025-01-19 00:03:46 +01:00
Alug 9e5341537a ; moment 2025-01-18 21:35:22 +01:00
Alug cedf7beaa1 more sane thing 2025-01-18 21:22:20 +01:00
Alug dd84250c8a actually should always use mobjscale 2025-01-18 21:06:30 +01:00
Alug fe3a7525b3 mobjscale precip sectorheight stuff 2025-01-18 21:04:20 +01:00
Alug 5380ce85d9 fix lessprecip toggle doing nothing
logic error on my part
2025-01-18 21:03:06 +01:00
Alug cc043cb4c8 use MT_NULL instead of number 2025-01-18 14:36:35 +01:00
Alug db6cd6b510 refactor weather switching
from srb2
makes this more sane and makes PRECIP_STORM_NORAIN not spawn a crapton of invisible mobjs
2025-01-18 14:29:44 +01:00
Alug 6670b6f611 idk why we check this 2025-01-18 11:45:20 +01:00
Alug 2d5cf03ceb attempt optimizing P_PointOn stuff again
this time non inversed and wrong lel
2025-01-18 11:44:34 +01:00
Alug 51631dcb40 forgor to check for that flag 2025-01-18 11:44:09 +01:00
Alug ff620c0218 change tooltips slightly 2025-01-17 23:44:17 +01:00
Alug 7cc3f6af7f add stuff to menu 2025-01-17 23:42:50 +01:00
Alug 56007eda9c ok clang 2025-01-17 23:35:33 +01:00
Alug 9b4d275d51 replace byte2float table with direct calc
actually speeds up things for me by around 5-10fps
2025-01-17 23:07:50 +01:00
Alug 405693e1ed shut up clang 2025-01-17 23:07:03 +01:00
Alug 269dbc6fef set sdl audio resampling mode to highest quality 2025-01-17 21:45:07 +01:00
Alug 8346d59a42 try to use double buffer vsync 2025-01-17 21:44:54 +01:00
Alug 4e34b549b5 disable this 2025-01-17 21:44:32 +01:00
Alug fe598266e3 fix nofbocompile 2025-01-17 21:42:19 +01:00
Alug d6579a9e6d :chaosleep: 2025-01-17 19:53:30 +01:00
Alug c057803a17 add toggle for item amount number display 2025-01-17 17:15:00 +01:00
Alug 0bcd840f60 Revert "turn on multiitemicons by default"
This reverts commit 9217cd3832.
2025-01-17 16:48:06 +01:00
Alug c7425a02ac "Fix console text bleeding "
read https://git.do.srb2.org/STJr/SRB2/-/merge_requests/1434
2025-01-17 14:22:56 +01:00
Alug 0f7c91e894 cap console animation if uncappedhud is disabled
since thats "how vanilla done it" before
2025-01-17 14:17:44 +01:00
Alug e9f7f50088 use R_GetHudUncap 2025-01-17 14:12:19 +01:00
Alug b8540f9e21 add fancyroulette toggle 2025-01-17 14:12:07 +01:00
Alug 2196905023 add the fancy hudtrans flags 2025-01-17 13:58:29 +01:00
Alug bc874e5605 dont fancy during respawn 2025-01-17 13:58:14 +01:00
indev f84a78c4e6 Fancy :D 2025-01-17 13:50:11 +01:00
Alug db836ae315 turn on multiitemicons by default 2025-01-17 12:58:26 +01:00
Alug b328b98a2d add banan jitter toggle to menu 2025-01-17 12:37:23 +01:00
Alug 66bfff4f84 change how spritescales and offsets work
- now theres realoffsets aswell
- allows better control of changing things per lua and still do funky stuff in hardcode without conflicts
- spritescales and offsets now get reset centralised before any thinkers run
2025-01-17 00:54:40 +01:00
Alug 32bc9979a0 add toggle for bananjitter 2025-01-16 23:42:21 +01:00
Alug 55f2841c33 only rumble banan when on ground 2025-01-16 23:32:59 +01:00
Alug 127e2bcf27 fix typo lel 2025-01-16 22:33:17 +01:00
Alug e84e186df0 don use multiicon patches in 3/4p splitscreen
since it uses the smoler patches
also removes redundant assignments
2025-01-16 21:58:37 +01:00
Alug d6ad6f85ea simplify keepmusic
honestly no clue why i made stuff check on every music change
2025-01-16 21:00:47 +01:00
Alug f8515f697e clean up d_net 2025-01-16 00:59:38 +01:00
Alug 89856bf5b2 Clear acktosend when initializing node
since it was never reset, values might been taken over from former node
2025-01-16 00:58:52 +01:00
indev 3743303748 Add spb music to list of exceptions for keepmusic 2025-01-16 00:57:45 +01:00
Alug 6b5517ee2c dont keep music if there is no music 2025-01-16 00:57:39 +01:00
indev de8ffbfd60 Fix spectator control text overlapping when showdirectorhud is off 2025-01-15 21:39:02 +01:00
Alug ade0526311 oops 2025-01-15 12:59:00 +01:00
Alug 713fe463b0 ignore invisible fofs again 2025-01-15 12:57:53 +01:00
Alug c18695d194 make freecam strafe be affected by freecamspeed cvar 2025-01-15 12:57:35 +01:00
Alug 4cacac86cd also skip invisible fofs 2025-01-15 12:09:48 +01:00
Alug 719c70a432 dont throw a warning about addons with custom gamedata
just ignore it
2025-01-15 11:54:56 +01:00
indev db567a3d80 G_PlayerReborn didn't work for 'respawns' stats, maybe G_DoReborn will? 2025-01-14 20:05:38 +01:00
indev 61bcab727f Player kartstuff's get reset in G_PlayerFinishLevel, so need to call K_StatRound earlier 2025-01-14 20:05:33 +01:00
Alug 2512a9bc87 no need to strcmp just check for "savemoddata"
that bool only ever gets set to true if the savegame has been switched to the modded one and unlike in srb2 this WILL never be reset to false again
2025-01-13 17:42:22 +01:00
Alug a51540fe06 save vanilla save when switching to modified savegame
also add check so we dont rerun this everytime setgamemodified is called
2025-01-13 16:41:45 +01:00
Alug 26b8b126d2 remove "majormods" checks from stuff that saves to savegame
so its only there to throw a notice when you load an addon
2025-01-13 16:37:56 +01:00
Alug 37ed39840f Merge remote-tracking branch 'origin/kartstats' into lugstuff 2025-01-13 16:00:55 +01:00
Alug 6fa1ec8a07 Revert "make game use seperate save when addons are loaded"
This reverts commit 07e1c9e993.
2025-01-13 15:58:28 +01:00
indev 723f5a97f2 Clear menus when running 'map' command 2025-01-13 15:54:20 +01:00
Alug 88761ce4a4 remove this
hooklib refactor already indirectly fixed this so this code is pointless
2025-01-13 15:50:12 +01:00
Alug 07e1c9e993 make game use seperate save when addons are loaded
so you can record attack and it will also keep saving to statistics
also added a few things it now keeps track of
TODO: unfuck the statistics page and add a 2nd one perhaps? due to space reasons
menucode is hell
2025-01-13 10:47:38 +01:00
Alug c3c5a38360 this doesent work out
breaks some textures not appearing on some maps
2025-01-13 07:55:02 +01:00
Alug b36b2379b2 slightly cleanup gravstretch stuff 2025-01-12 17:07:07 +01:00
Alug fdef0127fa change banana default patch to match lua roulette hud behaviour 2025-01-12 17:01:12 +01:00
Alug 56c4d72318 add support for multiitem patches (thx neppy!)
needs new patches, unsure if we just gonna add em to the extra file or make a new one
so it ambigous for now
2025-01-12 17:01:08 +01:00
Alug e64fc61fac oops fix menu stuff 2025-01-12 17:01:04 +01:00
Alug c5ccb2cd2c oops those should be player scale actually 2025-01-12 02:33:59 +01:00
Alug 90eda3b79a fix having saltyhop disabled forcing player spriteyoffset to be forced 0
just clear out everything on toggle
2025-01-12 02:27:32 +01:00
Alug dd8ac9f75c add toggle to colour sneakertrail flames (thx neppy!) 2025-01-12 02:00:31 +01:00
Alug 4d37cfba2a split ra wheel and position number hud offsets
kinda ass due to the preset offset, but will just not apply if either was changed from its original position
2025-01-12 01:51:37 +01:00
Alug 8fac3fa367 toggle for camera turnaround on timeover 2025-01-12 00:59:47 +01:00
Alug fc658f3fe9 forgor about software again 2025-01-12 00:01:57 +01:00
Alug 4c7a204151 TEST: skip prepping 3d floors for fofs without planes
or if they were already checked
2025-01-11 23:27:44 +01:00
Alug fa09ee3c42 split HWR_RenderBSPNode
to reduce function call overhead
its only microscopicly faster lel
2025-01-11 23:04:35 +01:00
Alug 031c1017c1 one line this 2025-01-11 22:34:45 +01:00
Alug e3a4a85833 fix frame flag clash 2025-01-11 19:54:59 +01:00
Alug bf0d4077b0 hmm try making them have absolute lightlevel 2025-01-11 18:10:15 +01:00
Alug 0c5c12adb9 simplify cmpack 2025-01-11 18:09:51 +01:00
Alug ba27cd1c6c put random direction light toggle into advanced video options
also make it a scoll menu
2025-01-11 18:08:14 +01:00
Alug 0bc865395e reinit random maplight on mapchange when toggled
the condition may otherwise not change the light if you restart the same map
2025-01-11 08:52:41 +01:00
Alug f78d5fffdc oops 2025-01-11 08:28:49 +01:00
Alug 0801c18e22 add FF_ABSOLUTELIGHTLEVEL
mobj_t.lightlevel is absolute instead of relative when set
2025-01-11 08:22:30 +01:00
Alug fe3bc867bc add encore variants of maplight 2025-01-11 08:03:59 +01:00
Alug 23dd5aa1d9 forgor this 2025-01-11 07:50:10 +01:00
Alug 52b8a34535 if disabled and no soc overrides light behave like vanilla
always apply wall and slope contrast pls
2025-01-11 07:34:41 +01:00
Alug 4f5d49292c change how randomized light works
so it doesent kill actual soc set randomlight if you toggle it
2025-01-11 07:25:12 +01:00
Alug c991abc64d move this 2025-01-10 22:46:05 +01:00
Alug ca7b397e21 "Invinciblity" 2025-01-10 22:31:31 +01:00
Alug 6b44984549 seperate game turn axis from cam turn axis
both are bound to the same value by default, so vanilla controls remain intact
theres no other good way to have gamepad controls for this sadly
2025-01-10 22:23:28 +01:00
Alug 06ae053783 strafe controls for speccam/freecam
TODO: seperate cam turning axis from gameplay turn axis for gamepads
2025-01-10 18:33:50 +01:00
Alug 178db4baae let "fovchange" work in software 2025-01-10 14:58:58 +01:00
Alug 0ffff2751e clamp to length-1 2025-01-10 02:14:31 +01:00
Alug 9121ec9527 reinit minimap stuff when a wad is added while ingame 2025-01-10 02:11:43 +01:00
Alug 8f251485a3 fix column drawers clamping stuff 2025-01-10 01:54:31 +01:00
Alug 5ea1e2bd71 kill unarchivevaluedemo
just pass if we load from replay or not and do stuff accordingly
2025-01-09 20:05:06 +01:00
Alug 21d1bd3033 make gamestate download show total gamestate size 2025-01-09 18:21:32 +01:00
Alug a79e78644d this should also use unpaused rendertimefrac 2025-01-09 17:25:50 +01:00
Alug 782e3172ad do some lööp unrolling for software span drawers
actually gained me like 5 fps on 1440p for some reason lel
2025-01-09 17:15:30 +01:00
Alug 5fbc1ae911 use lööps for those to look a little better lel 2025-01-09 17:11:02 +01:00
Alug 8c8a597559 dont reset cam using f12 when only one player is ingame 2025-01-09 17:06:45 +01:00
Alug f3f5f364d3 slightly refactor chasecam stuff again 2025-01-08 23:49:26 +01:00
Alug e70342fc19 le funny banan drag jumpy 2025-01-08 18:34:54 +01:00
Alug f168c2f8c4 fix postimg data types mismatch
also remove the "postimgflag_t" typedef since its useless
and use smoler type for everything we dont need much space lol
2025-01-08 18:23:25 +01:00
Alug 89e5ed191c shouldnt this be uint? 2025-01-08 15:42:36 +01:00
Alug e02ad7883c this is not needed anymore 2025-01-08 15:12:31 +01:00
Alug 5bb613dda1 smol cleanup localskin ranking shit 2025-01-08 06:29:17 +01:00
Alug 37b3519a51 grow pp rumble 2025-01-08 06:02:11 +01:00
Alug 95ed1712bf add banandrag rumble lol 2025-01-08 05:51:00 +01:00
Alug 1d5502a17e add slight fadeout to spinout rumble 2025-01-08 05:50:41 +01:00
Alug eee6e4e020 driftcharge toggle + menu entry 2025-01-08 05:04:54 +01:00
Alug 7cdacc7bdd add a toggle for colourspeedlines 2025-01-08 04:58:36 +01:00
Alug 64d447298b move this
to preserve order as best as possible due to synched rng zzz...
2025-01-08 04:48:37 +01:00
Alug 5433a9d31d reorder saturn hud menu a little
also remove uncapped hud from it, since why would you ever wanna turn it off?
2025-01-08 04:31:11 +01:00
Alug d30934fa4d move saturn hud cvars to k_kart and fix driftgauge extra showing
if there is no patch for it
its kinda dumb, since technically would allow to not load all of em
but im lazy and dont wanna change possiblevalues around
2025-01-08 04:01:48 +01:00
Alug eed42d9b18 toggle for smol positionnum and posnum animation 2025-01-08 04:00:57 +01:00
Alug 44c016fd2c fix "connect" command not saving to last server 2025-01-08 03:17:14 +01:00
Alug f0f1a16982 oops forgor those 2025-01-08 01:48:55 +01:00
Alug 4b6587e8ba clean up gamepad led stuff 2025-01-08 01:46:56 +01:00
Alug f427dce73b dont rumble in freecam + player fix 2025-01-08 01:33:37 +01:00
Alug a4ddbff64d oops fix software lel 2025-01-08 00:13:27 +01:00
Alug aa937f2f7b clean up this mess a little 2025-01-07 22:47:35 +01:00
Alug bc1cde262c a 2025-01-07 22:04:52 +01:00
Alug 56014403b2 aight try this 2025-01-07 21:15:40 +01:00
Alug 48566ea8eb fix fbo crap once again 2025-01-07 20:16:28 +01:00
Alug e44bec1b8c check if subsector has sector before assigning 2025-01-07 19:49:36 +01:00
Alug a8bfd89b01 fix freecam aim getting stuck and other issues
- gamepads now aim like they used to and at same speed as keyboard
- aim reset has been changed so it resets automatically, but also can be manually reset with centerview
- aiming is locked during cam reset
2025-01-07 18:47:12 +01:00
indev 0f245f52b1 If available, add map title into crash log 2025-01-07 16:30:37 +01:00
Alug ae8629ecba replace common damage magic numbers with named macros
that stuff always confused me before lol
2025-01-07 16:30:32 +01:00
Alug f0f69e873a readd check for banan
this time without mobjwasremoved
just check if banan exists
2025-01-07 16:29:33 +01:00
Alug e9c35d269d check for cam subsector
since we can move it around and i added this to freecam mode, subsector may be null for reason so better be safe than sorry
2025-01-07 16:28:38 +01:00
Alug ee8f937866 idk but this func crashes often enough 2025-01-07 03:48:14 +01:00
Alug 1a0bb18de7 make this more complicated due to a "-" 2025-01-06 22:50:15 +01:00
Alug f4fa1fbd8c check for 0 to avoid division by 0 2025-01-06 22:40:56 +01:00
Alug 50593dbfc2 change director toggling handling
- now not changable over console anymore, bind only!
- it doesent save anymore so its always disabled at game start
- moving while in spec state will disable director when active so stand still
- disable it in splitscreen completely
- only adjust view when toggling it on
2025-01-06 22:40:36 +01:00
Alug 65b5415216 let postimg stuff also apply to freecam 2025-01-06 22:02:34 +01:00
Alug bbe9d29d5c add a little extra safety here ig
this crashed on levelload once so idk maybe player was null ig
2025-01-06 19:49:29 +01:00
Alug b77673550e save a whopping 2ms from gamestart to race start on texture updating 2025-01-06 19:05:42 +01:00
Alug d82acd060c double the slack for slep 2025-01-06 19:01:58 +01:00
GenericHeroGuy 3f139d83ca Add cleanjit target
Recompiling the whole game after changing a single flag is pretty tiring
2025-01-06 17:12:32 +01:00
GenericHeroGuy a8743d50b8 Fix some functions leaking doubles in INTONLY 2025-01-06 17:12:29 +01:00
Alug 9c105db8da any of those may be NULL in MakePatch
no idea but this crap keeps crashing in some other place every single time i add a check somewhere else
2025-01-05 23:02:27 +01:00
Alug 25bcd2b866 thats not timedemo lel 2025-01-05 21:24:48 +01:00
Alug 31726b05e6 turn off any active menus when using demo play commands 2025-01-05 21:23:45 +01:00
Alug 2f1e591d06 disable pause vhs effect when in freecam mode 2025-01-05 20:37:39 +01:00
Alug 8cb4349950 slight slep optimization
https://git.do.srb2.org/STJr/SRB2/-/commit/1da55066d43ed6a0cb666999c20316bef463024b?merge_request_iid=2583
2025-01-05 20:12:19 +01:00
Alug 38653dd22f disable director while in replay freecam 2025-01-05 19:01:54 +01:00
Alug e6e179453c no u may be used uninitialised 2025-01-05 18:53:49 +01:00
Alug 849cfbfbfa Adjust slack based on precision
https://git.do.srb2.org/STJr/SRB2/-/commit/d20552c49d9fd6a2075ebd7d46b0b133c69f1dbe?merge_request_iid=2583
2025-01-05 17:41:02 +01:00
Alug d9b04cd7d8 --------- 2025-01-05 15:11:09 +01:00
Alug 678e2f604c remove this again
seems like it basically doesent change anything
2025-01-05 15:03:39 +01:00
Alug 7bc804bccb kill a bunch of uneeded null checks
P_MobjWasRemoved already checks if mobj is null lol
2025-01-05 14:50:23 +01:00
Alug 56177e06bf slight cleanup buildticcmd 2025-01-05 14:17:44 +01:00
Alug 2b1b1fd882 put refreshdirmenu back here 2025-01-05 14:14:34 +01:00
Alug 3e976415f0 this somehow got lost lel 2025-01-05 01:11:26 +01:00
Alug f5ee615b2d dont cast "infinity" to int lel 2025-01-05 00:41:41 +01:00
Alug beaf44040d Further improve sleep accuracy on UNIX systems
hanichad https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2583
2025-01-05 00:32:23 +01:00
Alug 807eff3168 revert "Faster z position checks for mobjs without collision" 2025-01-04 22:17:15 +01:00
Alug ba394303b1 reduce ternary hell a little lel 2025-01-04 21:54:45 +01:00
Alug 9bbd33ad48 make float and sink use accel and brake again but also keep rebindable controls
keeps intended behaviour since we now dont need to worry about player controls anymore
but keeps the rebindable buttons incase someone wants to do a crazy control setup for some reason
2025-01-04 21:03:22 +01:00
Alug 77ff2b986d more hAx: dont move player during freecam state besides hop and honk
useful if you wanna take pics and dont feel like driving away
2025-01-04 19:37:52 +01:00
Alug b8e9cd0a42 dont do this while not in replay
this is kinda awkward tbh, but its useful for replay stuff
2025-01-04 19:33:43 +01:00
GenericHeroGuy d6d9839985 Use references instead of upvalues for original I/O functions
No more unrestricted I/O through debug.getupvalue
2025-01-04 02:28:53 +01:00
GenericHeroGuy 68e0f40b86 Update to BLUAJIT 449b76f 2025-01-04 02:28:49 +01:00
Alug 3085e49e87 forgor about lookback ig 2025-01-04 01:55:40 +01:00
Alug f733bf140e check for consoleplayer since displayplayer is who youre watching 2025-01-04 01:55:40 +01:00
Alug ef94e1051f remove redundant stuff
can just set this all the time, its only used when menu is active anyways so it doesent matter if we set it
2025-01-03 20:09:28 +01:00
Alug 7687e6effc simplify this 2025-01-03 19:35:29 +01:00
Alug d705bd3fb7 oops smol error 2025-01-03 18:29:21 +01:00
Alug ea484e4aec move postimg flags to camera struct
- also dont let water and heat be applied on top of each other since it does not look good (water postimg takes priority over heat)
- also save a little time in opengl splitscreen since it does not support heat or wöter effects
2025-01-03 18:18:20 +01:00
Alug a77aa11e36 fix encore mirroring not applyingg to freecam/democam 2025-01-03 16:40:43 +01:00
Alug b1f6263537 didnt mean to revert this one 2025-01-03 15:53:08 +01:00
Alug 4c38961efa do NOT repeatedly call M_Responder!!
"thread safety" or smth
also put stuff into two seperate functions, since i started hating nesting
2025-01-03 15:51:38 +01:00
Alug dc6904fad2 clean shit up even more + fix cam aiming reset
dont really care about which input anyways.
2025-01-03 07:33:28 +01:00
Alug e9b1329f15 try and clean up this mess
+ fix cam angle being wrong when you switch to freecam from viewing someone
2025-01-03 07:01:04 +01:00
Alug bd989239ea add another local ticcmd builder so it can guess if we "moved" and put us into freecam state and shit 2025-01-03 01:18:30 +01:00
Alug 3dd0313d53 only ever touch this if player has a mobjs
angleturn is dumb in kart and rarely really is what we want
2025-01-03 01:14:01 +01:00
Alug b91f2e91f1 smol fix 2025-01-02 22:18:52 +01:00
Alug dd267a725b apparently this is slower for everything but rendering 2025-01-02 21:50:02 +01:00
Alug 7a5c255956 let windoze detect 64bit mingw in makefile
lets us use just "make" cmd without specifieng any other crap on mingw64
2025-01-02 20:55:47 +01:00
Alug a33b225c0b move camera noclip stuff into its own function
its not used in kart anyways and moving it makes crap more readable
2025-01-02 17:07:41 +01:00
Alug dfdea068ef let playercmd lua hook run during "spectator" input crap lmao 2025-01-02 16:55:20 +01:00
Alug 0c0f52c38c fix unitialised use of controller stuff 2025-01-02 16:54:54 +01:00
Alug f017db6be0 do some actualy casting for angle and aiming cmd stuff 2025-01-02 16:45:02 +01:00
Alug 2b0e3104a6 move spectator hack after pause/desynch code
this should take priority over everything
2025-01-02 16:44:30 +01:00
Alug f7dad2c580 giga shizo spec synch "fix"
ok so, for whatever dumb reason, spectatormovement will desynch at random, even on localhost.
with this we just literally fucking ignore almost every button input locally and just wont move our spectator player at all.
but since we are indeed still runiing specatotr movement code, and this is localcmd shit, the server just thinks we dont want to move and thus is "synchsave".
sadly this does not fix desynchs from vanilla players
the only code we keep is for button inputs that do certain actions like "item" so we can still join from spec with it and other crap
2025-01-02 06:49:54 +01:00
Alug 087fbca227 this doesent work for us 2025-01-02 06:49:51 +01:00
Alug 6024405de4 add speccam playerflag
the other thing was weird and dumb lol
2025-01-02 06:49:47 +01:00
Alug 574ff2cb84 this may not be synchsafe 2025-01-02 01:52:25 +01:00
Alug 823b0eeaa2 save subsector checks for dedi 2025-01-01 23:30:16 +01:00
Alug fa21a9621e speed up camera position checks 2025-01-01 23:28:48 +01:00
Alug 1f8203b155 logic error lmao oops 2025-01-01 21:52:54 +01:00
Alug 2c55e28ea5 use FRACUNIT in rumbleticker + some changes
- brakedrift will now add to any rumble thats currently going on
- both hyu and invul now rumble less heavy on offroad
2025-01-01 21:34:02 +01:00
Alug 878b1d60da Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2025-01-01 18:13:34 +01:00
Alug 87a14fa263 slightly cleanup rumble and led ticker 2025-01-01 17:36:47 +01:00
Alug 32a35eb2e7 try a continue in P_NetArchiveThinkers lööp
nothing huuuuge, but on some maps with alot of thinkers this saves a tiny bit of time when creating a save
2025-01-01 17:19:12 +01:00
Alug 81c1f2d1a8 always close any menus when using "connect" command 2025-01-01 17:06:03 +01:00
Alug 2cfc1a7980 those will never be changed ever 2025-01-01 06:18:05 +01:00
Alug 248e47118f hack: only let freecam for spec move when youre actually able to move as spec
cause kart weird, and we cant remove the spec movement due to synch reasons
and letting the cam move instantly instead of waiting, may put you in a weird cam position
2025-01-01 05:37:30 +01:00
Alug e18d973d5e move early return even earlier
so theres no need to constantly init scale and drawdist
2025-01-01 05:10:52 +01:00
Alug da3ffafc90 we dont really need to check for precipthinkers in the precip thinkerlist
also makes precip handling in P_NetUnArchiveThinkers a little safer
2025-01-01 05:07:56 +01:00
Alug cf32ce90b6 dont iterate through precip blockmap if there is no precip 2025-01-01 05:06:52 +01:00
Alug 970657eb74 attempt to optimize column drawers a little 2024-12-31 00:57:32 +01:00
Alug 65ab0c21d4 reset refreshdirmenu at diff place
idk maybe this finally actually fixes the crappy addon menu
2024-12-31 00:12:09 +01:00
Alug 4633a55c97 dont try to chase after your spec mobj lel 2024-12-30 23:10:51 +01:00
Alug a27642faee readd this check lel 2024-12-30 22:21:26 +01:00
Alug 8368c668df fix potential Fix segfault when aborting HTTP download 2024-12-30 17:34:13 +01:00
Alug b932edb983 fix potential cash with perfstats
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2576
2024-12-30 17:29:27 +01:00
Alug 1cf4db9148 hide director control stuff for others than player 1 2024-12-30 11:29:49 +01:00
Alug d12320bbb5 dont disable this.... if its disabled kek 2024-12-30 11:24:14 +01:00
Alug 213b3124fa slight cleanup director 2024-12-30 11:11:16 +01:00
Alug 10a306110b aaaaa 2024-12-30 11:03:38 +01:00
Alug da9b6f80f1 forgor 2024-12-30 11:02:13 +01:00
Alug ca9f2aa9c0 kill splitscreen director again 2024-12-30 11:00:05 +01:00
Alug d88ececbea no need to check for all this crap 2024-12-29 20:00:35 +01:00
Alug 01a325736d dont need this anymore 2024-12-29 19:46:14 +01:00
Alug bec1420591 remove this turning off director
director will only work when in spec anyways
2024-12-29 19:33:50 +01:00
Alug a1a644aa48 fix some potential issues with viewinterp
now unpaused disabled interp on netlag
also fixes screencoord stuff not being interpolated during pause
2024-12-29 19:29:12 +01:00
Alug ec68b885d7 fix driftgauge showing with freecam while ingame 2024-12-29 19:21:40 +01:00
Alug 57d01415e2 readd cam cmd stuff
cause it may break the cam in replays or smth a
2024-12-29 19:21:23 +01:00
Alug 8a3b934518 allocate some extra buffer for demobuffer
incase this might overflow that we dont write to unvalid memory
thx indev <3
2024-12-29 17:56:35 +01:00
Alug f775bb54a5 change error msg 2024-12-29 17:45:20 +01:00
Alug 9cc96f9d70 reset demo recording in those places 2024-12-29 17:43:09 +01:00
Alug 93da9867b4 add warning for non allocated demobuffer 2024-12-29 17:38:36 +01:00
Alug 9ed6a0af1e fix demo playback 2024-12-29 17:14:47 +01:00
Alug d97f86b3f6 fix wrong cam default controls 2024-12-29 16:51:07 +01:00
Alug 871fa6bb67 fix offbyone issue 2024-12-29 16:48:29 +01:00
Alug d7f31cfea0 add a mipmap check here ig 2024-12-29 15:40:11 +01:00
Alug 6182fd9488 let director switch to splitscreen players lel 2024-12-29 15:34:43 +01:00
Alug dad904967e add a bunch of extra checks into demo stuff
buffer may be NULL in some cases
should fix dedis crashing when replay recording is disabled
2024-12-29 15:34:10 +01:00
Alug 2186fc6ce0 dont need to do this twice 2024-12-29 06:40:13 +01:00
Alug de8c933f1c fix centerview 2024-12-29 06:37:10 +01:00
Alug fda002c736 block freecam toggling when player is in spec 2024-12-29 06:36:36 +01:00
Alug 9c34bb0ae7 clean up cam stuff for good 2024-12-29 06:27:18 +01:00
Alug 5c7d12b60d make function to return button names
to use with new rebindable cam controls
2024-12-29 06:02:35 +01:00
Alug 7ae685565a make debugdirector show stuff for p1 atleast 2024-12-29 05:51:04 +01:00
Alug 4fbfb19b21 Revert "always call fixcamera when toggling freecam"
This reverts commit 3ca07376ac.
2024-12-29 05:44:45 +01:00
Alug dd8aca5773 track views in directorinfo structs
should hopefully fix any potential remaining issues
2024-12-29 05:42:21 +01:00
Alug b903dc1205 fix director toggling + smol cleanup 2024-12-29 05:32:51 +01:00
Alug 3ca07376ac always call fixcamera when toggling freecam 2024-12-29 05:01:09 +01:00
Alug 49518b753e toggle off freecam when f12ing 2024-12-29 05:00:41 +01:00
Alug 413f236a7d missing inlucde 2024-12-28 18:52:49 +01:00
Alug 64a5a4920b cleanup K_DirectorIsAvailable 2024-12-28 18:24:56 +01:00
Alug d2b0fc3b5e add K_DirectorIsAvailable 2024-12-28 18:17:34 +01:00
Alug aa95507478 Update replayfreecam lua global to use camera.freecam for currently viewed player 2024-12-28 17:42:45 +01:00
Alug b0aba7f4a4 cleanup director splitscreen stuff 2024-12-28 17:42:04 +01:00
Alug 7341f77fe1 WIP splitscreen director lel 2024-12-28 17:20:02 +01:00
Alug 76460b9d9c replace all this crap with either stplyrnum or R_GetViewNumber 2024-12-28 05:52:20 +01:00
Alug 2ba291516e remove the remainder or demo.freecam 2024-12-28 04:18:47 +01:00
Alug 30d1747d43 disable replayfreecam lua exposure
need a way to expose crap lel
2024-12-28 04:10:09 +01:00
Alug 113dd4aeae fix jitter when toggling freecam off 2024-12-28 04:09:43 +01:00
Alug 17f79b0260 fix cam interp during pause again 2024-12-28 04:01:09 +01:00
Alug 2526a99726 fix speccam again 2024-12-28 04:00:56 +01:00
Alug 21ec8ea1a4 fix freecam not being steerable when not in spec
ugh this is godawful
its literally almost a complete copy of
2024-12-28 03:44:21 +01:00
Alug 9cac882840 changable freecam speed 2024-12-28 01:41:49 +01:00
Alug 02dfced6c0 make freecam work in splitscreen
banish cameracmd shit
2024-12-28 01:38:08 +01:00
Alug 9f2e80fc3c set default controls for float and sink ig 2024-12-28 00:21:41 +01:00
Alug 57a097ea52 add alternative cam float and sink buttons 2024-12-28 00:04:49 +01:00
Alug e5d8a2e8a9 add bindable freecam toggle 2024-12-27 23:55:19 +01:00
Alug 579b66e1c0 fix freecam not being interpolated when ingame 2024-12-27 23:37:23 +01:00
Alug 2e3c4a45b0 use demo freecam for spec
its more versataile and lets you pass through walls and floors just like in replays
2024-12-27 23:34:09 +01:00
Alug 7f5033f14a actually dont make those beeg 2024-12-27 22:30:40 +01:00
Alug 084574f2f2 sparkle trail effect from rr TEST
most likely not netsafe
also smol trail breaks for some reason lel
2024-12-27 21:51:50 +01:00
Alug 2d5cdd3f19 a 2024-12-27 21:51:07 +01:00
Alug 64897ba6d6 momz stuff for kart vfx
from RR
2024-12-27 21:02:26 +01:00
Alug 87887aa3a0 make function for driftsparkcolour
reduce some code dupe
2024-12-27 20:59:43 +01:00
Alug 8e67e96e6f super smol refactor minimap head drawer 2024-12-27 18:43:27 +01:00
Alug 14f030e9a8 use V_STEELMAP for white skincolours instead
cause white on white be weird
2024-12-27 18:41:50 +01:00
Alug 93dbe7eecb z 2024-12-27 00:44:20 +01:00
Alug dd8f25d43c draw gametype in tabrankings during replay playback
replays already show the mapname in there so
2024-12-27 00:44:10 +01:00
Alug 7f25117c3e make highlight color in scoreboard and tab ranking player coloured
also make it appear in splitscreen
similar to hostmod things
2024-12-27 00:35:38 +01:00
Alug 01525e294f also add playernum var to tabrankings drawer 2024-12-27 00:34:51 +01:00
Alug 07a6ea240b check whiteplayer once 2024-12-26 23:50:49 +01:00
Alug 2e658ac546 more smol refactoring 2024-12-26 23:46:52 +01:00
Alug 930fdc84ec refactor intermission standings drawer
abstract the data stuff too
2024-12-26 23:24:23 +01:00
Alug a42342a4b8 a 2024-12-26 20:52:57 +01:00
Alug 75309ff21b crappy optimization
check first if any of those flats exist lel
2024-12-26 20:50:56 +01:00
Alug 0c58f66fd8 actually check for vanilla speedpads first
they are more likely to appear tbh
2024-12-26 20:05:03 +01:00
Alug e03d13c2b8 simplify this alot
Zzz... somehow overlooked that it already gets a fof sector passed
also adds another condition since we dont need to check anything with 255 brightness
2024-12-26 20:02:46 +01:00
Alug fba943470d another attempt at fixing skipintro mus playing titlescreen music 2024-12-26 17:51:06 +01:00
Alug 595972629d whoops this never did anything lol 2024-12-26 15:49:47 +01:00
Alug 4fb43b798d 1px 2024-12-26 01:07:49 +01:00
Alug 87c499d8c7 make the extra 3 driftgauge not resolution dependant
thx indev <3 you saved me from going insane...
2024-12-26 00:56:40 +01:00
Alug 265e52caab make colorhud check consistent 2024-12-26 00:49:31 +01:00
Alug 1445a75183 super smol optimizations 2024-12-26 00:01:42 +01:00
Alug cc2434fd69 add tweakmap support
https://git.do.srb2.org/KartKrew/RingRacers/-/commit/7fb44bdb0239a8012be73cb9ee384a9fdca9addb
2024-12-25 01:56:58 +01:00
Alug 936b39f7a3 make those const 2024-12-23 18:06:56 +01:00
Alug b8a86ca405 make some cam stuff behave exactly like vanilla again
no clue if this changes anything at all, but cam stuff be causing so many issues id rather just have it behave like it used to
2024-12-23 17:45:43 +01:00
Alug 773df88224 dont remember removing this in s_sound 2024-12-23 17:44:48 +01:00
indev e7a2c83aa5 If player has mobj, use it to assign localangle in G_FixCamera 2024-12-23 15:50:31 +01:00
Alug dc1ae2125c fixeur comptime stuff (thx indev <3) 2024-12-23 00:58:11 +01:00
Alug 8e9036029a try to check for watertrail stuff on mapload too
so it doesent need to check so much always when its called
2024-12-23 00:16:14 +01:00
Alug b14558765a fix driftsparkle sometimes not replacing driftdust 2024-12-23 00:15:22 +01:00
Alug 131b28ff9f bump 2024-12-22 22:51:45 +01:00
Alug 0e1a8b3623 a 2024-12-22 22:35:39 +01:00
Alug ffb8b281d8 add some lightlevel randomization 2024-12-22 22:35:31 +01:00
Alug 07aeb0d94b use P_MobjWasRemoved for HWR_DrawSprite 2024-12-22 21:18:57 +01:00
Alug 725640379e only check fofs if lumpname matches 2024-12-22 21:17:54 +01:00
Alug 340dffab23 make fullbright speedpads work on fofs pls 2024-12-22 21:11:15 +01:00
Alug c1e5cadcc7 settable mobj lightlevel from lua 2024-12-22 20:56:11 +01:00
Alug 898d1e7fc7 fullbright for some player visual effects
sparks and stuff should glow lel
2024-12-22 20:43:58 +01:00
Alug f5058fb5be readd mobj lightlevel field so i dont have to edit frameflags 2024-12-22 20:29:26 +01:00
Alug fbd051f947 make speedines colorized for driftlevels 2024-12-22 20:26:33 +01:00
Alug dc846fc487 just skip missing/broken fields in musiccredit handling
like vanilla kek
still will throw warnings but atleast will show stuff if theres anything left in the musicdef
2024-12-22 19:59:42 +01:00
Alug 402cd310d9 stuff 2024-12-22 18:45:34 +01:00
Alug 2ee68da944 fix compile 2024-12-22 18:38:09 +01:00
Alug 780308fee0 just revert this idk how comptime works 2024-12-22 18:38:00 +01:00
Alug dc256a03b4 Revert "add P_CheckPositionShadow just for shadow mobjs"
This reverts commit 7edce19c9c.
2024-12-22 18:29:53 +01:00
Alug 4e5576351c Revert "add shadows to faster slope z checking"
This reverts commit 4aaa2c6fed.
2024-12-22 18:29:46 +01:00
Alug 33957b5f60 Merge branch 'Saturn-Testing' into lugstuff 2024-12-22 18:29:39 +01:00
Alug c492622102 add some () 2024-12-22 01:47:07 +01:00
Alug f7494fedd5 do the same for R_ProjectPrecipitationSprite 2024-12-22 01:44:25 +01:00
Alug b02d4365ac dont put potential null mobj into interpolation stuff 2024-12-22 01:42:42 +01:00
Alug ba1486f763 dont dereference potential null mobjs in software projectsprite 2024-12-22 01:40:42 +01:00
Alug a495482fc1 compiler pls shut up 2024-12-22 01:31:52 +01:00
Alug 39a5da5036 use P_MobjWasRemoved and null check for thing subsector in projectsprite 2024-12-22 01:31:00 +01:00
Alug 504f15db58 fix fade to menu again oops 2024-12-20 18:25:59 +01:00
Alug 54116b3d3f fix no fbo compile 2024-12-20 18:25:57 +01:00
Alug 6c9c648af1 always reset those just in case 2024-12-20 11:35:22 +01:00
Alug 5da992b63b idk just set to false here too 2024-12-20 11:19:09 +01:00
Alug 9bb5e95f54 whoops 2024-12-20 03:17:12 +01:00
Alug bad4180e63 try to clean up downsampling and resolution checking stuff
- global function that updates variables with current display resolution
-smol boolean function that quickly checks if the game res matches the desktop res
- i_downsample has been simplyfied a bit
2024-12-20 03:12:03 +01:00
Alug 084e364a8a fix fbo shader lel 2024-12-20 03:07:31 +01:00
Alug 2cbc4e580d better nvidia xwayland workaround handling
what in the world was i thinking????
2024-12-20 02:50:30 +01:00
Alug a2e6ec4f5b add another early return 2024-12-20 01:20:51 +01:00
Alug 231a7f1366 simplify this crap and make compiler happy 2024-12-20 00:57:57 +01:00
Alug bee77ec2ad no 2024-12-20 00:57:31 +01:00
Alug 11cc7e63b7 just query this once 2024-12-20 00:57:15 +01:00
Alug 2083daf4c3 return false here 2024-12-20 00:51:05 +01:00
Alug 816e6a0287 makes no sense without screen tex 2024-12-20 00:50:28 +01:00
Alug 6d9541c135 simplify this crap 2024-12-20 00:38:56 +01:00
Alug 0f208617bd fix compile due to missing am_map.h include 2024-12-19 22:42:14 +01:00
Alug e8bbac82f4 fix compile without USE_FBO_OGL 2024-12-19 22:40:08 +01:00
Alug d657afe18b oops 2024-12-19 20:42:52 +01:00
Alug 96f3ac9d9e add "listmapthings" and "listunusedsprites" commands
the former also shows duplicated mapthings
2024-12-19 20:33:04 +01:00
Alug 9290744fca Fix segfault when sending excessively large netcmds
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2568/diffs?commit_id=457b761d9301b1904c414a8e8ba908f74b9ab959
2024-12-18 18:57:02 +01:00
Alug f08f91a9fe use slightly diff maths for skydomevertex calc
from DSDA-Doom
maybe fixes some issues with certain skydomes?
2024-12-18 18:55:58 +01:00
Alug 22e20ed282 delet this only O3 2024-12-17 12:45:48 +01:00
Alug be2952db5d dont show gamemodes in battle + smol cleanup 2024-12-17 00:53:50 +01:00
Alug ff4a27de0e fix the string being truncuated 2024-12-17 00:53:35 +01:00
Alug 991e1a2844 make this crap actually work lol 2024-12-16 23:33:27 +01:00
Alug a2cbec78f9 assballs 2024-12-16 23:51:59 +01:00
Alug d1b3cd4994 init textcmdbuf to NULL
just in case
2024-12-16 20:40:36 +01:00
Alug 431c2c71f5 delay NetXCmd´s instead of dropping them when the buffer is full
credits and many thanks to Hanicef!
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2568
2024-12-16 20:34:28 +01:00
Alug 5fd6437c34 potential fix for clients locking up due to never receiving acks back
apparently, if the client doesent receive an ack back which may happen due to duplicate packets/bad net conditions, it may spam resend the packet until its netxcmd buffer is full and locks up
2024-12-16 18:27:53 +01:00
Alug 47c429c792 prevent potential crash if viewmobj was removed 2024-12-16 16:37:38 +01:00
Alug b69b94f26f smol fix for gamma stuff
-dont apply gamma adjust when gamma is on default value
-fix saturation not being applied on console on OpenGL without paletterendering
2024-12-16 04:35:03 +01:00
Alug b9bb2e5663 Revert "try the semi fast R_PointOnSide FOR gameplay stuff"
This reverts commit d80a02fe42.
2024-12-16 02:00:01 +01:00
Alug 488aecf95c fix changing gamma absolutely trashing performance
not quite sure why it made stuff die so much but uhhh
instead i just check in the cube initialistion function instead and only let it build when needed to not change how the game looks with raised gamma values
2024-12-15 23:26:09 +01:00
Alug d80a02fe42 try the semi fast R_PointOnSide FOR gameplay stuff 2024-12-15 20:22:42 +01:00
Alug 8dff1abc54 oops 2024-12-14 22:47:20 +01:00
Alug 06d85ac65a slight cleanup K_GetScreenCoords and related functions
mostly just reducing scope and adding const clarifyier
also use mobjwasremoved checks everywhere instead of just simple null checks for some safety
2024-12-14 21:14:24 +01:00
Alug b4d49c565f Revert "Draw an icon above players when they are typing in chat or console"
This reverts commit da5136c7c1.
2024-12-14 20:25:33 +01:00
Alug da5136c7c1 Draw an icon above players when they are typing in chat or console
not fully working but didnt want go work to waste
2024-12-14 20:25:27 +01:00
Alug 32c3b7761a fix papersprite lightlevels again kek + remove shit that does nothing 2024-12-14 17:13:28 +01:00
Alug 5445be6645 fix papersprite directional light
uhhh idk??
also passes papersprite bool directly instead of rechecking every frame for it
2024-12-14 16:53:10 +01:00
Alug 7b89f41b77 seems like you CANNOT apply dispoffset to papersprites
well then
2024-12-14 16:27:40 +01:00
Alug 56e1b50260 fix inverted papersprite roll
oopsie
2024-12-14 16:27:06 +01:00
Alug 9fdd7de5b1 only check if polyobjcst are on the map 2024-12-14 16:00:01 +01:00
Alug 960679a3fd forgor about cameracheckposition 2024-12-13 16:50:10 +01:00
Alug e428fdc89a only check for polyobjects in the blockmap if there even are polyobjects
this saves the trouble of iterating through the blockmap every single time P_CheckPosition is called if there are no polyobjects present on the map
2024-12-13 16:46:49 +01:00
Alug fd514d4e1d smol calc optimization P_Checkposition 2024-12-13 16:45:22 +01:00
Alug cec6dfc131 add P_CheckPositionShadow just for shadow mobjs
its basically just R_GetShadowZ from the render based shadows from srb2 lmao
hope this is synchsafe
2024-12-13 16:36:37 +01:00
Alug 20319ad43c add shadows to faster slope z checking 2024-12-13 15:48:15 +01:00
Alug 774bfc7959 delet all the hardware sound crap
psure it doesent even properly work at this point
2024-12-13 15:47:55 +01:00
Alug 3db5f64b5e Revert "kill "Use po2 patches to fix mipmaps ""
This reverts commit 6b904b10f5.
2024-12-12 18:09:17 +01:00
Alug ddc97b662c Revert "HWR_ResizeBlock more like HWR_ResizeCock"
This reverts commit db96d717ce.
2024-12-12 18:09:13 +01:00
Alug 75ad25f961 Revert "const ma"
This reverts commit 98fbd3fa65.
2024-12-12 18:09:09 +01:00
themixedupstuff e604884bd7 Fixed gr_glinfo crash when there are way too many extensions present. 2024-12-12 17:37:04 +01:00
indev 65d487c60b Avoid overflowing CONS_Printf's buffer by using vsnprintf 2024-12-12 16:50:49 +01:00
Alug c489cfb657 zzz 2024-12-12 15:03:08 +01:00
Alug 1608b8388b Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-12-12 15:01:54 +01:00
Alug f706548779 disable deb print
this never triggered even once
2024-12-12 14:58:57 +01:00
Alug 67bb704a66 check for the flag first 2024-12-12 02:31:19 +01:00
Alug 516cd19d68 seperate thinkerlist for precip
i sure hope i handled everything right lmao
2024-12-12 01:02:46 +01:00
Alug 94d883e22e remove some precip code dupe 2024-12-12 00:30:37 +01:00
Alug d3fb8e9bac better cv_lessprecip handling
idk what i was thinking lmao
2024-12-12 00:11:42 +01:00
Alug 98fbd3fa65 const ma 2024-12-11 23:46:51 +01:00
Alug db96d717ce HWR_ResizeBlock more like HWR_ResizeCock 2024-12-11 23:42:21 +01:00
Alug 6b904b10f5 kill "Use po2 patches to fix mipmaps "
test
2024-12-11 23:29:21 +01:00
Alug 134b28f2d2 maybe fix fade stuff idk 2024-12-11 23:23:46 +01:00
Alug c66497a1d6 clean up hw_cache stuff + fix accidental wrong cast 2024-12-11 23:23:27 +01:00
Alug 5e625e64ce smol cleanup GL_SetBlend
use early return since i likeit more
2024-12-11 22:14:06 +01:00
Alug c11b6f9fda GL_UpdateTexture can be static 2024-12-11 21:58:45 +01:00
Alug 76fc3c1da7 smoll optimization
dont recalc this everytime just do tha lööp thinge
seems to work fine
2024-12-11 15:17:59 +01:00
Alug 07fc47d995 more cleanup GL_UpdateTexture
also some optimizations
2024-12-11 14:23:28 +01:00
Alug 5b264a35bf clean up GL_UpdateTexture
use switches and reduce code dupe
2024-12-11 04:35:43 +01:00
Alug ff58d21051 cast this 2024-12-11 02:02:43 +01:00
Alug 77583d44ed "extra safety" 2024-12-11 01:25:29 +01:00
Alug b3ff5e30aa test "or" 2024-12-11 00:32:34 +01:00
Alug c0a69065ea clamp splitsprite heights aswell 2024-12-10 23:06:29 +01:00
Alug 077ee0bc12 those should better be clamped oops 2024-12-10 22:20:53 +01:00
Alug 303f6cb1ce clean up this stuff; make splitwall behave more like vanilla
changes some splitwall issues slightly but gives bit better performance in some cases
2024-12-10 22:16:03 +01:00
Alug e458c10aac one line those 2024-12-10 21:18:06 +01:00
Alug 85d58d22b7 Unconditionally interpolate view
even if it may NOT change
but i get the feeling it may cause some issues
2024-12-10 21:18:03 +01:00
Alug 22445958c1 dont pass fwrapv to compiler flags
this technically changes behavior of some things, even if it MAY fix some undefined behaviour
2024-12-10 21:18:00 +01:00
Alug 0fc7d2124a interp.subsector is unused
so dont need to assign it nor call pointinsubsector for nothing
2024-12-09 23:19:58 +01:00
Alug 3f99d9aae9 i love menus 2024-12-09 10:19:54 +01:00
Alug b357a8f503 "P_CheckSightFast" for lua
should be faster than normal P_CheckSight
only to be used for things like nametags etc so nothing gameplaywise as it will desynch
2024-12-09 10:48:50 +01:00
Alug f3e184caf1 smol things 2024-12-08 21:18:39 +01:00
Alug f41fda74b5 check for numer before trying to parse it
thx ghg! c:
2024-12-08 16:45:53 +01:00
Alug ec6e8fa3d5 use le flags 2024-12-08 16:02:37 +01:00
Alug 2f0f11976d rename to "hw_gl" 2024-12-08 15:39:36 +01:00
Alug 82ad5a91ab smol cleanup 2024-12-08 15:31:28 +01:00
Alug cd8f43fa47 optimized checksight for nametags and camera
idk should this be exposed to lua too?
2024-12-08 15:26:10 +01:00
Alug 69a593e09d use early return
no need to check for all this crap if we can use it anyways
2024-12-08 04:38:58 +01:00
Alug 1173ea3301 menu oopsie 2024-12-08 04:06:52 +01:00
Alug 6a1398b788 clear maplight on toggling
so you only have to wait until nextmap for effect to do smth instead of game restart
2024-12-08 04:05:43 +01:00
Alug 2fcb5d628e menu entry 2024-12-08 03:39:58 +01:00
Alug 5d902b8507 make random directionallight toggable 2024-12-08 03:39:55 +01:00
Alug d3edc19de9 Revert "try recursion limit for _RenderBSPNode"
This reverts commit 501b8b7bf5.
2024-12-08 02:10:00 +01:00
Alug 5bad795c60 make those less chaotic 2024-12-08 01:33:06 +01:00
Alug 9b8374665a readd some kart batching thing idk 2024-12-08 01:32:53 +01:00
Alug 0479a3e723 stuff 2024-12-08 01:27:57 +01:00
Alug b54ed5f6e5 proper macros 2024-12-08 01:27:14 +01:00
Alug a127088db1 fix chronoshit speedpad light + use memcmp ig
also check for some stuff to maybe save on memcmp checks idk
2024-12-07 17:37:52 +01:00
Alug 015f583908 no need to set all that stuff manually 2024-12-07 12:52:00 +01:00
Alug b6d1e67cf1 port updated skydome code from srb2
seems to actually fix some visual issues on certain maps with it
2024-12-07 12:29:50 +01:00
Alug 9afd00dda7 int should use abs instead of fabs? 2024-12-06 08:15:42 +01:00
Alug 95379f534d delet this 2024-12-06 08:15:17 +01:00
Alug e67d04c694 bruh 2024-12-05 14:29:48 +01:00
Alug 027016e8a3 try less maths for projectionmatrix
from dsdadoom again lul
2024-12-05 11:36:53 +01:00
Alug 4f30029884 use long M_PI to fix some render issues 2024-12-05 11:36:12 +01:00
Alug 8e48cd1b25 little extra safety 2024-12-05 08:10:05 +01:00
Alug 6fcc40748c reduce the scope of those
only this function needs those
2024-12-05 08:07:52 +01:00
Alug 2bed437313 try fix keepmusic occasionally not working
idk but sometimes DoReborn broke it?
also this ensures keepmusic and skipintromus flags always get reset
2024-12-05 07:58:11 +01:00
Alug 88aafd9df2 TEST: dont keep calling R_PointInSubsector in P_CheckPosition if the postiion never changes
can just reuse the thing subsector
might speed things up quite a bit actually
test: cause idk if it is actually compeltely netsafe
2024-12-04 14:39:57 +01:00
Alug 76bb99422a why does this need a variable?
it just gets assigned kartstuff[k_aizdriftstrat] anyways?
2024-12-04 14:22:14 +01:00
Alug b3e3947fc0 clean up this mess 2024-12-04 14:20:49 +01:00
Alug 3ed1e5b8b0 make those const 2024-12-04 14:20:15 +01:00
Alug 6783ef7ff7 only ever call pointtoangle for sprites that really need it 2024-12-04 01:39:04 +01:00
Alug 199fc184b7 change this a little 2024-12-03 21:47:59 +01:00
Alug 4db0b89e92 1463 lmao change this to be readable
also raise to 40 secs
2024-12-03 21:42:43 +01:00
Alug 103bb7e58d try to make demo data handling a bit safer
- Use Z_Malloc to allocate demobuffer
- Use Z_Free to free demobuffer
- Make functions for freeing and resseting demobuffer
- Always reset demobuffer when not saving
2024-12-03 21:42:36 +01:00
indev 4a9b206d01 Add MENUCAPS to some menu options 2024-12-03 21:32:45 +01:00
Alug 3cd66e75e7 this may be used unitialised lul 2024-12-03 19:55:51 +01:00
Alug e9c43843b3 better fix for unclosable addon warning screen
old one was hacky asf
2024-12-02 19:35:01 +01:00
Alug 577c6f194f better fix for netgame join hoop crash
this actually works and makes em animate
also this IS SAFER since before the hoop stuff got really badly mangled
2024-12-01 22:04:32 +01:00
Alug 8b7c171a67 better fix for G_FixCamera
completely forgor in kart and srb2.1 cmd.angleturn needs to be bitshifted to accomidate localangle
using it again is better, since player mobj angle is not always suitable for localangle and may slightly mismatch where a player is steering
2024-12-01 10:28:58 +01:00
Alug 77b37d6579 seems like player not always have mobjs
titledemo moment
2024-12-01 10:18:10 +01:00
Alug 5ffdadfc41 this only ever applies to ogl
no need in software lol
2024-11-30 23:39:10 +01:00
Alug d9648a4b41 oop 2024-11-30 23:19:11 +01:00
Alug ba059ec1a6 give those better names 2024-11-30 23:17:02 +01:00
Alug 3790782ec7 save one R_PointToAngle call
very smol optimisation lul
2024-11-30 22:31:36 +01:00
Alug f0b7899cf6 missed this 2024-11-30 22:04:47 +01:00
Alug af9ba7ef41 oops this gets directly called in one instance
also why do we keep checking for null mobj when P_MobjWasRemoved checks that anyways?
2024-11-30 21:59:47 +01:00
Alug 840aff38f2 smol cleanup 2024-11-30 21:54:37 +01:00
Alug 7ebbc35f52 whoops 2024-11-30 21:46:56 +01:00
Alug c3e2a71724 sloperoll already has "off" setting, delet spriteroll cvar since redundant 2024-11-30 21:46:41 +01:00
Alug 69e5b7c199 this is null anyways if disabled 2024-11-30 21:44:23 +01:00
Alug 5e46b9de60 forgor sliptide roll 2024-11-30 20:28:19 +01:00
Alug ed67c8fd56 okay? shut up compiler 2024-11-30 20:09:04 +01:00
Alug e36302ea57 optimize sprite rotation / sprite drawing a bit
- make software and ogl use same variable names
- let papersprites also roll in ogl not just software
- throw pitchnroll calc into a function to reduce code dupe
- save some calcs when having sliptide roll disabled
- fix software not calculating camang when just player roll is enabled (did that ever work right before? oops)
- determine early if the sprite is supposed to rotate, and only if it really does, run the rotation stuff
2024-11-30 20:04:58 +01:00
Alug f28355bd82 delete A_RollAngle things
they cant be used, since theyre not synchsafe
and nothing uses those anyways
2024-11-30 19:45:19 +01:00
Alug 5f76010bdc allow demo play commands while watching a demo again 2024-11-29 23:25:50 +01:00
Alug 14a1d7782c loading not sending
just to clarify
2024-11-29 22:23:58 +01:00
Alug 275403d9fc this is also redundant 2024-11-29 13:15:46 +01:00
Alug ea787467ed use continue instead of huge if block 2024-11-29 12:14:15 +01:00
Alug d0738121be dont think we need to reset anything here
kick cmd gets send out which should clear stuff in theory
2024-11-29 10:39:57 +01:00
Alug 1c4817cb08 Fix buffer overrun with players with no associated node
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/810/diffs?commit_id=af9164f336a65634f6908e677b47773d88f583af
2024-11-29 10:14:34 +01:00
Alug aeb31aaabf those are redundant 2024-11-29 10:07:20 +01:00
Alug 6dc304d445 why? 2024-11-29 09:51:58 +01:00
indev 7961428b7c Simplify consistency check a bit 2024-11-29 09:36:21 +01:00
indev 61229fdaa4 Only check nodes that are in game in SV_ResendingSavegameToAnyone 2024-11-29 09:36:19 +01:00
Alug ed8b4c4b6e those dont need to be inlined tbh 2024-11-29 09:36:05 +01:00
Alug ba1b4e868c remove dupes 2024-11-28 08:09:36 +01:00
Alug eda3820e66 eh this looks better 2024-11-28 08:01:24 +01:00
indev dc1dd3e04e Use textinput_t for addon search 2024-11-27 22:56:25 +01:00
Alug bb6632831c forgor 2024-11-27 22:42:06 +01:00
Alug d996bc7793 only apply palrender postprocess shader once 2024-11-27 22:40:20 +01:00
Alug ea0babc5c0 dont draw final screen texture twice if you use native res
no need to
saves some performance
2024-11-27 22:35:49 +01:00
Alug 702dd09d3f Revert "fix ogl screenshots"
This reverts commit 56cd789eea.
2024-11-27 22:35:29 +01:00
Alug 56cd789eea fix ogl screenshots 2024-11-27 17:12:57 +01:00
Alug d8e6e17ee5 make own screentex for vhs effect
idk if its really needed tbh, but also doesent hurt
2024-11-27 17:03:19 +01:00
Alug 70e66b9fed use macros lol 2024-11-27 16:45:41 +01:00
Alug d81e484aa7 memset screentex 2024-11-27 16:45:19 +01:00
Alug 1feeb18a49 why do replay play commands only have netgame check???????
bad things will happen if theyre played ingame regardless of netgame or not
2024-11-27 00:36:19 +01:00
Alug 5d7d99fa3d Revert "hopefully fix some inconsistencies with directional lighting"
This reverts commit d607d7bd7c.
2024-11-27 00:02:34 +01:00
Alug b5cd4ab8cd test make skyfloors also toggle directional light 2024-11-27 00:02:26 +01:00
Alug d607d7bd7c hopefully fix some inconsistencies with directional lighting 2024-11-26 23:33:56 +01:00
Alug 4d3187cc45 sector may be null 2024-11-26 23:24:15 +01:00
Alug a5a919a29e sprite light oopsie 2024-11-26 23:06:09 +01:00
Alug d0df038ad8 funny debug print 2024-11-26 22:32:16 +01:00
Alug f866b86397 init polyobject thinker->references to 0
otherwise they wont get removed alot of the time
2024-11-26 22:31:58 +01:00
Alug eba4601c73 TEST: only call drawscreenfinaltexture once
speeds up gpu perf quite a bit
2024-11-26 22:31:23 +01:00
Alug 8c3bf47a88 we dont even need to check this
this doesent do anything with papersprites so dont even call it kek
2024-11-26 22:30:29 +01:00
Alug baaae908bb kill spritecliphack shader 2024-11-26 22:27:34 +01:00
Alug d6a2fe0993 init polyobj thinker cachable bool
otherwise shit will die lol
2024-11-26 18:21:10 +01:00
Alug 5ceb4d9be6 try mobjcache with very explicit check
karts thinker handling is so bad it made the cachable boolean return things like -1002438656
2024-11-26 17:20:31 +01:00
Alug 56c91eba23 fix early return in comparePolygons
thx durr very cool!
2024-11-26 15:06:16 +01:00
Alug 2a3dfbde83 check for titlescreen music 2024-11-26 05:33:00 +01:00
Alug caf4fd036e make hud hooks clean up after themselves 2024-11-22 16:04:01 +01:00
Alug 7732dd218f Refactor HUD hooks too 2024-11-22 00:39:53 +01:00
indev a3008b7188 Fix mobj hooks called for mobj type 0 being interpreted as regular hooks 2024-11-21 23:32:28 +01:00
Alug 464141837c forgor to remove those 2024-11-21 22:34:00 +01:00
indev f10bc1838e Players that get 'NO CONTEST' can save replays too now 2024-11-21 20:18:13 +01:00
Alug 3a236ca2ad fix lugstuff crash 2024-11-21 20:00:52 +01:00
Alug 6b7fe5ac25 Fix -Warray-bounds warning in lua_hooklib.c 2024-11-21 19:50:35 +01:00
Alug 73acf71f9c fix pre and post thinkframe perfstats pages 2024-11-21 19:49:42 +01:00
Alug ad36471d97 Fix HurtMsg inflictor mobj type discriminator
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/1903
2024-11-21 19:46:27 +01:00
Alug a40f9171a3 Fix MusicChange hook crashing when called 2024-11-21 19:41:14 +01:00
Alug 80bf58eb00 MORE MACROS 2024-11-21 19:40:36 +01:00
Alug d0874b2d33 Refactor hook ref allocation 2024-11-21 19:39:26 +01:00
Alug 68461d05d2 Automatically count hook values 2024-11-21 19:37:30 +01:00
Alug 0e421f0468 we dont have key event hooks 2024-11-21 19:17:36 +01:00
Alug 7b27bfc907 this is unused for now 2024-11-21 19:17:26 +01:00
Alug a73059a76a change those to fit rest of style 2024-11-21 19:10:49 +01:00
Alug 81b9a1e0a2 make intermissionthinker use LUA_HookVoid
comment out hookbool since unused
2024-11-21 19:03:39 +01:00
indev bacc793bc7 Fix warning regarding MusicChange hook 2024-11-21 21:01:00 +03:00
indev f83079d2fb Add Should- and Player- Spin/Explode/Squish, and ServerJoin hooks into new hook system 2024-11-21 20:59:08 +03:00
Alug a115963ba2 delet serverjoin stuff i forgor and add old should spin stuff 2024-11-21 18:39:28 +01:00
Alug 5e3309c216 serverjoin hook 2024-11-21 18:35:50 +01:00
Alug ca4bb191a4 port srb2 hooklib refactor (WIP)
lol lmao
2024-11-21 18:08:44 +01:00
Alug 799ed82532 try to make shadows not so offset on slopes with rotation enabled
lmaos
2024-11-21 02:11:40 +01:00
Alug 0e55d4018a those should be SHORT i think? 2024-11-21 02:10:57 +01:00
Alug 9fb5cdbe99 last attempt at fixing those things 2024-11-20 23:44:15 +01:00
Alug 1cd3b43646 me dont like huge ass if block use return instead lol 2024-11-20 23:03:26 +01:00
Alug a680bf196d add R_PointInSubsectorFast for non critical gameplay stuff like sounds and camera
and some parts of rendering
2024-11-20 21:11:37 +01:00
Alug 43ae24be29 use it for R_IsPointInSubsector
this is fine since R_IsPointInSubsector is only used for precip spawn unless you disable noclipcam lol
2024-11-20 21:10:46 +01:00
Alug 05b397e8d6 rename to R_PointOnSideFast 2024-11-20 21:10:28 +01:00
Alug 1e5d809740 revert that part 2024-11-20 21:09:30 +01:00
Alug 0764c335b3 Fix integer overflows on very large numbers 2024-11-20 20:36:22 +01:00
Alug 138feecefc oop 2024-11-20 17:32:20 +01:00
Alug 2e53406b07 also pass papersprite to HWR_RotateSpritePolyToAim 2024-11-20 17:31:39 +01:00
Alug bec5bb12c5 ugh logic issue 2024-11-20 17:26:57 +01:00
Alug 469f4bd223 restructure this again and let shadows use shader 2024-11-20 17:23:01 +01:00
Alug 0309477c9d optimize this a bit
no need to constantly recheck this, just pass it around as a bool
also inline dispoffset function since it used to be a nested thing
2024-11-20 17:03:37 +01:00
Alug 622dce1b1a use shader to mitigate sprite clipping unless its shadows and papersprites
also moved stuff into its own function to not make shit look like hell
2024-11-20 16:45:42 +01:00
Alug bce066f3d0 slightly optimize P_CreateBlockMap 2024-11-20 16:07:22 +01:00
Alug a0bc9e119c fix potential overflow in R_ProjectSprite 2024-11-20 15:20:01 +01:00
Alug 5cc5fe9e55 fixed float to integer conversion problems
from dsda doom
should hopefully make this behave the same everywhere
2024-11-19 20:18:16 +01:00
Alug ae7454f2d4 Revert "use memset here too"
This reverts commit 1bff103e53.
2024-11-17 21:45:51 +01:00
Alug afb7ffc6d0 make replay/time attack menu support lowercase if toggled, also levelselect addon names too 2024-11-17 14:41:41 +01:00
Alug 3fc0deb0bc well was worth a try lol 2024-11-17 13:59:38 +01:00
Alug d81f378271 why is that declared here?? 2024-11-17 13:30:20 +01:00
Alug 423797e414 make menucaps stuff global macro and also apply to downloader text 2024-11-17 13:02:57 +01:00
Alug 898c54f6f0 Test: run NetUpdate every frame again
just not in the renderer code lmao
2024-11-15 21:58:33 +01:00
Alug bb94c8f359 try make this look less like crap lol 2024-11-15 21:55:50 +01:00
Alug 76233104d1 try recursion limit for _RenderBSPNode
its 112 seems like the best compromise, hope it doesent break maps i didnt test visually or smth
2024-11-15 18:29:38 +01:00
GenericHeroGuy d5eeb33212 Unify I/O library modifications 2024-11-15 16:14:43 +01:00
Alug 57fd3e5aa5 gu 2024-11-15 16:14:32 +01:00
GenericHeroGuy dc9887e1bf Disable bytecode (1930cc9) 2024-11-15 14:23:27 +01:00
Alug e5b73c45e2 test this again
now that i understand the flags lol
2024-11-15 09:03:59 +01:00
GenericHeroGuy ac6daeef76 Fix building with NOBLUAJIT 2024-11-15 00:26:03 +01:00
GenericHeroGuy eebf21369c Check division/modulo by zero (a74a4eb) 2024-11-15 00:02:05 +01:00
Alug e06bc2a3b3 inline those 2024-11-14 07:37:40 +01:00
Alug f829265f75 psure it should be like this? 2024-11-14 06:24:46 +01:00
Alug b995a764c4 cleanup localcmd stuff 2024-11-14 06:24:27 +01:00
Alug f1c3b49933 use memset here too 2024-11-14 06:23:51 +01:00
Alug fc6428a0f7 use memsets here and clear pingdata too 2024-11-14 06:22:56 +01:00
GenericHeroGuy 52f7da69ad Standard library wipeout (1d1b7ec) 2024-11-13 17:29:01 +01:00
Alug 7af93a3251 Revert "try +="
This reverts commit 60ad8b12cc.
2024-11-12 20:31:51 +01:00
Alug fcb4fbfb44 prevent some palrender startup crashes
thx srb2 apparently this can be null during init so add some extra safety
2024-11-12 16:22:51 +01:00
Alug 60ad8b12cc try += 2024-11-12 15:43:59 +01:00
Alug 4c2443ff69 add some paranthesis here 2024-11-12 15:43:46 +01:00
indev 9a1b334731 Fix game crashing when increasing number of viewpoints more than by one (again) (needs testing that it didn't break anything else) 2024-11-12 02:45:09 +01:00
GenericHeroGuy 07104e60f4 Fix building on Windows (hopefully) 2024-11-12 02:44:22 +01:00
GenericHeroGuy 34fca9f5a4 Two fixes from master 2024-11-11 00:34:34 +01:00
GenericHeroGuy 42d0ec2a49 Disable FFI 2024-11-10 20:00:11 +01:00
Alug 18b0e12840 Merge remote-tracking branch 'ghg/ljtest' into lugstuff 2024-11-10 19:07:21 +01:00
Alug 074e297850 That didn't work in spectator camera, oops 2024-11-10 18:55:05 +01:00
Alug 997727f370 Fix spectating other players setting wrong angle when returning back to local player 2024-11-10 18:54:44 +01:00
Alug d57bca137d dont do this for papersprites
fickle...
2024-11-09 20:22:07 +01:00
Alug f8185069a0 try this lul 2024-11-08 11:34:18 +01:00
Alug 1ddf5cf81e typod -1 lol 2024-11-08 11:17:01 +01:00
Alug d2aa9faa7b a 2024-11-08 05:21:38 +01:00
Alug de5155a3c2 oops i need that 2024-11-07 23:51:45 +01:00
Alug 9338c3bfe3 death 2024-11-07 23:49:37 +01:00
Alug b9cf085411 destruction 2024-11-07 23:48:58 +01:00
Alug e859324b71 forgor ifdef here 2024-11-03 15:34:55 +01:00
Alug f11460c42a try to simplify this alteast a little
shit is awful
2024-11-03 03:38:48 +01:00
Alug fa27a01dc4 missed this 2024-11-03 03:13:07 +01:00
Alug 77da44cb23 add some more checks for this 2024-11-03 02:58:42 +01:00
Alug f8e9c34353 add just a little more extra safety for fbo 2024-11-03 02:43:19 +01:00
Alug 33ad483b0b initialise this to null aswell
just in case
2024-11-02 14:19:46 +01:00
Alug 7c36b670f3 add accurate fps counter crap to menu + rename it to force it back on
since shit more or less was broken in saturn before and always showed the more accurate one, force it again since stuff caused confusion
2024-11-02 12:57:09 +01:00
Alug b57a150033 oops 2024-11-02 01:13:04 +01:00
Alug a804ee0868 use a "-" here for consistancy 2024-11-02 00:50:23 +01:00
Alug 584de3737c respect cv_showdirectorhud 2024-11-02 00:49:23 +01:00
Alug 0d159674fa spec cam disables director, but you can toggle it from speccam
uhhhhhhh
2024-11-02 00:47:50 +01:00
Alug 6c40c0eda0 fix wanted reticle offsets
Zzz...
2024-11-01 20:29:25 +01:00
Alug 8a8324c841 oops broke encore 2024-11-01 20:01:44 +01:00
Alug fff0adff15 use precalced minimap stuff for v.drawOnMinimap 2024-11-01 19:55:12 +01:00
Alug 28bee7e619 fix some issues with cv_minihead and minimap icon drawing 2024-11-01 19:54:36 +01:00
Alug cd7698ffba fix minimap not being initialised
causes issues when you switch to maps that dont have a minimap
2024-11-01 18:29:23 +01:00
Alug 8f508b6cd8 try speed this up slightly 2024-10-31 11:59:12 +01:00
Alug e2c3dbe9ce tab pls 2024-10-31 11:59:02 +01:00
Alug 2299159722 Revert "test refactor batching stuff again"
This reverts commit cc82da4179.
2024-10-31 11:56:10 +01:00
Alug cc82da4179 test refactor batching stuff again 2024-10-31 11:56:02 +01:00
Alug 4f0b5cb0cf Revert "lets test polygon hashing again"
This reverts commit 2de193b68a.
2024-10-31 11:14:23 +01:00
Alug 2de193b68a lets test polygon hashing again
there were some changes today so idk lets see
2024-10-30 21:34:54 +01:00
indev 3080d3dc3e Add shift+insert shortcut for pasting text 2024-10-30 20:26:02 +01:00
indev e17e47b438 Fix mapmusname global in lua being renamed to (*mapmusname) 2024-10-30 19:22:27 +01:00
Alug e08b6af500 remove some unused stuff in portal struct 2024-10-30 13:52:00 +01:00
Alug b8fdb05f35 improve ogl portal clipping 2024-10-30 13:05:20 +01:00
Alug 36b7bc0ed6 just memcpy palette 2024-10-29 09:01:56 +01:00
Alug 79f46931f4 rename stuff to use "GL_" prefix
might get chaotic without a prefix lol
2024-10-29 08:55:30 +01:00
Alug cd78d6f0c7 TEST call all ogl funcs directly 2024-10-29 00:07:40 +01:00
Alug 7393e752ca huge ass ogl api refactor
idk just screwing around

credits lactozilla
https://git.srb2.org/Lactozilla/SRB2/-/commit/8df6702bfc0cf9d7f9cdc2470b939d01ee37d50b
2024-10-28 23:31:02 +01:00
Alug 83de4399fd fix portal culling 2024-10-28 20:24:46 +01:00
Alug 4c815bd3bf throw this into an inline func 2024-10-28 20:11:05 +01:00
Alug 0545bffacf make this look slightly less terrible 2024-10-28 17:30:31 +01:00
Alug c009866158 Revert "dont pass skybox to r_setupframe"
This reverts commit 78c0f64135.
2024-10-28 17:29:01 +01:00
Alug d0ee4d73f9 those do nothing 2024-10-28 16:34:11 +01:00
Alug d97815620f throw those into functions 2024-10-28 07:38:58 +01:00
Alug 588e52a673 gu 2024-10-28 07:38:43 +01:00
Alug b83016f492 dont always call HWR_Startup again 2024-10-28 07:21:03 +01:00
Alug 8a0129df6a no need to update this witouth water ripples 2024-10-28 06:47:56 +01:00
Alug 470f1fbc73 grey out some stuffs in the ogl and advanced video menus 2024-10-28 06:40:07 +01:00
Alug d5b0d77b9f sort those a bit 2024-10-28 06:36:11 +01:00
Alug cf130189a2 those should be disabled 2024-10-28 06:35:08 +01:00
Alug c56b5fc1a6 move CV_PossibleValue_t to their own section like other files 2024-10-28 06:25:36 +01:00
Alug 53e9303321 add "gl" to secbright and lightdither cvars
theyre only used in ogl so follow the naming convention
2024-10-28 05:40:36 +01:00
Alug e6d90a7d0e reorder all of this to be in same order lol 2024-10-28 05:32:21 +01:00
Alug 06b84f3ba3 check if those are already off before trying to turn them off lol 2024-10-28 05:16:10 +01:00
Alug 11d9df3f0b replace last remaining "gr" 2024-10-28 04:29:30 +01:00
Alug 5a19c26500 forgor 2024-10-28 04:29:17 +01:00
Alug 1b293981fa gr -> gl
this has been annoying me since ages lol
2024-10-28 04:15:30 +01:00
Alug a9759f2740 change cvar register order for ogl stuff 2024-10-27 21:08:51 +01:00
Alug a0cefa9dea Revert "idk why this crashes lol"
This reverts commit 879a13d622.
2024-10-27 20:36:36 +01:00
Alug 879a13d622 idk why this crashes lol 2024-10-27 20:17:15 +01:00
Alug 13ccdcfd23 more cleanup 2024-10-27 07:50:34 +01:00
Alug de23737563 make a bunch of hwr stuff static and cleanup 2024-10-27 07:40:15 +01:00
Alug 34d3e5b760 eh dont check for so much 2024-10-27 07:03:42 +01:00
Alug ea2de6b4e2 fr*nch 2024-10-26 23:23:51 +02:00
Alug d2540ba060 this should be portalcullsector lol 2024-10-26 19:44:12 +02:00
Alug b8a30cef57 reduce the scope of this since not needed 2024-10-26 19:43:57 +02:00
Alug ae71aa6511 rename this to avoid confusion 2024-10-26 19:31:06 +02:00
Alug 8a476b9218 just use the same as software lol
i never saw any differernce except in performance for this
also viewsin and viewcos get calced in r_fps so no need to do here again
2024-10-26 19:28:39 +02:00
Alug 14e91dda44 slight cleanup ogl portals again 2024-10-26 19:19:25 +02:00
Alug 271b8f3a2f rename and slight cleanup 2024-10-26 18:27:06 +02:00
Alug 861356870c smth smth shadows a global declaration 2024-10-26 18:11:17 +02:00
Alug 36b42cce02 throw ogl portals into their own files 2024-10-26 18:10:07 +02:00
Alug 461ca659f8 readd mobj null check here 2024-10-26 16:39:39 +02:00
Alug 7e81337298 inline this since its super smol 2024-10-26 16:36:46 +02:00
Alug 80168e59c1 dont think this is needed for noclipcam? 2024-10-26 16:18:42 +02:00
Alug ab7291bd33 move chasecam postimg stuff into own function + add comments for what stuff does lol
shit got me really confused
2024-10-26 16:09:49 +02:00
Alug 040e969799 forgor to remove this 2024-10-26 00:48:32 +02:00
Alug c965c41c3a clean up portals 2024-10-26 00:45:20 +02:00
Alug 1d9138075a Revert "Add visplane portal creation functionality and use it to replace the skybox rendering."
This reverts commit 122bd69069.
2024-10-26 00:30:55 +02:00
Alug 46738de038 Revert "refactor a bunch of crap and fix skyportals"
This reverts commit d4c36c64fc.
2024-10-26 00:30:51 +02:00
indev dc49e1cbaf Fix A_Lua not removing error handler from lua stack 2024-10-25 22:52:24 +02:00
Alug d4c36c64fc refactor a bunch of crap and fix skyportals 2024-10-25 22:52:19 +02:00
Alug 122bd69069 Add visplane portal creation functionality and use it to replace the skybox rendering.
https://git.do.srb2.org/STJr/SRB2/-/commit/264386f84257a47fe5480bb6300df02d039a2491
2024-10-25 21:03:27 +02:00
Alug 27b77c2db4 port srb2 software portal refactor 2024-10-25 20:49:38 +02:00
Alug 6333fc73e9 move the return ealier in V_DoPostProcessor 2024-10-25 20:21:04 +02:00
Alug 63d4ae5206 this is needed for postimg stuff in first person
lol
also adds break in splitscreen lööp
2024-10-25 20:12:06 +02:00
Alug 9fc4f81fef ok those should be fine 2024-10-25 02:49:46 +02:00
Alug 9fa9261580 aaa 2024-10-25 02:46:35 +02:00
Alug 2f98c5457d add a bunch of more flags to hopefully make this netsafe 2024-10-25 02:44:19 +02:00
Alug f7bca6f868 this crashes 2024-10-25 02:43:58 +02:00
Alug 426dd1489a Reapply "optimize z position checking for mobjs without collision and camera"
This reverts commit 0dca45ca6c.
2024-10-25 02:33:08 +02:00
Alug 740eb5d860 also use K_MomentumAngle for speelines make eggmanexplode color them and inline them since this used to be in the function itself 2024-10-25 02:24:58 +02:00
Alug 5100443457 comment it out tho since we use a lua with the same visual effect 2024-10-25 01:47:59 +02:00
Alug b5c284f526 make some stuff also be able to spawn watertrails 2024-10-25 01:38:21 +02:00
Alug 8c0fa813fe use momentumangle stuff like rr for wöter 2024-10-25 00:53:54 +02:00
Alug ab5aa30068 oops forgor lol 2024-10-24 23:05:20 +02:00
Alug 525ab05549 slight cleanup + make static + smol optimize ogl sprite drawers 2024-10-24 23:03:18 +02:00
Alug f7c831f9d1 dont pass skybox to r_setupframe
why was this even done?
neither srb2 nor v2/rr ever did this?
2024-10-24 22:44:10 +02:00
Alug a195f807d0 speed up ogl floor clip fix slightly 2024-10-24 18:43:42 +02:00
Alug dde1229e54 try to speed up texture updating 2024-10-24 18:43:22 +02:00
Alug 88c4517b72 this only needs to be checked when thing->player
aaaa
2024-10-24 02:56:10 +02:00
Alug f47eed9413 try to optimize a few sectorspecial checks 2024-10-24 02:39:40 +02:00
Alug fe35d5ab55 save one calc lol 2024-10-24 02:08:17 +02:00
Alug 0e17013255 just check for noencore bool in hwr_processseg instead of checked line flags everytime 2024-10-23 21:28:08 +02:00
Alug a44e3515a2 why not reuse those? 2024-10-23 20:37:11 +02:00
Alug 001cd91b62 cleanup HWR_ProcessSeg
stuff was quite the mess
2024-10-23 19:51:55 +02:00
Alug f88931445a dont always calc this twice 2024-10-23 19:02:48 +02:00
Alug 947e6f943f no need to check stuff in already postload marked addons 2024-10-23 15:48:34 +02:00
Alug 1cba35d7aa move this into TC_RAINBOW condtion
its only used with TC_RAINBOW anyways
2024-10-23 15:25:55 +02:00
Alug 675e0f8c4f this does nothing 2024-10-23 15:25:07 +02:00
Alug 30e504810b dont play rain sounds when weather is disabled 2024-10-23 13:00:22 +02:00
Alug 185198593d remove debug print 2024-10-23 01:48:57 +02:00
indev 34cdf39c6b Add W_CheckFileContains for W_CheckPostLoadList 2024-10-23 02:45:16 +03:00
Alug 4f8736300a attempt to check for things in file for postload detection 2024-10-23 01:00:31 +02:00
Alug e40e1c42c3 split auto and postload, let autoload run on gamestart again
prep for smth
2024-10-23 00:26:08 +02:00
Alug a04d7c6b23 redo rain sound overflow fix
https://git.do.srb2.org/KartKrew/RingRacers/-/commit/3eac1fed0f44a8285a9f6b82a12e86997bbb0d34
2024-10-22 20:20:30 +02:00
Alug 40b37e9c31 fix sprite scale and offset interpolation for ghost mobjs
and remove sprite roll interp that never worked
2024-10-22 16:06:08 +02:00
Alug c49bb1bbc6 fix ghost interpolation 2024-10-22 02:27:34 +02:00
Alug ff0f0ee347 make those not look terrible thx 2024-10-22 01:15:52 +02:00
Alug e3eb49e4a2 refactor postimg stuff so it can be combined with each other better
thx much indev! <3
everything now works with encore!
software now also supports screen effects in splitscreen!
2024-10-22 01:11:40 +02:00
Alug 42e463e529 actually remove "renderflags" lol 2024-10-21 22:52:59 +02:00
Alug f781532e1b gaah tabs 2024-10-21 22:51:05 +02:00
Alug ba8958b27a remove renderflags
those literally did nothing
2024-10-21 22:46:51 +02:00
Alug d082bfd8ec fix R_ThingVisible
those are "eflags" in kart smh
2024-10-21 22:38:45 +02:00
Alug 3216b2515d maybe fix mobj interp spawn bugs?
idk maybe has some odd side effects?
2024-10-21 22:22:38 +02:00
Alug 078f198d81 add proper null check here too 2024-10-21 21:28:01 +02:00
Alug 6162d285c9 dont use cv_sloperolldist in splitscreen + save some assignments and one fixedhypot call
also use tabs lul
2024-10-21 21:05:05 +02:00
Alug 56b1ead206 tab pls 2024-10-21 18:43:01 +02:00
Alug 5f11d93d42 make this less terrible lmao 2024-10-21 18:41:27 +02:00
Alug 78a62ba84a use highly optmized (but slightly inaccurate) version of R_PointOnSide for rendering 2024-10-21 18:17:47 +02:00
Alug ad5f288374 Clarify we're calculating a cross product 2024-10-21 18:10:18 +02:00
indev 2aa6f1b8f5 Fix off-by-one error for using '?' as map name 2024-10-21 17:41:06 +02:00
indev 25a5ac2a2d Fix off-by-one error in lib_setSfxInfo 2024-10-21 17:39:42 +02:00
Alug 8a9f44ebaf also check here ig? 2024-10-21 17:01:20 +02:00
Alug e6b77081f7 prevent map command crash from maps with invalid or non existing mapinfo 2024-10-21 15:37:34 +02:00
Alug 9808d123cd replace those two P_MobjWasRemoved with simple null check insteead
since those may actually segfault if null anyways
2024-10-21 06:23:05 +02:00
Alug 4213bffab0 trailing space hell 2024-10-21 06:11:18 +02:00
Alug 516f0c700f remove more P_MobjWasRemoved checks
same as before, those may be not synchsafe
2024-10-21 06:03:47 +02:00
Alug b03939d753 revert some P_MobjWasRemoved checks i forgor about
those may NOT be vanilla netsafe
2024-10-21 05:55:44 +02:00
Alug 0786e3dcf2 lugstuff change 2024-10-20 20:30:38 +02:00
Alug fe4397d746 bruh 2024-10-20 19:53:56 +02:00
Alug b4c52190e2 rotsprite stuff also should be SHORT 2024-10-20 19:11:46 +02:00
Alug 723491fd86 try to take some registers for span drawers too 2024-10-20 15:59:31 +02:00
Alug a1b087938e remove this again 2024-10-20 15:21:58 +02:00
Alug c13cb0b8d9 Reapply "optimize R_PointOnSegSide"
This reverts commit 5b3daac4c8.
2024-10-20 04:15:28 +02:00
Alug c1703de590 terrible brightmap substitute 2024-10-20 04:15:25 +02:00
Alug e08f03cf57 HWR_RenderPlane can be static 2024-10-20 04:14:54 +02:00
Alug 5b3daac4c8 Revert "optimize R_PointOnSegSide"
This reverts commit c1ce93b6b0.
2024-10-20 02:17:35 +02:00
Alug c1ce93b6b0 optimize R_PointOnSegSide
its only used for 2 rendering functions, so being potentially inaccurate is not that dangerous and the speedup in some instances might be worth the tradeoff
2024-10-20 02:02:22 +02:00
Alug 5da1e8bb80 fix some rendering issues and crashes in software renderer
- Increase MINZ from 4 fracunits to 16
- R_StoreWallRange: do not render textures with holes
- fix off-by-one error in R_ProjectSprite
- Avoid rendering unused left/right edges of screen while rolling
- Clamp patch column post drawing bounds
- Vissprites: set dc.texheight
- Add null check for column in R_DrawMaskedColumn
2024-10-20 02:01:02 +02:00
Alug 48a62eeee4 fix a maybe-uninitialized warning 2024-10-20 00:21:48 +02:00
Alug f9788a21f6 fix lightnum calc 2024-10-20 00:18:31 +02:00
Alug db425035a4 dont need to always check this 16 times if we already know theres more than one player ingame 2024-10-19 21:14:45 +02:00
Alug ed7aa81527 dont show encore toggle text in record attack menu
dont think you can even record attack in encore hmm
2024-10-18 20:34:00 +02:00
Alug 8108dec7e3 just remove version string at this point lol 2024-10-18 20:23:06 +02:00
Alug f9363e71d9 dont run director if theres only one player ingame
idk if this is good lol
2024-10-17 22:54:44 +02:00
Alug 98a7e35c55 forgor joyscale 2024-10-16 13:21:47 +02:00
Alug c998bd9c05 huge cleanup controller code
hope i didnt break anything here lel
2024-10-16 13:14:07 +02:00
Alug 7194f44eca those can be registered in lööp 2024-10-16 12:57:27 +02:00
Alug 4654070f9a clean up cvar register a bit 2024-10-16 11:22:08 +02:00
Alug 16db0ba290 do this instead 2024-10-16 00:19:18 +02:00
Alug 58bf1572de Revert "optimize R_PointOnSegSide"
This reverts commit 068afd7eb4.
2024-10-15 23:52:17 +02:00
Alug 4af35d623c attempt to optimize some p_maputl stuff 2024-10-15 23:31:46 +02:00
Alug 3bbafe8fc1 god pls just work 2024-10-14 19:20:19 +02:00
Alug 068afd7eb4 optimize R_PointOnSegSide 2024-10-14 13:15:56 +02:00
Alug f98209a32e remove this print 2024-10-14 13:15:33 +02:00
Alug d62a654a2d forgor about shadows lol 2024-10-13 23:36:21 +02:00
Alug 509341569e whoops forgor 2024-10-13 23:25:17 +02:00
Alug 20b82c1f2a lol 2024-10-13 23:13:14 +02:00
Alug 54170bece7 only do this in software renderer
doesent work even with pal rendering in ogl
2024-10-13 23:07:44 +02:00
Alug 0a7578472e move this 2024-10-13 22:54:20 +02:00
Alug 65cf58dfab remove unused/nonunsable analog cvars 2024-10-13 22:39:26 +02:00
Alug d95828451e fix cam stuff for good + huge cleanup 2024-10-13 22:20:56 +02:00
Alug e21182ccfc fix the cam loops 2024-10-13 21:47:56 +02:00
Alug ba818244df use arrays for all the cam cvars 2024-10-13 19:01:30 +02:00
indev c667fedc1a Fix error handler staying on lua stack after lua commands being called 2024-10-13 14:45:01 +02:00
indev a7d6c0994f Fix game crashing when using P_DoPlayerExit on player without mobj 2024-10-13 14:44:58 +02:00
Alug d601975597 this should be SHORT 2024-10-13 02:58:46 +02:00
Alug 21b57c1009 this uhhh actually makes things crash lol 2024-10-13 02:46:04 +02:00
Alug 16800a2730 fix ogl shearing
no clue wtf kart was doing here lmao
2024-10-13 02:28:07 +02:00
Alug 36448930d6 dont need this splitscreen check 2024-10-13 02:01:02 +02:00
Alug 740c39c3c4 attempt to clean up cam shit even more 2024-10-13 01:55:52 +02:00
Alug 397efe5479 only interp cam during pause for replay freecam to not jitter during pause 2024-10-13 01:11:48 +02:00
Alug f6c9b22adc ignore keepmusic when called from P_RestoreMusic
most of the sound handling just calls this and this may just stop the music entirely on some occasions so just ignore keepmusic for that
2024-10-13 00:40:37 +02:00
Alug ffa053c695 print saturnpak print into debfile instead of console 2024-10-13 00:11:34 +02:00
Alug 5c4fee6cdf Refactor TTY input handling
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2451#b2f76b3273f1780347c35ec752bcde560c5f73a5
2024-10-12 23:26:07 +02:00
Alug 38335e857a fix tty converting everything to lowercase 2024-10-12 23:21:05 +02:00
Alug 9f16fa3e17 Fix insane TTY input latency
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2360
2024-10-12 23:10:01 +02:00
indev d0ad91f277 If corrupted save received, leave netgame 2024-10-12 22:05:25 +02:00
Alug e1d98ea45c Add few checks to prevent game crashing if netgame archive becomes corrupted
https://github.com/alufolie91/saturn-32p/commit/1e47728ea8c60a1f04130170ddfab9b02e1a7e4c#diff-0c6396d5a9ad45f461741cd44ffb2c0d3cf0eb2ec7b0500053005196fe53f1a6R1517
2024-10-12 22:04:50 +02:00
Alug cedab33c13 Attempt to fix a lua panic when unarchiveing extvars (print error to console instead. Not sure if it would be safe for game to read from save afterwards though)
https://github.com/alufolie91/saturn-32p/commit/a770ecdbd4afd56a9d8325eae47f0c69f71661ee#diff-0c6396d5a9ad45f461741cd44ffb2c0d3cf0eb2ec7b0500053005196fe53f1a6R1462
2024-10-12 21:56:08 +02:00
Alug 212667a34f oops 2024-10-12 21:29:39 +02:00
Alug cf5ee4cf27 make s_sound a little prettier 2024-10-12 21:24:37 +02:00
Alug 6953e494cb fix some warnings when compiling with older sdl version 2024-10-12 21:23:58 +02:00
Alug daad7627b8 save 1 G_BuildMapTitle call kek 2024-10-12 20:19:44 +02:00
Alug 0bfed31cae clean bird music stuff again
we dont need to return everywhere but instead stuff can be mostly just set to 0
this also somewhat ensures stuff works after toggling without having to restart the game or map
2024-10-12 19:54:56 +02:00
Alug 9660128123 always assign stutter_threshold 2024-10-12 19:44:15 +02:00
Alug c927d333bd readd music_resync_powerups_only 2024-10-12 19:39:52 +02:00
Alug 75637e361c shut up mingw 2024-10-11 21:12:52 +02:00
Alug cbcfe9d3e9 fix spec cam bug + more cleanup 2024-10-11 21:00:05 +02:00
Alug 7ea07ec3b0 Start bustable FOF sounds at the correct height 2024-10-10 14:40:14 +02:00
Alug df842b981c remove broken and unused netcode stuff
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2523
2024-10-10 05:18:07 +02:00
Alug c98781403d Revert "rendertimefrac_unpaused should be fracunit on netlag"
This reverts commit 6722b43244.
2024-10-09 15:32:51 +02:00
Alug 651e5a4924 proper inline this 2024-10-08 04:17:58 +02:00
Alug 9eec9f7e52 fix some inline stuff 2024-10-07 23:05:01 +02:00
Alug 41244ae522 proper inline P_MobjWasRemoved 2024-10-07 23:01:17 +02:00
Alug f1d0e2834e proper inline M_Memcpy 2024-10-07 23:01:03 +02:00
Alug 7f98bac3ae properly inline those 2024-10-07 22:57:24 +02:00
Alug 9d8fcfeeb6 smol fix 2024-10-07 21:32:25 +02:00
Alug 28847e4adf test smol optimization P_CheckPosition 2024-10-07 20:40:41 +02:00
Alug ee2d078957 keep debug print for now 2024-10-07 13:00:50 +02:00
Alug e51bb250e2 add some brackets lul 2024-10-07 13:00:18 +02:00
Alug e93ea48b96 comment this out for now so v7 clients dont use vanilla resynch system
keep sending PT_WILLRESENDGAMESTATE packets to everyone for now
saturnpak will still mark the right clients so they will use the right consistency check without having to desynch first
2024-10-07 13:00:08 +02:00
Alug 5efe6364ca add debfile prints whenever gamestate counter changes 2024-10-07 12:59:59 +02:00
Alug c6574ee800 make the debug print a little better 2024-10-07 12:59:54 +02:00
Alug df8c39425a use saturn packet to determine if client can receive gamestate
before the server always assumed every client cant receive the gamestate using the vanilla consistency check for everyone.
aswell as before the first resynch it tried to send the gamestate resend packets to everyone
2024-10-07 12:59:51 +02:00
Alug 0e49632006 make this less ugly 2024-10-07 12:53:25 +02:00
Alug 9c60a9298d false 2024-10-07 12:48:29 +02:00
Alug a4792f3058 add crap to menu 2024-10-07 12:45:09 +02:00
Alug 05b65dd7f6 psure this can just be SINT8 2024-10-06 19:04:28 +02:00
Alug 9657dc0f1b prevent this from become super large somehow lol
just like cap it at 19 it works just fine
2024-10-06 18:44:14 +02:00
Alug d5ff7f1274 this doesent make much sense tbh 2024-10-06 18:35:26 +02:00
Alug 5b59e9e740 this shouldnt be here lol 2024-10-06 18:33:25 +02:00
Alug 567b61133e shouldnt that be a bool? 2024-10-06 18:31:40 +02:00
Alug 3427fc3275 rendertimefrac_unpaused should be fracunit on netlag
makes this a little more sane tbh
2024-10-06 18:31:09 +02:00
Alug f3b96b5050 dont think this needs to be reset every frame 2024-10-06 18:28:00 +02:00
Alug 3a3eb2790d fix this 2024-10-06 14:52:35 +02:00
Alug d5225537c4 only do this in replays
otherwise shit will jitter during netlag
2024-10-06 14:30:21 +02:00
Alug fac56d9469 fix main menu interpolation
apparently in main menu, opening the menu pauses the game so rendertimefrac was FRACUNIT and didnt interpolate
2024-10-06 13:32:46 +02:00
Alug cc73aa18c6 Interpolate view, even when paused
https://github.com/KartKrewDev/RingRacers/commit/3320faec8cebecb124882d38c7ec0ad37b79340a#diff-607b68058edc6124b3061267d902aabeddb6ba338c6483df0af8b1a7cf796a01R43
2024-10-06 13:12:27 +02:00
Alug ba2127b00e fix a interp bug where the jitter on tally increase would be for only one rendered frame, not one full tic. 2024-10-06 13:04:43 +02:00
Alug 4e966aa44a HACK: reset interp values in case 412 teleporter without using P_Setorigin
since that function does some wonky stuff and idk if that would be synch safe
2024-10-06 13:00:07 +02:00
Alug 23fe7755f8 add missing break 2024-10-06 12:56:19 +02:00
Alug f81d33acdf more R_ResetViewInterpolation stuff 2024-10-06 12:53:24 +02:00
Alug 305037cae2 R_ResetViewInterpolation: wait an extra tic if R_UpdateViewInterpolation has not run yet, do not add extra time for subsequent calls 2024-10-06 12:49:29 +02:00
Alug 2909b68872 smol fix 2024-10-05 08:35:35 +02:00
Alug bf9cd35e5c throw this into own function too 2024-10-05 08:29:40 +02:00
Alug 30b7fc2f2b make function for quakes, scale with mobjscale 2024-10-05 08:26:06 +02:00
Alug 4213e6a965 this needs gamestate check
sometimes the title music kept playing
2024-10-05 06:56:21 +02:00
Alug b868ff35c2 attempt to cleanup R_SetupFrame 2024-10-05 06:09:48 +02:00
Alug ccb116e910 P_Ticker: update view interpolation at the start of a tic 2024-10-05 06:08:23 +02:00
Alug 0412e8fd8e add G_FixCamera 2024-10-05 06:04:12 +02:00
Alug 3f68006e3c set timeinmap for demo rewind
idk maybe this helps with that feature desynching all the time lol
2024-10-05 05:41:30 +02:00
Alug 4ed7a63806 Do not set hu_stopped on interpolated frame 2024-10-05 05:25:25 +02:00
Alug 4d56c1559f add comment to try and explain this crap 2024-10-03 18:15:12 +02:00
Alug ae99bcfca2 make this more readable 2024-10-02 20:32:26 +02:00
Alug 8f8ec6ef5d smol dupe 2024-10-02 14:39:57 +02:00
Alug 05faa2cbf8 prevent this from overflowing
ye well idk anymore.
2024-10-02 14:20:29 +02:00
Alug 56b942289f fhsfghs 2024-10-02 14:16:43 +02:00
Alug b095ac7620 gu 2024-10-02 14:16:37 +02:00
Alug bc7520f45a ok we need a bunch of this 2024-10-02 14:16:08 +02:00
Alug 82f9de3114 Reapply "Only reseek if we have to"
This reverts commit cbc39ba4f9.
2024-10-02 13:57:52 +02:00
Alug a5de6eccd5 Reapply "New system to prevent multiple fopen"
This reverts commit 0bdf1ca87a.
2024-10-02 13:57:42 +02:00
Alug 7c645c1623 why? 2024-10-02 13:50:06 +02:00
Alug 540d99924e why did we calc all of this in ogl? 2024-10-02 13:34:41 +02:00
Alug 68681a34f2 conflict stuff 2024-10-02 12:43:28 +02:00
Alug d56df7e0fc dont leak pls 2024-10-02 12:42:16 +02:00
Alug eb4eef5260 fix G_BuildMapTitle leaks 2024-10-02 12:42:10 +02:00
Alug 7b62c14a8e Revert "add global maptitle string calced at mapload"
This reverts commit 401597d309.
2024-10-02 12:42:04 +02:00
Alug 0ecc23e52d Revert "init with NULL lol"
This reverts commit 06bcd3ffca.
2024-10-02 12:41:36 +02:00
Alug fdefb1829b Revert "pre alloc MapName on mapload and unarchive"
This reverts commit 1b027e169a.
2024-10-02 12:41:34 +02:00
Alug b775095b67 fix up old fps counter 2024-10-02 12:14:31 +02:00
indev b87074c5f6 Fix selection in replay save prompt 2024-10-02 11:41:53 +02:00
Alug 2be07aee63 a 2024-10-02 11:41:49 +02:00
Alug c45a792ef9 Use textinput_t for replay save prompt too 2024-10-02 11:41:03 +02:00
Alug 1b027e169a pre alloc MapName on mapload and unarchive 2024-10-01 17:45:18 +02:00
Alug 06bcd3ffca init with NULL lol 2024-10-01 16:38:48 +02:00
Alug 401597d309 add global maptitle string calced at mapload 2024-10-01 16:35:10 +02:00
Alug e3773172f3 lol 2024-10-01 16:03:48 +02:00
indev bc37b4c817 Remove debug print 2024-10-01 16:02:52 +02:00
indev df031d1b88 Fix (hopefully) all other menu types that use IT_CV_STRING 2024-10-01 16:02:46 +02:00
Alug 1dc83a0c3c dumb special case for wandering balls Zzz... 2024-10-01 16:02:39 +02:00
indev 1883178c55 Fix IT_CV_STRING crashing game in M_DrawGenericMenu 2024-10-01 15:46:15 +02:00
Alug e0a74be510 fix some stuff 2024-10-01 15:46:09 +02:00
Alug 2725e590ea add "map ?" shortcut for random map 2024-10-01 14:49:37 +02:00
Alug 30aa9b2bc1 use stricmp for this 2024-10-01 14:42:20 +02:00
Alug fe591b6620 cv_showdirectorhud didnt save Zzz... 2024-09-30 23:00:25 +02:00
Alug 6d8ed5897f more 2024-09-30 16:33:29 +02:00
Alug ece9eb3504 cleanup + comments 2024-09-30 16:32:03 +02:00
Alug c6de3040fb work around encore music again
S_InitMapMusic would play before the level actually started thus playing a smol bit of non encore music in encore
2024-09-30 16:27:56 +02:00
Alug 5f1dfecd18 fix encore music again lol 2024-09-30 16:19:54 +02:00
Alug 76d22deddd Use m_textinput for chat too 2024-09-30 15:43:22 +02:00
indev b92fddeabc Use same keyboardlayout code as in chat for textinput, also add a null terminator after ctrl-v just in case string is not always zeroed out already 2024-09-30 15:42:59 +02:00
Alug 2dddc81713 Put all text input logic into separate file and use it for all text input fields 2024-09-30 15:42:55 +02:00
Alug 0fb2992b49 dev print for weather stuff 2024-09-30 15:42:22 +02:00
Alug 8464554a71 work around custom vote theme music + rename a bunch of stuff
please help me
2024-09-30 15:41:19 +02:00
Alug 4034a8227f encoremusic... 2024-09-30 13:05:44 +02:00
Alug ff9d2b0cdc fix up everything and make stuff work
i hope lmao
2024-09-30 12:50:49 +02:00
Alug 95cdc2c5a6 change how keepmusic works
compare map and encore instead of the music itself
2024-09-30 11:45:33 +02:00
Alug f8083e10eb forgor about encore music 2024-09-30 06:38:29 +02:00
Alug 8c6322c04d update comments a little 2024-09-30 06:31:43 +02:00
Alug ef58f61d8e add some basics of what i wanna have for music stuff
- basic keepmusic implementation (currently checks for if the song changes instead of the map, idk if i keep this, since this allows certain maps to change the music on start, ex abstract avenue or wandering balls)
- Toggle to ignore any kind of music change during the level (includes intermission music, depends on how custom intermission music works)
-toggle to start map music instantly on levelload and skip the intro fanfare (also skips any linedef executed sound so some map intros dont interfere with this)
2024-09-30 06:28:02 +02:00
Alug fae42eecbc make a function for the music level start stuff 2024-09-30 05:17:44 +02:00
Alug a81ea3c2cc let SOC also use PRECIP_BLANK/ weather = 4
no idea why it couldnt doesent make any sense
2024-09-29 22:26:49 +02:00
Alug 661984b620 no need to even traverse part of the blockmap when PRECIP_STORM_NORAIN and PRECIP_BLANK 2024-09-29 21:51:31 +02:00
Alug f6b571e022 move this stuff
so dont need check for renderisnewtic multiple  times and dont need to check for menu and dpad stuff every single frame
2024-09-29 15:14:43 +02:00
Alug 1ca2a8865f stop dying pls 2024-09-28 22:16:49 +02:00
Alug a55dacdcc6 remove code dupe and let S_LoadMusicDefs also load MUSCINFO def 2024-09-28 17:03:09 +02:00
Alug d20ebed618 make a funky macro 2024-09-28 15:04:12 +02:00
Alug 5fdc20f997 refactor musicdef stuff
well it fixed the hash find lmao
2024-09-28 03:20:57 +02:00
Alug 968445c12c oops 2024-09-28 03:20:37 +02:00
Alug 45965414b1 Remove p_sight assert 2024-09-28 01:49:21 +02:00
Alug f92034225d super smol optimization to S_FindMusicCredit 2024-09-28 01:47:18 +02:00
Alug 6949efbb7e reset rumble on some conditions 2024-09-28 01:37:54 +02:00
Alug 6e085e302d Replace portalline boolean with g_portal pointer to current portal Beta 2024-09-28 01:30:14 +02:00
Alug 642b196130 do this by default for me 2024-09-28 01:01:33 +02:00
Alug c84ad4aabb smol director stuffs 2024-09-28 00:12:57 +02:00
Alug 93bb7273c2 this needs no dedi check actually 2024-09-27 23:45:52 +02:00
Alug dfca69d59c kill lua_step 2024-09-27 23:41:49 +02:00
Alug 9655c33f48 set those in P_SpawnGhostMobj too 2024-09-27 22:46:54 +02:00
Alug 0c408d09fd let player pointer be const in P_IsLocalPlayer and P_IsDisplayPlayer 2024-09-27 22:40:38 +02:00
Alug 5f6b9ff87c forgor remove this 2024-09-27 22:40:08 +02:00
Alug 1da7a2d401 consolidate this 2024-09-27 22:36:48 +02:00
Alug a3c9812f67 this does nothing 2024-09-27 22:28:57 +02:00
Alug 03fd761179 z 2024-09-27 20:18:36 +02:00
Alug 89a64267fa R_DrawMaskedColumn: do not draw zero length column 2024-09-27 20:18:21 +02:00
Alug 4c25b7c26a Use PU_LEVEL for texture caching 2024-09-27 20:16:46 +02:00
Alug 97c8d06e33 Software: krangle directional lighting in 3P/4P splitscreen 2024-09-27 19:20:57 +02:00
Alug 9747d0bb20 those should be size_t 2024-09-27 18:52:53 +02:00
Alug 3fe3f512e3 update lzf compression to 1.6 2024-09-27 18:21:17 +02:00
Alug b4d4377938 fix encore minimap 2024-09-27 15:04:01 +02:00
Alug f5bf80cc63 use qs22j here again
it is really faster
thought it wasnt in this case
2024-09-27 05:19:52 +02:00
Alug 3e9f9129d8 cleanup + reformatting 2024-09-27 05:00:01 +02:00
Alug 34dd04b9ef forgor this 2024-09-27 04:26:43 +02:00
Alug d286bb43dd reformat this 2024-09-27 04:24:45 +02:00
Alug cab06f92d6 ; 2024-09-26 18:18:34 +02:00
Alug 4297c1b80d gamestate resend counter was never proper reset for nodes
means it would carry over to the next person occupieing that node and made them have less chances to get the gamestate resent
2024-09-25 19:31:18 +02:00
Alug bb6df8b4b8 those can be static 2024-09-24 22:23:23 +02:00
Alug 577380da3b add toggle for water ripples Zzz... 2024-09-24 22:18:17 +02:00
Alug 2f843feabf Kick clients that fail to catch up with server gamelogic
version from rr to accomidate kart netcode a bit better
2024-09-24 19:10:13 +02:00
Alug 9440aa62ff only allow director toggling with button when you spec someone 2024-09-24 16:57:20 +02:00
indev 0daf5e0da9 Expose demo.freecam as replayfreecam 2024-09-24 15:25:41 +02:00
Alug 64c4ad4852 make director text disappear after 13 seconds, and in replays after 4 2024-09-24 15:25:36 +02:00
Alug cf68f56497 dont show director text when in replay freecam 2024-09-24 15:02:32 +02:00
Alug 405ac6f85b hide viewpoint text when in replay freecam 2024-09-24 15:01:02 +02:00
Alug 72768e7d60 dont show driftgauge when in replay freecam 2024-09-24 15:00:45 +02:00
Alug cd3bd8713a dont run director when you use spectator freecam 2024-09-24 14:51:18 +02:00
Alug 399dbcaee9 Revert "dont read map marker files just skip em instead"
This reverts commit 2c0129be47.
2024-09-23 23:21:33 +02:00
indev 3f2889a644 Skip map marker in vres_GetMap 2024-09-23 23:15:07 +02:00
indev 533d2429b3 Add showdownloadprompt cvar, so addon download prompt can be disabled 2024-09-23 23:09:29 +02:00
Alug 2c0129be47 dont read map marker files just skip em instead
thx indev <3
2024-09-23 20:38:52 +02:00
Alug cb0da0d737 check vres data before freeing it 2024-09-23 20:36:56 +02:00
Alug ce9ab6e6c6 forgor some casting 2024-09-23 18:40:24 +02:00
Alug 373adf473a revert this 2024-09-23 01:39:21 +02:00
Alug 1cc461cc60 dont actually call Nullprecipthinker 2024-09-23 01:02:31 +02:00
Alug 89a4a19eed read precip row in perfstats 2 2024-09-23 01:02:14 +02:00
Alug 5ee5eac998 dont count precip towards thinkers in perfstats 2024-09-23 01:02:04 +02:00
Alug 999e5618d7 fix precip performance issuess on certain maps 2024-09-23 01:00:47 +02:00
Alug 056f7a32e8 lets not archive players as mobjs 2024-09-22 23:08:24 +02:00
Alug d1a3549ebc dont check consistency/attempt to resend the gamestate while a client is currently getting the save resend
perhaps that makes mass synchs less bad
2024-09-22 22:16:11 +02:00
Alug 8c58359aac Zzz... 2024-09-22 22:11:17 +02:00
Alug 0dca45ca6c Revert "optimize z position checking for mobjs without collision and camera"
This reverts commit c11d925580.
2024-09-22 17:51:56 +02:00
Alug 11039a4ce6 try to prevent unknown packet type spam when client attempt to connect while levelloading 2024-09-22 16:51:05 +02:00
Alug e16bc759b0 extra check 2024-09-22 16:46:08 +02:00
Alug c745a534de clean up leveload a bit 2024-09-22 16:46:01 +02:00
Alug ed24674b0c Load palette before map data 2024-09-22 16:25:16 +02:00
Alug 91f8705844 cleanup r_draw8 2024-09-22 16:01:23 +02:00
Alug e24fe7a239 update copyright am_map 2024-09-21 20:26:20 +02:00
Alug 970f948844 precalc automap and minimap stuff on mapload instead of every frame 2024-09-21 20:13:53 +02:00
Alug 85c5851539 stuff for potential fixup? 2024-09-21 19:43:22 +02:00
Alug 52c35ea0c5 attempt to fix automap + add minimap generator command "minigen" 2024-09-21 19:28:22 +02:00
Alug 14cc43dd6a beta hud driftgauge
eh needs some stuff for menu still
also should replace driftgauge gfx sometime
2024-09-20 20:31:45 +02:00
Alug 699da62ab1 move this 2024-09-19 12:41:32 +02:00
Alug 4be125d3da always reset cam subsector regardless of splitscreen 2024-09-18 12:11:04 +02:00
Alug 23631e4a0f decrease this a tiny bit 2024-09-17 19:52:20 +02:00
Alug 49c0e04f13 this is the correct value 2024-09-17 19:47:24 +02:00
Alug 16709f5f8e make ticcmds on gamestateresend
resynch will still stop making em
should hopefully fix some weird issues where you might end up somewhere weird if the resend takes a little longer
2024-09-17 16:47:24 +02:00
Alug b4ccca9892 properly reset all splitscreen cameras on resynch
also fix some casting
2024-09-17 16:46:21 +02:00
Alug 4e9086b369 Revert "dont run playerjoin hook on resynch"
This reverts commit 5f7bf4164d.
2024-09-17 16:43:05 +02:00
indev 8114e25056 Ignore case here 2024-09-17 16:42:37 +02:00
indev 7c6e36f8c5 Add proper skin search in skin command 2024-09-17 16:42:34 +02:00
Alug 1a13b83fd7 dont need this 2024-09-16 18:12:46 +02:00
Alug 0729065d16 "player" 2024-09-16 17:52:10 +02:00
Alug e6be07af1f some stuff i forgor 2024-09-16 17:33:17 +02:00
Alug 47aa62092e Revert "Contain end & size into savebuffer_t"
This reverts commit 1a810bc923.
2024-09-16 15:55:22 +02:00
Alug ce6596edde just kick everyone when direct download file not found instead of i error
dumbass hack for now
2024-09-16 15:55:04 +02:00
Alug 0bdf1ca87a Revert "New system to prevent multiple fopen"
This reverts commit cc54d98a39.
2024-09-16 14:32:32 +02:00
Alug cbc39ba4f9 Revert "Only reseek if we have to"
This reverts commit c332d48e9d.
2024-09-16 14:31:18 +02:00
Alug 77b3609cd8 Prevent integer div by 0 in curl progress callback 2024-09-16 13:53:53 +02:00
Alug c41bf8708b Revert "Add functions to initialize savebuffer_t"
This reverts commit 56182a1ef5.
2024-09-16 13:45:57 +02:00
Alug 54cc730414 Use Zone memory functions for sending compressed saves 2024-09-16 13:36:53 +02:00
Alug d138cee30c Only save demo if demobuf.p is ready 2024-09-16 13:36:13 +02:00
Alug 56182a1ef5 Add functions to initialize savebuffer_t 2024-09-16 13:35:46 +02:00
Alug 1f7487ae37 Contain end & size into savebuffer_t 2024-09-16 13:20:44 +02:00
Alug 2db1dcf79f more fixup 2024-09-16 12:56:09 +02:00
Alug 82ac0d3ab0 fix demo checkspace 2024-09-16 12:53:02 +02:00
Alug c0d1214032 rest smol fixes 2024-09-16 12:40:03 +02:00
Alug d0c909c51d fixup demo savebuf 2024-09-16 12:37:25 +02:00
Alug 2587911936 clean up 2024-09-16 12:18:01 +02:00
Alug 42bc7e3c17 unglobalize savebuffer
needs some cleanup
2024-09-16 12:05:44 +02:00
Alug 16ea4c1393 prevent netvar string overflow 2024-09-16 11:03:03 +02:00
Alug 9b6995e267 dont rerun this aswell 2024-09-16 00:54:19 +02:00
Alug 4117c109d8 dont rerun mapload hook on resynch 2024-09-16 00:44:58 +02:00
Alug 2923020273 dont run playerjoin hook on resynch 2024-09-16 00:19:33 +02:00
Alug ab47582f8a fix sound bug lol 2024-09-16 00:07:58 +02:00
Alug 4041a93ae5 revert some mobj stuff i forgor about 2024-09-15 19:27:06 +02:00
Alug 9cf3eb1631 smol fix to downsample shader 2024-09-15 14:08:06 +02:00
Alug 56fba6725e make advanced server menu scroll menu
grrrrr green res
2024-09-15 12:02:56 +02:00
Alug 3c4e552517 ... 2024-09-15 11:47:33 +02:00
Alug cdc284f009 squish options menu a little
im honestly too lazy too move shit around just before release lmao
2024-09-15 11:43:03 +02:00
Alug 961fe4aad4 test optimization 2024-09-15 00:39:26 +02:00
Alug 67eb7bbff8 some cleanup 2024-09-14 19:43:54 +02:00
Alug 5c82e674cc remove code dupe in r_segs 2024-09-14 18:43:00 +02:00
indev dc5a9bb856 should be != here 2024-09-14 18:16:48 +02:00
indev 28d58b9828 Don't default to sonic if skin was changed to unknown skin, use current skin instead 2024-09-14 17:05:52 +02:00
Alug a187b82887 add a touch of skincolor to speedlines when going fast 2024-09-14 14:25:49 +02:00
Alug 2bf60a9a26 colourize speedlines on some occasions
like durr or ssmth
2024-09-14 14:05:58 +02:00
Alug d2c1158d57 forgor about this 2024-09-14 13:14:01 +02:00
Alug c1305904e5 delete half game again but keep the bots and dehacked crap 2024-09-14 13:07:51 +02:00
Alug 094cf21c4c use continues in hooklib loops too
idk if this is any faster, but it makes smth i wanna port over potentally easier
2024-09-14 12:31:10 +02:00
Alug dc7a23db65 better value 2024-09-13 15:46:40 +02:00
Alug 9297620b6a smol m_menu cleanup 2024-09-13 14:17:06 +02:00
Alug 28019b1088 replace tooltip crap with a macro + fix adv video options tooltips 2024-09-13 14:01:02 +02:00
Alug 18714ac542 move credits a tiny bit 2024-09-13 13:37:04 +02:00
Alug 1724765feb whoops wrong tooltip 2024-09-13 13:35:10 +02:00
Alug 97ee57ff9c add smol comment 2024-09-13 13:30:23 +02:00
Alug 4bc1224d0c remove this forgor i still had that here lol 2024-09-13 13:30:10 +02:00
Alug 169ee01338 this used to be const 2024-09-13 13:22:43 +02:00
Alug d335898584 no need to save saturnjoin value + smol cleanup 2024-09-13 13:20:49 +02:00
Alug 4269ccdee4 super smol optimization R_ThingWithinDist
no need to run fixedhypot on every sprite when you dont use draw distance limit
2024-09-13 12:44:29 +02:00
Alug f12622f1e3 kek i dont have this and was too lazy to fix merge conflicts 2024-09-13 12:34:18 +02:00
Alug 866d4f6b1d smol menu visual cleanup 2024-09-13 12:32:50 +02:00
Alug a344a5efc5 add old line whatever in intermission add beta intermission visual to menu 2024-09-13 12:27:57 +02:00
Alug e272885f26 small cleanup intermission drawer 2024-09-13 12:17:21 +02:00
Alug a6c28245be Revert "delete half the game again"
This reverts commit 87bc2f1b64.
2024-09-13 01:49:50 +02:00
Alug 13e8367106 Revert "forgor to remove cv_call"
This reverts commit 87c5336cf4.
2024-09-13 01:49:46 +02:00
Alug 925180c10f only need to check all this when in splitscreen
retains vanilla behaviour
2024-09-13 00:22:57 +02:00
Alug 69844884b7 clean up sprite stuff 2024-09-13 00:16:28 +02:00
Alug e07efa1c21 fix wöter shader interpolation
accidentally reverted that when redoing palette rendering
2024-09-12 22:43:06 +02:00
Alug 87c5336cf4 forgor to remove cv_call 2024-09-12 12:36:48 +02:00
Alug 113d418144 try a funny = randomized directional lighningh 2024-09-12 02:23:39 +02:00
Alug 87bc2f1b64 delete half the game again 2024-09-12 02:17:47 +02:00
Alug d522dc4acc delete nights grade stuff
psure this is unused
2024-09-12 01:14:50 +02:00
Alug ef40f4a0ca forgor this 2024-09-12 01:04:33 +02:00
Alug 8b1d30b319 delete DEH_WriteUndoline
it literally does nothing lol
2024-09-12 01:03:03 +02:00
Alug 3bb18a1bc7 port directional + sprite lightning
doesent do all too much without soc
but was bored and could make smth cool out of it

needs a global toggle since it does some stuff by default
2024-09-11 23:17:47 +02:00
Alug 65793db889 apparently this always runs
i am in pain
2024-09-11 20:11:15 +02:00
Alug 862a4437e9 let item button toggle encore in mapselect screen
guh
2024-09-11 19:56:17 +02:00
Alug 58b3ab8185 add missing masterserver ifdef 2024-09-11 19:43:57 +02:00
Alug fa3a9c4be8 this can be int16 2024-09-10 19:51:52 +02:00
Alug 1db698961c Revert "smol optimization to HWR_AddLine"
This reverts commit 77c9badeca.
2024-09-10 10:58:37 +02:00
Alug c9bc9ce38c Revert "smol optimization R_AddLine"
This reverts commit 677cdc77e4.
2024-09-10 10:58:34 +02:00
Alug 8ab836c081 Revert "Zzz..."
This reverts commit b703428ee3.
2024-09-10 10:58:30 +02:00
Alug b703428ee3 Zzz... 2024-09-10 10:31:13 +02:00
indev 00a4c30979 Snap title demo logo to bottom right corner 2024-09-10 10:13:57 +02:00
Alug 3b080f4563 smol optimization R_AddLine 2024-09-09 22:54:18 +02:00
Alug d0f0e97254 smol cleanup 2024-09-09 22:32:51 +02:00
Alug 85f39b5310 smol optimization to HWR_AddLine 2024-09-09 22:31:38 +02:00
Alug b5f980a4ff remove redundant check 2024-09-09 22:02:49 +02:00
Alug 1d0032561e only change lightlevel/colormap behaviour in palette rendering 2024-09-09 21:50:55 +02:00
Alug dfc6ffe2ba fix off by one in sprite lightlevels 2024-09-09 21:50:24 +02:00
Alug 8c379f56cd revert this ig 2024-09-09 18:51:00 +02:00
Alug 0a54114db0 add toggle for director prompt
cause ik some ppl will complain lol
2024-09-09 16:05:01 +02:00
Alug fcb37a75da make this less complicated lol 2024-09-09 15:58:36 +02:00
Alug 95382298ce fade director hud after 4 secs after toggling it 2024-09-09 10:38:30 +02:00
Alug 51cf4b7b6f disable director on title screen and record attack demos 2024-09-09 09:21:35 +02:00
Alug 77c40d8aa1 remove unused ctf resynchpak stuff 2024-09-09 09:15:07 +02:00
Alug af7abea5e1 dont think this ever gets called but just in case 2024-09-09 09:03:33 +02:00
Alug 32a1a7ee3f huge cleanup gametypes
removed half the game lol
2024-09-09 08:46:13 +02:00
Alug 2d43624a87 make it static actually 2024-09-08 23:36:50 +02:00
Alug df6ef9752a turn off director by default when playing replays and restore the setting when done
you can  still toggle it in replays no issues
but you mostly want to watch yourself or a certain person during replays, so having to manually toggle it off always is weird
2024-09-08 23:33:54 +02:00
Alug 8b9efaa179 dont trigger rumble in offroad when under hyu effect 2024-09-08 23:09:09 +02:00
Alug 2ffb37e8ec Revert "Reapply "optimize pointon functions""
This reverts commit 47dad991b9.
2024-09-08 18:43:24 +02:00
Alug 3397bf912d readd this crap 2024-09-08 16:52:33 +02:00
Alug 448e1b3a75 lugstuff crap 2024-09-08 16:45:31 +02:00
Alug 2b32605fde slight portal cleanup 2024-09-08 16:45:09 +02:00
Alug cdf90723c3 Revert "delete ogl portal code"
This reverts commit 8cd79199e8.
2024-09-08 15:40:10 +02:00
Alug 9e9e989ec1 fix potential rendering issues on large maps 2024-09-08 14:51:16 +02:00
Alug 589c16e1fc smol cleanup 2024-09-08 14:51:01 +02:00
Alug 8cd79199e8 delete ogl portal code 2024-09-08 14:50:37 +02:00
Alug 364d2a042b oops 2024-09-07 20:09:36 +02:00
Alug b0b7bf5e14 clean up and improve ogl portals 2024-09-07 20:06:11 +02:00
Alug d9d766c098 this is literally broken and noone knows about it anyways lol 2024-09-07 17:52:13 +02:00
Alug 1f1d6df342 Show a console error if the gamestate contains too many tables 2024-09-07 17:30:00 +02:00
Alug 1a1e2f0c78 this needs to be shifted 2024-09-07 17:04:00 +02:00
Alug e01ee77a52 guh 2024-09-07 16:57:33 +02:00
Alug 2521d06233 this should use angleturn
uhhh
2024-09-07 16:46:23 +02:00
Alug 4200e263ed set camera angle to player angle in CL_ReloadReceivedSavegame
hope i did this right lol
2024-09-07 16:27:22 +02:00
Alug f3dfda530e dont rerun levelload executors when gamestate resent 2024-09-07 15:59:10 +02:00
Alug d0e04ca603 dont print "Map is now" everytime you resynch from gamestate resend 2024-09-07 15:55:44 +02:00
indev f45f733ff4 Document changes to lua P_PlayRinglossSound and K_PlayHitEmSound functions 2024-09-07 15:35:23 +02:00
Alug 951bf35db6 smol fixes for gamestate resend in P_SetupLevel
- dont reset cameras during gamestate resynch
- dont reinit director during gamesate resynch
- dont reset view interpolators aswell
- dont reset localaiming aswell

should make resynching less jarring visually hopefully
2024-09-07 15:35:17 +02:00
Alug eaea684e71 add compiler flags NOSATURNSYNCH, NOSATURNJOIN and NOSATURNPAK
not building with SATURNSYNCH also will disable SATURNJOIN since it makes not much sense to have that when synch stuff is unused
2024-09-06 21:41:46 +02:00
Alug 0261fa3077 % 2024-09-06 21:06:00 +02:00
Alug 8c6414ce5a smol cleanup + add comments 2024-09-06 21:05:21 +02:00
Alug c7262e257d set netgame save stuff to false for replays
to retain max vanilla compat for replays
dont want those breaking between clients
2024-09-06 21:02:16 +02:00
Alug c5df712c7d reserve saturn packet even if unused
to not cause any weird isssues if either one is undefined and stuff like that
2024-09-06 20:36:20 +02:00
Alug 8ed7bd0034 menu offset stuff for if not using SATURNSYNCH 2024-09-06 20:06:49 +02:00
Alug e7a0ac104a oops again 2024-09-06 19:59:39 +02:00
Alug e21b83b1ec hide gamestate resynch stuff behind SATURNSYNCH ifdef 2024-09-06 19:55:22 +02:00
Alug 31b8038aa0 oops 2024-09-06 19:52:04 +02:00
Alug dcb262f192 put saturn specific join allow stuff behind SATURNJOIN define
so it can be seperate from SATURNPAK
2024-09-06 19:23:35 +02:00
Alug 47dad991b9 Reapply "optimize pointon functions"
This reverts commit 5a4c9f4633.
2024-09-06 19:11:15 +02:00
Alug 21cf80dd58 make this completely toggable actually 2024-09-06 18:50:57 +02:00
Alug 5a4c9f4633 Revert "optimize pointon functions"
This reverts commit f95c751ff2.
2024-09-05 20:27:13 +02:00
Alug c25db4d9be Revert "smol cleanup p_maputl"
This reverts commit 1950b0956e.
2024-09-05 20:27:07 +02:00
Alug 457f73bc0f Revert "test kill SEENAMES without removing its netvar"
This reverts commit aa6a011bef.
2024-09-05 20:26:58 +02:00
Alug 1488457211 move those so backtraces still write if savedemo should crash 2024-09-05 17:56:04 +02:00
Alug 33ddb1fa4f only save demo in map command if you atleast spend 35 seconds in one map 2024-09-05 17:36:53 +02:00
Alug 57b5614124 toggle for saving replays on changing to same map 2024-09-05 10:52:15 +02:00
Alug 7e813768ed test save replay when crashing in signal handler 2024-09-05 10:09:02 +02:00
Alug eb2f64801e test also save replay on mapchange command 2024-09-05 00:11:30 +02:00
Alug 1396d6b06b this should also check for screentex cvar value 2
dont run certain postprocessor effects when you dont have screentextures enabled
2024-09-04 23:45:00 +02:00
Alug 8ce2ad0d39 add a little bit of safety to R_SetupFrame 2024-09-04 23:17:37 +02:00
Alug a699be42c7 remove IFCHANGED macro, check directly in R_Lerp funcs + inline those
basically does the same thing lol just looks better
2024-09-04 18:47:47 +02:00
Alug 05009b9c82 scale precip momz with mobjscale when cv_mobjscaleprecip enabled 2024-09-04 18:31:01 +02:00
Alug 39cf5d5f70 also scale precip sprite with mobjscale when cv_mobjscaleprecip enabled 2024-09-04 18:30:37 +02:00
Alug 836658d5d5 only call HWR_RenderPlayerView in ogl explictly 2024-09-04 18:14:53 +02:00
Alug 1b5cd02289 smol cleanup for led stuff again 2024-09-04 15:03:06 +02:00
Alug 9180f27315 smol cleanup hw_shaders 2024-09-04 15:02:31 +02:00
Alug aa6a011bef test kill SEENAMES without removing its netvar
why is this even defined
2024-09-03 12:31:13 +02:00
Alug 32ee5a8a61 smol cleanup p_map 2024-09-03 12:25:22 +02:00
Alug 1950b0956e smol cleanup p_maputl 2024-09-03 12:16:14 +02:00
Alug 542d5a4127 test use HWR_ProcessPolygon for skywalls 2024-09-03 07:31:32 +02:00
Alug b94b3c9d17 lol 2024-09-03 07:30:59 +02:00
Alug dab48b4183 precalc this 2024-09-03 07:30:51 +02:00
indev 10f0c9c0d8 Make server send serverinfo packet so client can know server name even when connecting just by ip 2024-09-02 22:44:27 +02:00
Alug 61bd811dfd more stuff i forgor 2024-09-02 17:43:57 +02:00
Alug ce4a89ed96 missed those 2024-09-02 17:40:19 +02:00
indev db4e94652d Add ctrl-w (delete word), ctrl-left (move to word beginning) and ctrl-right (move to word end) shortcuts for console 2024-09-02 17:28:17 +02:00
Alug 34196dc989 revert bunch of lugstuff specific stuff so i dont desynch and stuffs 2024-09-02 17:27:43 +02:00
Alug a8a71cc70c Revert "dont access delayremoved thinkers"
This reverts commit 7d885f7100.
2024-09-02 17:05:57 +02:00
Alug f95c751ff2 optimize pointon functions 2024-09-02 14:22:58 +02:00
Alug eed32527cd those are unused 2024-09-02 12:18:51 +02:00
Alug 1134bbf672 dont draw precip in skyboxes in opengl like software does 2024-09-02 12:12:08 +02:00
Alug 2635dab82f this can be static 2024-09-02 12:10:24 +02:00
Alug 57b6495e06 optimize polyobject spawn
should speed up level loading with maps with polyobjects
thx geezeedoom
2024-09-01 19:37:50 +02:00
Alug bc356ceac9 make downsampleshader respect the resoltion factor 2024-09-01 00:51:58 +02:00
Alug 8aeedadbcf no idea why i put those here 2024-08-31 20:19:06 +02:00
Alug 1e3459c588 update camera when paused and changing cam dist or height 2024-08-31 20:15:34 +02:00
Alug 8dda416592 throw menu bg conditions into own function since it s terrible 2024-08-31 19:52:24 +02:00
Alug 39a5b43e30 add camera options menu 2024-08-31 19:51:49 +02:00
Alug 9bdcfc34b5 add some comments 2024-08-31 18:54:21 +02:00
Alug 04b76339cb give camera lookback a toggle + extra option 2024-08-31 18:45:29 +02:00
Alug 2e80a9ffe9 super tiny cleanup m_menu again 2024-08-31 18:34:37 +02:00
Alug 900d4fe433 forgor speedo doesent draw in splitscreen + change offsets 2024-08-31 18:10:52 +02:00
Alug 76e9b8a599 add battlespeedometer to saturn hud menu + apply offset to bumper gfx when enabled 2024-08-31 18:01:12 +02:00
Alug b2fc9cc141 make timer flash at 99´59´99 again 2024-08-31 17:39:17 +02:00
Alug f280748d71 fix pal render postprocess shader by combining stuff
godawful but i dont want to draw another screen texture since itll tank performance
2024-08-30 22:15:03 +02:00
Alug 8a19bda170 use shader for downsampling with fbo
looks alot better and actually makes supersampling worth it

will be disabled when shaders also are
2024-08-30 21:21:21 +02:00
Alug 6f1fcd3e10 this can be static and inlined 2024-08-28 17:08:38 +02:00
Alug 9c5e591038 changes to saturn menu
-Add new Saturn Hud options menu to declutter normal saturn options
- If in any of the hud options the game will force display the kart hud and disable the fade background
- i hate m_menu
2024-08-27 18:22:56 +02:00
Alug 0790919125 respawn precip when toggling any of its settings 2024-08-27 16:28:45 +02:00
Alug 0840e5be3f toggle to scale weather with mobjscale
toggle since it may tank performance on certain maps for some + may make visability worse
2024-08-27 15:58:52 +02:00
Alug 4894d42e67 fix precip switching 2024-08-27 05:42:36 +02:00
Alug 664128cc18 optimize z position checking for mobjs without collision and camera
idk how much this does tbh
only for stuff without collision since it may desynch otherwise

based on
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2214

and

https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2250
2024-08-26 19:54:16 +02:00
Alug 3809f06ae8 when looking back camera momentum should inherit the mom of the player
makes using shoes or any boost stuff less jarring when looking back
2024-08-23 15:44:51 +02:00
Alug b7347fd371 fix compileur warnings
idk if this is right lol
2024-08-23 15:43:21 +02:00
Alug 189b91be57 fix potential crash in P_TryCameraMove for dedi servers 2024-08-23 15:31:35 +02:00
Alug 105d57c78d cleanup P_DoSuperTransformation
its still exposed to lua for whatever reason
so cant really remove crap kek
2024-08-23 15:31:00 +02:00
Alug eaed388d33 cleanup birdmusic crap again
music_resync_powerups_only literally didnt do shit lol
removed some other unused crap
changed some conditions to better check for stuff
etc idk
i just rather remove this whole thing at this point but oh well
2024-08-23 15:29:36 +02:00
Alug 564e8f6df4 forgor 2024-08-21 15:38:40 +02:00
Alug 6059753e73 cleanup FBO on shutdown + make some stuff static 2024-08-20 23:26:11 +02:00
Alug d82886c517 more changes to FBO stuff
now it wont ever do anything when disabled
also properly deletes the FBO when disabling it
2024-08-20 23:17:26 +02:00
Alug 23734480cc revert this in y_inter 2024-08-20 20:39:26 +02:00
Alug 50871fa9b5 make this more robust ig 2024-08-20 03:57:43 +02:00
Alug 39a11a4196 forgor return 2024-08-19 21:54:15 +02:00
Alug 80cd5ea6b4 do not constantly query ogl extensions 2024-08-19 21:48:34 +02:00
Alug a197a85930 enforce the xwayland hack even if fbo cvar is disabled
we have a bunch of guards in it so dont think there will be a problem
2024-08-19 18:57:16 +02:00
Alug aa4bf55574 change some stuff for saturn 2024-08-19 17:38:01 +02:00
NepDisk 0651a744fb Appimage compile pt2 2024-08-19 17:17:42 +02:00
NepDisk 3e4cdd4cf1 Appimage compile pt1 2024-08-19 17:17:38 +02:00
Alug 29b1409122 raise maxpng res 2024-08-19 17:16:48 +02:00
Alug e26c65bffb git pls 2024-08-19 17:16:39 +02:00
Alug 69bed9dcb6 Update LUASTUFF
idk i suck at explaining lmao
but atleast those should be mentioned
2024-08-19 14:58:32 +02:00
indev a49081a473 Don't execute exitgame command on dedicated servers 2024-08-19 13:29:50 +02:00
indev 1aa49108d0 Fix compilation when SDL_VERSION_ATLEAST(2,0,18) is false (if its false then 'else' statement would not be valid) 2024-08-19 13:29:47 +02:00
Alug 0dbc68a7df try async vsync here too 2024-08-19 13:28:48 +02:00
Alug 5fd25a76ad Fix typo 2024-08-19 11:55:49 +02:00
NepDisk f4535b6465 Fix Compile without with out of date SDL 2024-08-19 11:55:49 +02:00
Alug ac35961a15 Fix some tooltips so they don't go offscreen
grr git not crediting neppy for some reason
2024-08-19 11:55:49 +02:00
NepDisk b2c4ca99c2 Allow the control binds menu to use lower case 2024-08-19 11:51:13 +02:00
NepDisk ce8cf450b7 Fix gamepad menus for green reses via scrolling 2024-08-19 11:51:10 +02:00
Alug 112839a489 use qsort instead of qs22j for vissprite sorting
seems to be actually faster in this case
2024-08-18 20:46:07 +02:00
Alug 60041b03f7 this should not be in HWRENDER ifdef 2024-08-17 20:03:49 +02:00
Alug 67df9e0a50 fix NOHW compile 2024-08-17 20:02:09 +02:00
Alug 5113387134 throw saturnpacket and join stuff behind "SATURNPAK" ifdef, disable it for now 2024-08-17 19:57:56 +02:00
Alug 3f267034a8 smol fix to slope light 2024-08-17 16:31:04 +02:00
Alug dec8a16921 better slope light 2024-08-17 15:55:39 +02:00
Alug e3a9fdff22 smol changes 2024-08-17 15:37:24 +02:00
Alug 0bf25fad84 Use a const for the contrast 2024-08-17 15:30:04 +02:00
Alug 2e09d88999 Update light offset on polyobjects when they rotate 2024-08-17 15:28:37 +02:00
Alug 6df8f5b35c precalc fakecontrast on mapload 2024-08-17 15:25:12 +02:00
indev bce621d647 Always allow typing replay search query, similar to addon search 2024-08-16 01:03:18 +02:00
indev 01e51767e7 Add 'Hit Em Delay' option in menu 2024-08-16 01:03:14 +02:00
Alug 9a24ed2a09 add onchange func for led + fix rumble onchange 2024-08-16 00:34:08 +02:00
Alug a5f756eeb0 add toggles for gamepad led stuff 2024-08-16 00:08:40 +02:00
Alug e92c3d4d79 dont think we need that here 2024-08-15 23:54:35 +02:00
Alug ca4471ea6a reset rumble when player is exiting 2024-08-15 23:44:40 +02:00
Alug ecdbba2d28 dont change connect behaviour regardless of client + smol cleanup and fixes
should hopefully fix any remaining issues
2024-08-15 23:40:54 +02:00
Alug 057fb30b39 smol cleanup 2024-08-15 17:33:18 +02:00
Alug 678ddd781c remove duplicates in ResetNode 2024-08-15 17:32:15 +02:00
Alug 98111fe114 check for changed state before everything else 2024-08-15 15:47:10 +02:00
Alug b47f5ab235 move this in hw_main 2024-08-15 15:19:11 +02:00
Alug b909fe8ea9 shut up compiler 2024-08-15 14:42:30 +02:00
Alug 276ef2a150 move this in coindition 2024-08-15 13:41:20 +02:00
Alug 72540a8a0d smol cleanup HWR_RenderPlane 2024-08-15 13:41:00 +02:00
indev 0ce6cb4cee Fix increasing number of viewpoints in replays by more than 1 (like pressing '3' with only one viewpoint) crashing game 2024-08-14 15:56:44 +02:00
Alug 8b81f4cef2 completely disable director in splitscreen
will eventually get to splitscreen support lul
2024-08-14 14:44:22 +02:00
Alug d04d278f0e fix director lol 2024-08-14 14:10:16 +02:00
Alug 23f839dc19 also do this when player gets invul "power" 2024-08-14 12:49:05 +02:00
indev 6eca8150f1 Prioritize display players when assigning delayed 'hit em' 2024-08-12 11:18:34 +02:00
indev 521c9f686f Fix LUA_EvalMath warnings being broken sometimes 2024-08-11 12:03:54 +03:00
Alug 37da18cdcb Revert "Only load map lumps that are WADs or have no extension"
This reverts commit 1fb126b4d3.
2024-08-10 21:52:32 +02:00
indev cdc5460fd6 Oops forgot to change that
Dunno if this function ever gets called for non-player objects but just in case
2024-08-10 13:22:39 +02:00
indev 8aa6f62b2d Add delayed hit em sound (like in DRRR), togglable via 'karthitemdialog' cvar 2024-08-10 13:22:35 +02:00
Alug 5c9b9b6295 no need to check for ogl here 2024-08-10 09:55:25 +02:00
Alug 2e70119e68 smol cleanup for downsample stuff 2024-08-10 09:55:16 +02:00
Alug 1c5a312867 throw this behind ifdef 2024-08-10 09:44:20 +02:00
Alug f2e0b4dbc0 Flash gamepad LED when invul or grow 2024-08-09 20:41:29 +02:00
indev 15fd488e0d Fix smol memory leak in replay search thread oops 2024-08-09 18:51:08 +02:00
indev 04c0dad598 Load replay titles in separate thread 2024-08-09 18:44:08 +02:00
indev 0acb817e38 Visual improvements for replay search 2024-08-08 21:53:37 +02:00
indev fd00a08fa2 Add alternative button ('/') to open replay search 2024-08-08 21:53:33 +02:00
indev 0bc529ef5c Oops shouldn't z_free that 2024-08-08 21:53:29 +02:00
indev 2e8f06286d Greatly improve replay search perfomance by only reading replay name, and not entire file. Increase default search rate up to 1000 2024-08-08 21:53:26 +02:00
indev 52c1a950ba Fix M_HutCheckReplays still being called in menu (hopefully) 2024-08-08 21:53:22 +02:00
indev e946c93fe8 Search replays using title instead of filename 2024-08-08 17:54:53 +02:00
indev 220e996531 Test replay search 2024-08-08 17:54:49 +02:00
Alug 05a0085e22 fix nvidia xwayland screentex issue in dumb way
josdifgjs09ef09
2024-08-07 09:41:10 +02:00
Alug 27074cb8d2 more smol cleanup 2024-08-07 09:19:28 +02:00
Alug 1fb126b4d3 Only load map lumps that are WADs or have no extension 2024-08-05 16:21:29 +02:00
Alug b5ba82e52b smol cleanup w_wad 2024-08-05 16:12:12 +02:00
Alug a71139749f Test: remove Z_Unlock and proper free some stuff 2024-08-05 14:12:00 +02:00
Alug dd6332b715 smol cleanup 2024-08-05 12:15:18 +02:00
indev 936e461812 Fix chat not saving in console
Not sure why it was working before but broke now, maybe making va use snprintf instead of sprintf broke that
2024-08-04 16:53:32 +03:00
Alug 8c2367d0e7 check if theres even controllers in rumble ticker 2024-08-04 14:51:35 +02:00
Alug eb3c68df88 update led status in main loop
makes this whole ordeal alot less hacky tbh
player color always gets updated if it changes
still allows for directly setting led color elsewhere by using G_SetPlayerGamepadIndicatorColor directly
hoping crap doesent cost any perf but honestly shouldnt
2024-08-04 14:51:19 +02:00
Alug d9123c50d6 no need for this 2024-08-04 14:07:54 +02:00
Alug 43dfab7974 proper pass fwrapv to gcc 2024-08-04 13:01:45 +02:00
Alug 4d5b993490 forgor 2024-08-04 12:50:31 +02:00
Alug 44ab751fcb fix warning in director 2024-08-04 12:46:30 +02:00
Alug 96fcf2f668 support gcc 14.2.1 + fix some stuff 2024-08-04 12:45:23 +02:00
Alug 4db7992542 better statdisplay offsets in splitscreen
lots of trial and error.....
2024-08-03 23:49:31 +02:00
Alug 5a3893b46d smol fix to viewroll interp 2024-08-03 22:44:57 +02:00
Alug 9f4f728541 Revert "only works for displayplayer 0"
This reverts commit ba20020929.
2024-08-03 22:44:38 +02:00
Alug ba20020929 only works for displayplayer 0 2024-08-03 22:36:51 +02:00
Alug a3f224da6e expose viewroll to lua 2024-08-03 22:33:08 +02:00
Alug 9e7d4b3c22 fix crap here too even if its commented out 2024-08-03 21:47:53 +02:00
Alug 56e5242201 Fix few remaining uses of this_scale and ty
Not too sure if this is correct tho
2024-08-03 21:25:59 +02:00
Alug 38c1462fef add controller rumble to menu 2024-08-03 21:25:31 +02:00
indev 156173b3b9 Smol safeguard for R_PointToDist2 2024-08-03 20:46:52 +02:00
Alug b6a8f96e02 misplaced this 2024-08-03 18:02:50 +02:00
Alug 6bb9c88a1f make inline macros for pointtodist 2024-08-03 07:31:12 +02:00
Alug 00ea95ee2b stuff 2024-07-31 07:37:17 +02:00
Alug 859e08d628 Reapply "lol"
This reverts commit 340450a67e.
2024-07-31 06:07:49 +02:00
Alug 7c24fcfecb Reapply "optimize precip thinker"
This reverts commit dd73787c8b.
2024-07-31 06:07:43 +02:00
Alug 1c17d82836 send latency command after lua command 2024-07-31 06:06:05 +02:00
Alug 2d822ded27 add very light rumble to brakedrift 2024-07-31 06:05:49 +02:00
Alug 143c8bd436 fix up ogl sprite drawers, fix floor clip fix remove ty and reduntand hires stuff 2024-07-31 05:31:16 +02:00
Alug 2d166a35d0 check if displayplayer skincolor is availible before returning it 2024-07-31 00:28:29 +02:00
Alug eb02f15a5d fix rumble condition 2024-07-31 00:20:31 +02:00
Alug a8559c3c29 smol interp fixes 2024-07-30 23:54:49 +02:00
Alug bdb175f84b revert some lightlevel stuff in hw_main 2024-07-30 01:43:56 +02:00
Alug 7122c7cd5a make this more explicit 2024-07-30 01:04:24 +02:00
Alug b9f5fd21e7 remove redundant check 2024-07-30 01:02:05 +02:00
Alug 69f75a9191 change rumble ticker loop a bit 2024-07-30 00:59:06 +02:00
Alug b753c5ab2d set default duration to 84 2024-07-30 00:20:26 +02:00
Alug 7389537c63 do not constantly reset rumble
so it can work from lua
2024-07-30 00:20:13 +02:00
Alug 00096d340f throw rumble ticker into right place 2024-07-30 00:16:19 +02:00
Alug 1b3977436d fix cassting, make one tic duration default, but can still pass ms to it 2024-07-29 23:35:32 +02:00
Alug 0631468f0d add duration field to G_PlayerDeviceRumble
duration is in ms
2024-07-29 23:27:36 +02:00
Alug a57cb9eb6a expose rumble and led to lua 2024-07-29 22:54:23 +02:00
Alug ed4c4cb311 rename to G_SetPlayerGamepadIndicatorColor 2024-07-29 22:45:39 +02:00
Alug 094373d89f splitscreen support for rumble 2024-07-29 22:17:01 +02:00
Alug a6d08a12b5 add splitscreen support to gamepad led
also add more proper device check
2024-07-29 21:41:18 +02:00
Alug 55c6aa78e5 add basic rumble support for gamepads 2024-07-29 20:40:13 +02:00
Alug f95d0a1d34 i didnt knew k_positiondelay exists 2024-07-29 18:00:04 +02:00
Alug 73b84a0e02 another smol fix to director 2024-07-29 16:40:37 +02:00
Alug 7704bf7c90 lower breakawaydist in director 2024-07-29 04:29:05 +02:00
Alug a76ebe3600 fix K_DrawDirectorDebugger 2024-07-29 04:26:06 +02:00
Alug f8c8fedbe8 cleanup k_director 2024-07-29 04:13:51 +02:00
Alug 6a21729ff9 lower pinchdist in director
since we cant get an accurate value for distance to finish line, this should do it perhaps
2024-07-29 04:13:42 +02:00
Alug 9839d7ca3a change gamepad rgb color when switching viewpoints 2024-07-29 03:57:20 +02:00
Alug 82ad38e7f4 Revert "let invul flash rgb in rainbow lol"
This reverts commit 0a717e0081.
2024-07-29 03:17:47 +02:00
Alug 654c98f2ee Revert "smol fix"
This reverts commit b9f4eaa413.
2024-07-29 03:17:45 +02:00
Alug febadb6c08 simplify reduntand condition 2024-07-29 03:00:02 +02:00
Alug b9f4eaa413 smol fix 2024-07-29 01:53:31 +02:00
Alug ddf1db3d3d ressting to defaultcolor should also set led color 2024-07-29 01:39:33 +02:00
Alug 987253afcb Revert "dont return true for removed thing in P_CheckPosition"
This reverts commit 3f4d399afd.
2024-07-29 01:12:46 +02:00
Alug 0a717e0081 let invul flash rgb in rainbow lol 2024-07-29 01:12:35 +02:00
Alug ae0bce61f6 change color light when you cycle between colors in player setup 2024-07-29 01:12:17 +02:00
Alug a0ee75ebf4 give rgb custom color support, change rgb light color earlier in Color_OnChange
so it always unconditionally changes the color
also
2024-07-29 01:11:54 +02:00
Alug 1665d9aaa3 removed those by accident 2024-07-29 00:44:36 +02:00
indev be43f4d528 Only do lookup for mobjtype and states for drift stars and water trails at map load 2024-07-29 00:34:27 +02:00
Alug 6bcd2024a0 set controller rgb to playercolor
eh only for 1st player now no splitscreen support
idk if everything here is even correct
2024-07-28 19:54:08 +02:00
Alug f2b21c6055 Revert "fix some G_BuildMapTitle memleaks"
This reverts commit e5159e13dd.
2024-07-28 18:54:18 +02:00
Alug afb96c60cb Fix NULL lump name guard in W_CheckNumForMap 2024-07-28 18:40:58 +02:00
Alug e5159e13dd fix some G_BuildMapTitle memleaks 2024-07-28 18:37:20 +02:00
Alug fb622eda2a SDL: only react to window focus changes if state actually changes 2024-07-28 18:18:29 +02:00
Alug 5565edfcb4 dont reload palette until config was loaded 2024-07-28 18:13:28 +02:00
Alug 9b141b9f9f calloc soundchannels insteal of mallocing 2024-07-28 18:06:46 +02:00
Alug 6c885bff1e fix potential player reference issus in CL_ClearPlayer 2024-07-28 18:04:18 +02:00
Alug 9e575d89db can inline this 2024-07-28 17:46:04 +02:00
Alug 9e266c7a41 some reference fixes for shadows and overlays 2024-07-28 17:15:11 +02:00
Alug b08c175bfc Do not run ST_Ticker if dedicated 2024-07-28 16:54:24 +02:00
Alug 97c01c5951 smol fix to P_SetTarget 2024-07-28 16:37:07 +02:00
Alug 519e23ec36 P_NetUnArchiveThinkers: set thinker references to 0 before removing 2024-07-28 16:25:28 +02:00
Alug 3f4d399afd dont return true for removed thing in P_CheckPosition 2024-07-28 16:24:11 +02:00
Alug efaded5016 reset this in P_InitThinkers 2024-07-28 16:08:46 +02:00
Alug 2410bbfe4c some more smol mobj fixes 2024-07-28 15:57:03 +02:00
Alug 9637ae563c HMS_fetch_rules: Return NULL if the curl connection failed, instead of producing garbled rules 2024-07-28 15:49:01 +02:00
Alug f71631e732 try to prevent potential infinite SIGARBT hang in signal handler 2024-07-28 15:37:23 +02:00
Alug cca082b091 Cache pk3 central directory and Refactor ResFindSignature to work in chunks
https://github.com/KartKrewDev/RingRacers/commit/8ca2dc77e75b1ba8c511380257f0bbaf6d21c27b
https://github.com/KartKrewDev/RingRacers/commit/dedd0047bd8f9f73aba4defc19c429af7c987983
2024-07-28 15:35:47 +02:00
Alug cf8c38d08e fix potential crash on nix while quitting 2024-07-28 15:05:19 +02:00
Alug 4254e47bf4 dont always reset texture depth in ogl 2024-07-28 15:04:47 +02:00
Alug 2b32aee35d Ensure Z_Malloc provides same alignment as libc 2024-07-28 15:04:25 +02:00
Alug adfc22e377 Fix sound falloff calculation overflow 2024-07-28 15:04:14 +02:00
Alug 949d1a81ac smol fix to frameskipping 2024-07-28 15:04:01 +02:00
Alug 09a7999e4e e 2024-07-27 15:56:44 +02:00
Alug 351583ecf7 Revert "raise MAXVISSPRITES for 64-bit again"
This reverts commit d5258786e5.
2024-07-27 15:48:24 +02:00
Alug 3afd3aab8f lagless cam toggle 2024-07-27 15:02:47 +02:00
Alug 4bae40170f this is not a server cvar lol 2024-07-27 15:00:07 +02:00
Alug 09cb9831ef toggle for laptimes 2024-07-27 14:38:25 +02:00
indev 3864dc5833 Lets not compile lua code multiple time each frame x) 2024-07-27 03:26:37 +03:00
Alug 60d7b0272e Show last lap time on HUD
god this is kinda ass lol
doesent work when you join midgame so disabled for there
2024-07-26 22:18:49 +02:00
Alug fec72732e5 small change to director for battle 2024-07-26 20:41:26 +02:00
Alug 1571b11b0b R_LoadTexturePwad: fix faulty texture counting 2024-07-26 19:43:48 +02:00
indev 8d168076ef R_LoadTexturesPwad: don't do anything wad has no textures 2024-07-26 19:43:44 +02:00
Alug 9c6669fd5c Do not reload every texture when adding a wad
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/1725?commit_id=37add34b9c729b21e624e22d64159073c9258e25
2024-07-26 19:43:30 +02:00
Alug e2dedfff00 Split R_LoadTextures 2024-07-26 19:43:24 +02:00
Alug a07c619947 rename draw dist settings 2024-07-26 19:15:59 +02:00
Alug c5ee27c1b4 raise MAXVISSPRITES for 64-bit again 2024-07-26 19:15:23 +02:00
Alug 2530667b86 add more sprite draw dist settings for 64bit clients 2024-07-26 19:14:08 +02:00
Alug 83f8591afa when no autoload config is found skip everything in D_AddAutoloadFiles
stuff doesent need to run if theres nothing to autoload so things can be skipped
2024-07-26 15:03:01 +02:00
Alug 78213a7ed5 add some extra safety to orbit and bananachain funcs 2024-07-26 13:59:37 +02:00
indev 08ff64da12 Add check for if lua state exist in UnArchiveExtVars, since server can have local luas that may add player/mobj fields into savegame 2024-07-25 22:50:53 +03:00
indev 57650dc955 Oops 2024-07-25 20:27:59 +02:00
indev 9e8c1d694a Make water trail not use hardcode freeslots too 2024-07-25 20:24:43 +02:00
indev 1dd7d63380 Make drift stars not use hardcode freeslots 2024-07-25 19:06:29 +02:00
Alug 6a8ed13a99 some cleanup 2024-07-25 19:05:44 +02:00
Alug d6c5066bfd let autoload run later to mitigate server join issues
itll now run at a similar place to postautoload
this may hopefully prevent some issuess with freeslotting lua
however sadly this makes menu replacements not work at startup anymore
2024-07-25 16:42:33 +02:00
Alug 60783d7109 fix fail condition 2024-07-23 22:02:54 +02:00
Alug db525f15da make backup of kartconfig before writing to it 2024-07-23 21:48:38 +02:00
Alug f33daf6bee toggle palrendering and fbo off if screen textures are disabled 2024-07-23 20:31:34 +02:00
Alug d13928b394 add cam check here 2024-07-23 20:06:01 +02:00
Alug 5613a0d173 reset tilt when respawning 2024-07-23 20:02:20 +02:00
Alug aa38586f82 simplify this 2024-07-23 19:01:44 +02:00
Alug d2b1ceb641 forgor this 2024-07-23 18:56:51 +02:00
Alug 9dd7e9a25f fix up bird screen tilting
removes old lerp variables that did nothing
properly interpolated viewroll
made it proper adjust to mobjscale
doesent roll view when spectating
general cleanup
2024-07-23 18:54:27 +02:00
Alug 1648273ddd allowjoin now sets saturnjoin to its value use CV_StealthSet to prevent
its only for scripts pretty much so no need to toggle it seperately
2024-07-23 17:45:00 +02:00
Alug 3f90e4f12a add "allowsaturnjoin" cvar to let toggle allowjoin for saturn clients seperately 2024-07-23 17:07:59 +02:00
Alug 2b9d565f0c e 2024-07-23 00:59:15 +02:00
Alug 70af63cc94 add to menu 2024-07-23 00:55:48 +02:00
Alug 64b92881f9 changuer how this works
counter decrements - 1 double the cooldown time
2024-07-22 23:36:13 +02:00
Alug be5ea069ad add gamestateresendattempts
so you can specify how often the game tries to resend gamestate to player in given time
so they dont get stuck in a synch loop
this is gamestateresendattempts value in the time of resynchcooldown *2
2024-07-22 23:09:04 +02:00
Alug 71e9357114 add check here too 2024-07-22 22:20:42 +02:00
Alug e28f86ac32 add "gamestatecooldown" cvar
to be able to change the cooldown between gamestate resends
2024-07-22 22:20:38 +02:00
Alug f97fe4bd65 Test: Restore save_p after P_LoadLevel
P_LoadLevel calls some functions that save gamedata and
unset save_p.

this is kinda hacky but i perhaps will port the redone save buffer sometime
2024-07-22 19:51:56 +02:00
Alug 3d0ac03f06 optimize MT_TUBEWAYPOINT
Store waypoints at map load instead of iterating through the thinker list to find them

https://git.do.srb2.org/STJr/SRB2/-/merge_requests/938
2024-07-22 19:51:44 +02:00
Alug 094132b7d3 Make polyobjects agree with sector lighting/colormap like a FOF. 2024-07-22 19:03:14 +02:00
Alug 51b9c9ae5a prevent potential level load crash 2024-07-22 18:13:06 +02:00
Alug d31941ef13 don't check flippedness in HWR_RotateSpritePolyToAim if the mobj is actually a precipmobj! 2024-07-22 18:08:26 +02:00
Alug 48db826142 2 2024-07-22 12:58:28 +02:00
Alug 32b62d19ff add missing copyright stuff to k_director 2024-07-22 12:57:29 +02:00
Alug e4f2961129 lagless cam test 2024-07-21 23:28:29 +02:00
Alug eba09dfad2 Revert "Free mipmaps before freeing tags"
This reverts commit 2437c5a19a.
2024-07-21 23:25:32 +02:00
Alug d9b72fcae6 whitespace hell 2024-07-21 22:51:36 +02:00
Alug 6f17e7f735 revert this
doesent do anything but complicate stuff lol
2024-07-21 22:46:01 +02:00
Alug 047b82acc0 remove hw_light 2024-07-21 22:38:51 +02:00
Alug 5347039d75 cleanup hw_main 2024-07-21 22:23:21 +02:00
Alug edc8095577 cleanup r_things a little 2024-07-21 22:21:01 +02:00
Alug 06f69723c2 fix this oops 2024-07-21 20:22:10 +02:00
Alug 8218fd4f57 stop yelling clang 2024-07-21 20:07:39 +02:00
Alug 6ee22edac5 smol cleanup
also check for splitscreen and if not dont run a for loop lul
2024-07-21 20:07:23 +02:00
Alug 37215ef1f4 clean director up a little
toggling director now resets cooldown so it switches players immediately
also consolidated condition to be active
and ensure DirectorFollowAttack doesent always run when it doesent need to be
2024-07-21 19:35:17 +02:00
Alug a2eb2222b9 more reference fixes 2024-07-21 17:38:06 +02:00
Alug d63b4d9463 Revert "attempt at mitigating palette bug in ogl"
This reverts commit 3bd85c20bc.
2024-07-21 16:21:56 +02:00
Alug 3bd85c20bc attempt at mitigating palette bug in ogl 2024-07-21 16:10:23 +02:00
indev f70063c7d8 Add director hud indicator 2024-07-21 17:03:27 +03:00
Alug a2f7dd7408 fix cmake 2024-07-21 15:45:53 +02:00
indev 147014d43a Add bind for director toggle 2024-07-21 16:11:33 +03:00
Alug 9460d1e9a1 oops 2024-07-21 15:11:28 +02:00
Alug b3a9a6b59a add stuff for directordebugger i forgor 2024-07-21 15:11:01 +02:00
Alug 69f7d669c8 only update director if consoleplayers specs or in demo playback
dont need to update this ever if we dont even use it lol
2024-07-21 14:42:48 +02:00
Alug 74a68b1462 fix crash if everyone spectates 2024-07-21 14:42:17 +02:00
Alug 006ea90493 port director from RR 2024-07-21 14:20:54 +02:00
Alug aede063266 Merge remote-tracking branch 'origin/absolutehell' into lugstuff 2024-07-20 19:47:37 +02:00
Alug 5aaeff4c5d improve virtual resource management 2024-07-19 22:44:12 +02:00
Alug 5f80d6c18d fix hoop midjoin crash in the dumbest way possible
cant figure out why it crashes so thisll do lol
2024-07-19 22:42:50 +02:00
Alug 7c59c9e6ec fix ScreenCoords on 2 plyr splitscreen and shearing
+ remove non 16:10 hack since that issue was fixed elsewhere
2024-07-19 19:25:05 +02:00
Alug aae83b3235 disable hudoffsets in splitscreen 2024-07-19 18:52:53 +02:00
indev 520165128a Add option to play power items sfx for growmusic and supermusic 2024-07-19 18:17:23 +02:00
Alug 556ced63cf whoopss remove test stuff 2024-07-19 14:39:23 +02:00
Alug 063bf830ff make a packet to tell if a joined client is on saturn
initial stuff
works and seems to be vanilla compatible
needs its own function and other things to be useful
2024-07-19 14:38:38 +02:00
Alug 7fd3bd412c reenable gme music position setting 2024-07-19 12:13:20 +02:00
Alug 47b9508af2 lul 2024-07-19 01:22:36 +02:00
Alug 417c44aad0 lül 2024-07-19 01:20:18 +02:00
Alug 1fefa0a99a remove spriteclipshader crap 2024-07-18 15:23:27 +02:00
Alug 06db4d2b62 add audio buffer size into sound menu 2024-07-18 14:43:05 +02:00
Alug bf7fc12a8d revert this in teleport 2024-07-17 22:19:03 +02:00
Alug 395daf57fa Revert "clean up mapload code a little more"
This reverts commit 79a5d174a5.
2024-07-17 12:26:38 +02:00
indev 97219b7a84 Attempt to fix possible use-after-free for awayviewmobj 2024-07-17 11:56:22 +02:00
Alug 0d5d677eff Skip over empty entries when populating vres, saving memory 2024-07-17 11:56:19 +02:00
Alug 3bd6c99a3b vres_GetMap: Count resources in folders up until next 0-length lump
justs in case the order of stuff may be weird
fixes keepmapmusic crash on some maps
2024-07-17 11:56:17 +02:00
Alug 1d2d8d58db clean up mapload code a little more 2024-07-17 11:56:14 +02:00
indev 9909b002fe Fix linedef 415 executing random text if script lump doesn't have null terminator 2024-07-16 15:46:37 +02:00
Alug ccda1ef104 did not mean to add this lol 2024-07-16 10:43:47 +02:00
Alug 52a882bda2 remove this check 2024-07-15 21:58:07 +02:00
Alug 177c60e857 fix more warnings 2024-07-15 21:43:48 +02:00
Alug 0566b96738 fix some warnings in clang 2024-07-15 21:43:46 +02:00
Alug f72c179f56 fix A_ action protottypes 2024-07-15 21:43:44 +02:00
Alug 0da963c794 Revert "fix some clang warnings"
This reverts commit fea89de037.
2024-07-15 21:43:40 +02:00
Alug 7d885f7100 dont access delayremoved thinkers
uhhh
2024-07-15 14:34:33 +02:00
Alug c1c2f794e3 more mobj reference fixes + cleanup 2024-07-15 13:58:08 +02:00
Alug 8bb1c7a032 Revert "run this in actual fullscreen"
This reverts commit 4a2d6b2241.
2024-07-14 18:03:21 +02:00
Alug 804123afc1 ndef 2024-07-14 17:32:33 +02:00
Alug 8e4f278ce4 this does nothing lol 2024-07-14 17:15:31 +02:00
Alug 3193241b11 shut up 32bit gcc 2024-07-14 16:59:54 +02:00
indev edb44fa6a2 Refactor music name scrolling in music test 2024-07-14 16:59:46 +02:00
Alug 66e9ac3657 Free mipmaps before freeing tags
ŝhould hopefully fix some random Z_free crashes
2024-07-14 16:44:09 +02:00
Alug 87e0796bf4 inline M_Memcpy 2024-07-13 15:55:30 +02:00
Alug 6bc6db3665 also use IFCHANGED macro for levelinterpolators
just looks a bit neater
2024-07-13 15:12:43 +02:00
Alug 2a4aa51373 Revert "smol optimization to HWR_Addline"
This reverts commit e6359663b1.
2024-07-13 14:55:28 +02:00
Alug e15b052570 Revert "shut up gcc"
This reverts commit 17a5c6ed06.
2024-07-13 14:55:26 +02:00
Alug 629e249a12 Revert "dont do this with portals"
This reverts commit f949fa54af.
2024-07-13 14:55:21 +02:00
Alug 86a260bb89 fix NOHW compile 2024-07-13 14:54:55 +02:00
Alug 6ab2de2787 shut up windoze 2024-07-11 10:36:27 +02:00
Alug 8effdc1615 Clean up graphic menus
- Renamed Experimental Options to Advanced Options
- Fixed the tooltips not displaying
- Made it look good again
2024-07-10 19:26:40 +02:00
Alug 561fc2d01a only interpolate pitch and roll when using 3d models
sprites dont need this for now
2024-07-10 18:43:20 +02:00
Alug 3fd9cf573b dont think precip mobj angle ever changes 2024-07-10 18:42:42 +02:00
Alug d7c0bed4eb remove those 2 from experimental video menu
no reason to ever toggle them off
2024-07-10 18:35:04 +02:00
Alug afd1f595e1 remove cv_grfofcut
same story
2024-07-10 18:34:45 +02:00
Alug f47a43df2f remove cv_slopepegfix
same as the other ones
2024-07-10 18:34:13 +02:00
Alug 4385327101 remove cv_fofzfightfix
more bloat
2024-07-10 18:33:25 +02:00
Alug 4e73c05ef9 remove R_Pointtoangle toggle
its bloat, the difference is negigble at best
2024-07-10 18:32:57 +02:00
Alug c01ef035a5 remove cv_mobjssector
idk why it even checks for pointinsubsector
2024-07-10 18:31:46 +02:00
Alug b59c080943 fix IFCHANGED macro 2024-07-10 18:31:39 +02:00
Alug 814c65b290 dont do this with portals 2024-07-10 09:21:58 +02:00
Alug 9f1c1c3f18 dont need to check this in precip 2024-07-10 08:49:19 +02:00
Alug e0df7dfba5 shut up gcc 2024-07-10 07:12:58 +02:00
Alug 220db7212f inline some crap 2024-07-10 07:11:38 +02:00
Alug d59f45a26a smol optimization to HWR_Addline 2024-07-10 06:55:47 +02:00
Alug f88d92ecee change when dynamic slopes run depending on if you joined midgame 2024-07-10 06:21:48 +02:00
Alug c28188b6d8 smol cleanup 2024-07-10 05:50:01 +02:00
Alug 80419748db forgor this 2024-07-10 05:45:06 +02:00
Alug 874e6cd5af fix conflict 2024-07-10 05:26:27 +02:00
Alug cd500fc344 clean up P_SetupLevel a little more 2024-07-10 05:25:31 +02:00
Alug ae7afc5749 Map data lump interface
cleans up code alot and stuff

https://git.do.srb2.org/STJr/SRB2/-/merge_requests/535
2024-07-10 05:25:22 +02:00
indev b0fa94c781 Call ServerJoin hook when consoleplayer becomes available, since it is needed for configs (which what this hook is created for) 2024-07-10 05:23:53 +02:00
indev 9bf717fae9 Add info about ServerJoin into LUASTUFF.md (so i don't forget to do it later) 2024-07-10 05:23:47 +02:00
indev 859c1020e6 Add ServerJoin lua hook, which gets called when client joins a server (listen server hosts joining their server also count) 2024-07-10 05:23:22 +02:00
Alug 9108d64820 mitigate dynamic slope desynchs
Perform dynamic slope thinking before other thinkers.
2024-07-10 05:22:38 +02:00
Alug e9d3c1a421 Fix mobj reference management of player->mo
https://git.do.srb2.org/KartKrew/RingRacers/-/commit/d0719ef5ba86a1da32fed171d74eb76c7254f4f6
2024-07-10 05:21:45 +02:00
Alug f36e069f40 unhack this again 2024-07-09 09:06:11 +02:00
Alug 1f5c7b1d12 more changes to dither
use interger for distance scales
start z factor earlier
rename halfResolution to endResolution
2024-07-09 08:39:38 +02:00
Alug 94ecb9e634 ass 2024-07-08 20:49:05 +02:00
Alug b9db67bc08 more tweaks 2024-07-08 20:42:38 +02:00
Alug c152799295 oops that actually didnt fade out at all lol 2024-07-08 20:42:35 +02:00
Alug f91165857d scale and fade out dither pattern
makes the image a bit cleaner and easier to look at in palrender
2024-07-08 20:42:29 +02:00
Alug 29b93f02f1 crap 2024-07-08 20:42:02 +02:00
Alug f9a6452528 simplify this a little 2024-07-08 20:41:27 +02:00
Alug e7e51957e9 oops this should be min 2024-07-08 20:41:17 +02:00
Alug f8903e7ce7 clean up some net stuff 2024-07-08 20:41:10 +02:00
Alug d3548a4dfb Always use system-specific path seperator
https://git.srb2.org/KartKrew/RingRacers/-/commit/0f16c61d04f42b463db5c8987571fc986ae6ce9f
2024-07-08 20:40:51 +02:00
Alug eca72c6dc6 dont think kart even supports trivial maps
so no need to constantly check for this
2024-07-08 20:40:43 +02:00
NepDisk 6e378f4de6 Leave me alonmg kate 2024-07-03 13:04:45 +02:00
Alug 94ac52d792 Clamp lindex during vissprite light calculation
Mitigates against negative or very large xscale values causing lindex
to evaluate < 0, preventing a potential colormap indexing-related crash.
2024-07-03 13:04:11 +02:00
NepDisk 1f276a7eb6 Fix automap multiplayer crash
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2488
2024-07-03 13:03:12 +02:00
Alug a28a590078 prevent potential crash when trying to kill bananachain 2024-07-03 13:02:53 +02:00
Alug 91d052d25e shut up gcc 2024-07-03 13:02:32 +02:00
Alug 2f6ded132d Zzz... 2024-07-03 13:02:29 +02:00
Alug 51cdc1ce90 forgor 2024-07-03 13:02:26 +02:00
Alug 494fe0b1e7 revert software screen shit 2024-07-03 13:02:20 +02:00
Alug eac5310f5e some crap from asan 2024-07-03 13:02:16 +02:00
Alug 7f4a2f9943 fix some clang warnings 2024-07-03 13:02:11 +02:00
Alug 28a31301d4 forgor this crap 2024-07-03 13:01:49 +02:00
Alug 1c5e575718 remove all the ogl fix toggless 2024-07-03 13:01:44 +02:00
Alug 4a2d6b2241 run this in actual fullscreen
somehow makes xwayland happy
2024-07-03 13:01:11 +02:00
Alug 001baec444 scale dithering a little diff for a little smoother "fade" in pal render 2024-07-03 13:01:06 +02:00
Alug 1b35d4f03b stuff 2024-07-03 13:00:57 +02:00
Alug 75fc8cb766 change dither matrix to 4x4
a little grittier also smol cleanup
2024-07-03 13:00:43 +02:00
indev 28bef8c54f Use a fake 2d array in dither shader so it compiles with older glsl versions (1.20 at least) 2024-07-03 13:00:36 +02:00
indev 787973a3d5 If shader compilation failed, print info log 2024-07-03 13:00:31 +02:00
Alug f0e3ca7c1f add gr_lightdithering to shader
mhhm dithering
2024-07-03 13:00:26 +02:00
Alug 1b837a81ef improve teleport interpolation stuff 2024-07-03 13:00:07 +02:00
Alug b74dd85ef2 small optimization to batching 2024-07-03 13:00:01 +02:00
Alug fc9cc62b12 remove this crap
this doesent work on nix anyways
2024-07-03 12:59:54 +02:00
Alug e665edb652 no need for this 2024-07-03 12:59:30 +02:00
Alug e81cde8753 smoller opitmizations 2024-07-03 12:58:40 +02:00
Alug 4e995436c5 optimize ogl polyobjs slightly 2024-07-03 12:58:13 +02:00
Alug c57154a8e5 prevent crash in hw bsp 2024-07-03 12:58:07 +02:00
Alug 31fbba057a remove this again 2024-07-03 12:57:44 +02:00
Alug 46fa6e7ba4 change the shader z shit again 2024-07-03 12:57:17 +02:00
NepDisk bbb0379813 Allow Users to Connect to Servers While In-Game
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2401/
2024-07-03 12:57:09 +02:00
NepDisk 156b63440e Linux customshader compilation fix
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2418/
2024-07-03 12:56:41 +02:00
Alug 20e062b031 move HWR_LoadLevel to hw_main 2024-07-03 12:56:22 +02:00
Alug c98ebc9f35 Try fix glib preallocating too much space for sound freeslots
idk why git keeps removing credits
but thx indev <3
2024-07-03 12:55:57 +02:00
Alug c6001c7bf6 this should be called on mapload 2024-07-03 12:55:42 +02:00
Alug 2d0945264f oops 2 2024-06-20 21:16:47 +02:00
Alug 3d0981cf7b oops 2024-06-20 21:13:50 +02:00
Alug cce581fa51 these appear to be unused so comment them out
dont need 6 arrays being allocated with MAXSKINS for nothing lul
2024-06-20 16:22:13 +02:00
Alug 2446b804c7 forgor this 2024-06-20 03:00:48 +02:00
Alug 20cdb1c5ec limit localskins to 32
hope this doesent just die lol
2024-06-20 02:42:49 +02:00
Alug 212b184320 Do not access memory on misaligned addresses
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2438
2024-06-17 17:11:20 +02:00
Alug 37e98f342c Revert "fix some interpolation issues"
This reverts commit ccb1aecd01d376b0c0d73bbe4c898e89e35e25d0.
2024-06-17 12:51:42 +02:00
Alug 578f5b85dd Revert "more interp fixes"
This reverts commit 3a1a58bcfc.
2024-06-17 12:51:29 +02:00
Alug 99b1e3f969 Revert "attempt at speeding up sdl_render stuff"
This reverts commit f91d3ccf24.
2024-06-17 12:51:20 +02:00
Alug 8c9ef0e8f3 Merge branch 'lugstuff' of https://github.com/Indev450/SRB2Kart-Saturn into lugstuff 2024-06-16 22:41:45 +02:00
Alug f91d3ccf24 attempt at speeding up sdl_render stuff 2024-06-16 22:41:32 +02:00
Alug 691063983e Revert "Test: kill unused skin sounds freeslotting"
This reverts commit b9b97d0a56.
2024-06-16 21:05:40 +02:00
Alug b912047f68 35/2 != 17 = 17.5 ? 2024-06-16 16:17:24 +02:00
Alug f2ddbf1e68 a 2024-06-15 21:16:25 +02:00
Alug 5cd36e55ab Maybe hopefully fix ogl masterserver crash thing
port from durr
2024-06-14 04:01:30 +02:00
Alug 1cb590ebb8 this does not exist 2024-06-14 03:00:40 +02:00
Alug 280e937844 add missing HAVE_THREADS 2024-06-13 14:47:20 +02:00
Alug 5afb55547d opengles 2 seems to be fastest for me lul 2024-06-12 22:31:47 +02:00
Alug e3c91629db use sdl ogl render instead of software for software mode on nix
oops
2024-06-12 22:31:29 +02:00
Alug 1b0496b1e7 fix some clang warnings 2024-06-12 21:56:27 +02:00
Alug b7369b40cb fix oopsie on titled software wöter 2024-06-12 21:49:20 +02:00
Alug 6567313de6 add back le returns 2024-06-12 20:51:34 +02:00
Alug 5ecf3cc36c lower min audio buffersize to 256 2024-06-12 12:59:23 +02:00
Alug 71e3d89181 move that again 2024-06-11 19:47:51 +02:00
Alug a284ece8e4 e 2024-06-11 12:59:00 +02:00
Alug e73e75e740 dumbass hack 2024-06-11 12:58:25 +02:00
Alug 9bfd61fabc shut up compiler 2024-06-11 12:58:17 +02:00
Alug a2aeaa51e8 change this to int64 cause it fixes the intermission thing on high res
idk why that fixes it tbh but it does
2024-06-11 10:02:23 +02:00
Alug b558c3db98 more interp fixes 2024-06-11 01:35:22 +02:00
Alug 0f70bcbf28 basic frame skipping system 2024-06-11 01:16:35 +02:00
Alug f7c4600007 remove windows timing crap again
it actually made stuff a little wonky so revert that
2024-06-11 01:15:32 +02:00
Alug 8910f073e5 fix encore flipcam with ogl shearing 2024-06-09 22:02:46 +02:00
Alug ea18be1866 more lööp stuff 2024-06-09 18:49:41 +02:00
Alug 0bd687eb15 reset those here ig 2024-06-09 18:49:33 +02:00
Alug 25b74bf3dd e 2024-06-09 18:14:22 +02:00
Alug e4f9ca3f3c add mobj check here 2024-06-09 18:13:17 +02:00
Alug 38a3f403bd add check earlier in p_killmobj 2024-06-09 18:03:58 +02:00
Alug 51dd2030a0 maybe fix the sock_send crash on windoze
often happens with unstable net
2024-06-08 19:24:16 +02:00
Alug 7e31067e6a fix redifinition warning 2024-06-06 18:57:04 +02:00
Alug 9bf06ff30b disable upx on nix by default 2024-06-06 18:53:40 +02:00
Alug 85aa726bb7 fix masterserver ifdef 2024-06-06 18:47:06 +02:00
Alug 3a67ff3afa fix HAVE_CURL 2024-06-06 18:42:32 +02:00
Alug 0a022a4348 Revert "instant update after screen mode change"
This reverts commit 02bd819f7e.
2024-06-05 14:42:30 +02:00
Alug ad24beea5b more minor loop stuff 2024-06-05 14:42:23 +02:00
Alug 9026ae7a16 minor sprite opitmizations 2024-06-05 02:27:18 +02:00
Alug 2fee9b861f high dpi test 2024-06-05 01:40:57 +02:00
Alug b7e2bcf02e lol 2024-06-05 01:40:39 +02:00
Alug d548848b18 Reapply "use shader to prevent sprite floor clipping"
This reverts commit 5ec1ca46e5.
2024-06-05 01:28:09 +02:00
Alug 4c628ea74f Revert "zzz..."
This reverts commit e19db23bb5.
2024-06-05 01:28:06 +02:00
Alug d3ef97f637 test remove all the networking crap from rendering code 2024-06-04 17:11:30 +02:00
Alug 02bd819f7e instant update after screen mode change 2024-06-04 17:11:12 +02:00
Alug ea3b4ddeb0 smol optimization to skin loading 2024-06-04 17:10:24 +02:00
Alug ab3ea7475f think this should be casted to angle_t 2024-06-04 17:08:09 +02:00
Alug b9b97d0a56 Test: kill unused skin sounds freeslotting 2024-06-03 18:47:59 +02:00
Alug e19db23bb5 zzz... 2024-06-03 17:15:16 +02:00
Alug 5ec1ca46e5 Revert "use shader to prevent sprite floor clipping"
This reverts commit ee2ec01eb9.
2024-06-03 17:11:58 +02:00
Alug c2c918fdda Revert "fix le dispoffset"
This reverts commit f977af6a80.
2024-06-03 17:11:55 +02:00
Alug 4627989401 Make sfxinfo_t and state_t use field tables too 2024-06-03 17:02:27 +02:00
indev 9552e09471 Lua_optoption shouldn't change stack state at the end of call now 2024-06-03 17:02:14 +02:00
indev c8fb25066b Fix compilation for some gcc versions 2024-06-03 17:02:10 +02:00
Alug b1cb6d42f4 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-06-03 17:01:22 +02:00
Alug caf7e4a1cf stuffs 2024-06-01 17:03:27 +02:00
Alug 6a5c0223c4 forgor to remove that 2024-06-01 16:31:49 +02:00
Alug 9ff2d66079 fix papersprites in software (hopefully)
lul
2024-06-01 16:29:20 +02:00
Alug 2db2b9309d flexible array stuff for columnofs
hopefully this fixes some crashes or smth
2024-05-31 23:04:26 +02:00
Alug 7a38c15d59 cleanup some super old stuff that did nothing
lul
2024-05-31 22:43:49 +02:00
Alug cb7375f873 theres no value 3 oops
i shouldnt do stuff after waking up at 4 in the morning lol
2024-05-30 19:59:01 +02:00
Alug 41e52f9e88 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-05-30 19:10:03 +02:00
Alug ce7e30a752 smth smth encore magic numbers idk 2024-05-28 22:38:20 +02:00
Alug 3214811fcb casting stuff 2024-05-28 22:22:58 +02:00
Alug edda2a5399 that should be there lul 2024-05-28 22:22:48 +02:00
Alug 926bc8e72c split sprite draw loops
so crap doesent constantly check for papersprites on all sprites
2024-05-28 20:55:03 +02:00
Alug eadffb6be3 make r_fps if else hell a bit more bearable to look at
lol lmao
2024-05-28 20:28:27 +02:00
Alug cf04e8c23c scale precip size with mobjscale 2024-05-28 20:07:12 +02:00
Alug ec5840f840 scale sprite draw distance with mapobjscale 2024-05-28 20:02:54 +02:00
Alug 7dc4a7177d shut up gcc 2024-05-28 01:07:13 +02:00
Alug 3d91de8178 when not using screentextures draw kart bg on intermission screen 2024-05-28 00:52:40 +02:00
Alug 6ea1abfedc draw a black screen instead of "nothing" during wipes on disabled screentextures
should resolve the intense flashing that can occur
2024-05-28 00:52:09 +02:00
Alug 5251482dd7 Optimize field lookups in Lua metatables
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2024#cd5b5ee262bf5129c4d400ad60d006e1fa917c1f
2024-05-27 18:14:59 +02:00
Alug dd73787c8b Revert "optimize precip thinker"
This reverts commit bc382366a1.
2024-05-25 19:54:20 +02:00
Alug 340450a67e Revert "lol"
This reverts commit 0d40989f4c.
2024-05-25 19:54:13 +02:00
Alug 0d40989f4c lol 2024-05-25 19:00:07 +02:00
Alug c640096d9c Merge remote-tracking branch 'ghghghghghg/lua-hudinterpolate-redux' into lugstuff 2024-05-25 17:23:49 +02:00
indev 76081869e3 Store hooks in a table with integer keys instead of registry with string keys 2024-05-25 15:45:20 +02:00
Alug 9156c1b850 use ternary 2024-05-25 15:44:33 +02:00
Alug d78718d8f4 make only player dust be sparkle otherwise normal driftdust 2024-05-25 15:40:22 +02:00
Alug eef1e986a6 add proper check to sparkle lol 2024-05-25 15:28:41 +02:00
Alug 8fa99c34be Revert "ok kill this again ig"
This reverts commit 98c27fe8ef.
2024-05-25 15:07:07 +02:00
Alug a35fbdd1b5 move some cvars to be registerrerd latur in ogl 2024-05-25 14:50:24 +02:00
Alug 0efef78684 Turn of FBO downsampling when you turn off screen textures
fbo downsampling needs those and if theyre disabled youre essentially seeing nothing at all lol
2024-05-25 14:43:52 +02:00
Alug 62ce17cb4c super smol optimization to R_DrawRepeatMaskedColumn
only maths once not twice lul
2024-05-25 14:37:30 +02:00
Alug 6112be232a revert solidcol stuffs i did ages ago apparently lol 2024-05-25 12:57:41 +02:00
Alug c1a9c58eb5 Cull BSP behind a raised floor or lowered ceiling that covers the entire screen
https://git.do.srb2.org/KartKrew/RingRacers/-/commit/7b8a564f69688515319ccd425f2b88ffe8b7b120
2024-05-25 02:02:06 +02:00
Alug 0393588fe8 Only call the Lua API for overridden actions 2024-05-25 01:35:44 +02:00
Alug b7ff0325ea optimize sight checks 2024-05-25 00:08:14 +02:00
Alug c4d39eae25 declare outside of lööp also add const in r_ 2024-05-25 00:01:58 +02:00
Alug 0e88981425 Cache water trail mobjs from qtpie dev
cant really cherry pick so uuuh
2024-05-23 22:23:39 +02:00
Alug ed7fcae33b Merge remote-tracking branch 'ghghghghghg/lua-hudinterpolate-redux' into lugstuff 2024-05-23 20:29:22 +02:00
Alug 8b967fb3b7 change wöter visual thing 2024-05-23 20:16:37 +02:00
Alug 4d68a5dc2b change names to be less basic 2024-05-23 19:25:04 +02:00
Alug ecd6ef40ef allow gamepad dpad to hold scroll shit in menu aaa
absolute arsepain cant wait to see this breaking kek
2024-05-23 19:11:11 +02:00
Alug 0c9dc33ff0 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-05-21 21:15:21 +02:00
Alug 98c27fe8ef ok kill this again ig 2024-05-20 22:46:29 +02:00
Alug 3d490f52b2 a 2024-05-20 22:18:17 +02:00
Alug c78c17d953 funny driftsparkle 2024-05-20 22:18:15 +02:00
Alug ee5d667a24 changes to woter thing 2024-05-20 19:23:46 +02:00
Alug b9653b4ff8 unhack the animated votescreen a little
also make it pause when the game is paused like it was intended originally
2024-05-20 17:18:06 +02:00
Alug 78bcfa8cfa conflict moment 2024-05-20 13:40:47 +02:00
Alug 1f1130efda Merge remote-tracking branch 'origin/Saturn' into lugstuff 2024-05-20 13:39:00 +02:00
Alug 3d7b05d633 forgor this crap 2024-05-15 16:54:41 +02:00
Alug 343bbd8a1a support gcc14 ig 2024-05-13 20:48:32 +02:00
Alug f702df48f5 kept forger to declare this 2024-05-13 20:48:21 +02:00
Alug bc382366a1 optimize precip thinker 2024-05-06 01:18:57 +02:00
Alug c158144b7b Revert "refactor weather stuff"
This reverts commit dc95b2e8d7.
2024-05-06 00:33:38 +02:00
Alug d4337fbc56 Revert "optimize-precip-thinker"
This reverts commit e822d8e7d1.
2024-05-06 00:33:36 +02:00
Alug e822d8e7d1 optimize-precip-thinker 2024-05-06 00:32:57 +02:00
Alug dc95b2e8d7 refactor weather stuff
not netsafe
2024-05-06 00:05:16 +02:00
Alug d226ad38ff Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-05-05 22:02:07 +02:00
Alug 2a160c5247 goddamn synched sound effect aaa 2024-05-05 13:00:14 +02:00
Alug 641a9dc4e2 Revert "follower crap cause i want smol spb"
This reverts commit 1b963c9439.
2024-05-04 01:58:58 +01:00
Alug 7e71af8d25 durr water stuff uhhhhhhh
hope this wont break lmao
2024-04-29 10:12:33 +02:00
Alug 8e33d2e1b2 simplify SOFTLIGHT alot
also should make sure it gets applied everywhere lul
2024-04-29 09:12:44 +02:00
Alug 61118b348c Merge remote-tracking branch 'ghg/lua-hudinterpolate-redux' into lugstuff 2024-04-25 18:41:10 +02:00
Alug 84faff82a2 fix rare precip crash 2024-04-25 17:08:02 +02:00
Alug d6cf7cc06f funny wöter from durr 2024-04-25 16:12:53 +02:00
Alug 0688b94729 update libbacktrace windows lib 2024-04-24 21:26:50 +02:00
Alug 695f53194d inline those 2024-04-24 10:59:09 +02:00
Alug 1b963c9439 follower crap cause i want smol spb
will softcode crap sometime idk
2024-04-23 12:47:18 +02:00
Alug b50d6dd389 Merge remote-tracking branch 'origin/it-cv-bigfloat' into lugstuff 2024-04-22 05:26:51 +02:00
Alug 2afad9490e Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-04-22 05:26:36 +02:00
Alug 812a275add fix some visual issues with fofs 2024-04-22 05:24:49 +02:00
Alug 90ccf7699b a 2024-04-20 22:52:22 +02:00
Alug 31ed12d88a some stuff from ceepeepeecheck 2024-04-20 22:36:23 +02:00
Alug 5a4e44d064 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-04-20 12:34:03 +02:00
Alug 515c67fa3a disable palette rendering if screentextures aint enabled 2024-04-19 06:21:58 +02:00
Alug 81d60165a3 z 2024-04-19 05:08:47 +02:00
Alug cc0fac3546 more things
-Fix a division by zero in BCZ2 Metal Sonic's routine
-Fix a bug where adding the same mod multiple times counted towards the mod limit
and other thigns
2024-04-19 04:49:12 +02:00
Alug d71ad13fcf some smol fixes 2024-04-19 04:22:29 +02:00
Alug 0d13811305 Make FixedRem less laggy by just using the modulo operator. 2024-04-19 03:52:21 +02:00
Alug b69cc4e34a Revert "port thinkerlists + cache and reuse mobjs for the 420th time"
This reverts commit bd8a392882.
2024-04-19 03:38:59 +02:00
Alug caf8f383ad Revert "change a few things"
This reverts commit c5c61f7692.
2024-04-19 03:38:55 +02:00
Alug 7db160a8e2 Revert "i dont understand this crap so ill revert it"
This reverts commit 7e895f82b2.
2024-04-19 03:38:52 +02:00
Alug 202a3d1fb1 Revert "some cleanup"
This reverts commit 332135fc6f.
2024-04-19 03:38:49 +02:00
Alug 332135fc6f some cleanup 2024-04-18 23:10:35 +02:00
Alug 7e895f82b2 i dont understand this crap so ill revert it 2024-04-18 14:14:51 +02:00
Alug c5c61f7692 change a few things 2024-04-18 13:40:27 +02:00
Alug bd8a392882 port thinkerlists + cache and reuse mobjs for the 420th time
i am in pain
2024-04-18 12:07:57 +02:00
Alug 36183e6dc8 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-04-17 05:34:51 +02:00
Alug 5ae4af54da smth smth paranthesis 2024-04-12 21:55:45 +02:00
Alug 620bdd1419 Merge branch 'lugstuff' of https://github.com/Indev450/SRB2Kart-Saturn into lugstuff 2024-04-12 20:41:16 +02:00
Alug c18eacbb81 fix software crash
Zzz...
2024-04-12 20:41:10 +02:00
Alug bb8acc5f51 fkldjnasofjosdfoisfj 2024-04-11 19:48:42 +02:00
Alug d41f4810d7 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-04-11 18:39:58 +02:00
indev 387c4edb3b Fix potential negative array index in V_ThinStringWidth 2024-04-11 18:00:01 +02:00
Alug c3fd7c1a7a grrrr 2024-04-10 18:21:11 +02:00
Alug 94f1ec18de Revert "fix ifdefs"
This reverts commit 5e8e2f4b3a.
2024-04-10 18:19:24 +02:00
Alug e00f8f6cee Revert "Zzz..."
This reverts commit 79b0a9c833.
2024-04-10 18:19:21 +02:00
Alug 79b0a9c833 Zzz... 2024-04-10 18:15:42 +02:00
Alug 5e8e2f4b3a fix ifdefs 2024-04-10 17:59:41 +02:00
Alug f0158dd915 move this to first init too 2024-04-10 17:58:06 +02:00
Alug 10cf251b46 that wasnt the onchange im sleepy 2024-04-10 17:40:35 +02:00
Alug 72231e5658 forgor to remove those Zzz... 2024-04-10 17:32:06 +02:00
Alug c510ff3b1c should throw that into onchange oops 2024-04-10 17:29:08 +02:00
Alug 936e138fee throw stuff into own function, also check on game start 2024-04-10 17:24:03 +02:00
Alug 8325696b55 put those in 1st init 2024-04-10 07:05:38 +02:00
Alug d63f517ae5 simplify this crap 2024-04-10 07:02:03 +02:00
Alug e74df8db90 raise max fpscap 2024-04-10 06:47:45 +02:00
Alug 1a0bf67452 Merge remote-tracking branch 'origin/fborender' into lugstuff 2024-04-09 17:38:44 +02:00
Alug f0df9b399b Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-04-05 17:40:19 +02:00
Alug f9345308ff Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-04-05 01:45:11 +02:00
Alug 6ed7c75448 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-04-04 03:57:32 +02:00
Alug cb71167fb7 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-04-02 16:40:37 +02:00
Alug d4292987cc Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-04-02 16:14:35 +02:00
Alug 5da24a18dc Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-04-02 15:54:06 +02:00
Alug 1cf7b3e697 tf 2024-04-02 03:51:36 +02:00
Alug 3f3672497b Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-04-02 03:49:01 +02:00
Alug 7714304c7a Merge remote-tracking branch 'origin/Saturn' into lugstuff 2024-04-01 19:15:13 +02:00
Alug ff640639b2 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-04-01 03:52:55 +02:00
Alug 0965603c8f Merge remote-tracking branch 'origin/interpjitter' into lugstuff 2024-04-01 03:52:52 +02:00
Alug b8412cec96 Fix minor off-by-one error in faketic calculation 2024-03-31 23:22:26 +02:00
Alug 86b7e192b2 fix this for splitscreen and move to own function 2024-03-30 03:34:38 +01:00
Alug 32b9e6094b Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-03-28 15:07:00 +01:00
Alug 3ff7f3158b why tf is that here 2024-03-28 14:58:44 +01:00
Alug bd83ba8ca9 when the GLENCORE 2024-03-28 13:21:58 +01:00
Alug 785881c90e fixeur compile for qt 2024-03-28 12:23:07 +01:00
Alug 567ccf8a59 use this instead 2024-03-28 08:13:16 +01:00
Alug 11423a6d78 fix highresscale issue on startup in the worst way ever cause CV_NOINIT doesent work for whatever reason 2024-03-28 00:15:44 +01:00
Alug ab6b716e78 Read only header bytes when creating textures list 2024-03-27 21:31:45 +01:00
Alug 7b1be2e34f Ehh this thing is enough tbh 2024-03-27 20:32:14 +01:00
Alug 19d0d247b4 right v6 lul 2024-03-27 18:26:20 +01:00
Alug 1074a9e1d2 Prevent dropped ticcmds due to interp timing jutter
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2046
2024-03-27 18:17:27 +01:00
Alug 0648f384bb kill some stuff that did nothing 2024-03-27 18:13:39 +01:00
Alug 58d72204cc offline play menu pauses game so gib cool vhs effect 2024-03-27 15:51:47 +01:00
Alug 067b4c260f handle async vsync fail better
a
2024-03-27 14:44:02 +01:00
Alug 9e7e4d5fe7 testing smth
yes -1 is valid for this sometimes
2024-03-27 12:11:45 +01:00
Alug 7d9609be76 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-03-27 04:35:47 +01:00
Alug 7e510f8bc5 Merge remote-tracking branch 'origin/texload' into lugstuff 2024-03-26 20:42:39 +01:00
Alug a16e009370 make custom buttons bindable to joyaxis
triggers and such
2024-03-25 21:13:47 +01:00
Alug a021c497b6 forgor to remove this 2024-03-25 17:22:21 +01:00
Alug e77159cb58 remove this too 2024-03-24 20:18:31 +01:00
Alug 36ac353f1f Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-03-24 20:16:27 +01:00
Alug 58122bf023 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-03-24 18:30:21 +01:00
Alug c5da23bb02 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-03-24 16:56:14 +01:00
indev fd45391616 Fix drift sound keep playing when player go off ground 2024-03-24 15:12:02 +01:00
Alug 11dd80e4e7 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-03-24 15:11:53 +01:00
Alug 298f8ef842 Fix crash when passing a long string to v.drawString
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2403
2024-03-24 15:10:14 +01:00
Alug 4c45b9fb85 dfsafsdf 2024-03-23 19:13:14 +01:00
Alug 599cea3238 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-03-23 19:08:59 +01:00
Alug 0c5685e9eb dont need this anymore now 2024-03-23 18:07:58 +01:00
Alug 760b82fd63 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-03-23 18:07:08 +01:00
Alug 340034adf7 this can be just M_PI 2024-03-21 12:52:40 +01:00
Alug d978bfd0db Revert "Add common I_GetSysName function"
This reverts commit f3eedc03e6.
2024-03-21 12:40:44 +01:00
Alug de9f9722ac reapply hacky scaling thing 2024-03-21 12:38:50 +01:00
Alug 4dd9dc03fe ok git 2024-03-21 12:37:58 +01:00
Alug 47fc4aa39a Merge remote-tracking branch 'ghg/hud-uncap' into lugstuff 2024-03-21 12:36:29 +01:00
Alug 84ad608d70 Revert "software sdl windows scaling quality setting"
This reverts commit 7ee6de6b6a.
2024-03-21 12:35:00 +01:00
Alug d4dd0c9992 conflict fix 2024-03-21 12:33:43 +01:00
Alug ac93d027af Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-03-21 12:31:01 +01:00
Alug 190a95584c SFC32 for M_random funcs
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/1780
2024-03-19 11:15:23 +01:00
Alug 9ad368e420 e 2024-03-17 23:32:09 +01:00
Alug a524215479 add the note so i dont forger if i wanna update this again 2024-03-17 22:43:05 +01:00
Alug 6104c36455 properly link libopenmpt
one dll instead of 4
2024-03-17 22:37:18 +01:00
Alug a04287c9f6 cute icon 2024-03-17 19:29:40 +01:00
indev 99876e3f73 Fix 'cast to non-matching type' warning 2024-03-17 14:57:02 +01:00
indev f16f498f27 Add include guard for qs22j.h 2024-03-17 14:56:37 +01:00
indev 4f9b5923bd Add snap to top flag for pause gfx 2024-03-15 12:54:06 +01:00
Alug 84476cd51f this didnt work 2024-03-15 11:32:33 +01:00
Alug bf9a6bde82 test this 2024-03-15 11:32:24 +01:00
Alug a6f8f57725 testing smth 2024-03-14 07:44:07 +01:00
Alug 02f4c334f0 mhhm ternaries 2024-03-13 22:06:45 +01:00
Alug 9884b294c6 i want to see more precip thx 2024-03-13 21:55:23 +01:00
Alug 49f22b5790 revert some stuff that broke some stuff 2024-03-13 19:25:14 +01:00
Alug 841270e824 fix ogl precip interpolation 2024-03-13 17:56:08 +01:00
Alug 630ce57303 this looks better lul 2024-03-13 13:18:30 +01:00
Alug 94aed4d1d1 clean up 2024-03-13 10:16:07 +01:00
Alug cdc0ec96a9 forgor menu stuff 2024-03-13 10:07:51 +01:00
Alug 751188bcd8 remove xs_CRoundToInt
while ye, less exact stuff doesent matter too much in the context of doom, it matters more in kart, due to polygon rendering and seg processing being extremely heavy and also generally more complex maps
2024-03-13 10:06:56 +01:00
Alug c0c44d46bc Ensure opaque midtextures always use PF_Masked 2024-03-13 08:48:04 +01:00
Alug 19d8749abf Revert "inline some things"
This reverts commit 0b47c310eccf55871a5bd466f44afa3215cc1322.
2024-03-13 08:35:47 +01:00
Alug c6f9fb2ac2 Revert "optimize "p_pointon" functions"
This reverts commit b9b963f999b902ab7f0f6fae4ec61264e713e15e.
2024-03-13 08:35:44 +01:00
Alug b1cfdfbc14 Revert "optimize fixedhypot"
This reverts commit ae68bd577558f45b81741396a899b7c311f753fc.
2024-03-13 08:35:41 +01:00
Alug 360df11aa6 Revert "LUT for bmapwidth imul instructions."
This reverts commit e45a7f911f0d156b7cc38675bec1a14a2080c367.
2024-03-13 08:35:30 +01:00
Alug d88cc3251f Revert "fix some oopsies"
This reverts commit 578770818ed96e366bbe9ed5ede720de07c0000a.
2024-03-13 08:35:27 +01:00
Alug cd7079da92 Revert "Zzz...."
This reverts commit e05197af882049e555c4116d1e6b4fd5ec4e879d.
2024-03-13 08:35:24 +01:00
Alug 77a0e8213b Revert "Zzz... 2"
This reverts commit bdd32702f9dc3ccbefb6444f1b76329b8ddbc9d7.
2024-03-13 08:35:20 +01:00
Alug 5efa778509 Revert "adjust the pointon funcs again"
This reverts commit b5861b2beeb04b6de1fcbd2088069374658f31ee.
2024-03-13 08:35:12 +01:00
Alug 02e6463fae Revert "P_PointOnDivlineSide stuff"
This reverts commit 1fa738d46448bd716547aa1812e38ec0de2221d1.
2024-03-13 08:35:09 +01:00
Alug b411787fe7 Revert "forgor"
This reverts commit 28950e6a15a3350da9a7441d81e3e043985a6c8d.
2024-03-13 08:34:59 +01:00
Alug 8fd91194a7 hm 2024-03-13 07:36:52 +01:00
Alug 4f85e1d603 revert that part 2024-03-13 07:34:12 +01:00
Alug fae0aeb442 Revert "Revert "forgor""
This reverts commit a1afcbc855.
2024-03-13 07:31:56 +01:00
Alug ec77824a96 Revert "Revert "dont inline those""
This reverts commit ae829375a0.
2024-03-13 07:31:53 +01:00
Alug 4127936eef optimize HWR_AddLine and HWR_ProcessSeg 2024-03-13 07:28:16 +01:00
Alug ae829375a0 Revert "dont inline those"
This reverts commit 2e34de8a125644dd7a0689af28b2076cf4c92e21.
2024-03-13 06:51:26 +01:00
Alug a1afcbc855 Revert "forgor"
This reverts commit e1e3aa899d.
2024-03-13 06:51:21 +01:00
Alug e1e3aa899d forgor 2024-03-13 06:07:59 +01:00
Alug 2644a3bf6e dont inline those 2024-03-13 06:03:19 +01:00
Alug 6b4e81e1ec P_PointOnDivlineSide stuff 2024-03-13 06:00:37 +01:00
Alug c705a0f35a adjust the pointon funcs again 2024-03-13 04:51:48 +01:00
indev b1b3102b31 If game crashes in level, add it to crash report 2024-03-12 18:51:00 +01:00
Alug 2d823d34f9 Fix buffer overrun in I_ClipboardPaste
https://git.do.srb2.org/STJr/SRB2/-/commit/9772bbeda172bc60482f137fc465e12070c76f22
2024-03-12 18:50:55 +01:00
Alug 1bb9fb2c67 cant override crap, thx msys 2024-03-12 18:27:55 +01:00
Alug b90e3ce9da i will add those in compiler flag instead 2024-03-12 18:19:12 +01:00
Alug e04a074a79 Revert "condensetics"
This reverts commit 87001f7e78.
2024-03-12 16:30:00 +01:00
Alug f98c3311af Zzz... 2 2024-03-12 16:21:42 +01:00
Alug 1a8c44af27 Zzz.... 2024-03-12 16:20:32 +01:00
Alug a57089c1a9 fix some oopsies 2024-03-12 16:16:40 +01:00
Alug 87001f7e78 condensetics 2024-03-12 16:06:12 +01:00
Alug 1fbb05c938 LUT for bmapwidth imul instructions. 2024-03-12 15:28:12 +01:00
Alug 3eef9d3b62 inline blockthing iterator aswell 2024-03-12 14:27:15 +01:00
Alug af2adf0134 remove some suff 2024-03-12 14:02:46 +01:00
Alug bbdfee8d33 optimize fixedhypot 2024-03-12 12:58:17 +01:00
Alug 2c4da83502 optimize "p_pointon" functions 2024-03-12 10:47:27 +01:00
Alug 75f2868971 inline some things 2024-03-12 02:13:35 +01:00
Alug 87d9ecc3c8 midi music bros 2024-03-11 23:52:26 +01:00
indev b637943bd9 Add snap to bottom flags for race countdown and level title too 2024-03-11 22:30:45 +01:00
Alug 0514475155 uuuuh 2024-03-11 22:30:37 +01:00
Alug 8cfb39e035 sort grid when opening skin menu instead of everytime a skin is added 2024-03-11 21:01:43 +01:00
Alug a9a7cb7be0 i 2024-03-11 12:58:22 +01:00
Alug f8649a24aa those can all be static 2024-03-11 11:54:32 +01:00
Alug ee5a860e07 more opitmizations stuff 2024-03-11 11:47:05 +01:00
Alug e6f03c1136 can do that directly 2024-03-11 11:22:08 +01:00
Alug 780162f516 optimize hwr_renderbpsnode
actually just make it behave like the software version lol
2024-03-11 11:00:14 +01:00
Alug a6d32d834b make 64 default again 2024-03-11 04:27:52 +01:00
Alug cef3c7f032 remove pseudoangle as its slower 2024-03-11 04:25:41 +01:00
Alug 07f8a532f9 attempt at unfucking renderview 2024-03-11 03:40:13 +01:00
Alug 352adf526a give this a better name lol 2024-03-11 02:22:40 +01:00
Alug df48f9caf9 actually move stuff back to hw_clip lmao 2024-03-11 02:15:34 +01:00
Alug f611053d4f replace server list sorting with qs22j 2024-03-10 20:28:27 +01:00
indev 39011cd93b Snap viewpoint text to bottom 2024-03-10 19:54:20 +01:00
Alug 562cb8cebd clean up stuff a little 2024-03-10 18:50:38 +01:00
Alug 89ae721421 i am in pain 2024-03-10 17:59:24 +01:00
Alug f65f4b32e2 Revert "remove pseudoangle"
This reverts commit c5d6ac63c5.
2024-03-10 15:19:36 +01:00
Alug 303fca6bcc smol adjustment 2024-03-10 04:39:55 +01:00
Alug 4aba159ee8 clean up this mess 2024-03-10 04:25:59 +01:00
Alug 5838e60bf6 fix overflow stuffs 2024-03-10 03:43:21 +01:00
Alug 527e436d57 Revert "stuffs"
This reverts commit 60ede73ff8.
2024-03-09 14:06:18 +01:00
Alug 60ede73ff8 stuffs 2024-03-09 13:43:06 +01:00
Alug 298d5e95fc unfuck thinker crap 2024-03-09 13:34:34 +01:00
Alug e9a68f0b7d forgor 2024-03-09 12:02:20 +01:00
Alug d613cf4d4c sUgGeSt PaReNtHeSeS ArOuNd '&&' 2024-03-09 12:01:18 +01:00
Alug 3487fae95d simplify this crap 2024-03-09 10:51:32 +01:00
Alug 9ee47a071b oops 2024-03-09 10:22:20 +01:00
Alug 3579fc3dea remove this 2024-03-09 10:11:06 +01:00
Alug 921bff19f1 add toggle for old fps counter behaviour
idk people hate the new one so brap
2024-03-09 07:58:14 +01:00
Alug d07420eaeb fix compile for everyone but me lmao 2024-03-09 07:40:38 +01:00
Alug 8028db77d8 implicit declaration of deez nuts 2024-03-09 07:12:56 +01:00
Alug e49a059783 fix dumbass compiler warnings + reformat it a bit 2024-03-09 07:12:18 +01:00
Alug 482b6e6844 use it for other stuff 2024-03-09 07:02:16 +01:00
Alug aa70635919 dont think this should write to relplays 2024-03-09 02:00:40 +01:00
Alug c331b0fa89 e 2024-03-09 01:59:27 +01:00
Alug fe55744de2 a 2024-03-09 00:57:40 +01:00
Alug 15e9d85a14 Revert "Revert "avx destruction idk""
This reverts commit f547020fc5.
2024-03-09 00:54:33 +01:00
Alug 51043b61a1 Revert "cache and reuse mobjs again"
This reverts commit 04455c9625.
2024-03-08 23:43:52 +01:00
Alug 6620d5fb26 faster qsort for rendering 2024-03-08 15:03:58 +01:00
Alug f547020fc5 Revert "avx destruction idk"
This reverts commit 4fdb2174f0.
2024-03-08 11:14:42 +01:00
Alug 89ea473c3b fix shit on party cruiser
well fixing the cullplane broke party cruiser, so im just gonna give it the same parameters as the software version i guess idk
2024-03-08 01:19:25 +01:00
Alug b60d9d0be7 readd this cause i dumb 2024-03-08 01:19:15 +01:00
Alug 4fdb2174f0 avx destruction idk 2024-03-08 00:15:43 +01:00
Alug 06a48584d6 expose this cause i want to use it in local scripts 2024-03-08 00:09:08 +01:00
Alug e9f9c1009d more mobj stuffs 2024-03-07 00:35:26 +01:00
Alug b66ceda525 Revert "attempt at exclusive fullscreen mode"
This reverts commit 19f1d8b847.
2024-03-06 09:27:09 +01:00
Alug 7c9c28f026 Revert "use desktop resolution for stuff"
This reverts commit a54384a579.
2024-03-06 09:27:06 +01:00
Alug 72f0552ef1 Revert "reset windowsize on normal fullscreen mode"
This reverts commit 85c7216eaa.
2024-03-06 09:26:59 +01:00
Alug 877a1f15a9 Revert "multidisplay stuff + only activate framebuffer for downsampling"
This reverts commit 5f58e7b343.
2024-03-06 09:26:46 +01:00
Alug efa2a68805 Revert "Zzz... moment"
This reverts commit 8cec2dab82.
2024-03-06 09:26:43 +01:00
Alug 023209bb76 Revert "only do things here when theres more than one display"
This reverts commit 9eb68bf052.
2024-03-06 09:26:38 +01:00
Alug da5dcde6ee Revert "wait uhhhh"
This reverts commit 875adb17b1.
2024-03-06 09:26:33 +01:00
Alug e92c5e1bf9 Revert "ugh this still takes the wrong display blergh"
This reverts commit 298b4d23e8.
2024-03-06 09:26:30 +01:00
Alug 2b7c4ae76c Revert "ill just uhhhhh use main display stuff for now idk"
This reverts commit a2d0ea9d11.
2024-03-06 09:26:24 +01:00
Alug ea26db2cbd Revert "change things a bit"
This reverts commit 9c42b77879.
2024-03-06 09:26:21 +01:00
Alug b9e3747f99 Revert "forgor"
This reverts commit 4d608b7f37.
2024-03-06 09:26:19 +01:00
Alug 4d608b7f37 forgor 2024-03-06 09:20:21 +01:00
Alug 9c42b77879 change things a bit 2024-03-06 09:19:17 +01:00
Alug a2d0ea9d11 ill just uhhhhh use main display stuff for now idk 2024-03-06 08:07:40 +01:00
Alug 298b4d23e8 ugh this still takes the wrong display blergh 2024-03-06 07:59:31 +01:00
Alug 875adb17b1 wait uhhhh 2024-03-06 07:42:46 +01:00
Alug 9eb68bf052 only do things here when theres more than one display 2024-03-06 07:39:36 +01:00
Alug 8cec2dab82 Zzz... moment 2024-03-06 07:36:28 +01:00
Alug 5f58e7b343 multidisplay stuff + only activate framebuffer for downsampling
idk i hope this shit works lmao
also moved some things in OglSdlSurface so it doesent intialize certain things everytime we change framebuffer shit
2024-03-06 07:26:53 +01:00
Alug 28bb88e9b4 Dynamically allocate space for a state's action field
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/1478
2024-03-06 04:39:29 +01:00
Alug 04455c9625 cache and reuse mobjs again
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2200
2024-03-06 04:14:21 +01:00
Alug 9853150e57 Merge remote-tracking branch 'origin/maybemobjcrashfixes' into lugstuff 2024-03-06 00:26:24 +01:00
Alug 85c7216eaa reset windowsize on normal fullscreen mode 2024-03-05 02:15:06 +01:00
Alug a54384a579 use desktop resolution for stuff 2024-03-05 02:02:02 +01:00
Alug 19f1d8b847 attempt at exclusive fullscreen mode 2024-03-05 01:44:10 +01:00
indev 8270b64624 Make custom cvar menu bit wider 2024-03-04 23:52:45 +01:00
indev 81e3810c32 Don't add string cvars (a bit hacky solution) 2024-03-04 21:08:05 +01:00
Alug c266151071 change some numbers uuuuuh 2024-03-04 20:17:18 +01:00
Alug 27d55260e8 remove minmax sliders 2024-03-04 19:45:49 +01:00
Alug 233583657e oops 2024-03-04 19:04:51 +01:00
Alug 7bb1eed249 dont do stuff for anything thats not in normal us ascii or smth 2024-03-04 18:34:09 +01:00
Alug aa85fc3787 dont use it for control setup 2024-03-04 18:13:18 +01:00
Alug c9a88617b1 only use this for text inputs not gameplay 2024-03-04 17:46:45 +01:00
Alug 2f899fdfcc make it even simpler 2024-03-04 05:24:41 +01:00
Alug cdd2b6560e i will just use my compilers memcpy thx 2024-03-04 05:19:54 +01:00
Alug 60f29edbca turn it off completely when your gpu cant use it 2024-03-04 02:51:12 +01:00
Alug 60cffe1ed1 unhack framebuffer functions a little 2024-03-04 02:47:42 +01:00
Alug e77e7d1643 o 2024-03-04 01:13:23 +01:00
Alug 5dc22f502e dont need this 2024-03-04 00:45:14 +01:00
Alug 7a309c1175 when the ;; 2024-03-04 00:13:21 +01:00
Alug 9ce5baad9e fix ogl freelook breaking with shearing enabled
also removed uneeded stuff
2024-03-03 08:40:24 +01:00
Alug a4aa9a76f2 should only do that when rendering stuff 2024-03-03 07:57:46 +01:00
Alug befa25de5c add missing interpolators in mapload 2024-03-03 07:50:02 +01:00
Alug 83175d5c09 bruh
im going insane
2024-03-03 06:45:37 +01:00
Alug d8df8e8778 Revert "Revert "we have functions for that dont check for slopes everywhere""
This reverts commit 09957d0279.
2024-03-03 05:51:35 +01:00
Alug 09957d0279 Revert "we have functions for that dont check for slopes everywhere"
This reverts commit 46da9bf98b.
2024-03-03 05:34:01 +01:00
Alug 9e44985f56 Do not reload every texture when adding a wad
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/1725?commit_id=37add34b9c729b21e624e22d64159073c9258e25
2024-03-03 05:18:37 +01:00
Alug b657a84699 Split R_LoadTextures 2024-03-03 04:53:15 +01:00
Alug 5ec7835556 Merge branch 'lugstuff' of https://github.com/Indev450/SRB2Kart-Saturn into lugstuff 2024-03-03 04:34:59 +01:00
Alug 03a864156d fix conflict 2024-03-03 04:34:53 +01:00
Alug c823bf3320 Revert "multithread exec command and some filesearch/add stuff"
This reverts commit 0d7025f714cbef34ca6e92e683561df411fa149a.
2024-03-03 04:32:13 +01:00
Alug 4f4d2f1f4c clean up r_segs 2024-03-03 03:13:46 +01:00
Alug 1bb389052d fix this 2024-03-02 23:36:48 +01:00
Alug 31fdc5bbc1 dont need to check if we dont use it 2024-03-02 22:56:26 +01:00
Alug db3833430d we have functions for that dont check for slopes everywhere
the functions already do it for us anyways
2024-03-02 22:33:34 +01:00
Alug 6d2212d259 move sprite mobj checks first 2024-03-02 21:56:39 +01:00
Alug 912c0e7fc4 check for those i guess 2024-03-02 18:36:34 +01:00
Alug 43d232819a forgor screenspace clipping 2024-03-02 18:25:13 +01:00
Alug 302eaf60b5 GetScreenCoord lua parity 2024-03-02 17:36:59 +01:00
Alug 84535faa90 remove more unused stuff 2024-03-02 15:57:25 +01:00
Alug 8c55d3c705 bruh 2024-03-02 13:23:50 +01:00
Alug ec11b9268f did not mean to commit this lul 2024-03-02 03:33:26 +01:00
Alug a45af4a80c i 2024-03-02 03:18:27 +01:00
Alug df627b6830 a 2024-03-02 03:11:06 +01:00
Alug dfbeaf30ad m 2024-03-02 03:10:47 +01:00
Alug a03f74b125 add this 2024-03-02 03:05:36 +01:00
Alug 1a01f1299c fix compiler complains
those were for coronas code which we dont even have
2024-03-02 02:43:53 +01:00
Alug 91f0cdbaca unhack palrendering screentex stuff 2024-03-02 02:15:28 +01:00
Alug e50bd4125d e 2024-03-02 02:07:54 +01:00
Alug ded2c8a7c8 a 2024-03-02 02:03:22 +01:00
Alug 88ce9fc0a6 more stuffs 2024-03-02 02:02:03 +01:00
Alug 3c713248b3 more shader stuff 2024-03-02 01:53:11 +01:00
Alug 75f3edcd92 shader stuffs 2024-03-02 01:50:35 +01:00
Alug 081a7779a6 make netvars red 2024-03-02 01:32:12 +01:00
Alug 6e995207a6 smh 2024-03-02 01:15:03 +01:00
Alug 3492b77aa0 we dont have IT_CV_FLOATSLIDER so dont even need to check for float 2024-03-02 01:14:36 +01:00
Alug e864901035 Options Menu for custom console variables
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2380#9cc73f4b99ff925448389969b0ade6ba3947fc31
2024-03-02 01:09:10 +01:00
Alug 7ee6de6b6a software sdl windows scaling quality setting 2024-03-01 23:12:23 +01:00
Alug 553b8ccf6b Revert "i am in pain"
This reverts commit e0e75eac33.
2024-03-01 15:26:57 +01:00
Alug bceef0b861 Fix nametag offsets with reverse gravity and flipcam 2024-03-01 15:24:04 +01:00
Alug 53cce6c6bb this does not exist 2024-03-01 02:31:55 +01:00
Alug b95047d09f fix vertical flip driftgauge
and make non flipcam behave like the sg lua version
2024-03-01 01:53:17 +01:00
Alug c6cb4375f5 fix shearing offset with flipcam in K_GetScreenCoords 2024-03-01 01:03:03 +01:00
Alug a07e2b8eda only check for stplayer flipcam
until i figure out a better way to check all of this crap
2024-02-29 23:08:24 +01:00
Alug 98e7002167 z 2024-02-29 16:22:07 +01:00
Alug 3428dde3c6 test 2024-02-29 05:37:21 +01:00
Alug 13d48f982b just make it like this 2024-02-29 00:27:37 +01:00
Alug b2e4dc27e4 give me a little more info on vanilla scoreboard but a bit ugly lul 2024-02-29 00:22:50 +01:00
Alug deddeab049 stimky ugly 2024-02-28 22:31:06 +01:00
Alug c3a6410822 Revert "dont need SEENAMES"
This reverts commit 01172bca77.
2024-02-28 22:06:02 +01:00
Alug c5915091aa kill have_blua 2024-02-28 21:53:59 +01:00
Alug 4401f0659e kill delfile 2024-02-28 18:58:04 +01:00
Alug a0c72d32e8 kill weighted recycling 2024-02-28 18:38:54 +01:00
Alug 1493045ec4 this doesent even exist anymore lmao 2024-02-28 18:33:12 +01:00
Alug 210efb2be7 kill eslope_typeshim 2024-02-28 18:26:54 +01:00
Alug a02fc1de63 kill GL_SHADERS 2024-02-28 18:19:11 +01:00
Alug 7755bfc861 Zzz... 2024-02-28 18:05:24 +01:00
Alug 01172bca77 dont need SEENAMES
esp when we get nametags its obsolete
2024-02-28 17:58:06 +01:00
Alug 143cbc8587 kill polyobjects ifdef 2024-02-28 17:55:47 +01:00
Alug b65f655a8a update libcurl to 7.69.0 2024-02-28 15:23:54 +01:00
Alug ed04c86369 u 2024-02-28 04:53:42 +01:00
Alug c0eaa17eb3 e 2024-02-28 04:51:13 +01:00
Alug 6383a55038 kill hw_trick 2024-02-28 04:47:55 +01:00
Alug 574df60d58 kill eslope 2024-02-28 04:40:03 +01:00
Alug 61ee575cd3 forgor this 2024-02-28 04:11:39 +01:00
Alug bdd963081e OpenGL: Fix linedef type 10 not culling FOFs 2024-02-28 03:50:43 +01:00
Alug 6b908d7a14 missed those 2024-02-27 22:16:52 +01:00
Alug 7d0d70c094 oopsie 2024-02-27 22:11:32 +01:00
Alug e75c5a9248 delete half of srb2 2024-02-27 21:49:31 +01:00
Alug b8ed5f4f1a dont need this anymore 2024-02-27 21:36:57 +01:00
GenericHeroGuy 660d7060e4 Don't return aggregates 2024-02-27 20:24:46 +01:00
Alug 79c5f57714 Merge remote-tracking branch 'origin/joinrefusemessage' into lugstuff 2024-02-27 20:03:47 +01:00
Alug 606d8fbe55 optimize gif palette creation 2024-02-27 20:01:56 +01:00
Alug edfa116a40 a 2024-02-27 18:38:28 +01:00
Alug 55ca0c712f add dynamic gif delay
fixes issues with low framerates, uncapped and stutters
2024-02-27 17:41:40 +01:00
Alug 16bef488ee no idea how that ever got there 2024-02-27 15:52:50 +01:00
Alug 82d784d9f8 Toggle for R_Pointtoangle Ex or 64
Ex may perform better on 32bit clients and some cpus so lets just make it toggable
2024-02-27 15:52:34 +01:00
indev 103fb2dfc1 Don't return NULL when creating MT_NULL mobj, since it is needed in some parts of game 2024-02-27 13:29:20 +01:00
Alug bba3e1810b add this 2024-02-27 05:14:05 +01:00
Alug af5333f63e fix P_PlayerInPain 2024-02-27 05:07:44 +01:00
Alug ea77a5fb53 Fix con_hudlines being off by one, Fix con_hudtime overflow 2024-02-27 05:07:11 +01:00
Alug a4aef0894b fix compile for qt 2024-02-26 23:48:47 +01:00
Alug bab7972518 Put HTTP downloading on a background thread
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2322
2024-02-26 23:37:54 +01:00
Alug 88853a7aee make the menus a little prettier 2024-02-26 22:01:11 +01:00
Alug d3339df853 toggle for showing nametags during spectating 2024-02-26 22:00:53 +01:00
Alug 385614b448 add toggle for showing nametags after you finished a race
off by default to match sg nametags
2024-02-26 21:19:59 +01:00
Alug c47ba80f5d death 2024-02-26 20:58:58 +01:00
Alug 6de0700f49 use V_LocalTransFlag for driftgauge 2024-02-26 20:58:50 +01:00
Alug d9fe52b1a1 use V_LocalTransFlag for nametags 2024-02-26 20:58:39 +01:00
Alug ccfc476ec0 replace SCR_FPSflags with V_LocalTransFlag
so we can actually display hud transparency stuff before the hud appears, since that doesent work with V_HUDTRANS
2024-02-26 20:58:18 +01:00
Alug f518b3c48b e 2024-02-26 20:04:12 +01:00
Alug 81d52db722 Revert "connect loadingscreen should clear menus"
This reverts commit 6b41cf676c.
2024-02-25 23:42:30 +01:00
Alug df9973da99 fix tagsdisplayed counter 2024-02-25 21:32:25 +01:00
Alug ca4c779c66 dont quit addon downloading with the mousewheel lmao 2024-02-25 19:47:52 +01:00
Alug 7897352175 connect loadingscreen should clear menus 2024-02-25 19:42:21 +01:00
Alug e0e75eac33 i am in pain 2024-02-25 19:06:32 +01:00
Alug 31d83dd26e disable driftgauge by default 2024-02-25 18:35:00 +01:00
Alug 698a0b811f disable nametag by default 2024-02-25 18:34:46 +01:00
Alug f69609b403 Merge branch 'lugstuff' of https://github.com/Indev450/SRB2Kart-Saturn into lugstuff 2024-02-25 18:21:12 +01:00
Alug 56259e3476 lua hud disable option for driftgauge 2024-02-25 18:21:03 +01:00
Alug f3dfa53f31 lua hud disable option for nametags 2024-02-25 18:21:03 +01:00
Alug e10d60c08e hud disable option for driftgauge 2024-02-25 18:20:32 +01:00
Alug ad4037351f hud disable option for nametags 2024-02-25 18:20:19 +01:00
NepDisk f9e1da8c9f Add coloring to large numbers 2024-02-25 17:34:12 +01:00
NepDisk 2f05137af7 Fix fillbar 2024-02-25 17:34:08 +01:00
Alug c305e31c2e fix first person splitscreen driftgauge stuff a 2024-02-25 12:21:57 +01:00
Alug a55fabe4f9 k... 2024-02-25 12:12:18 +01:00
Alug c58848b298 add splitscreen to screencoords and fix splitscreen for driftgauge 2024-02-25 12:10:23 +01:00
Alug ede644d3c4 use SleepEX on windows and set the min sleep duration to 16ms 2024-02-25 04:08:25 +01:00
Alug 4ff98e62a9 actually disable it for splitscreen for now
its botched and needs fixing
2024-02-24 20:32:15 +01:00
Alug e87fd2fff6 dont draw driftgauge when not using chasecam 2024-02-24 20:14:52 +01:00
indev 33e8b10579 Don't need for long there, fixed_t is big enough 2024-02-24 20:05:12 +01:00
Alug d11780f62d add -1 check for driftgauge too 2024-02-24 20:05:07 +01:00
Alug 7706aa0bf0 fix conflict 2024-02-24 16:56:28 +01:00
Alug cf96e10552 Revert "Refactor Batching code"
This reverts commit 8d737c96c9.
2024-02-24 16:49:04 +01:00
Alug 1d01e1e6cd Revert "Optimize polygon sorting on batch renderer"
This reverts commit 1687fb9120.
2024-02-24 16:48:14 +01:00
Alug a5c4759662 disable driftgauge in record attack
it actually gives you an advantage over using other clients
record attack should be fair and even
2024-02-24 15:58:47 +01:00
Alug e7ff1d693b fix K_GetScreenCoords y clipping 2024-02-24 15:38:32 +01:00
Alug 9b4354a057 rename all of those to not conflict with mods 2024-02-24 14:46:13 +01:00
Alug 51a46ba92c this aswell 2024-02-23 01:35:49 +01:00
Alug 31c4e0d59f forgor those aswell 2024-02-23 01:27:52 +01:00
Alug 6b246548c3 raise compile time significantly 2024-02-22 23:58:28 +01:00
Alug 57dda3843a use the current not old state
also add dont interp precip angle if it doesent change
2024-02-22 23:45:56 +01:00
Alug b04ac14751 remove redundant check 2024-02-22 23:45:53 +01:00
Alug 5ad8497db2 those too 2024-02-22 22:53:10 +01:00
Alug 672f07a5ee forgor those 2024-02-22 22:46:58 +01:00
Alug aceffafc4e fix ternary hell for palette rendering lightlevels 2024-02-22 21:42:28 +01:00
Alug 891b3183ed dont interpolate unchanging things + remove unused dynslope interp code 2024-02-22 19:55:45 +01:00
Alug 26dd066280 fix conflicts 2024-02-22 01:43:54 +01:00
Alug 157ebdb5fe Merge remote-tracking branch 'ghg/lua-hudstuff' into lugstuff 2024-02-22 01:39:34 +01:00
Alug 1a18839f82 remove R_PointToAngleEx
R_PointToAngle64 does its job better anyways
2024-02-20 21:10:04 +01:00
Alug e7f8e7628f I HATE MENUS I HATE MENUS 2024-02-20 18:42:37 +01:00
Alug 07190571a1 lol 2024-02-20 18:40:01 +01:00
Alug f04d922fca fix warning 2024-02-20 18:17:25 +01:00
Alug 7fa382d4e9 rename driftgauge cvar and fix nametag rendering bug 2024-02-20 18:12:17 +01:00
Alug 97766710c0 e 2024-02-20 17:37:29 +01:00
Alug 994ee060a7 a 2024-02-20 17:36:05 +01:00
NepDisk 589c27fdcf Driftgauge flipcam 2024-02-20 17:35:01 +01:00
NepDisk 37a018fda4 Give these tooltips 2024-02-20 17:34:58 +01:00
NepDisk f49381d1c5 Forgot this lol 2024-02-20 17:34:54 +01:00
Alug 573095bbad Driftgauge 2024-02-20 17:34:49 +01:00
Alug 0fdcc8e288 some fixes 2024-02-20 17:33:24 +01:00
Alug 03d7e26c3d oop 2024-02-20 13:18:23 +01:00
Alug 3a5cd835ad Fix tint equation shader 2024-02-20 13:17:46 +01:00
Alug 47a8f081e9 set currenttex to null if it gets an invalid texture id 2024-02-20 13:17:35 +01:00
Alug ad8d691c11 kill this 2024-02-20 13:16:50 +01:00
NepDisk 8186696e62 Nametag sightofline fix 2024-02-19 20:35:38 +01:00
Alug 183ec22923 Revert "Revert "Linked list for textures""
This reverts commit fe0dabb177.
2024-02-19 20:26:59 +01:00
Alug 5376995350 add max cap to nametagmaxplayers 2024-02-19 19:02:54 +01:00
Alug acb6e30fad dont apply this for players 2024-02-19 18:20:11 +01:00
Alug fe0dabb177 Revert "Linked list for textures"
This reverts commit 7eec58a834.
2024-02-19 12:15:12 +01:00
NepDisk 194ae46ce8 Remove unused functions that were originally added for nametags 2024-02-19 11:14:49 +01:00
NepDisk 2e9f1bfe90 Fix nametag weight offset for small and minimal 2024-02-19 11:14:46 +01:00
Alug a82adc4948 Fix nametag limit 2024-02-19 11:14:41 +01:00
Alug 6440c70a38 Zzz... 2024-02-19 01:57:42 +01:00
Alug 748eb07c9a forgor 2024-02-19 01:57:04 +01:00
Alug 5be2f591d2 ok so this needs to be done for the scaling stuff cool 2024-02-19 01:49:20 +01:00
Alug f2e4950e89 die 2024-02-19 01:26:01 +01:00
Alug 7444c5b826 remove hpmod stuffs since its not netsafe 2024-02-19 01:02:39 +01:00
Alug 5f6cca68cc Nametags Rewrites 2
contains netunsafe stuff but easy to remove
2024-02-19 00:44:07 +01:00
Alug 3d33e5351b bruh 2024-02-19 00:13:42 +01:00
Alug c6e245450d those are not server commands
idk why i threw them there in the first place but those are not needed at all (or even usefull for that matter) for dedicated servers
also moves some stuff to its group
2024-02-19 00:12:11 +01:00
Alug 36854a16b7 Revert "Clean up cvar stuff a little"
This reverts commit 6fe87ab05a.
2024-02-19 00:04:25 +01:00
Alug b4ee8229ee Revert "more stuff"
This reverts commit 150c695979.
2024-02-19 00:03:27 +01:00
Alug cf0a3841e8 Revert "those need to be here for some reason"
This reverts commit 2efaebcf89.
2024-02-19 00:03:16 +01:00
Alug 3ebd2257f8 ok i dont want to the new gamma system
it looks off honestly
2024-02-18 23:47:42 +01:00
Alug 844d1967cc i wanna try the new gamma stuff 2024-02-18 22:29:24 +01:00
Alug dac37f8938 revert those 2024-02-18 22:29:12 +01:00
Alug dd74bc7c2b fuckit make the scale even smoler 2024-02-18 22:29:05 +01:00
Alug 7eec58a834 Linked list for textures 2024-02-18 22:28:52 +01:00
Alug da81998c71 fix up colour cube/saturation/gamma
cleans up things, and fixes it not being applied to 3D models and colourmapped sectors when not in palette rendering mode
also adds a new way of handling gamma which can be used if wanted
2024-02-18 20:43:40 +01:00
Alug d1552e7b71 clean up patch drawers a little
esp for software
2024-02-18 19:45:17 +01:00
Alug c64e10083b Optimize R_StoreWallRange
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2336?commit_id=a04bef7d39f71cfda1fe85b2ca3a820f95612b06
2024-02-17 22:52:12 +01:00
Alug 43e2be58da Revert "add an error message here"
This reverts commit 44b8a8a0d8.
2024-02-17 17:31:14 +01:00
Alug 63b60d2546 those too 2024-02-17 16:11:32 +01:00
Alug 91ddc709eb forgor 2024-02-17 16:09:39 +01:00
Alug 1bcb67ffb9 remove bloat from windows libs + move dlls into dlls folder
+ remove msvc project files since they dont work anyways
2024-02-17 15:59:16 +01:00
Alug 976177c244 Revert "Revert "fix the dumbass compiler warning""
This reverts commit 69d47a5e53.
2024-02-17 11:13:07 +01:00
Alug a37c81a142 Revert "Revert "fix some issues with framebuffer""
This reverts commit 6457847633.
2024-02-17 11:13:04 +01:00
Alug 58de3a35a0 Revert "Revert "Implement framebuffer and renderbuffer objects""
This reverts commit b0f5f4338f.
2024-02-17 11:13:00 +01:00
Alug 44b8a8a0d8 add an error message here
dunno if we can prevent it from crashing, but atleast its a little more informative
2024-02-17 10:42:16 +01:00
Alug b0f5f4338f Revert "Implement framebuffer and renderbuffer objects"
This reverts commit d6d70e1525.
2024-02-17 09:57:38 +01:00
Alug 6457847633 Revert "fix some issues with framebuffer"
This reverts commit fcc810f703.
2024-02-17 09:57:25 +01:00
Alug 69d47a5e53 Revert "fix the dumbass compiler warning"
This reverts commit d0b7f6203c.
2024-02-17 09:57:12 +01:00
NepDisk 02177a7794 Nametags Rewrites 2024-02-17 09:11:27 +01:00
Alug 65c15126f1 larger console buffer for high res 2024-02-17 09:10:24 +01:00
Alug 76c78b8e63 remove all this crap 2024-02-16 15:30:18 +01:00
Alug f63342ff0f lol 2024-02-16 13:35:30 +01:00
Alug e3410cf34c move this 2024-02-16 13:35:25 +01:00
Alug 7a129047e7 i will play this in 8k yes 2024-02-16 09:36:51 +01:00
Alug 343716b7da make this save 2024-02-15 20:22:05 +01:00
Alug 1687fb9120 Optimize polygon sorting on batch renderer 2024-02-14 21:39:31 +01:00
Alug 3e89057c23 Fix dangling pointer in mapthing after removing mobj 2024-02-14 21:39:20 +01:00
Alug 774587efa6 fix inline warnings 2024-02-14 19:43:44 +01:00
Alug 2dc8bf321e do this again 2024-02-14 19:27:25 +01:00
Alug 992813d770 Revert "remove mobj realscales"
This reverts commit 9f45dabd9c.
2024-02-14 19:27:21 +01:00
Alug 46882dee93 Revert "move this, remove interp things, and add some comments"
This reverts commit 47c90f63a8.
2024-02-14 19:27:18 +01:00
Alug 8bbb7b540f Revert "forgor"
This reverts commit e4ec7484aa.
2024-02-14 19:27:14 +01:00
Alug f5f1ab036d Fix segfault when removing mobjs while iterating thinglist 2024-02-14 15:31:06 +01:00
Alug f15d556c05 fix segfaults when damaging mobj with no painstate and when removing source from ShouldDamage 2024-02-14 15:27:15 +01:00
Alug 570a664db8 Use po2 patches to fix mipmaps 2024-02-14 12:50:40 +01:00
Alug 52f69324d9 better savegame errors 2024-02-14 12:19:38 +01:00
Alug ea6016b1ba forgor 2024-02-14 12:00:25 +01:00
Alug 30fcffd63c move this, remove interp things, and add some comments 2024-02-14 11:44:14 +01:00
Alug 50446bbde4 remove mobj realscales
idk those just seem absolutely useless its literally just an alias for mobj scale
2024-02-14 11:42:51 +01:00
Alug b307033aab a? 2024-02-14 05:58:04 +01:00
Alug 3e5985833c Snap to software lightlevel values when using Paletter renderer
bye bye smooth fades, here i come 32 light levels
2024-02-13 16:35:10 +01:00
Alug 8421f02aab e 2024-02-13 12:44:34 +01:00
Alug b6daafec17 Realloc software lookups for current screen res instead of MAXVID define
so the thing just allocs what it needs, so it can perform as good as it can on any resolution
2024-02-13 12:44:05 +01:00
Alug fc058b669e better comment 2024-02-13 11:16:00 +01:00
Alug 99214b98b9 set this to 1440p
also made a new define for use in the png limits so that can stay at 4k. but having both maxvids allocate things for 4k is not a good thing for software renderer, not that anyone would ever want to run it at 4k anyways
2024-02-13 11:15:14 +01:00
Alug ab35a44ed9 more revert 2024-02-13 10:57:36 +01:00
Alug 125b82a5bb forgor 2024-02-13 10:53:38 +01:00
Alug f294ea157f more things 2024-02-13 10:50:11 +01:00
Alug 486ae052ef this stuff too 2024-02-13 10:42:03 +01:00
Alug 53b5442dad bruh 2024-02-13 10:40:42 +01:00
Alug 507c5f75bd revert a few things 2024-02-13 10:39:27 +01:00
Alug 0fb72c579e forgor 2024-02-13 06:16:38 +01:00
Alug c5d6ac63c5 remove pseudoangle 2024-02-13 06:12:32 +01:00
Alug a934c76263 revert this 2024-02-12 14:38:47 +01:00
Alug 0098c3bbc0 update SDL2 to v2.30.0 2024-02-12 14:29:49 +01:00
Alug f3eedc03e6 Add common I_GetSysName function
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2308
2024-02-12 14:23:09 +01:00
Alug 17c71a2528 Change from double to INT64 2024-02-12 14:19:25 +01:00
Alug d2ecbd7c6e Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-02-12 14:14:49 +01:00
Alug 2ce7dc0c37 update zlib to v1.3.1
update zlib to v1.3.1
2024-02-11 16:43:19 +01:00
Alug b648424c18 add stuff to menu 2024-02-11 15:21:20 +01:00
Alug 301754c857 forgor 2024-02-11 15:10:16 +01:00
Alug c9a3c4c9b8 only interpolate those if we use the stuff that uses them 2024-02-11 15:05:58 +01:00
Alug ce0c8b363a only interpolate pitch, roll, slopepitch and sloperoll when using sprite rotation 2024-02-11 14:51:44 +01:00
Alug 9d6c38004c toggable mobj subsector interpolation
honestly couldnt spot any difference at all
but R_PointinSubsector is quite expensive so making a toggle seems cool
2024-02-11 14:51:14 +01:00
Alug 19a58cc8c6 mobj interp optimization 2024-02-11 14:19:08 +01:00
Alug d855c39da2 a 2024-02-11 13:45:48 +01:00
Alug 03f4bfecc1 Dont need this
I_GetPrecise Precision already gets the high res windows time anyways
2024-02-11 13:42:12 +01:00
Alug c8d9e4c7b3 add thiis 2024-02-11 09:22:59 +01:00
Alug cb2b8f2e7c add it here too 2024-02-11 06:38:45 +01:00
Alug 0272dd4c24 oops 2024-02-11 06:29:28 +01:00
Alug 3b327937c2 use Windows High Precision Timer on Windows builds
lul may help with frametime and other stuff
2024-02-11 06:16:45 +01:00
Alug f8f2f17184 Merge remote-tracking branch 'origin/cvarcleanup' into lugstuff 2024-02-09 15:18:17 +01:00
Alug 2efaebcf89 those need to be here for some reason
game complains
2024-02-09 15:12:41 +01:00
Alug 150c695979 more stuff 2024-02-09 15:05:23 +01:00
Alug 6fe87ab05a Clean up cvar stuff a little 2024-02-09 14:42:55 +01:00
Alug f6613a5555 proper check for colourized speedometer patches 2024-02-09 12:35:48 +01:00
Alug 947d5c2739 add achiiro speedometer stuffs 2024-02-09 12:07:34 +01:00
Alug 1544706ff4 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-02-09 10:20:21 +01:00
Alug e121d1a8a1 proper POST request to curl 2024-02-09 10:19:35 +01:00
Alug badbdbf03f Clipping and portal stuff
idk this actually does not break ante station for some reason
2024-02-09 10:19:18 +01:00
Alug 3b5495b53a brap 2024-02-07 11:52:04 +01:00
Alug 545027ae64 use this stuff 2024-02-07 11:40:05 +01:00
Alug 91896433f8 fix menu updating + add default to switch 2024-02-07 11:01:53 +01:00
Alug a60074fc8a fix menu stuff 2024-02-07 10:49:04 +01:00
Alug eb82aa14bb option for small nametags 2024-02-07 10:35:16 +01:00
Alug cb4b640730 why add the same thing twice? 2024-02-07 09:42:16 +01:00
Alug 266d9a3c71 also turn this off 2024-02-07 09:37:01 +01:00
Alug 7a5a704a15 forgor to comment this out 2024-02-07 09:36:37 +01:00
Alug 29ed8de935 Nametags from Chaoskart
https://gitlab.com/Fafabis/kart-chaotic/-/commit/8b4a12e144fbff587ee70c30e7f461900d839650#025e5c90ea9aeb6187b4fe002e0fbb277ef4b33d_7024_7035
2024-02-07 09:35:14 +01:00
Alug 3418cab5de switchable native keyboard input
taken from chaoskart this is completely non invasive
2024-02-07 09:20:36 +01:00
Alug e2ce015d49 fix for opengl sprite shadow colour 2024-02-07 09:15:17 +01:00
indev 0d0ab3f414 If have libbacktrace, write crash reports from I_Error 2024-02-04 19:08:33 +01:00
Alug 22b5bcc7e1 split cache functions
seems to fix a few stutters
2024-02-04 09:21:45 +01:00
indev 34d5d73d7e Fix battle playing wrong ending music sometimes 2024-02-04 08:31:10 +01:00
Alug 7ae4441731 Add cvar gr_maxinterpdist, which allows to control max distance on which mobjs will be interpolated 2024-02-04 08:26:54 +01:00
Alug d0b7f6203c fix the dumbass compiler warning 2024-02-04 07:56:55 +01:00
Alug 3757f3ae57 smol cleanup 2024-02-04 07:46:25 +01:00
Alug 8f9366da5a Zzz... 2024-02-04 07:12:26 +01:00
Alug b8e55f87a9 little portal cleanup 2024-02-04 06:48:58 +01:00
Alug b469f70e02 experimental fast sprite sorting 2024-02-04 06:28:07 +01:00
Alug 6df69b24db Revert "DSDADoom shenanigans"
This reverts commit c7931ca69c.
2024-02-02 16:49:08 +01:00
Alug 0133a5eb23 Revert "do this"
This reverts commit 7f93bc305d.
2024-02-02 16:48:26 +01:00
Alug 86712c2c48 fix compiler warning 2024-02-02 02:59:08 +01:00
Alug 5195caa3c6 Remove Build2DMipmaps and GLU library stuff
gluBuild2DMipmaps is just broken anyways
and it was the only thing used from the GLU library aswell so can remove things in favor of better solutions
having a pc with opengl 1.4 should be a given by now
2024-02-01 22:26:06 +01:00
Alug 684ad38d4b add an I_Error for when opengl is started on unsupported hardware or driver 2024-02-01 19:57:23 +01:00
Alug c6d292a3d7 e 2024-02-01 04:47:55 +01:00
Alug 246414a735 move that where it belongs 2024-02-01 04:42:28 +01:00
Alug 429bcffaf8 dont need to extra check for this actually 2024-02-01 03:48:17 +01:00
Alug d92e7b138c fix sprite roll angles in software for sprites with one rotation frame
ofc only when the rotation stuff is set to rotate everything not just the player
also changes that the shadows only rotate on that setting unless someone wants it and wants really dumb checks for it
2024-02-01 03:46:15 +01:00
Alug cd51ad2a25 remove non working fisheye lens code
remnants of birdhouse, this was never finished nor does it work
2024-02-01 03:26:33 +01:00
Alug 8732825404 fix software shadow rotation in the worst way possible kek 2024-02-01 03:25:58 +01:00
Alug fc37cdcc95 use it for camang 2024-02-01 02:39:27 +01:00
Alug 2435ec9515 Revert "batch this stuff too for portals"
This reverts commit 2df4738af2.
2024-02-01 02:11:21 +01:00
Alug 623fab8ea8 Revert "clean this up a little"
This reverts commit 99c9d921e3ab3ee3fde3dcf141e20323e064902a.
2024-02-01 02:03:23 +01:00
Alug e063345c4b Revert "oops"
This reverts commit 59b6987bf2e9f00bfdf50b268f0ec61e735dfe0e.
2024-02-01 02:03:10 +01:00
Alug 27533a1dcd Revert "replace check"
This reverts commit 36eaaee202c4d1f7e86dd2b24dcfe5573ac2f280.
2024-02-01 02:03:00 +01:00
Alug d232e0e2c6 oops 2024-02-01 01:55:04 +01:00
Alug 0475489e24 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-01-31 16:58:09 +01:00
Alug 34b35db27f Interpolate polyobjects properly for the software renderer
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2284/
2024-01-31 03:28:00 +01:00
Alug b47bc12e48 change x scale a little 2024-01-30 21:43:44 +01:00
Alug 4d102dcf68 similar scale to old speedo 2024-01-29 23:08:19 +01:00
Alug a8c9663200 ok i can just do it like this lol
now its good finally
2024-01-29 22:23:04 +01:00
Alug 57660cc5af fix 1 pixel gap
i hate maths
2024-01-29 22:13:54 +01:00
Alug c459e918af prep some speedometer stuff 2024-01-29 22:01:16 +01:00
Alug 962abba1b2 Buffer API is OpenGL 1.5, so can be used in STATIC_OPENGL
https://git.do.srb2.org/STJr/SRB2/-/commit/623629b04ab72071e6ea4f0c4a3245e6cde72e2c
2024-01-29 18:19:01 +01:00
Alug 5297d18f92 ugh whyyyy 2024-01-29 18:08:18 +01:00
Alug 7853e48a6f update libopenmpt libs 2024-01-29 18:07:35 +01:00
Alug 303d87f69d update libgme 2024-01-29 15:59:48 +01:00
Alug 9dcdc9500d Revert "bruh wtf"
This reverts commit 493091cd66.
2024-01-29 14:43:12 +01:00
Alug 7723bafff6 replace check 2024-01-29 04:38:26 +01:00
Alug d74a89c6c1 oops 2024-01-29 04:11:21 +01:00
Alug cce443be0b clean this up a little 2024-01-29 04:08:14 +01:00
Alug 81fa3d27bf uuuuuuuhhh 2024-01-29 03:56:43 +01:00
Alug 493091cd66 bruh wtf 2024-01-28 22:07:49 +01:00
Alug c75f5ee961 use this for portal clipping too 2024-01-28 19:33:45 +01:00
Alug 083e0ca2e0 dont need this anymore 2024-01-28 19:19:16 +01:00
Alug 79bd89016c dont need it as an extra file 2024-01-28 19:16:04 +01:00
Alug eca7e38763 Zzz... 2024-01-28 19:15:14 +01:00
Alug b5cbfb970f forgor 2024-01-28 18:58:52 +01:00
Alug 74e1cafd9d this too 2024-01-28 18:57:19 +01:00
Alug ee7381b67d revert this 2024-01-28 18:56:10 +01:00
Alug 7f93bc305d do this 2024-01-26 02:44:37 +01:00
Alug c7931ca69c DSDADoom shenanigans
R_PointToPseudoAngle seems rather promising
2024-01-26 02:28:07 +01:00
Alug 90f06a3289 a little better solution still bad lmao 2024-01-26 00:04:42 +01:00
Alug 0e344a7e02 screw it ill just do this 2024-01-25 23:40:37 +01:00
Alug 3f91a4e908 i want a small hud 2024-01-25 23:04:21 +01:00
Alug fb443c58ab add "Reset All" button to hud offset menu 2024-01-25 23:02:01 +01:00
Alug b233514b58 more offset 2024-01-25 16:48:16 +01:00
Alug 11615171d1 Revert "Optimize polygon sorting on batch renderer"
This reverts commit ad86e7f34a.
2024-01-25 14:57:49 +01:00
Alug 2df4738af2 batch this stuff too for portals 2024-01-25 04:06:54 +01:00
Alug 9e62f5bd52 make the ripple thing toggable for now 2024-01-25 03:46:26 +01:00
Alug 80349ae8ee a 2024-01-25 03:24:32 +01:00
Alug 06d51f2648 only apply fog if it is water only
ugh
2024-01-25 02:59:30 +01:00
Alug fcc810f703 fix some issues with framebuffer 2024-01-25 00:35:31 +01:00
Alug d6d70e1525 Implement framebuffer and renderbuffer objects
wew https://git.do.srb2.org/Lactozilla/SRB2/-/commit/211c3720de8dda8e2a896b6887eb4bbbd991ebbf
2024-01-24 22:35:30 +01:00
Alug e5f79e061c rotating shadows
uuuuhhh
2024-01-24 18:13:50 +01:00
Alug ad3c0a1ffd attempt at fixing some issues
it fixed some things but broke the underwater ripple if the water is on a fof
2024-01-24 17:09:15 +01:00
Alug 2ef935198a more pronounced ripple
eeeh kinda close ig
2024-01-24 03:41:02 +01:00
Alug dc3b9c648a make this a little neater 2024-01-24 03:09:09 +01:00
Alug 2d610d40b6 add better check for colormap stuff
so it only gets applied where it should (i hope)
works on tiled byway tho
2024-01-24 03:00:31 +01:00
Alug d2c686f48b attempt at making ogl water ripple better
well all it does is ripple the floor below the water fof lmao no idea how i would implement this for the walls too
2024-01-24 02:43:27 +01:00
Alug 5cafec3262 uuuh oops dont do it for non transparent fofs 2024-01-24 00:26:36 +01:00
Alug 580c42d167 more offset ugh 2024-01-23 21:33:15 +01:00
Alug dcfec35e57 remove this since its not needed anymore 2024-01-23 21:24:18 +01:00
Alug 701bac6e11 alr add more offset
kinda dumb way but itll do for now until i figure out smth better
2024-01-23 21:21:03 +01:00
Alug 0c46d593d8 attempt at making colormapped translucent fofs more accurate 2024-01-23 18:55:19 +01:00
Alug b867de0667 Zzz... 2024-01-23 15:50:51 +01:00
Alug e207b75c7a Revert "add pMasterPalette"
This reverts commit dfb05b9d39.
2024-01-23 15:49:00 +01:00
Alug fc3df5bfe4 Revert "attempt at unmangling lighttables and colormaps"
This reverts commit 19702daecd.
2024-01-23 06:41:25 +01:00
Alug dfb05b9d39 add pMasterPalette 2024-01-23 05:33:04 +01:00
Alug 19702daecd attempt at unmangling lighttables and colormaps
ugh i hope this doesent break
2024-01-22 23:28:34 +01:00
Alug dde4b4df3b merge conflict moment 2024-01-22 21:32:38 +01:00
Alug c070930a8c Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-01-22 21:31:04 +01:00
Alug d36b5f7c59 add hw_shaders to cmakelist 2024-01-22 18:41:00 +01:00
Alug 0e517907ce change this 2024-01-22 18:32:13 +01:00
Alug 739e9716ab add toggle for custom shaders
it seems better like this, atleast thats how hannu set it up
2024-01-22 18:25:51 +01:00
Alug 0e5972d895 shaderstate should be set here 2024-01-22 18:15:53 +01:00
Alug 71975658ca split hw_shader files 2024-01-22 18:14:14 +01:00
Alug 6572e29a64 OpenGL shader code rearrangement and shader pre-preprocessor
https://git.do.srb2.org/STJr/SRB2/-/commit/de37df1be04e9d1dfb11083a9585eb6ac1761633?merge_request_iid=1516
wew
2024-01-22 16:57:47 +01:00
indev 41b21c2a0c Fix sound, music, and midi music toggles 2024-01-22 13:48:13 +01:00
Alug 2b19d2e6de Revert "revert this"
This reverts commit 5bce9d5abf.
2024-01-22 13:48:10 +01:00
Alug f99aa3459c e 2024-01-22 13:48:00 +01:00
Alug 5bce9d5abf revert this
this caused sound and music to alyways toggle themselves on after a restart + other issues
2024-01-22 02:55:40 +01:00
Alug abe102649e forgor 2024-01-22 02:52:33 +01:00
Alug 424fcdc63a change some memfree names 2024-01-22 02:46:59 +01:00
Alug a3fd451c74 3D model texture Z_tag 2024-01-22 02:43:55 +01:00
Alug 731fd113d2 more cleanup 2024-01-22 02:34:07 +01:00
Alug c9ca1bda5c Texture buffer for non RGBA to RGBA conversion 2024-01-22 02:09:55 +01:00
Alug 58ea822050 Remove 3Dfx and glide things
gr_rounddown toggle did nothing instead the game always resized textures, now it wont, seems like this makes stutters on mapload less
2024-01-22 01:03:48 +01:00
Alug 671484d6f9 fix merge conflict 2024-01-21 16:41:38 +01:00
Alug e6e74194bc Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-01-21 16:40:12 +01:00
Alug 04432c8368 simplify this uuh 2024-01-21 15:43:46 +01:00
Alug 6782876c0c i hate this so i just make it a boolean
confused the heck outta me so just do it like this lmao
2024-01-21 15:31:07 +01:00
Alug 4b09e92d7c grr 2024-01-20 17:24:11 +01:00
Alug 3266f64fb9 oops 2024-01-20 17:03:05 +01:00
Alug 2a9886e698 cleanup s_sound a little + fix onchanges 2024-01-20 17:01:48 +01:00
Alug 1319e3a811 make NO_MIDI=0 compile 2024-01-20 16:52:46 +01:00
Alug 6cbb40f874 make some things static + remove cdmusic leftovers 2024-01-20 15:43:42 +01:00
Alug 07fd6a3ad4 make sound precaching useful at all
so it also precaches addon sounds and all
thx indev for help <3
2024-01-20 15:39:25 +01:00
Alug 8891869013 fix issues with sound precaching
adds a check if sounds have been previously loaded already

also makes it useful at all by not freeing soundsfx data on each mapload when its enabled

also adds an onchange so toggling it either caches all sounds again or frees them
2024-01-20 13:58:11 +01:00
Alug 04fc735e12 Merge remote-tracking branch 'origin/morenewpalshader' into lugstuff 2024-01-19 19:37:07 +01:00
Alug 7b9860f1be Merge remote-tracking branch 'origin/morenewpalshader' into lugstuff 2024-01-19 19:25:24 +01:00
Alug 38f26a2bd8 simplify setpalette 2024-01-19 18:07:32 +01:00
Alug a9750f8cff Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-01-19 12:29:20 +01:00
Alug ad86e7f34a Optimize polygon sorting on batch renderer
again
2024-01-19 02:14:20 +01:00
Alug 496435ef3b dont check for precip in sprite sorting + smol cleanup 2024-01-19 02:14:04 +01:00
Alug 5275b31e7e smol stuffs 2024-01-19 00:39:07 +01:00
Alug e341991703 Add toggle for horizonlines 2024-01-18 20:53:59 +01:00
Alug fb65496507 use fudges from newer paletter shader 2024-01-18 16:49:10 +01:00
Alug abe52ba440 make thundershield follow player offset
this allows the to stay on the player when saltyhopping etc.
2024-01-18 15:21:20 +01:00
Alug ee5d097201 Prevent FOF alpha from wrapping around in OpenGL 2024-01-18 15:07:29 +01:00
Alug 0ea182d04f change this 2024-01-18 14:12:27 +01:00
Alug 8d737c96c9 Refactor Batching code
from Hannu Hanhi
https://git.do.srb2.org/STJr/SRB2/-/commit/707687beea50a2bfcc14638e923ac516195351b1?merge_request_iid=1774
2024-01-17 18:30:53 +01:00
Alug 5c93b90c2e Merge remote-tracking branch 'origin/batching-stuff' into lugstuff 2024-01-17 18:16:06 +01:00
Alug 41bee850da Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-01-17 14:59:21 +01:00
Alug 416c2a9e9d Merge remote-tracking branch 'origin/planestuff2' into lugstuff 2024-01-17 12:42:59 +01:00
Alug 8fa9fccc79 Revert "use malloc here"
This reverts commit 75d1076bbe.
2024-01-17 12:42:56 +01:00
Alug c5a4071a06 Revert "Move water ripple spanfunc out of r_plane + tilted water support"
This reverts commit 139d937c86.
2024-01-17 12:42:48 +01:00
Alug 930e48ad39 Revert "Plane optimization and cleanup"
This reverts commit db61bfb568.
2024-01-17 12:42:39 +01:00
Alug 868678f321 Revert "Revert "Revert "Fix vibing slope planes"""
This reverts commit 8530b6512c.
2024-01-17 12:42:34 +01:00
Alug 8530b6512c Revert "Revert "Fix vibing slope planes""
This reverts commit 2a5f487e5f.
2024-01-17 12:32:50 +01:00
Alug 2a5f487e5f Revert "Fix vibing slope planes"
This reverts commit 82562bc20d.
2024-01-17 12:31:28 +01:00
Alug 141f6c51dc Revert "optimize plane stuff even more"
This reverts commit 120def9676.
2024-01-17 12:31:24 +01:00
Alug 1fc9492b30 Revert "Use floating point trig in R_SetSlopePlane"
This reverts commit 3555783284.
2024-01-17 12:31:13 +01:00
Alug 65782d3d75 Revert "more changes"
This reverts commit cb6d657c03.
2024-01-17 12:31:08 +01:00
Alug b5cb6dfb9d Revert "forgoer"
This reverts commit f476befc4b.
2024-01-17 12:31:03 +01:00
Alug 6667e4b8bc Revert "forgor R_GetSlopeZAt"
This reverts commit 4a94939d4f.
2024-01-17 12:30:58 +01:00
Alug 5e2492a930 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-01-17 12:19:30 +01:00
Alug 4f07372e0f (hopefully) fix overflow in R_DrawRepeatMaskedColumn
well this fixes the game hanging in software renderer on Marsh´s Marble Zone
2024-01-17 12:11:32 +01:00
Alug 80a1a97083 Revert "Revert "Revert "Localskins on replays"""
This reverts commit 12059955e5.
2024-01-16 16:44:41 +01:00
Alug 204476c55d Revert "Hopefully fix the localskin replay issues 🙏"
This reverts commit 8fab258778.
2024-01-16 16:44:38 +01:00
hayaunderscore 8fab258778 Hopefully fix the localskin replay issues 🙏 2024-01-16 16:35:39 +01:00
Alug 12059955e5 Revert "Revert "Localskins on replays""
This reverts commit d3e5dfc346.
2024-01-16 16:35:33 +01:00
Alug 3ca1f957ba fix ogl shearing with flipcam 2024-01-16 16:22:30 +01:00
Alug b11362aec1 remove the extra screentex and apply palshader directly to finaltex
theres basically barely any difference, even in the fades theres very little, and it just cost so freaking much performance

however, ill keep the revamped screentex setup as this it allows us to keep the better fadescreen background for menus
2024-01-15 20:12:35 +01:00
Alug 75630df10e readd oldpal
for performance reasons its better
2024-01-15 19:36:37 +01:00
Alug 4d93abb7ac do this a little better 2024-01-15 17:44:07 +01:00
Alug 731943f980 ensure consistent shader state 2024-01-15 16:50:20 +01:00
Alug 265dc1f296 Light table support for HWR_FadeScreenMenuBack 2024-01-15 16:29:01 +01:00
Alug c449ffcc98 remove gr_oldpal for now 2024-01-15 16:23:19 +01:00
Alug 34500d32d0 paletterenderer screentex stuff again
this didnt really work like it shouldve
so ill keep it here for now
2024-01-15 16:17:17 +01:00
Alug d3e5dfc346 Revert "Localskins on replays"
This reverts commit e1f821e121.
2024-01-15 15:51:28 +01:00
Alug 8ed11107eb remove Shader_Load as Shader_SetUniforms literally did the same thing 2024-01-15 15:10:02 +01:00
Alug 2f51108783 fix lighttable batching for new batching and palshader code 2024-01-15 15:09:36 +01:00
Alug 2667a66419 Merge remote-tracking branch 'origin/batching-stuff' into lugstuff 2024-01-15 14:27:10 +01:00
Alug 0fd073f2f0 Merge remote-tracking branch 'origin/batching-stuff' into lugstuff 2024-01-15 14:18:10 +01:00
Alug 840cf4e00a Revert "Revert "Optimize HWR_RenderBatches polygon sorting""
This reverts commit a36e633555.
2024-01-15 14:15:26 +01:00
Alug d5d99f94b7 cap flashpals again
well it often resulted in flashpals that just made stuff so badly visable lmao
2024-01-15 11:38:09 +01:00
Alug dea19e4416 forgor R_GetSlopeZAt 2024-01-15 11:20:54 +01:00
Alug f7612d7398 forgoer 2024-01-15 11:17:19 +01:00
Alug e39182607e more changes 2024-01-15 11:16:16 +01:00
Alug 79f1febbce Use floating point trig in R_SetSlopePlane 2024-01-15 11:10:12 +01:00
Alug 120def9676 optimize plane stuff even more 2024-01-15 11:09:07 +01:00
Alug 82562bc20d Fix vibing slope planes 2024-01-15 10:44:43 +01:00
Alug 1c51361120 Plane optimization and cleanup
sned help

https://git.do.srb2.org/STJr/SRB2/-/commit/c07c80fd9e626f15b4d84d1766f8963e089d295a
2024-01-15 10:40:51 +01:00
Alug c07e79deb7 Move water ripple spanfunc out of r_plane + tilted water support
idk man
2024-01-15 10:18:13 +01:00
Alug 81cb1111b4 use malloc here 2024-01-15 09:36:35 +01:00
Alug 369307181e this can be static 2024-01-15 08:35:45 +01:00
Alug 7881e04e6b Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-01-15 08:26:13 +01:00
Alug 66a72eb1be Copy Interpolation to Shields and Overlays, Splitscreen Overlays
from https://git.do.srb2.org/STJr/SRB2/-/merge_requests/1992
2024-01-15 08:25:54 +01:00
Alug ad77f11859 Optimize polygon sorting on batch renderer
from https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2253

again lul
2024-01-15 00:31:29 +01:00
Alug 96d177876f Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-01-14 23:50:14 +01:00
Alug dc7392f86b Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-01-14 22:57:24 +01:00
Alug 6f6252b6f8 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-01-14 22:50:11 +01:00
Alug 20b32df2c6 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-01-14 22:13:42 +01:00
Alug d413d02bf7 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-01-14 21:38:49 +01:00
Alug 426c0366cc Merge remote-tracking branch 'origin/newpalshader' into lugstuff 2024-01-13 16:12:04 +01:00
Alug d3d3655580 Merge remote-tracking branch 'origin/crash-log-mention' into lugstuff 2024-01-13 12:05:55 +01:00
Alug d4a011ee6d Merge remote-tracking branch 'origin/addfilelocal-load-animdefs' into lugstuff 2024-01-12 13:37:17 +01:00
Alug b08118734e Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-01-12 13:37:14 +01:00
indev 41ee6de784 Make non-important files still load textures and animdefs 2024-01-12 15:35:24 +03:00
hayaunderscore 139d2e6be8 Localskins on replays 2024-01-12 12:26:21 +01:00
Alug a866461b0a Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-01-11 18:46:14 +01:00
Alug 6f61331d46 Merge remote-tracking branch 'origin/newpalshader' into lugstuff 2024-01-11 18:46:12 +01:00
Alug 7731ca9fb2 Merge remote-tracking branch 'origin/newpalshader' into lugstuff 2024-01-11 09:53:47 +01:00
Alug 3de0c4f5d8 Merge remote-tracking branch 'origin/newpalshader' into lugstuff 2024-01-11 01:10:04 +01:00
Alug 2e602f8861 Revert "Revert "just show text instead of miscoloured boxes""
This reverts commit 7072a50060.
2024-01-11 00:50:36 +01:00
Alug 1a7d92a082 Revert "Revert "fix some things""
This reverts commit a65e586de5.
2024-01-11 00:50:26 +01:00
Alug 5aa2a0c821 Revert "Revert "Merge remote-tracking branch 'origin/gammastuff' into lugstuff""
This reverts commit a9d7ca3332.
2024-01-11 00:50:17 +01:00
Alug 4f2328b8dc Merge remote-tracking branch 'origin/newpalshader' into lugstuff 2024-01-11 00:47:24 +01:00
Alug e929e524a3 Merge remote-tracking branch 'origin/newpalshader' into lugstuff 2024-01-10 14:18:45 +01:00
Alug e6b9f18d3d Merge remote-tracking branch 'origin/newpalshader' into lugstuff 2024-01-10 14:14:53 +01:00
Alug 7f197ef84e Merge remote-tracking branch 'origin/newpalshader' into lugstuff 2024-01-10 13:52:26 +01:00
Alug a9d7ca3332 Revert "Merge remote-tracking branch 'origin/gammastuff' into lugstuff"
This reverts commit 9aca8438a2, reversing
changes made to c2d37dfb61.
2024-01-10 13:51:51 +01:00
Alug a65e586de5 Revert "fix some things"
This reverts commit 69ffee271d.
2024-01-10 13:51:46 +01:00
Alug 7072a50060 Revert "just show text instead of miscoloured boxes"
This reverts commit fc1a367c2e.
2024-01-10 13:51:43 +01:00
Alug fc1a367c2e just show text instead of miscoloured boxes 2024-01-09 14:27:05 +01:00
Alug 3b376d85d4 fix some things 2024-01-09 14:19:36 +01:00
Alug 9aca8438a2 Merge remote-tracking branch 'origin/gammastuff' into lugstuff 2024-01-09 14:09:56 +01:00
Alug c2d37dfb61 use og values for pal 2024-01-09 13:38:24 +01:00
Alug 3c3bd0f0ea stuff 2024-01-09 13:25:59 +01:00
Alug 958db336b7 change this 2024-01-09 13:23:54 +01:00
Alug 342d570b3b Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-01-08 09:07:24 +01:00
Alug 67457c25df Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-01-08 08:54:08 +01:00
Alug a98d46f8a8 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-01-08 08:51:05 +01:00
Alug b2fca84b15 Zzz... 2024-01-07 08:25:49 +01:00
Alug 2e31169738 use fudge defines + remove wall and floor shader
both are now consilidated ( i have no idea how to spell that) into doom_colormap shader
2024-01-06 08:11:57 +01:00
Alug 4cda2c8093 use srb2´s sky shader
also its finally a defined shader now + move default fragment shader to the top
2024-01-06 08:07:11 +01:00
Alug 73b4e8a988 change this 2024-01-06 04:57:18 +01:00
Alug 82dbfb4379 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-01-06 01:15:05 +01:00
Alug 0e2ff2390a Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-01-05 21:56:11 +01:00
Alug 220d5db739 optimize camera mobj z stuff lol
idk wanna see if this does anything
2024-01-05 06:40:16 +01:00
Alug 212d475f50 fix menu fade screen background using wrong things in palshader 2024-01-05 01:23:05 +01:00
Alug b7fbd0433f little changes to palshader
use gl_texture 2 in postprocess like srb2s palshader does it
also disable depthtest for screentextures in palshader mode
2024-01-05 00:53:19 +01:00
Alug d28dd96aa0 revert this 2024-01-05 00:22:13 +01:00
Alug 0e46f91c51 change order of those 2024-01-05 00:21:51 +01:00
Alug d6dabacb05 wöter... 2024-01-04 23:31:55 +01:00
Alug 4363473955 hehe funky colours 2024-01-04 23:11:46 +01:00
Alug 7e5fd4e290 Merge remote-tracking branch 'origin/compilation-warnings-fix' into lugstuff 2024-01-03 20:02:35 +01:00
Alug c30a0cd4f1 Merge remote-tracking branch 'origin/compilation-warnings-fix' into lugstuff 2024-01-03 20:00:34 +01:00
Alug 98d56a38f5 Merge remote-tracking branch 'origin/compilation-warnings-fix' into lugstuff 2024-01-03 19:45:14 +01:00
Alug f26e95e7c9 Merge remote-tracking branch 'origin/compilation-warnings-fix' into lugstuff 2024-01-03 18:24:19 +01:00
Alug f39e1a9b70 wöter 2 2024-01-03 02:24:15 +01:00
Alug 1d5b531ba3 Revert "uuuh refactor batching a little + port Optimize polygon sorting"
This reverts commit d757e82e3f.
2024-01-02 22:21:25 +01:00
Alug a90bd08405 Revert " Avoid batching skybox and horizon lines"
This reverts commit b5fbaaa2b9ae91877c7c6ad3602956d677fa6e0c.
2024-01-02 22:21:21 +01:00
Alug 1cbb726cab Merge branch 'lugstuff' of https://github.com/Indev450/SRB2Kart-Saturn into lugstuff 2024-01-02 22:13:17 +01:00
Alug ce61d00dcf fix inline warnings 2024-01-02 22:13:13 +01:00
indev 2d92b798c6 Fix warnings related to boolean glib getters/setters 2024-01-03 00:10:28 +03:00
Alug cc62164a7c Revert "Revert "Merge remote-tracking branch 'origin/Saturn-Next-EnumLib' into lugstuff""
This reverts commit 142540e263.
2024-01-02 21:08:03 +01:00
Alug af510bce93 inline deez nuts 2024-01-02 21:07:02 +01:00
Alug 4ba60bedcd AAAAAaaa 2024-01-02 20:36:32 +01:00
Alug 583bf26129 wöter 2024-01-02 20:36:14 +01:00
Alug d8c3623141 Avoid batching skybox and horizon lines 2024-01-02 20:35:26 +01:00
Alug 2cd0875da6 lol 2024-01-02 06:19:31 +01:00
Alug 73d0848f7e (hopefully) fix horizonlines 2024-01-02 03:49:32 +01:00
Alug d757e82e3f uuuh refactor batching a little + port Optimize polygon sorting
uhhh https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2253
2024-01-02 01:02:42 +01:00
Alug 007238e7dd Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-01-02 00:09:27 +01:00
Alug 944e019020 let indev compile this branch uwu 2024-01-01 21:28:03 +01:00
Alug 634f8897b4 Revert "uuuh refactor batching a little + port Optimize polygon sorting"
This reverts commit 7651d31c50.
2024-01-01 21:19:14 +01:00
Alug 7651d31c50 uuuh refactor batching a little + port Optimize polygon sorting
uhhh https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2253
2024-01-01 20:44:19 +01:00
Alug 1702873ab1 Revert "attempt at making water shader ripple more accurate to software"
This reverts commit 8ab37040db.
2024-01-01 18:55:41 +01:00
Alug 44e7d5249c dont pack my memories 2024-01-01 18:30:06 +01:00
Alug 8ab37040db attempt at making water shader ripple more accurate to software 2024-01-01 18:29:04 +01:00
Alug ac203b0ccb Merge remote-tracking branch 'origin/compilation-warnings-fix' into lugstuff 2024-01-01 17:08:31 +01:00
Alug 557546c9c3 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2024-01-01 17:08:18 +01:00
Alug 52a94dbe78 try and make p-speedometer a little less painful to look at 2023-12-31 03:39:24 +01:00
Alug f4ffc19981 lil k_kart cleanup
uh
2023-12-31 03:12:35 +01:00
Alug ac3c117b03 uh 2023-12-31 00:12:11 +01:00
Alug 1ac008ab02 Merge remote-tracking branch 'origin/compilation-warnings-fix' into lugstuff 2023-12-31 00:07:39 +01:00
Alug 58ac86e3bf noone cares about c90 mixed declarations lmao 2023-12-30 21:51:23 +01:00
Alug 1daf06858b Revert "(maybe?) fix net issues on server join"
This reverts commit af40bdb11b.
2023-12-30 21:41:33 +01:00
Alug a4e8ce7f01 Fix most of compilation warnings 2023-12-30 15:55:07 +01:00
Alug ed6e16cdce uuh 2023-12-30 01:20:09 +01:00
Alug 57bb92a36c this didnt work out lmao 2023-12-30 00:55:24 +01:00
Alug 142540e263 Revert "Merge remote-tracking branch 'origin/Saturn-Next-EnumLib' into lugstuff"
This reverts commit 5dab606980, reversing
changes made to 661dfde6af.
2023-12-29 23:24:08 +01:00
Alug 5a17430747 Revert "Merge remote-tracking branch 'origin/moreopengl' into lugstuff"
This reverts commit a6015e4647, reversing
changes made to fcbe95447a.
2023-12-29 22:49:51 +01:00
Alug 23c84a9e96 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2023-12-29 22:49:27 +01:00
Alug 6bb9dcc216 revert that part it stuttered race conditions or somethjing lmao 2023-12-29 15:36:12 +01:00
Alug 1901e4dbdc fuckit idk lmoa 2023-12-29 14:23:29 +01:00
Alug 1657f769da Revert "dont need that"
This reverts commit f274ed3fd8.
2023-12-29 13:11:43 +01:00
Alug c82eb489fe give me all that shit yes 2023-12-29 01:47:27 +01:00
Alug 9f05befd70 i have no idea what im doing lmao 2023-12-29 01:36:33 +01:00
Alug f274ed3fd8 dont need that 2023-12-29 01:35:50 +01:00
Alug f6e027abcb Merge remote-tracking branch 'origin/gl-noencore-effect-fix' into lugstuff 2023-12-27 15:30:13 +01:00
Alug a92114a854 Merge remote-tracking branch 'origin/gl-noencore-effect-fix' into lugstuff 2023-12-27 15:04:36 +01:00
Alug ffb84705d3 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2023-12-27 14:40:50 +01:00
Alug 2f8366b6f9 -flto breaks crashlogs it seems lol 2023-12-24 20:28:57 +01:00
Alug a6f062c126 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2023-12-24 19:41:15 +01:00
Alug 41c24f3bc9 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2023-12-24 19:13:15 +01:00
Alug af40bdb11b (maybe?) fix net issues on server join
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2238?commit_id=d79d22de63c5b84e3e0f4d737af81f74321dd80d

needs alot of testing
2023-12-24 00:15:47 +01:00
Alug 00a69e6aed Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2023-12-23 17:24:07 +01:00
Alug 04b2d784ce Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2023-12-22 20:28:28 +01:00
Alug a5de51b039 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2023-12-21 13:54:33 +01:00
Alug 4a80e9f20f Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2023-12-20 23:06:24 +01:00
Alug 8676769a8f Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2023-12-20 17:53:09 +01:00
Alug 2f8c7a81ca Revert "Merge remote-tracking branch 'origin/thinkercache' into lugstuff"
This reverts commit 760fe392a8, reversing
changes made to 5dab606980.
2023-12-20 08:35:16 +01:00
Alug ac11af6048 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2023-12-20 06:09:25 +01:00
Alug 7c558802a4 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2023-12-20 05:16:05 +01:00
Alug 5a516aa1ad dont need that 2023-12-19 21:52:21 +01:00
Alug 4d1b6ed974 Merge remote-tracking branch 'origin/Saturn-Next' into lugstuff 2023-12-19 20:20:57 +01:00
Alug e8e6bb0499 Revert "test stuff"
This reverts commit 085efaa605.
2023-12-19 19:41:55 +01:00
Alug 58f94666d1 timeout sticker uses wrong patch 2023-12-19 18:58:10 +01:00
Alug 085efaa605 test stuff
very crude, console scream at me if those are botched
most likely not the issue but whatever
2023-12-19 18:57:47 +01:00
Alug 6028e392f0 dont prep shaders if theyre uneeded 2023-12-19 17:34:15 +01:00
Alug fa67dd74a0 huehue 2023-12-19 16:28:51 +01:00
Alug cb734b50c3 bru 2023-12-19 16:24:33 +01:00
Alug 087e58b88b bugger off discord rpc 2023-12-19 16:21:35 +01:00
Alug 78b9d67aaa im not on pentium 4 2023-12-19 16:17:15 +01:00
Alug a6015e4647 Merge remote-tracking branch 'origin/moreopengl' into lugstuff 2023-12-19 16:14:18 +01:00
Alug fcbe95447a Merge remote-tracking branch 'origin/multithreadshit' into lugstuff 2023-12-19 16:13:44 +01:00
Alug 760fe392a8 Merge remote-tracking branch 'origin/thinkercache' into lugstuff 2023-12-19 16:11:54 +01:00
Alug 5dab606980 Merge remote-tracking branch 'origin/Saturn-Next-EnumLib' into lugstuff 2023-12-19 16:11:36 +01:00
indev c265575dfd Fix config 2023-11-16 22:14:18 +03:00
alufolie91 4a1f526ac6 multithread exec command and some filesearch/add stuff
hey it actually improves some things alot
esp the loading addons stage when joining a server
2023-11-16 19:14:48 +01:00
Alug 497b633661 Revert "why did i remove this back then??"
This reverts commit 91ed5c4871.
2023-11-15 09:59:24 +01:00
alufolie91 c7f54a98e0 Merge remote-tracking branch 'origin/Saturn-Next' into moreopengl 2023-11-14 21:16:47 +01:00
alufolie91 7da8c20409 remove that stuff 2023-11-14 21:16:04 +01:00
Alug 116328c7bf attempt at linked list for textures
also changes to caching handling a bit
seems to have helped with stuck colors a bit
2023-11-08 02:50:17 +01:00
Alug bd68fef4a2 Zzzzz... 2023-11-08 00:38:48 +01:00
alufolie91 7759d56ad3 Fix uninitialized reads in PreparePolygon
https://git.do.srb2.org/STJr/SRB2/-/merge_requests/1392
2023-11-08 00:17:42 +01:00
Alug 9c7020a369 GRRRRRR not GLLLLLLLL 2023-11-07 18:23:31 +01:00
alufolie91 f8c1903316 change how mipmap caching works
also a bit of texture conversion
idk
2023-11-07 18:19:40 +01:00
alufolie91 652423ad14 Cache and reuse removed mobjs when spawning mobjs
from https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2200
2023-11-06 12:27:23 +01:00
580 changed files with 195155 additions and 36838 deletions

No files matched your search

+8 -8
View File
@@ -4,6 +4,7 @@
*.plg
*.suo
*.vcproj.*.*.user
*.kate-swp
Win32_LIB_ASM_Debug
Win32_LIB_ASM_Release
*.bsc
@@ -13,17 +14,16 @@ Win32_LIB_ASM_Release
*.dgb
*.debug
*.debug.txt
/bin/VC10/
/objs/VC10/
*.user
*.db
*.opendb
/.vs
/debian
/assets/debian
/make
/bin
/build
/build/*
/CMakeUserPresets.json
/out
/objs/VC10
*.kate-swp
compile.sh
*.gz
.vscode/
out
build
-43
View File
@@ -161,49 +161,6 @@ Duration is in milliseconds and is optional to set, default value is 84ms.
Exactly same as P_CheckSight but uses cheaper algorithm, useful for things like nametags. Doesn't work exactly
like P_CheckSight so don't use it for anything gameplay-related.
## musicdef_t
Userdata structure representing a musicdef. Fields:
`musicdef.name` - song identifier ("kmap01" for example).
`musicdef.usage`, `musicdef.source` - fields from vanilla MUSICDEFS lump.
`musicdef.filename` - unused for now.
`musicdef.title`, `musicdef.alttitle`, `musicdef.authors` - fields from MUSCINFO lump.
`#musicdef` - returns integer id for musicdef (which can be used as index in `musicdefs`).
All fields are read-only.
## S_FindMusicCredit(name)
Returns musicdef corresponding to music with given identifier. For example, `S_FindMusicCredit("kmap01")` will return
musicdef for green hills music.
## musicdefs
Global table for all musicdefs, similar to mobjinfo, states, etc. Can take either integer indices,
from `0` to `#musicdefs-1`, or string indices (which is equal to calling `S_FindMusicCredit`).
## addHook("MusicCredit", function(musicdef))
Hook is called whenever `S_ShowMusicCredit` (either from game or mod) is called. Takes musicdef as only argument, returning true
will overwrite vanilla behavior (not show music credit), can be used to implement custom music credit pop-ups.
## addHook("SetupVote", function(result, gt, secondgt, prevmap))
Hook is called whenever server sets up options for vote screen. `result` is table where lua can store options to,
(for example, `result[1] = 1` will force green hills as first option), gt is current gametype, secondgt is
alternative gametype picked for 3rd entry (for example, gt can be `GT_RACE`, and secondgt can be `GT_MATCH`)
prevmap is the previous map that was played (small note - in game code, it is offset by -1, but for lua its offset back,
so if previous gamemap was 1, prevmap would also be 1. Which means you can safely do mapheaderinfo[prevmap] to get info on previous map)
Limitations: currently, game can only change gametype for 3rd option in map (meaning for example, if current gametype is race, and you
put battle map in first option, when it gets picked that map will be still run in race gametype). That means, game will only handle maps with
different gametype if it is put in 3rd vote option.
# Other changes
## P_PlayRinglossSound(source, damager)
-18
View File
@@ -30,24 +30,6 @@ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------------
0-Clause BSD License
applies to:
- qs22k
Copyright (c) 2022, Raymond Gardner
--------------------------------------------------------------------------------
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
--------------------------------------------------------------------------------
curl License
applies to:
+2
View File
@@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing
+2
View File
@@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing
+1
View File
@@ -0,0 +1 @@
/lsdlsrb2
+3
View File
@@ -0,0 +1,3 @@
/lsdlsrb2
/pnd
/*.mo
+1
View File
@@ -0,0 +1 @@
/lsdlsrb2
+1
View File
@@ -0,0 +1 @@
/lsdl2srb2kart
+4
View File
@@ -0,0 +1,4 @@
*.exe
*.mo
r_opengl.dll
*.bat
+4
View File
@@ -0,0 +1,4 @@
*.exe
*.mo
r_opengl.dll
*.bat
+3
View File
@@ -0,0 +1,3 @@
/srb2sdl.exe
/srb2win.exe
/r_opengl.dll
+4
View File
@@ -0,0 +1,4 @@
*.exe
*.mo
r_opengl.dll
*.bat
+2
View File
@@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing
+2
View File
@@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing
+2
View File
@@ -0,0 +1,2 @@
# DON'T REMOVE
# This keeps the folder from disappearing
-1
View File
@@ -42,4 +42,3 @@ compversion() {
[ -f "$path/comptime.c" ] && compversion "$@"
exit 2
+5 -1
View File
@@ -31,4 +31,8 @@ and don't forget to build r_opengl.dll for srb2dd.
Updated 2/17/2024 (v1.6 Saturn)
No i threw everthing into dll-binaries
theres no reason at all to have stuff spread across multiple directories
theres no reason at all to have stuff spread across multiple directories
Updated 3/19/2025 (v1.6; Neptune)
We're using some C++ code now, so we need to have a few more DLLs.
Otherwise, it's about the same as prior.
File diff suppressed because it is too large. Load diff
-191
View File
@@ -1,191 +0,0 @@
/* include/curl/curlbuild.h. Generated from curlbuild.h.in by configure. */
#ifndef __CURL_CURLBUILD_H
#define __CURL_CURLBUILD_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at http://curl.haxx.se/docs/copyright.html.
*
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is
* furnished to do so, under the terms of the COPYING file.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
***************************************************************************/
/* ================================================================ */
/* NOTES FOR CONFIGURE CAPABLE SYSTEMS */
/* ================================================================ */
/*
* NOTE 1:
* -------
*
* Nothing in this file is intended to be modified or adjusted by the
* curl library user nor by the curl library builder.
*
* If you think that something actually needs to be changed, adjusted
* or fixed in this file, then, report it on the libcurl development
* mailing list: http://cool.haxx.se/mailman/listinfo/curl-library/
*
* This header file shall only export symbols which are 'curl' or 'CURL'
* prefixed, otherwise public name space would be polluted.
*
* NOTE 2:
* -------
*
* Right now you might be staring at file include/curl/curlbuild.h.in or
* at file include/curl/curlbuild.h, this is due to the following reason:
*
* On systems capable of running the configure script, the configure process
* will overwrite the distributed include/curl/curlbuild.h file with one that
* is suitable and specific to the library being configured and built, which
* is generated from the include/curl/curlbuild.h.in template file.
*
*/
/* ================================================================ */
/* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */
/* ================================================================ */
#ifdef CURL_SIZEOF_LONG
# error "CURL_SIZEOF_LONG shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_SIZEOF_LONG_already_defined
#endif
#ifdef CURL_TYPEOF_CURL_SOCKLEN_T
# error "CURL_TYPEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_TYPEOF_CURL_SOCKLEN_T_already_defined
#endif
#ifdef CURL_SIZEOF_CURL_SOCKLEN_T
# error "CURL_SIZEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_SIZEOF_CURL_SOCKLEN_T_already_defined
#endif
#ifdef CURL_TYPEOF_CURL_OFF_T
# error "CURL_TYPEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_already_defined
#endif
#ifdef CURL_FORMAT_CURL_OFF_T
# error "CURL_FORMAT_CURL_OFF_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_FORMAT_CURL_OFF_T_already_defined
#endif
#ifdef CURL_FORMAT_CURL_OFF_TU
# error "CURL_FORMAT_CURL_OFF_TU shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_FORMAT_CURL_OFF_TU_already_defined
#endif
#ifdef CURL_FORMAT_OFF_T
# error "CURL_FORMAT_OFF_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_FORMAT_OFF_T_already_defined
#endif
#ifdef CURL_SIZEOF_CURL_OFF_T
# error "CURL_SIZEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_SIZEOF_CURL_OFF_T_already_defined
#endif
#ifdef CURL_SUFFIX_CURL_OFF_T
# error "CURL_SUFFIX_CURL_OFF_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_T_already_defined
#endif
#ifdef CURL_SUFFIX_CURL_OFF_TU
# error "CURL_SUFFIX_CURL_OFF_TU shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_TU_already_defined
#endif
/* ================================================================ */
/* EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY */
/* ================================================================ */
/* Configure process defines this to 1 when it finds out that system */
/* header file ws2tcpip.h must be included by the external interface. */
#define CURL_PULL_WS2TCPIP_H 1
#ifdef CURL_PULL_WS2TCPIP_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN 1
# endif
# include <windows.h>
# include <winsock2.h>
# include <ws2tcpip.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/types.h must be included by the external interface. */
#define CURL_PULL_SYS_TYPES_H 1
#ifdef CURL_PULL_SYS_TYPES_H
# include <sys/types.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file stdint.h must be included by the external interface. */
#define CURL_PULL_STDINT_H 1
#ifdef CURL_PULL_STDINT_H
# include <stdint.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file inttypes.h must be included by the external interface. */
#define CURL_PULL_INTTYPES_H 1
#ifdef CURL_PULL_INTTYPES_H
# include <inttypes.h>
#endif
/* Configure process defines this to 1 when it finds out that system */
/* header file sys/socket.h must be included by the external interface. */
/* #undef CURL_PULL_SYS_SOCKET_H */
#ifdef CURL_PULL_SYS_SOCKET_H
# include <sys/socket.h>
#endif
/* The size of `long', as computed by sizeof. */
#define CURL_SIZEOF_LONG 4
/* Integral data type used for curl_socklen_t. */
#define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
/* The size of `curl_socklen_t', as computed by sizeof. */
#define CURL_SIZEOF_CURL_SOCKLEN_T 4
/* Data type definition of curl_socklen_t. */
typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t;
/* Signed integral data type used for curl_off_t. */
#define CURL_TYPEOF_CURL_OFF_T int64_t
/* Data type definition of curl_off_t. */
typedef CURL_TYPEOF_CURL_OFF_T curl_off_t;
/* curl_off_t formatting string directive without "%" conversion specifier. */
#define CURL_FORMAT_CURL_OFF_T "I64d"
/* unsigned curl_off_t formatting string without "%" conversion specifier. */
#define CURL_FORMAT_CURL_OFF_TU "I64u"
/* curl_off_t formatting string directive with "%" conversion specifier. */
#define CURL_FORMAT_OFF_T "%I64d"
/* The size of `curl_off_t', as computed by sizeof. */
#define CURL_SIZEOF_CURL_OFF_T 8
/* curl_off_t constant suffix. */
#define CURL_SUFFIX_CURL_OFF_T LL
/* unsigned curl_off_t constant suffix. */
#define CURL_SUFFIX_CURL_OFF_TU ULL
#endif /* __CURL_CURLBUILD_H */
-261
View File
@@ -1,261 +0,0 @@
#ifndef __CURL_CURLRULES_H
#define __CURL_CURLRULES_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at http://curl.haxx.se/docs/copyright.html.
*
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is
* furnished to do so, under the terms of the COPYING file.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
***************************************************************************/
/* ================================================================ */
/* COMPILE TIME SANITY CHECKS */
/* ================================================================ */
/*
* NOTE 1:
* -------
*
* All checks done in this file are intentionally placed in a public
* header file which is pulled by curl/curl.h when an application is
* being built using an already built libcurl library. Additionally
* this file is also included and used when building the library.
*
* If compilation fails on this file it is certainly sure that the
* problem is elsewhere. It could be a problem in the curlbuild.h
* header file, or simply that you are using different compilation
* settings than those used to build the library.
*
* Nothing in this file is intended to be modified or adjusted by the
* curl library user nor by the curl library builder.
*
* Do not deactivate any check, these are done to make sure that the
* library is properly built and used.
*
* You can find further help on the libcurl development mailing list:
* http://cool.haxx.se/mailman/listinfo/curl-library/
*
* NOTE 2
* ------
*
* Some of the following compile time checks are based on the fact
* that the dimension of a constant array can not be a negative one.
* In this way if the compile time verification fails, the compilation
* will fail issuing an error. The error description wording is compiler
* dependent but it will be quite similar to one of the following:
*
* "negative subscript or subscript is too large"
* "array must have at least one element"
* "-1 is an illegal array size"
* "size of array is negative"
*
* If you are building an application which tries to use an already
* built libcurl library and you are getting this kind of errors on
* this file, it is a clear indication that there is a mismatch between
* how the library was built and how you are trying to use it for your
* application. Your already compiled or binary library provider is the
* only one who can give you the details you need to properly use it.
*/
/*
* Verify that some macros are actually defined.
*/
#ifndef CURL_SIZEOF_LONG
# error "CURL_SIZEOF_LONG definition is missing!"
Error Compilation_aborted_CURL_SIZEOF_LONG_is_missing
#endif
#ifndef CURL_TYPEOF_CURL_SOCKLEN_T
# error "CURL_TYPEOF_CURL_SOCKLEN_T definition is missing!"
Error Compilation_aborted_CURL_TYPEOF_CURL_SOCKLEN_T_is_missing
#endif
#ifndef CURL_SIZEOF_CURL_SOCKLEN_T
# error "CURL_SIZEOF_CURL_SOCKLEN_T definition is missing!"
Error Compilation_aborted_CURL_SIZEOF_CURL_SOCKLEN_T_is_missing
#endif
#ifndef CURL_TYPEOF_CURL_OFF_T
# error "CURL_TYPEOF_CURL_OFF_T definition is missing!"
Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_is_missing
#endif
#ifndef CURL_FORMAT_CURL_OFF_T
# error "CURL_FORMAT_CURL_OFF_T definition is missing!"
Error Compilation_aborted_CURL_FORMAT_CURL_OFF_T_is_missing
#endif
#ifndef CURL_FORMAT_CURL_OFF_TU
# error "CURL_FORMAT_CURL_OFF_TU definition is missing!"
Error Compilation_aborted_CURL_FORMAT_CURL_OFF_TU_is_missing
#endif
#ifndef CURL_FORMAT_OFF_T
# error "CURL_FORMAT_OFF_T definition is missing!"
Error Compilation_aborted_CURL_FORMAT_OFF_T_is_missing
#endif
#ifndef CURL_SIZEOF_CURL_OFF_T
# error "CURL_SIZEOF_CURL_OFF_T definition is missing!"
Error Compilation_aborted_CURL_SIZEOF_CURL_OFF_T_is_missing
#endif
#ifndef CURL_SUFFIX_CURL_OFF_T
# error "CURL_SUFFIX_CURL_OFF_T definition is missing!"
Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_T_is_missing
#endif
#ifndef CURL_SUFFIX_CURL_OFF_TU
# error "CURL_SUFFIX_CURL_OFF_TU definition is missing!"
Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_TU_is_missing
#endif
/*
* Macros private to this header file.
*/
#define CurlchkszEQ(t, s) sizeof(t) == s ? 1 : -1
#define CurlchkszGE(t1, t2) sizeof(t1) >= sizeof(t2) ? 1 : -1
/*
* Verify that the size previously defined and expected for long
* is the same as the one reported by sizeof() at compile time.
*/
typedef char
__curl_rule_01__
[CurlchkszEQ(long, CURL_SIZEOF_LONG)];
/*
* Verify that the size previously defined and expected for
* curl_off_t is actually the the same as the one reported
* by sizeof() at compile time.
*/
typedef char
__curl_rule_02__
[CurlchkszEQ(curl_off_t, CURL_SIZEOF_CURL_OFF_T)];
/*
* Verify at compile time that the size of curl_off_t as reported
* by sizeof() is greater or equal than the one reported for long
* for the current compilation.
*/
typedef char
__curl_rule_03__
[CurlchkszGE(curl_off_t, long)];
/*
* Verify that the size previously defined and expected for
* curl_socklen_t is actually the the same as the one reported
* by sizeof() at compile time.
*/
typedef char
__curl_rule_04__
[CurlchkszEQ(curl_socklen_t, CURL_SIZEOF_CURL_SOCKLEN_T)];
/*
* Verify at compile time that the size of curl_socklen_t as reported
* by sizeof() is greater or equal than the one reported for int for
* the current compilation.
*/
typedef char
__curl_rule_05__
[CurlchkszGE(curl_socklen_t, int)];
/* ================================================================ */
/* EXTERNALLY AND INTERNALLY VISIBLE DEFINITIONS */
/* ================================================================ */
/*
* CURL_ISOCPP and CURL_OFF_T_C definitions are done here in order to allow
* these to be visible and exported by the external libcurl interface API,
* while also making them visible to the library internals, simply including
* setup.h, without actually needing to include curl.h internally.
* If some day this section would grow big enough, all this should be moved
* to its own header file.
*/
/*
* Figure out if we can use the ## preprocessor operator, which is supported
* by ISO/ANSI C and C++. Some compilers support it without setting __STDC__
* or __cplusplus so we need to carefully check for them too.
*/
#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) || \
defined(__HP_aCC) || defined(__BORLANDC__) || defined(__LCC__) || \
defined(__POCC__) || defined(__SALFORDC__) || defined(__HIGHC__) || \
defined(__ILEC400__)
/* This compiler is believed to have an ISO compatible preprocessor */
#define CURL_ISOCPP
#else
/* This compiler is believed NOT to have an ISO compatible preprocessor */
#undef CURL_ISOCPP
#endif
/*
* Macros for minimum-width signed and unsigned curl_off_t integer constants.
*/
#if defined(__BORLANDC__) && (__BORLANDC__ == 0x0551)
# define __CURL_OFF_T_C_HLPR2(x) x
# define __CURL_OFF_T_C_HLPR1(x) __CURL_OFF_T_C_HLPR2(x)
# define CURL_OFF_T_C(Val) __CURL_OFF_T_C_HLPR1(Val) ## \
__CURL_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_T)
# define CURL_OFF_TU_C(Val) __CURL_OFF_T_C_HLPR1(Val) ## \
__CURL_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_TU)
#else
# ifdef CURL_ISOCPP
# define __CURL_OFF_T_C_HLPR2(Val,Suffix) Val ## Suffix
# else
# define __CURL_OFF_T_C_HLPR2(Val,Suffix) Val/**/Suffix
# endif
# define __CURL_OFF_T_C_HLPR1(Val,Suffix) __CURL_OFF_T_C_HLPR2(Val,Suffix)
# define CURL_OFF_T_C(Val) __CURL_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_T)
# define CURL_OFF_TU_C(Val) __CURL_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_TU)
#endif
/*
* Get rid of macros private to this header file.
*/
#undef CurlchkszEQ
#undef CurlchkszGE
/*
* Get rid of macros not intended to exist beyond this point.
*/
#undef CURL_PULL_WS2TCPIP_H
#undef CURL_PULL_SYS_TYPES_H
#undef CURL_PULL_SYS_SOCKET_H
#undef CURL_PULL_STDINT_H
#undef CURL_PULL_INTTYPES_H
#undef CURL_TYPEOF_CURL_SOCKLEN_T
#undef CURL_TYPEOF_CURL_OFF_T
#ifdef CURL_NO_OLDIES
#undef CURL_FORMAT_OFF_T /* not required since 7.19.0 - obsoleted in 7.20.0 */
#endif
#endif /* __CURL_CURLRULES_H */
-1
View File
@@ -1 +0,0 @@
/* not used */
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+717
View File
@@ -0,0 +1,717 @@
#! /bin/sh
#
# Copyright (C) 2002-2010 Free Software Foundation, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# This file is meant for authors, maintainers, co-maintainers or installers
# of packages which are internationalized with the help of GNU gettext. For
# further information how to use it consult the GNU gettext manual.
progname=$0
package=gettext-tools
version=0.18.1
# Set variables
# - gettext_dir directory where the sources are stored.
prefix="/usr/local/i686-w64-mingw32/stow/gettext-0.18.1.1"
datarootdir="${prefix}/share"
gettext_dir="${datarootdir}/gettext"
# func_tmpdir
# creates a temporary directory.
# Sets variable
# - tmp pathname of freshly created temporary directory
func_tmpdir ()
{
# Use the environment variable TMPDIR, falling back to /tmp. This allows
# users to specify a different temporary directory, for example, if their
# /tmp is filled up or too small.
: ${TMPDIR=/tmp}
{
# Use the mktemp program if available. If not available, hide the error
# message.
tmp=`(umask 077 && mktemp -d "$TMPDIR/gtXXXXXX") 2>/dev/null` &&
test -n "$tmp" && test -d "$tmp"
} ||
{
# Use a simple mkdir command. It is guaranteed to fail if the directory
# already exists. $RANDOM is bash specific and expands to empty in shells
# other than bash, ksh and zsh. Its use does not increase security;
# rather, it minimizes the probability of failure in a very cluttered /tmp
# directory.
tmp=$TMPDIR/gt$$-$RANDOM
(umask 077 && mkdir "$tmp")
} ||
{
echo "$0: cannot create a temporary directory in $TMPDIR" >&2
{ (exit 1); exit 1; }
}
}
# Support for relocatability.
func_find_curr_installdir ()
{
# Determine curr_installdir, even taking into account symlinks.
curr_executable="$0"
case "$curr_executable" in
*/* | *\\*) ;;
*) # Need to look in the PATH.
if test "${PATH_SEPARATOR+set}" != set; then
func_tmpdir
{ echo "#! /bin/sh"; echo "exit 0"; } > "$tmp"/conf.sh
chmod +x "$tmp"/conf.sh
if (PATH="/nonexistent;$tmp"; conf.sh) >/dev/null 2>&1; then
PATH_SEPARATOR=';'
else
PATH_SEPARATOR=:
fi
rm -rf "$tmp"
fi
save_IFS="$IFS"; IFS="$PATH_SEPARATOR"
for dir in $PATH; do
IFS="$save_IFS"
test -z "$dir" && dir=.
for exec_ext in ''; do
if test -f "$dir/$curr_executable$exec_ext"; then
curr_executable="$dir/$curr_executable$exec_ext"
break 2
fi
done
done
IFS="$save_IFS"
;;
esac
# Make absolute.
case "$curr_executable" in
/* | ?:/* | ?:\\*) ;;
*) curr_executable=`pwd`/"$curr_executable" ;;
esac
# Resolve symlinks.
sed_dirname='s,/[^/]*$,,'
sed_linkdest='s,^.* -> \(.*\),\1,p'
while : ; do
lsline=`LC_ALL=C ls -l "$curr_executable"`
case "$lsline" in
*" -> "*)
linkdest=`echo "$lsline" | sed -n -e "$sed_linkdest"`
case "$linkdest" in
/* | ?:/* | ?:\\*) curr_executable="$linkdest" ;;
*) curr_executable=`echo "$curr_executable" | sed -e "$sed_dirname"`/"$linkdest" ;;
esac ;;
*) break ;;
esac
done
curr_installdir=`echo "$curr_executable" | sed -e 's,/[^/]*$,,'`
# Canonicalize.
curr_installdir=`cd "$curr_installdir" && pwd`
}
func_find_prefixes ()
{
# Compute the original/current installation prefixes by stripping the
# trailing directories off the original/current installation directories.
orig_installprefix="$orig_installdir"
curr_installprefix="$curr_installdir"
while true; do
orig_last=`echo "$orig_installprefix" | sed -n -e 's,^.*/\([^/]*\)$,\1,p'`
curr_last=`echo "$curr_installprefix" | sed -n -e 's,^.*/\([^/]*\)$,\1,p'`
if test -z "$orig_last" || test -z "$curr_last"; then
break
fi
if test "$orig_last" != "$curr_last"; then
break
fi
orig_installprefix=`echo "$orig_installprefix" | sed -e 's,/[^/]*$,,'`
curr_installprefix=`echo "$curr_installprefix" | sed -e 's,/[^/]*$,,'`
done
}
if test "no" = yes; then
exec_prefix="${prefix}"
bindir="${exec_prefix}/bin"
orig_installdir="$bindir" # see Makefile.am's *_SCRIPTS variables
func_find_curr_installdir # determine curr_installdir
func_find_prefixes
# Relocate the directory variables that we use.
gettext_dir=`echo "$gettext_dir/" | sed -e "s%^${orig_installprefix}/%${curr_installprefix}/%" | sed -e 's,/$,,'`
fi
# func_usage
# outputs to stdout the --help usage message.
func_usage ()
{
echo "\
Usage: autopoint [OPTION]...
Copies standard gettext infrastructure files into a source package.
Options:
--help print this help and exit
--version print version information and exit
-f, --force force overwriting of files that already exist
-n, --dry-run print modifications but don't perform them"
# echo "\
# -V version copy the infrastructure of the specified gettext version
# (dangerous)"
echo "
Report bugs to <bug-gnu-gettext@gnu.org>."
}
# func_version
# outputs to stdout the --version message.
func_version ()
{
echo "$progname (GNU $package) $version"
echo "Uses a versions archive in git format."
echo "Copyright (C) 2002-2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law."
echo "Written by" "Bruno Haible"
}
# func_fatal_error message
# outputs to stderr a fatal error message, and terminates the program.
func_fatal_error ()
{
echo "autopoint: *** $1" 1>&2
echo "autopoint: *** Stop." 1>&2
exit 1
}
# Command-line option processing.
# Removes the OPTIONS from the arguments. Sets the variables:
# - force yes if --force was given, empty otherwise
# - ver gettext version if -V was given, empty otherwise
# - doit false if --dry-run was given, : otherwise
{
force=
ver=
doit=:
while test $# -gt 0; do
case "$1" in
-n | --dry-run | --dry-ru | --dry-r | --dry- | --dry | --dr | --d )
shift
doit=false ;;
-f | --force | --forc | --for | --fo | --f )
shift
force=yes ;;
--help | --hel | --he | --h )
func_usage; exit 0 ;;
# -V ) # Some people put a space between -V and the version number.
# shift
# if test $# = 0; then
# func_usage 1>&2
# exit 1
# fi
# ver=$1;
# shift ;;
# -V*) # Some people omit the space between -V and the version number.
# ver=`echo "X$1" | sed -e 's/^X-V//'`
# shift ;;
--version | --versio | --versi | --vers | --ver | --ve | --v )
func_version
exit 0 ;;
-- ) # Stop option prcessing
shift; break ;;
-* )
echo "autopoint: unknown option $1" 1>&2
echo "Try 'autopoint --help' for more information." 1>&2
exit 1 ;;
* )
break ;;
esac
done
}
# Command-line argument processing.
# Analyzes the remaining arguments.
{
if test $# -gt 0; then
func_usage 1>&2
exit 1
fi
}
srcdir=`pwd`
# The current directory is now $srcdir.
# Check integrity of package: A configure.in/ac must be present. Sets variable
# - configure_in name of configure.in/ac file.
if test -f configure.in; then
configure_in=configure.in
else
if test -f configure.ac; then
configure_in=configure.ac
else
# KDE specific convention: configure.in.in
if test -f configure.in.in; then
configure_in=configure.in.in
else
func_fatal_error "Missing configure.in or configure.ac, please cd to your package first."
fi
fi
fi
# Check whether the -V option and the version number in configure.in match.
# At least one of the two must be given. If both are given, they must agree.
sed_extract_AM_GNU_GETTEXT_VERSION_argument='s/^AM_GNU_GETTEXT_VERSION(\([^()]*\)).*$/\1/'
sed_remove_outer_brackets='s/^\[\(.*\)\]$/\1/'
xver=`cat "$configure_in" | grep '^AM_GNU_GETTEXT_VERSION(' | sed -n -e "$sed_extract_AM_GNU_GETTEXT_VERSION_argument"p | sed -e "$sed_remove_outer_brackets" | sed -e 1q`
if test -z "$xver" && test -f intl/VERSION; then
xver=`cat intl/VERSION | LC_ALL=C sed -n -e 's/^.*gettext-\([-+_.0-9A-Za-z]*\).*$/\1/p'`
fi
if test -n "$xver"; then
if test -n "$ver"; then
if test "X$ver" != "X$xver"; then
func_fatal_error "Version mismatch: specified -V $ver but the package uses gettext version $xver"
fi
else
ver="$xver"
fi
else
if test -z "$ver"; then
func_fatal_error "Missing version: please specify in $configure_in through a line 'AM_GNU_GETTEXT_VERSION(x.yy.zz)' the gettext version the package is using"
fi
fi
# Check whether the version number is supported.
case "$ver" in
0.10.35 | 0.10.36 | 0.10.37 | 0.10.38 | 0.10.39 | 0.10.40 | \
0.11 | 0.11.1 | 0.11.2 | 0.11.3 | 0.11.4 | 0.11.5 | \
0.12 | 0.12.1 | \
0.13 | 0.13.1 | \
0.14 | 0.14.1 | 0.14.2 | 0.14.3 | 0.14.4 | 0.14.5 | 0.14.6 | \
0.15 | \
0.16 | 0.16.1 | \
0.17 | \
0.18 | 0.18.1 )
;;
*)
func_fatal_error "The AM_GNU_GETTEXT_VERSION declaration in your $configure_in
file requires the infrastructure from gettext-$ver but this version
is older. Please upgrade to gettext-$ver or newer."
;;
esac
# Check in which directory config.rpath, mkinstalldirs etc. belong.
auxdir=`cat "$configure_in" | grep '^AC_CONFIG_AUX_DIR' | sed -n -e 's/AC_CONFIG_AUX_DIR(\([^()]*\))/\1/p' | sed -e 's/^\[\(.*\)\]$/\1/' | sed -e 1q`
if test -n "$auxdir"; then
auxdir="$auxdir/"
fi
# Check in which directory the *.m4 macros belong.
m4dir=m4
if test -f Makefile.am; then
# A package using automake.
# Extract the macro directory name from Makefile.am.
aclocal_amflags=`grep '^ACLOCAL_AMFLAGS[ ]*=' Makefile.am | sed -e 's/^ACLOCAL_AMFLAGS[ ]*=\(.*\)$/\1/'`
m4dir_is_next=
for arg in $aclocal_amflags; do
if test -n "$m4dir_is_next"; then
m4dir="$arg"
break
else
if test "X$arg" = "X-I"; then
m4dir_is_next=yes
else
m4dir_is_next=
fi
fi
done
fi
# Check whether to omit the intl/ directory.
omitintl=`cat "$configure_in" | grep '^AM_GNU_GETTEXT' | sed -n -e 's/^AM_GNU_GETTEXT(\([^(),]*\).*$/\1/p' | sed -e 's/^\[\(.*\)\]$/\1/' | sed -e 1q`
omitintl=`if test 'external' = "$omitintl"; then echo yes; fi`
# Check in which directory or directories the po/* infrastructure belongs.
sed_extract_config_files='s,#.*$,,
s,^dnl .*$,,
s, dnl .*$,,
/AC_CONFIG_FILES(/ {
ta
:a
s/)/)/
tb
s/\\$//
N
ba
:b
s,^.*AC_CONFIG_FILES([[ ]*\([^]"$`\\)]*\).*$,\1,p
}'
configfiles=`cat "$configure_in" | sed -n -e "$sed_extract_config_files"`
# PO directories have a Makefile.in generated from Makefile.in.in.
# Treat a directory as a PO directory if and only if it has a
# POTFILES.in file. This allows packages to have multiple PO
# directories under different names or in different locations.
sed_remove_Makefile_in='s,/Makefile\.in$,,'
podirs=`for f in $configfiles; do case "$f" in */Makefile.in) echo $f;; esac; done | sed -e "$sed_remove_Makefile_in"`
if test -z "$podirs"; then
# If we cannot get the list of PO directories from configure.ac, assume the
# common default.
podirs="po"
fi
# Set up a temporary checkout directory.
# Set variables
# - work_dir directory containing the temporary checkout
work_dir=tmpwrk$$
mkdir "$work_dir" || {
if test -d "$work_dir"; then
func_fatal_error "directory $work_dir already exists"
else
func_fatal_error "cannot create directory $work_dir"
fi
}
# We support three archive formats.
#
# Format | Size (KiB) for gettext-0.17 | Extra tools needed |
# -------+-----------------------------+--------------------+
# dir | 3000 | -- |
# cvs | 356 | cvs |
# git | 484 | git |
# -------+-----------------------------+--------------------+
case "git" in
dir)
# The archive of different versions is very large, but using it does not
# require special tools.
gzip -d -c < "$gettext_dir/archive.dir.tar.gz" | (cd "$work_dir" && tar xf - "gettext-$ver")
if test `find "$work_dir" -type f -print | wc -l` = 0; then
rm -rf "$work_dir"
func_fatal_error "infrastructure files for version $ver not found; this is autopoint from GNU $package $version"
fi
mv "$work_dir/gettext-$ver" "$work_dir/archive"
;;
cvs)
# We distributed the many different versions of the files in a CVS
# repository. This guaranteed a good compression rate:
#
# Including version size in KB of
# "du autopoint-files/archive"
# 0.10.35 240
# 0.10.36 428
# 0.10.37 436
# 0.10.38 488
# 0.10.39 500
# 0.10.40 528
# 0.11 720
# 0.11.1 740
# 0.11.2 748
# 0.11.3 804
# 0.11.4 864
# 0.11.5 880
# 0.12 1032
# 0.12.1 1032
# 0.13 1220
# 0.13.1 1236
# 0.14 1296
# 0.14.1 1300
# 0.14.2 1420
# 0.14.3 1428
# 0.14.4 1464
# 0.14.5 1508
# 0.14.6 1580
# 0.15 1760
# 0.16 1808
# 0.16.1 1812
# 0.17 2128
# 0.18 2656
#
# The requirement that the user must have the CVS program available is not
# a severe restrictions, because most of the people who use autopoint are
# users of CVS.
#
# But the CVS format is now deprecated, because "cvs init" does not work in
# all circumstances
# (see <http://lists.gnu.org/archive/html/bug-cvs/2010-05/msg00003.html>)
# and we are not allowed to distribute the cvs infrastructure files
# ourselves
# (see <http://lists.gnu.org/archive/html/bug-cvs/2010-06/msg00011.html>).
#
# Check availability of the CVS program.
(cvs -v) >/dev/null 2>/dev/null || func_fatal_error "cvs program not found"
# Set up a temporary CVS repository.
# We need the temporary CVS repository because any checkout needs write
# access to the CVSROOT/history file, so it cannot be under $gettext_dir.
# We need the temporary checkout directory because when --force was not
# given, we need to compare the existing files with the checked out ones.
# Set variables
# - cvs_dir directory containing the temporary repository
cvs_dir=tmpcvs$$
# Use an umask of 077, to avoid attacks that work by overwriting files in
# the "$CVSROOT"/CVSROOT directory.
(umask 077 && mkdir "$cvs_dir") || {
if test -d "$cvs_dir"; then
func_fatal_error "directory $cvs_dir already exists"
else
func_fatal_error "cannot create directory $cvs_dir"
fi
}
CVSROOT="$srcdir/$cvs_dir"
unset CVS_CLIENT_LOG
unset CVS_CLIENT_PORT
unset CVS_IGNORE_REMOTE_ROOT
unset CVS_LOCAL_BRANCH_NUM
unset CVS_NOBASES
unset CVS_PASSFILE
unset CVS_PASSWORD
unset CVS_PROXY_PORT
unset CVS_RCMD_PORT
unset CVS_RSH
unset CVS_SERVER
unset CVS_SERVER_SLEEP
CVS_SIGN_COMMITS=
export CVS_SIGN_COMMITS
unset CVS_SSH
unset CVS_VERIFY_CHECKOUTS
unset CVS_VERIFY_TEMPLATE
unset CVSIGNORE
unset CVSREAD
unset CVSREADONLYFS
unset CVSUMASK
unset CVSWRAPPERS
# Need to pass -d "$CVSROOT", because there may be a CVS directory in the
# current directory.
cvs -d "$CVSROOT" init
gzip -d -c < "$gettext_dir/archive.cvs.tar.gz" | (cd "$cvs_dir" && tar xf -)
cd "$work_dir"
cvsver=gettext-`echo "$ver" | sed -e 's/\./_/g'`
(cvs -d "$CVSROOT" checkout -r"$cvsver" archive > /dev/null) 2>&1 | grep -v '^cvs checkout: Updating'
find archive -name CVS -type d -print | xargs rm -rf
cd ..
rm -rf "$cvs_dir"
# Check that really all CVS directories are gone, otherwise we would overwrite
# the contents of the user's CVS directories.
if test `find $work_dir/archive -name CVS -type d -print | wc -l` != 0; then
rm -rf "$work_dir"
func_fatal_error "failed to remove all CVS subdirectories"
fi
if test `find $work_dir/archive -type f -print | wc -l` = 0; then
rm -rf "$work_dir"
func_fatal_error "infrastructure files for version $ver not found; this is autopoint from GNU $package $version"
fi
;;
git)
# Check availability of the git program.
(git --version) >/dev/null 2>/dev/null || func_fatal_error "git program not found"
mkdir "$work_dir/archive"
gzip -d -c < "$gettext_dir/archive.git.tar.gz" | (cd "$work_dir/archive" && tar xf -)
(cd "$work_dir/archive" && git checkout -q "gettext-$ver") || {
rm -rf "$work_dir"
func_fatal_error "infrastructure files for version $ver not found; this is autopoint from GNU $package $version"
}
(cd "$work_dir/archive" && rm -rf .git .gitignore)
;;
esac
# func_destfile file
# determines the destination file, relative to the package's top level
# directory, for a given file name, relative to archive.
# Sets variables
# - destfile relative destination file name, or
# empty if the file shall be omitted
# - sharedowner yes if the file is not only owned by GNU gettext but may
# be installed by automake or other tools, otherwise empty
# - allpodirs yes if the file is to be installed in every dir in $podirs
func_destfile ()
{
# There are five categories of files:
# ABOUT_NLS -> top level directory
# config.rpath mkinstalldirs -> $auxdir
# m4/* -> $m4dir/
# intl/* -> intl/
# po/* ->
sharedowner=
allpodirs=
case `echo "$1" | sed -e 's,[^/]*$,,'` in
"" )
case "$1" in
config.rpath ) destfile="$auxdir$1" ;;
mkinstalldirs ) destfile="$auxdir$1" sharedowner=yes ;;
* ) destfile="$1" ;;
esac
;;
m4/ ) destfile=`echo "$1" | sed -e "s,^m4/,$m4dir/,"` ;;
intl/ ) if test -n "$omitintl"; then destfile=""; else destfile="$1"; fi ;;
po/ ) destfile=`echo "$1" | sed -e "s,^po/,,"` allpodirs=yes ;;
* ) destfile="$1" ;;
esac
}
# func_compare existingfile gettextfile
# compares the existing file and the file from gettext, and decides whether the
# existing file should be overwritten with the file from gettext. Returns 0 if
# it should be overwritten, or 1 if it should be skipped.
sed_extract_serial='s/^#.* serial \([^ ]*\).*/\1/p
1q'
func_compare ()
{
if cmp -s "$1" "$2"; then
false
else
case "$2" in
*.m4)
# For interoperability with gnulib. gnulib often has newer versions of
# the *.m4 files than the latest gettext release. Don't overwrite a
# newer version from gnulib with an older version from the gettext
# release. The version can be retrieved from the first line, which
# looks like this: # file.m4 serial NN ...
existing_serial=`sed -n -e "$sed_extract_serial" < "$1"`
gettext_serial=`sed -n -e "$sed_extract_serial" < "$2"`
if test -n "$existing_serial" && test -n "$gettext_serial" \
&& test "$existing_serial" -ge "$gettext_serial" 2> /dev/null; then
false
else
true
fi
;;
*)
true
;;
esac
fi
}
# If some files have been locally modified and we have not been requested
# to overwrite them, then bail out. This is better than leaving a source
# package around where half of the files are locally modified and half are
# original - too great risk of version mismatch.
if test -z "$force"; then
mismatch=
func_tmpdir
mismatchfile="$tmp"/autopoint.diff
for file in `find "$work_dir/archive" -type f -print | sed -e "s,^$work_dir/archive/,," | LC_ALL=C sort`; do
func_destfile "$file"
if test -n "$destfile"; then
func_compare_to_destfile ()
{
finaldestfile="$1"
if test -f "$finaldestfile"; then
if func_compare "$finaldestfile" "$work_dir/archive/$file"; then
if test -n "$sharedowner"; then
echo "autopoint: warning: File $finaldestfile has been locally modified." 1>&2
else
echo "autopoint: File $finaldestfile has been locally modified." 1>&2
mismatch=yes
diff -c "$work_dir/archive/$file" "$finaldestfile" | sed -e "1s,$work_dir/archive/,," >> "$mismatchfile"
fi
fi
fi
}
if test -n "$allpodirs"; then
for dir in $podirs; do
func_compare_to_destfile "$dir/$destfile"
done
else
func_compare_to_destfile "$destfile"
fi
fi
done
if test -n "$mismatch"; then
rm -rf "$work_dir"
func_fatal_error "Some files have been locally modified. Not overwriting them because --force has not been specified. For your convenience, you find the local modifications in the file '$mismatchfile'."
fi
rm -rf "$tmp"
fi
# func_mkdir_for to
# ensures the directory that would the given file exists.
# 'to' is a relative pathname, relative to the current directory.
func_mkdir_for ()
{
base=`echo "$1" | sed -e 's,/[^/]*$,,'`
if test "X$base" != "X$1" && test -n "$base"; then
func_mkdir_for "$base"
# Recompute base. It was clobbered by the recursive call.
base=`echo "$1" | sed -e 's,/[^/]*$,,'`
test -d "$base" || { echo "Creating directory $base"; mkdir "$base"; }
fi
}
# func_copy from to
# copies a file.
# 'from' is a relative pathname, relative to the current directory.
# 'to' is a relative pathname, relative to the current directory.
func_copy ()
{
if $doit; then
func_mkdir_for "$2"
rm -f "$2"
echo "Copying file $2"
cp "$1" "$2"
else
echo "Copy file $2"
fi
}
# func_backup to
# makes a backup of a file that is about to be overwritten or replaced.
# 'to' is a relative pathname, relative to the current directory.
func_backup ()
{
if $doit; then
if test -f "$1"; then
rm -f "$1~"
cp -p "$1" "$1~"
fi
fi
}
# Now copy the files.
for file in `find "$work_dir/archive" -type f -print | sed -e "s,^$work_dir/archive/,," | LC_ALL=C sort`; do
func_destfile "$file"
if test -n "$destfile"; then
func_copy_to_destfile ()
{
finaldestfile="$1"
mustcopy=
if test -f "$finaldestfile"; then
if func_compare "$finaldestfile" "$work_dir/archive/$file"; then
if test -n "$force"; then
# Overwrite locally modified file.
mustcopy=yes
fi
# If --force is not specified, don't overwrite locally modified files
# for which GNU gettext is a shared owner.
fi
else
mustcopy=yes
fi
if test -n "$mustcopy"; then
func_backup "$finaldestfile"
func_copy "$work_dir/archive/$file" "$finaldestfile"
fi
}
if test -n "$allpodirs"; then
for dir in $podirs; do
func_copy_to_destfile "$dir/$destfile"
done
else
func_copy_to_destfile "$destfile"
fi
fi
done
# That's it.
rm -rf "$work_dir"
exit 0
Binary file not shown.
Binary file not shown.
+123
View File
@@ -0,0 +1,123 @@
#! /bin/sh
#
# Copyright (C) 2003, 2005-2007 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU Library General Public License as published
# by the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
# USA.
#
# Find a way to echo strings without interpreting backslash.
if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
echo='echo'
else
if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
echo='printf %s\n'
else
echo_func () {
cat <<EOT
$*
EOT
}
echo='echo_func'
fi
fi
# This script is primarily a shell function library. In order for
# ". gettext.sh" to find it, we install it in $PREFIX/bin (that is usually
# contained in $PATH), rather than in some other location such as
# $PREFIX/share/sh-scripts or $PREFIX/share/gettext. In order to not violate
# the Filesystem Hierarchy Standard when doing so, this script is executable.
# Therefore it needs to support the standard --help and --version.
if test -z "$ZSH_VERSION"; then
# zsh is not POSIX compliant: By default, while ". gettext.sh" is executed,
# it sets $0 to "gettext.sh", defeating the purpose of this test. But
# fortunately we know that when running under zsh, this script is always
# being sourced, not executed, because hardly anyone is crazy enough to
# install zsh as /bin/sh.
case "$0" in
gettext.sh | */gettext.sh | *\\gettext.sh)
progname=$0
package=gettext-runtime
version=0.18.1
# func_usage
# outputs to stdout the --help usage message.
func_usage ()
{
echo "GNU gettext shell script function library version $version"
echo "Usage: . gettext.sh"
}
# func_version
# outputs to stdout the --version message.
func_version ()
{
echo "$progname (GNU $package) $version"
echo "Copyright (C) 2003-2007 Free Software Foundation, Inc.
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law."
echo "Written by" "Bruno Haible"
}
if test $# = 1; then
case "$1" in
--help | --hel | --he | --h )
func_usage; exit 0 ;;
--version | --versio | --versi | --vers | --ver | --ve | --v )
func_version; exit 0 ;;
esac
fi
func_usage 1>&2
exit 1
;;
esac
fi
# eval_gettext MSGID
# looks up the translation of MSGID and substitutes shell variables in the
# result.
eval_gettext () {
gettext "$1" | (export PATH `envsubst --variables "$1"`; envsubst "$1")
}
# eval_ngettext MSGID MSGID-PLURAL COUNT
# looks up the translation of MSGID / MSGID-PLURAL for COUNT and substitutes
# shell variables in the result.
eval_ngettext () {
ngettext "$1" "$2" "$3" | (export PATH `envsubst --variables "$1 $2"`; envsubst "$1 $2")
}
# Note: This use of envsubst is much safer than using the shell built-in 'eval'
# would be.
# 1) The security problem with Chinese translations that happen to use a
# character such as \xe0\x60 is avoided.
# 2) The security problem with malevolent translators who put in command lists
# like "$(...)" or "`...`" is avoided.
# 3) The translations can only refer to shell variables that are already
# mentioned in MSGID or MSGID-PLURAL.
#
# Note: "export PATH" above is a dummy; this is for the case when
# `envsubst --variables ...` returns nothing.
#
# Note: In eval_ngettext above, "$1 $2" means a string whose variables set is
# the union of the variables set of "$1" and "$2".
#
# Note: The minimal use of backquote above ensures that trailing newlines are
# not dropped, not from the gettext invocation and not from the value of any
# shell variable.
#
# Note: Field splitting on the `envsubst --variables ...` result is desired,
# since envsubst outputs the variables, separated by newlines. Pathname
# wildcard expansion or tilde expansion has no effect here, since the words
# output by "envsubst --variables ..." consist solely of alphanumeric
# characters and underscore.
+1281
View File
File diff suppressed because it is too large. Load diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+717
View File
@@ -0,0 +1,717 @@
#! /bin/sh
#
# Copyright (C) 2002-2010 Free Software Foundation, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# This file is meant for authors, maintainers, co-maintainers or installers
# of packages which are internationalized with the help of GNU gettext. For
# further information how to use it consult the GNU gettext manual.
progname=$0
package=gettext-tools
version=0.18.1
# Set variables
# - gettext_dir directory where the sources are stored.
prefix="/usr/local/x86_64-w64-mingw32/stow/gettext-0.18.1.1"
datarootdir="${prefix}/share"
gettext_dir="${datarootdir}/gettext"
# func_tmpdir
# creates a temporary directory.
# Sets variable
# - tmp pathname of freshly created temporary directory
func_tmpdir ()
{
# Use the environment variable TMPDIR, falling back to /tmp. This allows
# users to specify a different temporary directory, for example, if their
# /tmp is filled up or too small.
: ${TMPDIR=/tmp}
{
# Use the mktemp program if available. If not available, hide the error
# message.
tmp=`(umask 077 && mktemp -d "$TMPDIR/gtXXXXXX") 2>/dev/null` &&
test -n "$tmp" && test -d "$tmp"
} ||
{
# Use a simple mkdir command. It is guaranteed to fail if the directory
# already exists. $RANDOM is bash specific and expands to empty in shells
# other than bash, ksh and zsh. Its use does not increase security;
# rather, it minimizes the probability of failure in a very cluttered /tmp
# directory.
tmp=$TMPDIR/gt$$-$RANDOM
(umask 077 && mkdir "$tmp")
} ||
{
echo "$0: cannot create a temporary directory in $TMPDIR" >&2
{ (exit 1); exit 1; }
}
}
# Support for relocatability.
func_find_curr_installdir ()
{
# Determine curr_installdir, even taking into account symlinks.
curr_executable="$0"
case "$curr_executable" in
*/* | *\\*) ;;
*) # Need to look in the PATH.
if test "${PATH_SEPARATOR+set}" != set; then
func_tmpdir
{ echo "#! /bin/sh"; echo "exit 0"; } > "$tmp"/conf.sh
chmod +x "$tmp"/conf.sh
if (PATH="/nonexistent;$tmp"; conf.sh) >/dev/null 2>&1; then
PATH_SEPARATOR=';'
else
PATH_SEPARATOR=:
fi
rm -rf "$tmp"
fi
save_IFS="$IFS"; IFS="$PATH_SEPARATOR"
for dir in $PATH; do
IFS="$save_IFS"
test -z "$dir" && dir=.
for exec_ext in ''; do
if test -f "$dir/$curr_executable$exec_ext"; then
curr_executable="$dir/$curr_executable$exec_ext"
break 2
fi
done
done
IFS="$save_IFS"
;;
esac
# Make absolute.
case "$curr_executable" in
/* | ?:/* | ?:\\*) ;;
*) curr_executable=`pwd`/"$curr_executable" ;;
esac
# Resolve symlinks.
sed_dirname='s,/[^/]*$,,'
sed_linkdest='s,^.* -> \(.*\),\1,p'
while : ; do
lsline=`LC_ALL=C ls -l "$curr_executable"`
case "$lsline" in
*" -> "*)
linkdest=`echo "$lsline" | sed -n -e "$sed_linkdest"`
case "$linkdest" in
/* | ?:/* | ?:\\*) curr_executable="$linkdest" ;;
*) curr_executable=`echo "$curr_executable" | sed -e "$sed_dirname"`/"$linkdest" ;;
esac ;;
*) break ;;
esac
done
curr_installdir=`echo "$curr_executable" | sed -e 's,/[^/]*$,,'`
# Canonicalize.
curr_installdir=`cd "$curr_installdir" && pwd`
}
func_find_prefixes ()
{
# Compute the original/current installation prefixes by stripping the
# trailing directories off the original/current installation directories.
orig_installprefix="$orig_installdir"
curr_installprefix="$curr_installdir"
while true; do
orig_last=`echo "$orig_installprefix" | sed -n -e 's,^.*/\([^/]*\)$,\1,p'`
curr_last=`echo "$curr_installprefix" | sed -n -e 's,^.*/\([^/]*\)$,\1,p'`
if test -z "$orig_last" || test -z "$curr_last"; then
break
fi
if test "$orig_last" != "$curr_last"; then
break
fi
orig_installprefix=`echo "$orig_installprefix" | sed -e 's,/[^/]*$,,'`
curr_installprefix=`echo "$curr_installprefix" | sed -e 's,/[^/]*$,,'`
done
}
if test "no" = yes; then
exec_prefix="${prefix}"
bindir="${exec_prefix}/bin"
orig_installdir="$bindir" # see Makefile.am's *_SCRIPTS variables
func_find_curr_installdir # determine curr_installdir
func_find_prefixes
# Relocate the directory variables that we use.
gettext_dir=`echo "$gettext_dir/" | sed -e "s%^${orig_installprefix}/%${curr_installprefix}/%" | sed -e 's,/$,,'`
fi
# func_usage
# outputs to stdout the --help usage message.
func_usage ()
{
echo "\
Usage: autopoint [OPTION]...
Copies standard gettext infrastructure files into a source package.
Options:
--help print this help and exit
--version print version information and exit
-f, --force force overwriting of files that already exist
-n, --dry-run print modifications but don't perform them"
# echo "\
# -V version copy the infrastructure of the specified gettext version
# (dangerous)"
echo "
Report bugs to <bug-gnu-gettext@gnu.org>."
}
# func_version
# outputs to stdout the --version message.
func_version ()
{
echo "$progname (GNU $package) $version"
echo "Uses a versions archive in git format."
echo "Copyright (C) 2002-2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law."
echo "Written by" "Bruno Haible"
}
# func_fatal_error message
# outputs to stderr a fatal error message, and terminates the program.
func_fatal_error ()
{
echo "autopoint: *** $1" 1>&2
echo "autopoint: *** Stop." 1>&2
exit 1
}
# Command-line option processing.
# Removes the OPTIONS from the arguments. Sets the variables:
# - force yes if --force was given, empty otherwise
# - ver gettext version if -V was given, empty otherwise
# - doit false if --dry-run was given, : otherwise
{
force=
ver=
doit=:
while test $# -gt 0; do
case "$1" in
-n | --dry-run | --dry-ru | --dry-r | --dry- | --dry | --dr | --d )
shift
doit=false ;;
-f | --force | --forc | --for | --fo | --f )
shift
force=yes ;;
--help | --hel | --he | --h )
func_usage; exit 0 ;;
# -V ) # Some people put a space between -V and the version number.
# shift
# if test $# = 0; then
# func_usage 1>&2
# exit 1
# fi
# ver=$1;
# shift ;;
# -V*) # Some people omit the space between -V and the version number.
# ver=`echo "X$1" | sed -e 's/^X-V//'`
# shift ;;
--version | --versio | --versi | --vers | --ver | --ve | --v )
func_version
exit 0 ;;
-- ) # Stop option prcessing
shift; break ;;
-* )
echo "autopoint: unknown option $1" 1>&2
echo "Try 'autopoint --help' for more information." 1>&2
exit 1 ;;
* )
break ;;
esac
done
}
# Command-line argument processing.
# Analyzes the remaining arguments.
{
if test $# -gt 0; then
func_usage 1>&2
exit 1
fi
}
srcdir=`pwd`
# The current directory is now $srcdir.
# Check integrity of package: A configure.in/ac must be present. Sets variable
# - configure_in name of configure.in/ac file.
if test -f configure.in; then
configure_in=configure.in
else
if test -f configure.ac; then
configure_in=configure.ac
else
# KDE specific convention: configure.in.in
if test -f configure.in.in; then
configure_in=configure.in.in
else
func_fatal_error "Missing configure.in or configure.ac, please cd to your package first."
fi
fi
fi
# Check whether the -V option and the version number in configure.in match.
# At least one of the two must be given. If both are given, they must agree.
sed_extract_AM_GNU_GETTEXT_VERSION_argument='s/^AM_GNU_GETTEXT_VERSION(\([^()]*\)).*$/\1/'
sed_remove_outer_brackets='s/^\[\(.*\)\]$/\1/'
xver=`cat "$configure_in" | grep '^AM_GNU_GETTEXT_VERSION(' | sed -n -e "$sed_extract_AM_GNU_GETTEXT_VERSION_argument"p | sed -e "$sed_remove_outer_brackets" | sed -e 1q`
if test -z "$xver" && test -f intl/VERSION; then
xver=`cat intl/VERSION | LC_ALL=C sed -n -e 's/^.*gettext-\([-+_.0-9A-Za-z]*\).*$/\1/p'`
fi
if test -n "$xver"; then
if test -n "$ver"; then
if test "X$ver" != "X$xver"; then
func_fatal_error "Version mismatch: specified -V $ver but the package uses gettext version $xver"
fi
else
ver="$xver"
fi
else
if test -z "$ver"; then
func_fatal_error "Missing version: please specify in $configure_in through a line 'AM_GNU_GETTEXT_VERSION(x.yy.zz)' the gettext version the package is using"
fi
fi
# Check whether the version number is supported.
case "$ver" in
0.10.35 | 0.10.36 | 0.10.37 | 0.10.38 | 0.10.39 | 0.10.40 | \
0.11 | 0.11.1 | 0.11.2 | 0.11.3 | 0.11.4 | 0.11.5 | \
0.12 | 0.12.1 | \
0.13 | 0.13.1 | \
0.14 | 0.14.1 | 0.14.2 | 0.14.3 | 0.14.4 | 0.14.5 | 0.14.6 | \
0.15 | \
0.16 | 0.16.1 | \
0.17 | \
0.18 | 0.18.1 )
;;
*)
func_fatal_error "The AM_GNU_GETTEXT_VERSION declaration in your $configure_in
file requires the infrastructure from gettext-$ver but this version
is older. Please upgrade to gettext-$ver or newer."
;;
esac
# Check in which directory config.rpath, mkinstalldirs etc. belong.
auxdir=`cat "$configure_in" | grep '^AC_CONFIG_AUX_DIR' | sed -n -e 's/AC_CONFIG_AUX_DIR(\([^()]*\))/\1/p' | sed -e 's/^\[\(.*\)\]$/\1/' | sed -e 1q`
if test -n "$auxdir"; then
auxdir="$auxdir/"
fi
# Check in which directory the *.m4 macros belong.
m4dir=m4
if test -f Makefile.am; then
# A package using automake.
# Extract the macro directory name from Makefile.am.
aclocal_amflags=`grep '^ACLOCAL_AMFLAGS[ ]*=' Makefile.am | sed -e 's/^ACLOCAL_AMFLAGS[ ]*=\(.*\)$/\1/'`
m4dir_is_next=
for arg in $aclocal_amflags; do
if test -n "$m4dir_is_next"; then
m4dir="$arg"
break
else
if test "X$arg" = "X-I"; then
m4dir_is_next=yes
else
m4dir_is_next=
fi
fi
done
fi
# Check whether to omit the intl/ directory.
omitintl=`cat "$configure_in" | grep '^AM_GNU_GETTEXT' | sed -n -e 's/^AM_GNU_GETTEXT(\([^(),]*\).*$/\1/p' | sed -e 's/^\[\(.*\)\]$/\1/' | sed -e 1q`
omitintl=`if test 'external' = "$omitintl"; then echo yes; fi`
# Check in which directory or directories the po/* infrastructure belongs.
sed_extract_config_files='s,#.*$,,
s,^dnl .*$,,
s, dnl .*$,,
/AC_CONFIG_FILES(/ {
ta
:a
s/)/)/
tb
s/\\$//
N
ba
:b
s,^.*AC_CONFIG_FILES([[ ]*\([^]"$`\\)]*\).*$,\1,p
}'
configfiles=`cat "$configure_in" | sed -n -e "$sed_extract_config_files"`
# PO directories have a Makefile.in generated from Makefile.in.in.
# Treat a directory as a PO directory if and only if it has a
# POTFILES.in file. This allows packages to have multiple PO
# directories under different names or in different locations.
sed_remove_Makefile_in='s,/Makefile\.in$,,'
podirs=`for f in $configfiles; do case "$f" in */Makefile.in) echo $f;; esac; done | sed -e "$sed_remove_Makefile_in"`
if test -z "$podirs"; then
# If we cannot get the list of PO directories from configure.ac, assume the
# common default.
podirs="po"
fi
# Set up a temporary checkout directory.
# Set variables
# - work_dir directory containing the temporary checkout
work_dir=tmpwrk$$
mkdir "$work_dir" || {
if test -d "$work_dir"; then
func_fatal_error "directory $work_dir already exists"
else
func_fatal_error "cannot create directory $work_dir"
fi
}
# We support three archive formats.
#
# Format | Size (KiB) for gettext-0.17 | Extra tools needed |
# -------+-----------------------------+--------------------+
# dir | 3000 | -- |
# cvs | 356 | cvs |
# git | 484 | git |
# -------+-----------------------------+--------------------+
case "git" in
dir)
# The archive of different versions is very large, but using it does not
# require special tools.
gzip -d -c < "$gettext_dir/archive.dir.tar.gz" | (cd "$work_dir" && tar xf - "gettext-$ver")
if test `find "$work_dir" -type f -print | wc -l` = 0; then
rm -rf "$work_dir"
func_fatal_error "infrastructure files for version $ver not found; this is autopoint from GNU $package $version"
fi
mv "$work_dir/gettext-$ver" "$work_dir/archive"
;;
cvs)
# We distributed the many different versions of the files in a CVS
# repository. This guaranteed a good compression rate:
#
# Including version size in KB of
# "du autopoint-files/archive"
# 0.10.35 240
# 0.10.36 428
# 0.10.37 436
# 0.10.38 488
# 0.10.39 500
# 0.10.40 528
# 0.11 720
# 0.11.1 740
# 0.11.2 748
# 0.11.3 804
# 0.11.4 864
# 0.11.5 880
# 0.12 1032
# 0.12.1 1032
# 0.13 1220
# 0.13.1 1236
# 0.14 1296
# 0.14.1 1300
# 0.14.2 1420
# 0.14.3 1428
# 0.14.4 1464
# 0.14.5 1508
# 0.14.6 1580
# 0.15 1760
# 0.16 1808
# 0.16.1 1812
# 0.17 2128
# 0.18 2656
#
# The requirement that the user must have the CVS program available is not
# a severe restrictions, because most of the people who use autopoint are
# users of CVS.
#
# But the CVS format is now deprecated, because "cvs init" does not work in
# all circumstances
# (see <http://lists.gnu.org/archive/html/bug-cvs/2010-05/msg00003.html>)
# and we are not allowed to distribute the cvs infrastructure files
# ourselves
# (see <http://lists.gnu.org/archive/html/bug-cvs/2010-06/msg00011.html>).
#
# Check availability of the CVS program.
(cvs -v) >/dev/null 2>/dev/null || func_fatal_error "cvs program not found"
# Set up a temporary CVS repository.
# We need the temporary CVS repository because any checkout needs write
# access to the CVSROOT/history file, so it cannot be under $gettext_dir.
# We need the temporary checkout directory because when --force was not
# given, we need to compare the existing files with the checked out ones.
# Set variables
# - cvs_dir directory containing the temporary repository
cvs_dir=tmpcvs$$
# Use an umask of 077, to avoid attacks that work by overwriting files in
# the "$CVSROOT"/CVSROOT directory.
(umask 077 && mkdir "$cvs_dir") || {
if test -d "$cvs_dir"; then
func_fatal_error "directory $cvs_dir already exists"
else
func_fatal_error "cannot create directory $cvs_dir"
fi
}
CVSROOT="$srcdir/$cvs_dir"
unset CVS_CLIENT_LOG
unset CVS_CLIENT_PORT
unset CVS_IGNORE_REMOTE_ROOT
unset CVS_LOCAL_BRANCH_NUM
unset CVS_NOBASES
unset CVS_PASSFILE
unset CVS_PASSWORD
unset CVS_PROXY_PORT
unset CVS_RCMD_PORT
unset CVS_RSH
unset CVS_SERVER
unset CVS_SERVER_SLEEP
CVS_SIGN_COMMITS=
export CVS_SIGN_COMMITS
unset CVS_SSH
unset CVS_VERIFY_CHECKOUTS
unset CVS_VERIFY_TEMPLATE
unset CVSIGNORE
unset CVSREAD
unset CVSREADONLYFS
unset CVSUMASK
unset CVSWRAPPERS
# Need to pass -d "$CVSROOT", because there may be a CVS directory in the
# current directory.
cvs -d "$CVSROOT" init
gzip -d -c < "$gettext_dir/archive.cvs.tar.gz" | (cd "$cvs_dir" && tar xf -)
cd "$work_dir"
cvsver=gettext-`echo "$ver" | sed -e 's/\./_/g'`
(cvs -d "$CVSROOT" checkout -r"$cvsver" archive > /dev/null) 2>&1 | grep -v '^cvs checkout: Updating'
find archive -name CVS -type d -print | xargs rm -rf
cd ..
rm -rf "$cvs_dir"
# Check that really all CVS directories are gone, otherwise we would overwrite
# the contents of the user's CVS directories.
if test `find $work_dir/archive -name CVS -type d -print | wc -l` != 0; then
rm -rf "$work_dir"
func_fatal_error "failed to remove all CVS subdirectories"
fi
if test `find $work_dir/archive -type f -print | wc -l` = 0; then
rm -rf "$work_dir"
func_fatal_error "infrastructure files for version $ver not found; this is autopoint from GNU $package $version"
fi
;;
git)
# Check availability of the git program.
(git --version) >/dev/null 2>/dev/null || func_fatal_error "git program not found"
mkdir "$work_dir/archive"
gzip -d -c < "$gettext_dir/archive.git.tar.gz" | (cd "$work_dir/archive" && tar xf -)
(cd "$work_dir/archive" && git checkout -q "gettext-$ver") || {
rm -rf "$work_dir"
func_fatal_error "infrastructure files for version $ver not found; this is autopoint from GNU $package $version"
}
(cd "$work_dir/archive" && rm -rf .git .gitignore)
;;
esac
# func_destfile file
# determines the destination file, relative to the package's top level
# directory, for a given file name, relative to archive.
# Sets variables
# - destfile relative destination file name, or
# empty if the file shall be omitted
# - sharedowner yes if the file is not only owned by GNU gettext but may
# be installed by automake or other tools, otherwise empty
# - allpodirs yes if the file is to be installed in every dir in $podirs
func_destfile ()
{
# There are five categories of files:
# ABOUT_NLS -> top level directory
# config.rpath mkinstalldirs -> $auxdir
# m4/* -> $m4dir/
# intl/* -> intl/
# po/* ->
sharedowner=
allpodirs=
case `echo "$1" | sed -e 's,[^/]*$,,'` in
"" )
case "$1" in
config.rpath ) destfile="$auxdir$1" ;;
mkinstalldirs ) destfile="$auxdir$1" sharedowner=yes ;;
* ) destfile="$1" ;;
esac
;;
m4/ ) destfile=`echo "$1" | sed -e "s,^m4/,$m4dir/,"` ;;
intl/ ) if test -n "$omitintl"; then destfile=""; else destfile="$1"; fi ;;
po/ ) destfile=`echo "$1" | sed -e "s,^po/,,"` allpodirs=yes ;;
* ) destfile="$1" ;;
esac
}
# func_compare existingfile gettextfile
# compares the existing file and the file from gettext, and decides whether the
# existing file should be overwritten with the file from gettext. Returns 0 if
# it should be overwritten, or 1 if it should be skipped.
sed_extract_serial='s/^#.* serial \([^ ]*\).*/\1/p
1q'
func_compare ()
{
if cmp -s "$1" "$2"; then
false
else
case "$2" in
*.m4)
# For interoperability with gnulib. gnulib often has newer versions of
# the *.m4 files than the latest gettext release. Don't overwrite a
# newer version from gnulib with an older version from the gettext
# release. The version can be retrieved from the first line, which
# looks like this: # file.m4 serial NN ...
existing_serial=`sed -n -e "$sed_extract_serial" < "$1"`
gettext_serial=`sed -n -e "$sed_extract_serial" < "$2"`
if test -n "$existing_serial" && test -n "$gettext_serial" \
&& test "$existing_serial" -ge "$gettext_serial" 2> /dev/null; then
false
else
true
fi
;;
*)
true
;;
esac
fi
}
# If some files have been locally modified and we have not been requested
# to overwrite them, then bail out. This is better than leaving a source
# package around where half of the files are locally modified and half are
# original - too great risk of version mismatch.
if test -z "$force"; then
mismatch=
func_tmpdir
mismatchfile="$tmp"/autopoint.diff
for file in `find "$work_dir/archive" -type f -print | sed -e "s,^$work_dir/archive/,," | LC_ALL=C sort`; do
func_destfile "$file"
if test -n "$destfile"; then
func_compare_to_destfile ()
{
finaldestfile="$1"
if test -f "$finaldestfile"; then
if func_compare "$finaldestfile" "$work_dir/archive/$file"; then
if test -n "$sharedowner"; then
echo "autopoint: warning: File $finaldestfile has been locally modified." 1>&2
else
echo "autopoint: File $finaldestfile has been locally modified." 1>&2
mismatch=yes
diff -c "$work_dir/archive/$file" "$finaldestfile" | sed -e "1s,$work_dir/archive/,," >> "$mismatchfile"
fi
fi
fi
}
if test -n "$allpodirs"; then
for dir in $podirs; do
func_compare_to_destfile "$dir/$destfile"
done
else
func_compare_to_destfile "$destfile"
fi
fi
done
if test -n "$mismatch"; then
rm -rf "$work_dir"
func_fatal_error "Some files have been locally modified. Not overwriting them because --force has not been specified. For your convenience, you find the local modifications in the file '$mismatchfile'."
fi
rm -rf "$tmp"
fi
# func_mkdir_for to
# ensures the directory that would the given file exists.
# 'to' is a relative pathname, relative to the current directory.
func_mkdir_for ()
{
base=`echo "$1" | sed -e 's,/[^/]*$,,'`
if test "X$base" != "X$1" && test -n "$base"; then
func_mkdir_for "$base"
# Recompute base. It was clobbered by the recursive call.
base=`echo "$1" | sed -e 's,/[^/]*$,,'`
test -d "$base" || { echo "Creating directory $base"; mkdir "$base"; }
fi
}
# func_copy from to
# copies a file.
# 'from' is a relative pathname, relative to the current directory.
# 'to' is a relative pathname, relative to the current directory.
func_copy ()
{
if $doit; then
func_mkdir_for "$2"
rm -f "$2"
echo "Copying file $2"
cp "$1" "$2"
else
echo "Copy file $2"
fi
}
# func_backup to
# makes a backup of a file that is about to be overwritten or replaced.
# 'to' is a relative pathname, relative to the current directory.
func_backup ()
{
if $doit; then
if test -f "$1"; then
rm -f "$1~"
cp -p "$1" "$1~"
fi
fi
}
# Now copy the files.
for file in `find "$work_dir/archive" -type f -print | sed -e "s,^$work_dir/archive/,," | LC_ALL=C sort`; do
func_destfile "$file"
if test -n "$destfile"; then
func_copy_to_destfile ()
{
finaldestfile="$1"
mustcopy=
if test -f "$finaldestfile"; then
if func_compare "$finaldestfile" "$work_dir/archive/$file"; then
if test -n "$force"; then
# Overwrite locally modified file.
mustcopy=yes
fi
# If --force is not specified, don't overwrite locally modified files
# for which GNU gettext is a shared owner.
fi
else
mustcopy=yes
fi
if test -n "$mustcopy"; then
func_backup "$finaldestfile"
func_copy "$work_dir/archive/$file" "$finaldestfile"
fi
}
if test -n "$allpodirs"; then
for dir in $podirs; do
func_copy_to_destfile "$dir/$destfile"
done
else
func_copy_to_destfile "$destfile"
fi
fi
done
# That's it.
rm -rf "$work_dir"
exit 0
Binary file not shown.
Binary file not shown.
+123
View File
@@ -0,0 +1,123 @@
#! /bin/sh
#
# Copyright (C) 2003, 2005-2007 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU Library General Public License as published
# by the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
# USA.
#
# Find a way to echo strings without interpreting backslash.
if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
echo='echo'
else
if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
echo='printf %s\n'
else
echo_func () {
cat <<EOT
$*
EOT
}
echo='echo_func'
fi
fi
# This script is primarily a shell function library. In order for
# ". gettext.sh" to find it, we install it in $PREFIX/bin (that is usually
# contained in $PATH), rather than in some other location such as
# $PREFIX/share/sh-scripts or $PREFIX/share/gettext. In order to not violate
# the Filesystem Hierarchy Standard when doing so, this script is executable.
# Therefore it needs to support the standard --help and --version.
if test -z "$ZSH_VERSION"; then
# zsh is not POSIX compliant: By default, while ". gettext.sh" is executed,
# it sets $0 to "gettext.sh", defeating the purpose of this test. But
# fortunately we know that when running under zsh, this script is always
# being sourced, not executed, because hardly anyone is crazy enough to
# install zsh as /bin/sh.
case "$0" in
gettext.sh | */gettext.sh | *\\gettext.sh)
progname=$0
package=gettext-runtime
version=0.18.1
# func_usage
# outputs to stdout the --help usage message.
func_usage ()
{
echo "GNU gettext shell script function library version $version"
echo "Usage: . gettext.sh"
}
# func_version
# outputs to stdout the --version message.
func_version ()
{
echo "$progname (GNU $package) $version"
echo "Copyright (C) 2003-2007 Free Software Foundation, Inc.
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law."
echo "Written by" "Bruno Haible"
}
if test $# = 1; then
case "$1" in
--help | --hel | --he | --h )
func_usage; exit 0 ;;
--version | --versio | --versi | --vers | --ver | --ve | --v )
func_version; exit 0 ;;
esac
fi
func_usage 1>&2
exit 1
;;
esac
fi
# eval_gettext MSGID
# looks up the translation of MSGID and substitutes shell variables in the
# result.
eval_gettext () {
gettext "$1" | (export PATH `envsubst --variables "$1"`; envsubst "$1")
}
# eval_ngettext MSGID MSGID-PLURAL COUNT
# looks up the translation of MSGID / MSGID-PLURAL for COUNT and substitutes
# shell variables in the result.
eval_ngettext () {
ngettext "$1" "$2" "$3" | (export PATH `envsubst --variables "$1 $2"`; envsubst "$1 $2")
}
# Note: This use of envsubst is much safer than using the shell built-in 'eval'
# would be.
# 1) The security problem with Chinese translations that happen to use a
# character such as \xe0\x60 is avoided.
# 2) The security problem with malevolent translators who put in command lists
# like "$(...)" or "`...`" is avoided.
# 3) The translations can only refer to shell variables that are already
# mentioned in MSGID or MSGID-PLURAL.
#
# Note: "export PATH" above is a dummy; this is for the case when
# `envsubst --variables ...` returns nothing.
#
# Note: In eval_ngettext above, "$1 $2" means a string whose variables set is
# the union of the variables set of "$1" and "$2".
#
# Note: The minimal use of backquote above ensures that trailing newlines are
# not dropped, not from the gettext invocation and not from the value of any
# shell variable.
#
# Note: Field splitting on the `envsubst --variables ...` result is desired,
# since envsubst outputs the variables, separated by newlines. Pathname
# wildcard expansion or tilde expansion has no effect here, since the words
# output by "envsubst --variables ..." consist solely of alphanumeric
# characters and underscore.
+1281
View File
File diff suppressed because it is too large. Load diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+177
View File
@@ -0,0 +1,177 @@
--- gettext-runtime/intl/printf.c
+++ gettext-runtime/intl/printf.c
@@ -69,7 +69,7 @@
#define STATIC static
/* This needs to be consistent with libgnuintl.h.in. */
-#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__
+#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__
/* Don't break __attribute__((format(printf,M,N))).
This redefinition is only possible because the libc in NetBSD, Cygwin,
mingw does not have a function __printf__. */
--- gettext-runtime/intl/libgnuintl.h.in
+++ gettext-runtime/intl/libgnuintl.h.in
@@ -330,7 +330,7 @@
#if !(defined printf && defined _GL_STDIO_H) /* don't override gnulib */
#undef printf
-#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__
+#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__
/* Don't break __attribute__((format(printf,M,N))).
This redefinition is only possible because the libc in NetBSD, Cygwin,
mingw does not have a function __printf__.
---- gettext-tools/gnulib-lib/clean-temp.c
+++ gettext-tools/gnulib-lib/clean-temp.c
@@ -66,9 +66,11 @@
# endif
#endif
+#ifndef _WIN64
#ifndef uintptr_t
# define uintptr_t unsigned long
#endif
+#endif
#if !GNULIB_FCNTL_SAFER
/* The results of open() in this file are not used with fchdir,
--- gettext-tools/gnulib-lib/fstrcmp.c
+++ gettext-tools/gnulib-lib/fstrcmp.c
@@ -55,9 +55,11 @@
#include "minmax.h"
#include "xalloc.h"
+#ifndef _WIN64
#ifndef uintptr_t
# define uintptr_t unsigned long
#endif
+#endif
#define ELEMENT char
--- gettext-tools/gnulib-lib/gl_array_list.c
+++ gettext-tools/gnulib-lib/gl_array_list.c
@@ -55,9 +55,11 @@
/* Checked size_t computations. */
#include "xsize.h"
+#ifndef _WIN64
#ifndef uintptr_t
# define uintptr_t unsigned long
#endif
+#endif
/* -------------------------- gl_list_t Data Type -------------------------- */
--- gettext-tools/gnulib-lib/gl_linkedhash_list.c
+++ gettext-tools/gnulib-lib/gl_linkedhash_list.c
@@ -55,9 +55,11 @@
#include "xsize.h"
+#ifndef _WIN64
#ifndef uintptr_t
# define uintptr_t unsigned long
#endif
+#endif
#define WITH_HASHTABLE 1
--- gettext-tools/gnulib-lib/stdio.in.h
+++ gettext-tools/gnulib-lib/stdio.in.h
@@ -642,10 +642,6 @@
# if (@GNULIB_PRINTF_POSIX@ && @REPLACE_PRINTF@) \
|| (@GNULIB_PRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@)
# if defined __GNUC__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-/* Don't break __attribute__((format(printf,M,N))). */
-# define printf __printf__
-# endif
_GL_FUNCDECL_RPL_1 (__printf__, int,
(const char *format, ...)
__asm__ (@ASM_SYMBOL_PREFIX@
--- gettext-tools/gnulib-lib/tempname.c
+++ gettext-tools/gnulib-lib/tempname.c
@@ -54,6 +54,10 @@
#include <stdint.h>
#include <unistd.h>
+#ifdef _WIN32
+# include <direct.h>
+#endif
+
#include <sys/stat.h>
#if _LIBC
@@ -73,6 +73,10 @@
# define __xstat64(version, file, buf) stat (file, buf)
#endif
+#ifdef _WIN32
+# define mkdir(path,mode) _mkdir(path)
+#endif
+
#if ! (HAVE___SECURE_GETENV || _LIBC)
# define __secure_getenv getenv
#endif
--- gettext-tools/src/write-java.c
+++ gettext-tools/src/write-java.c
@@ -30,6 +30,10 @@
#include <stdio.h>
#include <string.h>
+#ifdef _WIN32
+# include <direct.h>
+#endif
+
#include <sys/stat.h>
#if !defined S_ISDIR && defined S_IFDIR
# define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR)
@@ -53,6 +53,10 @@
# define S_IXUSR 00100
#endif
+#ifdef _WIN32
+# define mkdir(path,mode) _mkdir(path)
+#endif
+
#include "c-ctype.h"
#include "error.h"
#include "xerror.h"
--- gettext-tools/src/write-csharp.c
+++ gettext-tools/src/write-csharp.c
@@ -29,6 +29,10 @@
#include <stdio.h>
#include <string.h>
+#ifdef _WIN32
+# include <direct.h>
+#endif
+
#include <sys/stat.h>
#if !defined S_ISDIR && defined S_IFDIR
# define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR)
@@ -70,6 +70,10 @@
# define S_IXOTH (S_IXUSR >> 6)
#endif
+#ifdef _WIN32
+# define mkdir(path,mode) _mkdir(path)
+#endif
+
#include "c-ctype.h"
#include "relocatable.h"
#include "error.h"
--- gettext-tools/woe32dll/export.h
+++ gettext-tools/woe32dll/export.h
@@ -90,7 +90,11 @@
--export-all-symbols is used. */
/* IMP(x) is a symbol that contains the address of x. */
+#ifdef _WIN64
+#define IMP(x) __imp_##x
+#else
#define IMP(x) _imp__##x
+#endif
/* Ensure that the variable x is exported from the library, and that a
pseudo-variable IMP(x) is available. */
+66
View File
@@ -0,0 +1,66 @@
/* Class autosprintf - formatted output to an ostream.
Copyright (C) 2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
by the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifndef _AUTOSPRINTF_H
#define _AUTOSPRINTF_H
#ifndef __attribute__
/* This feature is available in gcc versions 2.5 and later. */
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
# define __attribute__(Spec) /* empty */
# endif
/* The __-protected variants of `format' and `printf' attributes
are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
# define __format__ format
# define __printf__ printf
# endif
#endif
#include <string>
#include <iostream>
namespace gnu
{
/* A temporary object, usually allocated on the stack, representing
the result of an asprintf() call. */
class autosprintf
{
public:
/* Constructor: takes a format string and the printf arguments. */
autosprintf (const char *format, ...)
__attribute__ ((__format__ (__printf__, 2, 3)));
/* Copy constructor. */
autosprintf (const autosprintf& src);
/* Destructor: frees the temporarily allocated string. */
~autosprintf ();
/* Conversion to string. */
operator char * () const;
operator std::string () const;
/* Output to an ostream. */
friend inline std::ostream& operator<< (std::ostream& stream, const autosprintf& tmp)
{
stream << (tmp.str ? tmp.str : "(error in autosprintf)");
return stream;
}
private:
char *str;
};
}
#endif /* _AUTOSPRINTF_H */
+357
View File
@@ -0,0 +1,357 @@
/* Public API for GNU gettext PO files - contained in libgettextpo.
Copyright (C) 2003-2008, 2010 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#ifndef _GETTEXT_PO_H
#define _GETTEXT_PO_H 1
#include <stdlib.h>
#ifdef __cplusplus
extern "C" {
#endif
/* =========================== Meta Information ============================ */
/* Version number: (major<<16) + (minor<<8) + subminor */
#define LIBGETTEXTPO_VERSION 0x001201
extern __declspec (dllimport) int libgettextpo_version;
/* ================================= Types ================================= */
/* A po_file_t represents the contents of a PO file. */
typedef struct po_file *po_file_t;
/* A po_message_iterator_t represents an iterator through a domain of a
PO file. */
typedef struct po_message_iterator *po_message_iterator_t;
/* A po_message_t represents a message in a PO file. */
typedef struct po_message *po_message_t;
/* A po_filepos_t represents a string's position within a source file. */
typedef struct po_filepos *po_filepos_t;
/* A po_error_handler handles error situations. */
struct po_error_handler
{
/* Signal an error. The error message is built from FORMAT and the following
arguments. ERRNUM, if nonzero, is an errno value.
Must increment the error_message_count variable declared in error.h.
Must not return if STATUS is nonzero. */
void (*error) (int status, int errnum,
const char *format, ...)
#if ((__GNUC__ == 3 && __GNUC_MINOR__ >= 1) || __GNUC__ > 3) && !__STRICT_ANSI__
__attribute__ ((__format__ (__printf__, 3, 4)))
#endif
;
/* Signal an error. The error message is built from FORMAT and the following
arguments. The error location is at FILENAME line LINENO. ERRNUM, if
nonzero, is an errno value.
Must increment the error_message_count variable declared in error.h.
Must not return if STATUS is nonzero. */
void (*error_at_line) (int status, int errnum,
const char *filename, unsigned int lineno,
const char *format, ...)
#if ((__GNUC__ == 3 && __GNUC_MINOR__ >= 1) || __GNUC__ > 3) && !__STRICT_ANSI__
__attribute__ ((__format__ (__printf__, 5, 6)))
#endif
;
/* Signal a multiline warning. The PREFIX applies to all lines of the
MESSAGE. Free the PREFIX and MESSAGE when done. */
void (*multiline_warning) (char *prefix, char *message);
/* Signal a multiline error. The PREFIX applies to all lines of the
MESSAGE. Free the PREFIX and MESSAGE when done.
Must increment the error_message_count variable declared in error.h if
PREFIX is non-NULL. */
void (*multiline_error) (char *prefix, char *message);
};
typedef const struct po_error_handler *po_error_handler_t;
/* A po_xerror_handler handles warnings, error and fatal error situations. */
#define PO_SEVERITY_WARNING 0 /* just a warning, tell the user */
#define PO_SEVERITY_ERROR 1 /* an error, the operation cannot complete */
#define PO_SEVERITY_FATAL_ERROR 2 /* an error, the operation must be aborted */
struct po_xerror_handler
{
/* Signal a problem of the given severity.
MESSAGE and/or FILENAME + LINENO indicate where the problem occurred.
If FILENAME is NULL, FILENAME and LINENO and COLUMN should be ignored.
If LINENO is (size_t)(-1), LINENO and COLUMN should be ignored.
If COLUMN is (size_t)(-1), it should be ignored.
MESSAGE_TEXT is the problem description (if MULTILINE_P is true,
multiple lines of text, each terminated with a newline, otherwise
usually a single line).
Must not return if SEVERITY is PO_SEVERITY_FATAL_ERROR. */
void (*xerror) (int severity,
po_message_t message,
const char *filename, size_t lineno, size_t column,
int multiline_p, const char *message_text);
/* Signal a problem that refers to two messages.
Similar to two calls to xerror.
If possible, a "..." can be appended to MESSAGE_TEXT1 and prepended to
MESSAGE_TEXT2. */
void (*xerror2) (int severity,
po_message_t message1,
const char *filename1, size_t lineno1, size_t column1,
int multiline_p1, const char *message_text1,
po_message_t message2,
const char *filename2, size_t lineno2, size_t column2,
int multiline_p2, const char *message_text2);
};
typedef const struct po_xerror_handler *po_xerror_handler_t;
/* Memory allocation:
The memory allocations performed by these functions use xmalloc(),
therefore will cause a program exit if memory is exhausted.
The memory allocated by po_file_read, and implicitly returned through
the po_message_* functions, lasts until freed with po_file_free. */
/* ============================= po_file_t API ============================= */
/* Create an empty PO file representation in memory. */
extern po_file_t po_file_create (void);
/* Read a PO file into memory.
Return its contents. Upon failure, return NULL and set errno. */
#define po_file_read po_file_read_v3
extern po_file_t po_file_read (const char *filename,
po_xerror_handler_t handler);
/* Write an in-memory PO file to a file.
Upon failure, return NULL and set errno. */
#define po_file_write po_file_write_v2
extern po_file_t po_file_write (po_file_t file, const char *filename,
po_xerror_handler_t handler);
/* Free a PO file from memory. */
extern void po_file_free (po_file_t file);
/* Return the names of the domains covered by a PO file in memory. */
extern const char * const * po_file_domains (po_file_t file);
/* =========================== Header entry API ============================ */
/* Return the header entry of a domain of a PO file in memory.
The domain NULL denotes the default domain.
Return NULL if there is no header entry. */
extern const char * po_file_domain_header (po_file_t file, const char *domain);
/* Return the value of a field in a header entry.
The return value is either a freshly allocated string, to be freed by the
caller, or NULL. */
extern char * po_header_field (const char *header, const char *field);
/* Return the header entry with a given field set to a given value. The field
is added if necessary.
The return value is a freshly allocated string. */
extern char * po_header_set_field (const char *header, const char *field, const char *value);
/* ======================= po_message_iterator_t API ======================= */
/* Create an iterator for traversing a domain of a PO file in memory.
The domain NULL denotes the default domain. */
extern po_message_iterator_t po_message_iterator (po_file_t file, const char *domain);
/* Free an iterator. */
extern void po_message_iterator_free (po_message_iterator_t iterator);
/* Return the next message, and advance the iterator.
Return NULL at the end of the message list. */
extern po_message_t po_next_message (po_message_iterator_t iterator);
/* Insert a message in a PO file in memory, in the domain and at the position
indicated by the iterator. The iterator thereby advances past the freshly
inserted message. */
extern void po_message_insert (po_message_iterator_t iterator, po_message_t message);
/* =========================== po_message_t API ============================ */
/* Return a freshly constructed message.
To finish initializing the message, you must set the msgid and msgstr. */
extern po_message_t po_message_create (void);
/* Return the context of a message, or NULL for a message not restricted to a
context. */
extern const char * po_message_msgctxt (po_message_t message);
/* Change the context of a message. NULL means a message not restricted to a
context. */
extern void po_message_set_msgctxt (po_message_t message, const char *msgctxt);
/* Return the msgid (untranslated English string) of a message. */
extern const char * po_message_msgid (po_message_t message);
/* Change the msgid (untranslated English string) of a message. */
extern void po_message_set_msgid (po_message_t message, const char *msgid);
/* Return the msgid_plural (untranslated English plural string) of a message,
or NULL for a message without plural. */
extern const char * po_message_msgid_plural (po_message_t message);
/* Change the msgid_plural (untranslated English plural string) of a message.
NULL means a message without plural. */
extern void po_message_set_msgid_plural (po_message_t message, const char *msgid_plural);
/* Return the msgstr (translation) of a message.
Return the empty string for an untranslated message. */
extern const char * po_message_msgstr (po_message_t message);
/* Change the msgstr (translation) of a message.
Use an empty string to denote an untranslated message. */
extern void po_message_set_msgstr (po_message_t message, const char *msgstr);
/* Return the msgstr[index] for a message with plural handling, or
NULL when the index is out of range or for a message without plural. */
extern const char * po_message_msgstr_plural (po_message_t message, int index);
/* Change the msgstr[index] for a message with plural handling.
Use a NULL value at the end to reduce the number of plural forms. */
extern void po_message_set_msgstr_plural (po_message_t message, int index, const char *msgstr);
/* Return the comments for a message. */
extern const char * po_message_comments (po_message_t message);
/* Change the comments for a message.
comments should be a multiline string, ending in a newline, or empty. */
extern void po_message_set_comments (po_message_t message, const char *comments);
/* Return the extracted comments for a message. */
extern const char * po_message_extracted_comments (po_message_t message);
/* Change the extracted comments for a message.
comments should be a multiline string, ending in a newline, or empty. */
extern void po_message_set_extracted_comments (po_message_t message, const char *comments);
/* Return the i-th file position for a message, or NULL if i is out of
range. */
extern po_filepos_t po_message_filepos (po_message_t message, int i);
/* Remove the i-th file position from a message.
The indices of all following file positions for the message are decremented
by one. */
extern void po_message_remove_filepos (po_message_t message, int i);
/* Add a file position to a message, if it is not already present for the
message.
file is the file name.
start_line is the line number where the string starts, or (size_t)(-1) if no
line number is available. */
extern void po_message_add_filepos (po_message_t message, const char *file, size_t start_line);
/* Return the previous context of a message, or NULL for none. */
extern const char * po_message_prev_msgctxt (po_message_t message);
/* Change the previous context of a message. NULL is allowed. */
extern void po_message_set_prev_msgctxt (po_message_t message, const char *prev_msgctxt);
/* Return the previous msgid (untranslated English string) of a message, or
NULL for none. */
extern const char * po_message_prev_msgid (po_message_t message);
/* Change the previous msgid (untranslated English string) of a message.
NULL is allowed. */
extern void po_message_set_prev_msgid (po_message_t message, const char *prev_msgid);
/* Return the previous msgid_plural (untranslated English plural string) of a
message, or NULL for none. */
extern const char * po_message_prev_msgid_plural (po_message_t message);
/* Change the previous msgid_plural (untranslated English plural string) of a
message. NULL is allowed. */
extern void po_message_set_prev_msgid_plural (po_message_t message, const char *prev_msgid_plural);
/* Return true if the message is marked obsolete. */
extern int po_message_is_obsolete (po_message_t message);
/* Change the obsolete mark of a message. */
extern void po_message_set_obsolete (po_message_t message, int obsolete);
/* Return true if the message is marked fuzzy. */
extern int po_message_is_fuzzy (po_message_t message);
/* Change the fuzzy mark of a message. */
extern void po_message_set_fuzzy (po_message_t message, int fuzzy);
/* Return true if the message is marked as being a format string of the given
type (e.g. "c-format"). */
extern int po_message_is_format (po_message_t message, const char *format_type);
/* Change the format string mark for a given type of a message. */
extern void po_message_set_format (po_message_t message, const char *format_type, /*bool*/int value);
/* If a numeric range of a message is set, return true and store the minimum
and maximum value in *MINP and *MAXP. */
extern int po_message_is_range (po_message_t message, int *minp, int *maxp);
/* Change the numeric range of a message. MIN and MAX must be non-negative,
with MIN < MAX. Use MIN = MAX = -1 to remove the numeric range of a
message. */
extern void po_message_set_range (po_message_t message, int min, int max);
/* =========================== po_filepos_t API ============================ */
/* Return the file name. */
extern const char * po_filepos_file (po_filepos_t filepos);
/* Return the line number where the string starts, or (size_t)(-1) if no line
number is available. */
extern size_t po_filepos_start_line (po_filepos_t filepos);
/* ============================ Format type API ============================= */
/* Return a NULL terminated array of the supported format types. */
extern const char * const * po_format_list (void);
/* Return the pretty name associated with a format type.
For example, for "csharp-format", return "C#".
Return NULL if the argument is not a supported format type. */
extern const char * po_format_pretty_name (const char *format_type);
/* ============================= Checking API ============================== */
/* Test whether an entire file PO file is valid, like msgfmt does it.
If it is invalid, pass the reasons to the handler. */
extern void po_file_check_all (po_file_t file, po_xerror_handler_t handler);
/* Test a single message, to be inserted in a PO file in memory, like msgfmt
does it. If it is invalid, pass the reasons to the handler. The iterator
is not modified by this call; it only specifies the file and the domain. */
extern void po_message_check_all (po_message_t message, po_message_iterator_t iterator, po_xerror_handler_t handler);
/* Test whether the message translation is a valid format string if the message
is marked as being a format string. If it is invalid, pass the reasons to
the handler. */
#define po_message_check_format po_message_check_format_v2
extern void po_message_check_format (po_message_t message, po_xerror_handler_t handler);
#ifdef __cplusplus
}
#endif
#endif /* _GETTEXT_PO_H */
+464
View File
@@ -0,0 +1,464 @@
/* Message catalogs for internationalization.
Copyright (C) 1995-1997, 2000-2010 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
by the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifndef _LIBINTL_H
#define _LIBINTL_H 1
#include <locale.h>
#if (defined __APPLE__ && defined __MACH__) && 0
# include <xlocale.h>
#endif
/* The LC_MESSAGES locale category is the category used by the functions
gettext() and dgettext(). It is specified in POSIX, but not in ANSI C.
On systems that don't define it, use an arbitrary value instead.
On Solaris, <locale.h> defines __LOCALE_H (or _LOCALE_H in Solaris 2.5)
then includes <libintl.h> (i.e. this file!) and then only defines
LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES
in this case. */
#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun))
# define LC_MESSAGES 1729
#endif
/* We define an additional symbol to signal that we use the GNU
implementation of gettext. */
#define __USE_GNU_GETTEXT 1
/* Provide information about the supported file formats. Returns the
maximum minor revision number supported for a given major revision. */
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \
((major) == 0 || (major) == 1 ? 1 : -1)
/* Resolve a platform specific conflict on DJGPP. GNU gettext takes
precedence over _conio_gettext. */
#ifdef __DJGPP__
# undef gettext
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* Version number: (major<<16) + (minor<<8) + subminor */
#define LIBINTL_VERSION 0x001201
extern int libintl_version;
/* We redirect the functions to those prefixed with "libintl_". This is
necessary, because some systems define gettext/textdomain/... in the C
library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer).
If we used the unprefixed names, there would be cases where the
definition in the C library would override the one in the libintl.so
shared library. Recall that on ELF systems, the symbols are looked
up in the following order:
1. in the executable,
2. in the shared libraries specified on the link command line, in order,
3. in the dependencies of the shared libraries specified on the link
command line,
4. in the dlopen()ed shared libraries, in the order in which they were
dlopen()ed.
The definition in the C library would override the one in libintl.so if
either
* -lc is given on the link command line and -lintl isn't, or
* -lc is given on the link command line before -lintl, or
* libintl.so is a dependency of a dlopen()ed shared library but not
linked to the executable at link time.
Since Solaris gettext() behaves differently than GNU gettext(), this
would be unacceptable.
The redirection happens by default through macros in C, so that &gettext
is independent of the compilation unit, but through inline functions in
C++, in order not to interfere with the name mangling of class fields or
class methods called 'gettext'. */
/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS.
If he doesn't, we choose the method. A third possible method is
_INTL_REDIRECT_ASM, supported only by GCC. */
#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS)
# if defined __GNUC__ && __GNUC__ >= 2 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus)
# define _INTL_REDIRECT_ASM
# else
# ifdef __cplusplus
# define _INTL_REDIRECT_INLINE
# else
# define _INTL_REDIRECT_MACROS
# endif
# endif
#endif
/* Auxiliary macros. */
#ifdef _INTL_REDIRECT_ASM
# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname))
# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring
# define _INTL_STRINGIFY(prefix) #prefix
#else
# define _INTL_ASM(cname)
#endif
/* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return
its n-th argument literally. This enables GCC to warn for example about
printf (gettext ("foo %y")). */
#if defined __GNUC__ && __GNUC__ >= 3 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1 && defined __cplusplus)
# define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n)))
#else
# define _INTL_MAY_RETURN_STRING_ARG(n)
#endif
/* Look up MSGID in the current default message catalog for the current
LC_MESSAGES locale. If not found, returns MSGID itself (the default
text). */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_gettext (const char *__msgid)
_INTL_MAY_RETURN_STRING_ARG (1);
static inline char *gettext (const char *__msgid)
{
return libintl_gettext (__msgid);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define gettext libintl_gettext
#endif
extern char *gettext (const char *__msgid)
_INTL_ASM (libintl_gettext)
_INTL_MAY_RETURN_STRING_ARG (1);
#endif
/* Look up MSGID in the DOMAINNAME message catalog for the current
LC_MESSAGES locale. */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_dgettext (const char *__domainname, const char *__msgid)
_INTL_MAY_RETURN_STRING_ARG (2);
static inline char *dgettext (const char *__domainname, const char *__msgid)
{
return libintl_dgettext (__domainname, __msgid);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define dgettext libintl_dgettext
#endif
extern char *dgettext (const char *__domainname, const char *__msgid)
_INTL_ASM (libintl_dgettext)
_INTL_MAY_RETURN_STRING_ARG (2);
#endif
/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
locale. */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_dcgettext (const char *__domainname, const char *__msgid,
int __category)
_INTL_MAY_RETURN_STRING_ARG (2);
static inline char *dcgettext (const char *__domainname, const char *__msgid,
int __category)
{
return libintl_dcgettext (__domainname, __msgid, __category);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define dcgettext libintl_dcgettext
#endif
extern char *dcgettext (const char *__domainname, const char *__msgid,
int __category)
_INTL_ASM (libintl_dcgettext)
_INTL_MAY_RETURN_STRING_ARG (2);
#endif
/* Similar to `gettext' but select the plural form corresponding to the
number N. */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_ngettext (const char *__msgid1, const char *__msgid2,
unsigned long int __n)
_INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2);
static inline char *ngettext (const char *__msgid1, const char *__msgid2,
unsigned long int __n)
{
return libintl_ngettext (__msgid1, __msgid2, __n);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define ngettext libintl_ngettext
#endif
extern char *ngettext (const char *__msgid1, const char *__msgid2,
unsigned long int __n)
_INTL_ASM (libintl_ngettext)
_INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2);
#endif
/* Similar to `dgettext' but select the plural form corresponding to the
number N. */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_dngettext (const char *__domainname, const char *__msgid1,
const char *__msgid2, unsigned long int __n)
_INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3);
static inline char *dngettext (const char *__domainname, const char *__msgid1,
const char *__msgid2, unsigned long int __n)
{
return libintl_dngettext (__domainname, __msgid1, __msgid2, __n);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define dngettext libintl_dngettext
#endif
extern char *dngettext (const char *__domainname,
const char *__msgid1, const char *__msgid2,
unsigned long int __n)
_INTL_ASM (libintl_dngettext)
_INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3);
#endif
/* Similar to `dcgettext' but select the plural form corresponding to the
number N. */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_dcngettext (const char *__domainname,
const char *__msgid1, const char *__msgid2,
unsigned long int __n, int __category)
_INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3);
static inline char *dcngettext (const char *__domainname,
const char *__msgid1, const char *__msgid2,
unsigned long int __n, int __category)
{
return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define dcngettext libintl_dcngettext
#endif
extern char *dcngettext (const char *__domainname,
const char *__msgid1, const char *__msgid2,
unsigned long int __n, int __category)
_INTL_ASM (libintl_dcngettext)
_INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3);
#endif
/* Set the current default message catalog to DOMAINNAME.
If DOMAINNAME is null, return the current default.
If DOMAINNAME is "", reset to the default of "messages". */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_textdomain (const char *__domainname);
static inline char *textdomain (const char *__domainname)
{
return libintl_textdomain (__domainname);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define textdomain libintl_textdomain
#endif
extern char *textdomain (const char *__domainname)
_INTL_ASM (libintl_textdomain);
#endif
/* Specify that the DOMAINNAME message catalog will be found
in DIRNAME rather than in the system locale data base. */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_bindtextdomain (const char *__domainname,
const char *__dirname);
static inline char *bindtextdomain (const char *__domainname,
const char *__dirname)
{
return libintl_bindtextdomain (__domainname, __dirname);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define bindtextdomain libintl_bindtextdomain
#endif
extern char *bindtextdomain (const char *__domainname, const char *__dirname)
_INTL_ASM (libintl_bindtextdomain);
#endif
/* Specify the character encoding in which the messages from the
DOMAINNAME message catalog will be returned. */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_bind_textdomain_codeset (const char *__domainname,
const char *__codeset);
static inline char *bind_textdomain_codeset (const char *__domainname,
const char *__codeset)
{
return libintl_bind_textdomain_codeset (__domainname, __codeset);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define bind_textdomain_codeset libintl_bind_textdomain_codeset
#endif
extern char *bind_textdomain_codeset (const char *__domainname,
const char *__codeset)
_INTL_ASM (libintl_bind_textdomain_codeset);
#endif
/* Support for format strings with positions in *printf(), following the
POSIX/XSI specification.
Note: These replacements for the *printf() functions are visible only
in source files that #include <libintl.h> or #include "gettext.h".
Packages that use *printf() in source files that don't refer to _()
or gettext() but for which the format string could be the return value
of _() or gettext() need to add this #include. Oh well. */
#if !0
#include <stdio.h>
#include <stddef.h>
/* Get va_list. */
#if (defined __STDC__ && __STDC__) || defined __cplusplus || defined _MSC_VER
# include <stdarg.h>
#else
# include <varargs.h>
#endif
#if !(defined fprintf && defined _GL_STDIO_H) /* don't override gnulib */
#undef fprintf
#define fprintf libintl_fprintf
extern int fprintf (FILE *, const char *, ...);
#endif
#if !(defined vfprintf && defined _GL_STDIO_H) /* don't override gnulib */
#undef vfprintf
#define vfprintf libintl_vfprintf
extern int vfprintf (FILE *, const char *, va_list);
#endif
#if !(defined printf && defined _GL_STDIO_H) /* don't override gnulib */
#undef printf
#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__
/* Don't break __attribute__((format(printf,M,N))).
This redefinition is only possible because the libc in NetBSD, Cygwin,
mingw does not have a function __printf__.
Alternatively, we could have done this redirection only when compiling with
__GNUC__, together with a symbol redirection:
extern int printf (const char *, ...)
__asm__ (#__USER_LABEL_PREFIX__ "libintl_printf");
But doing it now would introduce a binary incompatibility with already
distributed versions of libintl on these systems. */
# define libintl_printf __printf__
#endif
#define printf libintl_printf
extern int printf (const char *, ...);
#endif
#if !(defined vprintf && defined _GL_STDIO_H) /* don't override gnulib */
#undef vprintf
#define vprintf libintl_vprintf
extern int vprintf (const char *, va_list);
#endif
#if !(defined sprintf && defined _GL_STDIO_H) /* don't override gnulib */
#undef sprintf
#define sprintf libintl_sprintf
extern int sprintf (char *, const char *, ...);
#endif
#if !(defined vsprintf && defined _GL_STDIO_H) /* don't override gnulib */
#undef vsprintf
#define vsprintf libintl_vsprintf
extern int vsprintf (char *, const char *, va_list);
#endif
#if 1
#if !(defined snprintf && defined _GL_STDIO_H) /* don't override gnulib */
#undef snprintf
#define snprintf libintl_snprintf
extern int snprintf (char *, size_t, const char *, ...);
#endif
#if !(defined vsnprintf && defined _GL_STDIO_H) /* don't override gnulib */
#undef vsnprintf
#define vsnprintf libintl_vsnprintf
extern int vsnprintf (char *, size_t, const char *, va_list);
#endif
#endif
#if 0
#if !(defined asprintf && defined _GL_STDIO_H) /* don't override gnulib */
#undef asprintf
#define asprintf libintl_asprintf
extern int asprintf (char **, const char *, ...);
#endif
#if !(defined vasprintf && defined _GL_STDIO_H) /* don't override gnulib */
#undef vasprintf
#define vasprintf libintl_vasprintf
extern int vasprintf (char **, const char *, va_list);
#endif
#endif
#if 0
#undef fwprintf
#define fwprintf libintl_fwprintf
extern int fwprintf (FILE *, const wchar_t *, ...);
#undef vfwprintf
#define vfwprintf libintl_vfwprintf
extern int vfwprintf (FILE *, const wchar_t *, va_list);
#undef wprintf
#define wprintf libintl_wprintf
extern int wprintf (const wchar_t *, ...);
#undef vwprintf
#define vwprintf libintl_vwprintf
extern int vwprintf (const wchar_t *, va_list);
#undef swprintf
#define swprintf libintl_swprintf
extern int swprintf (wchar_t *, size_t, const wchar_t *, ...);
#undef vswprintf
#define vswprintf libintl_vswprintf
extern int vswprintf (wchar_t *, size_t, const wchar_t *, va_list);
#endif
#endif
/* Support for the locale chosen by the user. */
#if (defined __APPLE__ && defined __MACH__) || defined _WIN32 || defined __WIN32__ || defined __CYGWIN__
#undef setlocale
#define setlocale libintl_setlocale
extern char *setlocale (int, const char *);
#if 0
#undef newlocale
#define newlocale libintl_newlocale
extern locale_t newlocale (int, const char *, locale_t);
#endif
#endif
/* Support for relocatable packages. */
/* Sets the original and the current installation prefix of the package.
Relocation simply replaces a pathname starting with the original prefix
by the corresponding pathname with the current prefix instead. Both
prefixes should be directory names without trailing slash (i.e. use ""
instead of "/"). */
#define libintl_set_relocation_prefix libintl_set_relocation_prefix
extern void
libintl_set_relocation_prefix (const char *orig_prefix,
const char *curr_prefix);
#ifdef __cplusplus
}
#endif
#endif /* libintl.h */
+66
View File
@@ -0,0 +1,66 @@
/* Class autosprintf - formatted output to an ostream.
Copyright (C) 2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
by the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifndef _AUTOSPRINTF_H
#define _AUTOSPRINTF_H
#ifndef __attribute__
/* This feature is available in gcc versions 2.5 and later. */
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
# define __attribute__(Spec) /* empty */
# endif
/* The __-protected variants of `format' and `printf' attributes
are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
# define __format__ format
# define __printf__ printf
# endif
#endif
#include <string>
#include <iostream>
namespace gnu
{
/* A temporary object, usually allocated on the stack, representing
the result of an asprintf() call. */
class autosprintf
{
public:
/* Constructor: takes a format string and the printf arguments. */
autosprintf (const char *format, ...)
__attribute__ ((__format__ (__printf__, 2, 3)));
/* Copy constructor. */
autosprintf (const autosprintf& src);
/* Destructor: frees the temporarily allocated string. */
~autosprintf ();
/* Conversion to string. */
operator char * () const;
operator std::string () const;
/* Output to an ostream. */
friend inline std::ostream& operator<< (std::ostream& stream, const autosprintf& tmp)
{
stream << (tmp.str ? tmp.str : "(error in autosprintf)");
return stream;
}
private:
char *str;
};
}
#endif /* _AUTOSPRINTF_H */
+357
View File
@@ -0,0 +1,357 @@
/* Public API for GNU gettext PO files - contained in libgettextpo.
Copyright (C) 2003-2008, 2010 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2003.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#ifndef _GETTEXT_PO_H
#define _GETTEXT_PO_H 1
#include <stdlib.h>
#ifdef __cplusplus
extern "C" {
#endif
/* =========================== Meta Information ============================ */
/* Version number: (major<<16) + (minor<<8) + subminor */
#define LIBGETTEXTPO_VERSION 0x001201
extern int libgettextpo_version;
/* ================================= Types ================================= */
/* A po_file_t represents the contents of a PO file. */
typedef struct po_file *po_file_t;
/* A po_message_iterator_t represents an iterator through a domain of a
PO file. */
typedef struct po_message_iterator *po_message_iterator_t;
/* A po_message_t represents a message in a PO file. */
typedef struct po_message *po_message_t;
/* A po_filepos_t represents a string's position within a source file. */
typedef struct po_filepos *po_filepos_t;
/* A po_error_handler handles error situations. */
struct po_error_handler
{
/* Signal an error. The error message is built from FORMAT and the following
arguments. ERRNUM, if nonzero, is an errno value.
Must increment the error_message_count variable declared in error.h.
Must not return if STATUS is nonzero. */
void (*error) (int status, int errnum,
const char *format, ...)
#if ((__GNUC__ == 3 && __GNUC_MINOR__ >= 1) || __GNUC__ > 3) && !__STRICT_ANSI__
__attribute__ ((__format__ (__printf__, 3, 4)))
#endif
;
/* Signal an error. The error message is built from FORMAT and the following
arguments. The error location is at FILENAME line LINENO. ERRNUM, if
nonzero, is an errno value.
Must increment the error_message_count variable declared in error.h.
Must not return if STATUS is nonzero. */
void (*error_at_line) (int status, int errnum,
const char *filename, unsigned int lineno,
const char *format, ...)
#if ((__GNUC__ == 3 && __GNUC_MINOR__ >= 1) || __GNUC__ > 3) && !__STRICT_ANSI__
__attribute__ ((__format__ (__printf__, 5, 6)))
#endif
;
/* Signal a multiline warning. The PREFIX applies to all lines of the
MESSAGE. Free the PREFIX and MESSAGE when done. */
void (*multiline_warning) (char *prefix, char *message);
/* Signal a multiline error. The PREFIX applies to all lines of the
MESSAGE. Free the PREFIX and MESSAGE when done.
Must increment the error_message_count variable declared in error.h if
PREFIX is non-NULL. */
void (*multiline_error) (char *prefix, char *message);
};
typedef const struct po_error_handler *po_error_handler_t;
/* A po_xerror_handler handles warnings, error and fatal error situations. */
#define PO_SEVERITY_WARNING 0 /* just a warning, tell the user */
#define PO_SEVERITY_ERROR 1 /* an error, the operation cannot complete */
#define PO_SEVERITY_FATAL_ERROR 2 /* an error, the operation must be aborted */
struct po_xerror_handler
{
/* Signal a problem of the given severity.
MESSAGE and/or FILENAME + LINENO indicate where the problem occurred.
If FILENAME is NULL, FILENAME and LINENO and COLUMN should be ignored.
If LINENO is (size_t)(-1), LINENO and COLUMN should be ignored.
If COLUMN is (size_t)(-1), it should be ignored.
MESSAGE_TEXT is the problem description (if MULTILINE_P is true,
multiple lines of text, each terminated with a newline, otherwise
usually a single line).
Must not return if SEVERITY is PO_SEVERITY_FATAL_ERROR. */
void (*xerror) (int severity,
po_message_t message,
const char *filename, size_t lineno, size_t column,
int multiline_p, const char *message_text);
/* Signal a problem that refers to two messages.
Similar to two calls to xerror.
If possible, a "..." can be appended to MESSAGE_TEXT1 and prepended to
MESSAGE_TEXT2. */
void (*xerror2) (int severity,
po_message_t message1,
const char *filename1, size_t lineno1, size_t column1,
int multiline_p1, const char *message_text1,
po_message_t message2,
const char *filename2, size_t lineno2, size_t column2,
int multiline_p2, const char *message_text2);
};
typedef const struct po_xerror_handler *po_xerror_handler_t;
/* Memory allocation:
The memory allocations performed by these functions use xmalloc(),
therefore will cause a program exit if memory is exhausted.
The memory allocated by po_file_read, and implicitly returned through
the po_message_* functions, lasts until freed with po_file_free. */
/* ============================= po_file_t API ============================= */
/* Create an empty PO file representation in memory. */
extern po_file_t po_file_create (void);
/* Read a PO file into memory.
Return its contents. Upon failure, return NULL and set errno. */
#define po_file_read po_file_read_v3
extern po_file_t po_file_read (const char *filename,
po_xerror_handler_t handler);
/* Write an in-memory PO file to a file.
Upon failure, return NULL and set errno. */
#define po_file_write po_file_write_v2
extern po_file_t po_file_write (po_file_t file, const char *filename,
po_xerror_handler_t handler);
/* Free a PO file from memory. */
extern void po_file_free (po_file_t file);
/* Return the names of the domains covered by a PO file in memory. */
extern const char * const * po_file_domains (po_file_t file);
/* =========================== Header entry API ============================ */
/* Return the header entry of a domain of a PO file in memory.
The domain NULL denotes the default domain.
Return NULL if there is no header entry. */
extern const char * po_file_domain_header (po_file_t file, const char *domain);
/* Return the value of a field in a header entry.
The return value is either a freshly allocated string, to be freed by the
caller, or NULL. */
extern char * po_header_field (const char *header, const char *field);
/* Return the header entry with a given field set to a given value. The field
is added if necessary.
The return value is a freshly allocated string. */
extern char * po_header_set_field (const char *header, const char *field, const char *value);
/* ======================= po_message_iterator_t API ======================= */
/* Create an iterator for traversing a domain of a PO file in memory.
The domain NULL denotes the default domain. */
extern po_message_iterator_t po_message_iterator (po_file_t file, const char *domain);
/* Free an iterator. */
extern void po_message_iterator_free (po_message_iterator_t iterator);
/* Return the next message, and advance the iterator.
Return NULL at the end of the message list. */
extern po_message_t po_next_message (po_message_iterator_t iterator);
/* Insert a message in a PO file in memory, in the domain and at the position
indicated by the iterator. The iterator thereby advances past the freshly
inserted message. */
extern void po_message_insert (po_message_iterator_t iterator, po_message_t message);
/* =========================== po_message_t API ============================ */
/* Return a freshly constructed message.
To finish initializing the message, you must set the msgid and msgstr. */
extern po_message_t po_message_create (void);
/* Return the context of a message, or NULL for a message not restricted to a
context. */
extern const char * po_message_msgctxt (po_message_t message);
/* Change the context of a message. NULL means a message not restricted to a
context. */
extern void po_message_set_msgctxt (po_message_t message, const char *msgctxt);
/* Return the msgid (untranslated English string) of a message. */
extern const char * po_message_msgid (po_message_t message);
/* Change the msgid (untranslated English string) of a message. */
extern void po_message_set_msgid (po_message_t message, const char *msgid);
/* Return the msgid_plural (untranslated English plural string) of a message,
or NULL for a message without plural. */
extern const char * po_message_msgid_plural (po_message_t message);
/* Change the msgid_plural (untranslated English plural string) of a message.
NULL means a message without plural. */
extern void po_message_set_msgid_plural (po_message_t message, const char *msgid_plural);
/* Return the msgstr (translation) of a message.
Return the empty string for an untranslated message. */
extern const char * po_message_msgstr (po_message_t message);
/* Change the msgstr (translation) of a message.
Use an empty string to denote an untranslated message. */
extern void po_message_set_msgstr (po_message_t message, const char *msgstr);
/* Return the msgstr[index] for a message with plural handling, or
NULL when the index is out of range or for a message without plural. */
extern const char * po_message_msgstr_plural (po_message_t message, int index);
/* Change the msgstr[index] for a message with plural handling.
Use a NULL value at the end to reduce the number of plural forms. */
extern void po_message_set_msgstr_plural (po_message_t message, int index, const char *msgstr);
/* Return the comments for a message. */
extern const char * po_message_comments (po_message_t message);
/* Change the comments for a message.
comments should be a multiline string, ending in a newline, or empty. */
extern void po_message_set_comments (po_message_t message, const char *comments);
/* Return the extracted comments for a message. */
extern const char * po_message_extracted_comments (po_message_t message);
/* Change the extracted comments for a message.
comments should be a multiline string, ending in a newline, or empty. */
extern void po_message_set_extracted_comments (po_message_t message, const char *comments);
/* Return the i-th file position for a message, or NULL if i is out of
range. */
extern po_filepos_t po_message_filepos (po_message_t message, int i);
/* Remove the i-th file position from a message.
The indices of all following file positions for the message are decremented
by one. */
extern void po_message_remove_filepos (po_message_t message, int i);
/* Add a file position to a message, if it is not already present for the
message.
file is the file name.
start_line is the line number where the string starts, or (size_t)(-1) if no
line number is available. */
extern void po_message_add_filepos (po_message_t message, const char *file, size_t start_line);
/* Return the previous context of a message, or NULL for none. */
extern const char * po_message_prev_msgctxt (po_message_t message);
/* Change the previous context of a message. NULL is allowed. */
extern void po_message_set_prev_msgctxt (po_message_t message, const char *prev_msgctxt);
/* Return the previous msgid (untranslated English string) of a message, or
NULL for none. */
extern const char * po_message_prev_msgid (po_message_t message);
/* Change the previous msgid (untranslated English string) of a message.
NULL is allowed. */
extern void po_message_set_prev_msgid (po_message_t message, const char *prev_msgid);
/* Return the previous msgid_plural (untranslated English plural string) of a
message, or NULL for none. */
extern const char * po_message_prev_msgid_plural (po_message_t message);
/* Change the previous msgid_plural (untranslated English plural string) of a
message. NULL is allowed. */
extern void po_message_set_prev_msgid_plural (po_message_t message, const char *prev_msgid_plural);
/* Return true if the message is marked obsolete. */
extern int po_message_is_obsolete (po_message_t message);
/* Change the obsolete mark of a message. */
extern void po_message_set_obsolete (po_message_t message, int obsolete);
/* Return true if the message is marked fuzzy. */
extern int po_message_is_fuzzy (po_message_t message);
/* Change the fuzzy mark of a message. */
extern void po_message_set_fuzzy (po_message_t message, int fuzzy);
/* Return true if the message is marked as being a format string of the given
type (e.g. "c-format"). */
extern int po_message_is_format (po_message_t message, const char *format_type);
/* Change the format string mark for a given type of a message. */
extern void po_message_set_format (po_message_t message, const char *format_type, /*bool*/int value);
/* If a numeric range of a message is set, return true and store the minimum
and maximum value in *MINP and *MAXP. */
extern int po_message_is_range (po_message_t message, int *minp, int *maxp);
/* Change the numeric range of a message. MIN and MAX must be non-negative,
with MIN < MAX. Use MIN = MAX = -1 to remove the numeric range of a
message. */
extern void po_message_set_range (po_message_t message, int min, int max);
/* =========================== po_filepos_t API ============================ */
/* Return the file name. */
extern const char * po_filepos_file (po_filepos_t filepos);
/* Return the line number where the string starts, or (size_t)(-1) if no line
number is available. */
extern size_t po_filepos_start_line (po_filepos_t filepos);
/* ============================ Format type API ============================= */
/* Return a NULL terminated array of the supported format types. */
extern const char * const * po_format_list (void);
/* Return the pretty name associated with a format type.
For example, for "csharp-format", return "C#".
Return NULL if the argument is not a supported format type. */
extern const char * po_format_pretty_name (const char *format_type);
/* ============================= Checking API ============================== */
/* Test whether an entire file PO file is valid, like msgfmt does it.
If it is invalid, pass the reasons to the handler. */
extern void po_file_check_all (po_file_t file, po_xerror_handler_t handler);
/* Test a single message, to be inserted in a PO file in memory, like msgfmt
does it. If it is invalid, pass the reasons to the handler. The iterator
is not modified by this call; it only specifies the file and the domain. */
extern void po_message_check_all (po_message_t message, po_message_iterator_t iterator, po_xerror_handler_t handler);
/* Test whether the message translation is a valid format string if the message
is marked as being a format string. If it is invalid, pass the reasons to
the handler. */
#define po_message_check_format po_message_check_format_v2
extern void po_message_check_format (po_message_t message, po_xerror_handler_t handler);
#ifdef __cplusplus
}
#endif
#endif /* _GETTEXT_PO_H */
+464
View File
@@ -0,0 +1,464 @@
/* Message catalogs for internationalization.
Copyright (C) 1995-1997, 2000-2010 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
by the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA. */
#ifndef _LIBINTL_H
#define _LIBINTL_H 1
#include <locale.h>
#if (defined __APPLE__ && defined __MACH__) && 0
# include <xlocale.h>
#endif
/* The LC_MESSAGES locale category is the category used by the functions
gettext() and dgettext(). It is specified in POSIX, but not in ANSI C.
On systems that don't define it, use an arbitrary value instead.
On Solaris, <locale.h> defines __LOCALE_H (or _LOCALE_H in Solaris 2.5)
then includes <libintl.h> (i.e. this file!) and then only defines
LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES
in this case. */
#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun))
# define LC_MESSAGES 1729
#endif
/* We define an additional symbol to signal that we use the GNU
implementation of gettext. */
#define __USE_GNU_GETTEXT 1
/* Provide information about the supported file formats. Returns the
maximum minor revision number supported for a given major revision. */
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \
((major) == 0 || (major) == 1 ? 1 : -1)
/* Resolve a platform specific conflict on DJGPP. GNU gettext takes
precedence over _conio_gettext. */
#ifdef __DJGPP__
# undef gettext
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* Version number: (major<<16) + (minor<<8) + subminor */
#define LIBINTL_VERSION 0x001201
extern int libintl_version;
/* We redirect the functions to those prefixed with "libintl_". This is
necessary, because some systems define gettext/textdomain/... in the C
library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer).
If we used the unprefixed names, there would be cases where the
definition in the C library would override the one in the libintl.so
shared library. Recall that on ELF systems, the symbols are looked
up in the following order:
1. in the executable,
2. in the shared libraries specified on the link command line, in order,
3. in the dependencies of the shared libraries specified on the link
command line,
4. in the dlopen()ed shared libraries, in the order in which they were
dlopen()ed.
The definition in the C library would override the one in libintl.so if
either
* -lc is given on the link command line and -lintl isn't, or
* -lc is given on the link command line before -lintl, or
* libintl.so is a dependency of a dlopen()ed shared library but not
linked to the executable at link time.
Since Solaris gettext() behaves differently than GNU gettext(), this
would be unacceptable.
The redirection happens by default through macros in C, so that &gettext
is independent of the compilation unit, but through inline functions in
C++, in order not to interfere with the name mangling of class fields or
class methods called 'gettext'. */
/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS.
If he doesn't, we choose the method. A third possible method is
_INTL_REDIRECT_ASM, supported only by GCC. */
#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS)
# if defined __GNUC__ && __GNUC__ >= 2 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus)
# define _INTL_REDIRECT_ASM
# else
# ifdef __cplusplus
# define _INTL_REDIRECT_INLINE
# else
# define _INTL_REDIRECT_MACROS
# endif
# endif
#endif
/* Auxiliary macros. */
#ifdef _INTL_REDIRECT_ASM
# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname))
# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring
# define _INTL_STRINGIFY(prefix) #prefix
#else
# define _INTL_ASM(cname)
#endif
/* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return
its n-th argument literally. This enables GCC to warn for example about
printf (gettext ("foo %y")). */
#if defined __GNUC__ && __GNUC__ >= 3 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1 && defined __cplusplus)
# define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n)))
#else
# define _INTL_MAY_RETURN_STRING_ARG(n)
#endif
/* Look up MSGID in the current default message catalog for the current
LC_MESSAGES locale. If not found, returns MSGID itself (the default
text). */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_gettext (const char *__msgid)
_INTL_MAY_RETURN_STRING_ARG (1);
static inline char *gettext (const char *__msgid)
{
return libintl_gettext (__msgid);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define gettext libintl_gettext
#endif
extern char *gettext (const char *__msgid)
_INTL_ASM (libintl_gettext)
_INTL_MAY_RETURN_STRING_ARG (1);
#endif
/* Look up MSGID in the DOMAINNAME message catalog for the current
LC_MESSAGES locale. */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_dgettext (const char *__domainname, const char *__msgid)
_INTL_MAY_RETURN_STRING_ARG (2);
static inline char *dgettext (const char *__domainname, const char *__msgid)
{
return libintl_dgettext (__domainname, __msgid);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define dgettext libintl_dgettext
#endif
extern char *dgettext (const char *__domainname, const char *__msgid)
_INTL_ASM (libintl_dgettext)
_INTL_MAY_RETURN_STRING_ARG (2);
#endif
/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
locale. */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_dcgettext (const char *__domainname, const char *__msgid,
int __category)
_INTL_MAY_RETURN_STRING_ARG (2);
static inline char *dcgettext (const char *__domainname, const char *__msgid,
int __category)
{
return libintl_dcgettext (__domainname, __msgid, __category);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define dcgettext libintl_dcgettext
#endif
extern char *dcgettext (const char *__domainname, const char *__msgid,
int __category)
_INTL_ASM (libintl_dcgettext)
_INTL_MAY_RETURN_STRING_ARG (2);
#endif
/* Similar to `gettext' but select the plural form corresponding to the
number N. */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_ngettext (const char *__msgid1, const char *__msgid2,
unsigned long int __n)
_INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2);
static inline char *ngettext (const char *__msgid1, const char *__msgid2,
unsigned long int __n)
{
return libintl_ngettext (__msgid1, __msgid2, __n);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define ngettext libintl_ngettext
#endif
extern char *ngettext (const char *__msgid1, const char *__msgid2,
unsigned long int __n)
_INTL_ASM (libintl_ngettext)
_INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2);
#endif
/* Similar to `dgettext' but select the plural form corresponding to the
number N. */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_dngettext (const char *__domainname, const char *__msgid1,
const char *__msgid2, unsigned long int __n)
_INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3);
static inline char *dngettext (const char *__domainname, const char *__msgid1,
const char *__msgid2, unsigned long int __n)
{
return libintl_dngettext (__domainname, __msgid1, __msgid2, __n);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define dngettext libintl_dngettext
#endif
extern char *dngettext (const char *__domainname,
const char *__msgid1, const char *__msgid2,
unsigned long int __n)
_INTL_ASM (libintl_dngettext)
_INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3);
#endif
/* Similar to `dcgettext' but select the plural form corresponding to the
number N. */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_dcngettext (const char *__domainname,
const char *__msgid1, const char *__msgid2,
unsigned long int __n, int __category)
_INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3);
static inline char *dcngettext (const char *__domainname,
const char *__msgid1, const char *__msgid2,
unsigned long int __n, int __category)
{
return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define dcngettext libintl_dcngettext
#endif
extern char *dcngettext (const char *__domainname,
const char *__msgid1, const char *__msgid2,
unsigned long int __n, int __category)
_INTL_ASM (libintl_dcngettext)
_INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3);
#endif
/* Set the current default message catalog to DOMAINNAME.
If DOMAINNAME is null, return the current default.
If DOMAINNAME is "", reset to the default of "messages". */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_textdomain (const char *__domainname);
static inline char *textdomain (const char *__domainname)
{
return libintl_textdomain (__domainname);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define textdomain libintl_textdomain
#endif
extern char *textdomain (const char *__domainname)
_INTL_ASM (libintl_textdomain);
#endif
/* Specify that the DOMAINNAME message catalog will be found
in DIRNAME rather than in the system locale data base. */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_bindtextdomain (const char *__domainname,
const char *__dirname);
static inline char *bindtextdomain (const char *__domainname,
const char *__dirname)
{
return libintl_bindtextdomain (__domainname, __dirname);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define bindtextdomain libintl_bindtextdomain
#endif
extern char *bindtextdomain (const char *__domainname, const char *__dirname)
_INTL_ASM (libintl_bindtextdomain);
#endif
/* Specify the character encoding in which the messages from the
DOMAINNAME message catalog will be returned. */
#ifdef _INTL_REDIRECT_INLINE
extern char *libintl_bind_textdomain_codeset (const char *__domainname,
const char *__codeset);
static inline char *bind_textdomain_codeset (const char *__domainname,
const char *__codeset)
{
return libintl_bind_textdomain_codeset (__domainname, __codeset);
}
#else
#ifdef _INTL_REDIRECT_MACROS
# define bind_textdomain_codeset libintl_bind_textdomain_codeset
#endif
extern char *bind_textdomain_codeset (const char *__domainname,
const char *__codeset)
_INTL_ASM (libintl_bind_textdomain_codeset);
#endif
/* Support for format strings with positions in *printf(), following the
POSIX/XSI specification.
Note: These replacements for the *printf() functions are visible only
in source files that #include <libintl.h> or #include "gettext.h".
Packages that use *printf() in source files that don't refer to _()
or gettext() but for which the format string could be the return value
of _() or gettext() need to add this #include. Oh well. */
#if !0
#include <stdio.h>
#include <stddef.h>
/* Get va_list. */
#if (defined __STDC__ && __STDC__) || defined __cplusplus || defined _MSC_VER
# include <stdarg.h>
#else
# include <varargs.h>
#endif
#if !(defined fprintf && defined _GL_STDIO_H) /* don't override gnulib */
#undef fprintf
#define fprintf libintl_fprintf
extern int fprintf (FILE *, const char *, ...);
#endif
#if !(defined vfprintf && defined _GL_STDIO_H) /* don't override gnulib */
#undef vfprintf
#define vfprintf libintl_vfprintf
extern int vfprintf (FILE *, const char *, va_list);
#endif
#if !(defined printf && defined _GL_STDIO_H) /* don't override gnulib */
#undef printf
#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__
/* Don't break __attribute__((format(printf,M,N))).
This redefinition is only possible because the libc in NetBSD, Cygwin,
mingw does not have a function __printf__.
Alternatively, we could have done this redirection only when compiling with
__GNUC__, together with a symbol redirection:
extern int printf (const char *, ...)
__asm__ (#__USER_LABEL_PREFIX__ "libintl_printf");
But doing it now would introduce a binary incompatibility with already
distributed versions of libintl on these systems. */
# define libintl_printf __printf__
#endif
#define printf libintl_printf
extern int printf (const char *, ...);
#endif
#if !(defined vprintf && defined _GL_STDIO_H) /* don't override gnulib */
#undef vprintf
#define vprintf libintl_vprintf
extern int vprintf (const char *, va_list);
#endif
#if !(defined sprintf && defined _GL_STDIO_H) /* don't override gnulib */
#undef sprintf
#define sprintf libintl_sprintf
extern int sprintf (char *, const char *, ...);
#endif
#if !(defined vsprintf && defined _GL_STDIO_H) /* don't override gnulib */
#undef vsprintf
#define vsprintf libintl_vsprintf
extern int vsprintf (char *, const char *, va_list);
#endif
#if 1
#if !(defined snprintf && defined _GL_STDIO_H) /* don't override gnulib */
#undef snprintf
#define snprintf libintl_snprintf
extern int snprintf (char *, size_t, const char *, ...);
#endif
#if !(defined vsnprintf && defined _GL_STDIO_H) /* don't override gnulib */
#undef vsnprintf
#define vsnprintf libintl_vsnprintf
extern int vsnprintf (char *, size_t, const char *, va_list);
#endif
#endif
#if 0
#if !(defined asprintf && defined _GL_STDIO_H) /* don't override gnulib */
#undef asprintf
#define asprintf libintl_asprintf
extern int asprintf (char **, const char *, ...);
#endif
#if !(defined vasprintf && defined _GL_STDIO_H) /* don't override gnulib */
#undef vasprintf
#define vasprintf libintl_vasprintf
extern int vasprintf (char **, const char *, va_list);
#endif
#endif
#if 0
#undef fwprintf
#define fwprintf libintl_fwprintf
extern int fwprintf (FILE *, const wchar_t *, ...);
#undef vfwprintf
#define vfwprintf libintl_vfwprintf
extern int vfwprintf (FILE *, const wchar_t *, va_list);
#undef wprintf
#define wprintf libintl_wprintf
extern int wprintf (const wchar_t *, ...);
#undef vwprintf
#define vwprintf libintl_vwprintf
extern int vwprintf (const wchar_t *, va_list);
#undef swprintf
#define swprintf libintl_swprintf
extern int swprintf (wchar_t *, size_t, const wchar_t *, ...);
#undef vswprintf
#define vswprintf libintl_vswprintf
extern int vswprintf (wchar_t *, size_t, const wchar_t *, va_list);
#endif
#endif
/* Support for the locale chosen by the user. */
#if (defined __APPLE__ && defined __MACH__) || defined _WIN32 || defined __WIN32__ || defined __CYGWIN__
#undef setlocale
#define setlocale libintl_setlocale
extern char *setlocale (int, const char *);
#if 0
#undef newlocale
#define newlocale libintl_newlocale
extern locale_t newlocale (int, const char *, locale_t);
#endif
#endif
/* Support for relocatable packages. */
/* Sets the original and the current installation prefix of the package.
Relocation simply replaces a pathname starting with the original prefix
by the corresponding pathname with the current prefix instead. Both
prefixes should be directory names without trailing slash (i.e. use ""
instead of "/"). */
#define libintl_set_relocation_prefix libintl_set_relocation_prefix
extern void
libintl_set_relocation_prefix (const char *orig_prefix,
const char *curr_prefix);
#ifdef __cplusplus
}
#endif
#endif /* libintl.h */
Binary file not shown.
+86
View File
@@ -0,0 +1,86 @@
#!/bin/sh
# Prints a package's identification PACKAGE VERSION or PACKAGE.
#
# Copyright (C) 2001-2003, 2005 Free Software Foundation, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
want_version="$1"
# NLS nuisances: Letter ranges are different in the Estonian locale.
LC_ALL=C
while true; do
if test -f configure; then
package=`(grep '^PACKAGE_NAME=' configure; grep '^ *PACKAGE=' configure) | grep -v '=[ ]*$' | sed -e '1q' | sed -e 's/^[^=]*=//' | sed -e "s/^'//" -e "s/'$//"`
case "$package" in
*[\"\$\`\{\}]*)
# Some packages (gcal) retrieve the package name dynamically.
package=
;;
esac
if test -n "$package"; then
is_gnu=`LC_ALL=C grep "GNU $package" * 2>/dev/null | grep -v '^libtool:'`
if test -n "$is_gnu"; then
package="GNU $package"
fi
if test -n "$want_version"; then
version=`(grep '^PACKAGE_VERSION=' configure; grep '^ *VERSION=' configure) | grep -v '=[ ]*$' | sed -e '1q' | sed -e 's/^[^=]*=//' | sed -e "s/^'//" -e "s/'$//"`
case "$version" in
*[\"\$\`\{\}]*)
# Some packages (gcal, gcc, clisp) retrieve the version dynamically.
version=
;;
esac
if test -n "$version"; then
echo "$package $version"
else
echo "$package"
fi
else
echo "$package"
fi
exit 0
fi
fi
dir=`basename \`pwd\``
case "$dir" in
i18n)
# This directory name, used in GNU make, is not the top level directory.
;;
*[A-Za-z]*[0-9]*)
package=`echo "$dir" | sed -e 's/^\([^0-9]*\)[0-9].*$/\1/' -e 's/[-_]$//'`
if test -n "$want_version"; then
version=`echo "$dir" | sed -e 's/^[^0-9]*\([0-9].*\)$/\1/'`
echo "$package $version"
else
echo "$package"
fi
exit 0
;;
esac
# Go to parent directory
last=`/bin/pwd`
cd ..
curr=`/bin/pwd`
if test "$last" = "$curr"; then
# Oops, didn't find the package name.
if test -n "$want_version"; then
echo "PACKAGE VERSION"
else
echo "PACKAGE"
fi
exit 0
fi
done
Binary file not shown.
+436
View File
@@ -0,0 +1,436 @@
#!/bin/sh
# Prints the user's email address, with confirmation from the user.
#
# Copyright (C) 2001-2003, 2005 Free Software Foundation, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Prerequisites for using ${exec_prefix}/lib and ${datarootdir}/locale.
prefix="/usr/local/i686-w64-mingw32/stow/gettext-0.18.1.1"
exec_prefix="${prefix}"
datarootdir="${prefix}/share"
datadir="${datarootdir}"
# Set variables libdir, localedir.
libdir="${exec_prefix}/lib"
localedir="${datarootdir}/locale"
# Support for relocatability.
if test "no" = yes; then
orig_installdir="$libdir"/gettext # see Makefile.am's install rule
# Determine curr_installdir without caring for symlinked callers.
curr_installdir=`echo "$0" | sed -e 's,/[^/]*$,,'`
curr_installdir=`cd "$curr_installdir" && pwd`
# Compute the original/current installation prefixes by stripping the
# trailing directories off the original/current installation directories.
while true; do
orig_last=`echo "$orig_installdir" | sed -n -e 's,^.*/\([^/]*\)$,\1,p'`
curr_last=`echo "$curr_installdir" | sed -n -e 's,^.*/\([^/]*\)$,\1,p'`
if test -z "$orig_last" || test -z "$curr_last"; then
break
fi
if test "$orig_last" != "$curr_last"; then
break
fi
orig_installdir=`echo "$orig_installdir" | sed -e 's,/[^/]*$,,'`
curr_installdir=`echo "$curr_installdir" | sed -e 's,/[^/]*$,,'`
done
# Now relocate the directory variables that we use.
libdir=`echo "$libdir/" | sed -e "s%^${orig_installdir}/%${curr_installdir}/%" | sed -e 's,/$,,'`
localedir=`echo "$localedir/" | sed -e "s%^${orig_installdir}/%${curr_installdir}/%" | sed -e 's,/$,,'`
fi
# Internationalization.
. gettext.sh
TEXTDOMAIN=gettext-tools
export TEXTDOMAIN
TEXTDOMAINDIR="$localedir"
export TEXTDOMAINDIR
# Redirect fileno 3 to interactive I/O.
exec 3>/dev/tty
# Output a prompt.
if test $# != 0; then
echo "$1" 1>&3
fi
# Find the user name on the local machine.
user=`id -u -n 2>/dev/null`
if test -z "$user"; then
user="$USER"
if test -z "$user"; then
user="$LOGNAME"
if test -z "$user"; then
user=unknown
fi
fi
fi
# Find the hostname.
# hostname on some systems (SVR3.2, old Linux) returns a bogus exit status,
# so uname gets run too, so we keep only the first line of output.
#host=`(hostname || uname -n) 2>/dev/null | sed 1q`
host=`"$libdir"/gettext/hostname --short 2>/dev/null | sed 1q`
# Find the hostname.
hostfqdn=`"$libdir"/gettext/hostname --fqdn 2>/dev/null | sed 1q`
# Find a list of email addresses from various mailer configuration files.
# All mailers use configuration files under $HOME. We handle them in a
# last-modified - first-priority order.
cd $HOME
files=""
# ----------------------- BEGIN MAILER SPECIFIC CODE -----------------------
# Mozilla Thunderbird addresses
files="$files .thunderbird/*/prefs.js"
# Mozilla addresses
files="$files .mozilla/*/prefs.js"
# Netscape 4 addresses
files="$files .netscape/liprefs.js .netscape/preferences.js"
# Netscape 3 addresses
files="$files .netscape/preferences"
# Emacs/XEmacs rmail, Emacs/XEmacs gnus, XEmacs vm addresses
# XEmacs mew addresses
files="$files .emacs .emacs.el"
# KDE2 addresses
files="$files .kde2/share/config/emaildefaults"
# KDE kmail addresses
files="$files .kde2/share/config/kmailrc"
# GNOME evolution 2 addresses
files="$files .gconf/apps/evolution/mail/%gconf.xml"
# GNOME evolution 1 addresses
files="$files evolution/config.xmldb"
# GNOME balsa addresses
files="$files .gnome/balsa"
# StarOffice and OpenOffice addresses
sed_dos2unix='s/\r$//'
sed_soffice51='s,StarOffice 5\.1=\(.*\)$,\1/sofficerc,p'
sed_soffice52='s,StarOffice 5\.2=\(.*\)$,\1/user/sofficerc,p'
sed_ooffice='s,^OpenOffice[^=]*=\(.*\)$,\1/user/config/registry/instance/org/openoffice/UserProfile.xml,p'
files="$files Office51/sofficerc Office52/user/sofficerc "`sed -n -e "$sed_dos2unix" -e "$sed_soffice51" -e "$sed_soffice52" -e "$sed_ooffice" .sversionrc 2>/dev/null | sed -e 's,^file://*,/,'`
# mutt addresses
files="$files .muttrc"
# pine addresses
files="$files .pinerc"
# xfmail addresses
files="$files .xfmail/.xfmailrc"
# tkrat addresses
files="$files .ratatosk/ratatoskrc"
# ----------------------- END MAILER SPECIFIC CODE -----------------------
# Expand wildcards and remove nonexistent files from the list.
nfiles=""
for file in $files; do
if test -r "$file" && test ! -d "$file"; then
nfiles="$nfiles $file"
fi
done
files="$nfiles"
addresses=""
if test -n "$files"; then
for file in `ls -t $files`; do
case "$file" in
# ----------------------- BEGIN MAILER SPECIFIC CODE -----------------------
# Mozilla and Mozilla Thunderbird addresses
.mozilla/*/prefs.js | .thunderbird/*/prefs.js)
addresses="$addresses "`grep -h '^user_pref("mail\.identity\..*\.useremail", ".*");$' $file 2>/dev/null | sed -e 's/^user_pref("mail\.identity\..*\.useremail", "\(.*\)");$/\1/'`
;;
# Netscape 4 addresses
.netscape/liprefs.js | .netscape/preferences.js)
addresses="$addresses "`grep -h '^user_pref("mail\.identity\.useremail", ".*");$' $file 2>/dev/null | sed -e 's/^user_pref("mail\.identity\.useremail", "\(.*\)");$/\1/'`
;;
# Netscape 3 addresses
.netscape/preferences)
addresses="$addresses "`grep -h '^EMAIL_ADDRESS:' $file 2>/dev/null | sed -e 's/^EMAIL_ADDRESS:[ ]*//'`
;;
.emacs | .emacs.el)
# Emacs/XEmacs rmail, Emacs/XEmacs gnus, XEmacs vm addresses
addresses="$addresses "`grep -h '[ (]user-mail-address "[^"]*"' $file 2>/dev/null | sed -e 's/^.*[ (]user-mail-address "\([^"]*\)".*$/\1/'`
# XEmacs mew addresses
domains=`grep -h '[ (]mew-mail-domain "[^"]*"' $file 2>/dev/null | sed -e 's/^.*[ (]mew-mail-domain "\([^"]*\)".*$/\1/'`
if test -n "$domains"; then
for domain in $domains; do
addresses="$addresses ${user}@$domain"
done
fi
;;
# KDE2 addresses
.kde2/share/config/emaildefaults)
addresses="$addresses "`grep -h '^EmailAddress=' $file 2>/dev/null | sed -e 's/^EmailAddress=//'`
;;
# KDE kmail addresses
.kde2/share/config/kmailrc)
addresses="$addresses "`grep -h '^Email Address=' $file 2>/dev/null | sed -e 's/^Email Address=//'`
;;
# GNOME evolution 2 addresses
.gconf/apps/evolution/mail/%gconf.xml)
sedexpr0='s,^.*&lt;addr-spec&gt;\(.*\)&lt;/addr-spec&gt;.*$,\1,p'
addresses="$addresses "`sed -n -e "$sedexpr0" < $file`
;;
# GNOME evolution 1 addresses
evolution/config.xmldb)
sedexpr0='s/^.*<entry name="identity_address_[0-9]*" type="string" value="\([^"]*\)".*$/\1/p'
sedexpr1='s/\(..\)/\\x\1/g'
sedexpr2='s,$,\\n,'
addresses="$addresses "`sed -n -e "$sedexpr0" < $file | while read hexstring; do printf \`echo "$hexstring" | sed -e "$sedexpr1" -e "$sedexpr2"\`; done`
;;
# GNOME balsa addresses
.gnome/balsa)
addresses="$addresses "`grep -h '^Address=' $file 2>/dev/null | sed -e 's/^Address=//'`
;;
# OpenOffice addresses
*/UserProfile.xml)
addresses="$addresses "`sed -n -e 's,^.*<mail cfg:type="string">\(.*\)</mail>.*$,\1,p' $file 2>/dev/null`
;;
# StarOffice addresses
# Not a typo. They really write "Adress" with a single d.
# German orthography...
*/sofficerc)
addresses="$addresses "`grep -h '^User-Adress=' $file 2>/dev/null | sed -e 's/#[^#]*$//' -e 's/^.*#//'`
;;
# mutt addresses
.muttrc)
mutt_addresses=`grep -h '^set from="[^"]*"[ ]*$' $file 2>/dev/null | sed -e 's/^set from="\([^"]*\)"[ ]*$/\1/'`
if test -n "$mutt_addresses"; then
addresses="$addresses $mutt_addresses"
else
# mutt uses $EMAIL as fallback.
if test -n "$EMAIL"; then
addresses="$addresses $EMAIL"
fi
fi
;;
# pine addresses
.pinerc)
domains=`grep -h '^user-domain=' $file 2>/dev/null | sed -e 's/^user-domain=//'`
if test -n "$domains"; then
for domain in $domains; do
addresses="$addresses ${user}@$domain"
done
else
# The use-only-domain-name option is only used if the user-domain option is not present.
domains=`grep -h '^use-only-domain-name=' $file 2>/dev/null | sed -e 's/^use-only-domain-name=//'`
if test "Yes" = "$domains"; then
addresses="$addresses ${user}@"`echo "$hostfqdn" | sed -e 's/^[^.]*\.//'`
fi
fi
;;
# xfmail addresses
.xfmail/.xfmailrc)
addresses="$addresses "`grep -h '^from=.*<.*>' $file 2>/dev/null | sed -e 's/^.*<\([^<>]*\)>.*$/\1/'`
;;
# tkrat addresses
.ratatosk/ratatoskrc)
domains=`grep -h '^set option(masquerade_as) ' $file 2>/dev/null | sed -e 's/^set option(masquerade_as) //'`
if test -n "$domains"; then
for domain in $domains; do
addresses="$addresses ${user}@$domain"
done
else
# The domain option is used only if the masquerade_as option is not present.
domains=`grep -h '^set option(domain) ' $file 2>/dev/null | sed -e 's/^set option(domain) //'`
if test -n "$domains"; then
for domain in $domains; do
addresses="$addresses ${user}@${host}.$domain"
done
fi
fi
;;
# ----------------------- END MAILER SPECIFIC CODE -----------------------
esac
done
fi
# Some Debian systems have a file /etc/mailname.
if test -r /etc/mailname; then
hostmailname=`cat /etc/mailname`
if test -n "$hostmailname"; then
addresses="$addresses ${user}@$hostmailname"
fi
fi
# SuSE Linux >= 8.0 systems have a file /etc/sysconfig/mail.
if test -r /etc/sysconfig/mail; then
hostmailname=`. /etc/sysconfig/mail && echo "$FROM_HEADER"`
if test -n "$hostmailname"; then
addresses="$addresses ${user}@$hostmailname"
fi
fi
# elm has no user-defined addresses.
# mailx has no user-defined addresses.
# mh has no user-defined addresses.
# They use the system default.
addresses="$addresses ${user}@$hostfqdn"
# Normalize addresses: remove addresses without @, lowercase the part after @,
# and remove duplicates.
lowercase_sed='{
h
s/^[^@]*@\(.*\)$/\1/
y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
x
s/^\([^@]*\)@.*/\1@/
G
s/\
//
p
}'
naddresses=""
for addr in $addresses; do
case "$addr" in
"<"*">") addr=`echo "$addr" | sed -e 's/^<//' -e 's/>$//'` ;;
esac
case "$addr" in
*@*)
addr=`echo "$addr" | sed -n -e "$lowercase_sed"`
case " $naddresses " in
*" $addr "*) ;;
*) naddresses="$naddresses $addr" ;;
esac
;;
esac
done
addresses="$naddresses"
# Now it's time to ask the user.
case "$addresses" in
" "*" "*)
# At least two addresses.
lines=""
i=0
for addr in $addresses; do
i=`expr $i + 1`
lines="${lines}${i} ${addr}
"
done
while true; do
{ gettext "Which is your email address?"; echo; } 1>&3
echo "$lines" 1>&3
{ gettext "Please choose the number, or enter your email address."; echo; } 1>&3
read answer < /dev/tty
case "$answer" in
*@*) ;;
[0-9]*)
i=0
for addr in $addresses; do
i=`expr $i + 1`
if test "$i" = "$answer"; then
break 2
fi
done
;;
esac
case "$answer" in
"<"*">") answer=`echo "$answer" | sed -e 's/^<//' -e 's/>$//'` ;;
esac
case "$answer" in
*" "*) { gettext "Invalid email address: invalid character."; echo; echo; } 1>&3 ; continue ;;
*@*.*) ;;
*@*) { gettext "Invalid email address: need a fully qualified host name or domain name."; echo; echo; } 1>&3 ; continue ;;
*) { gettext "Invalid email address: missing @"; echo; echo; } 1>&3 ; continue ;;
esac
addr=`echo "$answer" | sed -n -e "$lowercase_sed"`
break
done
;;
" "*)
# One address.
while true; do
{ gettext "Is the following your email address?"; echo; } 1>&3
echo " $addresses" 1>&3
{ gettext "Please confirm by pressing Return, or enter your email address."; echo; } 1>&3
read answer < /dev/tty
if test -z "$answer"; then
addr=`echo "$addresses" | sed -e 's/^ //'`
break
fi
case "$answer" in
"<"*">") answer=`echo "$answer" | sed -e 's/^<//' -e 's/>$//'` ;;
esac
case "$answer" in
*" "*) { gettext "Invalid email address: invalid character."; echo; echo; } 1>&3 ; continue ;;
*@*.*) ;;
*@*) { gettext "Invalid email address: need a fully qualified host name or domain name."; echo; echo; } 1>&3 ; continue ;;
*) { gettext "Invalid email address: missing @"; echo; echo; } 1>&3 ; continue ;;
esac
addr=`echo "$answer" | sed -n -e "$lowercase_sed"`
break
done
;;
"")
# No address.
{ gettext "Couldn't find out about your email address."; echo; } 1>&3
while true; do
{ gettext "Please enter your email address."; echo; } 1>&3
read answer < /dev/tty
case "$answer" in
"<"*">") answer=`echo "$answer" | sed -e 's/^<//' -e 's/>$//'` ;;
esac
case "$answer" in
*" "*) { gettext "Invalid email address: invalid character."; echo; echo; } 1>&3 ; continue ;;
*@*.*) ;;
*@*) { gettext "Invalid email address: need a fully qualified host name or domain name."; echo; echo; } 1>&3 ; continue ;;
*) { gettext "Invalid email address: missing @"; echo; echo; } 1>&3 ; continue ;;
esac
addr=`echo "$answer" | sed -n -e "$lowercase_sed"`
break
done
;;
*) echo "internal error" 1>&3 ; exit 1 ;;
esac
# Print to standard output.
echo "$addr"
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+86
View File
@@ -0,0 +1,86 @@
#!/bin/sh
# Prints a package's identification PACKAGE VERSION or PACKAGE.
#
# Copyright (C) 2001-2003, 2005 Free Software Foundation, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
want_version="$1"
# NLS nuisances: Letter ranges are different in the Estonian locale.
LC_ALL=C
while true; do
if test -f configure; then
package=`(grep '^PACKAGE_NAME=' configure; grep '^ *PACKAGE=' configure) | grep -v '=[ ]*$' | sed -e '1q' | sed -e 's/^[^=]*=//' | sed -e "s/^'//" -e "s/'$//"`
case "$package" in
*[\"\$\`\{\}]*)
# Some packages (gcal) retrieve the package name dynamically.
package=
;;
esac
if test -n "$package"; then
is_gnu=`LC_ALL=C grep "GNU $package" * 2>/dev/null | grep -v '^libtool:'`
if test -n "$is_gnu"; then
package="GNU $package"
fi
if test -n "$want_version"; then
version=`(grep '^PACKAGE_VERSION=' configure; grep '^ *VERSION=' configure) | grep -v '=[ ]*$' | sed -e '1q' | sed -e 's/^[^=]*=//' | sed -e "s/^'//" -e "s/'$//"`
case "$version" in
*[\"\$\`\{\}]*)
# Some packages (gcal, gcc, clisp) retrieve the version dynamically.
version=
;;
esac
if test -n "$version"; then
echo "$package $version"
else
echo "$package"
fi
else
echo "$package"
fi
exit 0
fi
fi
dir=`basename \`pwd\``
case "$dir" in
i18n)
# This directory name, used in GNU make, is not the top level directory.
;;
*[A-Za-z]*[0-9]*)
package=`echo "$dir" | sed -e 's/^\([^0-9]*\)[0-9].*$/\1/' -e 's/[-_]$//'`
if test -n "$want_version"; then
version=`echo "$dir" | sed -e 's/^[^0-9]*\([0-9].*\)$/\1/'`
echo "$package $version"
else
echo "$package"
fi
exit 0
;;
esac
# Go to parent directory
last=`/bin/pwd`
cd ..
curr=`/bin/pwd`
if test "$last" = "$curr"; then
# Oops, didn't find the package name.
if test -n "$want_version"; then
echo "PACKAGE VERSION"
else
echo "PACKAGE"
fi
exit 0
fi
done
Loaded 100 of 580 files, more files were not shown because too many files have changed in this diff. Show more