18 Commits
Author SHA1 Message Date
Claude CodeandClaude Fable 5 a6859cb8c8 Install llvm in CI for the GoldHEN plugin job
The SDK's Makefile archives libGoldHEN_Hook.a with llvm-ar, which the runner's
clang package does not pull in, so the ci_ghplugin job failed with
"llvm-ar: not found".

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
v0.3.0
2026-07-28 18:30:31 +02:00
Claude CodeandClaude Fable 5 6da25b6e69 Build generated projects natively on Windows instead of requiring WSL
The toolchain file hardcoded bin/linux for create-fself and readoelf, and
build.bat only ever shelled into WSL. On a Windows host with the toolchain
installed for Windows, a generated project could not be built at all.

Pick the host tool directory from CMAKE_HOST_WIN32/APPLE (still overridable
via -DOO_PS4_TOOLCHAIN_BIN for mixed setups), and have build.bat build
natively whenever OO_PS4_TOOLCHAIN is visible from Windows, falling back to
WSL otherwise. The native path needs a single-config generator because the
Visual Studio generators cannot drive this cross-compile, so it looks for
Ninja on PATH and then in the Visual Studio install.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-28 17:57:24 +02:00
Claude CodeandClaude Fable 5 d863dd462d Add a GHPLUGIN target type for building GoldHEN plugins
A GoldHEN plugin is not a plain PRX. The loader enters the module at _init,
which the GoldHEN SDK's crtprx.o forwards to module_start/module_stop. Built
the stock way it links without complaint and then silently never loads on
console, so add_orbis_target(TYPE GHPLUGIN) applies all three differences:
crtprx.o instead of crtlib.o, -e _init, and SceLibcInternal/SceSysmodule
instead of c/c++. It also checks for the SDK up front and fails with install
instructions rather than producing an unloadable artifact.

The scaffolded starter plugin shows a PS4 notification from module_start. It
is emitted as C++ with extern "C" entry points -- generated projects are
project(<name> CXX), and without that the mangled names leave crtprx.o's _init
unresolved.

Reachable as --type ghplugin (aliases: goldhen, plugin) and as a fourth entry
in the GUI wizard. CI installs the SDK and builds one, since a plugin that
links but cannot load is exactly the failure unit tests cannot catch.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-28 17:57:14 +02:00
Claude CodeandClaude Fable 5 abd288c882 Emit a plain .elf alongside the packaged SELF artifact
create-fself output (eboot.bin, .prx, .sprx) is SELF-wrapped, not plain ELF.
Raw-ELF loader tools identify a file by its magic bytes rather than its
extension, so they cannot load those no matter what the file is renamed to.
Copy the validated .oelf to <name>.elf as well and expose the path as the
ORBIS_ELF_PATH target property, so those tools have something to point at.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-28 17:56:35 +02:00
Claude CodeandClaude Fable 5 895858e650 Write a .vscode/settings.json into generated projects
Sets cmake.configureOnOpen to false so the CMake Tools extension does not try
to drive the project itself. Outside a WSL/Remote-WSL session it picks a local
MSVC kit and configures with cl.exe, which cannot parse the toolchain file's
clang-style flags (-fPIC, -isysroot) and fails confusingly. Building goes
through tasks.json -> build.bat/build.sh instead.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-28 17:55:32 +02:00
Claude Code 53b26f0f98 Fix dark mode: theme the plain TextBox/CheckBox controls UIFramework can't skin v0.2.0 2026-07-22 10:56:35 +02:00
Claude Code c76d834ace Add light/dark mode toggle to the GUI, persisted across launches 2026-07-22 10:47:12 +02:00
Claude Code 88e5214781 Fix flaky CI: authenticate GitHub API calls to avoid shared-runner rate limiting 2026-07-22 10:40:27 +02:00
Claude Code baea90ea77 Add xUnit tests for OrbisForge.Core, wire into CI 2026-07-22 10:37:42 +02:00
Claude Code c465a18806 Add release automation, build/deploy CLI subcommands, app icon, and toolchain version awareness v0.1.0 2026-07-22 10:28:23 +02:00
Claude Code ff8db35934 Add GitHub Actions CI: generate+build every target type, plus a Windows GUI build check 2026-07-22 10:12:09 +02:00
Claude Code 96225e370e Add optional FTP deploy-to-console (CLI flags + GUI checkbox, off by default) 2026-07-22 10:09:19 +02:00
Claude Code 66e8bedf23 Add .gitignore to generated projects (excludes build/) 2026-07-22 09:58:49 +02:00
Claude Code 5acb93e639 Add VS Code integration: build task + IntelliSense config for generated projects 2026-07-22 09:56:50 +02:00
Claude Code 140d86e05a Add cross-link badge to UIFramework 2026-07-22 09:51:03 +02:00
Claude Code 38b6c3d153 Repoint UIFramework submodule after upstream history rewrite 2026-07-22 09:48:55 +02:00
Claude Code 8c2588f943 Bump UIFramework submodule to latest (drops dev-workflow artifacts) 2026-07-22 09:46:37 +02:00
Claude Code 0699dcb2e4 Initial commit: OrbisForge CMake project scaffolder for OpenOrbis PS4 Toolchain 2026-07-22 09:44:18 +02:00