Commit graph

1139 commits

Author SHA1 Message Date
Nev3r
b978bc4507 Merge branch 'sw-tilted-npo2-span-opt' into 'next'
NPO2 slope span optimization

See merge request STJr/SRB2!1216
2021-05-29 09:30:58 -04:00
Hannu Hanhi
ac1b5ae546 OpenGL palette rendering and related things 2021-05-22 17:40:34 +03:00
Steel Titanium
a2667f4dc9 Merge branch 'master' into next 2021-05-11 20:08:44 -04:00
Hannu Hanhi
de37df1be0 OpenGL shader code rearrangement and shader pre-preprocessor 2021-05-11 01:13:28 +03:00
James R
87afa7655a CMake: fix ASM compile
- target_sources from correct directory
- enable_language must be used in add_executable directory
2021-05-07 18:59:51 -07:00
James R
ee72312dea Merge remote-tracking branch 'origin/master' into makefile-revision-final 2021-05-07 13:32:19 -07:00
LJ Sonic
07e69c5eb3 Add copyright date ranges for files created in 2020 2021-05-07 18:04:30 +02:00
LJ Sonic
d325c7e6d3 The year is 2021 2021-05-07 17:45:56 +02:00
James R
f9813844e7 Update CMakeLists.txt to use Sourcefiles
This establishes (near) parity of source code file lists
between the Makefile and CMakeLists.txt

To make that change I messed around CMakeLists.txt a bit.
It now uses target_sources and target_compile_definitions.
I also removed some MSVC stuff since we don't actually
care about MSVC--it made things easier.

CMake minimum version 3.0 -> 3.13 for target_sources.
2021-05-05 04:00:44 -07:00
James R
b31056c7d9 Rewrite Makefile to be modular as well as more automated
Some key points for programmers:
- Source code files are mostly listed in a 'Sourcefile'.
  So you no longer directly edit the object list. There
  can be multiple Sourcefiles and they can even live in
  subdirectories--the directory name will be prepended to
  every filename in the list. Of course, the Makefile
  still needs to be edited to read from each Sourcefile.
- Different rules are no longer required for source code
  files that live in subdirectories (such as sdl/ or
  hardware/). Subdirectories Just Work so go ham!

In addition to those points, another important change is
that the bin directory is no longer divided into platform
subdirectories (Linux64, Mingw, etc). Executables now go
directly into bin. If you use DEBUGMODE or target 64-bit,
then subdirectories for 'debug' and '64' will be made
though.

Oh by the way, I don't think make clean actually removed
files before on Windows. It should now. I also fixed as
many little inconsistencies like that as I noticed.

And now just an overview of the technical aspects that
shouldn't affect anyone who doesn't REALLY care about the
Makefile...

objs and dep directories have been moved to a make
directory. Makefile.cfg and its variants have been moved
out of their various subdirectories to src/Makefile.d
make distclean removes the bin and make directories
entirely, but make clean and cleandep still only affect
the current build target.

When I say automation, I mean that a lot of copy pasting
in the Makefile has been reduced.
2021-05-04 04:22:37 -07:00
James R
44d217807f Collect makefiles 2021-05-03 23:07:44 -07:00
Steel Titanium
7cd41a8eb7 Compile with -rdynamic on UNIXCOMMON platforms 2021-04-26 03:48:38 -04:00
SwitchKaze
eb2dc9e99b Mouse improvements 2021-04-02 15:46:08 -05:00
SwitchKaze
3faa98cf4a Expose inputs to Lua 2021-04-02 15:45:59 -05:00
Monster Iestyn
0d5284c36c Murder MSDOS, another of the remaining DOS port related macros
I also put in a missing `defined (__APPLE__)` in d_netcmd.h related to cv_mouse2opt

Also removed a redundant `!defined (__APPLE__)` in d_main.c
2021-03-30 19:27:10 +01:00
lachablock
36c2be283c Disallow write_backtrace on Windows entirely 2021-03-15 15:17:55 +11:00
LJ Sonic
0765004188 Merge branch 'print-backtrace' into 'next'
Print a backtrace when SRB2 crashes in a Unix-like environment.

See merge request STJr/SRB2!1288
2021-03-07 08:26:44 -05:00
Lachlan Wright
e03700fc2a Merge branch 'nogmever' into 'next'
Check if GME_VERSION is defined.

See merge request STJr/SRB2!1372
2021-03-01 17:50:48 -05:00
GoldenTails
a0396d5e43 Make it more async-signal-safe 2021-02-27 18:07:47 -06:00
GoldenTails
bdb28a06f4 Print the backtrace before showing the signal handler popup. 2021-02-27 18:07:47 -06:00
GoldenTails
5108f1f57b Use file descriptors and ditch file streams, for now. 2021-02-27 18:07:47 -06:00
GoldenTails
4016a2e062 Crash backtrace logging for NEWSIGNALHANDLER. 2021-02-27 18:07:47 -06:00
Jaime Ita Passos
2ca8efd7ee Revert accidental push 2021-02-25 20:17:27 -03:00
Jaime Ita Passos
5b1dc6ba33 [Meta] Change branding 2021-02-25 19:49:34 -03:00
Jaime Ita Passos
5501d495c7 OpenGL backend: Manage uploaded GPU textures with an internal list
Indirectly fixes the game doing whatever after freeing a patch.
This commit implements a FTextureInfo struct type, instead of it being a typedef to the GLMipmap_s struct type.
2021-01-27 17:48:57 -03:00
Steel Titanium
c8627464c9 Check if GME_VERSION is defined.
I made the assumption it would always be defined, which won't always be the case.
2021-01-06 19:40:30 -05:00
James R
353692fa79 Merge remote-tracking branch 'origin/next' into hooklib-refactor 2020-12-16 08:43:49 -08:00
James R
503364f5f8 Merge branch 'gme-spc-fix' into 'next'
Fix SPC looping on libgme versions >= 0.6.3

See merge request STJr/SRB2!1302
2020-12-15 20:40:10 -05:00
James R
93e4f43e4b Hooklib macros names -> uppercase + documentation 2020-12-12 03:16:30 -08:00
James R
9ddeb5f589 Resolve GameQuit hook conflicts 2020-12-12 02:05:21 -08:00
James R
9ea969b62d Merge branch 'gamequit-argument' into 'next'
Send a `quitting` argument to the GameQuit Lua hook.

See merge request STJr/SRB2!1276
2020-12-10 15:25:52 -05:00
James R
2ab71571aa Merge branch 'high-resolution-timer-2' into next 2020-12-10 02:55:02 -08:00
Steel Titanium
11bbad9be8 Tab fix 2020-12-06 22:58:17 -05:00
Steel Titanium
c3a560f51d Let's check for looping first 2020-12-06 22:30:50 -05:00
Steel Titanium
284205baac Fix SPC looping on libgme versions >= 0.6.3 2020-12-06 22:20:06 -05:00
GoldenTails
119d2e9e37 Remove the rest of the Playing() checks for GameQuit hook 2020-11-29 16:53:29 -06:00
GoldenTails
59d2646593 Send a quitting argument to the GameQuit Lua hook 2020-11-29 08:30:50 -06:00
Nev3r
bcf6823cbf Merge branch 'dehacked-hell' into 'next'
Split dehacked.c into multiple files.

See merge request STJr/SRB2!1222
2020-11-29 05:18:45 -05:00
GoldenTails
8fef61aa29 Split dehacked.c into multiple files. 2020-11-23 21:42:26 -06:00
Jaime Ita Passos
0645c642d2 Improve GPU texture management. 2020-11-22 18:18:26 -03:00
Jaime Ita Passos
abe35fd008 Some interface fixes 2020-11-22 17:22:18 -03:00
Jaime Ita Passos
9ab3acae2d Change how texture deletion works in OpenGL 2020-11-22 17:03:04 -03:00
Jaime Ita Passos
5e890ee6f8 Merge branch 'next' into spritestuff2 2020-11-19 00:52:43 -03:00
James R
85c5fa9527 Merge branch 'unfuck-icon-mac' into 'next'
Use SDL version of executable icon at runtime on macOS

See merge request STJr/SRB2!1250
2020-11-17 20:24:42 -05:00
lachwright
26b6b33220 Add parentheses 2020-11-15 15:52:55 +11:00
lachwright
8f570eaa97 Use SDL version of executable icon at runtime on macOS 2020-11-15 01:13:41 +11:00
James R
876aeb6a31 Merge branch 'allowshaders' into 'next'
Let the server or an admin toggle clients' custom shaders

See merge request STJr/SRB2!1181
2020-11-08 21:09:56 -05:00
James R
c0dbc562bb Fix floating point math 2020-11-07 13:48:37 -08:00
James R
515d7eeb9e Let's try an experiment: move the epoch forward as I_GetTime is called
This will make it even longer until time wraps around. Have you ever run a
srb2 server for 4 years straight?
2020-11-07 01:57:09 -08:00
James R
84ce53db60 Use high precision timer, replace I_GetTimeMicros with I_GetPreciseTime and I_PreciseToMicros 2020-11-07 01:31:24 -08:00
James R
425b56c288 Remove win32 specific timer 2020-11-06 14:14:12 -08:00
James R
998a10e8ad Merge remote-tracking branch 'origin/master' into next 2020-11-01 20:01:22 -08:00
Steel Titanium
62b5b86ed4 CMake: Fix fullscreen toggle not working
All because of a typo
2020-10-31 00:59:51 -04:00
Hannu Hanhi
86ad187f05 NPO2 slope span optimization 2020-10-26 00:26:15 +02:00
James R
e9fce20071 Merge remote-tracking branch 'origin/master' into next 2020-10-23 14:57:13 -07:00
GoldenTails
1e0beab254 Add i_threads.h too 2020-10-20 15:58:34 -05:00
GoldenTails
31c410656c Add multithreading option for CMake 2020-10-20 15:44:01 -05:00
James R
d279489753 Merge branch 'perfstats' into 'next'
Performance stats

See merge request STJr/SRB2!1186
2020-10-18 15:33:20 -04:00
James R
bd9fda8ceb Merge branch 'lua-polyobjects' into 'next'
Lua polyobjects

Closes #19

See merge request STJr/SRB2!1140
2020-10-15 19:08:54 -04:00
Jaime Passos
8294479a5f Merge branch 'next' into allowshaders 2020-10-15 01:25:11 -03:00
James R
d73fbd8616 Merge branch 'slight-shader-cleanup' into 'next'
Shader code cleanup

See merge request STJr/SRB2!1103
2020-10-12 18:22:08 -04: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
Hannu Hanhi
4f20a20165 Performance stats 2020-10-10 22:12:34 +03:00
Jaime Passos
0811f60b2a Let the server or an admin toggle clients' custom shaders 2020-10-09 02:06:13 -03:00
James R
15008f31a7 Merge branch 'sanity-meter-empty' into 'next'
Replace cvar initializers with a macro

See merge request STJr/SRB2!1178
2020-10-08 22:02:25 -04:00
James R
45b9e23895 Merge branch 'ogl-driver-error' into 'next'
Add error message when the GDI Generic OpenGL renderer is encountered in Windows

See merge request STJr/SRB2!1172
2020-10-08 22:00:43 -04:00
Jaime Passos
63d4c1dffc Merge remote-tracking branch 'origin' into slight-shader-cleanup 2020-10-08 22:45:39 -03:00
James R
dbd79a29a4 Replace C90's junk with a modest macro 2020-10-06 23:04:23 -07:00
Hannu Hanhi
684b868524 Add error message when the GDI Generic OpenGL renderer is encountered in Windows 2020-10-03 18:45:56 +03:00
James R
8beee3761e Merge branch 'windows-console-go-brrr' into 'next'
Fix #178

Closes #178

See merge request STJr/SRB2!1112
2020-10-02 20:23:20 -04:00
James R
be4c5751f8 Revert "Warn when going to OpenGL from the menu"
This reverts commit 569453ee93.

And one line from b6089ccdaf.
2020-10-02 15:37:23 -07:00
lachwright
e715b2f01a Update ICNS icon for macOS
Replaced some of the lower resolution variants with some smoother downscales. The 16x16 one is even Sonic's 1-up icon from the game!
2020-10-01 02:47:24 +10: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
Monster Iestyn
d5beae9738 Begin work on adding access to polyobjects in Lua:
* create new file lua_polyobjlib.c
* made a stub LUA_PolyObjLib function
* added META_POLYOBJ to lua_libs.h
* updated makefile, CMake and MSVC project files for lua_polyobjlib.c
2020-09-08 18:08:08 +01:00
James R
b2226e95d6 Merge branch 'master' into next 2020-08-31 16:10:05 -07:00
James R
e593610862 Fix NOHW compiling 2020-08-31 16:09:41 -07:00
James R
6c2370f894 Kill NOHS
(cherry picked from commit 3437b0690a3f4278e3ecc657102a126a3e2f3d13)
2020-08-31 16:06:40 -07:00
James R
2aab765b36 Fix NOGME compiling
(cherry picked from commit 0d57ba1d02c5bde2ab22a71d21a95849b21e9539)
2020-08-31 16:04:09 -07:00
James R
38d094d3f6 Merge branch 'fix-file-downloading' into 'next'
Fix bug where SRB2 would check size of disk from current directory instead of srb2home

See merge request STJr/SRB2!1121
2020-08-19 18:16:22 -04:00
GoldenTails
0a9c061fea Fix bug where SRB2 would check size of current directory instead of srb2home
Hopefully that fixes that one bug with weird filesize issues too
2020-08-18 17:34:32 -05:00
Jaime Passos
9b426b474c Merge branch 'pictureformats' into patch-stuff-again-2 2020-08-15 20:48:28 -03:00
James R
0944b5ad6f Strip a few more instances of SONIC ROBO BLAST 2 KART 2020-08-14 22:18:51 -07:00
Jaime Passos
78cc4a78d0 Refactor renderer switching 2020-08-14 22:27:16 -03:00
James R
f0a79df2b8 Use AsciiChar to get the input from windows console window 2020-08-13 21:57:36 -07:00
James R
3e02f5d0cb Add http-mserv to fuck
(cherry picked from commit 1a1c215a9110491a3c7324045dc96c18b604d9e7)
2020-08-09 23:34:16 -07:00
James R
e9748e5317 Merge branch 'clipboard-crash-fix-2' into 'next'
Fix buffer overrun in I_ClipboardPaste (resolves #205)

Closes #205

See merge request STJr/SRB2!1105
2020-08-09 21:06:18 -04: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
54e446199d Merge remote-tracking branch 'origin/next' into http-mserv 2020-08-08 15:05:03 -07:00
Jaime Passos
9772bbeda1 Fix buffer overrun in I_ClipboardPaste 2020-08-08 15:36:01 -03:00
Jaime Passos
91ed56ef40 Refactor patch loading 2020-08-08 05:16:47 -03:00
Jaime Passos
74dfa9f700 Shader code cleanup 2020-08-07 18:17:05 -03:00
Steel Titanium
dff0e87e03 Kill CD support 2020-08-07 17:06:19 -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
James R
fa90ff6bae Merge remote-tracking branch 'origin/master' into next 2020-07-16 19:00:21 -07:00
James R
93615b07be Merge remote-tracking branch 'origin/next' into http-mserv 2020-07-13 08:58:43 -07:00
James R
4985d94386 Merge remote-tracking branch 'origin/master' into cmake-adjustments 2020-07-12 16:24:24 -07:00
James R
b9a24001d8 Merge remote-tracking branch 'origin/next' into remove-glide-2 2020-07-12 16:05:15 -07:00
James R
479bbeacbe Merge remote-tracking branch 'origin/next' into http-mserv 2020-07-11 17:41:46 -07:00
Steel Titanium
307125e84e Update version number 2020-07-10 17:29:03 -04:00
SteelT
31364d2120 Merge branch '225-prep' into 'next'
2.2.5 preparation

See merge request STJr/SRB2!1039
2020-07-07 14:55:06 -04:00
Lachlan Wright
337ec7bf6c Merge branch 'remove-tricks' into 'next'
Remove Software tricks

See merge request STJr/SRB2!1036
2020-07-07 13:47:33 -04:00
Steel Titanium
7d75c72263 Update the version number 2020-07-06 21:29:02 -04:00
Jaime Passos
7911deebf8 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into pictureformats 2020-07-06 19:29:14 -03:00
Steel Titanium
7d00255dc4 Merge branch 'master' into next 2020-07-06 12:13:00 -04:00
Jaime Passos
4f6420274f Remove Software tricks 2020-07-06 01:26:56 -03:00
Jaime Passos
abeedc4b65 Delete hw_glide.h 2020-07-06 00:27:34 -03:00
Zachary McAlpin
b14f18c1a9 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-06-24 20:55:08 -05:00
James R
ac71bb76b6 Merge branch 'gme-cleanup-fixes' into 'next'
GME cleanup and fixes

See merge request STJr/SRB2!1001
2020-06-24 21:41:49 -04:00
Zachary McAlpin
5ef8c95cdb Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-06-24 19:47:52 -05:00
SteelT
bff6b19056 Merge branch 'marathonmode' into 'next'
MARATHON RUN

See merge request STJr/SRB2!941
2020-06-17 19:36:10 -04:00
Steel Titanium
3946309ece Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into sal-oglshaderport
# Conflicts:
#	src/hardware/r_opengl/r_opengl.c
2020-06-17 18:15:07 -04:00
Steel Titanium
5708325d2b Use SAMPLERATE for consistency with the rest of the code 2020-06-17 14:50:22 -04:00
Steel Titanium
f626b9f4d9 Fix VGZ sometimes causing SRB2 to crash by not playing the song early in I_LoadSong 2020-06-17 14:31:49 -04:00
Steel Titanium
a34be0e370 Reduce code duplication by creating get_zlib_error function
Reduce calls to gme_set_equalizer in I_LoadSong by moving it to I_PlaySong
Return false if it fails to decompress VGZ data in some form.
2020-06-17 14:19:19 -04:00
Zachary McAlpin
965d42f974 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-06-12 07:32:44 -05:00
Steel Titanium
b056bf1d6c Merge branch 'master' into next 2020-06-11 20:11:26 -04:00
Zachary McAlpin
08e9efee76 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-06-11 15:02:31 -05:00
lachwright
fad82265e0 Allow macOS builds to be launched through Steam 2020-06-12 01:19:06 +08:00
LJ Sonic
7ffee074d8 Merge branch 'next' into 'better-download'
# Conflicts:
#   src/d_clisrv.c
2020-06-10 07:57:49 -04:00
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