Commit Graph

192 Commits

Author SHA1 Message Date
Chris Sarbora
0d5aa9df1d g3_Init and g3_Close do nothing 2024-08-18 02:49:07 -05:00
Chris Sarbora
fb2dbe8c92 Delete empty method 2024-08-18 02:49:07 -05:00
Chris Sarbora
8d26df7b25 Delete written-only fields 2024-08-18 02:49:07 -05:00
Chris Sarbora
41a04aedd2 dead code 2024-08-18 02:49:06 -05: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
Louis Gombert
ae5840f314 Merge pull request #502 from winterheart/modules-split
Splitting submodules of project
2024-07-30 23:17:47 +02:00
Louis Gombert
ae58bb674f Remove leftover glide renderer references 2024-07-28 17:52:01 +02:00
Azamat H. Hackimov
cb9e0f8828 Remove unused osTask class 2024-07-28 16:50:43 +03:00
Azamat H. Hackimov
fc209ddba4 Remove unused texture.h 2024-07-28 16:50:43 +03:00
Azamat H. Hackimov
220108f650 Isolate libacm module
Update libacm module, minor cleanups.
2024-07-28 16:50:43 +03:00
Azamat H. Hackimov
c773fbbe70 Isolate unzip module
Update unzip module, minor cleanups.
2024-07-28 16:50:43 +03:00
Azamat H. Hackimov
7ba009b811 Isolate rtperformance module
Update rtperformance module, minor cleanups.
2024-07-28 16:50:42 +03:00
Azamat H. Hackimov
b9da6b59ff Isolate physics module
Update physics module, minor cleanups, remove unused code.
2024-07-28 16:50:42 +03:00
Azamat H. Hackimov
9e3563de4d Isolate model submodule
Isolate model from rest of the project, minor cleanups.
2024-07-28 16:50:42 +03:00
Azamat H. Hackimov
7b31572d05 Isolate grtext submodule
Isolate grtext from rest of the project, minor cleanups.
2024-07-28 16:50:42 +03:00
Azamat H. Hackimov
87882c9976 Isolate ui submodule
Isolate ui from rest of the project, minor cleanups.
2024-07-28 16:50:41 +03:00
Azamat H. Hackimov
e9ac3b3ceb Merge d3movie module into Descent3
Simplify project layout, minor cleanup.
2024-07-28 16:50:41 +03:00
Azamat H. Hackimov
73d4853505 Merge d3music module into Descent3
Simplify project layout, minor cleanup.
2024-07-28 16:50:41 +03:00
Azamat H. Hackimov
e93a8bfc0e Remove czip module as unused 2024-07-28 16:50:41 +03:00
Azamat H. Hackimov
f1737d2a19 Isolate AudioEncode submodule
Isolate AudioEncode from rest of the project, minor cleanups
2024-07-28 16:50:41 +03:00
Azamat H. Hackimov
506521695a Isolate 2dlib submodule
Isolate 2dlib from rest of the project, minor cleanups
2024-07-27 22:21:29 +03:00
Chris Sarbora
3da53e567f Programmatically replace all __LINUX__ with POSIX
Steps:
```sh
srcs=$(mktemp)
find . -name "*.cpp" -or -name "*.c" -or -name "*.h" -or -name "*.hpp" -or -name "*.cc" -or -name "*.hh" > $srcs
xargs sed -i 's/ifndef __LINUX__/if !defined(POSIX)/' < $srcs
xargs sed -i 's/ifdef __LINUX__/if defined(POSIX)/' < $srcs
xargs sed -i 's/defined(__LINUX__)/defined(POSIX)/' < $srcs
```
2024-07-12 18:11:54 -05:00
Azamat H. Hackimov
5a4e1533a6 Fix playback case-insensitive intros 2024-07-09 09:47:11 +03:00
Azamat H. Hackimov
4f0e0f87a5 Cleanup MVE library
Remove old implementation, cleanup unused code.
2024-07-09 03:40:49 +03:00
Azamat H. Hackimov
b94458f561 MVE: Switch to D2X implementation (first run)
Adapting movie and mve interfaces each other.
Converted open() to fopen() et al. calls.
movie expected image as RGB565 from old mve, but now it's RGB555, so there no need additional conversion. Fixed hicolor related conversion of width in movie's callbacks. Headers cleanup in both subsystems.

Sound and frame callbacks are still unavailable.
2024-07-09 03:40:49 +03:00
Azamat H. Hackimov
41ec941b50 Convert bm_SaveFileBitmap() and SaveVClip() to std::fs::path 2024-07-05 01:50:57 +03:00
Azamat H. Hackimov
3af18dadc3 MANAGE: convert some global path variables to std::fs::path
Simplifies code related to UpdatePrimitive().
2024-07-01 12:50:49 +03:00
Azamat H. Hackimov
c33d99a5db MANAGE: convert UpdatePrimitive() to use std::fs::path 2024-07-01 12:50:49 +03:00
Louis Gombert
18c9950b97 SDL2 editor: compile win32 and dd_grwin32 with directX 2024-06-29 18:21:37 +02:00
Louis Gombert
91c18fefc5 Windows SDL2 compilation 2024-06-29 18:21:37 +02:00
Azamat H. Hackimov
59487976f6 Isolate misc module
Isolate misc module for better dependency handling.
2024-06-27 01:26:35 +03:00
Chris Sarbora
6953a76ad5 Define OutrageMessageBox regardless of DEBUG 2024-06-24 22:27:55 -05:00
Louis Gombert
35615b1f4e Merge pull request #464 from tophyr/type-defs
Add <cstdint> for type definitions
2024-06-24 19:07:59 +00:00
Louis Gombert
53759c5dbb Merge pull request #454 from pzychotic/fix-ship-select-screen
Fix ship select screen
2024-06-24 19:06:11 +00:00
Chris Sarbora
ab819b8018 Add <cstdint> for type definitions 2024-06-24 02:05:22 -05:00
Azamat H. Hackimov
743f782815 Merge pull request #453 from Lgt2x/remove-intellivibe
Remove intellivibe interface
2024-06-23 18:06:25 +03:00
Thomas Roß
62784c40c4 [Renderer] Added g3_GetAspectRatio() and made g3_SetAspectRatio() available through 3d.h to prevent use of extern. 2024-06-22 17:59:27 +02:00
Louis Gombert
fa2061dc76 Remove intellivibe interface
Intellivibe is an interface for VRF's Tactile Feedback System hardware, now discontinued.
2024-06-22 03:20:26 +02:00
Azamat H. Hackimov
db8aa64d2f Make mem module isolated from project
Properly define MEM_USE_RTL definition only for mem library. Link other dependant modules with mem.
2024-06-20 00:43:51 +03:00
Louis Gombert
1e44581171 Merge pull request #443 from winterheart/ddio-filesystem
Migrating some of ddio functions to use std::filesystem::path
2024-06-18 18:54:59 +00:00
Azamat H. Hackimov
f5e936e939 Move IOOpts.h into main tree
Added bin_read function for reading capabilities. Force checking types to arithmetic (int and float)
2024-06-17 01:55:02 +03:00
Louis Gombert
aa0b5ce4f1 Merge pull request #436 from winterheart/memory-functions
Changes to memory management functions
2024-06-16 18:14:42 +00:00
Azamat H. Hackimov
c8fa74550a Use RTL memory functions by default
Use Real-time library memory functions by default which improves overall performance. Minor cleanups.
Introduce new CMake option to enable/disable RTL memory functions (enabled by default).
2024-06-15 22:07:45 +03:00
Ryan C. Gordon
393a39b709 opengl: use SDL_WINDOW_FULLSCREEN_DESKTOP and an FBO.
This now renders to an OpenGL Framebuffer Object at the game's resolution,
and blits it to the window at whatever resolution it is currently using,
scaling and letterboxing if necessary.

Which is to say: display resolutions are now imaginary, and we never change
the physical display mode now. A smaller resolution is simply drawing less
pixels and scaling them up with the GPU for display. This solves a few
problems: no more resizing background windows or desktop icons shuffling
around, no more being stuck in a weird resolution when debugging or if the
game crashes, no more waiting on monitors to click over to a new mode, and
no more weird rendering when the display didn't exactly support the requested
mode.

This also means the game doesn't have to drop down to 640x480 for the config
menu screen when it was otherwise using some other resolution.

Some caveats:

- This _requires_ OpenGL Framebuffer Object support; there is currently no
fallback if it's missing and the game will refuse to start. But any desktop
hardware of the last ~20 years should support it. For weird embedded things
or whatnot, it will be possible to add a fallback.

- This currently requires SDL. The OpenGL pieces should work on Windows, but
someone would need to adjust the existing win32 code to create a fullscreen
window and not change the physical display mode. It should still compile on
windows and work as before (untested by me, though).

- This is only OpenGL; it does not touch the Direct3D renderer, which should
continue to work as before (again, untested by me).
2024-06-14 03:56:49 -04:00
Edu Garcia
9e93fc3bad Merge pull request #397 from Lgt2x/d3-editor
Build internal level editor (WIP, doesn't actually run)
2024-06-14 07:28:03 +01:00
Louis Gombert
3036f44017 x64 compilation fixes 2024-06-09 20:12:47 +02:00
Louis Gombert
bcca92722d Release build fixes 2024-06-07 23:50:38 +02:00
Louis Gombert
b8949f292d more windows editor 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
Chris Sarbora
45fe157563 Eliminate warnings in winapp.cpp
Uninitialized data
Bad parameters
Deprecated methods
2024-06-07 01:18:04 -05:00