Commit graph

988 commits

Author SHA1 Message Date
sphere
8cfe7cd971 Merge branch 'unix-rdynamic' into 'next'
Compile with -rdynamic for UNIXCOMMON platforms

See merge request STJr/SRB2!1481
2021-06-02 06:31:14 -04:00
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
Steel Titanium
a2667f4dc9 Merge branch 'master' into next 2021-05-11 20:08:44 -04: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