mirror of
https://github.com/xeghosted/OrbisForge.git
synced 2026-10-06 11:01:00 +02:00
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>