Commit Graph

217 Commits

Author SHA1 Message Date
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
James R c52c8e0282 Update version names, SUBVERSION, MODVERSION 2020-05-11 14:41:36 -07:00
Monster Iestyn baee6a1d57 Update version number to 2.2.3 in all the usual files, also updated MODVERSION 2020-05-10 16:02:23 +01:00
MascaraSnake 485a4e5035 Remove POLYOBJECTS and POLYOBJECTS_PLANES defines 2020-05-02 12:08:31 +02:00
James R 536fb1ef2a Merge remote-tracking branch 'origin/master' into next 2020-04-18 17:20:33 -07:00
fickleheart f32ab5918e Define SERVER_URL_PROTOCOL const for easy reconfiguration 2020-03-21 07:47:29 -05:00
Louis-Antoine 892a8dd6e7 Make SRB2 flat like Earth 2020-03-20 18:55:29 +01:00
Steel Titanium 03e38e9486 Enable use of the patch file 2020-02-22 16:42:24 -05:00
Steel Titanium 1c1163bd0f Update version number to 2.2.2 2020-02-22 16:37:13 -05:00
Steel Titanium 76f26cda24 Merge branch 'master' into next 2020-02-21 21:01:29 -05:00
James R 7060083db5 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
Steel Titanium f0e2ba9e6a Merge branch 'next' into the-colors-feel-so-right 2020-02-18 14:29:50 -05:00
Steel Titanium 0299f21dc7 Merge branch 'next' into the-colors-feel-so-right 2020-02-16 22:56:27 -05:00
fickleheart c4b390bc76 Merge remote-tracking branch 'upstream/master' into viewroll 2020-02-16 21:32:57 -06:00
Steel Titanium d9e2256a3c Add six new skin colors 2020-02-14 22:30:37 -05:00
Monster Iestyn f1bdaa2fda Updated version number to 2.2.1, increment MODVERSION.
Also updated CMakeLists.txt, appveyor.yml and this one Xcode project file as usual
2020-02-05 19:55:40 +00:00
fickleheart 2b7d75126e Add DBG_VIEWMORPH to view pre-transformed view 2020-01-17 20:39:15 -06:00
Alam Ed Arias b97b9ac7a8 Merge branch 'master' into next 2020-01-16 20:18:54 -05:00
James R f8666d6cee Merge branch 'word' into 'master'
Word jumping

See merge request STJr/SRB2!653
2020-01-16 20:05:12 -05:00
Alam Ed Arias 709489cab8 Merge branch 'master' into next 2020-01-16 12:08:36 -05:00
Monster Iestyn 1643e6623d whoops, forgot to do this 2020-01-11 20:24:43 +00:00
Monster Iestyn 9c8988ab57 Don't make locale code dependent on GETTEXT, save that for the actual gettext related stuff! 2020-01-11 18:48:47 +00:00
James R 702b23ec3f Put the word jumping code in functions 2020-01-08 12:58:19 -08:00
MascaraSnake 7b5f2f09c0 Merge branch 'textmap-parser' into 'next'
Textmap parser

See merge request STJr/SRB2!604
2020-01-03 04:14:38 -05:00
James R fc8c0f8a9a Merge remote-tracking branch 'origin/master' into next 2019-12-30 13:16:53 -08:00
James R 80bb6fe7a0 Merge branch 'modid' into 'next'
Put a mod name in SERVERINFO

See merge request STJr/SRB2!577
2019-12-30 15:41:08 -05:00
James R 5e5f3c4fa7 Merge branch 'renderswitch' into 'master'
Renderer switching

See merge request STJr/SRB2!550
2019-12-30 15:36:17 -05:00
Nev3r aaef412823 Add basic textmap support; currently crashes when trying to free the virtres, at vres_free(). 2019-12-30 11:33:22 +01:00
Alam Ed Arias 94bb6655a5 Merge branch 'master' into next 2019-12-27 17:08:16 -05:00
Jaime Passos c0390f5186 Merge remote-tracking branch 'origin/next' into rotsprite2 2019-12-26 20:27:29 -03:00
James R 6bd383621e More fine tuned versioning
You get a PACKETVERSION, for when some packets change format.

You get SRB2APPLICATION, for when you have big fucking mod.
2019-12-25 20:52:02 -08:00
Jaime Passos 03a3b02301 Merge remote-tracking branch 'origin/master' into renderswitch 2019-12-25 05:43:46 -03:00
James R 9defd997c3 Merge branch 'fixsignalhandler' into 'master'
Handle signals correctly on linux

See merge request STJr/SRB2!530
2019-12-24 02:54:44 -05:00
James R 25525a6aae symlink latest-log.txt on nix, copy to the real log file everywhere else 2019-12-23 18:20:04 -08:00
Jaime Passos aff5b52eba change ROTANGLES to 72 2019-12-17 13:39:26 -03:00
Jaime Passos 6a5ea548e6 make ROTANGLES be 360 2019-12-17 13:00:50 -03:00
James R 8a23ff0bc8 Handle log file in parent properly 2019-12-13 16:51:49 -08:00
James R 6dcdb8d951 Move everything to i_system.c
This also simplifies things; SDL isn't initialized in the parent process.
2019-12-12 15:08:27 -08:00
James R 7c383e4a1f nix: Fork before game code and wait to catch signals and coredumps
Ditched signal_handler to avoid worrying about async-signal-safe functions.
D_QuitNetGame is not called, so players whose programs are interrupted by a
signal will time out from the server. Because the game runs in a child process,
the window can close before the "Signal Caught" text box appears.

"(core dumped)" is also included in the message if core dumping could be
determined.
2019-12-11 23:46:57 -08:00
Jaime Passos 0652ffd67f Merge remote-tracking branch 'origin/master' into flats-in-walls 2019-12-11 21:53:47 -03:00
Jaime Passos 9248f12d55 Merge remote-tracking branch 'origin/master' into renderswitch 2019-12-10 23:01:10 -03:00
MascaraSnake 0d22970c78 Change versionstring to 2.2.0 2019-12-06 23:47:05 +01:00
MascaraSnake bf477c6ed4 Merge branch 'master' into nondevelop 2019-12-06 23:23:01 +01:00
Steel Titanium d415cd5c6d
Update copyright date on source files 2019-12-06 13:49:42 -05:00
toaster fd6ecb4425 Make modid 18 to match Rob's work. 2019-12-06 17:23:55 +00:00
toaster 1684cf76bd Make modversion 40 to match Rob's work. 2019-12-06 17:19:42 +00:00
toaster 9e38af7421 * Fix unintentional order-of-operations crash with non-DEVELOP executables (resolves #461).
* Update md5s.
* Update modversion.

TODO: Should we change MODID, given 2.0 apparently had a different MODID to 2.1?
2019-12-06 17:14:51 +00:00
Jaime Passos 1e4060af8c remove unused levelwipes 2019-11-18 19:22:46 -03:00
Jaime Passos c15ee65015 LEVELWIPES 2019-11-15 18:21:12 -03:00
Jaime Passos 10d1b63ff2 Merge remote-tracking branch 'origin/master' into rotsprite_i 2019-11-14 12:49:03 -03:00