Commit Graph
36 Commits
Author SHA1 Message Date
briaguya a3f1e102e1 fix windows arm CI failure (#1127) 2026-06-12 23:34:42 -04:00
Jeod f5c3843fe9 Gate keystore behind ENABLE_SCRIPTING (#1095)
* Gate more scripting code behind -DENABLE_SCRIPTING=1

* Tidy workflow needs to have scripting on so it checks any new scripting code
2026-05-02 09:36:43 -04:00
CopilotandKenix3 00a563b819 Add Windows test CI job (#1092)
* Add test-windows job to test-validation workflow

Agent-Logs-Url: https://github.com/Kenix3/libultraship/sessions/7bca4a6c-8653-403a-881a-c85c9ce7d441

Co-authored-by: Kenix3 <18299654+Kenix3@users.noreply.github.com>

* Fix Windows test build: use /Z7 debug info to avoid sccache PDB conflict

Agent-Logs-Url: https://github.com/Kenix3/libultraship/sessions/21d961cb-c604-4163-b61b-cd3c80f2efeb

Co-authored-by: Kenix3 <18299654+Kenix3@users.noreply.github.com>

* Enable CMP0141 policy so CMAKE_MSVC_DEBUG_INFORMATION_FORMAT=Embedded is respected

Agent-Logs-Url: https://github.com/Kenix3/libultraship/sessions/f545789a-0f27-4a06-a21b-6cf95e8cf507

Co-authored-by: Kenix3 <18299654+Kenix3@users.noreply.github.com>

* Override prism's explicit /ZI with /Z7 for sccache compatibility on Windows

Agent-Logs-Url: https://github.com/Kenix3/libultraship/sessions/52516a3b-be95-4c22-946d-86dcc3aa1be7

Co-authored-by: Kenix3 <18299654+Kenix3@users.noreply.github.com>

* Pass -DCMAKE_POLICY_DEFAULT_CMP0141=NEW on cmake command line to fix prism /Fd sccache issue

Agent-Logs-Url: https://github.com/Kenix3/libultraship/sessions/aece2440-91e9-4dbe-aca7-6ae690e23b1d

Co-authored-by: Kenix3 <18299654+Kenix3@users.noreply.github.com>

* Fix prism sccache failure by clearing compiler launcher on prism target

Agent-Logs-Url: https://github.com/Kenix3/libultraship/sessions/57b95c2a-37d1-4a2c-a58c-a1f1c3a3fae9

Co-authored-by: Kenix3 <18299654+Kenix3@users.noreply.github.com>

* Fix WriteAllText to use binary mode so \n is not translated to \r\n on Windows

Agent-Logs-Url: https://github.com/Kenix3/libultraship/sessions/b07b0bb3-15cb-4b16-92ab-ce6a9cc938e8

Co-authored-by: Kenix3 <18299654+Kenix3@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Kenix3 <18299654+Kenix3@users.noreply.github.com>
2026-04-28 18:20:10 -04:00
LywxandKenix Whisperwind 787ec0bde4 Implemented dynamic loading (#1051)
* Fully migrated event system into lus

* Fixed tidy

* Last tidy error

* Added some more tidy stuff

* Last pass of tidy stuff

* Implemented dynamic module loading among o2r metadata

* Cleanup some things and moved to built-in libtcc

* Reverted CI dependencies

* Trying to fix libtcc compilation

* Another attempt at trying to fix this

* Fixed GetPlatform error

* Attempt at fixing cross-compilation for libtcc

* Another attempt for ios this time

* Disabled codesign on ios

* Addressed tidy comments

* Implemented keystore system for signature validation

* Renamed some things to manifest

* Fixed small compilation issue

* More tidy fixes

* Fully tested checksum and signature validations

* Added a sign tool

* Renamed missing function

* Removed leftover

* Fixed scripts not loading

* Implemented LoadAll based on dependencies

* Small fix so mods can load high resolution textures

* Added line fixer so it says the real path

* Fixed an issue related to f3d modding

* Fixed tidy

* Shifted some opcodes by one

* Fixed weird rebase shenanigans

* Moved to throw when loading untrusted scripts

* Fixed tidy

* Splitted compile and load for better info on ports

* Fixed tidy again

* Fixed wrong types on event system

* Fixed returning an invalid id when sorting, implemented an internal id tracker among optimizing the sort when registering a new listener

* Removed an unused queue

* Moved HexToBytes into StringHelper and renamed KeystoreSystem to Keystore

* Moved ScriptLoader data to be private

* Replaced default license

* Exported symbols on windows, added variables to set more things on libtcc and changed cmake to tell cmake to export a .lib

* Fixed wrong macro

* Fixed an error when generating .a files

* Fixed tidy

* Fixed more tidy

* I hate tidy

* Disabled readability-identifier-naming for original c extern

* Fixed wrong define

* Removed segmented guard because of false positives

* Fixed validation to verify if address comes from a DLL

* Fixed comment

* Fixed bad cast

* Fixed wrong cast again

* Implemented script loading test

* Fixed missing virtual function

* Added prints to tests

* Fix tests

* Fixed Script System tests

* Fixed last error and a better way to test ModInit and ModExit

* Updated dependencies among adding a tool to generate a keypair

* Added a key load based on user-prompt, trying to fix linux test and updated sign tool to add public_key

* Applied formatting on script_test

* Fixed StringHelper format

* Added missing header

* Updated test to be a ptr on status

* Removed unnecessary stuff

* Fully validated and fixed keystore saving and loading

* Updated geenerate keys script

* Fixed CompileAll

* Addressed latest comments

* Updated autogenerated keys script

* Updated untrusted handler to expose key too

* Added an small warning when not using ed25519 keys

* Added missing python dependencies

* Fixed tidy and updated actions

* Another attempt at fixing windows builds

* Removed search by listener validation because sometimes the same callback is used

* Added an error handler just to avoid crashing the program

* Added better errors for compiler

* Splitted logs into better fitted spdlog calls

* Kinda non-scope but i fixed a big performance issue on shaders

* Added KeyOrigin to know if it comes from the game, from lus or from the user

* Renamed from ScriptSystem to ScriptLoader

* Implemented cleanup on context destroy

* Finish some cleaning

* Wrapped dll load code into an optional ifder

* Fixed linux tests

* Enabled dll loading in test

* Inverted define

* Populates initial key list

* Moves keys to root of LUS

---------

Co-authored-by: Kenix Whisperwind <kenixwhisperwind@gmail.com>
2026-04-13 22:40:35 -04:00
briaguyaandClaude Sonnet 4.6 5bf70d9191 tests: add initial unit test suite (#1033)
* tests: add initial test suite with binary I/O, StringHelper, and CRC64 tests

Adds CMake infrastructure (LUS_BUILD_TESTS option) and three test files
covering BinaryReader/Writer round-trips, StringHelper utilities, and
CRC64 hashing. Also switches prism to a fork that guards its CTest
registration behind PRISM_STANDALONE to prevent leaking into consumers.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* ci: add test-validation workflow

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 12:09:51 -04:00
Stern e8fe0b7de8 Mobile: Update deps for Android/iOS and add Android CI (#966)
* Mobile: Fix include paths for MobileImpl in Mobile/Gui files

* ci: Enable iOS

* Mobile: Update deps for iOS and Android

* ci: Add Android CI
2026-02-01 14:02:39 -05:00
briaguya de251e2dc2 clean up includes (color) (#939)
* clean up includes (color)

* tidy
2025-10-13 19:30:28 -04:00
briaguya c1c4d5fd74 clean up includes (#932) 2025-10-10 05:21:57 -04:00
2782e554d9 restructure files so headers live in /include (#924)
* Un-static variables, private them, and add getters/setters for them.

* ci: temporarily disable iOS

* move all the files

* some cmake error stuff

* glorified stash

* another glorified stash

* some header stuff

* more header progress

* another glorified stash

* it builds

* more

* another

* remove files we shouldn't have there

* more

* move stuff

* bridge stuff

* clang-format

* move

* mac error

* remove commented line

* mac error

* mac probably needs this too

* more mac

* another

* more mac

* mac

* oh mac

* hiding errors

* more mac errors hiding

* mac arc stuff

* ok that wasn't it what's going on

* is it the headers?

* none of this makes sense

* some windows error fixes

* more win error fixes

* missed one

* one more

* another

* more error

* error

* couple more

* fix tidy excludes

* fix some includes tidy caught

* fix cmake stuff found when building soh

* try to get tidy to not complain about stringhelper?

* i hate clang tidy

---------

Co-authored-by: Malkierian <malkierian@gmail.com>
Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
2025-10-08 20:25:04 -04:00
briaguya b6c2802fbd ci: temporarily disable iOS (#922) 2025-09-30 21:04:00 -04:00
louist103 53a060be59 Windows ARM64 support (#899)
* WIP Arm 64

# Conflicts:
#	src/graphic/Fast3D/backends/gfx_opengl.cpp

* Some cleanups.

* oops

* Update prism

Fix

* Prism fixes

* Format

* arm64 actions

* Fix dx11

* Use Visuall studio build system

* Fix paths?

* Fix actions again?

* Update build-validation.yml
2025-08-07 10:20:23 -04:00
Spodi c33fad6e5c fix tidy-result-publish workflow failing (#850)
* fix tidy-result-publish workflow failing

apparently the API path changed

* Missed one

* those changed too
2025-03-29 12:37:35 -04:00
briaguya 440c7ad5e0 fix linux build validation (#789) 2025-01-10 11:51:33 -05:00
briaguya b23f91306c bump clang-format from 12 to 14 (#760) 2024-12-16 10:16:48 -05:00
Archez aee78ab0fd Update github actions and images (#678) 2024-10-09 21:07:14 -04:00
briaguya 61c8860dcc ci: bump tidy upload-artifact version (#672) 2024-09-13 11:44:07 -04:00
briaguya 5b67a45fc4 spdlog from package managers (#536)
* spdlog from package managers

* move deps to files

* missed a spot

* need to checkout first for this to work

* there too

* hmm...

* explicitly include

* we really were relying on that huh?

* why can't it figure out what std min is?

* windows..........................

* none of this makes sense

* windows headers are terrible

* why would windows do that?

* don't use the windows max macro

* try putting it with the other ones

* clang format

* add a fetch content

* include fetchcontent at the top of the deps files

* bump ios spdlog version
2024-04-30 17:56:47 -04:00
briaguya c63e1b40a6 ci: improve caching for faster builds (#534)
* does this work?

* try sccache

* try some other things

* try the symlink

* worth a shot

* dir name

* more windows speedup

* maybe this?

* a

* see if that speeds windows up

* this might break things but it's worth a shot

* a

* this'll probably just break
2024-04-30 17:09:22 -04:00
briaguya 6c375a8b5e get tinyxml from package manager (#514) 2024-04-29 22:39:58 -04:00
briaguya ff5acbfd88 ci: use restore-keys to handle ccache better (#533)
* ci: use restore-keys to handle ccache better

* use different cache for mac vs ios
2024-04-29 22:20:11 -04:00
Lywx a245aaf975 Added ios support (#491) 2024-04-28 00:15:13 -04:00
briaguya 85f6de497f nlohmann from package manager (#511) 2024-04-25 11:57:33 -04:00
briaguya be3a87eefc o2r zip (#450)
* start refactoring, legacy load still working

* account for path in meta file

* meta

* clang format

* zip stuff

* clang format

* remove a space

* libzip

* zipcmp

* zipmerge

* ziptool

* do it in tidyformat too

* merge?

* call it

* open/close as names

* error thing

* auto

* fix build

* indexfile
2024-02-19 15:40:29 -05:00
briaguya 07fc296b05 ci: build on push to all branches (#364) 2023-11-06 22:13:52 -05:00
briaguya e2545c0122 [ci] silently continue when trying to delete ccache.exe if it doesn't exist (#349) 2023-09-23 10:07:41 -04:00