Compare commits

..
2068 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
797 changed files with 246737 additions and 86146 deletions

No files matched your search

+73
View File
@@ -0,0 +1,73 @@
version: 2
jobs:
build:
working_directory: /root/SRB2
docker:
- image: debian:stretch
environment:
CC: ccache gcc -m32
PKG_CONFIG_LIBDIR: /usr/lib/i386-linux-gnu/pkgconfig
LIBGME_CFLAGS: -I/usr/include
LIBGME_LDFLAGS: -lgme
CCACHE_COMPRESS: true
WFLAGS: -Wno-unsuffixed-float-constants
GCC49: true
#- image: ubuntu:trusty
# environment:
# CC: ccache gcc -m32
# PKG_CONFIG_LIBDIR: /usr/lib/i386-linux-gnu/pkgconfig
# LIBGME_CFLAGS: -I/usr/include
# LIBGME_LDFLAGS: -lgme
# CCACHE_COMPRESS: true
# WFLAGS: -Wno-unsuffixed-float-constants
# GCC48: true
steps:
- run:
name: Add i386 arch
command: dpkg --add-architecture i386
- run:
name: Add STJr PPA
command: |
apt-get -qq update
apt-get -qq -y install dirmngr
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0B1702D71499D9C25F986507F240F4449D3B0EC6
echo "deb http://ppa.launchpad.net/stjr/srb2/ubuntu trusty main" >> /etc/apt/sources.list
- run:
name: Update APT listing
command: apt-get -qq update
- run:
name: Support S3 upload
command: apt-get -qq -y install ca-certificates
- restore_cache:
keys:
- v1-SRB2-APT
- run:
name: Install SDK
command: apt-get -qq -y --no-install-recommends install git build-essential libpng-dev:i386 libsdl2-mixer-dev:i386 libgme-dev:i386 libcurl4-openssl-dev:i386 libopenmpt-dev:i386 gettext ccache wget gcc-multilib upx openssh-client
- save_cache:
key: v1-SRB2-APT
paths:
- /var/cache/apt/archives
- checkout
#- run:
# name: Compile without network support and BLUA
# command: make -C src LINUX=1 ERRORMODE=1 -k NONET=1 NO_LUA=1
#- run:
# name: wipe build
# command: make -C src LINUX=1 cleandep
- run:
name: rebuild depend
command: make -C src LINUX=1 clean
- restore_cache:
keys:
- v1-SRB2-{{ .Branch }}-{{ checksum "objs/Linux/SDL/Release/depend.dep" }}
- run:
name: Compile
command: make -C src LINUX=1 ERRORMODE=1 -k
- store_artifacts:
path: /root/SRB2/bin/Linux/Release/
destination: bin
- save_cache:
key: v1-SRB2-{{ .Branch }}-{{ checksum "objs/Linux/SDL/Release/depend.dep" }}
paths:
- /root/.ccache
+7 -8
View File
@@ -14,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
+436
View File
@@ -0,0 +1,436 @@
default:
image: debian:stable-slim
stages: # List of stages for jobs, and their order of execution
- build
variables:
GIT_STRATEGY: clone
GIT_CLONE_PATH: $CI_BUILDS_DIR/$CI_CONCURRENT_ID/$CI_PROJECT_PATH
.job_template: &job_build # This job runs in the build stage, which runs first.
stage: build
cache:
- key: ccache-$CI_PROJECT_PATH_SLUG-$CI_JOB_NAME_SLUG
fallback_keys:
- cache-$CI_PROJECT_PATH_SLUG-$CI_DEFAULT_BRANCH
- cache-$CI_PROJECT_PATH_SLUG-default
paths:
- ccache
- ccache_statslog
- key: apt-$CI_JOB_IMAGE
paths:
- apt-cache
unprotect: true
before_script:
- - |
# debconf
echo -e "\e[0Ksection_start:`date +%s`:debconf[collapsed=true]\r\e[0KSetup debconf's environment"
- export DEBIAN_FRONTEND="noninteractive"
- export DEBIAN_PRIORITY="low"
- export DEBCONF_NONINTERACTIVE_SEEN="true"
- |
# debconf
echo -e "\e[0Ksection_end:`date +%s`:debconf\r\e[0K"
- - |
# dpkg_aa
echo -e "\e[0Ksection_start:`date +%s`:dpkg_aa[collapsed=true]\r\e[0KAdding architectures to dpkg"
- dpkg --add-architecture i386
- dpkg --add-architecture amd64
- dpkg --add-architecture arm64
- |
# dpkg_aa
echo -e "\e[0Ksection_end:`date +%s`:dpkg_aa\r\e[0K"
- - |
# apt_conf
echo -e "\e[0Ksection_start:`date +%s`:apt_conf[collapsed=true]\r\e[0KSetting up APT conf"
- export APT_CACHE_DIR=`pwd`/apt-cache
- mkdir --parents --verbose $APT_CACHE_DIR/partial/
- touch /etc/apt/apt.conf.d/99build
- |
# apt.conf
echo Adding options to apt.conf':'
- |
# APT::Install-Recommends
echo APT::Install-Recommends "false"\; | tee --append /etc/apt/apt.conf.d/99build
- |
# quit
echo quiet "1"\; | tee --append /etc/apt/apt.conf.d/99build
- |
# APT::Get::Assume-Yes
echo APT::Get::Assume-Yes "true"\; | tee --append /etc/apt/apt.conf.d/99build
- |
# Dir::Cache::Archives
echo Dir::Cache::Archives "$APT_CACHE_DIR"\; | tee --append /etc/apt/apt.conf.d/99build
- |
# apt_conf
echo -e "\e[0Ksection_end:`date +%s`:apt_conf\r\e[0K"
- - |
# apt_update
echo -e "\e[0Ksection_start:`date +%s`:apt_update[collapsed=true]\r\e[0KUpdating APT listing"
- apt-get update
- |
# apt_update
echo -e "\e[0Ksection_end:`date +%s`:apt_update\r\e[0K"
- - |
# apt_pre
echo -e "\e[0Ksection_start:`date +%s`:apt_pre[collapsed=true]\r\e[0KInstalling pre packages"
- apt-get install apt-utils
- |
# apt_pre
echo -e "\e[0Ksection_end:`date +%s`:apt_pre\r\e[0K"
- - |
# apt_upgrade
echo -e "\e[0Ksection_start:`date +%s`:apt_upgrade[collapsed=true]\r\e[0KUpdating existing packages"
- apt-get upgrade
- |
# apt_update
echo -e "\e[0Ksection_end:`date +%s`:apt_upgrade\r\e[0K"
- - |
# apt_common
echo -e "\e[0Ksection_start:`date +%s`:apt_common[collapsed=true]\r\e[0KInstalling common packages"
- apt-get install make git ccache
- |
# apt_common
echo -e "\e[0Ksection_end:`date +%s`:apt_common\r\e[0K"
- - |
# ccache_config
echo -e "\e[0Ksection_start:`date +%s`:ccache_config[collapsed=true]\r\e[0KSetting up ccache config"
- mkdir --parents --verbose ~/.ccache/
- touch ~/.ccache/ccache.conf
- |
# cache.conf
echo Adding ccache configution option
- |
# base_dir
echo base_dir = $PWD | tee --append ~/.ccache/ccache.conf
- |
# cache_dir
echo cache_dir = $PWD/ccache | tee --append ~/.ccache/ccache.conf
- |
# compiler_check
echo compiler_check = content | tee --append ~/.ccache/ccache.conf
- |
# stats_log
echo stats_log = $PWD/ccache_statslog | tee --append ~/.ccache/ccache.conf
- |
# max_size
echo max_size = 50M | tee --append ~/.ccache/ccache.conf
- |
# ccache_config
echo -e "\e[0Ksection_end:`date +%s`:ccache_config\r\e[0K"
- - |
# cache_reset
echo -e "\e[0Ksection_start:`date +%s`:ccache_reset[collapsed=true]\r\e[0KResetting ccache statistics"
- ccache --zero-stats
- ccache --show-stats
- |
# ccache_reset
echo -e "\e[0Ksection_end:`date +%s`:ccache_reset\r\e[0K"
after_script:
- - |
# apt_clean
echo -e "\e[0Ksection_start:`date +%s`:apt_clean[collapsed=true]\r\e[0KCleaning of unneeded APT packages"
- apt-get autoclean
- |
# apt_clean
echo -e "\e[0Ksection_end:`date +%s`:apt_clean\r\e[0K"
- - |
# ccache_stats
echo -e "\e[0Ksection_start:`date +%s`:ccache_stats[collapsed=true]\r\e[0Kccache statistics:"
- ccache --show-stats --verbose
- ccache --show-log-stats --verbose
- |
# ccahe_stats
echo -e "\e[0Ksection_end:`date +%s`:ccache_stats\r\e[0K"
Debian testing GCC:
<<: *job_build
image: debian:testing-slim
allow_failure: true
artifacts:
paths:
- "bin/"
- "src/comptime.h"
expose_as: "Debian GCC testing"
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-testing-gcc"
variables:
CC: gcc
script:
- - |
# apt_toolchain
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
- apt-get install gcc
- |
# apt_toolchain
echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
- - |
# apt_development
echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
- apt-get install libsdl2-mixer-dev libpng-dev libcurl4-openssl-dev libgme-dev libopenmpt-dev
- |
# apt_development
echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
- - |
# make
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
- make --directory=src --keep-going CCACHE=1 ERRORMODE=1 NONX86=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 NONX86=1
- |
# make
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
Windows x86:
<<: *job_build
artifacts:
paths:
- "bin/"
- "src/comptime.h"
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-Win32"
variables:
PREFIX: i686-w64-mingw32
script:
- - |
# apt_toolchain
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
- apt-get install gcc-mingw-w64-i686-win32
- |
# apt_toolchain
echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
- - |
# make
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
- make --directory=src --keep-going CCACHE=1 ERRORMODE=1 MINGW=1 SDL=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 MINGW=1 SDL=1
- |
# make
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
Debian stable:amd64:
<<: *job_build
artifacts:
paths:
- "bin/"
- "src/comptime.h"
expose_as: "Debian amd64"
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-x86-64"
variables:
CC: x86_64-linux-gnu-gcc
OBJCOPY: x86_64-linux-gnu-objcopy
OBJDUMP: x86_64-linux-gnu-objdump
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig
script:
- - |
# apt_toolchain
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
- apt-get install gcc-x86-64-linux-gnu || apt-get install gcc
- |
# apt_toolchain
echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
- - |
# apt_development
echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
- apt-get install libsdl2-mixer-dev:amd64 libpng-dev:amd64 libcurl4-openssl-dev:amd64 libgme-dev:amd64 libopenmpt-dev:amd64
- |
# apt_development
echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
- - |
# make
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
- make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX64=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX64=1
- |
# make
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
Debian stable:i386:
<<: *job_build
artifacts:
paths:
- "bin/"
- "src/comptime.h"
expose_as: "Debian i386"
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-i686"
variables:
CC: i686-linux-gnu-gcc
OBJCOPY: i686-linux-gnu-objcopy
OBJDUMP: i686-linux-gnu-objdump
PKG_CONFIG_PATH: /usr/lib/i386-linux-gnu/pkgconfig
script:
- - |
# apt_toolchain
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
- apt-get install gcc-i686-linux-gnu || apt-get install gcc
- |
# apt_toolchain
echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
- - |
# apt_development
echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
- apt-get install libsdl2-mixer-dev:i386 libpng-dev:i386 libcurl4-openssl-dev:i386 libgme-dev:i386 libopenmpt-dev:i386
- |
# apt_development
echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
- - |
# make
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
- make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX=1
- |
# make
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
Debian stable:arm64:
<<: *job_build
artifacts:
paths:
- "bin/"
- "src/comptime.h"
expose_as: "Debian arm64"
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-aarch64"
variables:
CC: aarch64-linux-gnu-gcc
OBJCOPY: aarch64-linux-gnu-objcopy
OBJDUMP: aarch64-linux-gnu-objdump
PKG_CONFIG_PATH: /usr/lib/aarch64-linux-gnu/pkgconfig
script:
- - |
# apt_toolchain
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
- apt-get install gcc-aarch64-linux-gnu || apt-get install gcc
- |
# apt_toolchain
echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
- - |
# apt_development
echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
- apt-get install libsdl2-mixer-dev:arm64 libpng-dev:arm64 libcurl4-openssl-dev:arm64 libgme-dev:arm64 libopenmpt-dev:arm64
- |
# apt_development
echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
- - |
# make
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
- make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX64=1 ERRORMODE=1 NONX86=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX64=1 NONX86=1
- |
# make
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
Windows x64:
<<: *job_build
artifacts:
paths:
- "bin/"
- "src/comptime.h"
expose_as: "Win64"
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-Win64"
variables:
PREFIX: x86_64-w64-mingw32
script:
- - |
# apt_toolchain
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
- apt-get install gcc-mingw-w64-x86-64-win32
- |
# apt_toolchain
echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
- - |
# make
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
- make --directory=src --keep-going CCACHE=1 ERRORMODE=1 MINGW64=1 SDL=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 MINGW64=1 SDL=1
- |
# make
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
Debian stable Clang:
<<: *job_build
allow_failure: true
artifacts:
paths:
- "bin/"
- "src/comptime.h"
expose_as: "Debian Clang"
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-clang"
variables:
CC: clang
WFLAGS: -Wno-cast-align
script:
- - |
# apt_toolchain
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
- apt-get install clang
- |
# apt_toolchain
echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
- - |
# apt_development
echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
- apt-get install libsdl2-mixer-dev libpng-dev libcurl4-openssl-dev libgme-dev libopenmpt-dev
- |
# apt_development
echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
- - |
# make
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
- make --directory=src --keep-going CCACHE=1 ERRORMODE=1 NONX86=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 NONX86=1
- |
# make
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
Debian testing Clang:
extends: Debian stable Clang
image: debian:testing-slim
artifacts:
paths:
- "bin/"
- "src/comptime.h"
expose_as: "Debina Clang testing"
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-testing-clang"
variables:
CC: clang
WFLAGS: -Wno-cast-align -Wno-deprecated-non-prototype
+712
View File
@@ -0,0 +1,712 @@
# Travis-CI Config
#
# You may use the Deployer to upload packages and builds to external servers.
# See deployer/travis/deployer_defaults.sh for environment variables to configure.
language: c
sudo: required
dist: trusty
matrix:
include:
################################
# Test Buildbots
# Deployer does not operate on these. See Deployer Buildbots, below.
# These bots are disabled when a deployment is triggered by 'deployer' branch name AND DPL_TERMINATE_TESTS=1.
# These bots remain enabled when a deployment is triggered by release tag.
################################
- os: linux
addons:
apt:
packages:
- libsdl2-mixer-dev
- libpng-dev
- libgl1-mesa-dev
- libgme-dev
- libcurl4-openssl-dev
- p7zip-full
- gcc-4.4
compiler: gcc-4.4
env: GCC44=1
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
#gcc-4.4 (Ubuntu/Linaro 4.4.7-8ubuntu1) 4.4.7
- os: linux
addons:
apt:
packages:
- libsdl2-mixer-dev
- libpng-dev
- libgl1-mesa-dev
- libgme-dev
- libcurl4-openssl-dev
- p7zip-full
- gcc-4.6
compiler: gcc-4.6
env: GCC46=1
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
#gcc-4.6 (Ubuntu/Linaro 4.6.4-6ubuntu2) 4.6.4
- os: linux
addons:
apt:
packages:
- libsdl2-mixer-dev
- libpng-dev
- libgl1-mesa-dev
- libgme-dev
- libcurl4-openssl-dev
- p7zip-full
- gcc-4.7
compiler: gcc-4.7
env: GCC47=1
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
#gcc-4.7
- os: linux
compiler: gcc
env: GCC48=1
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
#gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libsdl2-mixer-dev
- libpng-dev
- libgl1-mesa-dev
- libgme-dev
- libcurl4-openssl-dev
- p7zip-full
- gcc-4.8
compiler: gcc-4.8
env: GCC48=1
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
#gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libsdl2-mixer-dev
- libpng-dev
- libgl1-mesa-dev
- libgme-dev
- libcurl4-openssl-dev
- p7zip-full
- gcc-7
compiler: gcc-7
env: WFLAGS="-Wno-tautological-compare -Wno-error=implicit-fallthrough -Wno-implicit-fallthrough" GCC72=1
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
#gcc-7 (Ubuntu 7.2.0-1ubuntu1~14.04) 7.2.0 20170802
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libsdl2-mixer-dev
- libpng-dev
- libgl1-mesa-dev
- libgme-dev
- libcurl4-openssl-dev
- p7zip-full
- gcc-8
compiler: gcc-8
env: WFLAGS="-Wno-tautological-compare -Wno-error=implicit-fallthrough -Wno-implicit-fallthrough -Wno-error=format-overflow -Wno-error=format-truncation" GCC81=1
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
#gcc-8 (Ubuntu 7.2.0-1ubuntu1~14.04) 8.1.0
- os: linux
compiler: clang
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
#clang version 3.5.0 (tags/RELEASE_350/final)
- os: linux
addons:
apt:
sources:
- llvm-toolchain-precise-3.5
packages:
- libsdl2-mixer-dev
- libpng-dev
- libgl1-mesa-dev
- libgme-dev
- libcurl4-openssl-dev
- p7zip-full
- clang-3.5
compiler: clang-3.5
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
#Ubuntu clang version 3.5.0-4ubuntu2~trusty2 (tags/RELEASE_350/final) (based on LLVM 3.5.0)
- os: linux
addons:
apt:
sources:
- llvm-toolchain-precise-3.6
- ubuntu-toolchain-r-test
packages:
- libsdl2-mixer-dev
- libpng-dev
- libgl1-mesa-dev
- libgme-dev
- libcurl4-openssl-dev
- p7zip-full
- clang-3.6
compiler: clang-3.6
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
#Ubuntu clang version 3.6.2-svn240577-1~exp1 (branches/release_36) (based on LLVM 3.6.2)
- os: linux
addons:
apt:
sources:
- llvm-toolchain-precise-3.7
- ubuntu-toolchain-r-test
packages:
- libsdl2-mixer-dev
- libpng-dev
- libgl1-mesa-dev
- libgme-dev
- libcurl4-openssl-dev
- p7zip-full
- clang-3.7
compiler: clang-3.7
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
#Ubuntu clang version 3.7.1-svn253571-1~exp1 (branches/release_37) (based on LLVM 3.7.1)
- os: linux
addons:
apt:
sources:
- llvm-toolchain-precise-3.8
- ubuntu-toolchain-r-test
packages:
- libsdl2-mixer-dev
- libpng-dev
- libgl1-mesa-dev
- libgme-dev
- libcurl4-openssl-dev
- p7zip-full
- clang-3.8
compiler: clang-3.8
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
#clang version 3.8.1-svn271127-1~exp1 (branches/release_38)
- os: linux
addons:
apt:
sources:
- llvm-toolchain-precise-3.9
- ubuntu-toolchain-r-test
packages:
- libsdl2-mixer-dev
- libpng-dev
- libgl1-mesa-dev
- libgme-dev
- libcurl4-openssl-dev
- p7zip-full
- clang-3.9
compiler: clang-3.9
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
#clang version 3.9.X
# - os: linux
# addons:
# apt:
# sources:
# - llvm-toolchain-precise-4.0
# - ubuntu-toolchain-r-test
# packages:
# - libsdl2-mixer-dev
# - libpng-dev
# - libgl1-mesa-dev
# - libgme-dev
# - p7zip-full
# - clang-4.0
# compiler: clang-4.0
# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
# #clang version 4.0.X
# - os: linux
# addons:
# apt:
# sources:
# - llvm-toolchain-precise-5.0
# - ubuntu-toolchain-r-test
# packages:
# - libsdl2-mixer-dev
# - libpng-dev
# - libgl1-mesa-dev
# - libgme-dev
# - p7zip-full
# - clang-5.0
# compiler: clang-5.0
# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
# #clang version 5.0.X
# - os: osx
# osx_image: beta-xcode6.1
# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
# #Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)
# - os: osx
# osx_image: beta-xcode6.2
# compiler: gcc
# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
# #Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
## - os: osx
## osx_image: beta-xcode6.3
## if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
## #I think xcode.6.3 VM is broken, it does not boot
# - os: osx
# osx_image: xcode6.4
# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
# #Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
# - os: osx
# osx_image: xcode7
# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
# #Apple LLVM version 7.0.0 (clang-700.0.72)
# - os: osx
# osx_image: xcode7.1
# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
# #Apple LLVM version 7.0.0 (clang-700.1.76)
# - os: osx
# osx_image: xcode7.2
# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
# #Apple LLVM version 7.0.2 (clang-700.1.81)
# - os: osx
# osx_image: xcode7.3
# #Apple LLVM version 7.3.0 (clang-703.0.31)
# - os: osx
# osx_image: xcode7.3
# #Apple LLVM version 7.3.0 (clang-703.0.31)
- os: osx
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
#Default: macOS 10.13 and Xcode 9.4.1
################################
# Deployer Buildbots - OSX
################################
- os: osx
if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
AND env(DPL_TERMINATE_MAIN) != "1"
env:
- _DPL_JOB_ENABLED=1
- _DPL_JOB_NAME=osx
- _DPL_FTP_TARGET=1
- _DPL_PACKAGE_BINARY=1
#Apple LLVM version 7.3.0 (clang-703.0.31)
################################
# Deployer Buildbots - Linux assets
# Set DPL_TERMINATE_ASSETS to disable all of these
# List Ubuntu LTS next, newest to oldest
# Then list non-LTS, newest to oldest
################################
- os: linux
addons:
apt:
packages:
- libsdl2-mixer-dev
- libpng-dev
- libgl1-mesa-dev
- libgme-dev
- libcurl4-openssl-dev
- p7zip-full
- gcc-4.8
compiler: gcc-4.8
dist: xenial
if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
AND env(DPL_TERMINATE_ASSETS) != "1"
env:
- _DPL_JOB_ENABLED=1
- _DPL_JOB_NAME=bionic-asset
- _DPL_DPUT_TARGET=1
- _DPL_PACKAGE_SOURCE=1
- _DPL_PACKAGE_MAIN=0
- _DPL_PACKAGE_ASSET=1
- PACKAGE_DISTRO=bionic
#- PACKAGE_SUBVERSION=~18.04bionic
#gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
################################
# The below asset bots produce packages that occupy too much space.
# It would be nice if the asset files were not included in the source package itself,
# so these can deploy to each Ubuntu target without manual intervention.
#
# Currently, to get around Launchpad's space limitation,
# copy the packages from *one* bot and the space usage is not increased.
################################
# - os: linux
# addons:
# apt:
# packages:
# - libsdl2-mixer-dev
# - libpng-dev
# - libgl1-mesa-dev
# - libgme-dev
# - p7zip-full
# - gcc-4.8
# compiler: gcc-4.8
# dist: trusty
# if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
# AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
# AND env(DPL_TERMINATE_ASSETS) != "1"
# env:
# - _DPL_JOB_ENABLED=1
# - _DPL_JOB_NAME=trusty-asset
# - _DPL_DPUT_TARGET=1
# - _DPL_PACKAGE_SOURCE=1
# - _DPL_PACKAGE_MAIN=0
# - _DPL_PACKAGE_ASSET=1
# - PACKAGE_DISTRO=trusty
# #- PACKAGE_SUBVERSION=~14.04trusty
# #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
# - os: linux
# addons:
# apt:
# packages:
# - libsdl2-mixer-dev
# - libpng-dev
# - libgl1-mesa-dev
# - libgme-dev
# - p7zip-full
# - gcc-4.8
# compiler: gcc-4.8
# dist: xenial
# if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
# AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
# AND env(DPL_TERMINATE_ASSETS) != "1"
# env:
# - _DPL_JOB_ENABLED=1
# - _DPL_JOB_NAME=disco-asset
# - _DPL_DPUT_TARGET=1
# - _DPL_PACKAGE_SOURCE=1
# - _DPL_PACKAGE_MAIN=0
# - _DPL_PACKAGE_ASSET=1
# - PACKAGE_DISTRO=disco
# #- PACKAGE_SUBVERSION=~19.04disco
# #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
# - os: linux
# addons:
# apt:
# packages:
# - libsdl2-mixer-dev
# - libpng-dev
# - libgl1-mesa-dev
# - libgme-dev
# - p7zip-full
# - gcc-4.8
# compiler: gcc-4.8
# dist: xenial
# if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
# AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
# AND env(DPL_TERMINATE_ASSETS) != "1"
# env:
# - _DPL_JOB_ENABLED=1
# - _DPL_JOB_NAME=cosmic-asset
# - _DPL_DPUT_TARGET=1
# - _DPL_PACKAGE_SOURCE=1
# - _DPL_PACKAGE_MAIN=0
# - _DPL_PACKAGE_ASSET=1
# - PACKAGE_DISTRO=cosmic
# #- PACKAGE_SUBVERSION=~18.10cosmic
# #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
# - os: linux
# addons:
# apt:
# packages:
# - libsdl2-mixer-dev
# - libpng-dev
# - libgl1-mesa-dev
# - libgme-dev
# - p7zip-full
# - gcc-4.8
# compiler: gcc-4.8
# dist: xenial
# if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
# AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
# AND env(DPL_TERMINATE_ASSETS) != "1"
# env:
# - _DPL_JOB_ENABLED=1
# - _DPL_JOB_NAME=xenial-asset
# - _DPL_DPUT_TARGET=1
# - _DPL_PACKAGE_SOURCE=1
# - _DPL_PACKAGE_MAIN=0
# - _DPL_PACKAGE_ASSET=1
# - PACKAGE_DISTRO=xenial
# #- PACKAGE_SUBVERSION=~16.04xenial
# #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
################################
# Deployer Buildbots - Linux binaries
# List Ubuntu LTS, newest to oldest
# Then list non-LTS, newest to oldest
################################
- os: linux
addons:
apt:
packages:
- libsdl2-mixer-dev
- libpng-dev
- libgl1-mesa-dev
- libgme-dev
- libcurl4-openssl-dev
- p7zip-full
- gcc-4.8
compiler: gcc-4.8
dist: xenial
if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
AND env(DPL_TERMINATE_MAIN) != "1"
env:
- _DPL_JOB_ENABLED=1
- _DPL_JOB_NAME=focal
- _DPL_DPUT_TARGET=1
- _DPL_PACKAGE_SOURCE=1
- PACKAGE_DISTRO=focal
- PACKAGE_SUBVERSION=~20.04focal
#gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
- os: linux
addons:
apt:
packages:
- libsdl2-mixer-dev
- libpng-dev
- libgl1-mesa-dev
- libgme-dev
- libcurl4-openssl-dev
- p7zip-full
- gcc-4.8
compiler: gcc-4.8
dist: xenial
if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
AND env(DPL_TERMINATE_MAIN) != "1"
env:
- _DPL_JOB_ENABLED=1
- _DPL_JOB_NAME=bionic
- _DPL_DPUT_TARGET=1
- _DPL_PACKAGE_SOURCE=1
- PACKAGE_DISTRO=bionic
- PACKAGE_SUBVERSION=~18.04bionic
#gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
- os: linux
addons:
apt:
packages:
- libsdl2-mixer-dev
- libpng-dev
- libgl1-mesa-dev
- libgme-dev
- libcurl4-openssl-dev
- p7zip-full
- gcc-4.8
compiler: gcc-4.8
dist: xenial
if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
AND env(DPL_TERMINATE_MAIN) != "1"
env:
- _DPL_JOB_ENABLED=1
- _DPL_JOB_NAME=xenial
- _DPL_DPUT_TARGET=1
- _DPL_PACKAGE_SOURCE=1
- PACKAGE_DISTRO=xenial
- PACKAGE_SUBVERSION=~16.04xenial
#gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
- os: linux
addons:
apt:
packages:
- libsdl2-mixer-dev
- libpng-dev
- libgl1-mesa-dev
- libgme-dev
- libcurl4-openssl-dev
- p7zip-full
- gcc-4.8
compiler: gcc-4.8
dist: trusty
if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
AND env(DPL_TERMINATE_MAIN) != "1"
env:
- _DPL_JOB_ENABLED=1
- _DPL_JOB_NAME=trusty
- _DPL_DPUT_TARGET=1
- _DPL_PACKAGE_SOURCE=1
- PACKAGE_DISTRO=trusty
- PACKAGE_SUBVERSION=~14.04trusty
#gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
- os: linux
addons:
apt:
packages:
- libsdl2-mixer-dev
- libpng-dev
- libgl1-mesa-dev
- libgme-dev
- libcurl4-openssl-dev
- p7zip-full
- gcc-4.8
compiler: gcc-4.8
dist: xenial
if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
AND env(DPL_TERMINATE_MAIN) != "1"
env:
- _DPL_JOB_ENABLED=1
- _DPL_JOB_NAME=eoan
- _DPL_DPUT_TARGET=1
- _DPL_PACKAGE_SOURCE=1
- PACKAGE_DISTRO=eoan
- PACKAGE_SUBVERSION=~19.10eoan
#gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
allow_failures:
- compiler: clang-3.5
- compiler: clang-3.6
- compiler: clang-3.7
- compiler: clang-3.8
- compiler: clang-3.9
- compiler: clang-4.0
- compiler: clang-5.0
cache:
apt: true
ccache: true
directories:
- $HOME/srb2_cache
addons:
apt:
packages:
- libsdl2-mixer-dev
- libpng-dev
- libgl1-mesa-dev
- libgme-dev
- zlib1g-dev
- libcurl4-openssl-dev
- p7zip-full
homebrew:
taps:
- mazmazz/srb2
packages:
- sdl2_mixer
- game-music-emu
- p7zip
- cmake
- curl
update: true
before_install:
# Initialize Deployer defaults
- . ./deployer/travis/deployer_defaults.sh
# Initialize Deployer; check if Deployer is enabled
# This needs to be run in the current shell so that $__DPL_ACTIVE is set for this session
- . ./deployer/travis/deployer.sh
# Also check if we should now terminate -- see `deployer.sh` for conditions.
# This should never happen on non-release buildbots when Deployer is not triggered.
- if [[ "$__DPL_TRY_TERMINATE_EARLY" == "1" ]]; then
if [[ "$__DPL_ACTIVE" != "1" ]]; then
echo "Exiting early because this job is not deploying.";
exit;
fi;
fi
# If we're triggered by release tag, force ASSET_FILES_OPTIONAL_GET=1
- if [[ "$__DPL_TAG_ELIGIBLE" = "1" ]]; then
ASSET_FILES_OPTIONAL_GET=1;
fi;
install:
# Install OS X library dependencies via Homebrew
# Do this differently for release buildbots:
# * `brew install --build-bottle` builds libraries for x86_64's lowest common denominator CPU, core2
# * `sdl2_mixer` requires options from the formula tap https://github.com/mazmazz/homebrew-srb2
# * `brew postinstall` runs post-install scripts after building a bottle
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
if [[ "$__DPL_ACTIVE" == "1" ]]; then
brew install --build-bottle sdl2 game-music-emu;
brew install --build-bottle mazmazz/srb2/sdl2_mixer --with-flac --with-mpg123;
brew postinstall sdl2 game-music-emu mazmazz/srb2/sdl2_mixer;
fi;
fi
- mkdir -p $HOME/srb2_cache
before_script:
# OLDPWD is root repo folder
- OLDPWD=$PWD
- __ASSET_DIRECTORY="$OLDPWD/assets/installer"
- mkdir -p "$__ASSET_DIRECTORY"
- cd "$HOME/srb2_cache"
# Get stat command so we know what the cached archive date is.
# stat is different for OSX
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
STATCMD="stat -f %m";
else
STATCMD="stat -c %y";
fi
# Get asset files (required for MD5)
# See `deployer_defaults.sh` for asset download path
- if [[ "$ASSET_ARCHIVE_PATH" != "" ]]; then
if [ -f "$(basename $ASSET_ARCHIVE_PATH)" ]; then
echo "$(basename $ASSET_ARCHIVE_PATH) cache date -- $($STATCMD $(basename $ASSET_ARCHIVE_PATH))";
fi;
wget --verbose --server-response -N "$ASSET_ARCHIVE_PATH";
7z x "$(basename $ASSET_ARCHIVE_PATH)" -o"$__ASSET_DIRECTORY" -aos;
fi;
# Get optional files too
- if [[ "$__DPL_ACTIVE" == "1" ]] && [[ "$ASSET_FILES_OPTIONAL_GET" == "1" ]] && [[ "$ASSET_ARCHIVE_OPTIONAL_PATH" != "" ]]; then
if [ -f "$(basename $ASSET_ARCHIVE_OPTIONAL_PATH)" ]; then
echo "$(basename $ASSET_ARCHIVE_OPTIONAL_PATH) cache date -- $($STATCMD $(basename $ASSET_ARCHIVE_OPTIONAL_PATH))";
fi;
wget --verbose --server-response -N "$ASSET_ARCHIVE_OPTIONAL_PATH";
7z x "$(basename $ASSET_ARCHIVE_OPTIONAL_PATH)" -o"$__ASSET_DIRECTORY" -aos;
fi;
# Go back to root repo folder
- cd "$OLDPWD"
# Prepare CMake asset lists
- SRB2_ASSET_HASHED=$(echo ${ASSET_FILES_HASHED// /\;})
- SRB2_ASSET_DOCS=$(echo ${ASSET_FILES_DOCS// /\;})
- SRB2_ASSET_DIRECTORY="$__ASSET_DIRECTORY"
# Prepare CMake
- mkdir build
- cd build
- mkdir package
- export CFLAGS="-Wall -W -Werror $WFLAGS"
- export CCACHE_COMPRESS=true
# If OS X, set -march=core2 to build compatible binaries with old Macs
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
export CFLAGS="${CFLAGS} -march=core2";
fi;
- cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/bin -DCPACK_PACKAGE_DIRECTORY=$PWD/package
-DSRB2_ASSET_HASHED="${SRB2_ASSET_HASHED}" -DSRB2_ASSET_DOCS="${SRB2_ASSET_DOCS}"
-DSRB2_ASSET_DIRECTORY="${SRB2_ASSET_DIRECTORY}"
-DCPACK_PACKAGE_DESCRIPTION_SUMMARY="${PROGRAM_NAME}"
-DCPACK_PACKAGE_VENDOR="${PROGRAM_VENDOR}"
-DSRB2_SDL2_EXE_NAME="${PROGRAM_FILENAME}"
script:
# Build our Makefile from Cmake!
- if [[ "$__DPL_ACTIVE" == "1" ]]; then
. ../deployer/travis/deployer_build.sh;
else
make -k;
fi;
after_success:
# Run the upload scripts
# These do nothing if Deployer is not triggered
- . ../deployer/travis/deployer_ftp.sh
- . ../deployer/travis/deployer_dput.sh
+27 -36
View File
@@ -1,46 +1,14 @@
cmake_minimum_required(VERSION 3.5)
if(${PROJECT_SOURCE_DIR} MATCHES ${PROJECT_BINARY_DIR})
message(FATAL_ERROR "In-source builds will bring you a world of pain. Please make a separate directory to invoke CMake from.")
endif()
# DO NOT CHANGE THIS SRB2 STRING! Some variable names depend on this string.
# Version change is fine.
project(SRB2
VERSION 1.6
LANGUAGES C CXX)
LANGUAGES C)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
#set(CMAKE_CXX_EXTENSIONS OFF) # optional but recommended: disables GNU extensions, forces pure ISO C++
set(CMAKE_CXX_EXTENSIONS ON)
set(CMAKE_C_EXTENSIONS ON)
##### PACKAGE CONFIGURATION #####
set(SRB2_CPACK_GENERATOR "" CACHE STRING "Generator to use for making a package. E.g., ZIP, TGZ, DragNDrop (OSX only). Leave blank for default generator.")
if("${SRB2_CPACK_GENERATOR}" STREQUAL "")
if("${CMAKE_SYSTEM_NAME}" MATCHES "Windows")
set(SRB2_CPACK_GENERATOR "ZIP")
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
set(SRB2_CPACK_GENERATOR "TGZ")
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "Darwin")
set(SRB2_CPACK_GENERATOR "TGZ")
endif()
if(${PROJECT_SOURCE_DIR} MATCHES ${PROJECT_BINARY_DIR})
message(FATAL_ERROR "In-source builds will bring you a world of pain. Please make a separate directory to invoke CMake from.")
endif()
set(CPACK_GENERATOR ${SRB2_CPACK_GENERATOR})
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Sonic Robo Blast 2 Kart" CACHE STRING "Program name for display purposes")
set(CPACK_PACKAGE_VENDOR "Kart Krew" CACHE STRING "Vendor name for display purposes")
#set(CPACK_PACKAGE_DESCRIPTION_FILE )
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
set(CPACK_PACKAGE_VERSION_MAJOR ${SRB2_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${SRB2_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${SRB2_VERSION_PATCH})
set(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${CMAKE_VERSION_MAJOR}.${CMAKE_VERSION_MINOR}")
include(CPack)
# Set up CMAKE path
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
@@ -105,7 +73,6 @@ endif()
# OS macros
if (UNIX)
add_definitions(-DUNIXCOMMON)
add_link_options(-rdynamic) # Use -rdynamic so a backtrace log shows function names
endif()
if(CMAKE_COMPILER_IS_GNUCC)
@@ -128,12 +95,14 @@ set(CMAKE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
# Set EXE names so the assets CMakeLists can refer to its target
set(SRB2_SDL2_EXE_NAME srb2kart CACHE STRING "Executable binary output name")
set(SRB2_WIN_EXE_NAME srb2kartdd CACHE STRING "Executable binary output name for DirectDraw build")
include_directories(${CMAKE_CURRENT_BINARY_DIR}/src)
add_subdirectory(src)
add_subdirectory(assets)
## config.h generation
set(GIT_EXECUTABLE "git" CACHE FILEPATH "Path to git binary")
include(GitUtilities)
@@ -142,3 +111,25 @@ git_current_branch(SRB2_GIT_BRANCH "${CMAKE_SOURCE_DIR}")
set(SRB2_COMP_BRANCH "${SRB2_GIT_BRANCH}")
set(SRB2_COMP_REVISION "${SRB2_COMP_COMMIT}")
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/src/config.h)
##### PACKAGE CONFIGURATION #####
if(${CMAKE_SYSTEM} MATCHES "Windows")
set(CPACK_GENERATOR "ZIP")
endif()
if(${CMAKE_SYSTEM} MATCHES "Linux")
set(CPACK_GENERATOR "TGZ")
endif()
if(${CMAKE_SYSTEM} MATCHES "Darwin")
set(CPACK_GENERATOR "DragNDrop")
endif()
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Sonic Robo Blast 2 Kart" CACHE STRING "Program name for display purposes")
set(CPACK_PACKAGE_VENDOR "Kart Krew" CACHE STRING "Vendor name for display purposes")
#set(CPACK_PACKAGE_DESCRIPTION_FILE )
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
set(CPACK_PACKAGE_VERSION_MAJOR ${SRB2_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${SRB2_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${SRB2_VERSION_PATCH})
set(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${CMAKE_VERSION_MAJOR}.${CMAKE_VERSION_MINOR}")
include(CPack)
+269
View File
@@ -0,0 +1,269 @@
# Doxyfile 1.4.3
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = SRB2
PROJECT_NUMBER = 1.09
OUTPUT_DIRECTORY = ./doc/SRB2
CREATE_SUBDIRS = YES
OUTPUT_LANGUAGE = English
USE_WINDOWS_ENCODING = YES
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF = "The $name class" \
"The $name widget" \
"The $name file" \
is \
provides \
specifies \
contains \
represents \
a \
an \
the
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = YES
STRIP_FROM_PATH =
STRIP_FROM_INC_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
DETAILS_AT_TOP = NO
INHERIT_DOCS = YES
DISTRIBUTE_GROUP_DOC = NO
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 8
ALIASES =
OPTIMIZE_OUTPUT_FOR_C = YES
OPTIMIZE_OUTPUT_JAVA = NO
SUBGROUPING = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = YES
EXTRACT_LOCAL_METHODS = NO
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = NO
HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = YES
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
SORT_BRIEF_DOCS = NO
SORT_BY_SCOPE_NAME = NO
GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
SHOW_DIRECTORIES = YES
FILE_VERSION_FILTER =
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = NO
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = ./src
FILE_PATTERNS = *.c \
*.cc \
*.cxx \
*.cpp \
*.c++ \
*.d \
*.java \
*.ii \
*.ixx \
*.ipp \
*.i++ \
*.inl \
*.h \
*.hh \
*.hxx \
*.hpp \
*.h++ \
*.idl \
*.odl \
*.cs \
*.php \
*.php3 \
*.inc \
*.m \
*.mm \
*.dox
RECURSIVE = YES
EXCLUDE = ./src/sdl/IMG_xpm.c \
./src/sdl/SRB2DC/scramble.c
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS = */src/hardware/*/* \
*/src/sdl/SDL_main/* \
*/src/*/*_private.h \
*/src/sdl/*/*help.? \
*/src/md5.? \
*/src/sdl/filter/*
EXAMPLE_PATH =
EXAMPLE_PATTERNS = *
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = YES
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = NO
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = NO
REFERENCES_RELATION = NO
#USE_HTAGS = NO
VERBATIM_HEADERS = YES
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = NO
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = html
HTML_FILE_EXTENSION = .html
HTML_HEADER =
HTML_FOOTER =
HTML_STYLESHEET =
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
BINARY_TOC = NO
TOC_EXPAND = NO
DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW = YES
TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = NO
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER =
PDF_HYPERLINKS = NO
USE_PDFLATEX = NO
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = NO
RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = NO
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_LINKS = YES
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = NO
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =
XML_PROGRAMLISTING = YES
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED = DOXYGEN \
HWRENDER \
DIRECTFULLSCREEN \
HW3SOUND \
LOGMESSAGES \
WALLSPLATS \
FLOORSPLATS
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = NO
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
UML_LOOK = NO
TEMPLATE_RELATIONS = NO
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
CALL_GRAPH = NO
GRAPHICAL_HIERARCHY = YES
DIRECTORY_GRAPH = YES
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1024
MAX_DOT_GRAPH_DEPTH = 1000
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = NO
+1 -51
View File
@@ -13,12 +13,10 @@ Mainly for use in visual-only addons like secondcolor.
**Not netsafe**. Returns player's current sliptide roll angle, taking sliptideroll cvar value into account.
## hud.setVoteBackground(name[, time\_per\_frame])
## hud.setVoteBackground(name)
Changes vote background texture prefix (game looks for PREFIX + "W" or "C" (depends on resolution) + FRAME\_NUMBER).
If time\_per\_frame is set, each frame will last this amount of tics, default value is 2
## hud.add(fn, "vote") and hud.add(fn, "intermission")
Hud hooks for vote screen and intermission screen. They only get drawer (`v`) as argument.
@@ -122,11 +120,6 @@ v.interpLatch(false)
```
When using a custom string drawer, enable this mode to avoid interpolation artifacting when the string changes.
## cameras[] global array
Local player cameras that can be accessed outside of hud hooks.
`#cameras` will return amount of available cameras. (0 on dedicated server, 1 with 1 player, 4 with 4p splitscreen, etc)
## mobj.spritexscale, mobj.spriteyscale, mobj.spritexoffset, mobj.spriteyoffset, mobj.rollangle, mobj.sloperoll, mobj.rollmodel fields
Same fields as in SRB2 2.2
@@ -168,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)
+85 -18
View File
@@ -1,36 +1,103 @@
# SRB2Kart-Saturn
SRB2Kart-Saturn is a modification of SRB2Kart with a focus on new Features, Fixes, Optimizations and general Improvements, all while retaining 100% compatibility with vanilla SRB2Kart.
# SRB2Kart: Saturn
[SRB2Kart](https://srb2.org/mods/) is a kart racing mod based on the 3D Sonic the Hedgehog fangame [Sonic Robo Blast 2](https://srb2.org/), based on a modified version of [Doom Legacy](http://doomlegacy.sourceforge.net/).
For more information on Saturn´s features check out the changelogs on the [Releases](https://github.com/Indev450/SRB2Kart-Saturn/releases) page and the ingame "Saturn Options" menu.
## Saturn Features (Take a look at the "Saturn Options" menu c;)
Also be sure to check the LUASTUFF file for more information on all the extra lua features Saturn has.
- Sprites player rotation on slopes; going on hills, levitate, going down, and so on alters your sprites (configurable)
- You can alter all the base kart HUD element offsets on the fly in the Saturn Options settings menu
- `addfilelocal` Command, for those who want to use things like their custom hud in netgames (Same as addfile but completely client sided)
- Palette rendering, make the OpenGL renderer (almost) look like software mode!
- OpenMPT for Tracker module playback instead of GME
- Fixes looping and sounds better
- Allows filter configuration
- Colourize your Kart HUD, to either your player color or whichever colour you like! (optional / requieres extra2.kart file)
- The minimal brightness with Shaders can be configured, now you can seeeee in dark areas (0-255 , uses Sector brightness values)
- Lua HUD hooks for Intermission (ex: You can make hostmod votes still visible during intermission!)
- Lua HUD hooks for Vote Screen (ex: You can make hostmod votes still visible during map vote screen!)
- Saltyhop! do a funny hop
- Smaller Speedometer (optional / requieres extra.kart file)
- Record Attack input display can now be used everywhere
- Smaller minimap icons and also show player names on the minimap (toggable)
- Support for animated votescreens!
- `showmusiccredit` command, shows you the current music track again
- `listskins` show a list of all skins currently loaded
- Visual Portals from Haya's HEP Client
- Horizonline effect in OpenGL (watch the endless bricks on SNES Bowsers Castle!)
- Localskins! use whatever skin you like!
- Toggable lowercase menu's also from Haya's HEP client
- Everything that Galaxy has
We also have a Flatpak available on [Flathub](https://flathub.org/en/apps/org.srb2.SRB2Kart-Saturn)! (many thanks to riomccloud!)
## Improvements / Bug fixes
- Replay size has been increased to 10MiB minimum, to make replay overflows very unlikely to happen
- can be set to 100MiB max with `maxdemosize` command in console
- Music changes now properly show the music credits (ex: Kart maps with easter eggs that alter the music)
- The mapper still has to provide a MusicDEF for this to work.
- Configurable chatlog length (yay can read those messages from 30 mins ago without opening log.txt)
- Configurable timeout for waiting to join a full server (in vanilla this is capped to 5 minutes before it boots you out)
- Characters now spin in skin selection menu (configurable)
- HTTP Addon download speed has been raised dramatically
- configurable with `downloadspeed` command
- HWR Drawnodes have been refactored, this should fix a few rare crashes esp in regards to OpenGL Visportals
- The Position Number in the corner is alot smaller now (half the size!)
- Toggable Lap animation
- Main menu shows the current renderer being used
- MSAA and A2C Antialiasing support (Configurable in renderer.txt file)
- A simple button to rejoin your last visited server
- Ability to show ALL maps in the mapselect screen, this includes hidden or hellmaps "showallmaps yes/no"
- Ability to toggle the Stagetitlecard "maptitles on/off"
## Performance / Debugging
- Access for `mobj_t` and `player_t` fields from Lua has been completely rewritten, for much better performance with many Lua scripts
- Lua shows Tracebacks whenever an error occurs
- The Lua Perfstats page now has multiple pages and is more organized (ps_thinkframe_page X in console)
- People with lower end hardware can disable "screen textures" with "gr_screentextures" command, huge performance gain with minimal visual loss
- Intermission backgrounds, heat wave effects and etc are broken with this
- `ffloorclip`, exclusive to Software, which boosts performance on maps with many Floor over Floor sectors
## Technical fixes
- ZFigthing Textures in Opengl mode have been fixed in engine (well almost all of it)
- FOFs intersecting with slopes have less issues and now render correctly in Opengl
- Midtextures on slopes in Opengl are fixed, many weird guardrails and fences, aswell as some of those sticking out textures from the ground on some maps should be gone
- The annoying depraction messages for `P_TeleportMove` and `P_AproxDistance` have been silenced
- Silenced the annoying "cant find next map..." messages as theyre super useless and annoying anyways
- Added a small cooldown on `map` command due to spamming causing a SIGSEGV
- Many bugfixes to the Software renderer, so its much less prone to crashing
- Many bugfixes to the OpenGL renderer (too many too list all of them here; check the changelogs for more information)
- Bugfixes to the soundsystem, mainly regarding Sound muting
- Refactored Zone Memory Allocations (helps a bit with large maps)
- Many many more crash fixes and other bugfixes to the basegame (too many too list all of them here; check the changelogs for more information)
- Crash Backtraces have been replaced by libbacktrace (except for 32bit Windows builds)
Crashlogs now contain alot more informations. and even more if your build has debug symbols
Also allows 64bit Windows builds to produce Crashlogs!
## MISC
- Bird's Camera Tilting feature is no longer turned on by default
- Bird's warning on the title screen has been removed
## Bugs
- On maps which change the song multiple times on map start (exp: Wandering Falls) may show multiple music credits appearing
- A2C antialiasing makes transparent surfaces even more transparent
- You tell us! c:
## Note
Check the LUASTUFF file for more information on all the lua things Saturn has.
## Dependencies
- SDL2 (Linux/OS X only)
- SDL2-Mixer (Linux/OS X only)
- libupnp (Linux/OS X only)
- libgme (Linux/OS X only)
- libopenmpt (Linux/OS X only)
- libbacktrace (Linux/OS X only, optional, disable support with NOLIBBACKTRACE)
- libupnp (Linux/OS X only, optional, enable support with HAVE_MINIUPNPC)
- libbacktrace (Linux/OS X only)
## Compiling
See [SRB2 Wiki/Source code compiling](http://wiki.srb2.org/wiki/Source_code_compiling). The compiling process for SRB2Kart is largely identical to SRB2.
For Windows only the Makefile build system with GCC or Clang compiler is supported.
Visual C++ (MSVC) is unsupported.
64-bit Windows builds are supported and recommended over 32-bit builds, they will build automatically when using the MSYS2 MinGW 64-bit executable (requires the mingw-w64-x86_64-gcc package), no extra flags needed!
The specific DLLs can be found under /libs/dll-binaries/(i686 for 32bit/x86_64 for 64-bit)/ or in the Release packages
MacOS and Linux can be build with CMake, but it is recommended to use the Makefile for Linux over CMake
Alternatively the [srb2bld](https://github.com/Bijman/srb2bld) script by Bijman can be used aswell!
## Disclaimer
Kart Krew is in no way affiliated with SEGA or Sonic Team. We do not claim ownership of any of SEGA's intellectual property used in SRB2.
+2136
View File
File diff suppressed because it is too large. Load diff
+3033
View File
File diff suppressed because it is too large. Load diff
+133
View File
@@ -0,0 +1,133 @@
version: 1.3.{branch}-{build}
os: MinGW
environment:
CC: ccache
CCACHE_CC: i686-w64-mingw32-gcc
CCACHE_CC_64: x86_64-w64-mingw32-gcc
WINDRES: windres
# c:\mingw-w64 i686 has gcc 6.3.0, so use c:\msys64 7.3.0 instead
MINGW_SDK: c:\msys64\mingw32
# c:\msys64 x86_64 has gcc 8.2.0, so use c:\mingw-w64 7.3.0 instead
MINGW_SDK_64: C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64
CFLAGS: -Wall -W -Werror -Wno-error=implicit-fallthrough -Wimplicit-fallthrough=3 -Wno-tautological-compare -Wno-error=suggest-attribute=noreturn
UPX_ZIP: upx391w
UPX_URL: http://upx.sourceforge.net/download/upx391w.zip
CCACHE_EXE: ccache.exe
CCACHE_URL: http://alam.srb2.org/ccache.exe
CCACHE_COMPRESS: true
CCACHE_DIR: C:\Users\appveyor\.ccache
# Disable UPX by default. The user can override this in their Appveyor project settings
NOUPX: 1
##############################
# DEPLOYER VARIABLES
# DPL_ENABLED=1 builds installers for branch names starting with `deployer`.
# DPL_TAG_ENABLED=1 will also build installers for release tags. DPL_ENABLED=1 must also be set.
# Set these in the Appveyor project settings
##############################
DPL_ENABLED: 0
DPL_TAG_ENABLED: 0
DPL_INSTALLER_NAME: srb2kart-v13
# Asset handling is barebones vs. Travis Deployer. We operate on 7z only.
# Include the README files and the OpenGL batch in the main and patch archives.
# The x86/x64 archives contain the DLL binaries.
ASSET_ARCHIVE_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-assets.7z
ASSET_ARCHIVE_PATCH_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-patch-assets.7z
ASSET_ARCHIVE_X86_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-x86-assets.7z
ASSET_ARCHIVE_X64_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-x64-assets.7z
ASSET_ARCHIVE_OPTIONAL_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-optional-assets.7z
# This is overridden to 1 for release tag builds
ASSET_FILES_OPTIONAL_GET: 0
# For patches, also include the X86/X64 DLLs.
PACKAGE_PATCH_DLL_GET: 0
# Delete all asset downloads so they can be redownloaded
ASSET_CLEAN: 0
cache:
- upx391w.zip
- ccache.exe
- C:\Users\appveyor\.ccache
- C:\Users\appveyor\srb2_cache
install:
- if [%CONFIGURATION%] == [SDL64] ( set "X86_64=1" )
- if [%CONFIGURATION%] == [SDL64] ( set "CONFIGURATION=SDL" )
- if [%X86_64%] == [1] ( set "MINGW_SDK=%MINGW_SDK_64%" )
- if [%X86_64%] == [1] ( set "CCACHE_CC=%CCACHE_CC_64%" )
- if not exist "%UPX_ZIP%.zip" appveyor DownloadFile "%UPX_URL%" -FileName "%UPX_ZIP%.zip"
- 7z x -y "%UPX_ZIP%.zip" -o%TMP% >null
- robocopy /S /xx /ns /nc /nfl /ndl /np /njh /njs "%TMP%\%UPX_ZIP%" "%MINGW_SDK%\bin" upx.exe || exit 0
- if not exist "%CCACHE_EXE%" appveyor DownloadFile "%CCACHE_URL%" -FileName "%CCACHE_EXE%"
- ccache -M 99M
- xcopy /Y /V /I ccache.exe "%MINGW_SDK%\bin"
configuration:
- SDL
#- SDL64
before_build:
- set "Path=%MINGW_SDK%\bin;%Path%"
- if [%X86_64%] == [1] ( x86_64-w64-mingw32-gcc --version ) else ( i686-w64-mingw32-gcc --version )
- mingw32-make --version
- if not [%NOUPX%] == [1] ( upx -V )
- ccache -V
- ccache -s
- if [%NOUPX%] == [1] ( set "NOUPX=NOUPX=1" ) else ( set "NOUPX=" )
- if defined [%APPVEYOR_PULL_REQUEST_HEAD_COMMIT%] ( set "COMMIT=%APPVEYOR_PULL_REQUEST_HEAD_COMMIT%" ) else ( set "COMMIT=%APPVEYOR_REPO_COMMIT%" )
- cmd: git rev-parse --short %COMMIT%>%TMP%/gitshort.txt
- cmd: set /P GITSHORT=<%TMP%/gitshort.txt
# for pull requests, take the owner's name only, if this isn't the same repo of course
- set "REPO=%APPVEYOR_REPO_BRANCH%"
- if not [%APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME%] == [] ( if not [%APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME%] == [%APPVEYOR_REPO_NAME%] ( for /f "delims=/" %%a in ("%APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME%") do set "REPO=%%a-%APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH%" ) )
- set "EXENAME=EXENAME=srb2win-%REPO%-%GITSHORT%.exe"
- set "SRB2_MFLAGS=-C src WARNINGMODE=1 CCACHE=1 NOOBJDUMP=1 %NOUPX% %EXENAME%"
- if [%X86_64%] == [1] ( set "MINGW_FLAGS=MINGW64=1 X86_64=1 GCC81=1" ) else ( set "MINGW_FLAGS=MINGW=1 GCC91=1" )
- set "SRB2_MFLAGS=%SRB2_MFLAGS% %MINGW_FLAGS% %CONFIGURATION%=1"
build_script:
- cmd: mingw32-make.exe %SRB2_MFLAGS% clean
- cmd: mingw32-make.exe %SRB2_MFLAGS% ERRORMODE=1 -k
after_build:
- if [%X86_64%] == [1] (
set "BUILD_PATH=bin\Mingw64\Release"
) else (
set "BUILD_PATH=bin\Mingw\Release"
)
- if [%X86_64%] == [1] ( set "CONFIGURATION=%CONFIGURATION%64" )
- ccache -s
- set BUILD_ARCHIVE=%REPO%-%GITSHORT%-%CONFIGURATION%.7z
- set BUILDSARCHIVE=%REPO%-%CONFIGURATION%.7z
- cmd: 7z a %BUILD_ARCHIVE% %BUILD_PATH% -xr!.gitignore
- appveyor PushArtifact %BUILD_ARCHIVE%
- cmd: copy %BUILD_ARCHIVE% %BUILDSARCHIVE%
- appveyor PushArtifact %BUILDSARCHIVE%
##############################
# DEPLOYER SCRIPT
##############################
- if [%DPL_ENABLED%] == [1] ( call "deployer\appveyor\deployer.bat" )
test: off
#deploy:
# - provider: FTP
# protocol: ftps
# host:
# secure: NsLJEPIBvmwCOj8Tg8RoRQ==
# username:
# secure: ejxi5mvk7oLYu7QtbYojajEPigMy0mokaKhuEVuDZcA=
# password:
# secure: Hbn6Uy3lT0YZ88yFJ3aW4w==
# folder: appveyor
# application:
# active_mode: false
# on:
# branch: master
# appveyor_repo_tag: true
on_finish:
#- cmd: echo xfreerdp /u:appveyor /cert-ignore +clipboard /v:<ip>:<port>
#- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
-5
View File
@@ -1,10 +1,5 @@
## Assets Target Configuration ##
if(${CMAKE_SYSTEM} MATCHES Linux)
# Asset installation isn't part of the Linux target
return()
endif()
# For prepending the current source path, later
FUNCTION(PREPEND var prefix)
SET(listVar "")
-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
+2 -3
View File
@@ -1,6 +1,6 @@
include(LibFindMacros)
libfind_pkg_check_modules(GME_PKGCONF LIBGME)
libfind_pkg_check_modules(GME_PKGCONF GME)
find_path(GME_INCLUDE_DIR
NAMES gme.h
@@ -8,7 +8,6 @@ find_path(GME_INCLUDE_DIR
${GME_PKGCONF_INCLUDE_DIRS}
"/usr/include/gme"
"/usr/local/include/gme"
PATH_SUFFIXES gme
)
find_library(GME_LIBRARY
@@ -21,4 +20,4 @@ find_library(GME_LIBRARY
set(GME_PROCESS_INCLUDES GME_INCLUDE_DIR)
set(GME_PROCESS_LIBS GME_LIBRARY)
libfind_process(GME)
libfind_process(GME)
+2 -3
View File
@@ -1,6 +1,6 @@
include(LibFindMacros)
libfind_pkg_check_modules(OPENMPT_PKGCONF LIBOPENMPT)
libfind_pkg_check_modules(OPENMPT_PKGCONF OPENMPT)
find_path(OPENMPT_INCLUDE_DIR
NAMES libopenmpt.h
@@ -8,7 +8,6 @@ find_path(OPENMPT_INCLUDE_DIR
${OPENMPT_PKGCONF_INCLUDE_DIRS}
"/usr/include/libopenmpt"
"/usr/local/include/libopenmpt"
PATH_SUFFIXES libopenmpt
)
find_library(OPENMPT_LIBRARY
@@ -21,4 +20,4 @@ find_library(OPENMPT_LIBRARY
set(OPENMPT_PROCESS_INCLUDES OPENMPT_INCLUDE_DIR)
set(OPENMPT_PROCESS_LIBS OPENMPT_LIBRARY)
libfind_process(OPENMPT)
libfind_process(OPENMPT)
-33
View File
@@ -1,33 +0,0 @@
include(LibFindMacros)
libfind_pkg_check_modules(LIBBACKTRACE_PKGCONF LIBBACKTRACE)
find_path(LIBBACKTRACE_INCLUDE_DIR
NAMES backtrace.h
PATHS
${LIBBACKTRACE_PKGCONF_INCLUDE_DIRS}
"/usr/include"
"/usr/local/include"
)
find_library(LIBBACKTRACE_LIBRARY
NAMES backtrace
PATHS
${LIBBACKTRACE_PKGCONF_LIBRARY_DIRS}
"/usr/lib"
"/usr/local/lib"
)
set(LIBBACKTRACE_PROCESS_INCLUDES LIBBACKTRACE_INCLUDE_DIR)
set(LIBBACKTRACE_PROCESS_LIBS LIBBACKTRACE_LIBRARY)
libfind_process(LIBBACKTRACE)
if(LIBBACKTRACE_FOUND AND NOT TARGET libbacktrace)
add_library(libbacktrace UNKNOWN IMPORTED)
set_target_properties(
libbacktrace
PROPERTIES
IMPORTED_LOCATION "${LIBBACKTRACE_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${LIBBACKTRACE_INCLUDE_DIR}"
)
endif()
+18 -37
View File
@@ -1,4 +1,4 @@
# Version 2.4
# Version 2.2
# Public Domain, originally written by Lasse Kärkkäinen <tronic>
# Maintained at https://github.com/Tronic/cmake-modules
# Please send your improvements as pull requests on Github.
@@ -52,10 +52,6 @@ function (libfind_pkg_detect PREFIX)
if (libraryargs)
find_library(${PREFIX}_LIBRARY NAMES ${libraryargs} HINTS ${${PREFIX}_PKGCONF_LIBRARY_DIRS})
endif()
# Read pkg-config version
if (${PREFIX}_PKGCONF_VERSION)
set(${PREFIX}_VERSION ${${PREFIX}_PKGCONF_VERSION} PARENT_SCOPE)
endif()
endfunction()
# Extracts a version #define from a version.h file, output stored to <PREFIX>_VERSION.
@@ -129,39 +125,24 @@ function (libfind_process PREFIX)
# Process deps to add to
foreach (i ${PREFIX} ${${PREFIX}_DEPENDENCIES})
if (DEFINED ${i}_INCLUDE_OPTS)
if (DEFINED ${i}_INCLUDE_OPTS OR DEFINED ${i}_LIBRARY_OPTS)
# The package seems to export option lists that we can use, woohoo!
list(APPEND includeopts ${${i}_INCLUDE_OPTS})
else()
if (DEFINED ${i}_INCLUDE_DIR)
# Singular forms can be used
list(APPEND includeopts ${i}_INCLUDE_DIR)
else()
if (DEFINED ${i}_INCLUDE_DIRS)
# Plural forms can be used
list(APPEND includeopts ${i}_INCLUDE_DIRS)
else()
# Oh no, we don't know the option names
message(FATAL_ERROR "We couldn't determine config variable names for ${i} includes. Aieeh!")
endif()
endif()
endif()
if (DEFINED ${i}_LIBRARY_OPTS)
# The package seems to export option lists that we can use, woohoo!
list(APPEND libraryopts ${${i}_LIBRARY_OPTS})
else()
if (DEFINED ${i}_LIBRARY)
# If plural forms don't exist or they equal singular forms
if ((NOT DEFINED ${i}_INCLUDE_DIRS AND NOT DEFINED ${i}_LIBRARIES) OR
({i}_INCLUDE_DIR STREQUAL ${i}_INCLUDE_DIRS AND ${i}_LIBRARY STREQUAL ${i}_LIBRARIES))
# Singular forms can be used
list(APPEND libraryopts ${i}_LIBRARY)
else()
if (DEFINED ${i}_LIBRARIES)
# Plural forms can be used
list(APPEND libraryopts ${i}_LIBRARIES)
else()
# Oh no, we don't know the option names
message(FATAL_ERROR "We couldn't determine config variable names for ${i} libraries. Aieeh!")
if (DEFINED ${i}_INCLUDE_DIR)
list(APPEND includeopts ${i}_INCLUDE_DIR)
endif()
if (DEFINED ${i}_LIBRARY)
list(APPEND libraryopts ${i}_LIBRARY)
endif()
else()
# Oh no, we don't know the option names
message(FATAL_ERROR "We couldn't determine config variable names for ${i} includes and libs. Aieeh!")
endif()
endif()
endforeach()
@@ -228,12 +209,12 @@ function (libfind_process PREFIX)
message(STATUS " ${PREFIX}_LIBRARY_OPTS=${libraryopts}")
message(STATUS " ${PREFIX}_LIBRARIES=${libs}")
endif()
set (${PREFIX}_INCLUDE_OPTS ${includeopts} PARENT_SCOPE)
set (${PREFIX}_LIBRARY_OPTS ${libraryopts} PARENT_SCOPE)
set (${PREFIX}_INCLUDE_DIRS ${includes} PARENT_SCOPE)
set (${PREFIX}_LIBRARIES ${libs} PARENT_SCOPE)
set (${PREFIX}_FOUND TRUE PARENT_SCOPE)
endif()
set (${PREFIX}_INCLUDE_OPTS ${includeopts} PARENT_SCOPE)
set (${PREFIX}_LIBRARY_OPTS ${libraryopts} PARENT_SCOPE)
set (${PREFIX}_INCLUDE_DIRS ${includes} PARENT_SCOPE)
set (${PREFIX}_LIBRARIES ${libs} PARENT_SCOPE)
set (${PREFIX}_FOUND TRUE PARENT_SCOPE)
return()
endif()
-1
View File
@@ -42,4 +42,3 @@ compversion() {
[ -f "$path/comptime.c" ] && compversion "$@"
exit 2
+70
View File
@@ -0,0 +1,70 @@
srb2 for Debian
---------------
SRB2 Debian package!
Hi there, to rebuild these packages just use debuild in the root source directory (not /src!).
You can build these with or without a key if you want, but if you want to put these on a repo,
generate your own GnuPG key as per the https://help.ubuntu.com/community/GnuPrivacyGuardHowto
instructions and pass the -k<keyid> command to debuild. Make sure you export the key footprint
and give them to your users to install with apt-key add. Thanks!
-- Callum Dickinson <gcfreak_ag20@hotmail.com> Fri, 26 Nov 2010 18:25:31 +1300
---------------
Templating
Note that you MUST run [repo-root]/debian_template.sh before running debuild
on these scripts! debian_template.sh fills these template files with working values.
You should also set PACKAGE_NAME_EMAIL="John Doe <jdoe@example.com>" to match
the identity of the key you will use to sign the package.
Building for Launchpad PPA
Use these steps to prepare building a source package for Launchpad:
1. cd [repo-root]
2. git reset --hard; git clean -fd; git clean -fx;
* Resets your repo folder to a committed state and removes untracked files
* If you built srb2-data in the assets/ folder, MAKE SURE THAT FOLDER DOES NOT HAVE ASSETS,
OR THEY MAY BE INCLUDED IN THE MAIN SOURCE PACKAGE!
Build the source package:
1. source [repo-root]/debian_template.sh
* Initializes defaults for the package variables and fills in templates.
2. debuild -S (builds the source package for Launchpad)
Signing for Launchpad PPA
First, follow Callum's instructions to generate a GnuPG key with your identity. You will need
to publish the fingerprint of that key to Ubuntu's key server.
https://help.ubuntu.com/community/GnuPrivacyGuardHowto#Uploading_the_key_to_Ubuntu_keyserver
Next, you will have to add that key fingerprint to your Launchpad account. Go to your Launchpad
profile and click the yellow Edit button next to "OpenPGP keys". Once you add the key, you can
upload signed source packages and publish them onto your PPA.
IF YOU UPLOAD A PACKAGE and Launchpad does NOT send you a confirmation or rejection email, that
means your key is not set up correctly with your Launchpad account.
Finally, if your packages have not already been signed, follow these steps:
1. cd ..
* Packages are located in the parent folder of where debuild was called
2. debsign "srb2_[version]_source.changes"
* You may need to specify -k [key-fingerprint]
Uploading for Launchpad PPA
Follow the instructions at <https://help.launchpad.net/Packaging/PPA/Uploading> to upload
to your PPA and have Launchpad build your binary deb packages.
-- Marco Zafra <marco.a.zafra@gmail.com> Mon, 26 Nov 2018 21:13:00 -0500
+46
View File
@@ -0,0 +1,46 @@
srb2 for Debian
---------------
Here it is! SRB2 v2.1.2 source code!
GNU/Linux
~~~
Dependencies:
SDL 1.2.7 or better (from libsdl.org)
SDL_Mixer 1.2.2(.7 for file-less music playback) (from libsdl.org)
Nasm (use NOASM=1 if you don't have it or have an non-i386 system, I think)
libPNG 1.2.7
Zlib 1.2.3
The Xiph.org libogg and libvorbis libraries
The OpenGL headers (from Mesa, usually shipped with your X.org or XFree
installation, so you needn't worry, most likely)
GCC 3.x toolchain and binutils
GNU Make
Build instructions:
make -C src LINUX=1
Build instructions for non-X86 devices (such as X64):
make -C src LINUX=1 NONX86=1
Build instructions to build for Wii Linux/SRB2Wii on a PowerPC system,
follow cross-compiling instructions for cross-compiling on a x86 system:
make -C src LINUX=1 WIILINUX=1
Build instructions to build for Pandora (Linux) on a ARM system,
follow cross-compiling instructions for cross-compiling on a x86 system:
make -C src PANDORA=1
-------------------------------------------------------------------------------
binaries will turn in up in bin/
note: read the src/makefile for more options
- Sonic Team Junior
http://www.srb2.org
+5
View File
@@ -0,0 +1,5 @@
${PACKAGE_NAME} (${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}) ${PACKAGE_DISTRO}; urgency=${PACKAGE_URGENCY}
* ${PROGRAM_NAME} v${PROGRAM_VERSION} program build
-- ${PACKAGE_NAME_EMAIL} ${__PACKAGE_DATETIME}
+1
View File
@@ -0,0 +1 @@
7
+51
View File
@@ -0,0 +1,51 @@
# SRB2 Debian package control file.
Source: ${PACKAGE_NAME}
Section: games
Priority: extra
Maintainer: ${PACKAGE_GROUP_NAME_EMAIL}
Build-Depends: debhelper (>= 7.0.50~),
libsdl2-dev,
libsdl2-mixer-dev,
libpng-dev | libpng16-dev | libpng12-dev (>= 1.2.7),
zlib1g-dev,
libgme-dev,
libcurl4-openssl-dev,
libglu1-dev | libglu-dev,
libosmesa6-dev | libgl-dev,
nasm [i386]
Standards-Version: 3.8.4
Homepage: ${PACKAGE_WEBSITE}
Package: ${PACKAGE_NAME}
Architecture: any
Depends: ${SHLIBS_DEPENDS}, ${MISC_DEPENDS},
${PACKAGE_NAME}-data (>> ${PACKAGE_ASSET_MINVERSION}), ${PACKAGE_NAME}-data (<< ${PACKAGE_ASSET_MAXVERSION}),
libsdl2-2.0-0,
libsdl2-mixer-2.0-0,
zlib1g,
libgme0,
libcurl4,
libpng | libpng16-16 | libpng12-0
Description: A cross-platform 3D Sonic fangame
Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog
fangame built using a modified version of the Doom Legacy
port of Doom. SRB2 is closely inspired by the original
Sonic games from the Sega Genesis, and attempts to recreate
the design in 3D. It features tons of levels, enemies, speed,
and quite a lot of the fun that the original Sonic games provided.
Package: ${PACKAGE_NAME}-dbg
Architecture: any
# FIXME: should be Depends: ${SHLIBS_DEPENDS}, ${MISC_DEPENDS}, srb2-data (= 2.1.14), srb2 but dh_shlibdeps is being an asshat
Depends: libc6, ${MISC_DEPENDS}, ${PACKAGE_NAME}-data (>> ${PACKAGE_ASSET_MINVERSION}), ${PACKAGE_NAME}-data (<< ${PACKAGE_ASSET_MAXVERSION}), ${PACKAGE_NAME}
Description: A cross-platform 3D Sonic fangame
Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog
fangame built using a modified version of the Doom Legacy
port of Doom. SRB2 is closely inspired by the original
Sonic games from the Sega Genesis, and attempts to recreate
the design in 3D. It features tons of levels, enemies, speed,
and quite a lot of the fun that the original Sonic games provided.
This is a debug binary; its symbols will be loaded by gdb
when the user starts the game with gdb for debugging.
+27
View File
@@ -0,0 +1,27 @@
This work was packaged for Debian by:
${PACKAGE_NAME_EMAIL} ${__PACKAGE_DATETIME}
It was downloaded from:
${PACKAGE_WEBSITE}
Upstream Author(s):
${PACKAGE_GROUP_NAME_EMAIL}
Copyright:
Copyright (C) 1998-2018 by Sonic Team Junior
License:
GNU General Public License, version 2
The Debian packaging is:
Copyright (C) 2010 Callum Dickinson <gcfreak_ag20@hotmail.com>
Copyright (C) 2010-2018 by Sonic Team Junior <stjr@srb2.org>
and is licensed under the GPL version 2,
see "/usr/share/common-licenses/GPL-2".
+4
View File
@@ -0,0 +1,4 @@
README.md
assets/README.txt
assets/LICENSE.txt
assets/LICENSE-3RD-PARTY.txt
+172
View File
@@ -0,0 +1,172 @@
#!/usr/bin/make -f
# -*- makefile -*-
#############################################################################
#
# GNU Make Debian package makefile for SRB2
#
# Copyright (C) 1998-2010 by Callum Dickinson
#
# 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 2
# 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.
#
# This file most likely will not need to be modified to make
# branches of SRB2 capable of making their own Debian packages,
# instead look at the /debian/control file for configuration.
#
#############################################################################
#############################################################################
#
# !!!!!!!!!! DEPLOYER NOTE !!!!!!!!!!
#
# Variables to be templated are curly-braced ${PACKAGE_INSTALL_PATH}
# Variables used by the rules script are parenthese'd $(PKGDIR)
# See [repo-root]/debian_template.sh
#
#############################################################################
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# user/group of to-be-installed files
ROOT_USER := 0
ROOT_GROUP := 0
# determine cross-compile (may need some work)
CROSS_COMPILE_BUILD := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
CROSS_COMPILE_HOST := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
CROSS_COMPILE := $(shell test "$(CROSS_COMPILE_BUILD)" != "$(CROSS_COMPILE_HOST)" && echo "$(CROSS_COMPILE_HOST)")
MKDIR = mkdir -p
MAKE = make
INSTALL = install -o $(ROOT_USER) -g $(ROOT_GROUP) -m 644
MV = mv
RM = rm -rf
STRIPARGS = --strip-unneeded
ifdef CROSS_COMPILE
STRIP = $(CROSS_COMPILE_HOST)-strip $(STRIPARGS)
else
STRIP = strip $(STRIPARGS)
endif
DIR := $(shell pwd)
# FIXME: hate hate hate head/tail hack :(
CONTROLF = $(DIR)/debian/control
PACKAGE = ${PACKAGE_NAME}
DBGPKG = ${PACKAGE}-dbg
TITLE = ${PROGRAM_NAME}
SECTION = Games/Action
EXENAME = ${PROGRAM_FILENAME}
DBGNAME = debug/$(EXENAME)
PKGDIR = $(shell echo "${PACKAGE_INSTALL_PATH}" | sed -e 's/^\///')
DBGDIR = usr/lib/debug/$(PKGDIR)
LINKDIR = $(shell echo "${PACKAGE_LINK_PATH}" | sed -e 's/^\///')
PIXMAPS_DIR = usr/share/pixmaps
DESKTOP_DIR = usr/share/applications
PREFIX = $(shell test "$(CROSS_COMPILE_BUILD)" != "$(CROSS_COMPILE_HOST)" && echo "PREFIX=$(CROSS_COMPILE_HOST)")
OS = LINUX=1
NONX86 = $(shell test "`echo $(CROSS_COMPILE_HOST) | grep 'i[3-6]86'`" || echo "NONX86=1")
MAKEARGS = $(OS) $(NONX86) $(PREFIX) EXENAME=$(EXENAME) DBGNAME=$(DBGNAME) NOOBJDUMP=1 # SDL_PKGCONFIG=sdl2 PNG_PKGCONFIG=libpng
MENUFILE1 = ?package($(PACKAGE)):needs="X11" section="$(SECTION)"
MENUFILE2 = title="$(TITLE)" command="/$(PKGDIR)/$(PACKAGE)"
BINDIR := $(DIR)/bin/Linux/Release
# FIXME pkg-config dir hacks
# Launchpad doesn't need this; it actually makes i386 builds fail due to cross-compile
# export PKG_CONFIG_LIBDIR = /usr/lib/$(CROSS_COMPILE_HOST)/pkgconfig
LDFLAGS += "-Wl,-rpath=/usr/lib/$(CROSS_COMPILE_HOST)"
# Some libgme-dev packages don't use pkg-config yet, so include the linker flag ourselves
PKG_CONFIG?=pkg-config
LIBGME_PKGCONFIG?=libgme
LIBGME_LDFLAGS?=$(shell $(PKG_CONFIG) $(LIBGME_PKGCONFIG) --libs)
ifeq ($(LIBGME_LDFLAGS),)
MAKEARGS += LIBGME_LDFLAGS=-lgme
endif
build:
$(MKDIR) $(BINDIR)/debug
$(MAKE) -C $(DIR)/src $(MAKEARGS)
$(STRIP) $(BINDIR)/$(EXENAME)
binary-indep:
# only here to kill Lintian warning
echo "no need to do any arch-independent stuff"
binary-arch:
# create ddirs
$(MKDIR) $(DIR)/debian/tmp/$(PKGDIR) $(DIR)/debian/tmp/$(DBGDIR)
$(MKDIR) $(DIR)/debian/tmp/$(PKGDIR) $(DIR)/debian/tmp/$(DESKTOP_DIR)
$(MKDIR) $(DIR)/debian/tmp/$(PKGDIR) $(DIR)/debian/tmp/$(PIXMAPS_DIR)
# install main binaries
$(INSTALL) $(BINDIR)/$(EXENAME) $(DIR)/debian/tmp/$(PKGDIR)/$(PACKAGE)
$(INSTALL) $(BINDIR)/$(DBGNAME) $(DIR)/debian/tmp/$(DBGDIR)/$(PACKAGE)
# Install desktop file and banner image
$(INSTALL) $(DIR)/srb2.png $(DIR)/debian/tmp/usr/share/pixmaps/${PROGRAM_FILENAME}.png
$(INSTALL) $(DIR)/debian/srb2.desktop $(DIR)/debian/tmp/usr/share/applications/${PROGRAM_FILENAME}.desktop
# add compiled binaries to include-binaries
echo $(BINDIR)/$(EXENAME) >> $(DIR)/debian/source/include-binaries
echo $(BINDIR)/$(EXENAME) >> $(DIR)/debian/source/include-binaries
# Generate install folder files
echo $(PKGDIR) > $(DIR)/debian/$(PACKAGE).install
echo $(DESKTOP_DIR) >> $(DIR)/debian/$(PACKAGE).install
echo $(PIXMAPS_DIR) >> $(DIR)/debian/$(PACKAGE).install
echo $(DBGDIR) > $(DIR)/debian/$(DBGPKG).install
# Launchpad only calls binary-arch, so just move everything up
#binary: binary-arch
# Generate .desktop specifications
echo "`echo '$(MENUFILE1)\\'`" > $(DIR)/debian/menu
echo " `echo '$(MENUFILE2)'`" >> $(DIR)/debian/menu
dh_testdir
dh_testroot
dh_installchangelogs
dh_installdocs
# dh_installexamples
dh_install --sourcedir=$(DIR)/debian/tmp
dh_installmenu
# dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
# dh_python
# dh_installinit
# dh_installcron
# dh_installinfo
# dh_installman
dh_link $(PKGDIR)/$(EXENAME) $(LINKDIR)/$(EXENAME)
dh_compress
dh_fixperms
# dh_perl
# dh_makeshlibs
dh_installdeb
-dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-arch
clean:
$(MAKE) -C $(DIR)/src $(MAKEARGS) clean cleandep
$(RM) $(BINDIR)/*
$(RM) $(DIR)/debian/$(PACKAGE)/*
$(RM) $(DIR)/debian/$(DBGPKG)/*
$(RM) $(DIR)/debian/tmp/*
$(RM) $(DIR)/debian/$(PACKAGE).install
$(RM) $(DIR)/debian/$(DBGPKG).install
$(RM) $(DIR)/debian/menu
$(RM) $(DIR)/debian/files
$(RM) $(DIR)/debian/source/include-binaries
.PHONY: all clean binary binary-indep build
+1
View File
@@ -0,0 +1 @@
3.0 (native)
+11
View File
@@ -0,0 +1,11 @@
tar-ignore = "assets/*.srb"
tar-ignore = "assets/*.pk3"
tar-ignore = "assets/*.dta"
tar-ignore = "assets/*.wad"
tar-ignore = "assets/*.kart"
tar-ignore = "assets/debian/${PACKAGE_NAME}-data/*"
tar-ignore = "assets/debian/tmp/*"
tar-ignore = "*.obj"
tar-ignore = "*.dep"
tar-ignore = ".git/*"
tar-ignore = ".git*"
+10
View File
@@ -0,0 +1,10 @@
[Desktop Entry]
Name=${PROGRAM_NAME}
Comment=${PROGRAM_DESCRIPTION}
Encoding=UTF-8
Exec=${PACKAGE_INSTALL_PATH}/${PROGRAM_FILENAME}
Icon=/usr/share/pixmaps/${PROGRAM_FILENAME}.png
Terminal=false
Type=Application
StartupNotify=false
Categories=Application;Game;
+166
View File
@@ -0,0 +1,166 @@
#!/bin/bash
# Deployer for Travis-CI
# Debian package templating
#
# Call this script BEFORE running debuild!
# source ./debian_template.sh [clean] [main/asset]
#
# Before running this script,
# you should also set PACKAGE_NAME_EMAIL="John Doe <jdoe@example.com>" to match
# the identity of the key you will use to sign the package.
#
# Get script's actual path
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
# Recursive function for directory crawling
# $1 = Directory root to crawl
# $2 = Code to eval on file
# $3 = Code to eval on directory
# Exposes $dirtails, $dirlevel, and $dirtailname
dirlevel=0 # initialize
dirtails=()
# Utility function to make dira/dirb/dirc string
makedirtailname () {
dirtailname=""
for tail in $dirtails; do
if [[ "$dirtailname" == "" ]]; then
dirtailname="/$tail";
else
dirtailname="$dirtailname/$tail";
fi;
done;
}
evaldirectory () {
if [ -d "$1" ]; then
# Set contextual variables
# dirtails is an array of directory basenames after the crawl root
if (( $dirlevel > 0 )); then
dirtails+=( "$(basename $1)" );
else
dirtails=();
fi;
dirlevel=$((dirlevel+1));
# Generate directory path after the crawl root
makedirtailname;
# Eval our directory with the latest contextual info
# Don't eval on root
if (( $dirlevel > 1 )) && [[ "$3" != "" ]]; then
eval "$3";
fi;
# Iterate entries
for name in $1/*; do
if [ -d "$name" ]; then
# Name is a directory, but don't eval yet
# Recurse so our vars are updated
evaldirectory "$name" "$2" "$3";
# Decrement our directory level and remove a dirtail
unset 'dirtails[ ${#dirtails[@]}-1 ]';
dirlevel=$((dirlevel-1));
makedirtailname;
else
# Name is a file
if [ -f "$name" ] && [[ "$2" != "" ]]; then
eval "$2";
fi;
fi;
done;
# Reset our variables; we're done iterating
if (( $dirlevel == 1 )); then
dirlevel=0;
fi;
fi;
}
#
# Initialize package parameter defaults
#
if [[ "$__DEBIAN_PARAMETERS_INITIALIZED" != "1" ]]; then
. ${DIR}/deployer/travis/deployer_defaults.sh;
fi;
# Clean up after ourselves; we only expect to run this script once
# during buildboting
__DEBIAN_PARAMETERS_INITIALIZED=0
# for envsubst
export __PACKAGE_DATETIME="$(date '+%a, %d %b %Y %H:%M:%S %z')"
export __PACKAGE_DATETIME_DIGIT="$(date -u '+%Y%m%d%H%M%S')"
if [[ "$PACKAGE_REVISION" == "" ]]; then
PACKAGE_REVISION="-$__PACKAGE_DATETIME_DIGIT";
__PACKAGE_REVISION_BY_DATE=1;
export PACKAGE_REVISION=${PACKAGE_REVISION}; # for envsubst
fi;
#
# Clean the old debian/ directories
#
if [[ "$1" == "clean" ]]; then
toclean=$2;
else
toclean=$1;
fi;
if [[ "$toclean" == "" ]] || [[ "$toclean" == "main" ]]; then
echo "Cleaning main package scripts";
if [[ ! -f ${DIR}/debian ]]; then
rm -rf ${DIR}/debian;
fi;
fi;
if [[ "$toclean" == "" ]] || [[ "$toclean" == "asset" ]]; then
echo "Cleaning asset package scripts";
if [[ ! -f ${DIR}/assets/debian ]]; then
rm -rf ${DIR}/assets/debian;
fi;
fi;
#
# Make new templates
#
if [[ "$1" != "clean" ]]; then
totemplate=$1;
# HACK: ${shlibs:Depends} in the templates make the templating fail
# So just define replacemment variables
export SHLIBS_DEPENDS=${SHLIBS_DEPENDS};
export MISC_DEPENDS=${MISC_DEPENDS};
export DEBFILEVAR='$$file'; # used in assets/debian/rules
# Package parameters are exported for envsubst in deployer_defaults.sh
if [[ "$totemplate" == "" ]] || [[ "$totemplate" == "main" ]]; then
echo "Generating main package scripts";
fromroot=${DIR}/debian-template;
toroot=${DIR}/debian;
mkdir ${toroot};
evaldirectory ${fromroot} \
"cat \$name | envsubst > ${toroot}\${dirtailname}/\$( basename \$name )" \
"mkdir \"${toroot}\${dirtailname}\"";
fi;
if [[ "$totemplate" == "" ]] || [[ "$totemplate" == "asset" ]]; then
echo "Generating asset package scripts";
fromroot=${DIR}/assets/debian-template;
toroot=${DIR}/assets/debian;
mkdir ${toroot};
# Root dir to crawl; file eval; directory eval
evaldirectory ${fromroot} \
"cat \$name | envsubst > ${toroot}\${dirtailname}/\$( basename \$name )" \
"mkdir \"${toroot}\${dirtailname}\"";
fi;
fi;
if [[ "$__DPL_ACTIVE" != "1" ]] && [[ "$__PACKAGE_REVISION_BY_DATE" == "1" ]]; then
unset PACKAGE_REVISION; # so we can reset the date on subsequent runs
fi;
+195
View File
@@ -0,0 +1,195 @@
@setlocal enableextensions enabledelayedexpansion
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
: Appveyor Deployer
: See appveyor.yml for default variables
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
: Evaluate whether we should be deploying
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
if not [%DPL_ENABLED%] == [1] (
echo Deployer is not enabled...
exit /b
)
: Don't do DD installs because fmodex DLL handling is not implemented.
if [%CONFIGURATION%] == [DD] (
echo Deployer does not support DD builds...
exit /b
)
if [%CONFIGURATION%] == [DD64] (
echo Deployer does not support DD builds...
exit /b
)
: Substring match from https://stackoverflow.com/questions/7005951/batch-file-find-if-substring-is-in-string-not-in-a-file
: The below line says "if deployer is NOT in string"
: Note that APPVEYOR_REPO_BRANCH for pull request builds is the BASE branch that PR is merging INTO
if x%APPVEYOR_REPO_BRANCH:deployer=%==x%APPVEYOR_REPO_BRANCH% (
if not [%APPVEYOR_REPO_TAG%] == [true] (
echo Deployer is enabled but we are not in a release tag or a 'deployer' branch...
exit /b
) else (
if not [%DPL_TAG_ENABLED%] == [1] (
echo Deployer is not enabled for release tags...
exit /b
)
)
)
: Release tags always get optional assets (music.dta)
if [%APPVEYOR_REPO_TAG%] == [true] (
set "ASSET_FILES_OPTIONAL_GET=1"
)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
: Get asset archives
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
if exist "C:\Users\appveyor\srb2_cache\archives\" (
if [%ASSET_CLEAN%] == [1] (
echo Cleaning asset archives...
rmdir /s /q "C:\Users\appveyor\srb2_cache\archives"
)
)
if not exist "C:\Users\appveyor\srb2_cache\archives\" mkdir "C:\Users\appveyor\srb2_cache\archives"
goto EXTRACT_ARCHIVES
::::::::::::::::::::::::::::::::
: ARCHIVE_NAME_PARTS
: Call this like a function. %archivepath% is the path to extract parts from.
::::::::::::::::::::::::::::::::
for %%a in (%archivepath%) do (
set "file=%%~fa"
set "filepath=%%~dpa"
set "filename=%%~nxa"
)
set "localarchivepath=C:\Users\appveyor\srb2_cache\archives\%filename%"
goto EOF
::::::::::::::::::::::::::::::::
: EXTRACT_ARCHIVES
::::::::::::::::::::::::::::::::
set "archivepath=%ASSET_ARCHIVE_PATH%"
call :ARCHIVE_NAME_PARTS
set "ASSET_ARCHIVE_PATH_LOCAL=%localarchivepath%"
if not exist "%localarchivepath%" appveyor DownloadFile "%ASSET_ARCHIVE_PATH%" -FileName "%localarchivepath%"
set "archivepath=%ASSET_ARCHIVE_PATCH_PATH%"
call :ARCHIVE_NAME_PARTS
set "ASSET_ARCHIVE_PATCH_PATH_LOCAL=%localarchivepath%"
if not exist "%localarchivepath%" appveyor DownloadFile "%ASSET_ARCHIVE_PATCH_PATH%" -FileName "%localarchivepath%"
if not [%X86_64%] == [1] (
set "archivepath=%ASSET_ARCHIVE_X86_PATH%"
call :ARCHIVE_NAME_PARTS
set "ASSET_ARCHIVE_X86_PATH_LOCAL=!localarchivepath!"
if not exist "!localarchivepath!" appveyor DownloadFile "%ASSET_ARCHIVE_X86_PATH%" -FileName "!localarchivepath!"
)
if [%X86_64%] == [1] (
set "archivepath=%ASSET_ARCHIVE_X64_PATH%"
call :ARCHIVE_NAME_PARTS
set "ASSET_ARCHIVE_X64_PATH_LOCAL=!localarchivepath!"
if not exist "!localarchivepath!" appveyor DownloadFile "%ASSET_ARCHIVE_X64_PATH%" -FileName "!localarchivepath!"
)
if [%ASSET_FILES_OPTIONAL_GET%] == [1] (
set "archivepath=%ASSET_ARCHIVE_OPTIONAL_PATH%"
call :ARCHIVE_NAME_PARTS
set "ASSET_ARCHIVE_OPTIONAL_PATH_LOCAL=!localarchivepath!"
if not exist "!localarchivepath!" appveyor DownloadFile "%ASSET_ARCHIVE_OPTIONAL_PATH%" -FileName "!localarchivepath!"
)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
: Build the installers
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
mkdir "assets\installer"
mkdir "assets\patch"
7z x -y "%ASSET_ARCHIVE_PATH_LOCAL%" -o"assets\installer" >null
7z x -y "%ASSET_ARCHIVE_PATCH_PATH_LOCAL%" -o"assets\patch" >null
: Copy optional files to full installer (music.dta)
if [%ASSET_FILES_OPTIONAL_GET%] == [1] (
7z x -y "%ASSET_ARCHIVE_OPTIONAL_PATH_LOCAL%" -o"assets\installer" >null
)
: Copy EXE -- BUILD_PATH is from appveyor.yml
robocopy /S /ns /nc /nfl /ndl /np /njh /njs "%BUILD_PATH%" "assets\installer" /XF "*.debug" ".gitignore"
robocopy /S /ns /nc /nfl /ndl /np /njh /njs "%BUILD_PATH%" "assets\patch" /XF "*.debug" ".gitignore"
: Are we building DD? (we were supposed to exit earlier!)
if [%CONFIGURATION%] == [DD] ( set "DPL_INSTALLER_NAME=%DPL_INSTALLER_NAME%-DD" )
if [%CONFIGURATION%] == [DD64] ( set "DPL_INSTALLER_NAME=%DPL_INSTALLER_NAME%-DD" )
: If we are not a release tag, suffix the filename
if not [%APPVEYOR_REPO_TAG%] == [true] (
set "INSTALLER_SUFFIX=-%APPVEYOR_REPO_BRANCH%-%GITSHORT%-%CONFIGURATION%"
) else (
set "INSTALLER_SUFFIX="
)
if not [%X86_64%] == [1] ( goto X86_INSTALL )
::::::::::::::::::::::::::::::::
: X64_INSTALL
::::::::::::::::::::::::::::::::
: Extract DLL binaries
7z x -y "%ASSET_ARCHIVE_X64_PATH_LOCAL%" -o"assets\installer" >null
if [%PACKAGE_PATCH_DLL_GET%] == [1] (
7z x -y "!ASSET_ARCHIVE_X64_PATH_LOCAL!" -o"assets\patch" >null
)
: Build the installer
7z a -sfx7z.sfx "%DPL_INSTALLER_NAME%-x64-Installer%INSTALLER_SUFFIX%.exe" .\assets\installer\*
: Build the patch
7z a "%DPL_INSTALLER_NAME%-x64-Patch%INSTALLER_SUFFIX%.zip" .\assets\patch\*
: Upload artifacts
appveyor PushArtifact "%DPL_INSTALLER_NAME%-x64-Installer%INSTALLER_SUFFIX%.exe"
appveyor PushArtifact "%DPL_INSTALLER_NAME%-x64-Patch%INSTALLER_SUFFIX%.zip"
: We only do x86 OR x64, one at a time, so exit now.
goto EOF
::::::::::::::::::::::::::::::::
: X86_INSTALL
::::::::::::::::::::::::::::::::
: Extract DLL binaries
7z x -y "%ASSET_ARCHIVE_X86_PATH_LOCAL%" -o"assets\installer" >null
if [%PACKAGE_PATCH_DLL_GET%] == [1] (
7z x -y "!ASSET_ARCHIVE_X86_PATH_LOCAL!" -o"assets\patch" >null
)
: Build the installer
7z a -sfx7z.sfx "%DPL_INSTALLER_NAME%-Installer%INSTALLER_SUFFIX%.exe" .\assets\installer\*
: Build the patch
7z a "%DPL_INSTALLER_NAME%-Patch%INSTALLER_SUFFIX%.zip" .\assets\patch\*
: Upload artifacts
appveyor PushArtifact "%DPL_INSTALLER_NAME%-Installer%INSTALLER_SUFFIX%.exe"
appveyor PushArtifact "%DPL_INSTALLER_NAME%-Patch%INSTALLER_SUFFIX%.zip"
: We only do x86 OR x64, one at a time, so exit now
goto EOF
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
: EOF
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
endlocal
+157
View File
@@ -0,0 +1,157 @@
#!/bin/bash
# Deployer for Travis-CI
# Initialization
#
# Performs validity checks to ensure that Deployer is allowed to run
# e.g., is an FTP hostname specified? Are we whitelisted by OSNAMES and BRANCHES?
#
# Set these environment variables in your Travis-CI settings, where they are stored securely.
# See other shell scripts for more options.
#
# DPL_ENABLED = 1 (leave blank to disable)
# DPL_TAG_ENABLED = 1 (run Deployer on all tags)
# DPL_JOB_ENABLE_ALL = 1 (run Deployer on all jobs; leave blank to act on specific jobs, see below)
# DPL_JOBNAMES = name1,name2 (whitelist of job names to allow uploading; leave blank to upload from all jobs)
# DPL_OSNAMES = osx (whitelist of OS names to allow uploading; leave blank to upload from all OSes)
# DPL_BRANCHES = master,branch1,branch2 (whitelist of branches to upload; leave blank to upload all branches)
#
# To enable Deployer on specific jobs, set _DPL_JOB_ENABLED=1 for that job. Example:
# - matrix:
# - os: osx
# env:
# - _DPL_JOB_ENABLED=1
#
# DO NOT set __DPL_ACTIVE, because that would bypass these validity checks.
# Validate Deployer state
if [[ "$DPL_ENABLED" == "1" ]] && [[ "$TRAVIS_PULL_REQUEST" == "false" ]]; then
# Test for base eligibility:
# Are we in a deployer branch? Or
# Are we in a release tag AND DPL_TAG_ENABLED=1?
if [[ $TRAVIS_BRANCH == *"deployer"* ]]; then
__DPL_BASE_ELIGIBLE=1;
__DPL_TERMINATE_EARLY_ELIGIBLE=1;
fi;
if [[ "$TRAVIS_TAG" != "" ]] && [[ "$DPL_TAG_ENABLED" == "1" ]]; then
__DPL_BASE_ELIGIBLE=1;
__DPL_TAG_ELIGIBLE=1;
__DPL_TERMINATE_EARLY_ELIGIBLE=1;
fi;
# Logging message for trigger word
if [[ "$__DPL_TAG_ELIGIBLE" != "1" ]] && [[ "$DPL_TRIGGER" != "" ]]; then
echo "Testing for trigger $DPL_TRIGGER, commit message: $TRAVIS_COMMIT_MESSAGE";
echo "[${DPL_TRIGGER}]";
echo "[${DPL_TRIGGER}-${_DPL_JOB_NAME}]";
echo "[${DPL_TRIGGER}-${TRAVIS_OS_NAME}]";
fi;
#
# Search for the trigger word
# Force enable if release tags are eligible
#
if [[ "$__DPL_TAG_ELIGIBLE" == "1" ]] || [[ "$DPL_TRIGGER" == "" ]] \
|| [[ $TRAVIS_COMMIT_MESSAGE == *"[$DPL_TRIGGER]"* ]] \
|| [[ $TRAVIS_COMMIT_MESSAGE == *"[${DPL_TRIGGER}-${_DPL_JOB_NAME}]"* ]] \
|| [[ $TRAVIS_COMMIT_MESSAGE == *"[${DPL_TRIGGER}-${TRAVIS_OS_NAME}]"* ]]; then
#
# Whitelist by branch name
# Force enable if release tags are eligible
#
if [[ "$__DPL_TAG_ELIGIBLE" == "1" ]] || [[ "$DPL_BRANCHES" == "" ]] || [[ $DPL_BRANCHES == *"$TRAVIS_BRANCH"* ]]; then
# Set this so we only early-terminate builds when we are specifically deploying
# Trigger string and branch are encompassing conditions; the rest are job-specific
# This check only matters for deployer branches and when DPL_TERMINATE_TESTS=1,
# because we're filtering non-deployer jobs.
#
# __DPL_TRY_TERMINATE_EARLY is invalidated in .travis.yml if __DPL_ACTIVE=1
if [[ "$__DPL_TERMINATE_EARLY_ELIGIBLE" == "1" ]] && [[ "$DPL_TERMINATE_TESTS" == "1" ]]; then
__DPL_TRY_TERMINATE_EARLY=1;
fi;
#
# Is the job enabled for deployment?
#
if [[ "$DPL_JOB_ENABLE_ALL" == "1" ]] || [[ "$_DPL_JOB_ENABLED" == "1" ]]; then
#
# Whitelist by job names
#
if [[ "$DPL_JOBNAMES" == "" ]] || [[ "$_DPL_JOB_NAME" == "" ]] || [[ $DPL_JOBNAMES == *"$_DPL_JOB_NAME"* ]]; then
#
# Whitelist by OS names
#
if [[ "$DPL_OSNAMES" == "" ]] || [[ $DPL_OSNAMES == *"$TRAVIS_OS_NAME"* ]]; then
# Base Deployer is eligible for becoming active
# Are we building for Linux?
if [[ "$_DPL_PACKAGE_BINARY" == "1" ]] || [[ "$_DPL_PACKAGE_SOURCE" == "1" ]]; then
if [[ "$_DPL_PACKAGE_MAIN" == "1" ]] || [[ "$_DPL_PACKAGE_ASSET" == "1" ]]; then
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
__DPL_DEBIAN_ACTIVE=1;
fi;
fi;
fi;
# Now check for deployment targets
if [[ "$_DPL_FTP_TARGET" == "1" ]] && [[ "$DPL_FTP_HOSTNAME" != "" ]]; then
if [[ "$TRAVIS_OS_HOST" == "linux" ]] && [[ "$DPL_FTP_PROTOCOL" == "ftp" ]]; then
echo "Non-secure FTP will not work on Linux Travis-CI jobs!";
echo "Try SFTP or another target. Details:";
echo "https://blog.travis-ci.com/2018-07-23-the-tale-of-ftp-at-travis-ci";
else
if [[ "$__DPL_DEBIAN_ACTIVE" == "1" ]] || [[ "$_DPL_PACKAGE_BINARY" == "1" ]] || [[ "$_DPL_BINARY" == "1" ]]; then
echo "Deployer FTP target is enabled";
__DPL_FTP_ACTIVE=1;
else
echo "Deployer FTP target cannot be enabled: You must specify _DPL_PACKAGE_BINARY=1,";
echo "and/or _DPL_BINARY=1 in your job's environment variables.";
fi;
fi;
fi;
if [[ "$_DPL_DPUT_TARGET" == "1" ]] && [[ "$__DPL_DEBIAN_ACTIVE" == "1" ]] \
&& [[ "$DPL_DPUT_INCOMING" != "" ]]; then
if [[ "$DPL_DPUT_METHOD" == "ftp" ]]; then
echo "DPUT will not work with non-secure FTP on Linux Travis-CI jobs!";
echo "Try SFTP or another method for DPUT. Details:";
echo "https://blog.travis-ci.com/2018-07-23-the-tale-of-ftp-at-travis-ci";
else
echo "Deployer DPUT target is enabled";
__DPL_DPUT_ACTIVE=1;
fi;
fi;
# If any deployment targets are active, then so is the Deployer at large
if [[ "$__DPL_FTP_ACTIVE" == "1" ]] || [[ "$__DPL_DPUT_ACTIVE" == "1" ]]; then
__DPL_ACTIVE=1;
fi;
fi;
fi;
fi;
fi;
else
if [[ "$DPL_TRIGGER" != "" ]]; then
echo "Testing for global trigger [$DPL_TRIGGER, commit message: $TRAVIS_COMMIT_MESSAGE";
fi;
if [[ "$DPL_TRIGGER" != "" ]] && [[ $TRAVIS_COMMIT_MESSAGE == *"[$DPL_TRIGGER"* ]]; then
if [[ "$__DPL_TAG_ELIGIBLE" == "1" ]] || [[ "$DPL_BRANCHES" == "" ]] || [[ $DPL_BRANCHES == *"$TRAVIS_BRANCH"* ]]; then
# This check only matters for deployer branches and when DPL_TERMINATE_TESTS=1,
# because we're filtering non-deployer jobs.
if [[ "$__DPL_TERMINATE_EARLY_ELIGIBLE" == "1" ]] && [[ "$DPL_TERMINATE_TESTS" == "1" ]]; then
# Assume that some job received the trigger, so mark this for early termination
__DPL_TRY_TERMINATE_EARLY=1;
fi;
fi;
fi;
fi;
fi;
if [[ "$__DPL_TRY_TERMINATE_EARLY" == "1" ]] && [[ "$__DPL_ACTIVE" != "1" ]]; then
echo "Deployer is active in another job";
fi;
if [[ "$__DPL_TRY_TERMINATE_EARLY" != "1" ]] && [[ "$__DPL_ACTIVE" != "1" ]]; then
echo "Deployer is not active";
fi;
+190
View File
@@ -0,0 +1,190 @@
#!/bin/bash
# Deployer for Travis-CI
# Build Script
#
# Builds the required targets depending on which sub-modules are enabled
if [[ "$__DPL_FTP_ACTIVE" == "1" ]] || [[ "$__DPL_DPUT_ACTIVE" == "1" ]]; then
if [[ "$__DPL_DEBIAN_ACTIVE" == "1" ]]; then
echo "Building Debian package(s)"
sudo apt-get install devscripts debhelper fakeroot secure-delete expect;
# Build source packages first, since they zip up the entire source folder,
# binaries and all
if [[ "$_DPL_PACKAGE_MAIN" == "1" ]]; then
. ../debian_template.sh main;
OLDPWD=$PWD; # [repo]/build
cd ..; # repo root
if [[ "$_DPL_PACKAGE_SOURCE" == "1" ]]; then
echo "Building main source Debian package";
expect <(cat <<EOD
spawn debuild -S -us -uc;
expect "continue anyway? (y/n)"
send "y\r"
interact
EOD
);
fi;
if [[ "$_DPL_PACKAGE_BINARY" == "1" ]]; then
echo "Building main binary Debian package";
expect <(cat <<EOD
spawn debuild -us -uc;
expect "continue anyway? (y/n)"
send "y\r"
interact
EOD
);
fi;
cd $OLDPWD;
fi;
# Also an asset package
if [[ "$_DPL_PACKAGE_ASSET" == "1" ]]; then
. ../debian_template.sh asset;
OLDPWD=$PWD; # [repo]/build
cd ../assets;
# make sure the asset files exist, download them if they don't
#echo "Checking asset files for asset Debian package";
#debuild -T build;
if [[ "$_DPL_PACKAGE_SOURCE" == "1" ]]; then
echo "Building asset source Debian package";
expect <(cat <<EOD
spawn debuild -S -us -uc;
expect "continue anyway? (y/n)"
send "y\r"
interact
EOD
);
fi;
if [[ "$_DPL_PACKAGE_BINARY" == "1" ]]; then
echo "Building asset binary Debian package";
expect <(cat <<EOD
spawn debuild -us -uc;
expect "continue anyway? (y/n)"
send "y\r"
interact
EOD
);
fi;
cd $OLDPWD;
fi;
# Now sign our packages
if [[ "$DPL_PGP_KEY_PRIVATE" != "" ]] && [[ "$DPL_PGP_KEY_PASSPHRASE" != "" ]]; then
# Get the key to sign
# Do this AFTER debuild so that we can specify the passphrase in command line
echo "$DPL_PGP_KEY_PRIVATE" | base64 --decode > key.asc;
echo "$DPL_PGP_KEY_PASSPHRASE" > phrase.txt;
gpg --import key.asc;
if [[ "$_DPL_PACKAGE_MAIN" == "1" ]]; then
echo "Signing main package(s)";
PACKAGEFILENAME=${PACKAGE_NAME}_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
PACKAGEDBGFILENAME=${PACKAGE_NAME}-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGENIGHTLYDBGFILENAME=${PACKAGE_NAME}-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGEPATCHDBGFILENAME=${PACKAGE_NAME}-patch-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGEPATCHNIGHTLYDBGFILENAME=${PACKAGE_NAME}-patch-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
PACKAGEFILENAMES=(
$PACKAGEFILENAME
$PACKAGEDBGFILENAME
#$PACKAGENIGHTLYFILENAME
#$PACKAGENIGHTLYDBGFILENAME
#$PACKAGEPATCHFILENAME
#$PACKAGEPATCHDBGFILENAME
#$PACKAGEPATCHNIGHTLYFILENAME
#$PACKAGEPATCHNIGHTLYDBGFILENAME
);
# Main packages are in parent of root repo folder
OLDPWD=$PWD; # [repo]/build
cd ../..; # parent of repo root
for n in ${PACKAGEFILENAMES}; do
for f in ./$n*.changes; do
debsign --no-re-sign -p"gpg --passphrase-file $OLDPWD/phrase.txt --batch" "$f";
done;
done;
cd $OLDPWD;
fi;
if [[ "$_DPL_PACKAGE_ASSET" == "1" ]]; then
echo "Signing asset package(s)";
PACKAGEFILENAME=${PACKAGE_NAME}-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
PACKAGEFILENAMES=(
$PACKAGEFILENAME
#$PACKAGENIGHTLYFILENAME
#$PACKAGEPATCHFILENAME
#$PACKAGEPATCHNIGHTLYFILENAME
)
# Asset packages are in root repo folder
OLDPWD=$PWD; # [repo]/build
cd ..; # repo root
for n in ${PACKAGEFILENAMES}; do
for f in ./$n*.changes; do
debsign --no-re-sign -p"gpg --passphrase-file $OLDPWD/phrase.txt --batch" "$f";
done;
done;
cd $OLDPWD;
fi;
# Delete the keys :eyes:
srm key.asc;
srm phrase.txt;
fi;
fi;
# all other OSes
if [[ "$TRAVIS_OS_NAME" != "linux" ]]; then
#
# Check for binary building
#
if [[ "$_DPL_BINARY" == "1" ]]; then
echo "Building a Binary";
make -k;
fi;
#
# Check for package building
#
if [[ "$_DPL_PACKAGE_BINARY" == "1" ]]; then
echo "Building a Package";
# Make an OSX package; superuser is required for library bundling
#
# HACK: OSX packaging can't write libraries to .app package unless we're superuser
# because the original library files don't have WRITE permission
# Bug may be sidestepped by using CHMOD_BUNDLE_ITEMS=TRUE
# But I don't know where this is set. Not `cmake -D...` because this var is ignored.
# https://cmake.org/Bug/view.php?id=9284
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
sudo make -k package;
else
# Some day, when Windows is supported, we'll just make a standard package
make -k package;
fi;
fi;
fi;
fi;
+105
View File
@@ -0,0 +1,105 @@
#!/bin/bash
# Deployer for Travis-CI
# Default Variables
#
# Here are all of the user-set variables used by Deployer.
# See the "Cross-platform deployment" page on SRB2 Wiki for documentation.
# Core Parameters
: ${DPL_ENABLED} # Enable Deployer behavior; must be set for any deployment activity
: ${DPL_TAG_ENABLED} # Trigger Deployer for all tag releases
: ${DPL_JOB_ENABLE_ALL} # Enable all jobs for deployment
: ${DPL_TERMINATE_TESTS} # Terminate all build test jobs (used in .travis.yml)
: ${DPL_TRIGGER} # Use a [word] in the commit message to trigger Deployer
: ${DPL_JOBNAMES} # Trigger Deployer by job name
: ${DPL_OSNAMES} # Trigger Deployer by OS name (osx,linux)
: ${DPL_BRANCHES} # Trigger Deployer by git branch name
# Job Parameters
: ${_DPL_JOB_ENABLED} # Enable Deployer for this specific job. DPL_ENABLED must be set too.
: ${_DPL_JOB_NAME} # Identifier for the job, used for logging and trigger word matching
: ${_DPL_FTP_TARGET} # Deploy to FTP
: ${_DPL_DPUT_TARGET} # Deploy to DPUT
: ${_DPL_PACKAGE_SOURCE} # Build packages into a Source distribution. Linux only.
: ${_DPL_PACKAGE_BINARY} # Build packages into a Binary distribution.
: ${_DPL_PACKAGE_MAIN:=1} # Build main installation package. Linux only; OS X assumes this.
: ${_DPL_PACKAGE_ASSET} # Build asset installation package. Linux only.
# Asset File Parameters
: ${ASSET_ARCHIVE_PATH:=https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-assets.7z}
: ${ASSET_ARCHIVE_OPTIONAL_PATH:=https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-optional-assets.7z}
: ${ASSET_FILES_HASHED:=srb2.srb patch.kart gfx.kart textures.kart chars.kart maps.kart}
: ${ASSET_FILES_DOCS:=README.txt HISTORY.txt LICENSE.txt LICENSE-3RD-PARTY.txt}
: ${ASSET_FILES_OPTIONAL_GET:=0}
# FTP Parameters
: ${DPL_FTP_PROTOCOL}
: ${DPL_FTP_USER}
: ${DPL_FTP_PASS}
: ${DPL_FTP_HOSTNAME}
: ${DPL_FTP_PORT}
: ${DPL_FTP_PATH}
# DPUT Parameters
: ${DPL_DPUT_DOMAIN:=ppa.launchpad.net}
: ${DPL_DPUT_METHOD:=sftp}
: ${DPL_DPUT_INCOMING}
: ${DPL_DPUT_LOGIN:=anonymous}
: ${DPL_SSH_KEY_PRIVATE} # Base64-encoded private key file. Used to sign repository uploads
: ${DPL_SSH_KEY_PASSPHRASE} # Decodes the private key file.
# Package Parameters
: ${PACKAGE_NAME:=srb2kart}
: ${PACKAGE_VERSION:=1.0.2}
: ${PACKAGE_SUBVERSION} # Highly recommended to set this to reflect the distro series target (e.g., ~18.04bionic)
: ${PACKAGE_REVISION} # Defaults to UTC timestamp
: ${PACKAGE_INSTALL_PATH:=/usr/games/SRB2Kart}
: ${PACKAGE_LINK_PATH:=/usr/games}
: ${PACKAGE_DISTRO:=trusty}
: ${PACKAGE_URGENCY:=high}
: ${PACKAGE_NAME_EMAIL:=Kart Krew <stjr@srb2.org>}
: ${PACKAGE_GROUP_NAME_EMAIL:=Kart Krew <stjr@srb2.org>}
: ${PACKAGE_WEBSITE:=<https://mb.srb2.org/showthread.php?p=802695>}
: ${PACKAGE_ASSET_MINVERSION:=1.0.1} # Number this the version BEFORE the actual required version, because we do a > check
: ${PACKAGE_ASSET_MAXVERSION:=1.0.3} # Number this the version AFTER the actual required version, because we do a < check
: ${PROGRAM_NAME:=Sonic Robo Blast 2 Kart}
: ${PROGRAM_VENDOR:=Kart Krew}
: ${PROGRAM_VERSION:=1.0.2}
: ${PROGRAM_DESCRIPTION:=A kart racing mod based on the 3D Sonic the Hedgehog fangame Sonic Robo Blast 2.}
: ${PROGRAM_FILENAME:=srb2kart}
: ${DPL_PGP_KEY_PRIVATE} # Base64-encoded private key file. Used to sign Debian packages
: ${DPL_PGP_KEY_PASSPHRASE} # Decodes the private key file.
# Export Asset and Package Parameters for envsubst templating
export ASSET_ARCHIVE_PATH="${ASSET_ARCHIVE_PATH}"
export ASSET_ARCHIVE_OPTIONAL_PATH="${ASSET_ARCHIVE_OPTIONAL_PATH}"
export ASSET_FILES_HASHED="${ASSET_FILES_HASHED}"
export ASSET_FILES_DOCS="${ASSET_FILES_DOCS}"
export ASSET_FILES_OPTIONAL_GET="${ASSET_FILES_OPTIONAL_GET}"
export PACKAGE_NAME="${PACKAGE_NAME}"
export PACKAGE_VERSION="${PACKAGE_VERSION}"
export PACKAGE_SUBVERSION="${PACKAGE_SUBVERSION}" # in case we have this
export PACKAGE_REVISION="${PACKAGE_REVISION}"
export PACKAGE_ASSET_MINVERSION="${PACKAGE_ASSET_MINVERSION}"
export PACKAGE_ASSET_MAXVERSION="${PACKAGE_ASSET_MAXVERSION}"
export PACKAGE_INSTALL_PATH="${PACKAGE_INSTALL_PATH}"
export PACKAGE_LINK_PATH="${PACKAGE_LINK_PATH}"
export PACKAGE_DISTRO="${PACKAGE_DISTRO}"
export PACKAGE_URGENCY="${PACKAGE_URGENCY}"
export PACKAGE_NAME_EMAIL="${PACKAGE_NAME_EMAIL}"
export PACKAGE_GROUP_NAME_EMAIL="${PACKAGE_GROUP_NAME_EMAIL}"
export PACKAGE_WEBSITE="${PACKAGE_WEBSITE}"
export PROGRAM_NAME="${PROGRAM_NAME}"
export PROGRAM_VERSION="${PROGRAM_VERSION}"
export PROGRAM_DESCRIPTION="${PROGRAM_DESCRIPTION}"
export PROGRAM_FILENAME="${PROGRAM_FILENAME}"
# This file is called in debian_template.sh, so mark our completion so we don't run it again
__DEBIAN_PARAMETERS_INITIALIZED=1
+133
View File
@@ -0,0 +1,133 @@
#!/bin/bash
# Deployer for Travis-CI
# DPUT uploader (e.g., Launchpad PPA)
#
if [[ "$__DPL_DPUT_ACTIVE" == "1" ]]; then
# Install APT dependencies
# paramiko required for ssh
sudo apt-get install python-paramiko expect dput; # python-pip
#pip install paramiko;
# Output the DPUT config
# Dput only works if you're using secure FTP, so that's what we default to.
cat > "./dput.cf" << EOM
[deployer]
fqdn = ${DPL_DPUT_DOMAIN}
method = ${DPL_DPUT_METHOD}
incoming = ${DPL_DPUT_INCOMING}
login = ${DPL_DPUT_LOGIN}
allow_unsigned_uploads = 0
EOM
# Output SSH config
# Don't let SSH prompt us for untrusted hosts
cat >> "./ssh_config" << EOM
Host *
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
PubKeyAuthentication yes
IdentityFile ${PWD}/key.private
IdentitiesOnly yes
EOM
sudo sh -c "cat < ${PWD}/ssh_config >> /etc/ssh/ssh_config";
# Get the private key
echo "$DPL_SSH_KEY_PRIVATE" | base64 --decode > key.private;
chmod 700 ./key.private;
if [[ "$_DPL_PACKAGE_MAIN" == "1" ]]; then
PACKAGEFILENAME=${PACKAGE_NAME}_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
PACKAGEDBGFILENAME=${PACKAGE_NAME}-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGENIGHTLYDBGFILENAME=${PACKAGE_NAME}-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGEPATCHDBGFILENAME=${PACKAGE_NAME}-patch-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGEPATCHNIGHTLYDBGFILENAME=${PACKAGE_NAME}-patch-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
PACKAGEFILENAMES=(
$PACKAGEFILENAME
$PACKAGEDBGFILENAME
#$PACKAGENIGHTLYFILENAME
#$PACKAGENIGHTLYDBGFILENAME
#$PACKAGEPATCHFILENAME
#$PACKAGEPATCHDBGFILENAME
#$PACKAGEPATCHNIGHTLYFILENAME
#$PACKAGEPATCHNIGHTLYDBGFILENAME
);
# Main packages are in parent of root repo folder
OLDPWD=$PWD; # [repo]/build
cd ../..;
# Enter passphrase if required
for n in ${PACKAGEFILENAMES}; do
for f in $n*.changes; do
# Binary builds also generate source builds, so exclude the source
# builds if desired
if [[ "$_DPL_PACKAGE_SOURCE" != "1" ]]; then
if [[ "$f" == *"_source"* ]] || [[ "$f" == *".tar.xz"* ]]; then
continue;
fi;
fi;
expect <(cat <<EOD
spawn dput -c "${OLDPWD}/dput.cf" deployer "$f";
expect "Enter passphrase for key"
send "${DPL_SSH_KEY_PASSPHRASE}\r"
interact
EOD
);
done;
done;
# Go back to [repo]/build folder
cd $OLDPWD;
fi;
if [[ "$_DPL_PACKAGE_ASSET" == "1" ]]; then
PACKAGEFILENAME=${PACKAGE_NAME}-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
PACKAGEFILENAMES=(
$PACKAGEFILENAME
#$PACKAGENIGHTLYFILENAME
#$PACKAGEPATCHFILENAME
#$PACKAGEPATCHNIGHTLYFILENAME
)
# Asset packages are in root repo folder
OLDPWD=$PWD; # [repo]/build
cd ..;
# Enter passphrase if required
for n in ${PACKAGEFILENAMES}; do
for f in $n*.changes; do
# Binary builds also generate source builds, so exclude the source
# builds if desired
if [[ "$_DPL_PACKAGE_SOURCE" != "1" ]]; then
if [[ "$f" == *"_source"* ]] || [[ "$f" == *".tar.xz"* ]]; then
continue;
fi;
fi;
expect <(cat <<EOD
spawn dput -c "${OLDPWD}/dput.cf" deployer "$f";
expect "Enter passphrase for key"
send "${DPL_SSH_KEY_PASSPHRASE}\r"
interact
EOD
);
done;
done;
# Go back to [repo]/build folder
cd $OLDPWD;
fi;
srm ./key.private;
fi;
+137
View File
@@ -0,0 +1,137 @@
#!/bin/bash
# Deployer for Travis-CI
# FTP Uploader
#
# Package files are uploaded to, e.g., ftp://username:password@example.com:21/path/to/upload/STJr/SRB2/master/460873812-151.1
# With file `commit.txt` and folder(s) `bin` and `package`
#
# Set these environment variables in your Travis-CI settings, where they are stored securely.
# See other shell scripts for more options.
#
# DPL_FTP_PROTOCOL = ftp (ftp or sftp or ftps or however your FTP URI begins)
# DPL_FTP_USER = username
# DPL_FTP_PASS = password
# DPL_FTP_HOSTNAME = example.com
# DPL_FTP_PORT = 21
# DPL_FTP_PATH = path/to/upload (do not add trailing slash)
if [[ "$__DPL_FTP_ACTIVE" == "1" ]]; then
if [[ "$TRAVIS_JOB_NAME" != "" ]]; then
JOBNAME=$TRAVIS_JOB_NAME;
else
if [[ "$_DPL_JOB_NAME" != "" ]]; then
JOBNAME=$_DPL_JOB_NAME;
else
JOBNAME=$TRAVIS_OS_NAME;
fi;
fi;
# Generate commit.txt file
echo "Travis-CI Build $TRAVIS_OS_NAME - $TRAVIS_REPO_SLUG/$TRAVIS_BRANCH - $TRAVIS_JOB_NUMBER - $JOBNAME" > "commit.txt";
echo "Job ID $TRAVIS_JOB_ID" >> "commit.txt";
echo "" >> "commit.txt";
echo "Commit $TRAVIS_COMMIT" >> "commit.txt";
echo "$TRAVIS_COMMIT_MESSAGE" >> "commit.txt";
echo "" >> "commit.txt";
# Initialize FTP parameters
if [[ "$DPL_FTP_PORT" == "" ]]; then
DPL_FTP_PORT=21;
fi;
if [[ "$DPL_FTP_PROTOCOL" == "" ]]; then
DPL_FTP_PROTOCOL=ftp;
fi;
__DPL_FTP_LOCATION=$DPL_FTP_PROTOCOL://$DPL_FTP_HOSTNAME:$DPL_FTP_PORT/$DPL_FTP_PATH/$TRAVIS_REPO_SLUG/$TRAVIS_BRANCH/$TRAVIS_JOB_ID-$TRAVIS_JOB_NUMBER-$JOBNAME;
# Upload to FTP!
echo "Uploading to FTP...";
curl --ftp-create-dirs -T "commit.txt" -u $DPL_FTP_USER:$DPL_FTP_PASS "$__DPL_FTP_LOCATION/commit.txt";
if [[ "$__DPL_DEBIAN_ACTIVE" == "1" ]]; then
if [[ "$_DPL_PACKAGE_MAIN" == "1" ]]; then
PACKAGEFILENAME=${PACKAGE_NAME}_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
PACKAGEDBGFILENAME=${PACKAGE_NAME}-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGENIGHTLYDBGFILENAME=${PACKAGE_NAME}-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGEPATCHDBGFILENAME=${PACKAGE_NAME}-patch-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGEPATCHNIGHTLYDBGFILENAME=${PACKAGE_NAME}-patch-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
PACKAGEFILENAMES=(
$PACKAGEFILENAME
$PACKAGEDBGFILENAME
#$PACKAGENIGHTLYFILENAME
#$PACKAGENIGHTLYDBGFILENAME
#$PACKAGEPATCHFILENAME
#$PACKAGEPATCHDBGFILENAME
#$PACKAGEPATCHNIGHTLYFILENAME
#$PACKAGEPATCHNIGHTLYDBGFILENAME
);
# Main packages are in parent of root repo folder
OLDPWD=$PWD; # [repo]/build
cd ../..;
for n in ${PACKAGEFILENAMES}; do
for f in ./$n*; do
# Binary builds also generate source builds, so exclude the source
# builds if desired
if [[ "$_DPL_PACKAGE_SOURCE" != "1" ]]; then
if [[ "$f" == *"_source"* ]] || [[ "$f" == *".tar.xz"* ]]; then
continue;
fi;
fi;
curl --ftp-create-dirs -T "$f" -u $DPL_FTP_USER:$DPL_FTP_PASS "$__DPL_FTP_LOCATION/package/main/$f";
done;
done;
# Go back to [repo]/build folder
cd $OLDPWD;
fi;
if [[ "$_DPL_PACKAGE_ASSET" == "1" ]]; then
PACKAGEFILENAME=${PACKAGE_NAME}-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
#PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
PACKAGEFILENAMES=(
$PACKAGEFILENAME
#$PACKAGENIGHTLYFILENAME
#$PACKAGEPATCHFILENAME
#$PACKAGEPATCHNIGHTLYFILENAME
)
# Asset packages are in root repo folder
OLDPWD=$PWD; # [repo]/build
cd ..;
for n in ${PACKAGEFILENAMES}; do
for f in ./$n*; do
# Binary builds also generate source builds, so exclude the source
# builds if desired
if [[ "$_DPL_PACKAGE_SOURCE" != "1" ]]; then
if [[ "$f" == *"_source"* ]] || [[ "$f" == *".tar.xz"* ]]; then
continue;
fi;
fi;
curl --ftp-create-dirs -T "$f" -u $DPL_FTP_USER:$DPL_FTP_PASS "$__DPL_FTP_LOCATION/package/asset/$f";
done;
done;
# Go back to [repo]/build folder
cd $OLDPWD;
fi;
else
if [[ "$_DPL_BINARY" == "1" ]]; then
find bin -type f -exec curl -u $DPL_FTP_USER:$DPL_FTP_PASS --ftp-create-dirs -T {} $__DPL_FTP_LOCATION/{} \;;
fi;
if [[ "$_DPL_PACKAGE_BINARY" == "1" ]]; then
sudo rm -r package/_CPack_Packages
find package -type f -exec curl -u $DPL_FTP_USER:$DPL_FTP_PASS --ftp-create-dirs -T {} $__DPL_FTP_LOCATION/{} \;;
fi;
fi;
fi
+93
View File
@@ -0,0 +1,93 @@
================================================================
How to add Low-res modes to your XF86Config under Linux MANUALLY
================================================================
I TAKE NO RESPONSIBILITY FOR ANY DAMAGE DONE TO YOUR EQUIPMENT!!!
This document explains how to add low-res modes like 320x200 to your
X-Server configuration, because some new setup tools for the X-Server
do not support this. ONLY RECOMMENDED FOR USERS WHO KNOW WHAT THEY DO!
I do not take any responsibility for damage done to your monitor, your
videocard, your harddisk, your cat, your dog or anything else!!!
IMPORTANT IS, THAT YOUR "HorizSync" AND "VertRefresh" VALUES REALLY
MATCH YOUR MONITOR! OTHERWISE YOUR MONITOR CAN BLOW UP!!!
OK, if you have read up to here, you either know what you do or really
die-hard want those low-res modes. Here is what to do:
Look up your XF86Config. Is is either in /etc or in /etc/X11. Here is
what you have to add to the definition of your modeslines:
# Low-res Doublescan modes
# If your chipset does not support doublescan, you get a 'squashed'
# resolution like 320x400.
# 320x200 @ 70 Hz, 31.5 kHz hsync, 8:5 aspect ratio
Modeline "320x200" 12.588 320 336 384 400 200 204 205 225 Doublescan
# 320x240 @ 60 Hz, 31.5 kHz hsync, 4:3 aspect ratio
Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
# 320x240 @ 72 Hz, 36.5 kHz hsync
Modeline "320x240" 15.750 320 336 384 400 240 244 246 262 Doublescan
# 400x300 @ 56 Hz, 35.2 kHz hsync, 4:3 aspect ratio
ModeLine "400x300" 18 400 416 448 512 300 301 302 312 Doublescan
# 400x300 @ 60 Hz, 37.8 kHz hsync
Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
# 400x300 @ 72 Hz, 48.0 kHz hsync
Modeline "400x300" 25 400 424 488 520 300 319 322 333 Doublescan
If your video card only supports a specific set of discrete dotclocks
(RAMDAC) you may have to replace the dotclocks given here by one of the
specified (e.g in the first modeline the dotclock is 12.588 MHz). I believe
that nowadays all cards and monitors should work with these settings, but
if you have outdated hardware you better check the frequencies yourself. If
there is any uncertainty, please check the "XFree86 Video Timings HOWTO".
Then have a look at the section "Screen" with the appropriate driver
(usually either "svga" or "accel"). Under Subsection "Display" there
are modes for the given color depth. Add the desired modes. As an
example I give you my screens definition here with low-res modes in
16 bit color depth:
Section "Screen"
Driver "accel"
Device "3D Charger"
Monitor "Iiyama Pro 450"
DefaultColorDepth 16
Subsection "Display"
Depth 8
Modes "1280x1024" "1024x768" "800x600" "640x480"
ViewPort 0 0
Virtual 1280 1024
EndSubsection
Subsection "Display"
Depth 16
Modes "1152x864" "1024x768" "800x600" "640x480" "400x300" "320x200" <- THIS IS ACTUALLY WHAT YOU WANT!!!
ViewPort 0 0 ^^^^^^^^^^^^^^^^^^^
Virtual 1152 864
EndSubsection
Subsection "Display"
Depth 24
Modes "800x600" "640x480"
ViewPort 0 0
Virtual 800 600
EndSubsection
Subsection "Display"
Depth 32
Modes "800x600" "640x480"
ViewPort 0 0
Virtual 800 600
EndSubsection
EndSection
Once again: important is, that you edit the correct Screen section.
If you use the SVGA Server and edit the ACCEL Server, you might
wonder where your new modes have gone.
If everything went fine and you want to say thank you, just write
to "metzgermeister@users.sourceforge.net". If your monitor blew
up and you want to kill me, find me playing Legacy or Q3A on the net
and frag me (with your second monitor, hehe).
- metzgermeister
+212
View File
@@ -0,0 +1,212 @@
1-99 : Player Starts
1 - Player 1 Start 1
2 - Player 2 Start 2
3 - Player 3 Start 3
4 - Player 4 Start 4
5 - Player 5 Start 4001
6 - Player 6 Start 4002
7 - Player 7 Start 4003
8 - Player 8 Start 4004
9 - Player 9 Start 4005
10 - Player 10 Start 4006
11 - Player 11 Start 4007
12 - Player 12 Start 4008
13 - Player 13 Start 4009
14 - Player 14 Start 4010
15 - Player 15 Start 4011
16 - Player 16 Start 4012
17 - Player 17 Start 4013
18 - Player 18 Start 4014
19 - Player 19 Start 4015
20 - Player 20 Start 4016
21 - Player 21 Start 4017
22 - Player 22 Start 4018
23 - Player 23 Start 4019
24 - Player 24 Start 4020
25 - Player 25 Start 4021
26 - Player 26 Start 4022
27 - Player 27 Start 4023
28 - Player 28 Start 4024
29 - Player 29 Start 4025
30 - Player 30 Start 4026
31 - Player 31 Start 4027
32 - Player 32 Start 4028
33 - Player Match Start 11
34 - Red Team Start 87
35 - Blue Team Start 89
36 - Tag start New
100 - 199 : Enemies
100 - Blue Crawla 3004
101 - Red Crawla 9
102 - GFZ Fish 58
103 - Gold Buzz 5005
104 - Red Buzz 5006
105 - Jetty-Syn Bomber 3005
106 - Jetty-Syn Gunner 22
107 - Crawla Commander 21
108 - Deton 71
109 - Skim 56
110 - THZ Turret 2004
111 - Pop-up Turret 42
200 - 299 : Bosses and their associated items (if any)
200 - Boss 1 16
201 - Boss 2 2008
290 - Boss Fly Point 17
291 - EggTrap Center 2049
300 - 399 : Collectibles
300 - Ring 2014
301 - Homing Ring 69
302 - Rail Ring 3003
303 - Infinity Ring 80
304 - Automatic Ring 26
305 - Explosion Ring 54
306 - Red CTF Flag 31
307 - Blue CTF Flag 34
308 - Special Stage Token 2013
309 - Emerald 1 420
310 - Emerald 2 421
311 - Emerald 3 422
312 - Emerald 4 423
313 - Emerald 5 424
314 - Emerald 6 425
315 - Emerald 7 426
316 - Hunting Emerald 1 64
317 - Hunting Emerald 2 3002
318 - Hunting Emerald 3 3001
400 - 499 : Boxes
400 - Super Ring Box 2011
401 - Grey Ring Box 2012
402 - Ring Shield Box 48
403 - Fire Shield Box 2002
404 - Bomb Shield Box 2018
405 - Jump Shield Box 35
406 - Water Shield Box 2028
407 - Sneaker Box 25
408 - Invincibility Box 2022
409 - 1-Up Box 41
410 - Eggman Box 2005
411 - Mixup Box 78
412 - Question Box 3000
500 - 599 : Interactive Objects (friendly or otherwise - includes springs)
500 - Bubble Patch 33
501 - Level End Sign 86
502 - Starpost 3006
520 - Spike Ball -1
521 - Special Stage Spike Ball 23
522 - Ceiling Spike 67
523 - Floor Spike 68
540 - Fan 32
541 - Steam Riser 30
550 - Yellow Spring 28
551 - Red Spring 79
552 - Blue Spring 5004
553 - Yellow Spring Down 65
554 - Red Spring Down 66
555 - Yellow Diagonal Spring 2015
556 - Red Diagonal Spring 38
557 - Yellow Diag Spring Down 20
558 - Red Diag Spring Down 39
600 - 699 : Special placement patterns
600 - Vertical Rigns - Stack of 5 (suitable for Yellow Spring) 84
601 - Vertical Rings - Stack of 5 (suitable for Red Spring) 44
602 - Diagonal rings (5) 76
603 - Diagonal rings (10) 77
604 - A ring of rings 47
605 - A BIGGER ring of rings 2007
606 - A ring of wing items 2048
607 - A BIGGER ring of wing items 2010
608 - A ring of rings and wings (alternating) 2046
609 - A BIGGER ring of rings and wings (alternating) 2047
700 - 799 : Powerup indicators/environmental effects/miscellany
700 - Ambient Water 1a (S) 2026
701 - Ambient Water 1b (S) 2024
702 - Ambient Water 2a (M) 2023
703 - Ambient Water 2b (M) 2045
704 - Ambient Water 3a (L) 83
705 - Ambient Water 3b (L) 2019
706 - Ambient Water 4a (XL) 2025
707 - Ambient Water 4b (XL) 27
708 - Random Ambient 1 14
709 - Random Ambient 2 43
750 - Chaos Spawner 8
751 - Teleport Point 5003
752 - Alternate View Point 5007
753 - Zoom Tube Waypoint 18
754 - Pusher 5001
755 - Puller 5002
756 - Street Light 2003
800 - 899 : Greenflower Scenery
800 - Flower 1 36
801 - Flower 2 70
802 - Flower 3 73
804 - Berry Bush 74
805 - Bush 75
900 - 999 : Techno Hill Scenery
900 - THZ Plant 2035
901 - Alarm 2006
1000 - 1099 : Deep Sea Scenery
1000 - Gargoyle 81
1100 - 1199 : Castle Eggman Scenery
1100 - Ceiling Chain 49
1101 - Torch Flame 24
1102 - Eggman Statue 52
1103 - CEZ Flower 2001
1200 - 1299 : Arid Canyon Scenery
1300 - 1399 : Red Volcano Scenery
1400 - 1499 : Dark City Scenery
1500 - 1599 : Doom Ship Scenery
1600 - 1699 : Egg Rock/Final Fight Scenery
1700 - 1799 : NiGHTS Items
1700 - Axis 72
1701 - Axis Transfer (Normal) 61
1702 - Axis Transfer (Line) 46
1703 - Nights Drone 60
1704 - Nights Bumper 82
1705 - Hoop 57
1706 - Nights Wing 37
1707 - Super Loop Powerup 3007
1708 - Drill Refill Powerup 3008
1709 - Helper Powerup 3009
1710 - Egg Capsule 40
1800 - 1849 : Mario Items
1800 - Coin 10005
1801 - Goomba 10000
1802 - Blue Goomba 10001
1803 - FireFlower 50
1804 - Shell 10
1805 - Puma 29
1806 - Koopa 19
1807 - Axe 12
1808 - Mario Bush 1 10002
1809 - Mario Bush 2 10003
1810 - Toad 10004
1850 - 1899 : Christmas Items
1850 - Xmas Pole 5
1851 - Candy Cane 13
1852 - Snowman 6
1900 - 1999 : Misc Scenery
1900 - Stalagmite 0
1901 - Stalagmite 1
1902 - Stalagmite 2
1903 - Stalagmite 3
1904 - Stalagmite 4
1905 - Stalagmite 5
1906 - Stalagmite 6
1907 - Stalagmite 7
1908 - Stalagmite 8
1909 - Stalagmite 9
+223
View File
@@ -0,0 +1,223 @@
Description OldNum NewNum Description
Old Water 14 Removed
Level Parameters/Misc:
Per-Sector Gravity 64 1
Custom Exit 71 2
Zoom Tube Parameters 18 3
Speed Pad 65 4
Camera Scanner 63 5
Disable Linedef 73 6
Flat Alignment 66 7
Sector Special Parameters New 8
Mace Parameters New 9
Sprite Cull Height New 10
Rope Hang Parameters New 11
Rock Spawner Parameters New 12
PolyObjects
Marks first line in PolyObject New 20
Explicitly includes a PolyObject line New 21
PolyObject: Parameters New 22
PolyObject: Waving Flag New 31
Level-Load Effects:
Instant Floor Lower 26 50
Instant Ceiling Raise 24 51
Continuously Falling Sector 88 52
Continuous Floor/Ceiling Mover 2 53
Continuous Floor Mover 3 54
Continuous Ceiling Mover 4 55
Continuous Two-Speed Floor/Ceiling Mover 6 56
Continuous Two-Speed Floor Mover 7 57
Continuous Two-Speed Ceiling Mover 8 58
Activate Floating Platform 232 59
Activate Floating Platform (Adjustable Speed) 233 60
Crusher 1 (Ceiling to Floor) 43 61
Crusher 2 (Floor to Ceiling) 50 62
Fake Floor/Ceiling 242 63
Appearing/Disappearing FOF New 64
Bridge Thinker New 65
Floor Over Floors:
"Floor Over Floor: Solid, Opaque, Shadowcasting " 25 100
"Floor Over Floor: Solid, Opaque, Non-Shadowcasting " 33 101
"Floor Over Floor: Solid, Translucent " 44 102
"Floor Over Floor: Solid, Sides Only " 69 103
"Floor Over Floor: Solid, No Sides " 51 104
"Floor Over Floor: Solid, Invisible " 57 105
"Floor Over Floor: Water, Opaque " 48 120
"Floor Over Floor: Water, Translucent " 45 121
"Floor Over Floor: Water, Opaque, No Sides " 75 122
"Floor Over Floor: Water, Translucent, No Sides " 74 123
"Floor Over Floor: Platform, Opaque " 59 140
"Floor Over Floor: Platform, Translucent " 81 141
"Floor Over Floor: Platform, Translucent, No Sides " 77 142
Floor Over Floor: Bobbing (Air) 38 150
Floor Over Floor: Adjustable Bobbing (Air) 68 151
Floor Over Floor: Reverse Adjustable Bobbing (Air) 72 152
"Floor Over Floor: Floating, Bobbing " 34 160
Floor Over Floor: Crumbling (Respawn) 36 170
Floor Over Floor: Crumbling (No Respawn) 35 171
"Floor Over Floor: Crumbling (Respawn), Platform " 79 172
"Floor Over Floor: Crumbling (No Respawn), Platform " 80 173
"Floor Over Floor: Crumbling (Respawn), Platform, Translucent " 82 174
"Floor Over Floor: Crumbling (No Respawn), Platform, Translucent " 83 175
"Floor Over Floor: Crumbling (Respawn), Floating, Bobbing " 39 176
"Floor Over Floor: Crumbling (No Respawn), Floating, Bobbing " 1 177
"Floor Over Floor: Crumbling (Respawn), Floating " 37 178
"Floor Over Floor: Crumbling (No Respawn), Floating " 42 179
"Floor Over Floor: Crumbling (Respawn), Bobbing (Air) " 40 180
"Floor Over Floor: Rising Platform, Solid, Opaque, Shadowcasting " 89 190
"Floor Over Floor: Rising Platform, Solid, Opaque, Non-Shadowcasting " 90 191
"Floor Over Floor: Rising Platform, Solid, Translucent " 91 192
"Floor Over Floor: Rising Platform, Solid, Invisible " 94 193
"Floor Over Floor: Rising Platform, Platform, Opaque " 92 194
"Floor Over Floor: Rising Platform, Platform, Translucent " 93 195
Floor Over Floor: Light Block 49 200
Floor Over Floor: Half Light Block 47 201
Floor Over Floor: Fog Block 46 202
"Floor Over Floor: Intangible, Opaque " 62 220
"Floor Over Floor: Intangible, Translucent " 52 221
"Floor Over Floor: Intangible, Sides Only " 67 222
"Floor Over Floor: Intangible, Invisible " 58 223
Floor Over Floor: Mario Block 41 250
Floor Over Floor: Thwomp Block 54 251
Floor Over Floor: Shatter Block 76 252
"Floor Over Floor: Shatter Block, Translucent " 86 253
Floor Over Floor: Bustable Block 55 254
Floor Over Floor: Spin Bust Block 78 255
"Floor Over Floor: Spin Bust Block, Translucent " 84 256
Floor Over Floor: Quicksand Block 56 257
Floor Over Floor: Laser Block 53 258
Floor Over Floor: Custom 87 259
Linedef Executor Triggers:
Trigger Linedef Executor (Continuous) 96 300
Trigger Linedef Executor (Each Time) 97 301
Trigger Linedef Executor (Once) 98 302
Trigger Linedef Executor (Ring Count - Continuous) 95 303
Trigger Linedef Executor (Ring Count - Once) 99 304
Trigger Linedef Executor (Character Ability - Continuous) 19 305
Trigger Linedef Executor (Character Ability - Each Time) 20 306
Trigger Linedef Executor (Character Ability - Once) 21 307
"Trigger Linedef Executor (Race Only, Once) " 9 308
Trigger Linedef Executor (CTF Red Team - Continuous) 10 309
Trigger Linedef Executor (CTF Red Team - Each Time) 11 310
Trigger Linedef Executor (CTF Blue Team - Continuous) 12 311
Trigger Linedef Executor (CTF Blue Team - Each Time) 13 312
Trigger Linedef Executor (No More Enemies - Once) 15 313
Trigger Linedef Executor (# of Pushables - Continuous) New 314
Trigger Linedef Executor (# of Pushables - Once) New 315
Trigger Linedef Executors (PolyObject - Land On) New 316
Trigger Linedef Executor (Level Load) New 399
Linedef Executor Options:
Linedef Executor: Set Tagged Sector's Floor Height/Pic 101 400
Linedef Executor: Set Tagged Sector's Ceiling Height/Pic 102 401
Linedef Executor: Set Tagged Sector's Light Level 103 402
Linedef Executor: Move Tagged Sector's Floor 106 403
Linedef Executor: Move Tagged Sector's Ceiling 107 404
Linedef Executor: Lower Floor by Line 108 405
Linedef Executor: Raise Floor by Line 109 406
Linedef Executor: Lower Ceiling by Line 110 407
Linedef Executor: Raise Ceiling by Line 111 408
Linedef Executor: Change Calling Sector's Tag 112 409
Linedef Executor: Change Front Sector's Tag 114 410
Linedef Executor: Stop Plane Movement 116 411
Linedef Executor: Teleport Player to Tagged Sector 104 412
Linedef Executor: Change Music 105 413
Linedef Executor: Play SFX 115 414
Linedef Executor: Run Script 113 415
Linedef Executor: Start Adjustable Fire Flicker 119 416
Linedef Executor: Start Adjustable Glowing Light 120 417
Linedef Executor: Start Adjustable Strobe Flash (unsynchronized) New 418
Linedef Executor: Start Adjustable Strobe Flash (synchronized) New 419
Linedef Executor: Fade Light Level 117 420
Linedef Executor: Stop Lighting Effect 118 421
Linedef Executor: Cut-Away View 121 422
Linedef Executor: Change Sky 123 423
Linedef Executor: Change Weather 124 424
Linedef Executor: Change Object State 125 425
Linedef Executor: Stop Object 122 426
Linedef Executor: Award Score 126 427
Linedef Executor: Start Platform Movement 127 428
Linedef Executor: Crush Ceiling Once New 429
Linedef Executor: Crush Floor Once New 430
Linedef Executor: Crush Floor & Ceiling Once New 431
Linedef Executor: Enable 2D Mode New 432
Linedef Executor: Disable 2D Mode New 433
Linedef Executor: Award Custom Power New 434
Linedef Executor: Stop Conveyor New 435
Linedef Executor: Start Conveyor New 436
Linedef Executor: Disable Player Movement New 437
Linedef Executor: Execute Linedef Executor New 450
Linedef Executor: PolyObject: Door Slide New 480
Linedef Executor: PolyObject: Door Swing New 481
Linedef Executor: PolyObject: Move XY New 482
Linedef Executor: PolyObject: Move XY w/ override New 483
Linedef Executor: PolyObject: Rotate Right New 484
Linedef Executor: PolyObject: Rotate Right w/ override New 485
Linedef Executor: PolyObject: Rotate Left New 486
Linedef Executor: PolyObject: Rotate Left w/ override New 487
Linedef Executor: PolyObject: Start waypoint movement New 488
Linedef Executor: PolyObject: Make Invisible New 489
Linedef Executor: PolyObject: Make Visible New 490
Scrollers/Pushers:
Scroll Wall First Side Left 100 500
Scroll Wall First Side Opposite Direction 85 501
Scroll Wall According to Linedef 254 502
Acc Scroll Wall According to Linedef 218 503
Disp Scroll Wall According to Linedef 249 504
Scroll Texture by Offsets 255 505
Scroll Floor Texture 251 510
Acc Scroll Floor Texture 215 511
Disp Scroll Floor Texture 246 512
Scroll Ceiling Texture 250 513
Acc Scroll Ceiling Texture 214 514
Disp Scroll Ceiling Texture 245 515
Carry Objects on Floor (no scroll) 252 520
Acc Carry Objects on Floor 216 521
Disp Carry Objects on Floor 247 522
Carry Objects on Ceiling 203 523
Acc Carry Objects on Ceiling 205 524
Disp Carry Objects on Ceiling 201 525
Scroll Floor Texture and Carry Objects 253 530
Acc Scroll Floor Texture and Carry Objects 217 531
Disp Scroll Floor Texture and Carry Objects 248 532
Scroll Ceiling Texture and Carry Objects 202 533
Acc Scroll Ceiling Texture and Carry Objects 204 534
Disp Scroll Ceiling Texture and Carry Objects 200 535
Friction 223 540
Horizontal Wind 224 541
Upwards Wind 229 542
Downwards Wind 230 543
Horizontal Current 225 544
Upwards Current 227 545
Downwards Current 228 546
Boom Push/Pull Thing 226 547
Lighting:
Floor Lighting 213 600
Ceiling Lighting 5 601
Adjustable Pulsating Light 60 602
Adjustable Flickering Light 61 603
Adjustable Blinking Light (unsynchronized) New 604
Adjustable Blinking Light (synchronized) New 605
Colormap 16 606
BIN
View File
Binary file not shown.
+78
View File
@@ -0,0 +1,78 @@
Removed:
- Buttons 1-20 690-709
- Button 21 (THZ2 A/740 B/741 D/742 E/745 710
- Close Door Blazing (Tag 743) 711
- Raise Ceiling to Highest (Tag 744) 981
- THZ2 Slime Raise (B/712 W713 P714 D715 S716) 986
Stuff to Remove/Change:
- Light Blinks On Every 0.5 Seconds 2 Add Linedef Combine
- Light Blinks On Every 1 Second 3 Add Linedef Combine
- Light Pulses Smoothly 8 Remove
- Light Blinks On Every 0.5 Seconds (Sync) 12 Add Linedef Combine
- Lights Blinks On Every 1 Second (Sync) 13 Add Linedef Combine
- Light Flickers Like Fire 17 Remove
? - Damage (Fire) and Current 519 Remove (convert to combination)
? - Damage (Water) and Current 984 Remove (convert to combination)
Section 1:
1 - Damage (Generic) 11
2 - Damage (Water) 983
3 - Damage (Fire) 7
4 - Damage (Electrical) 18
5 - Spikes 4
6 - Death Pit (Camera Mod) 16
7 - Death Pit (No Camera Mod) 5
8 - Instant Kill 10
9 - Ring Drainer (Floor Touch) 978
10 - Ring Drainer (No Floor Touch) 980
11 - Special Stage Damage 9
12 - Space Countdown 6
13 - Ramp Sector (Increase step-up) 992
14 - Non-Ramp Sector (Don't step-down) 996
15 - Bouncy Sector (FOF Control Only) 14
Section 2: << 4
1 - Trigger Linedef Exec (Pushable Objects) 971
2 - Trigger LD Exec (Anywhere in Sec/All Pls) 972
3 - Trigger Linedef Exec (Floor Touch/All Pls) 973
4 - Trigger Linedef Exec (Anywhere in Sec) 974
5 - Trigger Linedef Exec (Floor Touch) 975
6 - Trigger Linedef Exec (Emerald Check) 967
7 - Trigger Linedef Exec (NiGHTS Mare) 968
8 - Check for linedef executor on FOFs (ANY) 970
9 - Egg Trap Capsule 666
10 - Special Stage Time/Rings, Par 990
11 - Custom Global Gravity 991
Section 3: << 8
1 - Ice/Sludge (required?!) 256
2 - Wind/Current (required?!) 512
3 - Ice/Sludge and Wind/Current 768
4 - Conveyor Belt 985
5 - Speed Pad (No Spin) 976
6 - Speed Pad (Spin) 977
7 - Bustable Block Sprite Parameter 1500-1515
8 - "
9 - "
10 - "
11 - "
12 - "
13 - "
14 - "
15 - "
Section 4: << 12
1 - Starpost Activator 993
2 - Special Stage Goal Combine 33
2 - Exit Sector Combine 982
2 - No Tag Zone Combine 987
2 - CTF: Flag Return Combine 995
3 - CTF: Red Team Base 988
4 - CTF: Blue Team Base 989
5 - Fan Sector 997
6 - Super Sonic Transform 969
7 - Spinner 979
8 - Zoom Tube Start 998
9 - Zoom Tube End 999
10 - Finish Line 994
+307
View File
@@ -0,0 +1,307 @@
SRB2
Release v1.09, ? 2005.
Last Updated: June 2005
Original game & sources by: Id Software.
Additions: (c)1998 by: Fabrice Denis & Boris Pereira
(c)1999 by: Fabrice Denis, Boris Pereira & Thierry Van Elsuwe
(c)2000 by: Boris Pereira & Thierry Van Elsuwe
(c)2004 By: AJ, Graue, Alam Arias, Logan Arias & Andrew Clunis
Special thanks to Steven McGranahan, Lee Killough, Robert Bäuml and Bell Kin for
their large contribution and to other DooM LEGACY & SRB2 Team members.
Web site: http://www.SRB2.org/
e-mail: none@none.com
OpenGL specific:
Web site: http://legacy.newdoom.com/gl
-----------------------------------------------------------------------
F.A.Q.
-----------------------------------------------------------------------
If you have any trouble with SRB2, you might find a solution
here.
If you find a solution to a problem that was not listed here,
please tell us so that we can update the FAQ and help other people!
Mail your hardware/software problems to:
None@none.com subject: FAQ
--------
CONTENTS
--------
[0] Miscellaneous
[1] Mouse/Joystick/Keyboard
[2] Video
[3] Sound
[4] Network
[5] Troubleshooting
-----------------
[0] MISCELLANEOUS
-----------------
* under win95 or OS/2, I don't have enough memory. How can i handle with ?
Tell win95 to put more dpmi memory for your dos box.
Or use the -mb option.
---------------------------
[1] MOUSE/JOYSTICK/KEYBOARD
---------------------------
* My mouse/joystick does not work in SRB2.
First, check that the mouse/joystick is activated : go at the
console and type either 'use_mouse' (or use the respective
menuitem) or 'use_joystick'.
If it tells '0' or off than the mouse/joystick is not used,
set the variable to 1. eg: 'use_mouse 1'.
For the joystick, different values will support different
types of joystick, check the console documentation for the
command 'use_joystick' for more.
Even if the mouse or joystick is activated, you have to
set up the contols into the Setup Controls menu. That is:
tell what use you will make of the mouse/joystick buttons.
---------
[2] VIDEO
---------
* Where are the other video modes ? I have only '320x200' in the
Video Modes menu.
DOS
---
SRB2 adds new video modes only if a VESA2 (or better) driver
is present. The VESA2 driver is a standard of 'talking' between a
program and the huge amount of different graphics cards
available today.
If you don't have a VESA2 driver, you can download UNIVBE, or
SMART DISPLAY DOCTOR from
http://www.scitechsoft.com/products/ent/free_titles.html
or if you have an S3 based card, you can download the free
software called 'S3VBE'.
ftp://ftp.externet.hu/pub/mirror/sac/graph/s3vbe318.zip
ftp://ftp.digsys.bg/pub/simtelnet/msdos/graphics/s3vbe318.zip
http://www.filesearching.com/cgi-bin/s?q=s3vbe318.zip
http://www.google.com/search?q=s3vbe318.zip
* The game doesn't restore the video mode I have chosen the last time
I played SRB2.
The current video mode has to be made the 'default' so that it is
saved to the config : press the key 'D' on the Video Options menu
to set the current video mode the default.
* I have some problems with OpenGL mode
Have a look at the FAQ for OpenGL on the glLegacy web site:
http://www.doomnation.com/gllegacy/faqe.htm
# Linux: I only have a 1024x768 (or 800x600, 1280x1024, ...) resolution
in fullscreen mode under X and SRB2 is really really slow. Can I
have lower resolutions like 320x200 in fullscreen mode as well?
Probably yes. SRB2 can only use the resolutions offered by the
X-Server. So if all fullscreen modes have a very high resolution you
have to modify /etc/XF86Config (or /etc/X11/XF86Config). Use XF86Setup
(or the appropriate tool coming with your distribution - sax,
xf86config, ...) to do this.
If you do not succeed there, you can enter them manually into your
XF86Config file. ONLY RECOMMENDED FOR USERS WHO KNOW WHAT THEY DO!
For a short guide on how to do this, have a look at the file
"Doublescan.txt".
In case of doubt consult the XFree86-HOWTO (or ask your system
administrator :).
# Linux: I cannot have any fullscreen modes at all!
You have only modes above 1024x768 in your XF86Config. Proceed as
described above.
# Linux: After a certain idle time my screensaver jams the display of
SRB2. I can still operate SRB2, but I do not see what's happening
and the screensaver won't go away.
You probably have KDE. The KDE screensaver does not obey the screensaver
rules (at least mine, version 1.1). The solution is to deactivate the
KDE screensaver and use another screensaver (like the xscreensaver,
e.g.). But the hell, when you started SRB2 you should have played it
as well and not left it alone!!!
---------
[3] SOUND
---------
+ DOS:I can't have CD audio music, why ?
Make sure that the MSCDEX driver version 2.0 or later is loaded.
If it says 'MSCDEX version xxx' at game startup, and you still
don't hear the cd music, then probably your card doesn't respond
when SRB2 tries to set the cd volume. If so, make sure your sound
card's mixer have the cd volume set up so that you can hear something.
+ When the CD plays, the game is very 'jerky'. It doesn't do that when
I type 'cd off' in the console.
You have an old/bad cd driver, that can take up to a second to
respond to cd driver commands. Either get the latest version of
your driver, or turn cd update off. Check 'cd_udpate' in the
console documentation for more.
* DOS:How can I *ALWAYS* disable the sounds or music of the game ?
Edit the allegro.cfg file and set digicard/midicard to 0 (none)
* DOS:My sterero sound is reversed, how can I set it the right way ?
Change the console variable 'stereoreverse' to either 1 or 0.
Or, you can edit the allegro.cfg file, and set the 'flip_pan' variable.
* DOS:The sounds are too 'slow', or 'low-pitched'
It seems to be a problem of the auto-detection of some 8bit sound
cards. You will have to set manually the 'sb_freq' value in the
allegro.cfg file to a lower value : 11906, 16129.
* DOS:SRB2 doesn't play any sound/music, but I have a sound
blaster genuine/compatible card.
If you have a genuine or compatible SoundBlaster card, it is very
important that you set the BLASTER environment variable.
If you are playing under DOS, and never installed your sound card
under DOS, run the setup of your sound card for DOS.
Check if the BLASTER variable was set: type 'SET' under dos
(or DOSbox)
Do you see something like 'BLASTER=A220 I5 D1 ...' ?
Yes? If you don't hear sounds/music, then tweak the settings in the
allegro.cfg file until you get something, first try changing the
type of the sound card, it is not always properly detected.
No? You have to set this variable in order that your sound card is
detected. Run the setup that was shipped with your sound card, and
make sure you run the setup for DOS too, it will usually add a
line of the type 'SET BLASTER=... ...' in the autoexec.bat file.
* DOS:How can I have better midi music on my 8bit sound card ?
Use the DIGMID driver, it is supported in SRB2.
What the hell is this? Well, the Gravis Ultrasound uses digital
samples to play midi music. On a simple 8bit card, you can use digital
samples too, which will sound usually better than what is output
by the poor fm synthesis chip of 8bit cards.
You will need to get a Gravis Ultrasound patch set, you can find
several ones for free on internet, it consists of a bunch of '.pat'
files which are the digital samples to play the midi instruments
(eg: piano, conga, guitar, ect.).
Check the Allegro homepage for some links to GUS patches:
http://alleg.sourceforge.net/digmid.html
http://alleg.sourceforge.net/
http://www.talula.demon.co.uk/allegro/digmid.html
http://www.talula.demon.co.uk/allegro/
Now to activate the DIGMID driver:
Set the 'midi_card' value to 8 (DIGMID) in the allegro.cfg file.
Make sure you leave the 'digi_voices' blank, or set it to a low
value, because the midi music will use digital voices.
At the end of the allegro.cfg file, set the 'patches' value
to the path, where you have installed a Gravis Ultrasound midi
patch set. eg: patches = d:\music\midipat\
# Linux: CD music does not work or only works when run as root.
We do not encourage you to run SRB2 as root (you never know
what SRB2 can do to your system - it's a mighty piece of code :).
There is a common problem with ATAPI CD-rom drives, which are
treated as harddisks. Usually there is a link /dev/cdrom pointing to
device hd[b,c,d]. As harddisks are not supposed to be read directly
via this device (especially not by a common user), there are no read
permissions for "all". For CD-roms you can savely set read permissions
unless you are very paranoid. Assuming your CD-rom drive is /dev/hdc,
set permissions with "chmod +r /dev/hdc" (as root). SCSI CD-rom drives
should not have this problem. But if they do, proceed as described
with ATAPI drives.
# Linux: The CD music volume is not set properly.
Go to the console and type "jigglecdvolume 1".
-----------
[4] NETWORK
-----------
* Where can I find Internet servers ?
For the moment there is one public server.
http://srb2.servegame.org/ Master server web page
srb2.servegame.org:28910 current Master Server
* When I start SRB2 with -server or -connect it say :
"BinToPort: Address already in use (EADDRINUSE)"
It appears only when SRB2 crashes or when you leave with ctrl-break.
use -udpport 12345 (or any other free slot) on both sides (client and
server).
This can also happens when there is already a SRB2 running on your
computer if you whant to try two SRB2 running on the same computer
use -clientport 12345 (or any other free slot). Then the second will
connect to the first one.
* Do you use the tcp protocol ?
No, we use the udp protocol which is faster, but don't worry udp is a
part of the internet protocol.
-------------------
[5] Troubleshooting
-------------------
# Linux: SRB2 is hung in fullscreen mode and won´t let me leave.
What shall I do?
Some people press the reset button, but hey, we are not in the
stoneage of operating systems! There are two "proper" ways to
get out: kill your X-Server. You can usually do this by pressing
"CTRL-ALT-BACKSPACE". But if you have other open applications with
important data (probably hacked away on your diploma thesis for 3
weeks without saving once) you can also kill SRB2 directly. Press
"CTRL-ALT-F2" and you will get to a console. Log in, type
"killall llxSRB2" and switch back to the X-Server with "CTRL-ALT-F7".
Some X-Server crash on this procedure - blame the X-Server for the
loss of 3 weeks work on your diploma thesis :)
+68
View File
@@ -0,0 +1,68 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>
Sonic Robo Blast 2 Manual
</title>
<link rel="stylesheet" type="text/css" href="srb2manstyle.css">
<!-- Borrowed some javascript code so the height of the iframe is equal to the size of the document - Sonict -->
<script type="text/javascript">
/* free code from dyn-web.com */
function getDocHeight(doc) {
doc = doc || document;
// from http://stackoverflow.com/questions/1145850/get-height-of-entire-document-with-javascript
var body = doc.body, html = doc.documentElement;
var height = Math.max( body.scrollHeight, body.offsetHeight,
html.clientHeight, html.scrollHeight, html.offsetHeight );
return height;
}
function setIframeHeight(id) {
var ifrm = document.getElementById(id);
var doc = ifrm.contentDocument? ifrm.contentDocument: ifrm.contentWindow.document;
ifrm.style.visibility = 'hidden';
ifrm.style.height = "10px"; // reset to minimal height in case going from longer to shorter doc
ifrm.style.height = getDocHeight( doc ) + "px";
ifrm.style.visibility = 'visible';
}
</script>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p class="c1">
<img src="manual_img/sonicname2.png" alt="SONIC" width="136" height="36">
<br>
<img src="manual_img/srb2banner.png" alt="ROBO BLAST 2" width="224" height="43">
</p>
<p class="c1">
<big><big><strong>Manual</strong></big></big>
</p>
<table class="cf" align="center">
<tr><td class="c">
<ul class="hmenu">
<li class="hmenu"><a class="hmenu" href="intro.htm" target="ifrm">Main</a></li>
<li class="hmenu"><a class="hmenu" href="items.htm" target="ifrm">Items</a></li>
<li class="hmenu"><a class="hmenu" href="playerabilities.htm" target="ifrm">Player Abilities</a></li>
<li class="hmenu"><a class="hmenu" href="basicplay.htm" target="ifrm">Gameplay</a></li>
<li class="hmenu"><a class="hmenu" href="surroundings.htm" target="ifrm">Surroundings</a></li>
</ul>
</td></tr>
<tr><td class="c">
<ul class="hmenu">
<li class="hmenu"><a class="hmenu" href="multiplayer.htm" target="ifrm">Multiplayer</a></li>
<li class="hmenu"><a class="hmenu" href="zones.htm" target="ifrm">Zones</a></li>
<li class="hmenu"><a class="hmenu" href="controls.htm" target="ifrm">Controls</a></li>
<li class="hmenu"><a class="hmenu" href="consolecommands.htm" target="ifrm">Console Commands</a></li>
<li class="hmenu"><a class="hmenu" href="misc.htm" target="ifrm">Misc</a></li>
</ul>
</td></tr>
</table>
<hr>
<p class="c1">
<!-- The "onload" property of the iframe makes an error when validated through the W3C validation checker. -->
<!-- This will not be fixed as it isn't worth the time to fix it up properly. - Sonict -->
<iframe id="ifrm" name="ifrm" src="intro.htm" onload="setIframeHeight(this.id)"> </iframe>
</p>
</body>
</html>
+39
View File
@@ -0,0 +1,39 @@
SVN-RULES
- As you can see, there is sub-directory in the repository, one for eatch
platform (djgpp (dos),win32,SDL) the root directory is for all platform,
so take care of the order we have put in.
- do not commit/upload tests of bugged code, try to fix a maximum of know
bugs and update know bugs list in source.txt. If you must commit your source
make your code in #ifdef so we can disable it
- SRB2 is a modification of doom/Doom Legacy source. We allow additionnal feature
and visual addition.
- Maximize communications between members, do not impose your changes, if your
are not sure about a feature/change, talk about it in irc://irc.esper.net/srb2 chat room.
CODE-RULES
- We use no tab, 4 space indent, and tab size 8 (in case some tab have filtred
and for makefile)
- Self documented code, variable and function must have a name that help
understand the code, so do not call variable and function a,b, a2, ...
- the usage of extern in a c file is prohibited, except for declaration of a
function with body (so it is like public keyword in c++)
Also function protos haren't allowed for external function, put it un the
corresponding h file.
- Try to minimize #ifdef usage for :
- code readability
- the main code is for all port so if something is good for a platform all
platform can benefit by this feature
- Take care of platform dependent code, we would like to have code that work
on Dos, Win32, SDL, ... little and big endian, software/Glide/OpenGl.
GOOD PRACTICE
- Try to put as mush static variable and function on module so it help to
understand the role of the varaible/function in the module also this
help the compiler to optimize
- minimise global variable
- make a log of your work, so you don't need to put a lot of comment in
the code, this will also help us to update the what's new section of doc
when doing final release
+240
View File
@@ -0,0 +1,240 @@
1. Compile SRB2
2. Explanation of the code
2.1 The memory model
2.2 Hardware Texture model
1. Compile SRB2
=================
DOS
---
need:
- djgpp 2.03 (http://www.delorie.com/djgpp/)
- allegro 3.12 (http://alleg.sourceforge.net/index.html)
(
- libsocket 0.7.4 (beta 4) or better
for use with Winsock 1.1 (example Windows 3.1)
(http://www.phekda.freeserve.co.uk/richdawe/lsck/lsck.htm)
OR
- Wattcp-32 v2.2 dev.rel 6 or better
For use with a packet driver
(http://www.bgnett.no/~giva/)
(http://groups.yahoo.com/group/watt-32/)
(http://groups.yahoo.com/group/watt-32/files/v2.2/)
)
- bcd 1.03 (inlcude in this package)
- gcc 2.95.2 is recommended
- nasm 0.98 (or better) (http://nasm.sourceforge.net/)
compile:
make
make WATTCP=1 (to make a Wattcp-32 version)
debug:
when craching SRB2 will return eip
type make asm, then you will have a 8 megs srb2.s (a assembler file)
the you can find the faulting instruction and function
------------------------------------------------------------------------
Linux/SDL
-----
need:
- tested with gcc 2.95 and 3.X.
- SDL 1.2
- SDL_mixer 1.2
- ibogg and libvorbis (http://Xiph.org/)
- nasm 0.98 (or better)(http://nasm.sourceforge.net/) only with 2.95, else add CC30=1
compile
make LINUX=1
debug:
gdb ?
------------------------------------------------------------------------
Win32
-----
need :
- glide 3.x sdk (optional) (http://www.3dfx.com)
- directx6 sdk (or higher) (http://www.micosoft.com/directx)
- nasm 0.98 (or better) (http://nasm.sourceforge.net/)
- use src\win32\wLegacy.dsp
- VC6 should also work with VC5, and VS.NET 200X
debug:
press on "step over" with the release version (there is some debug info
on it). Then change the eip in the regster window when you will type
enter the edi will go to the faulting instruction. don't forget that
you can follow the stack for calls.
You can also use trace with the debug version but add -win and -nomouse.
------------------------------------------------------------------------
Win32/minGW/SDL
-----
need:
- tested with gcc 2.95 and 3.X.
- can also use Dev-C++ 5.0 beta 9 (4.9.9.0) from http://www.bloodshed.net/dev/devcpp.html
- SDL 1.2
- SDL_mixer 1.2
compile
make minGW=1 SDL=1
or use src\SDL\Win32SDL.dev with Dev-C++ 4.9.9.0 or later
debug:
gdb ?
------------------------------------------------------------------------
WinCE/SDL WIP
-----
need:
- ActiveSync 3.8
http://www.microsoft.com/windowsmobile/downloads/activesync38.mspx
- ActiveSync 3.7.1, if 3.8 isn't available for your language
http://www.microsoft.com/windowsmobile/downloads/activesync37.mspx
- eMbedded Visual Tools 3.0 - 2002 Edition
http://www.microsoft.com/downloads/details.aspx?FamilyID=f663bf48-31ee-4cbe-aac5-0affd5fb27dd
- Pocket PC 2000 SDK
http://www.microsoft.com/downloads/details.aspx?FamilyID=bb3f4d7b-de2a-4e1a-a175-26a68c301ac4
- Pocket PC 2002 SDK (eMVT 3.0 2002 Ed. comes with this)
http://www.microsoft.com/downloads/details.aspx?FamilyID=2dbee84a-bd94-4167-b817-2b2e548b2e92
- Pocket PC 2002 SDK Emulator Images (eMVT 3.0 2002 Ed. comes with this)
http://www.microsoft.com/downloads/details.aspx?FamilyID=25f4de97-ae80-477a-9df1-496b85b3d3e3
- eMbedded Visual C++ 4.0
http://www.microsoft.com/downloads/details.aspx?familyid=1DACDB3D-50D1-41B2-A107-FA75AE960856
- eMbedded Visual C++ 4.0 SP3 (Win CE 4.0-4.2)
http://www.microsoft.com/downloads/details.aspx?FamilyID=5bb36f3e-5b3d-419a-9610-2fe53815ae3b
OR
- eMbedded Visual C++ 4.0 SP4 (No SH3 support,Win CE 4.0-5.0 support)
http://www.microsoft.com/downloads/details.aspx?FamilyID=4a4ed1f4-91d3-4dbe-986e-a812984318e5
- eMbedded Visual C++ 4.0 Update 5625 (SP4 only)
http://www.microsoft.com/downloads/details.aspx?FamilyID=aa282a6d-6f57-436d-8c10-0ec02d94f5b1
- Windows CE: Standard Software Development Kit
http://www.microsoft.com/downloads/details.aspx?familyid=a08f6991-16b0-4019-a174-0c40e6d25fe7
- SDK for Windows Mobile 2003-based Pocket PCs
http://www.microsoft.com/downloads/details.aspx?FamilyId=9996B314-0364-4623-9EDE-0B5FBB133652
- Emulator Images for Windows Mobile 2003 Second Edition software for Pocket PC
http://www.microsoft.com/downloads/details.aspx?familyid=5C53E3B5-F2A2-47D7-A41D-825FD68EBB6C
- Microsoft Device Emulator 1.0 Community Preview
http://beta.microsoft.com Use Guest ID "MSDEVICE" to access the Community Preview website
- Windows CE Utilities for Visual Studio .NET 2003 Add-on Pack 1.1
(if you also have VS 2003 installed, you need this to install Win CE 5.0 SDK, else no need)
http://www.microsoft.com/downloads/details.aspx?FamilyId=7EC99CA6-2095-4086-B0CC-7C6C39B28762
- Windows CE 5.0: Standard Software Development Kit (eMC++ 4 SP4 only)
http://www.microsoft.com/downloads/details.aspx?FamilyID=fa1a3d66-3f61-4ddc-9510-ae450e2318c3
- SDL 1.27 (use patch and zip in tools\SDL1.2.7_CE)
compile
use src\SDL\WinCE\SRB2CE.vcw
debug:
?
2. Explanation of the code
==========================
2.1 The memory model (original) (z_zone.c) (by BP)
--------------------
SRB2 allocate a heap of 6/32/48 megs at begining and provide a Z_Malloc function
to allocate in this heap.
Z_Malloc( int size,int tag,void* user )
size is the size in byte
tag can be : PU_STATIC allocated static (like malloc do)
call Z_Free to free it
PU_LEVEL same as static but the zone is "tagged" with the
tag PU_LEVEL, when calling
Z_FreeTag (PU_LEVEL, PU_LEVEL) all zone tagged
with PU_LEVEL are freed (at the end of the level)
PU_CACHE this one _can_ be freed automatiquely by one other
call to Z_Malloc. the *user point to a pointer
to this zone so when freed automatiquely the
pointer is set to NULL so eatch time you use it
you must check if the pointer is not NULL and
reload it.
(...)
2.2 Hardware Texture model (by BP)
--------------------------
Eatch texture/patch/flats/pic in SRB2 are converted to hardware texture at
runtime (the GlideMipmap_s structure (hw_data.h)). I will call hardware
texture a gr_texture so there is no confusion.
To remind you :
- Texture are set of patch and are associate to linedefs (walls) can be
upper, lower or middle texture. It can have hole on it.
- patch are sprites (the doom patch are run of vertical lines)
- flats are used for floors and ceiling of sectors and have size of 64x64
it can't have hole on it
- pic are new legacy format for picture, it can only handle plain texture
like flats it is now used for hud in full screen for the main picture
of legacy and for coronas (the format was extended to handle 32 bit color
or intensity + alpha, not all are implemented at this time)
Since patch, flat and pic are basic structure represented by only one lump in
the wad, the wad loader allocate for eatch lump a GlideMipmap_s (cache3Dfx)
and init data field to NULL. Since the data structure is allocated in
PU_3DFXCACHE (like PU_CACHE) the data will be initilised when needed
(hw_cache.c).
The GlideMipmap_s structures for textures are initialized on
HWR_PrepLevelCache (hw_cache.c) it is called in P_SetupLevel (load level)
the number of textures is computed with TEXTURE1, TEXTURE2 lumps since this
can be changed in runtime in SRB2 (load a wad while runing) it must be
reallocated. Well, at this time it is realloceted at eatch level start. We
can do better, since numtextures change only when a wad is loaded.
The 3dfx driver use glide3, it load gr_texture in gr_texture memory of the
card in fifo order when there is no more place it remove the first gr_texture,
the downloaded field of GlideMipmap_s go to false and when needed it is
reloaded in gr_texture memory. In OpenGl, since OpenGl keep texture in there
own memory and handle gr_texture memory of the card we no more need to
redownload it but if we not free time to time gr_texture memory in opengl,
it will get alot of memory, so the gr_texture memory is cleared at eatch
new level (same time of texture reallocation). Opengl and 3dfx link the
loaded gr_texture with the nextmipmap field of GlideMipmap_s so before clear
textures of the heap we MUST free gr_texture memory of OpenGl or 3dfx !
SRB2 can also draw patch with a differant colormap (thanks to Hurdler).
When needed it create the same gr_texture but just with a differant colormap.
This one is linked with the original in the GlideMipmap_s with the
nextcolormap field.
So when a polygone with a gr_texture must be drawn, first we check if the
gr_textures is not allready loaded in hadware memory (downloaded field) if
not then we check if gr_texture data is there (not grabbed by z_malloc
function) if not we must recompute it eatch type of gr_texture (texture,
patch, flat, pic have there own methode) the we can send the gr_texture
to 3dfx or OpenGl.
+1992
View File
File diff suppressed because it is too large. Load diff
+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.
Loaded 100 of 797 files, more files were not shown because too many files have changed in this diff. Show more