Commit graph

589 commits

Author SHA1 Message Date
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
ROllerozxa
c4e0a1ee01 Cleanup TMS_USE_GLES usage
Now that we use GLAD on both GL and GLES, we can rely on GL-only functions and constants existing when building, while remaining unused for GLES. The end goal would be making switching between GL and GLES a runtime setting on relevant platforms

Also cleanup some commented out GL code and sprinkled glGetError asserts
2026-01-10 16:45:27 +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
820237874e Fix Emscripten build 2026-01-09 21:46:12 +01:00
ROllerozxa
5465fb7aef Use GLAD to retrieve glDiscardFramebufferEXT 2026-01-09 21:46:05 +01:00
ROllerozxa
d1c6804c33 Implement several dialogs in the imgui dialog backend
- DIALOG_ROBOT (#200)
- DIALOG_STICKY (#200)
- DIALOG_TREASURE_CHEST (#201)
- DIALOG_POLYGON (#202)
- Add register button to login dialog (#203)
- DIALOG_RUBBER (#204)
- DIALOG_DECORATION (#205)

Co-authored-by: gbsierra <gbatarseh@student.sierracollege.edu>
2026-01-02 21:22:01 +01:00
ROllerozxa
adf4e8ed23 Emscripten: Fix random lockups 2026-01-01 22:10:16 +01:00
ROllerozxa
3ea46595b8 Emscripten: Try to fill the page with the canvas window 2025-12-28 19:57:10 +01:00
ROllerozxa
296f930566 Emscripten: Build web version in CI 2025-12-28 19:55:32 +01:00
ROllerozxa
8b4b7f43ff Cleanup settings init and default values, adjust the defaults for emscripten 2025-12-28 19:28:19 +01:00
ROllerozxa
09dfe62860 Hardcode the default window size on Emscripten
Also minor cleanups to the main function and related things...
2025-12-28 19:22:11 +01:00
ROllerozxa
55c32eb8f3 Cleanup P.focused handling
Fixes P.focused never becoming true after logging in with GTK dialogs, also fixes P.focused never becoming true on emscripten because it had accidentally been moved to the curl init code
2025-12-28 19:15:23 +01:00
ROllerozxa
92e1e58c86 Add GL_ELEMENT_ARRAY_BUFFER to more index buffers
Fix more stuff in WebGL!
2025-12-28 18:49:24 +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
848dce5262 Add GL_ELEMENT_ARRAY_BUFFER to index buffers
Fixes more or less all WebGL rendering issues when building Principia for the web
2025-12-27 21:29:38 +01:00
ROllerozxa
faba0b247e Use Imgui dialog backend for the web version 2025-12-27 17:12:31 +01:00
ROllerozxa
c55e5fff76 Set graphics settings to their lowest for the web version 2025-12-27 17:07:55 +01:00
ROllerozxa
9e5a166ba6 Minor refactoring of adventure mode GUI drawing 2025-12-27 17:02:55 +01:00
ROllerozxa
ecaef6d33a Don't update username if login isn't actually successful 2025-12-27 15:50:56 +01:00
ROllerozxa
cffeaf50d3 New storage directory and structure, migration of old storage dir
Closes #188
2025-12-04 22:27:31 +01:00
ROllerozxa
365856fffc Refactor some pkgman path code 2025-12-04 21:41:24 +01:00
ROllerozxa
894d974316 Strip the binary when building AppImage 2025-12-04 20:16:28 +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
8929a3bd86 set_version.lua: Update AppStream metainfo version info 2025-09-24 00:24:11 +02:00
ROllerozxa
8650947dae Upstream metainfo changes 2025-09-23 23:42:41 +02:00