Commit graph

40 commits

Author SHA1 Message Date
Steel Titanium
fe7b041346 Merge branch 'public-notpublic-libopenmpt' into 'master'
libopenmpt support

See merge request STJr/SRB2Internal!229
2019-06-21 17:03:53 -04:00
Nev3r
df0a40b3c2 Code refactoring to turn portal struct into a more generalized shape.
Split portal-related code to its own source files.
Most of the 2-line-specific setup has been moved to the function which adds a 2-line case. The portals should render as they used to so far, anyway.
2019-06-01 13:07:23 +02:00
Steel Titanium
91767a7740 Merge branch 'master' into public-musicplus-libopenmpt 2019-05-20 21:33:10 -04:00
wolfs
5620d0188e Merge branch 'apng' into 'master'
Support aPNG in new versions of libpng

See merge request KartKrew/Kart-Public!63
2019-02-28 12:00:58 -08:00
mazmazz
1bfc4c02e4 CMake fixes for OpenMPT 2019-01-03 21:17:18 -05:00
mazmazz
a851c5d7da Add libopenmpt to cmake 2019-01-02 03:45:40 -05:00
Monster Iestyn
11cb163435 Backport the Blockmap library I made two years ago 2018-11-30 17:11:11 +00:00
Steel Titanium
6020abab94 Fix the not found errors on DLLs 2018-11-22 22:44:47 -05:00
Steel Titanium
1b79b9527c Properly check if cmake is running on wwindows
Thanks Monster Iestyn for informing me this is the correct way.
2018-11-14 15:58:45 -05:00
Steel Titanium
2ca5e29110 Make sure the new option only works on Windows.
Is this how you do it? I'm not really sure.
2018-11-13 20:37:14 -05:00
Steel Titanium
d0b64222f7 Merge branch 'master' into cmake-use-internal-libs 2018-11-13 19:46:43 -05:00
Monster Iestyn
a733a29f4c Starting work on porting hw_clip.c/h code, Makefiles and CMake can compile them at least
Other notes:
* Renamed all new functions to have HWR_ prefix instead of gld_, for consistency
* HWR_FrustrumSetup and HWR_SphereInFrustum are disabled and require HAVE_SPHEREFRUSTRUM. This is because 1) SRB2CB did not need the code, so presumably neither will we, and 2) there are some OpenGL API functions used there that due to our way of using OpenGL we don't use outside of r_opengl.c, which makes dealing with HWR_FrustrumSetup complicated in theory
* The new clipping functions are not added to OpenGL's "main" rendering code itself just yet, they're just available to use now once hw_clip.h is included
2018-11-10 16:08:26 +00:00
Steel Titanium
0f9611df76 Merge remote-tracking branch 'upstream/master' into cmake-use-internal-libs 2018-10-30 21:06:06 -04:00
Steel Titanium
2f62a03f6c Fix up 64-bit gme 2018-10-30 20:50:36 -04:00
Alam Ed Arias
e7a1c81355 Merge branch 'cmake_nasm' into 'master'
CMake: Fix nasm Linux builds

When compiling under Linux with CMake and nasm/yasm enabled, the operation would fail during linking with undefined symbols related to the tmap files.
This commit adds support for passing flags to the assembler and passes ```-DLINUX``` in order to compile.

After this change, binaries are successfully compiled with either nasm or yasm on Linux systems.
Tested on Ubuntu.

See merge request !153
2017-01-12 17:21:05 -05:00
Tasos Sahanidis
5216da13f0 Don't check if SRB2_ASM_FLAGS is defined and add docstring for the assembler 2017-01-11 21:52:14 +02:00
Tasos Sahanidis
0f52606953 Pass -DLINUX to n/yasm 2017-01-11 03:16:48 +02:00
Alam Ed Arias
0b572b6eee CMake: split inline AMS code from vid_copy.s code 2017-01-06 15:48:19 -05:00
Monster Iestyn
54b35c3975 Fix GME library path, consider 64-bit systems for png/zlib/SDL2 paths/libraries 2016-09-26 21:58:25 +01:00
Monster Iestyn
27acd8c3ac Added SRB2_CONFIG_USE_INTERNAL_LIBRARIES option (defaults to off right now), some WIP work on making it ...actually do what it says on the tin.
Basically, it manually sets *_FOUND, *_INCLUDE_DIRS and *_LIBRARIES instead of using find_package. Frankly I have no idea how well what I've done works currently though, not even sure if I've set the _LIBRARIES variables correctly. Again, it's WIP work, this can probably be fixed eventually I suppose.
2016-09-25 20:33:07 +01:00
Monster Iestyn
69f556d40a Split AA trees code from m_misc.c/.h into m_aatree.c/.h
Also updated any relevant project files that I can think of to include the new files, as well as the makefile of course. Some of the other project files haven't been touched in years so I'll leave those alone ...unless someone objects
2016-06-05 21:29:40 +01:00
wolfy852
f3f2c59622 Remove p_fab.c 2016-03-31 20:42:01 -05:00
Alam Ed Arias
81fc9df8d3 Merge branch 'master' into next 2016-03-10 18:02:23 -05:00
Monster Iestyn
4ab2c336e7 Possibly fixed the issues with LibGME mentioned in issue #14.
Not even the HAVE_LIBGME macro was defined apparently, huh.
2016-03-06 19:32:07 +00:00
Alam Ed Arias
6000b5c980 Merge branch 'master' into next 2016-02-09 14:13:50 -05:00
Alam Ed Arias
07fc74eaf5 clang: fixup a few clang warnings 2016-02-05 22:38:40 -05:00
Alam Ed Arias
864baeda05 cmake: fixed up to handle Clang and AppleClang 2016-02-05 21:49:24 -05:00
RedEnchilada
a5d7356fd2 Sayonara, m_vector.c 2015-05-23 01:32:28 -05:00
RedEnchilada
6e1f7e5f3a Add slope files to CMakeLists 2015-04-19 16:21:19 -05:00
Ronald Kinard
53680903e5 Fix compilation and debugging on Windows.
Core code has too many #define dependencies on interface-specific
defines. This means that it's currently not possible to safely
separate the core and interface code into different contexts. The
core code should be refactored to accomadate for this because we
should not have any interface-specific code in core in the first
place.

This reverts the static library SRB2Core from a7135094 and instead
adds the core sources to the SRB2SDL2 target directly.

So frustrating...
2015-03-24 19:32:58 -05:00
Ronald Kinard
8472075960 Prepend ASM sources with the current source directory in CMake.
This fixes generation with USEASM enabled.
2015-03-08 04:16:16 -05:00
Ronald Kinard
a713509493 Refactor CMake to allow source grouping and separation of interfaces.
Core and SDL2 are two separate targets now. Core is a static library
that is linked into SRB2SDL2. The sources for both are separated.
When using an IDE like Visual Studio or Xcode, the source code
organized into groups that explain what that group of sources does.

In the future, "Main" could be split into a few more groups based on
file prefixes, but I think the way it is set up works for now.

Makefile targets are not affected by source_groups and typing `make`
will automatically compile both the "Core" library and SRB2SDL2
itself.
2015-03-08 03:26:54 -05:00
Alam Ed Arias
542295c863 remove comptime.h from cmake file list 2015-02-05 17:32:26 -05:00
Ronald Kinard
d7015d1492 cmake: Fix nasm/add yasm support
Tested to work on MSVC, mingw-gcc
2015-02-01 21:25:02 -06:00
Ronald Kinard
194ce626e1 cmake: Add nasm support
Enables ASM-NASM and adds tmap*.nas to sdl target.

No idea if this actually works.
2015-02-01 19:18:25 -06:00
Ronald Kinard
0909fce2e3 cmake: Configure source via cmake
silently fixing a bad malloc here too shhhhhhhhh
2015-01-28 18:03:41 -06:00
Ronald Kinard
2f1367aab6 cmake: Fixes to allow MSVC to compile
running is another story
2015-01-28 02:09:03 -06:00
Ronald Kinard
495ea65cc5 Add GME and SDL2_mixer
Also support dynamic/static opengl switching
2015-01-28 01:20:43 -06:00
Ronald Kinard
479ebc3f94 Add Xcode target support
It is really messy at the moment. There is no support for copying the
necessary frameworks and dylibs out to the bundle for distribution, and
it is a frankenstein of manual find_library and find_package which can
sometimes pick up Homebrew dylibs.
2015-01-28 00:58:30 -06:00
Ronald Kinard
05f5ec664a Initial CMake support pass
Compiles the SDL2 target on Windows successfully
2015-01-27 23:46:39 -06:00