157 Commits
Author SHA1 Message Date
Shivansps 1d0dd687cd Android Build (#6992)
* android build support

* Update es_compatibility.h

* Support reporting flags in android

* include pref_path in json v2

* add vulkan headers

* shaderc includes

* remove headers

* force use prebuilt vulkan

* fix vulkan inverted screen

* fix find sdl3 precompiled android

* Update CMakeLists.txt

* replace sdl2 android function names for sdl3 versions

* change sdl includes in osapi

* fix sdl3 includes, again

* rename function to sdl3 name

* remove unused definition

* copy libshaderc_shared.so to output in android

* do not look for vulkan-loader in android

* revert changes to SDL2.cmake

* add comment to vulkan pretransform setup

* cleanup maxsize function

* rename new android functions in osapi

* android trap back button

* Remove calculate_max_resize_max_size

* touch ui opacity control

* change opacity control to int

* fix opacity slider

* Corrected android working folder fallback and set borderless mode as default

* Implement shared helper for JNI calls

* Add version tag and sha256 to android prebuilt libs

* vulkan android check eSuboptimal

* An already requested rebuild also avoids redundant Android surface queries

* add cache bool to cmakelist

* set string ids
2026-11-05 20:56:36 +01:00
Taylor Richards 039880491a port to SDL3 (#7220)
Basic port from SDL2 to SDL3. Also updates imgui to 1.92.5.
2026-07-23 15:52:27 +02:00
Taylor Richards fc7389f95a fix various compiler warnings 2025-08-18 11:59:22 -04:00
Goober5000 5c737a5bf9 improve campaign file extension handling (#6443)
As discovered by WouterSmits, campaigns with periods in their filenames caused issues with FSO's campaign handling.  Specifically, in The Babylon Project, the EA-Minbari war v1.0.fc2 campaign would not save progress because FSO expected EA-Minbari war v1.fc2 in certain places.  This is because the `_splitpath()` function attempted to remove an extension from a filename that already had it removed.  For most campaigns this did not matter, but WouterSmits found a campaign where it did.

To solve this, there is now a new `util::get_file_part()` function to remove the path without removing the extension.  This replaces `_splitpath()` for campaign files, as well as the similar `clean_filename()` and `GetFilePart()` functions in other places.  All code paths were inspected for any chance of inadvertent extension adding, and Assertions were added to verify future code.  The only potential problem area was `player:loadCampaignSavefile()` which now pre-removes the campaign extension if needed.
2024-12-22 22:31:58 +01:00
Taylor Richards ff01dc02a7 adjust data type to avoid header conflict 2020-08-30 00:03:14 -04:00
Taylor Richards 90dbc8f2c3 deal with compiler errors and warnings on Windows 2020-08-30 00:03:14 -04:00
Taylor Richards 92be33ad9c first pass at IPv6 support 2020-08-30 00:01:00 -04:00
Taylor Richards 7da6276f07 fix type issue with XP compat code 2019-12-12 08:06:59 -05:00
Taylor Richards c286c4c2ce add support for automatic port forwarding 2019-12-12 08:06:59 -05:00
Taylor Richards d223aee4e7 fix PXO banners (and inetgetfile stuff) 2019-12-05 01:30:18 -05:00
Goober5000 d3d6e2ea41 add informative comment 2019-10-13 13:44:28 -04:00
Goober5000 2f00b3a081 fix FreeBSD warning in stubs.cpp
Use m!m's suggestion to fix issue #1138
2019-10-12 13:04:04 -04:00
asarium f75cb1edd3 Add deprecation feature for the scripting API
This allows to mark certain functions or virtvars to be declared as
"deprecated" starting with a specific engine version. What this means is
that a special message will be added to the documentation stating since
when the function is deprecated and can contain an optional message. The
actual enforcement of the deprecation depends on the target version of
the mod so that we can stay backwards compatible.

If the mod supports the version since when the function is deprecated,
it will not be added to the Lua state which means that it doesn't exist
for the calling script. If the targetted version is before the stated
version, the function will still be added to the Lua state.

As the first function to use this feature, I have deprecated
createParticle in the testing library and moved it to the graphics
library with a new name reflecting that it creates a persistent
particle. I also added the corresponding function for adding a
non-persistent particle.
2019-06-30 11:31:32 +02:00
asarium 7173299ca7 Add new libRocket UI system
This new system allows to create a user interface that goes beyond the
existing UI system.
2018-09-16 13:55:29 +02:00
asarium eeed22b91a Enable misc-unused-parameters
clang-tidy was used for fixing the warnings. It is not clear if this is
actually an improvement so this may still be disabled later.
2018-04-25 11:57:55 +02:00
asarium 0b4ca71eba Enable modernize-deprecated-headers 2018-04-25 11:12:41 +02:00
m!m a3f9febdc4 Merge pull request #1668 from asarium/build/minGWFixes
Fix various issues detected by MinGW
2018-04-21 22:59:54 +02:00
asarium 9b5710e8c3 Fix various issues detected by MinGW
This fixes various issues I found while trying to compile FSO in a cross
compilation setup using MinGW. This is a prerequisite for merging Tea-CI
support.
2018-04-21 15:13:25 +02:00
asarium 4f22b12ec6 Mark all external libraries as system includes 2018-04-13 15:40:11 +02:00
asarium deff6c9ec1 Remove now unused lua.h file 2016-12-30 12:33:32 +01:00
asarium 92cb2140aa Replace _isnan with std::isnan 2016-10-15 19:37:18 +02:00
asarium 599260f2e5 Use platform checks to determine case compare function 2016-10-15 19:37:18 +02:00
asarium 43ceefde5f Cleanup config.h a bit more 2016-10-08 21:27:17 +02:00
asarium 62226e71e7 Remove Ogg/Theora/Vorbis and ACM library files
They are no longer needed since decoding is provided by FFmpeg
2016-10-07 11:27:43 +02:00
asarium 6dbf200cc3 Move lua to scripting folder 2016-10-03 21:38:29 +02:00
asarium facac997f1 Fix a few issues with MinGW
This does not mean that MinGW can compile FSO yet, these are just a few
fixes that are needed.
2016-09-06 10:49:48 +02:00
Risto Toijala cea600b265 Create data path for log file
Opening the log file failed when the data path did not exists, e.g.
during the user's first run. Create it before trying to open the log
file.

Also, include <direct.h> in windows_stubs/config.h since the equivalent
stubs for Unix are also declared there.
2016-08-29 17:19:31 +03:00
asarium 3942de94f6 Fix WAV parsing on UNIX
The code was using the 32-bit types while being compiled under 64-bit
because a header was missing. I fixed this issue by using fixed width
integer types.
2016-08-27 18:24:08 +02:00
asarium cd598a1cf8 Move 64-bit detection to CMake 2016-08-23 15:45:02 +02:00
asarium e8fe940287 Cleanup config.h 2016-08-22 22:17:34 +02:00
Risto Toijala c1307fc213 Fix _mkdir on non-Windows
_mkdir was horribly broken. It was creating all directories in the given
path but failed to create the actually wanted last portion.

On Windows, _mkdir only creates the last portion.

Fix this by simply calling mkdir, which does the Right Thing (TM).
2016-08-19 20:45:39 +03:00
z64555 2b4117256a Adds macro to replace instances of the deprecated filelength with _filelength if using MSVC. 2016-08-14 20:11:40 -05:00
asarium 2b52c7888e Remove _cdecl usages 2016-08-10 18:03:29 +02:00
asarium 74b0702577 Specify ignored warnings in CMake toolchain file
This means that it's no longer necessary to include pstypes.h just for
ignoring the standard warnings.
2016-08-10 17:24:04 +02:00
asarium 7b352e511c Add new memory tracking subsystem
This expands the existing system which only worked on Windows to all
supported platforms.

If the MSVC debug runtime is not present then its behavior is emulated
by adding a header to each allocated memory block.
2016-07-29 11:02:45 +02:00
asarium 06768e72d4 Use Platform checks for determining if a header is available 2016-07-27 22:24:28 +02:00
asarium 1bcd5400d3 Move build system to CMake 2016-07-22 12:07:19 +02:00
asarium cd2a692150 Merge branch 'master' into antipodes_/sync 2016-07-04 11:15:40 +02:00
tomimaki 1b65fd50a0 Fix compiling debug build on linux with glibc 2.23 (#1) 2016-06-04 00:11:04 +02:00
The E e6aa565b42 Name change as suggested by m|m 2015-10-26 20:31:24 +01:00
The E 788e28c646 Creates a new variant of Warning that is not #ifdefed out on release to make the debug sexp work as its description implies 2015-10-26 19:47:51 +01:00
asarium a38908af19 Improve linux stacktraces
The new version of dumP-stacktrace uses abi::__cxa_demangle to determine the real name of a C++ function instead of printing the mangled name to the stacktrace.
2015-09-02 16:28:20 +02:00
Fabian Woltermann e02adc2b8f Merge pull request #329 from asarium/antipodes_/stubsCleanup
Remove usage of HMMIO
2015-08-31 09:02:06 +02:00
asarium 451d451417 Replace Win32 MessageBox with os::dialogs version
Also moved SCP_MessageBox into os::dialogs namespace
2015-08-28 16:24:35 +02:00
asarium 45ba56a721 Remove usages of mmio 2015-08-28 11:47:26 +02:00
asarium 9589751f3d Remove now unused compatibility function 2015-08-28 10:55:07 +02:00
asarium 73e6f1fc07 Fix gcc/clang compilation warnings 2015-08-24 12:20:50 +02:00
asarium 3826e24da2 Fix format warning in stubs.cpp 2015-08-19 11:26:30 +02:00
asarium d93f2e9d26 Add format specifying macros 2015-07-26 14:08:31 +02:00
asarium 5a107d3834 From chief1983: Also fix errors in rtvoice.cpp 2015-07-16 20:24:36 +02:00