Commit graph

846 commits

Author SHA1 Message Date
Sally Coolatta
d8d3dee46f Add linedef executor for toggling stagefailed
By default, the executor will fail the stage. If Not Climbable is checked, the stage can be completed normally again.
2021-04-19 17:20:34 -04:00
Sally Coolatta
d59f25a6cd stagefailed is more useful
- Can now apply to normal stages, simply defaults to "false" in normal stages.
- Post-level cutscenes are now always skipped when the stage was failed.
- Exposed the boolean as a Lua read+write global.

Desired for SUGOI, as it allows for visited flags not be updated, and level completion emblems to not be awarded. Which means a lot less crappy non-ideal workarounds.

Normal stage intermission currently does not reflect failure state at all. Maybe it could always skip, never award score bonuses, have different text... etc. Probably would leave that up to vanilla dev opinion.
2021-04-18 12:59:49 -04:00
katsy
d1700bbf18 Merge remote-tracking branch 'stjr/next' into dontdothisinsoftwarelol 2021-03-31 03:15:31 -05:00
katsy
55d63000f4 don't HWR_ClearAllTextures() in software 2021-03-27 18:30:59 -05:00
sphere
998d065698 Add more actions for slope copying & update the ZB config. 2021-02-17 16:06:02 +01:00
Nev3r
66d858fbcb Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2 into remove-iterdeclarations
# Conflicts:
#	src/p_spec.c
2021-02-15 09:20:40 +01:00
LJ Sonic
09d911a5b6 Revert "Replace all instances of P_AproxDistance with FixedHypot"
This reverts commit 75633bde50.
2021-02-13 17:45:20 +01:00
Nev3r
eda6b0ad8e Remove TAG_ITER_DECLARECOUNTER and the level field on the iterator macros.
Declare the position counters inside the for loops instead; RIP C90.
2021-02-11 13:24:20 +01:00
LJ Sonic
83947d4428 Merge branch 'redundant-hypot' into 'next'
Replace P_AproxDistance with FixedHypot, and replace FixedHypot's algorithm with R_PointToDist2's

See merge request STJr/SRB2!1320
2021-01-25 18:08:25 -05:00
James R
353692fa79 Merge remote-tracking branch 'origin/next' into hooklib-refactor 2020-12-16 08:43:49 -08:00
Jaime Ita Passos
3b36005ceb Replace the first entry in the taglist, instead of adding into it 2020-12-14 14:13:24 -03:00
James R
75633bde50 Replace all instances of P_AproxDistance with FixedHypot 2020-12-12 14:53:54 -08:00
James R
93e4f43e4b Hooklib macros names -> uppercase + documentation 2020-12-12 03:16:30 -08:00
James R
2778cc3ce9 Merge remote-tracking branch 'origin/next' into hooklib-refactor 2020-12-12 02:02:38 -08:00
James R
8d382e49fb Big Large Lua Hooklib Refactor
* Hooks are no longer a mess of lua boiler plate. Helper functions reduce hooks
  to, at the most basic level, only two calls.
* Lua tables (the array part) are used to index hooks. Such tables contain only
  hooks of the same type.
* Hook types are defined in one place so you no longer need to sync up the enum
  and name array.
2020-12-10 00:36:41 -08:00
Nev3r
4d716cb170 Move the numerical arg check below so that the string gets checked first (who decided to give them such similar names anyway). 2020-12-01 19:44:58 +01:00
Nev3r
30ab512c3c Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2 into udmf-fofs-mkii
# Conflicts:
#	src/dehacked.c
2020-12-01 18:56:42 +01:00
Nev3r
c8ae28bbaf Follow GZDoom's convention for stringargs. 2020-12-01 18:35:24 +01:00
Jaime Ita Passos
2e21168395 Free GPU textures when adding a file 2020-11-22 18:23:35 -03:00
Jaime Ita Passos
0645c642d2 Improve GPU texture management. 2020-11-22 18:18:26 -03:00
Jaime Ita Passos
5e890ee6f8 Merge branch 'next' into spritestuff2 2020-11-19 00:52:43 -03:00
James R
d3199ac779 Fix one last instance of printing address diff 2020-11-14 16:18:54 -08:00
Nev3r
70512f11ff Merge branch 'udmf-multitag' into udmf-fofs-mkii and pray
# Conflicts:
#	src/p_floor.c
#	src/p_spec.c
2020-11-13 13:23:14 +01:00
Nev3r
7dd83285b8 Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2 into udmf-fofs-mkii 2020-11-12 14:30:24 +01:00
Nev3r
2c8a99f25a Add a level parameter to the iterators to account for nesting, and thus avoid variable shadowing. 2020-11-12 13:48:14 +01:00
Nev3r
95a61a226b rename TAG_ITER_C to TAG_ITER_DECLARECOUNTER and remove the semicolon from the macro. 2020-11-10 12:22:55 +01:00
Nev3r
fb9432ae57 Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2 into udmf-multitag 2020-11-10 11:46:53 +01:00
James R
bbd003976b Merge branch 'write-thingies' into 'next'
The lump is not needed for P_WriteThings

See merge request STJr/SRB2!1231
2020-11-08 20:35:51 -05:00
LJ Sonic
9b151ca45c Merge branch 'resend-gamestate' into 'next'
Resend gamestate when resynching

See merge request STJr/SRB2!829
2020-11-07 13:14:32 -05:00
James R
37931fc253 The lump is not needed for P_WriteThings 2020-11-01 19:31:10 -08:00
Monster Iestyn
5241b83f97 Fix seg->length and flength not being set at all for UDMF maps 2020-10-28 19:36:03 +00:00
Nev3r
3d2d44bfff Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2 into udmf-fofs-mkii
# Conflicts:
#	src/p_user.c
2020-10-27 22:23:30 +01:00
Nev3r
c62ef355ef Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2 into udmf-multitag
# Conflicts:
#	src/lua_baselib.c
#	src/lua_maplib.c
2020-10-27 20:48:25 +01:00
Louis-Antoine
804ad44e89 Fix music resetting after reloading the gamestate 2020-10-27 20:22:15 +01:00
Louis-Antoine
50d2c95470 Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2.git into resend-gamestate 2020-10-24 16:21:44 +02:00
Jaime Passos
70ada935ec Don't free PU_HWRCACHE and PU_HWRCACHE_UNLOCKED memory tags in HWR_ClearAllTextures.
Probably fixes a random annoying crash around that function.
(I was also suspecting renderer switching was doing other slightly weird stuff.)
2020-10-15 14:31:16 -03:00
sphere
a2ff89f007 Make record attack's quick retry more consistent. 2020-10-14 17:39:23 +02:00
Jaime Passos
cc97e22e2f Changes to sprite rendering:
- Added render flags (see r_defs.h)
- Implemented floor splats
- Drop shadow sprite rendering through render flags
2020-10-12 00:13:22 -03:00
Jaime Passos
6e5f71dd45 Refactor patch rotation 2020-10-10 18:43:26 -03:00
Jaime Passos
b15bbd505c Merge branch 'next' into patch-stuff-again-2 2020-10-10 17:01:10 -03:00
sphere
f210316d8a Only set MV_MP in multiplayer or a netgame. 2020-10-06 19:06:06 +02:00
sphere
48ca58f580 Don't count demo playback as visiting a level. 2020-10-06 16:49:53 +02:00
SteelT
a033f482be Merge branch 'pictureformats' into 'next'
PNG conversion refactoring

See merge request STJr/SRB2!675
2020-09-10 15:58:18 -04:00
Jaime Passos
dcaad758f4 Improved memory management for patches 2020-09-07 02:23:07 -03:00
Jaime Passos
92c4993d67 Introduce Doom patch format into picture formats
Fixes sprite rotation
2020-08-15 21:52:01 -03:00
Jaime Passos
9b426b474c Merge branch 'pictureformats' into patch-stuff-again-2 2020-08-15 20:48:28 -03:00
Jaime Passos
8863e13fde Rename R_CheckIfPatch 2020-08-15 20:14:36 -03:00
Nev3r
b15c760dc2 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2/ into udmf-multitag 2020-08-15 13:44:59 +02:00
Jaime Passos
78cc4a78d0 Refactor renderer switching 2020-08-14 22:27:16 -03:00
Louis-Antoine
9dd5c11322 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into resend-gamestate
# Conflicts:
#	src/d_clisrv.c
#	src/d_clisrv.h
#	src/d_net.c
#	src/p_saveg.c
#	src/p_saveg.h
2020-08-13 13:53:10 +02:00
James R
a808294c0c Merge branch 'kill-cd-support' into 'next'
Kill CD support

See merge request STJr/SRB2!1102
2020-08-09 20:48:25 -04:00
James R
8394bf6055 Merge branch 'opengl-skydome-fixes' into 'next'
Move the sky dome code out of r_opengl.c, fix issues with shaders

See merge request STJr/SRB2!1071
2020-08-09 20:45:01 -04:00
Steel Titanium
dff0e87e03 Kill CD support 2020-08-07 17:06:19 -04:00
Nev3r
586dc0b631 Merge branch 'next' into udmf-fofs-mkii 2020-07-30 12:39:25 +02:00
Nev3r
c65ada7dd7 Merge branch 'next' into udmf-multitag
# Conflicts:
#	src/hardware/hw_main.c
2020-07-29 13:55:14 +02:00
Nev3r
6dfe236602 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
Jaime Passos
ca060a4372 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into pictureformats 2020-07-21 22:25:00 -03:00
Steel Titanium
05ac0fc7ea Fix muspostbossname sometimes returning garbage. 2020-07-19 13:47:33 -04:00
Jaime Passos
48a6652973 Move the sky dome code out of r_opengl.c, fix issues with shaders 2020-07-17 02:48:05 -03:00
Nev3r
d1db5ebf56 Merge branch 'udmf-next' into udmf-fofs-mkii 2020-07-13 09:34:32 +02:00
toaster
0a625d3e19 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
9f06903d72 What the fuck was I thinking?
Fixed really stupid brainless code piece involving polyobject spawnpoint tagging.
2020-07-11 11:01:05 +02:00
Nev3r
ad55f5f872 Merge branch 'udmf-next' of https://git.magicalgirl.moe/STJr/SRB2/ into udmf-multitag
# Conflicts:
#	src/hardware/hw_main.c
#	src/p_ceilng.c
#	src/p_floor.c
#	src/p_mobj.c
#	src/p_mobj.h
#	src/p_polyobj.c
#	src/p_saveg.c
#	src/p_setup.c
#	src/p_spec.c
#	src/p_spec.h
#	src/p_user.c
#	src/r_bsp.c
#	src/r_defs.h
2020-07-10 18:18:07 +02:00
Nev3r
710097a0ca Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2/ into udmf-next 2020-07-10 11:47:16 +02:00
Jaime Passos
7911deebf8 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into pictureformats 2020-07-06 19:29:14 -03:00
Nev3r
fd5b05cafc Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2/ into udmf-next 2020-07-06 11:13:27 +02:00
Jaime Passos
4f6420274f Remove Software tricks 2020-07-06 01:26:56 -03:00
LJ Sonic
17616967d3 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
186335c2ac 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
ff8759e507 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
3f3ff0688b Add support for saving/loading per-skin NiGHTS replays 2020-06-28 16:59:36 -04:00
James R
335fc0b327 Use levelflat->name instead of flatname 2020-06-27 14:30:41 -07:00
toaster
f258131e55 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
067d9b9a63 Merge remote-tracking branch 'origin/next' into gtr-fixes 2020-06-24 19:31:19 -07:00
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
SteelT
bff6b19056 Merge branch 'marathonmode' into 'next'
MARATHON RUN

See merge request STJr/SRB2!941
2020-06-17 19:36:10 -04:00
MascaraSnake
88aad41310 Remove unnecessary options from quicksand FOF again 2020-06-12 18:22:16 +02:00
MascaraSnake
06b581dcdf Trim down options for the bobbing FOF preset types 2020-06-12 17:48:43 +02:00
MascaraSnake
5f9af65aa0 Revamp alpha setup for the remaining FOFs 2020-06-12 16:45:18 +02:00
MascaraSnake
6521496d8a Revamp alpha setup for bobbing FOFs 2020-06-12 10:53:27 +02:00
MascaraSnake
3317827151 Revamp alpha setup for bustable FOFs 2020-06-12 10:31:26 +02:00
MascaraSnake
f4e28f5cc4 Revamp alpha setup for quicksand FOFs 2020-06-12 10:23:16 +02:00
MascaraSnake
cc6820187c Handle splat flag for laser FOFs 2020-06-12 10:17:52 +02:00
MascaraSnake
cadb03fd12 Revamp alpha setup for laser FOFs 2020-06-12 10:03:27 +02:00
MascaraSnake
d6a104f8a5 Revamp alpha setup for custom FOFs 2020-06-12 09:57:56 +02:00
MascaraSnake
ac549eddeb Revamp alpha setup for crumbling FOFs 2020-06-12 09:28:41 +02:00
MascaraSnake
1ad8f75538 Revamp alpha setup for water FOFs 2020-06-12 09:00:06 +02:00
MascaraSnake
9dbfa28dbc Merge branch 'udmf-next' into udmf-fofs-mkii
# Conflicts:
#	extras/conf/udb/Includes/SRB222_linedefs.cfg
#	src/p_setup.c
2020-06-09 09:50:02 +02: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
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
371a1851e3 Polyobject waypoint movement: Prevent infinite loop if all waypoints are in the same location 2020-05-16 10:24:06 +02:00
Jaime Passos
1a79f6246d Merge remote-tracking branch 'origin/next' into pictureformats 2020-05-15 01:34:54 -03: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
MascaraSnake
02c2aeb46a Merge branch 'udmf-next' into udmf-fofs-mkii 2020-05-13 16:23:36 +02:00
MascaraSnake
d3ec12c842 Merge branch 'udmf-next' into executordelay
# Conflicts:
#	src/p_spec.c
2020-05-13 09:55:25 +02:00
MascaraSnake
d708789c3a Store waypoints (for zoom tubes, rope hangs, polyobjects) explicitly 2020-05-12 23:50:30 +02:00
Jaime Passos
39c5ab4e17 Merge remote-tracking branch 'origin/next' into gtr-fixes 2020-05-09 17:12:52 -03:00
MascaraSnake
df3ca712d8 Move polyobject crush option to the first line args 2020-05-04 23:27:26 +02:00
MascaraSnake
8c36b9efa5 Adapt basic PolyObject setup to UDMF 2020-05-04 22:40:49 +02:00