Commit graph

12190 commits

Author SHA1 Message Date
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
3d7205d494 Fix minor errors with Windows ECHO, DEL, MD
- Quotes were not removed by ECHO.
- DEL would print an error on nonexistent file.
- MD would do this plus return a nonzero exit code.
2021-05-04 22:34:20 -07:00
James R
8840bef2cb Appveyor: update to correct executable directory this time 2021-05-04 17:05:54 -07:00
James R
888073d64d Fix make clean printing header 2021-05-04 16:54:47 -07:00
James R
53d1cbe826 Appveyor: update executable directory 2021-05-04 16:50:50 -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
f637e28d0c Remove bin, objs and dep directories 2021-05-04 04:14:00 -07:00
James R
44d217807f Collect makefiles 2021-05-03 23:07:44 -07:00
Steel Titanium
80fe39bbd1 Fix MusicChange hook not returning some values correctly 2021-05-03 01:40:02 -04:00
James R
aee963f4e9 Replace LUA_PushLightUserdata with LUA_PushUserdata
See 7df6a309 and 83a87042. I didn't realize that light
userdata's metatable is shared--like numbers or strings.
So it cannot be paired with a metatable.

I also made a few minor tweaks to Lua cvars, other than
accounting for the double pointer in the userdata.
2021-05-02 21:59:23 -07:00
James R
ed5a7f51e8 Revert "Merge branch 'lightmemedata' into 'next'"
This reverts commit d4c08a8410, reversing
changes made to e100f21dda.
2021-05-02 21:32:07 -07:00
GoldenTails
ab84bd5370 Fix the console splitting up halfway through startup. 2021-05-02 00:03:35 -05:00
Tatsuru
aac3ca320b Update LOCATIONSTRING2 as well 2021-05-01 10:24:28 -03:00
Sally Coolatta
381ead4d7e Level select no longer assumes that games will always be linear
- If a level is in-between two with the same header, it would previously create two headers with the same name. Now it groups all levels with the same header together.
- Previously, a header would only be visible if its first map was visible. Now it will show the header if you've visited any level under the header.

For SUGOI.
2021-04-30 21:46:09 -04:00
LJ Sonic
f97dc1093a Merge branch 'kitchensync' into 'next'
Attempt to resolve teleportation resync issue

See merge request STJr/SRB2!1490
2021-04-30 20:39:11 -04:00
katsy
815db01438 adjust cooldown to 5 seconds (bandage fix for 2.2.9) 2021-04-30 20:30:35 -04:00
katsy
858cb98e57 attempt to resolve teleportation resync issue 2021-04-30 17:26:09 -05:00
Tatsuru
ea7b332525 Visit srb2.org/addons to get & make addons! 2021-04-30 15:49:09 -03:00
Jaime Ita Passos
b4a09405a7 Use 64-bit math for calculating the texture origin X/Z 2021-04-29 19:24:37 -03:00
Jaime Ita Passos
9d41325843 Only adjust slope offsets if the plane isn't rotated 2021-04-28 22:15:05 -03:00
Jaime Ita Passos
090f304f33 Use 64-bit x/y in R_GetSlopeZAt 2021-04-28 22:00:20 -03:00
Jaime Ita Passos
1cf13a22e4 Merge branch 'next' into polyobject-ffloor-fix 2021-04-28 20:29:41 -03:00
Monster Iestyn
b8ba2c5b70 Merge branch 'next' into load-netgame-error-fixes
# Conflicts:
#	src/d_clisrv.c
2021-04-28 18:08:48 +01:00
Jaime Ita Passos
8f47a7e9cc Prevent texture wobbling on planes with no flat alignment 2021-04-27 22:59:06 -03:00
Jaime Ita Passos
0fba870a35 Revert "Use floating point trig in R_SetSlopePlane"
This reverts commit 63761a2d07.
2021-04-27 22:54:56 -03:00
Jaime Ita Passos
63761a2d07 Use floating point trig in R_SetSlopePlane 2021-04-27 20:42:59 -03:00
Jaime Ita Passos
1c6296653a Use floating point GetSlopeZAt for the texture origin vector 2021-04-27 20:32:41 -03:00
Jaime Ita Passos
e4b8dc6584 Fix sloped plane offsets in Software, and fix rotated flat alignment in OpenGL.
+ unrelated slope plane optimizations in Software
2021-04-27 19:01:09 -03:00
Jaime Ita Passos
548554431b Handle invalid blend modes properly 2021-04-27 00:20:41 -03:00
Jaime Ita Passos
85c53b35cd Use old routine for PO2 spans 2021-04-26 22:17:03 -03:00
Vincent Robinson
f437d6afec Add linedef specials for multitagging in binary maps 2021-04-26 16:27:39 -07:00
LJ Sonic
1355a82aa5 Merge branch 'final-hours' into 'next'
Last-minute fixes

See merge request STJr/SRB2!1483
2021-04-26 18:33:42 -04:00
LJ Sonic
3491112818 Update copyright date 2021-04-27 00:33:24 +02:00
LJ Sonic
0d4d3a5207 Revert "Lua: ensure order of MIN, MAX possible values"
This reverts commit c51c478740.
2021-04-26 21:11:24 +02:00
LJ Sonic
cd4cfba500 Delete faulty return 2021-04-26 21:10:32 +02:00
Monster Iestyn
34fa977192 move the old "can't load the level" error to its proper place, added specific error messages for all the times that unarchiving Lua banks can fail 2021-04-26 19:07:11 +01:00
LJ Sonic
664f5fe5b1 Merge branch 'erz3-tol' into 'next'
Give TOL_ERZ3 an appropriate identifier (closes #516)

Closes #516

See merge request STJr/SRB2!1471
2021-04-26 06:08:31 -04:00
LJ Sonic
7d167f531b Merge branch 'lua-minmax-plus' into 'next'
Let Lua cvars use preset values in addition to MIN and MAX

See merge request STJr/SRB2!1480
2021-04-26 06:06:58 -04:00
LJ Sonic
83a80106b1 Merge branch 'cvar-zstring-fix' into 'next'
Unset zstring if a preset value is used

Closes #487

See merge request STJr/SRB2!1479
2021-04-26 05:55:14 -04:00
Steel Titanium
7cd41a8eb7 Compile with -rdynamic on UNIXCOMMON platforms 2021-04-26 03:48:38 -04:00
James R
92aeadc36b It is impossible for a string to be allocated in this case 2021-04-25 22:01:40 -07:00
James R
85914cc7cd Free zstring when switching to preset value
This is only applicable for bounded cvars (MIN, MAX),
since otherwise there's no way to allocate a zstring.
2021-04-25 21:55:04 -07:00
James R
c51c478740 Lua: ensure order of MIN, MAX possible values
Cvars could now have a range (MIN, MAX) plus some preset
values, but Lua could not take advantage of this due to
table order not being guaranteed.
2021-04-25 21:51:24 -07:00
Sally Coolatta
4bafd62271 Only return skin string number if it existed 2021-04-25 18:44:07 -04:00
Sally Coolatta
92107f28d5 Add string variable for unlockables and emblems
Skin unlockables / skin emblems are now checked at runtime to see if there's any matches.
2021-04-25 17:54:47 -04:00
Sally Coolatta
f0b9e0e415 Default to first usable skin instead of 0, I_Error if none are usable 2021-04-25 16:38:33 -04:00
LJ Sonic
d18fc8882f Merge branch 'dont-load-dont-unload' into 'next'
Fix a dedicated crash in Special Stage intermissions (2.2.9 RC1)

See merge request STJr/SRB2!1475
2021-04-25 16:35:46 -04:00
LJ Sonic
1d07fc2de3 Merge branch 'spritedef-add-hotfix' into 'next'
Spritedef add hotfix

See merge request STJr/SRB2!1476
2021-04-25 16:34:39 -04:00
LJ Sonic
1e394a80bf Merge branch 'possible-netgame-quit-crash-hotfix' into 'next'
Possible netgame quit crash hotfix

Closes #487

See merge request STJr/SRB2!1477
2021-04-25 16:33:49 -04:00
Sally Coolatta
382c0aa7de Fix overshadowed declaration 2021-04-25 16:27:15 -04:00