Commit Graph

587 Commits

Author SHA1 Message Date
Thomas Roß
0c67b093c6 [Init] Merged d3-<Platform>.hog code together to allow for cf_OpenLibrary() call to be moved out of #ifdef. 2024-05-22 12:10:08 +02: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
Jeod
cffeb20a3e
Merge pull request #371 from JeodC/hwcursorfix
Only use standard mouse mode in debug
2024-05-20 15:20:19 -04:00
Jeod
23868a7c72
Merge pull request #297 from Jayman2000/revamp-usage-instructions
Revamp usage instructions
2024-05-20 15:18:49 -04:00
Jason Yundt
e246c01fb3 Revamp usage instructions
This commit revamps the usage instructions in order to accomplish two
goals:

1. Make the instructions easier to follow by turning them into a
   numbered list.
2. Make sure that macOS and Linux users install all of the built
   libraries for their platforms.
2024-05-20 13:32:10 -04:00
Jeod
fcc94aee42
Merge pull request #372 from JeodC/exedirfix
Get executable path for -useexedir
2024-05-20 12:11:05 -04:00
JeodC
e4e1963364 Get executable path for -useexedir 2024-05-20 11:40:14 -04:00
Jeod
3436d04ef6
Merge pull request #349 from Lgt2x/clang-warnings2
Fix some more clang warnings
2024-05-20 09:43:18 -04: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
Jeod
451381e783
Merge pull request #301 from Jayman2000/missing-licenses
Add missing licenses to CI artifacts and include licenses in all builds
2024-05-20 08:39:51 -04:00
JeodC
d07ecf1404 Only use standard mouse mode in debug
Resolves an issue where hardware cursor was still visible in release build despite window mode being disabled for release builds.
2024-05-19 15:14:11 -04:00
Jeod
3c74b79667
Merge pull request #370 from pzychotic/fix-server-crash
Fixed crash in dedicated server mode.
2024-05-19 13:26:43 -04:00
Thomas Roß
266ad92d15 [Server] Fixed crash in dedicated server mode. 2024-05-19 18:19:08 +02:00
Thomas Roß
7033fd5d96 Merge branch 'main' into win-x64
# Conflicts:
#	lib/win/win32app.h
#	win32/winapp.cpp
2024-05-19 16:25:33 +02:00
Jeod
a8a80880b1
Merge pull request #368 from pzychotic/fix-winapp-init
Fixed missing initialization of m_MsgFn array in ctor
2024-05-19 09:17:13 -04:00
Thomas Roß
5e580b3f6c [WinApp] Fixed missing initialization of m_MsgFn array in ctor.
Rewrote the C-style array to std::array while at it.
2024-05-19 13:23:15 +02:00
Thomas Roß
4072dcb3bd
Merge branch 'DescentDevelopers:main' into win-x64 2024-05-17 20:06:34 +02:00
Jeod
56e61275ce
Merge pull request #358 from winterheart/cfile-enhance
Cfile enhance
2024-05-17 13:51:31 -04:00
Jeod
7fcd78e009
Merge pull request #362 from pzychotic/cleanup
Deleted left over VS project file.
2024-05-17 13:44:44 -04:00
Jeod
2c4f44ad92
Merge pull request #361 from pzychotic/fix-line-endings
Converted line endings to Unix format to match .gitattributes file
2024-05-17 13:44:17 -04:00
Thomas Roß
1973aed32e [Misc] Deleted left over VS project file. 2024-05-17 18:40:32 +02:00
Thomas Roß
aecd737df0 [Misc] Converted line endings to Unix format to match .gitattributes file. 2024-05-17 18:36:41 +02:00
Jason Yundt
8fd26f0cc1 Include previously missing licenses in builds
Specifically, this commit only adds copies of licenses if we are
required to do so. For example, this commit adds a copy of libacm’s
license because libacm’s license requires that we include copies of
libacm’s license with binary copies of libacm. This commit does not add
a copy of zlib’s license because zlib’s license doesn’t require us to do
so.

Fixes #295.
2024-05-17 12:17:24 -04:00
Jason Yundt
2bb1e4167a Use CMake to create LICENSE file, not CI
Before this change, the CI script had a special step that would ensure
that CI artifacts contained a copy of Descent 3’s license. This change
replaces that special CI step with a CMake target.

The main motivation behind this change is to make it easier for people
to create packages for Descent 3. Before this change, if you wanted to
create a package for Descent 3, then you would have to manually ensure
that your package contained a copy of the GPL.
2024-05-17 12:14:01 -04:00
Jeod
2c99aa82ca
Merge pull request #316 from ziplantil/new-md5
replace md5 with custom implementation, with tests
2024-05-17 11:44:09 -04:00
Azamat H. Hackimov
43caa3d53c CFILE: Remove throwing exception in cf_ReadBytes()
All functions, that uses cf_ReadBytes(), checks return size, but don't handle potential exceptions. That leads to segfaults on reading of damaged files (i.e. broken savegames).
2024-05-16 23:27:56 +03:00
Azamat H. Hackimov
c505df182b CFILE: Use smart pointers for entries of library 2024-05-16 23:12:07 +03:00
Azamat H. Hackimov
f123dbe770 Replacing raw pointer with shared_ptr in cfile. 2024-05-16 22:31:43 +03:00
Azamat H. Hackimov
b84678de96 Move HOG2 magic check into hogfile
Remove unused cf_ReadHogFileEntry() function.
2024-05-16 19:18:31 +03:00
Azamat H. Hackimov
6703b25d34 Minor fixes to cfile 2024-05-16 18:21:30 +03:00
Azamat H. Hackimov
0f694a4fc5
Merge pull request #345 from Lgt2x/remove-aureal
Remove Aureal support
2024-05-16 15:34:35 +03:00
Thomas Roß
57a46e05a8 [Build] Fixed CMake not finding DirectX libs. 2024-05-16 01:14:02 +02:00
Jeod
01db899f56
Merge pull request #342 from Lgt2x/remove-ddaccess
Remove DDAccess.h header, and associated DD_ACCESS_RING definition
2024-05-15 17:42:05 -04:00
Thomas Roß
11af2e7ec0 [Sound] Fixed array access with negative m_sound_index.
No idea why this doesn't crash in current builds, maybe just corrupts some memory if we get into if-statement?!
2024-05-15 20:16:31 +02:00
Thomas Roß
435b1f48bb [Win,hog] Load the newly created d3-win.hog after all other hog files from the original game.
The last library opened with cf_OpenLibrary() will be the first to be searched for DLLs. This way we make sure to load our x64 DLLs before the x86 versions from the original game data.
2024-05-15 20:13:28 +02:00
Thomas Roß
1bf84737e5 [Scripts] Dllexport script entry points. 2024-05-15 20:09:18 +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ß
0c09eed1b7 [Win,x64] Replaced inline assembly for int3 with debug_break() to fix compile errors in x64 builds. 2024-05-15 19:55:45 +02:00
Thomas Roß
6ecafd9e68 [Win,x64] Fixed WinApi types and function calls.
Lots of these truncated 64bit pointer or handle types to 32bit.
2024-05-15 19:52:01 +02:00
Thomas Roß
bac882c7d6 [Win,x64] Disabled some 'mono' debugger stuff due to compile errors in x64. 2024-05-15 19:46:01 +02:00
Thomas Roß
caf1981015 [Win,x64] Disabled callstack and exception info logging due to compile errors in x64. 2024-05-15 19:44:41 +02:00
Thomas Roß
0b877524a3 [Win,x64] Removed unused code that won't compile in x64. 2024-05-15 19:42:11 +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
Azamat H. Hackimov
ad7c384581
Merge pull request #348 from pzychotic/fix-screenshot-crash
Fixed double delete/free in rend_Screenshot().
2024-05-15 10:42:56 +03:00
Louis Gombert
72c0a46dcc Fix -Wnull-conversion using explicit false 2024-05-15 00:18:44 +02:00
Louis Gombert
979cc58e67 Fix -Wnon-c-typedef-for-linkage warning using C++ struct declaration syntax 2024-05-15 00:07:49 +02:00
Louis Gombert
c1db7c70de Fix double extern qualifier warning in idmfc.h
Functions declared in idmfc.h were prefixed by both macros `EXTERN` and `DLLEXPORT`. `EXTERN` expands to `extern "C"` for C++ code, and `DLLEXPORT` expands to `extern "C"` for C++ or `extern` for C code, making up two `extern` qualifiers for C++ code. We now only use DLLEXPORT macro.
2024-05-14 23:51:08 +02:00
Louis Gombert
f1d46017f5 Fix compiler warning -Wimplicit-const-int-float-conversion using explicit casts 2024-05-14 23:33:17 +02:00
Louis Gombert
213ef87652 Fix mixer option index without A3D 2024-05-14 23:10:17 +02:00