Commit graph

10464 commits

Author SHA1 Message Date
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
LJ Sonic 4619646860 Merge branch 'slope-cleanup' into 'next'
I forgot to test OpenGL :slight_smile:

See merge request STJr/SRB2!953
2020-05-18 14:37:18 -04: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
LJ Sonic 536104fc5b Merge branch 'slope-cleanup' into 'next'
Encapsulate plane height checks

See merge request STJr/SRB2!860
2020-05-18 10:17:25 -04: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 4cd5d76066 Remove linedef type 21 from ZB config (somehow I forgot to do that) 2020-05-17 14:18:27 +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
LJ Sonic 208af4e710 Merge branch 'fix-packet-name' into 'next'
Add missing packet name

See merge request STJr/SRB2!948
2020-05-16 17:27:47 -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
Monster Iestyn 20e4d5ab9e lib_sStopSoundByID: fixed mixed declaration and code compiler warning 2020-05-16 16:14:47 +01: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 34d2bd49ca Merge branch 'signspinactiontypo' into 'next'
Fix A_SignSpin not being usable in Lua or SOC due to an error

See merge request STJr/SRB2!946
2020-05-16 04:49:33 -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 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