Commit graph

919 commits

Author SHA1 Message Date
Zachary McAlpin
291479e3e8 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-06-09 19:54:47 -05:00
mazmazz
46b383acda CMAKE: Fix toggle fullscreen breakage due to missing define
This is lazy. The correct solution is to eliminate the define in the program code
2020-06-09 17:32:14 -04:00
Steel Titanium
3dd89f67fa Fix no previous prototype for TimeFunction 2020-06-08 19:56:24 -04:00
Steel Titanium
62d73968e2 Merge branch 'next' into sal-oglshaderport 2020-06-08 19:36:23 -04:00
mazmazz
01ff46326f Merge remote-tracking branch 'stjr-gl/master' into cmake-adjustments 2020-06-08 11:57:57 -04:00
Lachlan Wright
590dfca582 Merge branch 'fix-continuing-mouse' into 'next'
Fix mouse being grabbed in continue screen

See merge request STJr/SRB2!983
2020-06-08 05:25:24 -04:00
mazmazz
efba50c83c CMAKE: Add SRB2_DEBUG_INSTALL to toggle *.debug in install/package 2020-06-08 00:38:13 -04:00
mazmazz
a5f7f9a534 Fix OPENMPT deprecation error, openmpt_module_ctl_set 2020-06-08 00:09:29 -04:00
mazmazz
ded6285249 CMAKE improvements: optional asset install; exe.debug for RelWithDebInfo 2020-06-08 00:01:15 -04:00
mazmazz
a449fa4a1d Added SDL Mixer X to CMAKE (Windows only) 2020-06-08 00:01:15 -04:00
Zachary McAlpin
78014cfd4c Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-06-07 22:42:43 -05:00
Hannu Hanhi
abe13651d0 OpenGL draw call batching system 2020-06-07 21:20:52 +03:00
Hannu Hanhi
da98ea242e Merge remote-tracking branch 'upstream/next' into shaders-224-next-merge 2020-06-07 20:01:05 +03:00
sphere
82200d80a9 Fix mouse being grabbed in the continue screen. 2020-06-07 00:40:33 +02:00
Monster Iestyn
28550b221a Merge branch 'master' into next 2020-06-06 20:50:12 +01:00
Monster Iestyn
d2fefb6b9a use void rather than VOID, because the logging init code isn't exclusively Win32, whoops 2020-06-06 20:49:12 +01:00
Monster Iestyn
7e562a3ca5 Merge branch 'master' into next 2020-06-06 20:35:48 +01:00
Monster Iestyn
982d1db5d8 Merge branch 'cppcheck-fixes' into 'master'
Cppcheck fixes

See merge request STJr/SRB2!967
2020-06-06 15:28:48 -04:00
Monster Iestyn
a4d7ff3c6d Merge branch 'master' into next 2020-06-06 17:39:43 +01:00
Monster Iestyn
56b8ea3587 added liolib.c to the VC10 project files, since it was missing from them 2020-06-06 17:38:35 +01:00
Monster Iestyn
cb7423b97e sdl/i_main.c: while we're here, split all the logging initialisation code into a separate function, to make main function more clean 2020-06-03 20:47:49 +01:00
Monster Iestyn
bb1a2dbba7 sdl/i_main.c: fix wrong placement of #endif for LOGMESSAGES code 2020-06-03 20:47:49 +01:00
LJ Sonic
715cb857f5 Merge branch 'next' into 'better-download'
# Conflicts:
#   src/sdl/i_system.c
#   src/win32/win_sys.c
2020-06-01 08:16:53 -04:00
Zachary McAlpin
7bdea21435 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-05-29 15:32:59 -05:00
SwitchKaze
46191cade7 Update to 2.2.4 2020-05-22 16:47:51 -05:00
Louis-Antoine
db85c62c6f Allow resuming the most recent file transfer 2020-05-19 11:28:24 +02:00
Zachary McAlpin
530d0e3421 Remove redundant M_QuitResponse call 2020-05-18 14:56:10 -05:00
Zachary McAlpin
ed78d17ed3 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-05-18 14:50:58 -05:00
toaster
271c6d354b Re-order Marathon bar to be drawn before FPS and captions if applicable. 2020-05-15 13:39:27 +01:00
toaster
2aa542d2bf 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
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
James R
a80c7a26dd Wait for threads before SDL_Quit (lol) 2020-05-13 17:25:52 -07:00
James R
5fff4c35fc Create cond if it doesn't exist when signaling 2020-05-13 17:25:52 -07:00
Steel Titanium
ff8987f745 Support for http downloads
(cherry picked from commit 6fcc06bf72cf3b95c30f04919e807c7aaacec68d)

(cherry picked just the libcurl stuff)
2020-05-13 17:25:52 -07:00
James R
886bd34be5 Multithreading in my SRB2??? 2020-05-13 17:21:19 -07:00
MascaraSnake
9d06cb4be4 Merge branch 'fix-window-icon' into 'master'
Fix window icon being reset when switching renderers on non-Windows platforms

See merge request STJr/SRB2!898
2020-05-13 04:14:51 -04:00
James R
c52c8e0282 Update version names, SUBVERSION, MODVERSION 2020-05-11 14:41:36 -07:00
Monster Iestyn
3ce4c1b789 Fix logging on Mac
These fixes were suggested by Sveciaost on #mac-users on Discord
2020-05-10 16:47:01 +01: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
Hannu Hanhi
1b6e65b91c Implement I_GetTimeMicros without affecting I_GetTime behaviour details 2020-05-02 23:14:20 +03:00
Hannu Hanhi
64a153fdee Render stats 2020-05-02 23:13:08 +03:00
Zachary McAlpin
196c12549c Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-04-28 18:31:15 -05:00
Steel Titanium
e0f9b82544
Fix window icon being reset when switching renderers on non-Windows platforms 2020-04-26 18:46:43 -04:00
James R
fe9b933b97 Merge remote-tracking branch 'origin/master' into HEAD 2020-04-24 22:10:59 -07:00
Louis-Antoine
e4f2c1dc70 Fix mouse being grabbed in intermission and cutscenes 2020-04-24 18:33:35 +02:00
Zachary McAlpin
31b19f69a2 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-04-09 20:12:11 -05:00
James R
aca39d6210 Merge remote-tracking branch 'origin/master' into next 2020-04-09 17:04:04 -07:00
James R
2dfe276a73 Merge branch 'sdlglcontext' into 'master'
Only initialise OpenGL if the user intends to load it (for real this time)

See merge request STJr/SRB2!796
2020-04-09 19:51:20 -04:00
Zachary McAlpin
21353f1209 Screw merge conflicts 2020-03-24 20:38:46 -05:00
Monster Iestyn
7a585e2498 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
1a14234088 update Makefile, CMakeLists.txt and MSVC project files 2020-03-19 20:13:39 +00:00
Louis-Antoine
e3cbdf8fab Use HAVE_BLUA as fuel for my fireplace 2020-03-19 18:36:14 +01:00
Zachary McAlpin
569034d3a9 Call LUAh_GameQuit in I_GetEvent in if the event is SDL_Quit and if you are in a playing session
Time for the ultimate testing to see if I get any undefined reference compiling errors
2020-03-15 10:47:55 -05:00
Zachary McAlpin
8b7f93d50a Revert "Let's just call LUAh_GameQuit in I_Quit anyways"
This reverts commit 7c65577336.
2020-03-15 10:33:24 -05:00
Zachary McAlpin
7c65577336 Let's just call LUAh_GameQuit in I_Quit anyways 2020-03-15 00:39:46 -05:00
Zachary McAlpin
b067d1e134 Revert "Call `LUAh_GameQuit` in 2 places."
This reverts commit a329ca43ba.
2020-03-15 00:08:57 -05:00
Zachary McAlpin
a329ca43ba Call `LUAh_GameQuit` in 2 places. 2020-03-15 00:53:05 -04:00
fickleheart
b9d7b3e5c5 Merge remote-tracking branch 'upstream/master' into shaders-222
# Conflicts:
#	src/hardware/r_opengl/r_opengl.c
#	src/i_video.h
#	src/r_main.c
#	src/r_main.h
#	src/screen.c
#	src/sdl/i_video.c
#	src/sdl/ogl_sdl.c
#	src/w_wad.c
2020-03-14 12:52:15 -05:00
Monster Iestyn
37ecb47436 update Makefile, CMakeLists.txt and MSVC project files 2020-03-08 19:48:23 +00:00
Jaime Passos
26e367eb9b Merge remote-tracking branch 'origin/next' into pictureformats 2020-03-07 20:43:16 -03:00
SteelT
7d14796954 Merge branch 'fix-ogllib' into 'master'
Fix -OGLlib

See merge request STJr/SRB2!794
2020-03-02 15:21:50 -05:00
SwitchKaze
6415e10216 Merge branch 'next' of https://github.com/STJr/SRB2 into next-luacolors 2020-02-23 11:50:13 -05:00
Steel Titanium
1c1163bd0f Update version number to 2.2.2 2020-02-22 16:37:13 -05:00
James Hale
56b67a3b4f Custom skincolors 2020-02-21 21:56:39 -05:00
James R
7060083db5 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
Jaime Passos
2893803c68 Merge remote-tracking branch 'origin/next' into pictureformats 2020-02-19 02:25:36 -03:00
Jaime Passos
8bd5193ee0 Merge remote-tracking branch 'origin/master' into sal-oglshaderport 2020-02-19 00:55:46 -03:00
Jaime Passos
d3abf5dcfa Set the palette :) 2020-02-17 22:31:34 -03:00
Jaime Passos
bef6cb532b Fix what !785 tried to fix, but correctly 2020-02-17 21:58:32 -03:00
Jaime Passos
e53a17bb52 Rename stuff around 2020-02-17 21:11:56 -03:00
Jaime Passos
00bdb41640 Merge remote-tracking branch 'origin/master' into sal-oglshaderport 2020-02-17 12:28:16 -03:00
Jaime Passos
cac5f9d171 add -nogl parm 2020-02-17 12:14:51 -03:00
Jaime Passos
8da832986c Don't center the window when changing renderers 2020-02-17 01:15:18 -03:00
Jaime Passos
04ee6ca12c Don't call HWR_Switch twice 2020-02-17 01:15:11 -03:00
Jaime Passos
7ddad9c9ec Remove redundant check 2020-02-17 01:15:04 -03:00
Jaime Passos
3fa4db891f Always load the GL library! 2020-02-17 01:13:13 -03:00
Jaime Passos
07afd7520f Only initialise OpenGL if you actually intend to use it. 2020-02-17 01:12:53 -03:00
Jaime Passos
6c5db5f462 Missing comment 2020-02-17 01:08:55 -03:00
Jaime Passos
cca3665525 Fallback to Software if the renderer version doesn't match 2020-02-17 01:08:41 -03:00
Jaime Passos
b6089ccdaf Fix -OGLlib 2020-02-17 01:08:15 -03:00
Jaime Passos
9e83e2751d Clear setrenderneeded after calling VID_CheckRenderer 2020-02-17 00:36:10 -03: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
Jaime Passos
68f4d415fe Merge remote-tracking branch 'origin/next' into sal-oglshaderport 2020-02-01 23:02:15 -03:00
Jaime Passos
af7b4795b7 port pfnUpdateTexture 2020-01-28 00:16:38 -03:00
Jaime Passos
bdd43efb25 Fix -OGLlib 2020-01-27 01:57:55 -03:00
Jaime Passos
1755c240bf Fix the gl_leveltime problem, I guess.
This is probably superfluous.
2020-01-23 21:25:54 -03:00
Louis-Antoine
512435c59f Fix mouse in controls setup menu 2020-01-18 20:18:20 +01:00
Sally Cochenour
a35a2c81e2 Fix errors 2020-01-07 19:30:09 -05:00
Jaime Passos
f85476c723 Move texture stuff to its own file 2020-01-07 12:35:10 -03:00
Sally Cochenour
ca5b56181b Merge next 2020-01-07 07:35:39 -05:00
Jaime Passos
a1af6b9134 Picture formats test 2020-01-06 18:22:23 -03:00
Louis-Antoine
e847777a35 Fix mouse being grabbed even when not used
The other way around this time.
2020-01-06 00:40:28 +01:00
Louis-Antoine
88c8049c77 Revert "Fix mouse being grabbed even when not used"
This reverts commit 6c85c4e1d3.
2020-01-06 00:38:40 +01:00
Louis-Antoine
6c85c4e1d3 Fix mouse being grabbed even when not used 2020-01-05 18:39:16 +01:00
Louis-Antoine
49934007d7 Add a "alwaysgrabmouse" console variable 2020-01-03 00:25:58 +01:00
Louis-Antoine
e0e5e83869 Revert "Ungrab mouse when watching a record"
This reverts commit 17636ccc01.
2020-01-02 20:29:51 +01:00
Louis-Antoine
3af00ac93e Minor code refactoring 2020-01-02 00:47:20 +01:00
Louis-Antoine
17636ccc01 Ungrab mouse when watching a record 2020-01-02 00:46:50 +01:00
Louis-Antoine
5bde4df439 Grab mouse again when closing menu, unpausing, etc 2020-01-02 00:45:28 +01:00
Louis-Antoine
62397a36ec Grab mouse on game startup 2020-01-02 00:38:43 +01:00
Louis-Antoine
caadf6aa61 Let the mouse move freely when a menu is open or game is paused
That means you can now easily move your mouse out of SRB2's window
and switch between several windows easily by just pressing escape!

Any phase of the game that isn't actual gameplay counts as a menu,
which means you can also move the mouse in cutscenes,
at the title screen, server connection screen,
and even when the chat or console are open.
2020-01-01 13:29:07 +01:00
James R
782bf8d31e Fix NOMIXER compiling 2019-12-30 20:08:29 -08: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
Sally Cochenour
a66fb15ff2 Merge branch 'next' into oglshaderport 2019-12-28 13:58:41 -05:00
Alam Ed Arias
0caa08defd fread and fwrite use size_t, not int 2019-12-27 13:08:26 -05:00
Alam Ed Arias
ff004c4cf6 we only need link on unix systems 2019-12-27 13:05:15 -05:00
James R
e19d0877e8 Merge branch 'time' into 'master'
haha log files

See merge request STJr/SRB2!567
2019-12-26 21:43:46 -05:00
Sally Cochenour
da3d5a0184 Merge next 2019-12-25 14:41:31 -05:00
Sally Cochenour
7851bef929 Port of Jimita's shader stuff + my lighting shader
Co-Authored-By: Jaime Passos <jimita@users.noreply.github.com>
2019-12-25 14:22:01 -05:00
Jaime Passos
03a3b02301 Merge remote-tracking branch 'origin/master' into renderswitch 2019-12-25 05:43:46 -03:00
James R
e0a20a733c Merge branch 'gl_gifs' into 'master'
OpenGL GIF movie recording

See merge request STJr/SRB2!549
2019-12-24 14:44:44 -05:00
James R
be063c454a Fix NOPNG compiling 2019-12-24 11:37:37 -08:00
James R
9d28351b5c I'm an idiot 2019-12-24 11:14:21 -08:00
James R
d1f12347cc Merge remote-tracking branch 'origin/master' into time 2019-12-24 11:02:31 -08:00
James R
b7b4945c36 Correct usage of logdir 2019-12-24 01:59:05 -08:00
James R
f2c2836301 Overwrite an already existing symlink 2019-12-24 01:55:47 -08: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
James R
98cb238d36 Create directories from -logfile too 2019-12-23 17:43:42 -08:00
James R
5fbe77cdda Let an asbolute path work with -logfile 2019-12-23 17:40:43 -08:00
James R
457e986b75 -logdir lets the user change the log directory 2019-12-23 17:21:58 -08:00
James R
c285000c56 Change default log filename to not use a space
bleh
2019-12-23 15:34:27 -08:00
James R
d9d13764e6 -logfile to let the user change the log file name 2019-12-23 15:31:50 -08:00
Jaime Passos
5c8604aeb7 Merge remote-tracking branch 'origin/master' into renderswitch 2019-12-19 17:09:47 -03:00
Alam Ed Arias
a66fd274a1 Merge remote-tracking branch 'origin/master' into srb2-release-220-deployer 2019-12-19 10:24:04 -05:00
Jaime Passos
79daafd893 Fix missing "-" prefix on "-software" cmdline parm 2019-12-17 18:04:05 -03:00
Jaime Passos
cc54163210 Merge remote-tracking branch 'origin/master' into renderswitch 2019-12-17 16:12:44 -03:00
Jaime Passos
3d08664de4 Merge remote-tracking branch 'sonicteamjuniorheadquarters/master' into gl_gifs 2019-12-17 15:14:22 -03:00
Eidolon
11f5911943 [cmake] Use same executable names as Makefile 2019-12-15 00:39:04 -06:00
James R
14674223e8 Merge branch 'opengl-is-a-bad-renderer' into 'master'
OpenGL fixes

See merge request STJr/SRB2!519
2019-12-14 16:48:50 -05:00
James R
8a23ff0bc8 Handle log file in parent properly 2019-12-13 16:51:49 -08:00
James R
553ad46c74 Add this back for Windoodoo because I'm an idiot 2019-12-13 15:04:31 -08:00
Jaime Passos
6720279969 Separate non-powers-of-two draw routines into its own file 2019-12-13 13:11:56 -03:00
James R
8bea7f6dbc Rename signal caught message to be more obvious 2019-12-12 22:01:16 -08:00
James R
838850ffc1 Fix signal handler setup error reporting 2019-12-12 21:57:54 -08:00
James R
35053adfb2 Rename I_StartupKeyboard to I_RegisterSignals and call it in a sane place 2019-12-12 21:30:35 -08:00
James R
72ee91702c Kill child when wait fails, so I_Error exits both 2019-12-12 21:21:25 -08:00
James R
f34886850f Fix idiot mistake 2019-12-12 21:20:51 -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
James R
0ff421d001 Move I_ShutdownConsole to I_ShutdownSystem 2019-12-11 22:10:22 -08:00
Jaime Passos
c578cee0b1 Merge remote-tracking branch 'sonicteamjuniorheadquarters/master' into gl_gifs 2019-12-12 01:39:46 -03:00
Jaime Passos
9248f12d55 Merge remote-tracking branch 'origin/master' into renderswitch 2019-12-10 23:01:10 -03:00
Jaime Passos
5c02bc59db Speed up level loading
Don't flush every texture just because the palette MAY have changed
2019-12-08 22:28:13 -03:00
Jaime Passos
c6769e7220 Die 2019-12-08 22:12:56 -03:00
mazmazz
0d41a55071 Deployer fixes for 2.2.0 2019-12-07 13:56:05 -05:00
Steel Titanium
5f9f255f77
Correct comment 2019-12-06 17:10:14 -05:00
MascaraSnake
a3549cc8f2 Merge branch 'datestuff' into 'master'
Date stuff

See merge request STJr/SRB2Internal!618
2019-12-06 16:10:36 -05:00
Alam Ed Arias
1f183e1c1f Not dealing with size_t mess with SDL code 2019-12-06 14:42:47 -05:00