Commit graph

608 commits

Author SHA1 Message Date
Zachary McAlpin
36d7ddeb09 Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2 into playercmd-kart-port 2020-10-06 02:07:05 -05:00
Lachlan Wright
05f4fb13fe Merge branch 'special-stage-respects-nextmapoverride' into 'next'
Make Special Stage map transitions respect nextmapoverride.

See merge request STJr/SRB2!1129
2020-09-27 22:42:07 -04:00
James R
c0abb2ca09 Don't let players change their name more than five times per minute
(ported 2948885660 and 4e9d006c37)
2020-09-22 12:04:28 -07:00
GoldenTails
ba4310939a Make Special Stage map transitions respect nextmapoverride.
In other words: lets Luas set the next map of Special Stages via G_SetCustomExitVars.
It's otherwise impossible to do so via Lua.
2020-08-26 23:22:53 -05:00
James R
0a85046b22 Merge branch 'bt_spin' into 'next'
Replace all occurances of BT_USE with BT_SPIN (2.2!)

See merge request STJr/SRB2!982
2020-08-09 21:03:17 -04:00
Zachary McAlpin
70fc6854b1 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into playercmd-kart-port 2020-07-30 15:37:41 -05:00
lachwright
12c622902f Make old analog functional again 2020-07-30 18:22:15 +08:00
James R
329bd3e36a Fix Credits sequence from Extras being unskippable
This is because a server is not started before going to the credits. I'm way
too stupid/lazy to try starting a server, so have a special case!
2020-07-24 03:58:38 -07:00
Zachary McAlpin
6877df94bc Ported Lat's PlayerCmd hook to vanilla SRB2 2020-07-17 00:08:38 -05:00
toaster
de1257d524 Two minor fixes for Marathon Mode.
* Apply the RTA penalty to the live event backup rather than the current timer. (Resolves #184)
* Snap the character name and timer mode text to the bottom of the screen, just above the bar.
2020-07-12 13:00:08 +01:00
GoldenTails
b3198ed063 Replace PF_USEDOWN with PF_SPINDOWN 2020-07-11 21:59:54 -05:00
GoldenTails
50fd9de9d8 Oops! Missed a couple... 2020-07-11 21:59:54 -05:00
GoldenTails
36e1c30e19 Replace all occurances of BT_USE with BT_SPIN (2.3?)
I'd use `next-major` but it doesn't exist lol
2020-07-11 21:59:54 -05:00
toaster
25564e5cf5 Merge branch 'marathoninfo' into 'next'
Marathon Run adjustments

See merge request STJr/SRB2!1048
2020-07-10 17:54:51 -04:00
toaster
7a8f44613c Introduce a live event backup penalty for non MA_INGAME runs, since the change to saving time causes problems for this. 2020-07-10 21:36:37 +01:00
toaster
1d0453c5d4 Fix the issue where custom exits with skipped intermission screens (notably, Black Core Zone 2 and 3) would cause the game to softlock when playing on a save file, or with a live event backup. 2020-07-10 20:30:16 +01: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
Steel Titanium
f891c6cde4 Add support for saving/loading per-skin NiGHTS replays 2020-06-28 16:59:36 -04: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
Lachlan Wright
5263b8cf63 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
LJ Sonic
aeeb6e1b02 Merge branch 'next' into 'fix-spawn-desynch'
# Conflicts:
#   src/p_map.c
2020-06-01 08:15:02 -04:00
lachwright
48f167d75c Merge branch 'next' into dashmode-fixes 2020-05-30 18:13:21 +08:00
Monster Iestyn
239b758cd1 Merge branch 'master' into next 2020-05-28 16:34:06 +01:00
Louis-Antoine
d886e35576 Fix potential desynch when a player spawns 2020-05-28 11:03:35 +02:00
mazmazz
0294f8d26a Fix NOWIPE bugs with colormap fade and title card 2020-05-25 00:20:23 -04:00
SwitchKaze
58cac1fd73 Make colors UINT16, increase color freeslots to 1024 2020-05-23 19:35:36 -05:00
toaster
76da8262e6 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
toaster
5495ea16aa * 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
7c97218284 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
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
sphere
4d9d125a99 Fix some errors and add some comments. Also, actnum is not an INT32. 2020-05-12 17:20:28 +02:00
Jaime Passos
a4d6addbca Merge remote-tracking branch 'origin/next' into gtr-fixes 2020-05-09 17:12:52 -03:00
lachwright
1568114d13 Dashmode fixes:
- Don't force the player's default normalspeed and jumpfactor while not in dashmode
- Properly trim the fuse for followmobj ghosts spawned during dashmode
- Add deliberate dashmode ghosts for Metal's jet fume
2020-05-01 08:26:23 +08:00
toaster
0f591967ff Disable continues outside of no-save/Ultimate by default, but allow SOC to re-enable them globally.
Please look at the merge request description for a full explanation, since I know the vanilla team has been hashing this out and I don't want to add fuel to the fire without at least presenting a solid case.
2020-03-26 20:16:44 +00:00
Monster Iestyn
ffb2674a6e Merge branch 'next' into demos-refactor
# Conflicts:
#	src/g_game.c

(also update g_demo.c)
2020-03-20 17:48:31 +00:00
Monster Iestyn
690ccb49d8 Create G_FreeGhosts, for the benefit of G_DeferedInitNew (assuming it actually needs to do ghosts = NULL; at all) 2020-03-19 20:42:51 +00:00
Monster Iestyn
ac7a71f85b Created g_demo.c/.h, for the demo recording and playback code that formerly lived in g_game.c 2020-03-19 20:09:55 +00:00
Louis-Antoine
46df2b9551 Use HAVE_BLUA as fuel for my fireplace 2020-03-19 18:36:14 +01:00
Steel Titanium
98be23e3c2 Merge branch 'master' into next 2020-03-18 15:42:02 -04:00
SteelT
f3a275930b Merge branch 'deadzone-sigfpe-fix' into 'master'
Fix division-by-0 crash from 100% gamepad deadzones, and lack of input from 0% deadzones

See merge request STJr/SRB2!838
2020-03-18 15:39:04 -04:00
SteelT
2e25a5b56d Merge branch 'viewpointswitch-fix' into 'next'
Fix incorrect newdisplayplayer in forced ViewpointSwitch

See merge request STJr/SRB2!814
2020-03-18 15:34:18 -04:00
Monster Iestyn
f3bfa2b1db Merge branch 'master' into next 2020-03-15 20:32:43 +00:00
Monster Iestyn
f186def0bf Include r_skins.h instead of r_things.h in many files where all they wanted from it was skins stuff
(oddly enough, this actually revealed some secret file dependencies previously included via r_things.h! I also needed to include d_player.h in r_skins.h itself it seems)
2020-03-09 13:54:56 +00:00
Zwip-Zwap Zapony
160b5b9b8e More gamepad deadzone tweakage 2020-03-04 21:44:57 +01:00
Zwip-Zwap Zapony
c2a7f0c98e Hotfix for 100% deadzone returning 0 input
It makes more sense for 100% deadzone to just make it so that
you have to push the axis all the way to trigger it,
rather than 100% deadzone resulting in no axis input
ever happening... So, let's make it be the former way instead
2020-03-04 21:11:55 +01:00
Zwip-Zwap Zapony
04921ab484 Fix division-by-0 crash with gamepad deadzones
Fix division-by-0 crash with gamepad deadzones
The problem was that it checked if A was more than B,
then lowered A to a max value, then subtracted B from A,
then divided something by that, without checking if A minus B was 0,
allowing division by 0 if B was the same as that max value

This fixes that by making sure that A is less than the max value
2020-03-04 17:31:52 +01:00
Jaime Passos
84f977ff7a Fix G_TOLFlag returning the wrong type 2020-03-02 00:20:53 -03:00