Commit graph

9479 commits

Author SHA1 Message Date
toaster 4502604007 Special saves!
All this refactoring, just to resolve #162. Specifically, it engages savegame events not at level load (except for savefile start) but on level completion, just after you've gotten all the intermission bonuses but before the intermission actually starts.

Also fixes a never-before-discovered bug where if the titlemap has LF_SAVEGAME, your save file will be overwritten upon returning to the title screen. This game is a mess of hacks, I swear...

One unintended side effect: It may actually be faster in some speedrun circumstances in mods with cutscenes to complete the map, exit back to the title screen, and reload the file. It's a common feature of optimal runs in games with cutscenes, though, and Marathon Run has a toggle for cutscenes, so I'm not particularly bothered.
2020-06-22 19:00:47 +01:00
GoldenTails f0787077e3 More people ought to know what modulo is...
Or modulous if your prefer.
2020-06-22 04:14:42 -05:00
GoldenTails 6fe0874606 Stop resetting cusval cause that's annoying 2020-06-21 23:21:42 -05:00
GoldenTails d609cfc9e3 Make it so Linedef type 422 instead sets cusval when the titlemap is in action.
I have no idea why it wasn't like this before, but oh well.
2020-06-21 22:20:06 -05:00
Zwip-Zwap Zapony ae474b6945 Fix re-opening 1 Player menu re-lowering options
If an add-on disabled an option, re-opening the 1 Player menu
multiple times would lower the above options multiple times

Also fix Marathon Run and Tutorial being "perma-(un)lock"-able
2020-06-21 16:16:12 +02:00
sphere e9e9cd6133 Give ACZ3 boss MF_NOCLIP(HEIGHT) when entering pinch phase, to prevent softlocking. 2020-06-21 16:01:24 +02:00
Zwip-Zwap Zapony 5655db11ab Tweak display of hidden items in "1 Player" menu
If an option in the "1 Player" menu is unavailable in an add-on,
lower the above options to close the gap from the invisible option

Also make Marathon Run display as question marks if locked
And also change "sploadgame" to "spstartgame"
2020-06-21 09:30:55 +02:00
Louis-Antoine 65054bd0aa Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into increase-input-buffer-more 2020-06-21 01:20:39 +02:00
Zippy_Zolton ca7fc22388 t_lspr 2020-06-20 14:16:22 -05:00
James R 7ec0b6c792 I meant consvar_number_of_netids to be exclusive :V 2020-06-20 00:53:51 -07:00
Zippy_Zolton fc68134938 Thanks for the feedback, I have fixed your issues. 2020-06-20 02:04:18 -05:00
Zippy_Zolton bfa1382736 New Debris for CEZ3 2020-06-20 02:02:13 -05:00
James R 3e52764935 Actually print a warning if the old demo id collides 2020-06-19 19:59:14 -07:00
James R db34d70faa Cvar compatibility with older demos 2020-06-19 18:04:20 -07:00
James R 32134a01fe Save cvar names in demos; refactor cvar loading 2020-06-19 17:58:42 -07:00
James R 32773b71e0 Use ordered ids instead of hashes for cvar netid
Originally 6acd99c0a465ab1594edc12502f71a5e0a3af938
2020-06-19 16:36:36 -07:00
kaysrishaq c74a607c54 Whoops, switched these for no reason 2020-06-19 11:11:19 -04:00
kaysrishaq cad1f57b1e FF_HORIZONTALFLIP and mobj->mirrored (sprite enhancements) 2020-06-19 11:11:18 -04:00
Hannu Hanhi f3212746d2 Don't repeatedly look for model texture files 2020-06-19 16:18:04 +03:00
Hannu Hanhi 6f9b9aacf4 Faster OGL sprite sorting algorithm 2020-06-19 14:32:34 +03:00
lachwright cab87b4632 lol should have tested before pushing 2020-06-19 15:59:09 +08:00
lachwright 47d9d87654 Fix the Eggman signpost's background color 2020-06-19 15:49:24 +08:00
kaysrishaq 682791a024 brak missile fix, pw_ignorelatch, small Recycler fix 2020-06-18 17:09:29 -04:00
Hannu Hanhi ffaffdf3e1 Faster and more correct OGL transparent surface sorting 2020-06-18 20:27:19 +03:00
lachwright 7b2e54b426 Fix Dragonbomber z positioning 2020-06-19 00:52:24 +08:00
Hannu Hanhi 9477d372b9 Backwards compatibility for shaderless hardware 2020-06-18 17:39:34 +03:00
James R 193c45aa2f Forgot a comma 2020-06-17 22:58:11 -07:00
James R 489bb81d00 Makefile: Move the PREFIX stuff up so version detection can take advantage of 2020-06-17 22:52:19 -07:00
James R bf90fbb91f Detect the compiler version and set the correct GCC flag
If the version is not supported by the Makefile, the flag for the latest
version supported is set instead.
2020-06-17 22:49:12 -07:00
SteelT bff6b19056 Merge branch 'marathonmode' into 'next'
MARATHON RUN

See merge request STJr/SRB2!941
2020-06-17 19:36:10 -04:00
Steel Titanium 8365d975d3 A even more better fix for this 2020-06-17 18:40:56 -04:00
Steel Titanium 1e655fb2c1 Better fix for may be used uninitialized, maybe fixes GCC 4.x 2020-06-17 18:23:54 -04:00
Steel Titanium 3946309ece Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into sal-oglshaderport
# Conflicts:
#	src/hardware/r_opengl/r_opengl.c
2020-06-17 18:15:07 -04:00
Steel Titanium 5708325d2b Use SAMPLERATE for consistency with the rest of the code 2020-06-17 14:50:22 -04:00
Steel Titanium f626b9f4d9 Fix VGZ sometimes causing SRB2 to crash by not playing the song early in I_LoadSong 2020-06-17 14:31:49 -04:00
Steel Titanium a34be0e370 Reduce code duplication by creating get_zlib_error function
Reduce calls to gme_set_equalizer in I_LoadSong by moving it to I_PlaySong
Return false if it fails to decompress VGZ data in some form.
2020-06-17 14:19:19 -04:00
Steel Titanium d3d5496a78 Fix facecolor may be used uninitialized. 2020-06-17 14:09:49 -04:00
lachwright 7d92631d97 Whoops, forgot hu_stuff.c 2020-06-17 05:27:42 +08:00
lachwright edfd64877c Add SF_NOSUPERSPRITES 2020-06-17 04:53:42 +08:00
lachwright e403de7459 Merge branch 'next' into more-platform-fixes 2020-06-17 01:53:19 +08:00
lachwright 29738fcdd0 Allow Fang to bounce on solid rising floors without taking damage/losing all scorechain 2020-06-17 01:46:36 +08:00
lachwright 38e2c999c5 Platform fixes 2020-06-14 12:17:30 +08:00
Zachary McAlpin 6eccc7030d I forgot to pop the error handler 2020-06-12 07:50:57 -05:00
Zachary McAlpin 965d42f974 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-06-12 07:32:44 -05:00
Nev3r 2322644488 Merge branch 'dofile' into 'next'
Add dofile() to Lua

See merge request STJr/SRB2!969
2020-06-12 02:32:16 -04:00
Steel Titanium b056bf1d6c Merge branch 'master' into next 2020-06-11 20:11:26 -04:00
SteelT c810ea3945 Merge branch 'next-lc-uint16' into 'next'
Custom skincolor bugfixes

See merge request STJr/SRB2!971
2020-06-11 20:08:50 -04:00
Zachary McAlpin 0d70e16b0b Updated LUAh_GameQuit to use new error handler 2020-06-11 15:11:01 -05:00
Zachary McAlpin 08e9efee76 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-06-11 15:02:31 -05:00
lachwright fad82265e0 Allow macOS builds to be launched through Steam 2020-06-12 01:19:06 +08:00
mazmazz 8fc414536f CMAKE: Move launch-c into more sensible location 2020-06-10 15:08:09 -04:00
LJ Sonic 7ffee074d8 Merge branch 'next' into 'better-download'
# Conflicts:
#   src/d_clisrv.c
2020-06-10 07:57:49 -04:00
LJ Sonic bc2edb2ae4 Merge branch 'snake' into 'next'
Add a Snake minigame to the file transfer screen

See merge request STJr/SRB2!903
2020-06-10 07:38:37 -04:00
Zachary McAlpin 291479e3e8 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-06-09 19:54:47 -05:00
mazmazz 46b383acda CMAKE: Fix toggle fullscreen breakage due to missing define
This is lazy. The correct solution is to eliminate the define in the program code
2020-06-09 17:32:14 -04:00
MascaraSnake a76c8af60c Compiling fix 2020-06-09 22:10:02 +02:00
mazmazz 36e17006b7 CMAKE: Fix OS X ccache scripts 2020-06-09 11:12:52 -04:00
MascaraSnake d07c376f6d Adapt POF_SPLAT to UDMF setup 2020-06-09 09:44:49 +02:00
MascaraSnake 4a0206b38d Merge branch 'next' into udmf-next
# Conflicts:
#	src/p_mobj.c
#	src/p_polyobj.c
2020-06-09 09:38:01 +02:00
Steel Titanium 2abdc86537 Fix these "may be used uninitialized in this function" errors with batching 2020-06-08 20:18:32 -04:00
Steel Titanium 3dd89f67fa Fix no previous prototype for TimeFunction 2020-06-08 19:56:24 -04:00
Steel Titanium 62d73968e2 Merge branch 'next' into sal-oglshaderport 2020-06-08 19:36:23 -04:00
mazmazz 01ff46326f Merge remote-tracking branch 'stjr-gl/master' into cmake-adjustments 2020-06-08 11:57:57 -04:00
Digiku 70eb5ba634 Merge branch 'buffer-offset-fix' into 'master'
Strike null-pointer-arithmetic error in BUFFER_OFFSET

See merge request STJr/SRB2!989
2020-06-08 11:56:48 -04:00
Lachlan Wright 191e2e094d Merge branch 'fix-spawn-desynch' into 'next'
Fix desynch when a player spawns

See merge request STJr/SRB2!977
2020-06-08 05:25:41 -04:00
Lachlan Wright 614a98bd9d Merge branch 'dashmode-fixes' into 'next'
Dashmode fixes

See merge request STJr/SRB2!909
2020-06-08 05:25:30 -04:00
Lachlan Wright 590dfca582 Merge branch 'fix-continuing-mouse' into 'next'
Fix mouse being grabbed in continue screen

See merge request STJr/SRB2!983
2020-06-08 05:25:24 -04:00
mazmazz f3c1db0650 CMAKE: Fix OSX CCache error 2020-06-08 03:08:58 -04:00
mazmazz efba50c83c CMAKE: Add SRB2_DEBUG_INSTALL to toggle *.debug in install/package 2020-06-08 00:38:13 -04:00
mazmazz aef9a1b522 CMAKE: Add CCACHE support 2020-06-08 00:35:31 -04:00
mazmazz a5f7f9a534 Fix OPENMPT deprecation error, openmpt_module_ctl_set 2020-06-08 00:09:29 -04:00
mazmazz 2cefe82950 Fix OSX null-pointer-arithmetic error 2020-06-08 00:08:07 -04:00
mazmazz ded6285249 CMAKE improvements: optional asset install; exe.debug for RelWithDebInfo 2020-06-08 00:01:15 -04:00
mazmazz a449fa4a1d Added SDL Mixer X to CMAKE (Windows only) 2020-06-08 00:01:15 -04:00
Zachary McAlpin 78014cfd4c Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-06-07 22:42:43 -05:00
Hannu Hanhi 0e521922c6 Change some unsigned ints to UINT32 2020-06-07 21:32:52 +03:00
Hannu Hanhi abe13651d0 OpenGL draw call batching system 2020-06-07 21:20:52 +03:00
MascaraSnake de7a806ec3 Merge branch 'nospinmovecut' into 'next'
Don't cut momentum if landing in a roll

See merge request STJr/SRB2!972
2020-06-07 13:24:19 -04:00
Hannu Hanhi da98ea242e Merge remote-tracking branch 'upstream/next' into shaders-224-next-merge 2020-06-07 20:01:05 +03:00
SteelT db32b01222 Merge branch 'renderstats' into 'sal-oglshaderport'
Render stats

See merge request STJr/SRB2!914
2020-06-07 12:29:58 -04:00
sphere 82200d80a9 Fix mouse being grabbed in the continue screen. 2020-06-07 00:40:33 +02:00
Monster Iestyn 28550b221a Merge branch 'master' into next 2020-06-06 20:50:12 +01:00
Monster Iestyn d2fefb6b9a use void rather than VOID, because the logging init code isn't exclusively Win32, whoops 2020-06-06 20:49:12 +01:00
Monster Iestyn 7e562a3ca5 Merge branch 'master' into next 2020-06-06 20:35:48 +01:00
Monster Iestyn 982d1db5d8 Merge branch 'cppcheck-fixes' into 'master'
Cppcheck fixes

See merge request STJr/SRB2!967
2020-06-06 15:28:48 -04:00
lachwright f68a95016e Merge branch 'next' into nospinmovecut 2020-06-07 02:45:26 +08:00
Monster Iestyn a4d7ff3c6d Merge branch 'master' into next 2020-06-06 17:39:43 +01:00
Monster Iestyn 56b8ea3587 added liolib.c to the VC10 project files, since it was missing from them 2020-06-06 17:38:35 +01:00
GoldenTails 9aa68f524e Adds the branch name into the version command printout when outside of DEVELOP mode.
Really just so I don't accidentally join netgames or record replays for vanilla SRB2 in the `next` branch...
2020-06-06 04:12:27 -05:00
MascaraSnake 50b47a1b25 Merge branch 'translucent-splat-planes' into 'next'
Allow transparent parts in translucent FOF and PolyObject planes

See merge request STJr/SRB2!978
2020-06-06 04:35:06 -04:00
Zachary McAlpin ca66c5e7ee Updated LUAh_GameQuit 2020-06-05 13:18:22 -05:00
Zachary McAlpin 7b779fa89b Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-06-05 12:59:41 -05:00
Monster Iestyn 9e4ed738b7 Sync turnobjs for polyrotate_t thinkers in netgames 2020-06-04 21:31:26 +01:00
Monster Iestyn cb7423b97e sdl/i_main.c: while we're here, split all the logging initialisation code into a separate function, to make main function more clean 2020-06-03 20:47:49 +01:00
Monster Iestyn b11d58aef5 clean up BUGTRAP code in win32/win_main.c to avoid unmatched }
(though that said we don't officially care about the win32 folder files anymore)
2020-06-03 20:47:49 +01:00
Monster Iestyn 5349a0bf62 V_Init: count to NUMSCREENS, not NUMSCREENS+1 (though I can't help thinking this one might have been deliberate somehow?) 2020-06-03 20:47:49 +01:00
Monster Iestyn bb1a2dbba7 sdl/i_main.c: fix wrong placement of #endif for LOGMESSAGES code 2020-06-03 20:47:49 +01:00
Monster Iestyn 8092d30376 Polyobj_rotate and related: change "origin" to vector2_t since all it needs is x/y and not any of the new stuff for vertex_t 2020-06-03 20:47:49 +01:00
Monster Iestyn 7340442839 P_XYMovement: initialise slopemom to all zeros 2020-06-03 20:47:49 +01:00
Monster Iestyn adb11eec1b dehacked.c: use actual size of descriptions buffers rather than MAXLINELEN, which is way too large 2020-06-03 20:47:49 +01:00
Monster Iestyn d11ba67288 G_ReadMetalTic: Make sure all three values for GZT_XYZ are read in the right order 2020-06-03 20:47:49 +01:00
Monster Iestyn 879a2bd20a G_GhostTicker/G_ReadMetalTic: type should default to MT_NULL, not -1
This way, if for some reason the ghost has no skin, nothing should spawn at all
2020-06-03 20:47:49 +01:00
MascaraSnake 33ed36cf4b Effect 6 flag allows cutting of cyan pixels on FOF and PolyObject planes (even if they're translucent) 2020-06-03 19:41:47 +02:00
Louis-Antoine 9be188ff02 Minor edit 2020-06-02 10:31:56 +02:00
Louis-Antoine 286b316cf9 Fix dofile() return incorrect values 2020-06-01 15:43:14 +02:00
LJ Sonic 6895d7df92 Merge branch 'next' into 'dofile'
# Conflicts:
#   src/lua_script.c
#   src/lua_script.h
2020-06-01 09:28:56 -04:00
Louis-Antoine e6ffedbce8 Fix food occasionally spawning inside the snake 2020-06-01 15:21:16 +02:00
LJ Sonic 04c7eeb6ae Merge branch 'deprecate-fixedrem' into 'next'
Deprecate FixedRem.

See merge request STJr/SRB2!952
2020-06-01 08:30:44 -04:00
LJ Sonic 715cb857f5 Merge branch 'next' into 'better-download'
# Conflicts:
#   src/sdl/i_system.c
#   src/win32/win_sys.c
2020-06-01 08:16:53 -04:00
LJ Sonic e2b860dc28 Merge branch 'next' into 'fix-spawn-desynch'
# Conflicts:
#   src/p_map.c
2020-06-01 08:15:02 -04:00
MascaraSnake 11493e61d2 Merge branch 'executordelay' into 'udmf-next'
UDMF linedef executor delay

See merge request STJr/SRB2!918
2020-06-01 07:57:23 -04:00
MascaraSnake b13f29852f Merge branch 'gravflip-shadows' into 'next'
Move drop shadows to the ceiling for objects in reverse gravity

See merge request STJr/SRB2!973
2020-06-01 07:23:29 -04:00
MascaraSnake 8d7f4e3265 Merge branch 'movement-refactor' into 'next'
Clean up some movement code

See merge request STJr/SRB2!912
2020-06-01 07:21:41 -04:00
Louis-Antoine 3c3a60d189 Fix "downloads" command reporting incorrect progress 2020-06-01 10:37:05 +02:00
LJ Sonic dd18915570 Merge branch 'traceback' into 'next'
Traceback

See merge request STJr/SRB2!974
2020-06-01 04:17:30 -04:00
MascaraSnake 508160ed42 Use 0 instead of 0xffff as dummy mobjnum 2020-05-31 22:58:14 +02:00
MascaraSnake 3a4502fa87 Netsync waypoint sequences 2020-05-31 22:44:25 +02:00
SwitchKaze 5a18bdf20b Fix SOC color name reading 2020-05-30 16:52:44 -05:00
Louis-Antoine d31346822d Refactor hook library a little 2020-05-30 20:28:45 +02:00
Louis-Antoine 1bacaedde2 Show the traceback when a Lua script error happens 2020-05-30 20:24:33 +02:00
lachwright f32d29f700 Oops, forgot to #undef 2020-05-31 01:26:23 +08:00
lachwright a7f73bfa85 Move drop shadows to the ceiling for objects in reverse gravity 2020-05-31 01:21:26 +08:00
lachwright 5136a4d41d Don't cut momentum if landing in a roll 2020-05-30 19:07:16 +08:00
lachwright b874da5229 Ensure followmobj ghost exists before applying fuse 2020-05-30 18:26:11 +08:00
lachwright 51b640ad5a Feedback so far indicates the old booster effect is preferred 2020-05-30 18:21:39 +08:00
lachwright ae5d5b9546 Merge branch 'next' into dashmode-fixes 2020-05-30 18:13:21 +08:00
SwitchKaze d589e6bc95 Fix signpost shade. 2020-05-29 21:41:20 -05:00
Zachary McAlpin 7bdea21435 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-05-29 15:32:59 -05:00
Louis-Antoine 1dbb755743 Add dofile() to Lua 2020-05-29 17:35:07 +02:00
LJ Sonic b7c5163419 Merge branch 'luacolors-gcc10-fix' into 'next'
Fix the "Custom skincolors" branch not compiling with GCC 10.

See merge request STJr/SRB2!966
2020-05-29 11:23:54 -04:00
sphere 71cf31fcaf Fix the "Custom skincolors" branch not compiling with GCC 10. 2020-05-28 18:43:04 +02:00
Louis-Antoine c6e13d0e30 Fix crash when setting a mobj's angle from a Lua script 2020-05-28 18:34:56 +02:00
Monster Iestyn 755e9d659d Merge branch 'master' into next 2020-05-28 16:34:06 +01:00
SteelT 07da7f7d29 Merge branch 'scroller-tweaks' into 'next'
Add back side wall scrollers & allow using offsets for tagged wall scrollers.

See merge request STJr/SRB2!955
2020-05-28 11:29:39 -04:00
LJ Sonic aab6339e66 Merge branch 'possibly-fix-dedi-crash' into 'next'
Possible fix for dedicated server crashes (aka the msvcrt.dll!_mbscat crash)

See merge request STJr/SRB2!963
2020-05-28 11:29:00 -04:00
SteelT 1c42102ddb Merge branch 'fix-input-buffer' into 'next'
Allow input buffer to hold more than 64 tics

See merge request STJr/SRB2!950
2020-05-28 11:27:39 -04:00
SteelT f0b64971a0 Merge branch 'next-lc-uint16' into 'next'
Custom skincolors

See merge request STJr/SRB2!960
2020-05-28 11:23:05 -04:00
Louis-Antoine 67eef5a37f Fix potential desynch when a player spawns 2020-05-28 11:03:35 +02:00
Louis-Antoine bb1e3fdf13 Add a few missing calls to GameQuit hook 2020-05-27 14:58:10 +02:00
Monster Iestyn 40566e6926 Got_AddPlayer: check that I_GetNodeAddress(node) is non-NULL before using strcpy to copy it to the playeraddress array 2020-05-25 21:27:48 +01:00
mazmazz 272362a86f Fix NOWIPE bugs with colormap fade and title card 2020-05-25 00:20:23 -04:00
mazmazz 8fee9a51ce Add NOWIPE behavaior for colormap fades 2020-05-25 00:19:41 -04:00
Monster Iestyn ed25fefcae T_BounceCheese: Fix FOF height desync occurring if the FOF fell down too fast (resulting in a bizarre bouncing back up effect in MP SS5 due to P_FloorzAtPos messing up as a result) 2020-05-24 21:15:31 +01:00
SwitchKaze f508f5b881 Fix typo SKINCOLOT 2020-05-24 12:36:20 -05:00
SwitchKaze b37c73b008 Make colors UINT16, increase color freeslots to 1024 2020-05-23 19:35:36 -05:00
Zachary McAlpin 566a5a0ab7 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-05-23 15:23:43 -05:00
MascaraSnake 747d784c77 Merge branch 'splitshot-notarget-fix' into 'next'
A_SplitShot no target fix

See merge request STJr/SRB2!956
2020-05-23 07:52:36 -04:00
SwitchKaze 46191cade7 Update to 2.2.4 2020-05-22 16:47:51 -05:00
Monster Iestyn 4b7f0f49f1 added the ability to get the # of a mapthing_t in Lua 2020-05-22 18:32:34 +01:00
Monster Iestyn c9c7327011 A_SplitShot fix: don't even attempt to A_FaceTarget (or anything beyond) if there is no target to face to begin with 2020-05-21 19:42:48 +01:00
Monster Iestyn 7722d41be6 Merge branch 'sprite-projection-fixes' into 'next'
Sprite projection fixes

See merge request STJr/SRB2!954
2020-05-20 15:33:30 -04:00
Monster Iestyn 702a7041d4 also do the fovtan multiplication thing with precip sprites 2020-05-20 19:34:18 +01:00
Louis-Antoine bf00955786 Wait for acks before resending file fragments 2020-05-20 16:21:18 +02:00
James R 4eeae51cbb Merge branch 'more-lua-map-names' into 'next'
G_BuildMapTitle for Lua, G_BuildMapName outside of levels

See merge request STJr/SRB2!694
2020-05-19 23:13:35 -04:00
Louis-Antoine 06060c02d3 Add a command to list current file transfers 2020-05-20 00:24:53 +02:00
Louis-Antoine c8948909d3 Fix I_Error when queuing multiple Lua files 2020-05-19 23:50:37 +02:00
sphere 934b28989f Add linedef actions 507 & 508, allow using offsets for actions 502-504. 2020-05-19 23:39:35 +02:00
Monster Iestyn c3d576058a on second thought maybe we don't need extra tx clamping, it turns out to be more effort than it's worth (at least for now)
meanwhile, let's move x/yscale calculations down since we don't actually need them until later on
2020-05-19 22:00:34 +01:00
Louis-Antoine f620b52672 Fix sending Lua files in text mode 2020-05-19 21:36:21 +02:00
Louis-Antoine 34c5da39e2 Create FIL_ConvertTextFileToBinary 2020-05-19 20:00:58 +02:00
Monster Iestyn 65d6b04fd2 change limits for tx based on fov, by multiplying by fovtan
this makes it so that higher fov values can actually let you see all the sprites that should be in the view
2020-05-19 18:54:39 +01:00
Monster Iestyn 35e5d673e0 do tx checking after tz clamping, not before 2020-05-19 18:43:33 +01:00
Monster Iestyn 12e1094143 We don't actually need x1 or x2 until these points in the function, at least for papersprites 2020-05-19 17:23:22 +01:00
Monster Iestyn 1a790235c6 added basic culling of papersprites if tx for either is too large, proper clamping to be added later
also removed some commented out old code
2020-05-19 17:19:44 +01:00
Monster Iestyn c8320b6c9d split "rot" into two variables: frame and rot, for frame number and rotation angle
it always bothered me that "rot" was used for both of the above, since it confused me as to what it was for every time I look at this function
2020-05-19 16:58:53 +01:00
Monster Iestyn dd42682791 remove gxt and gyt, as they are unnecessary
also add a few comments to explain what tx/tz are
2020-05-19 16:48:50 +01:00
Louis-Antoine 06d3af6716 Refactor Lua file transfer code 2020-05-19 15:16:51 +02:00
Louis-Antoine db85c62c6f Allow resuming the most recent file transfer 2020-05-19 11:28:24 +02:00
MascaraSnake ff37975892 Merge branch 'next' into movement-refactor
# Conflicts:
#	src/p_map.c
2020-05-19 09:50:23 +02:00
MascaraSnake 6f854f2de3 Merge branch 'more-polyobject-cleanup' into 'next'
Smooth polyobject movement and other cleanup

See merge request STJr/SRB2!947
2020-05-18 16:00:55 -04:00
MascaraSnake 33a22331f8 Merge branch 'waypoints' into 'next'
Store waypoints at map load instead of iterating through the thinker list to find them

See merge request STJr/SRB2!938
2020-05-18 16:00:46 -04:00
Zachary McAlpin 530d0e3421 Remove redundant M_QuitResponse call 2020-05-18 14:56:10 -05:00
Zachary McAlpin ed78d17ed3 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-05-18 14:50:58 -05:00
Louis-Antoine d40a8efce2 I forgot to test OpenGL :slight_smile: 2020-05-18 20:35:30 +02:00
GoldenTails 8b801921a4 Deprecate FixedRem.
It's about time!
2020-05-18 11:29:56 -05:00
Louis-Antoine 435643b958 Fix P_GetZAt for Lua 2020-05-18 16:16:45 +02:00
Louis-Antoine d0abd6e86c Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into slope-cleanup
# Conflicts:
#	src/hardware/hw_main.c
#	src/p_spec.c
2020-05-18 16:14:05 +02:00
Louis-Antoine a06c4a8c98 Rename P_GetZAt to P_GetSlopeZAt and P_GetZAt2 to P_GetZAt 2020-05-18 15:23:56 +02:00
Louis-Antoine 37d2796b91 Increase the length of the player input buffer even more 2020-05-18 12:35:55 +02:00
Louis-Antoine 56cc5190e5 Allow input buffer to hold more than 64 tics 2020-05-18 11:34:09 +02:00
Louis-Antoine e49d3d0bb9 Use per-node reference tics in ExpandTics 2020-05-17 20:23:07 +02:00
Louis-Antoine fc07db26c0 Store starttic as a raw value in PT_SERVERTICS packets
This avoids some desynch issues and is simpler to handle.
Those packets are always big anyway, so the difference is irrelevant.
2020-05-17 20:09:11 +02:00
MascaraSnake c05d1dd979 Merge branch 'software-missing-sprite-column' into 'next'
Fix missing sprite column (resolves #135)

See merge request STJr/SRB2!944
2020-05-17 02:30:32 -04:00
MascaraSnake a7c7f7afa9 Merge branch 'fof-cleanup' into 'next'
FOF cleanup

See merge request STJr/SRB2!910
2020-05-17 02:30:16 -04:00
Louis-Antoine bf11e3a361 Add missing packet name 2020-05-16 23:22:33 +02:00
Louis-Antoine 66ecfb741a Show total size when downloading gamestate 2020-05-16 22:49:20 +02:00
Louis-Antoine 3c7c758d17 Rewrite file transfer code
This code uses a custom packet acknowledgement system,
which is more suited for file transfer and does not suffer from
the small sender window used by the default acknowledgement system
2020-05-16 22:09:00 +02:00
Jaime Passos 423494381e Fix mistake 2020-05-16 14:01:42 -03:00
Jaime Passos c64e231b2b Attempt to properly match Software texture blending
without messing with the original ASTBlendPixel function
2020-05-16 13:51:10 -03:00
Monster Iestyn 20e4d5ab9e lib_sStopSoundByID: fixed mixed declaration and code compiler warning 2020-05-16 16:14:47 +01:00
MascaraSnake 969c48fac8 Merge branch 'udmf-next' into udmf-polyobjects
# Conflicts:
#	src/p_polyobj.c
2020-05-16 11:18:47 +02:00
MascaraSnake 9b25ab27ca Merge branch 'stop-sound-by-id' into 'next'
S_StopSoundByID Lua support

See merge request STJr/SRB2!925
2020-05-16 04:55:46 -04:00
MascaraSnake 5d7bea6400 Merge branch 'more-demo-cleanup' into 'next'
More Demo code cleanup

See merge request STJr/SRB2!942
2020-05-16 04:52:31 -04:00
MascaraSnake 371a1851e3 Polyobject waypoint movement: Prevent infinite loop if all waypoints are in the same location 2020-05-16 10:24:06 +02:00
MascaraSnake 536e355cdf polywaypointdata_t: Turn reverse and continuous into flags 2020-05-16 09:49:30 +02:00
MascaraSnake 06dda9c69d EV_DoPolyObjWaypoint: Don't discard movement if you start at the last waypoint 2020-05-16 09:09:26 +02:00
MascaraSnake 3680b246c9 T_PolyObjWaypoint: We can find waypoints in constant time now, so no need to store the waypoint mobj in the thinker anymore 2020-05-16 09:03:02 +02:00
MascaraSnake 1057c0f7c1 T_PolyObjWaypoint: If the polyobject reaches its target exactly, find next waypoint in the same tic 2020-05-16 08:49:03 +02:00
MascaraSnake e422d1fa1d Rewrite T_PolyObjWaypoint to move more smoothly 2020-05-16 08:45:06 +02:00
Steel Titanium 69c86c63b3 Fix A_SpinSpin not being usable in Lua or SOC due to an error 2020-05-15 23:05:29 -04:00
MascaraSnake ed9b76e4b9 Merge branch 'opengl-character-select-mipmap-memory-leak-fix' into 'next'
Fix colormap mipmap memory leak on the character select in OpenGL

See merge request STJr/SRB2!943
2020-05-15 16:41:19 -04:00
MascaraSnake 8f4ed5af62 Merge branch 'nights-character-select' into 'next'
Character select in Nights mode.

See merge request STJr/SRB2!862
2020-05-15 16:39:38 -04:00
toaster a5150e07fd * Swap location of Tutorial and Marathon Run, per sphere's suggestion.
* Lock Marathon Run if Record Attack isn't available, to avoid confusing new players.
2020-05-15 21:32:54 +01:00
toaster a615de3504 Correctly reset map/timer for retries where the first map in Marathon Run is LF_NORELOAD (by forcing a reload when the retry option is used). 2020-05-15 21:17:57 +01:00
Jaime Passos 288d7166bc Fix ASTBlendPixel outputting empty pixels if the background pixel was empty, BUT if the foreground pixel had no alpha at all 2020-05-15 16:41:39 -03:00
Jaime Passos 00ac9deb5b Fix missing sprite column 2020-05-15 16:17:31 -03:00
Jaime Passos dd3c7aa0af Fix colormap mipmap memory leak on the character select in OpenGL 2020-05-15 15:58:20 -03:00
MascaraSnake 0508f99419 T_PolyObjWaypoint: Move duplicated movement code into its own function 2020-05-15 17:35:07 +02:00
toaster 9686ad2d70 * In-game timer option! Doesn't tick in intermission or in lag, only when a frame is actually run. Realtime option remains default.
* Tweak retry behaviour to restart timer and not subtract life if you're on the first level and haven't hit a checkpoint yet.
2020-05-15 16:33:20 +01:00
toaster 1e3e9c81ac Remove emblem hints from Marathon Run (I think Options is good just for the sake of live events, though). 2020-05-15 15:23:31 +01:00
toaster 47419ce0df Introducing "antisplice" - a pair of small highlights on the Marathon bar that is based on the real time the executable has been open for and *isn't* restored with the Live Event Backup, making spliced runs basically intractable. 2020-05-15 15:08:45 +01:00
toaster f06206cd5f Fix "press any other key" sending you to HOM hell. 2020-05-15 14:24:29 +01:00
toaster 271c6d354b Re-order Marathon bar to be drawn before FPS and captions if applicable. 2020-05-15 13:39:27 +01:00
toaster 4348ebdfa8 Make live event backup files savedata specific (new format: live%s.bkp, where %s is the time attack folder name/savegame name - so vanilla's is livesrb2sav.bkp). 2020-05-15 13:37:06 +01:00
toaster 2aa542d2bf Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into marathonmode
# Conflicts:
#	src/doomdef.h
2020-05-15 13:23:37 +01:00
toaster e99d38ffaf Make a falsy useBlackRoc prevent doing Black Rock sparkle calculations and Egg Rock pulse sounds. 2020-05-15 13:19:52 +01:00
MascaraSnake 9cd9d2e0d7 Merge branch 'carry-dust-devil' into 'next'
Add carry types to Dust devils

See merge request STJr/SRB2!886
2020-05-15 02:50:29 -04:00
toaster d593e2e1bb Introducing Marathon Run. (I was going to call it Marathon Mode, but NiGHTS Mode being right next to it on the menu looked terrible.)
Basically a dedicated Record Attack-like experience for speedrunning the game as a continuous chunk rather than ILs. Has several quality of life features.

Benefits include:
* An unambiguous real-time bar across the bottom of the screen, always displaying the current time, ticking up until you reach the ending.
* Disable the console (pausing is still allowed, but the timer will still increment).
* Automatically skip intermissions as if you're holding down the spin button.
* Show centiseconds on HUD automatically, like record attack.
* "Live Event Backups" - a category of run fit for major events like GDQ, where recovery from crashes or chokes makes for better entertainment. Essentially a modified SP savefile, down to using the same basic functions, but has its own filename and tweaked internal layout.
* "spmarathon_start" MainCfg block parameter and "marathonnext" mapheader parameter, allowing for a customised flow (makes this fit for purpose for an eventual SUGOI port).
* Disabling inter-level custom cutscenes by default with a menu option to toggle this (won't show up if the mod doesn't *have* any custom cutscenes), although either way ending cutscenes (vanilla or custom) remain intact since is time is called before them.
* Won't show up if you have a mod that consists of only one level (determined by spmarathon_start's nextlevel; this won't trip if you manually set its marathonnext).
* Unconditional gratitude on the evaluation screen, instead of a negging "Try again..." if you didn't get all the emeralds (which you may not have been aiming for).
* Gorgeous new menu (no new assets required, unless you wanna give it a header later).

Changes which were required for the above but affect other areas of the game include:
* "useBlackRock" MainCFG block parameter, which can be used to disable the presence of the Black Rock or Egg Rock in both the Evaluation screen and the Marathon Run menu (for total conversions with different stories).
* Disabling Continues in NiGHTS mode, to match the most common singleplayer experience post 2.2.4's release (is reverted if useContinues is set to true).
* Hiding the exitmove "powerup" outside of multiplayer. (Okay, this isn't really related, I just saw this bug in action a lot while doing test runs and got annoyed enough to fix it here.)
* The ability to use V_DrawPromptBack (in hardcode only at the moment, but) to draw in terms of pixels rather than rows of text, by providing negative instead of positive inputs).
* A refactoring of redundant game saves smattered across the ending, credits, and evaluation - in addition to saving the game slightly earlier.
* Minor m_menu.c touchups and refactorings here and there.

Built using feedback from the official server's #speedruns channel, among other places.
2020-05-14 23:10:00 +01:00
Monster Iestyn ee520b4a0d split significant chunks of G_CheckDemoStatus into their own smaller functions, also give writing demo checksums its own little function 2020-05-14 20:57:21 +01:00
kaysrishaq 70896f9095 clean whitespace 2020-05-14 07:42:06 -04:00
kaysrishaq c2a54acae3 Minor reorganization 2020-05-14 07:17:58 -04:00
kaysrishaq fd31c5cd5e Update
Worked out some edge cases that had resulted in tracks restarting in the same format when they shouldn't - or tracks not switching to the other format when they should.

Removed stray }
2020-05-14 06:33:03 -04:00
kaysrishaq 53252f0d14 Merge branch 'next' into musicpref-var 2020-05-14 03:38:38 -04:00
ZipperQR 6a9543b1c2 no message 2020-05-14 03:35:46 +03:00
kaysrishaq 7f7ccc9911 musicpref console variable
Adds musicpref to console and sound options menu, which allows users to select whether to prioritize MIDI or Digital music.
Functions GameMIDIMusic_OnChange and GameDigiMusic_OnChange updated to not assume digital music priority, and to have more consistent behavior between the two.
Positive side effect of using P_RestoreMusic in these functions means that powerup music (speed shoes, invincibility) will restore in the correct position when reenabling the original MusicType they loaded in with.
2020-05-13 19:20:21 -04:00
MascaraSnake 7413da918b Store PolyObject waypoint return behavior in an enum 2020-05-13 16:21:47 +02:00
MascaraSnake b561ee7921 Remove diffx/y/z from polywaypoint_t, since they're always 0 anyway 2020-05-13 14:40:07 +02:00
MascaraSnake acdb4b42ea Merge branch 'actnum-tweaks' into 'next'
Act number tweaks

See merge request STJr/SRB2!905
2020-05-13 04:25:53 -04:00
MascaraSnake 9d06cb4be4 Merge branch 'fix-window-icon' into 'master'
Fix window icon being reset when switching renderers on non-Windows platforms

See merge request STJr/SRB2!898
2020-05-13 04:14:51 -04:00
MascaraSnake 0e2fb59650 Merge branch 'ogl-gif-fix' into 'master'
Fix OpenGL only recording the first frame of unoptimized GIFs

See merge request STJr/SRB2!928
2020-05-13 04:09:58 -04:00
MascaraSnake ff3768f3e0 Merge branch 'udmf-next' into executordelay 2020-05-13 10:01:41 +02:00
MascaraSnake 1ccda0b85c Merge branch 'next' into udmf-next 2020-05-13 10:01:12 +02:00
MascaraSnake d3ec12c842 Merge branch 'udmf-next' into executordelay
# Conflicts:
#	src/p_spec.c
2020-05-13 09:55:25 +02:00
MascaraSnake aa16bd22f9 Fix accidental swap of first and last waypoint 2020-05-13 09:32:00 +02:00
MascaraSnake 36843cbfd6 Merge branch 'next' into waypoints 2020-05-12 23:51:32 +02:00
MascaraSnake d708789c3a Store waypoints (for zoom tubes, rope hangs, polyobjects) explicitly 2020-05-12 23:50:30 +02:00
Louis-Antoine bf660dd35a Rename local variables 2020-05-12 19:58:16 +02:00
Monster Iestyn 8c88c3dbb4 added missing extern keyword for ntemprecords in doomstat.h (definition is in g_game.c) 2020-05-12 18:43:49 +01:00
Monster Iestyn 064f4bcf34 added missing extern keyword for ms_RoomId in mserv.h (the definition is already in the .c file in this case) 2020-05-12 18:42:16 +01:00
Monster Iestyn dab212dc56 turn all non-extern variables in s_sound.h into externs (and put their real definitions in the .c file) 2020-05-12 18:40:51 +01:00
Monster Iestyn 89cd756cd8 make savegamename in doomdef.h an extern, put the actual definition in d_main.c 2020-05-12 18:37:15 +01:00
Louis-Antoine 061fd4761a Rename some file transfer functions 2020-05-12 19:06:40 +02:00
sphere 4eb5f09c6f Restore SHORT(). 2020-05-12 17:20:29 +02:00
sphere 0287c6956e Fix some errors and add some comments. Also, actnum is not an INT32. 2020-05-12 17:20:28 +02:00
sphere 69c11a8220 Support act numbers up to 99 and draw both digits individually. 2020-05-12 17:17:24 +02:00
MascaraSnake 435e6c9812 Rename variables for Fang waypoints, in preparation for new global waypoint data structure 2020-05-12 14:53:10 +02:00
Steel Titanium feced5ec3c Merge branch 'master' into next 2020-05-11 18:20:09 -04:00
SteelT 78fe9af56a Merge branch 'splitscreen-titlecards-fix' into 'master'
Fix splitscreen Title Card act name regression

See merge request STJr/SRB2!934
2020-05-11 18:18:22 -04:00
SteelT 432cca7556 Merge branch 'menu-soc-bullshit-mergefix' into 'master'
Menu soc bullshit mergefix

See merge request STJr/SRB2!933
2020-05-11 18:17:59 -04:00
James R e80f6497d7 Merge remote-tracking branch 'origin/next' into 2.2.4-prep 2020-05-11 15:01:32 -07:00