Commit Graph

982 Commits

Author SHA1 Message Date
Azamat H. Hackimov
03e1f9b514 WIN32: Replace ddio_FindFileStart() with ddio_DoForeachFile() 2024-08-15 11:50:36 +03:00
Azamat H. Hackimov
7396ddd576 EDITOR: Replace ddio_FindFileStart() with ddio_DoForeachFile()
Applied some minor additional code optimization.
2024-08-15 11:50:36 +03:00
Azamat H. Hackimov
61ed7cedcf Fix D3Editor compilation 2024-08-15 11:50:36 +03:00
Azamat H. Hackimov
c76fc45fda NETCON: replace DLLddio_FindFileStart() with DLLddio_DoForeachFile()
Refactor code, related to game type and mission file discovery and UI representation.
2024-08-15 11:50:36 +03:00
Azamat H. Hackimov
6cbf4c9d20 Remove unused DemoPlayAutoDemo() 2024-08-15 11:50:36 +03:00
Azamat H. Hackimov
8f48c183aa Cleanup pilot.cpp
Fix warnings, remove unused code.
2024-08-15 11:50:36 +03:00
Azamat H. Hackimov
fa1b35a1dc Rewrite pilot.cpp for custom graphics handling
Simplify code regarding file discovery (ddio_DoForeachFile) and memory allocations.
2024-08-15 11:50:36 +03:00
Azamat H. Hackimov
6f94d4073f Make MercInstalled() function available from header 2024-08-15 11:50:32 +03:00
Azamat H. Hackimov
01e6b1c915 Rewrite pilot.cpp for audiotaunts handling
Simplify code regarding file discovery (ddio_DoForeachFile) and memory allocations.
2024-08-15 11:48:16 +03:00
Azamat H. Hackimov
c9dbdc12db Major rewrite pilot.cpp around file discovery
Replace ddio_FindFileStart() with ddio_DoForeachFile(). Replace linked list with std::vector for discovered pilot files. Cleanup related code.
2024-08-15 11:48:16 +03:00
Azamat H. Hackimov
227b76a079 Convert CRC functions in pilot.cpp to use std::fs::path 2024-08-15 11:48:16 +03:00
Azamat H. Hackimov
fb45918b95 Refactor DoPathFileDialog()
Rewrite DoPathFileDialog() to use std::fs::path.
2024-08-15 11:48:16 +03:00
Azamat H. Hackimov
8943c676a1 MISC: Add StringJoin() and StringSplit() functions
Added new functions for std::string manipulation.
2024-08-15 11:48:16 +03:00
Azamat H. Hackimov
233dc8bb39 Cleanup newui
Remove some code related to unused DoFileDialog().
2024-08-15 11:48:16 +03:00
Azamat H. Hackimov
b30597ae90 Change Multi*Settings() to use std::fs::path 2024-08-15 11:48:16 +03:00
Azamat H. Hackimov
7a3f46ad4c Change SimpleStartLevel() to use std::fs::path 2024-08-15 11:48:16 +03:00
Azamat H. Hackimov
4bf097d0ff Use std::fs::path in demofiles 2024-08-15 11:48:16 +03:00
Azamat H. Hackimov
c6919f93b0 Rework GetDirectoriesInPath() to use std::fs::directory_iterator
Probably there need more deep refactor... This function uses twice - for counting directories and then fetching actual list!
2024-08-15 11:48:16 +03:00
Azamat H. Hackimov
d5127fd9ff Use ddio_DoForeachFile() in multi_ui.cpp
Replace ddio_FindFileStart() with ddio_DoForeachFile().
We don't support HEAT.NET anymore, so removing it from sorting order. Now "Parallax Online" is first entry in multiplayer list.
2024-08-15 11:48:16 +03:00
Azamat H. Hackimov
db627322e6 Properly cleanup tmp files in multi_dll_mgr.cpp
ddio_DeleteFlie() can't handle globbed paths (at least on Linux), replace it with ddio_DoForeachFile().
2024-08-15 11:48:16 +03:00
Azamat H. Hackimov
bd4cc1655a menu.cpp: replace ddio_FindFileStart() with ddio_DoForeachFile() 2024-08-15 11:48:14 +03:00
Azamat H. Hackimov
8a9b93acfd init.cpp: replace ddio_FindFileStart() with ddio_DoForeachFile() 2024-08-15 11:47:43 +03:00
Azamat H. Hackimov
0ba3828a13 LINUX: minor cleanup on lnxcontroller.cpp 2024-08-15 11:47:43 +03:00
Azamat H. Hackimov
b911d81c2a LINUX: Use ddio_DoForeachFile()
Replace ddio_FindFileStart() with ddio_DoForeachFile().
2024-08-15 11:47:43 +03:00
Azamat H. Hackimov
0805e97061 DDIO: New ddio_DoForeachFile() function
Cross-platform ddio_DoForeachFile() replaces platform-specific ddio_FindFileStart(), ddio_FindNextFile() and ddio_FindFileClose() functions.
2024-08-15 11:47:43 +03:00
Azamat H. Hackimov
ec065b2a07 DDIO: remove unused ddio_GetFullPath() 2024-08-15 11:47:43 +03:00
Azamat H. Hackimov
45361c453d
Merge pull request #521 from Lgt2x/usage-instructions
Create usage file for the packaged version
2024-08-15 10:22:04 +03:00
Louis Gombert
164f102368 Split README between README, BUILD and USAGE files.
Prepare those files to be shipped with the pre-built assets.
2024-08-15 01:02:10 +02:00
Louis Gombert
a78eb53f69
Merge pull request #525 from winterheart/release-actions
Add release flow to GitHub Actions
2024-08-13 09:18:48 +02:00
Louis Gombert
bda97fc57a
Merge pull request #523 from DescentDevelopers/windows-fix
Fixes for Windows build
2024-08-12 22:49:09 +02:00
Azamat H. Hackimov
03a3b923a0 Add release flow to GitHub Actions
Initial support to automate release flow. Now after git tag of specific commit GitHub Actions will create a draft entry of release (named by tag) with source code package on it.
2024-08-12 17:07:44 +03:00
Azamat H. Hackimov
73373205e5
Merge pull request #517 from Lgt2x/cmake-headers
CMake: add all headers to target sources
2024-08-12 15:58:05 +03:00
Louis Gombert
e74515ddff
Merge pull request #524 from MaddTheSane/netDylib
macOS: Fix netgames not looking for dylib.
2024-08-12 09:10:14 +02:00
C.W. Betts
0d9873a361 macOS: Fix netgames not looking for dylib.
replaces #522
2024-08-11 23:07:25 -06:00
Azamat H. Hackimov
f888a101ab Fix crash in Release mode for new pilot
During start of new game with new pilot (never played) game tries to inject to play level1.mve before training mission right in the middle of update UI frame. At same time, if game previously found mainmenu.mve, it will be looped in main menu screen. Since buffers for MVE playback already allocated fo mainmenu.mve, trying to start another movie will lead to crash.

Removed movie injection from playing, now new pilot will see this sequence:

New game -> Training mission -> level1.mve cutscene -> Level 1

Removed RELEASE #ifdef's on this part of code as this definitely masked issue until we caught it in preparation of release build.
2024-08-12 01:44:21 +03:00
Azamat H. Hackimov
ba1020ef70 Fix compilation on Windows
SetUnhandledExceptionFilter requires WINAPI macros on RecordExceptionInfo() declaration, otherwise it fails to compile on x86 arch.
2024-08-11 20:40:19 +03:00
Louis Gombert
6ec444d9cc
Merge pull request #514 from pzychotic/windows-crashdumps
Windows crashdumps
2024-08-11 12:34:38 +02:00
Louis Gombert
688bb3715b
Merge pull request #519 from winterheart/vecmat-cleanup
VECMAT: Silence "unknown pragma" warning on gcc/clang
2024-08-11 10:35:08 +02:00
Azamat H. Hackimov
39f971e325 VECMAT: Silence "unknown pragma" warning on gcc/clang
There no double to float conversion anymore, so in Windows this pragma is useless.
2024-08-11 04:06:43 +03:00
Thomas Roß
1809f48ca9 [Misc] Removed some leftover debug stuff that does nothing anymore. 2024-08-10 18:44:29 +02:00
Thomas Roß
33288916c2 Replaced the old and now unused code for manunal callstack parsing with the creation of a crashdump file aka MiniDump. Together with the matching debug symbols from the previous commit, we can analyse these crashdumps to fix the problem. 2024-08-10 18:41:48 +02:00
Thomas Roß
0d01d3c84c [Build] Enable the generation of debug symbols in all build configurations and install them to be available in our GitHub workflow artifacts. This prepares us to create crashdumps on user systems even from release builds that we will than be able to analyse on a dev machine. 2024-08-10 18:40:24 +02:00
Azamat H. Hackimov
b923179526
Merge pull request #518 from Lgt2x/disable-editor
Disable shipping the editor because it is not currently usable
2024-08-10 17:43:24 +03:00
Louis Gombert
9551e78b92 Disable shipping the editor because it is not currently usable 2024-08-10 01:07:18 +02:00
Louis Gombert
dbf6c149f5
Merge pull request #515 from MaddTheSane/netDylib
macOS: Make sure the netcon modules end with dylib.
2024-08-10 00:27:15 +02:00
Louis Gombert
60c5dbf1fe CMake: add all headers to target sources
This can help with CMake IDE integration and file indexing.
2024-08-09 17:09:14 +02:00
C.W. Betts
7d5b51e8f8 macOS: Make sure the netcon modules end with dylib. 2024-08-05 15:54:38 -06:00
Louis Gombert
05e873ade4
Merge pull request #512 from tophyr/pr/fix-vcpkg
Fix VCPKG builds in GitHub CI
2024-08-04 18:13:34 +02:00
Louis Gombert
4c4cd9cfc6
Build SDL2 with alsa for VCPKG 2024-08-04 10:49:48 -05:00
Chris Sarbora
f93f86e7dd
Update CI workflow with correct vcpkg dependencies 2024-08-04 10:42:09 -05:00