Commit graph

662 commits

Author SHA1 Message Date
Steel Titanium
913c07959e Kill CD support 2020-08-07 17:06:19 -04:00
Nev3r
3d90a6aebe Merge branch 'udmf-next' into 'next'
Merge udmf-next into next

See merge request STJr/SRB2!1075
2020-07-28 14:03:59 -04:00
Steel Titanium
9630b9e244 Fix muspostbossname sometimes returning garbage. 2020-07-19 13:47:33 -04:00
toaster
90b46ebfe6 Fix live event backups being created at run start; there's no meaningful progress in GFZ1 to recover from. 2020-07-12 19:00:58 +01:00
Nev3r
9210b2ba0b Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2/ into udmf-next 2020-07-10 11:47:16 +02:00
Nev3r
6b38fe4b2c Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2/ into udmf-next 2020-07-06 11:13:27 +02:00
Jaime Passos
9788afa820 Remove Software tricks 2020-07-06 01:26:56 -03:00
LJ Sonic
6ce388908b Merge branch 'levelflat_name' into 'next'
Use levelflat->name instead of flatname

See merge request STJr/SRB2!1024
2020-07-04 08:46:04 -04:00
SteelT
2d6fff5165 Merge branch 'na-char-replays' into 'next'
Add support for saving/loading per-skin NiGHTS replays

See merge request STJr/SRB2!1025
2020-07-03 14:51:05 -04:00
Nev3r
e301d268ec Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2/ into udmf-next
# Conflicts:
#	src/hardware/hw_main.c
2020-06-30 20:29:48 +02:00
Steel Titanium
f891c6cde4 Add support for saving/loading per-skin NiGHTS replays 2020-06-28 16:59:36 -04:00
James R
dc746f4dfe Use levelflat->name instead of flatname 2020-06-27 14:30:41 -07:00
toaster
94dbb0ebe1 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into special_save
# Conflicts:
#	src/g_game.c
2020-06-25 10:48:36 +01:00
James R
34eeb98cc4 Merge remote-tracking branch 'origin/next' into gtr-fixes 2020-06-24 19:31:19 -07:00
toaster
3b3256be8f 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
SteelT
dbd5198ac2 Merge branch 'marathonmode' into 'next'
MARATHON RUN

See merge request STJr/SRB2!941
2020-06-17 19:36:10 -04:00
MascaraSnake
c685328268 Adapt POF_SPLAT to UDMF setup 2020-06-09 09:44:49 +02:00
MascaraSnake
3ce62d7780 Merge branch 'next' into udmf-next
# Conflicts:
#	src/p_mobj.c
#	src/p_polyobj.c
2020-06-09 09:38:01 +02:00
MascaraSnake
473c9f372f 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
ef85e7f99d Polyobject waypoint movement: Prevent infinite loop if all waypoints are in the same location 2020-05-16 10:24:06 +02:00
toaster
4c412d931a 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
MascaraSnake
2e9a6afa3e Merge branch 'udmf-next' into executordelay
# Conflicts:
#	src/p_spec.c
2020-05-13 09:55:25 +02:00
MascaraSnake
4c526f6e50 Store waypoints (for zoom tubes, rope hangs, polyobjects) explicitly 2020-05-12 23:50:30 +02:00
Jaime Passos
a4d6addbca Merge remote-tracking branch 'origin/next' into gtr-fixes 2020-05-09 17:12:52 -03:00
MascaraSnake
db717f1cf7 Move polyobject crush option to the first line args 2020-05-04 23:27:26 +02:00
MascaraSnake
af8bd89558 Adapt basic PolyObject setup to UDMF 2020-05-04 22:40:49 +02:00
MascaraSnake
8c22834b46 Merge branch 'next' into udmf-next 2020-05-04 20:32:56 +02:00
MascaraSnake
5c0559a3d2 Adapt linedef executor delay to UDMF 2020-05-03 20:41:37 +02:00
MascaraSnake
1ed7c4eb46 Bugfix in XGL3 ZNODES parsing 2020-05-03 19:28:52 +02:00
MascaraSnake
2df5758ecf Allow map-wide gravity to be set via level header 2020-05-03 18:33:18 +02:00
MascaraSnake
9abfcacc3c Add level header options for setting special stage time and spheres requirements 2020-05-03 17:56:49 +02:00
MascaraSnake
8efec04051 Remove POLYOBJECTS and POLYOBJECTS_PLANES defines 2020-05-02 12:08:31 +02:00
MascaraSnake
d2e21afaf1 Merge branch 'next' into udmf-next
# Conflicts:
#	src/p_mobj.c
#	src/r_segs.c
2020-04-24 21:15:53 +02:00
Monster Iestyn
f26e8f3df7 Merge branch 'thinker-cleanup' into 'next'
Plane movement thinker cleanup

See merge request STJr/SRB2!880
2020-04-24 14:30:52 -04:00
Monster Iestyn
20ec3f6c89 Merge branch 'emeraldspawnfix' into 'next'
Fix emerald hunt not working properly, part 2

See merge request STJr/SRB2!887
2020-04-23 15:41:27 -04:00
sphere
d5863b912f Move variable declarations outside of for loops. 2020-04-22 23:17:18 +02:00
sphere
13c47b9e6f Fix variable-length array definition, just in case. 2020-04-22 23:10:43 +02:00
sphere
b3b7ffb889 Make P_SpawnEmeraldHunt even more concise, using Fisher-Yates shuffle. 2020-04-22 22:46:12 +02:00
sphere
d7185516f5 Fix a mistake with P_SpawnEmeraldHunt and make it more concise. 2020-04-22 20:38:58 +02:00
sphere
0868930d3b Make emerald hunt shards spawn at correct heights, and add Float option. 2020-04-22 18:58:40 +02:00
Nev3r
3d6d767bce Initialize pitch and roll on textmap mapthings too. 2020-04-22 09:00:29 +02:00
Nev3r
fbb2450133 Merge branch 'udmf-next' into udmf-thingargs
# Conflicts:
#	src/p_setup.c
2020-04-22 08:58:40 +02:00
Nev3r
3358413479 Merge branch 'udmf-pitch-and-roll' into 'udmf-next'
Add textmap pitch and roll parsing, and mobj pitch and roll variables.

See merge request STJr/SRB2!882
2020-04-21 12:27:26 -04:00
Louis-Antoine
74e8d7f733 Rename lumpinfo_t.name2 to lumpinfo_t.fullname 2020-04-20 23:40:41 +02:00
Nev3r
5632120a74 Add mapthing scale support; fields scale, scalex and scaley set the only mapthing scale field alike. 2020-04-19 15:18:36 +02:00
Nev3r
da165d2d22 Add textmap pitch and roll parsing, and mobj pitch and roll variables. 2020-04-19 14:51:55 +02:00
MascaraSnake
c1dff185bf Add enums to encapsulate the textmap colormap settings 2020-04-18 17:15:25 +02:00
MascaraSnake
7978920b53 Merge branch 'udmf-next' into udmf-argenums 2020-04-18 16:56:21 +02:00
MascaraSnake
6abc3da5de Add enums to encapsulate the textmap slope settings 2020-04-18 16:55:56 +02:00
Nev3r
109d09aa4c Merge branch 'udmf-colormaps' into 'udmf-next'
UDMF colormaps

See merge request STJr/SRB2!855
2020-04-18 07:42:24 -04:00