Commit graph

782 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
MascaraSnake
6e7373a475 Merge branch 'next' into udmf-next 2020-05-04 20:32:56 +02:00
MascaraSnake
f26648e6f2 Adapt linedef executor delay to UDMF 2020-05-03 20:41:37 +02:00
MascaraSnake
7fec1211fd Bugfix in XGL3 ZNODES parsing 2020-05-03 19:28:52 +02:00
MascaraSnake
700b340827 Allow map-wide gravity to be set via level header 2020-05-03 18:33:18 +02:00
MascaraSnake
4b87bee759 Add level header options for setting special stage time and spheres requirements 2020-05-03 17:56:49 +02:00
MascaraSnake
485a4e5035 Remove POLYOBJECTS and POLYOBJECTS_PLANES defines 2020-05-02 12:08:31 +02:00
Nev3r
9ebb4071ee Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2/ into udmf-multitag
# Conflicts:
#	src/p_floor.c
#	src/p_mobj.c
#	src/p_spec.c
#	src/r_segs.c
2020-04-25 10:47:45 +02:00
MascaraSnake
3170f2b8c3 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
d1d006a1a7 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
4ef8093e92 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
f85bfc87f5 Move variable declarations outside of for loops. 2020-04-22 23:17:18 +02:00
sphere
e26788d014 Fix variable-length array definition, just in case. 2020-04-22 23:10:43 +02:00
sphere
01a1297631 Make P_SpawnEmeraldHunt even more concise, using Fisher-Yates shuffle. 2020-04-22 22:46:12 +02:00
sphere
b254cb186b Fix a mistake with P_SpawnEmeraldHunt and make it more concise. 2020-04-22 20:38:58 +02:00
sphere
25affe6948 Make emerald hunt shards spawn at correct heights, and add Float option. 2020-04-22 18:58:40 +02:00
Nev3r
ab7690346d Merge branch 'udmf-thingargs' into udmf-multitag
# Conflicts:
#	src/doomdata.h
#	src/lua_mobjlib.c
#	src/p_setup.c
2020-04-22 10:54:27 +02:00
Nev3r
de3ad9bc43 Merge branch 'udmf-next' into udmf-multitag
# Conflicts:
#	src/doomdata.h
#	src/p_setup.c
2020-04-22 09:11:17 +02:00
Nev3r
1afb0eb79f Initialize pitch and roll on textmap mapthings too. 2020-04-22 09:00:29 +02:00
Nev3r
188ad67c58 Merge branch 'udmf-next' into udmf-thingargs
# Conflicts:
#	src/p_setup.c
2020-04-22 08:58:40 +02:00
Nev3r
3d9d9d74f6 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
f6e2c7063f Rename lumpinfo_t.name2 to lumpinfo_t.fullname 2020-04-20 23:40:41 +02:00
Nev3r
5c605a8a39 Merge branch 'udmf-next' into udmf-multitag 2020-04-20 09:05:55 +02:00
Nev3r
7cf08e1a08 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
ca10b38b9c Add textmap pitch and roll parsing, and mobj pitch and roll variables. 2020-04-19 14:51:55 +02:00
MascaraSnake
09506112d7 Add enums to encapsulate the textmap colormap settings 2020-04-18 17:15:25 +02:00
MascaraSnake
f0c63ce76a Merge branch 'udmf-next' into udmf-argenums 2020-04-18 16:56:21 +02:00
MascaraSnake
111da04b07 Add enums to encapsulate the textmap slope settings 2020-04-18 16:55:56 +02:00
Nev3r
ffc161e2aa Merge branch 'udmf-next' into udmf-multitag
# Conflicts:
#	src/p_spec.c
2020-04-18 14:04:15 +02:00
Nev3r
2b2a18fdf1 Merge branch 'udmf-colormaps' into 'udmf-next'
UDMF colormaps

See merge request STJr/SRB2!855
2020-04-18 07:42:24 -04:00
Nev3r
aa0d76f8fa Delete tags. 2020-04-18 00:23:24 +02:00
Nev3r
e87ad0fb38 Delete old taglists. 2020-04-18 00:05:55 +02:00
MascaraSnake
fd598f315e Add an enum for crumblestate 2020-04-17 23:54:37 +02:00