Commit Graph

93 Commits

Author SHA1 Message Date
Louis Gombert
05d70f6322
Merge pull request #435 from winterheart/third-party
Create THIRD_PARTY.md for external code handling
2024-06-15 15:44:37 +00:00
Azamat H. Hackimov
eb3466abc0 Create THIRD_PARTY.md for external code handling
Added all external code and license notices. Install THIRD_PARTY.md on installation step.
2024-06-12 23:40:27 +03:00
Louis Gombert
1821da99e7 Fix editor structures definitions 2024-06-07 21:41:40 +02:00
Louis Gombert
87f19acc2f Internal editor: minimal compilation fixes 2024-06-07 21:41:40 +02:00
Louis Gombert
0fa8705291 Move internal level editor into main tree 2024-06-07 21:41:40 +02:00
Louis Gombert
66923d5bc7
Merge pull request #407 from winterheart/remove-ncurses
Remove ncurses usage dependency
2024-06-02 20:11:39 +00:00
GravisZro
bfe52bc983 Add one macro, remove five others
- Add macro PRIMARY_HOG to define the hardcoded hog filename to load.
- Replace instances of "LINUX" with "__LINUX__"
- Remove these macros entirely because they are (now) unused
  - LINUX
  - _REENRANT
  - __32BIT__
- Removed from CMakeFile.txt because they are in linux_fix.h
  - _MAX_PATH=260
  - _MAX_FNAME=256
2024-05-31 12:05:12 -04:00
Azamat H. Hackimov
95caa7b6c3 Remove ncurses enabled console
This type of console is enabled only with `-svgalib` and `-dedicated` options. Since there no svgalib direct support (which is pretty old and too specific to Linux tech), it's better completely remove this code for simplicity and reducing external dependencies.
Removed `-svgalib` option as unused now.
2024-05-31 13:12:28 +03:00
Jason Yundt
26a4d125a0 Remove unnecessary find_package(OpenGL)
Before this change, CMakeLists.txt would run find_package(OpenGL), but
it would never use any of the targets or variables that calling
find_package(OpenGL) produces [1]. As a result, the call to
find_package(OpenGL) didn’t really do anything.

[1]: <https://cmake.org/cmake/help/latest/module/FindOpenGL.html>
2024-05-27 17:19:37 -04:00
Azamat H. Hackimov
a0929aefe2 Rename ddio_common to ddio 2024-05-24 22:18:14 +03:00
Azamat H. Hackimov
6bc3c71a83 Reordering ddio_common module
Merge ddio_lnx and ddio_win into ddio_common module.
2024-05-24 22:17:44 +03:00
Azamat H. Hackimov
974c703906 Reordering dd_sndlib and dd_lnxsound into sndlib
Consolidate all sound related code into one module.
2024-05-22 22:03:43 +03:00
Louis Gombert
cdec632f28
Merge pull request #318 from winterheart/install-targets
Introducing installation steps
2024-05-22 18:55:36 +00:00
Louis Gombert
f5d5ea947b
Merge pull request #367 from winterheart/lnxcontroller
Reordering linux modules, cleanup code
2024-05-22 18:37:18 +00:00
Azamat H. Hackimov
08b906fcc3 Introducing installation steps
Added installation steps for all built targets. Added FORCE_PORTABLE_INSTALL cmake option that controls portable installation (only supported for now).
2024-05-22 21:35:52 +03:00
Thomas Roß
73254af011 [Build] Fixed capitalization of DirectX paths. 2024-05-22 11:59:07 +02:00
Thomas Roß
56288c819e Merge branch 'main' into win-x64 2024-05-21 00:54:53 +02:00
Jason Yundt
e973dc1734 Automatically create netgames/ directory
Before this change, users would have to jump through hoops in order to
make sure that they’re using the .d3m files from this repo (as opposed
to the .d3m files that came with their version of Descent 3).
Specifically, users would have to remove or backup Descent 3’s original
netgames/ directory, create a new one, hunt down TCP_IP.d3c and copy it
to the new netgames/ directory.

This change makes it easier for users to use the latest version of
working by creating a netgames/ directory for them. All they have to do
is replace the old one with the new one.

Fixes #369.
2024-05-20 09:02:01 -04:00
Azamat H. Hackimov
b20964e97f Reorder dd_vid* modules into dd_video 2024-05-19 12:34:58 +03:00
Azamat H. Hackimov
3fa32ff386 Reorder headers related to linux module 2024-05-19 12:21:43 +03:00
Azamat H. Hackimov
cd1e33baa4 Move lnxcontroller to linux submodule 2024-05-19 02:31:50 +03:00
Thomas Roß
57a46e05a8 [Build] Fixed CMake not finding DirectX libs. 2024-05-16 01:14:02 +02:00
Thomas Roß
57c8347853 [Win,x64] Activated the compilation of scripts and netgames for Windows.
We now need native x64 versions of it.
2024-05-15 20:00:39 +02:00
Thomas Roß
2e4d25e4ee [DirectX] Updated DirectX SDK to August 2007 version.
This is one of the last versions still containing DirectDraw + DirectSound and also has x64 support.
2024-05-15 19:39:01 +02:00
Louis Gombert
959da14ff5 Remove spdlog dependency, keep the logging module 2024-05-14 14:12:03 +02:00
Edu García
80c207d41c save screenshots as PNG 2024-05-09 22:46:17 +01:00
Edu García
3440667e93 remove unused code (mainly windows.h) 2024-05-07 23:45:33 +01:00
JeodC
d8be484eb6 TCP~IP.d3c building on windows
Adds winsock to cmakelists target libraries. Removes an include for unused header file. Converts an unsigned int to u_long for windows.
2024-05-06 18:13:49 -04:00
Louis Gombert
0e69bf465f
Merge pull request #241 from icculus/ryan-sdl2-port
Initial SDL2 port
2024-05-06 08:57:20 +00:00
Azamat H. Hackimov
5aca8b7e5a Reorganizing fix library 2024-05-03 16:22:35 -04:00
Ryan C. Gordon
ff571ed7dd
Make sure Mac and Linux builds have SDL2 available.
Currently Windows gets this from vcpkg. Mac will get it from Homebrew,
and the GitHub linux builders will just install it with apt-get.

This might not be the perfect solution (having to install Homebrew is a pain,
GitHub Actions has an ancient SDL2), but it gets all the common platforms
running for now without much fuss.
2024-05-02 08:30:46 -04:00
Ryan C. Gordon
001a533399
Initial migration from SDL 1.2 to SDL2. 2024-05-02 08:29:21 -04:00
Jeod
7607593958
Merge branch 'main' into cmake-options 2024-04-30 17:57:58 -04:00
Louis Gombert
0b41a1b963 CMake: expose BUILD_TESTNG option, rename LOGGER to ENABLE_LOGGER 2024-04-30 20:41:45 +02:00
bperris
27eadbf66b
Merge branch 'main' into new-log-system 2024-04-30 14:38:11 -04:00
Louis Gombert
3bdbdc196f
Merge pull request #204 from winterheart/split-debug-module-v2
Move debug functions to own module
2024-04-30 18:35:00 +00:00
Bryan Perris
b0e5754e96 Introduce spdlog logging system
* The game version is now printed via the log system rather than from within the loki_initialize function.
remove this line
2024-04-30 14:27:38 -04:00
Ryan C. Gordon
f8a4cb3cc0
More X11 removal.
This is all unused stuff, just doing a more-complete purge.
2024-04-30 13:04:15 -04:00
Azamat H. Hackimov
2aece028d0 Move debug functions to own module
This commit is part of efforts to isolate subsystems of project into own modules.
2024-04-30 00:58:34 +03:00
Ryan C. Gordon
6c8977caf0
Heavy patching for compiler warnings.
The vast majority of this is fixing up `char *` that should be `const char *`
but a handful of other fixes, like potential buffer overflows that GCC
noticed, etc, were applied as well.

This removes `-Wno-write-strings` from CMakeLists.txt, as it is no longer
necessary, as there is no longer a flood of compiler warning spam when
building.

This does not fix all compiler warnings; there are still a handful, and they
are legitimate, but they can be dealt with in a future commit.
2024-04-29 00:18:56 -04:00
Thomas Otto
19fb21434c Windows/CMake: add /MP for multi process MSBuild
"The /MP option can reduce the total time to compile the source
files on the command line. The /MP option causes the compiler
to create one or more copies of itself, each in a separate process."

<https://learn.microsoft.com/en-us/cpp/build/reference/mp-build-with-multiple-processes?view=msvc-170>
2024-04-29 01:11:57 +02:00
Azamat H. Hackimov
c18be49ae6 Enable WIN32 property only for Descent3
Disable global linker option that forces /SUBSYSTEM:WINDOWS for all executables (tools and unittest included).
2024-04-29 01:43:06 +03:00
Louis Gombert
6d91c381f8
Merge pull request #179 from winterheart/checksum-unittests
Checksum unittests and Osiris types unification
2024-04-28 21:54:34 +00:00
Azamat H. Hackimov
1926a77f19 Introducing git revision in source code
Git revision is generating on build time (not on configure time). In case of uncommited changes this revision will be marked as "dirty". If cmake cannot retrieve revision from git history (i.e. from packaged source code), cmake will attempt to read "git-hash.txt" from `PROJECT_SOURCE_DIR` (it will be generated on build time; after implementing packaging workflow it can be reworked).
Reworked main screen and console output to display proper version.
Version project now is 1.5.0 as previous PATCH value (500) was intended to be D3_RELEASE_BUILD_NO, autogenerated on compile time. As we switched to GIT_HASH, D3_RELEASE_BUILD_NO now useless.
2024-04-28 22:05:26 +03:00
Azamat H. Hackimov
bdcb6cdbf4 Fix typo in CMakeLists.txt
Change CMAKE_SYTEM_NAME with CMAKE_SYSTEM_NAME, replace add_definitions with add_compile_definitions.
2024-04-28 14:28:15 +03:00
scivision
1f9c8cbf54 cmake: use regex to simplify
ref compiler ids:
https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_ID.html
2024-04-28 14:07:47 +03:00
scivision
4d109a1382 cmake: use CMAKE_SYSTEM_NAME where prudent 2024-04-28 14:04:51 +03:00
scivision
31855c850b cmake: use find_* name-value for readability 2024-04-28 14:04:51 +03:00
scivision
1188b65c43 cmake: modernize, using safer/clearer options
CMAKE_BUILD_TYPE must be set CACHE before project() to take effect

general best practice rather than modifying CMake internal variables
is to use add_compile_options with genex
2024-04-28 14:04:48 +03:00
Azamat H. Hackimov
a1e71ddaeb Convert all Osiris bound types to stdint
This unifies (somehow) all structures for scripting system. Checksum for 64-bit systems was decreased by 32 (ulong -> uint32_t in object.).
2024-04-25 23:03:20 +03:00