|
Polyphase Game Engine
|
Stable C ABI header for native build-target addons. More...
#include <stdint.h>#include <stddef.h>Go to the source code of this file.
Stable C ABI header for native build-target addons.
Lets a native addon register an entire build/packaging target (compile, cook, finalize, run) without modifying engine source. Addons that ship console SDK code (Dreamcast/KallistiOS, PS2SDK, nxdk, etc.) keep their SDK dependencies fully contained inside their own DLL — the engine binary has zero link-time dependency on any console SDK it does not already ship with.
The structs below are plain C with function pointers only. No STL, no exceptions. The host owns deep copies of every const char* you pass in via Register, so your descriptor's string literals can be stack/static memory that disappears at addon-unload time.
To register: from your addon's RegisterEditorUI(EditorUIHooks*, HookId), fill in a PolyphaseBuildTargetDesc and call hooks->RegisterBuildTarget. The hook auto-clears on RemoveAllHooks(hookId), so hot-reload Just Works.