Commit graph

564 commits

Author SHA1 Message Date
Dimitris Dafnis
08ab103f44
Guard external URL launch in the in-game WebView (#215)
When the WebView opens a URL that is neither a principia: link nor a
community-host page, it hands it to an external app with
startActivity(ACTION_VIEW). On a device with no app able to open the URI
that call throws ActivityNotFoundException and the activity crashes.

Wrap the launch in a try/catch so an unresolvable link is logged and the
WebView dialog still closes cleanly.
2026-06-04 20:37:22 +02:00
ROllerozxa
de03bb63fe Remove unnecessary Windows-specific codepath for getting level modification date
mingw-w64 has historically provided polyfills for this, but seems like UCRT also provides this functionality nowadays, so no reason to keep this around
2026-06-03 20:51:14 +02:00
ROllerozxa
ef59cc871a Use real GL types for pipeline uniform functions 2026-06-03 19:07:00 +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
814eaea412 Remove some unnecessary FILE_IN_ASSET usages
These methods are never used for loading the main puzzle package or levels on Android
2026-06-02 22:12:16 +02:00
ROllerozxa
63d60d6a45 Add progress-dump tool for dumping data.bin progress data 2026-06-02 21:29:56 +02:00
ROllerozxa
cfcc169661 Cleanup and minor refactoring of progress.cc/hh
Also document some stuff in the progress.hh header
2026-06-02 21:23:20 +02:00
ROllerozxa
2a8ad3df09 Deduplicate and reduce indentation in some pkgman methods 2026-06-02 21:09:48 +02:00
ROllerozxa
a9408d30ca Import Kaitai Struct files into utils/kaitai/
Originally maintained at https://github.com/principia-game/kaitai
2026-06-02 16:52:24 +02:00
ROllerozxa
10e05d687b Add package-creator tool for making package files from JSON data
Rewritten from the PackageCreator Python script to use Principia's own package writing utilities instead
2026-06-02 16:14:56 +02:00
ROllerozxa
6ea828e4d3 Fix up usage instructions for featured-list-creator
Make it more in line with how it is for the other util programs
2026-06-02 00:38:18 +02:00
ROllerozxa
66923575b4 Merge in featured-list-creator into utils/
Originally a C program (previously Python script) at https://github.com/principia-game/featured-list-creator for creating fl.cache files for the community site, merge into the main repository so it is with all the other util programs.
2026-06-02 00:31:44 +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
734fb3f8d7 Add lvlbuf-decompressor tool for decompressing level buffer
Rewritten from the original `level-decompressor` Python script into C++ using Principia's own level reader
2026-05-31 01:14:08 +02:00
ROllerozxa
71be99541b Add compiler flags for dead code removal in util programs 2026-05-31 00:17:48 +02:00
ROllerozxa
0051979187 Add lvl-icon-extractor tool for extracting icon from level files
Rewritten from the original `level-screenshot-converter` Python script into C++ using Principia's own level reader and libpng directly
2026-05-31 00:17:18 +02:00
ROllerozxa
01236f4b31 Move util programs back into main repository
Also includes new Makefiles for building them and a README in the main utils dir
2026-05-30 01:04:34 +02:00
ROllerozxa
f2413ac302 Cleanups in pkgman source file
Code cleanups, convert comments into annotations consumable by Doxygen, etc...
2026-05-30 00:49:13 +02:00
goodusername123
2a5a1e98ff
make Windows installer high DPI aware. (#213)
also flips on `XPStyle` to ensure newer styled UI controls are used.
2026-05-28 14:19:49 +02:00
ROllerozxa
cdb15b688b Fixes in imgui dialog code
Fixes for things that broke in a newer version of dear imgui & other bugfixes
2026-05-17 22:37:24 +02:00
ROllerozxa
b86f959b6f Update Dear Imgui to 93e396f 2026-05-17 22:35:13 +02:00
ROllerozxa
8771027650 Cleanups in entity source file
Code cleanups, convert comments into annotations consumable by Doxygen where applicable, renames and splits up the shape extruder object's class into a separate source files, etc...
2026-05-16 17:31:48 +02:00
ROllerozxa
fac177b9f1 Fix CI 2026-05-11 17:09:19 +02:00
ROllerozxa
1888998337 Comment out archive: false in CI workflows
nightly.link doesn't support bare artifacts yet
2026-05-11 16:55:11 +02:00
ROllerozxa
4eee1846ff Bump GitHub Actions action versions
Also use new `archive: false` for artifact uploading where appropriate to prevent nested zips from happening
2026-04-27 20:36:25 +02:00
ROllerozxa
e7a5b860c3 Flip suction cup model so that sockets are not inverted 2026-04-15 21:54:59 +02:00
ROllerozxa
e9893fc481 Fix Windows build on Clang 22 2026-04-15 21:41:44 +02:00
ROllerozxa
2c99bf67c4 Android: Open links outside of community host in external browser
The community site has links to all sorts of external websites that really does not like the webview, and the user likely wants them to be opened in an external browser in this case rather than be confined to the app's webview.
2026-03-25 00:18:55 +01: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
f387183b5f Hide menu and quickadd buttons when category selector is open
Not a perfect way of doing it but gets them out of the way at least
2026-03-12 21:29:56 +01:00
ROllerozxa
647b1ca7ce Cleanup add_menu_item and related for items
Most of the stuff removed are remnants from when the objects in the sandbox menu was rendered live, so safe to remove. (The current sandbox menu texture creator does not make use of it either)
2026-03-12 21:28:33 +01:00
ROllerozxa
fbef2313e9 Minor fixes to the sandbox menu texture creation pipeline 2026-03-12 21:13:00 +01:00
ROllerozxa
7e54b9a3bc Revert "Remove remnants of unused "menu" pipeline"
This is still used by the sandbox menu texture creator
2026-03-12 17:06:50 +01:00
ROllerozxa
100f2815ab Add button to open external script folder in LuaScript dialog
For convenience...
2026-02-26 00:41:28 +01:00
ROllerozxa
1620ecaf5a Fix the Gearbox crashing when being placed down
Still very buggy and not available in the sandbox menu
2026-02-16 21:23:38 +01:00
ROllerozxa
24de6fb825 Minor preparations for being able to dynamically update UI scale
A lot of things in the game does not adapt to this quite yet
2026-02-16 20:26:42 +01:00
ROllerozxa
ba0c5e183b Try to fix the Principia window resizing during load on Windows
GTK will force DPI awareness so there's no way to do anything else other than enable it before GTK does
2026-02-16 00:16:02 +01:00
ROllerozxa
b46ecd8e05 Refactor out menu scale adjustment code into new function 2026-02-16 00:08:35 +01:00
ROllerozxa
b758f343a7 Make some more static variables in adventure non-static
These would break if xppcm and yppcm become dynamic sometime...
2026-02-16 00:06:23 +01:00
ROllerozxa
9584af22d1 Clean up some superfluous logging messages 2026-02-15 23:32:23 +01:00
ROllerozxa
8a174edb28 Fix font loading crash 2026-02-14 22:33:24 +01:00
ROllerozxa
45fc40fd59 Remove locked visibility check when trying to play a level
No point in these kinds of arbitrary checks in an open source project when it also inconveniences inspecting levels that have been locked
2026-01-15 23:56:51 +01:00
ROllerozxa
142e56b60f Rewrite sticky note text drawing code to not use SDL_ttf
Now uses the same font loading code that the GUI font uses, using the previously implemented extended charset to support extended ASCII (e.g. åäö). The easyspeech font does not support much beyond that so there should not be any difference in supported characters from before.
2026-01-11 20:59:08 +01:00
ROllerozxa
ba66b47246 Implement a special extended charset mode for font loading
Will load 256-CHAR_OFFSET amount of glyphs instead of the regular 128-CHAR_OFFSET (extended ASCII, or whatever you may call it). Regular GUI fonts won't use this for now.
2026-01-11 20:48:04 +01:00
ROllerozxa
9c421ffadc Increase the padding and spacing in imgui dialogs 2026-01-10 19:28:19 +01:00
ROllerozxa
786356968b Switch to imgui_freetype for rendering text in Imgui dialogs 2026-01-10 19:27:52 +01:00
ROllerozxa
3fd68448a0 Don't clear imgui login dialog fields if login failed 2026-01-10 19:15:08 +01:00
ROllerozxa
5ce14da7b5 Minor cleanups in some Imgui dialogs 2026-01-10 19:14:48 +01:00
ROllerozxa
c72b8f6646 Update Imgui to f5384544cb350dd2444c27c153ac563b91cf09da 2026-01-10 19:12:27 +01:00