Commit graph

64 commits

Author SHA1 Message Date
ROllerozxa
4c395f09af Build TMS as a unity build too
The C portion of TMS is its own unity build chunk while the portions of TMS in C++ are lumped into the main chunk
2026-06-07 21:13:52 +02:00
ROllerozxa
a2b7870842 Clean up TMS includes in Principia code
Always only `#include <tms/cpp.hh>` in C++ source files to make sure everything gets included with the correct declarations (i.e. `extern "C"` for TMS C stuff)
2026-06-07 20:50:17 +02:00
ROllerozxa
9ffb133da5 Add experimental unity build support behind UNITY_BUILD compile option
It will build most of the main C++ codebase in one chunk, as well as build the entirety of Box2D in its own chunk. This should significantly improve build times for full builds.
2026-06-07 19:20:21 +02:00
ROllerozxa
8246880adc Don't link against GTK3 libs if we're doing a desktop build with Imgui backend 2026-06-03 19:05:18 +02:00
ROllerozxa
f564ba2e3f Fix move_matching_files Windows codepath in migration code
Need to turn strings wide for the UTF-16 Win32 API functions...
2026-05-31 21:49:16 +02:00
ROllerozxa
e9893fc481 Fix Windows build on Clang 22 2026-04-15 21:41:44 +02:00
ROllerozxa
e83b594ef0 Refactor LuaScript code, split out API into separate files 2026-03-15 22:09:36 +01:00
ROllerozxa
b66c183655 Enable Luasocket on Android 2026-03-12 21:41:15 +01:00
ROllerozxa
786356968b Switch to imgui_freetype for rendering text in Imgui dialogs 2026-01-10 19:27:52 +01:00
ROllerozxa
91695dafe7 Split off Imgui dialogs into one source file for each
Also refactor all other dialog backends into their own proper source files
2026-01-10 13:00:03 +01:00
ROllerozxa
81d7731665 Emscripten: Implement downloading community levels
Adding ?play=[id] to the deployed HTML file will download and play that specific ID from the community site
2025-12-27 21:39:02 +01:00
ROllerozxa
faba0b247e Use Imgui dialog backend for the web version 2025-12-27 17:12:31 +01:00
ROllerozxa
a6704c8d8e Fix Imgui backend on GLES 2025-12-04 20:16:12 +01:00
ROllerozxa
2034ca87e6 Switch from GLEW to GLAD 2025-12-04 20:01:00 +01:00
ROllerozxa
d0cb87557a Use TMS_FAST_MATH implementations on Android too 2025-04-03 23:51:09 +02:00
ROllerozxa
a1404b55f9 Merge Android backend into unified backend 2025-03-22 21:53:28 +01:00
ROllerozxa
4e6f127a91 Use Emscripten ports for all web dependencies & disable cURL 2025-03-10 23:21:07 +01:00
ROllerozxa
07e7921719 Emscripten build fixes, merge Emscripten backend into shared backend 2025-03-10 22:05:42 +01:00
ROllerozxa
15bfab9e60 Move in-tree libraries to lib/, move main codebase into root of src/ 2025-03-05 20:23:30 +01:00
ROllerozxa
7e7aca613f Merge data-pc into data
Android now uses the JPEG textures that the PC version used, instead of the ETC1 encoded images in `data-mobile`. ETC1 texture loading is also removed as it is now unused.
2025-03-04 22:50:32 +01:00
ROllerozxa
523f2dc01c data-shared -> data 2025-03-04 21:51:19 +01:00
ROllerozxa
55388ba923 Add incomplete Dear Imgui dialog backend
Co-authored-by: griffi-gh <prasol258@gmail.com>
2025-03-04 21:35:07 +01:00
ROllerozxa
d81049a3a7 Fix Windows build 2025-03-04 00:19:45 +01:00
ROllerozxa
6837f9b8ae Minor CMake cleanups 2025-03-03 22:22:27 +01:00
ROllerozxa
6e11074ca1 Actually define SCREENSHOT_BUILD for screenshot builds
oops
2025-03-03 22:07:02 +01:00
ROllerozxa
d2bdf059c8 Remove LINUX_SS TMS backend
Use a SCREENSHOT_BUILD definition to control building screenshotter-specific code
2025-03-03 22:04:24 +01:00
ROllerozxa
8ecccc1653 Distinguish builds with commit rather than build date 2024-10-16 22:04:52 +02:00
ROllerozxa
2ab1fc11f3 Move Box2D up into src/ 2024-09-01 20:48:01 +02:00
ROllerozxa
a50833402b Refactor cURL networking code into own source file 2024-07-07 23:21:10 +02:00
ROllerozxa
a652f22e30 Put GLEW-specific codepaths behind a TMS_USE_GLEW define 2024-07-02 23:28:12 +02:00
ROllerozxa
08d088be83 Decrease the amount of math optimisation flags
Found one thing that breaks with fast-math on GCC (breadboard texture), who knows what else may be broken. Only use a subset that should be completely safe to use.
2024-06-24 22:15:54 +02:00
ROllerozxa
8773e540f3 Move pipe code out into own source file 2024-06-22 20:07:38 +02:00
ROllerozxa
dc0ad32a00 Initial Emscripten web port 2024-06-17 21:36:44 +02:00
ROllerozxa
4066de5726 Allow compiling with OpenGL ES on Linux with USE_GLES 2024-06-15 23:05:10 +02:00
ROllerozxa
5b8824a59a Upgrade SDL2 on Android to the latest version
From the old bundled ~2012 SDL2 beta version to 2.30.3
2024-06-15 21:57:01 +02:00
ROllerozxa
c604e53328 Fix warnings that turned into errors in GCC 14 and some more
Principia now compiles without needing to downgrade any errors again!
2024-06-05 23:55:40 +02:00
ROllerozxa
9c6b26f2b5 Minor CMake and Luasocket cleanups 2024-06-05 21:23:36 +02:00
ROllerozxa
fd51772378 Compiler flag tweaks
Includes enabling -ffast-math on release (used to be enabled in the old build systems) and shrinking the Windows executable size again.
2024-05-25 16:57:17 +02:00
ROllerozxa
75163f3f09 Unify backends and clean up compiler flags 2024-05-14 23:16:06 +02:00
ROllerozxa
2da509a8b4 Package macOS bundle 2024-05-11 16:55:25 +02:00
ROllerozxa
925975d619 Fix building on GCC 14 2024-05-11 16:49:50 +02:00
ROllerozxa
fcbbfc261d Initial macOS support
Compiles successfully, but no idea if it runs as I can't test OpenGL in a VM.
2024-05-05 21:55:17 +02:00
ROllerozxa
9e7e841ec8 Remove some stuff from the vendored Android SDL library that's not used 2024-04-28 00:02:05 +02:00
ROllerozxa
b3efb77334 Switch Android build system to use CMake 2024-03-11 20:44:22 +01:00
ROllerozxa
f4e3c7b32d Initial Haiku port 2024-02-28 23:55:45 +01:00
ROllerozxa
41d1783a8b Add AppStream metainfo file for Linux packaging 2024-02-11 23:29:59 +01:00
ROllerozxa
7cdd555521 Fix generation of Windows resource file 2024-01-28 21:45:45 +01:00
ROllerozxa
8afd0d135f Windows and Linux backend cleanups, move some platform-specific compiler flags 2024-01-28 21:45:17 +01:00
ROllerozxa
ddf753f774 Update bundled SDL2_mixer 2024-01-15 20:12:07 +01:00
ROllerozxa
bfa796260c Update bundled SDL2_image and build with it on all platforms again 2024-01-14 21:21:07 +01:00