You are reading the docs of SDK 1.0.2, an older release. See the latest (1.11.0).
Releases · SDK 1.0.2
Changelog
SDK 1.11.0latest
· interface 1.11 · release on GitHub
- feat(sdk): a data folder per mod and the save slot in use, interface 1.11 #172
- chore: rename rac1-mods to openrac-mods #162
- fix: open issues #39 #48 #66 #127 #135 #141 #152
- feat(sdk): add rac1 hook points for menus, HUD, vendor, ammo drops and saves #136
C interface
Hook points
SDK 1.10.1
· interface 1.10 · release on GitHub
- fix(sdk): the templates pin 1.10.1, as the packager requires #118
- chore(sdk): 1.10.1, the first SDK with Android native mods #117
- fix(rac1): drones and Novalis sparks, matched C backfills, Exit item, native mods on Android #110
No change to the API since 1.10.0: fixes and docs only.
SDK 1.10.0
· interface 1.10 · release on GitHub
- feat(sdk): add persistent RAC1 savestate support #103
- feat: RAC1 online co-op: SDK interface 1.9, the port's play and world calls #99
- feat(sdk): the world for multiplayer mods, interface 1.9 23cd1c8
- feat(sdk): play calls for multiplayer mods, interface 1.8 9206c5c
- fix(port/rac1): stretch a mod's menu pages across the screen, not into it 9dad055
- feat(sdk): pages of the game's own menus and main-menu items, interface 1.7 38077ef
- fix(port): generate openrac_game_restore_overlay for games without an overlay hook 3c062f1
- feat(sdk): front-end menu entries with a page of the mod's own, interface 1.5 fb98e30
- feat(port): expose warm RAC1 savestates to mods 2f2c9c0
- feat(port): support Android 9 (API 28) #77
- refactor(port): stats::probe reads its switches through common/env.h 0d8a65d
- refactor(sdk/tests): split main into one named check per behaviour, and comment the test 785e83c
- docs(sdk/include): document every exported name and the headers' order c11e301
- refactor(sdk/mod.hpp): name private members m_<name> cb9cb39
- refactor(sdk): template/ named as the source of the files the templates share abfd8da
- feat(sdk): the pointer over the game's picture, interface 1.3 eb5ea81
- chore(launcher): the preview's difficulty mod, with its presets of sliders ea1ed93
- feat(sdk): package_mod.py takes presets of any setting type 6dea7f7
- feat(port): rac1 hook points for damage, hits, ammo, deaths, the level load and the hero's speed 4d5be5d
- chore(sdk): version 1.2.0, for the mod interface 1.2 231d337
- docs(sdk): the keyboard and mouse, keybind settings and presets (interface 1.2) 09c5d87
- feat(sdk): a mod reports the interface its manifest names c599937
- feat(sdk): the keyboard and mouse for mods, interface 1.2 1a87871
- feat(editor): levels open in Godot lit as the game lights them 221180a
- feat(editor): terrain as a modding family in the asset export and import 37d3041
- feat(sdk): a tag <id>-v<version> releases only that mod eae1d0c
- feat(port): rac1 hook points for giving items, planets, the vendor and gold bolts 0ffcd2b
- fix(sdk): the hook reference lists the catalogue's hook points by their ids 8a02b24
- feat(sdk): generate the API reference from the SDK's sources c45b8ef
- feat(hostgen): a hook point under a wrap of the port's own ccc213d
- feat(launcher): script mods in the store, and mod interface 1.1 261c1b7
- feat(sdk): a header-only C++ layer over the mod interface 309b33a
- feat(port): manifests of script mods 40505cb
- feat(editor): the collision block as data, written back byte-exact and edited 5510d38
- feat(editor): catalogue hook names Moby_<Class>_Update and a stable classes.json 1689f83
- feat(editor): the moby behaviour catalogue for modders 744b137
- feat(sdk): the template is a mod's repository, released by its workflow c6cc3dd
- fix(ci): make the SDK workflow's build folder before copying into it 22f33a0
- feat(sdk): a CMake package for building mods f1c04e7
- feat(sdk): the mod interface's headers 298918e
C interface
C++ layer
Hook points
SDK 1.7.0
· interface 1.7 · release on GitHub
- feat(sdk): pages of the game's own menus and main-menu items, interface 1.7 ebcd92b
- test(mods): the tick boundary, the snapshot calls and a 1.5 mod on interface 1.6 ee1b622
- Merge origin/master into the warm savestates branch, interface 1.6 3cd0ea7
- feat(port): expose warm RAC1 savestates to mods 12342e6
C interface
C++ layer
SDK 1.5.0
· interface 1.5 · release on GitHub
- fix(ci): pin the mod templates to SDK 1.5.0 and format the menu test lines eddeb9f
- feat(sdk): front-end menu entries with a page of the mod's own, interface 1.5 850d5fd
- feat(sdk): views of the game and a shared Vulkan device, interface 1.4 #82
- docs(sdk): point every mention of the catalogue generator to sdk/tools 7f61043
- chore(sdk): the behaviour catalogue names its generator's new place 8eda8ae
- refactor(sdk): the behaviour catalogue generator moves to sdk/tools c282bba
- docs(sdk): regenerate the C and C++ references from the documented headers a748780
- docs(sdk/cmake): comment the platform key, openrac_add_mod and the version file a3e7926
- docs(sdk/examples): comment frame-counter's state, entry points and branches 36d18a1
- docs(sdk/template): say how the template mod works and why load refuses another game fa7b10e
- refactor(sdk/tests): split main into one named check per behaviour, and comment the test 05d98b6
- docs(sdk/include): document every exported name and the headers' order c196edd
- refactor(sdk/mod.hpp): name private members m_<name> dbb4e60
- style(sdk): lay out the SDK's C and C++ with the port's clang-format and blank-line rules e887aa6
- refactor(sdk): template/ named as the source of the files the templates share 31cceee
- test(sdk): one file of test vectors for the manifest checks, the SDK's held to it abbadfa
C interface
- openrac_api.hook: int (*hook)(openrac_mod* mod, const char* name, const char* signature, void* replacement, void** original) → int (*hook)( openrac_mod* mod, const char* name, const char* signature, void* replacement, void** original )
C++ layer
SDK 1.3.0
· interface 1.3 · release on GitHub
- feat(sdk): the pointer over the game's picture, interface 1.3 25a808e
SDK 1.2.1
· interface 1.2 · release on GitHub
- chore(sdk): version 1.2.1, with hook ids and presets of any setting in package_mod.py 4743c95
- docs(sdk): presets of any setting type fd7a108
- feat(sdk): package_mod.py takes presets of any setting type 8c1ed0e
- fix(sdk): package_mod.py takes hook points by id or alias, checked against the binding table 003edc8
- feat(port): rac1 hook points for damage, hits, ammo, deaths, the level load and the hero's speed 5ae8a5c
SDK 1.2.0
· interface 1.2 · release on GitHub
- chore(sdk): version 1.2.0, for the mod interface 1.2 7340dfb
- docs(sdk): the reference names OPENRAC_MOD_TARGET_MINOR 6c12dcf
- docs(sdk): the keyboard and mouse, keybind settings and presets (interface 1.2) 8539593
- feat(sdk): a mod reports the interface its manifest names 7e105ae
- feat(sdk): the keyboard and mouse for mods, interface 1.2 e4c480f
C interface
C++ layer
SDK 1.1.2
· interface 1.1 · release on GitHub
- chore(sdk): version 1.1.2, under the MIT license 3392337
- docs: the SDK's license is MIT, and its releases stay in OpenRAC's list fed9160
- chore(sdk): the SDK is under the MIT license 44d1f39
- chore(sdk): regenerate the behaviour catalogue for the new rac1 hook points 6c40069
No change to the API since 1.1.1: fixes and docs only.
SDK 1.1.1
· interface 1.1 · release on GitHub
SDK 1.1.0
· interface 1.1 · release on GitHub
- fix(sdk): the hook reference lists the catalogue's hook points by their ids a9dabee
- docs(port): the docs split between the SDK's guides and MODS.md d473d85
- feat(sdk): the SDK's archive carries the guides and the reference 5ef7016
- docs(sdk): guides for modders 6a733c6
- feat(sdk): generate the API reference from the SDK's sources e2e83b2
- chore(sdk): the behaviour catalogue regenerated for its new hook points 15b8f17
- feat(sdk): the C++ layer asks for a hook point by its permanent id 867061c
- feat(sdk): permanent hook ids, and the catalogue's updates as hook points c027aec
- chore(sdk): version 1.1.0, for the mod interface 1.1 679e360
- feat(sdk): the script template points luau-lsp at the SDK's types dd782a2
- fix(sdk): the script template's pad example reads the buttons at byte 0 c9eb49a
- docs(sdk): script mods: the template, packaging and the types 9158fb0
- feat(sdk): a script mod's template, in the SDK's archive b35fe1c
- ci(sdk): the mod workflow packages script mods, with no build b8f243b
- feat(sdk): package_mod.py packages script mods dc897a3
- docs(sdk): writing a mod in C++ 45b3534
- test(sdk): the C++ layer's test, built on every system from the SDK archive cd41841
- feat(sdk): the template is a C++ mod 465e610
- feat(sdk): openrac_add_mod builds C++ mods, exporting only the entry points 5b143de
- feat(sdk): a header-only C++ layer over the mod interface 5dd1585
- fix(port): the rac1 script binding beside the game's host C, not in it 6c7cbdb
- feat(sdk): generate a game's binding for mods from one table 0080dc8
- feat(port): run script mods in sandboxed Luau states e9bea03
- refactor(editor): remove the GDScript behaviour prototype dd5213c
- docs(port): MODS.md and the SDK README name classes.json, the catalogue's stable table 354ed2b
- chore(sdk): regenerate the rac1 behaviour catalogue with classes.json ba29d41
- chore(sdk): ship the behaviour catalogue in the SDK archive db6e952
- chore(sdk): generate the rac1 behaviour catalogue 6e6e95a
C++ layer
Luau API
Hook points
SDK 1.0.3
· interface 1.0 · release on GitHub
- fix(sdk): the template's files have LF line endings on every system d4f84bd
No change to the API since 1.0.2: fixes and docs only.
SDK 1.0.2
· interface 1.0 · release on GitHub
- docs(sdk): publishing a mod from a repository ff31069
- feat(sdk): the template is a mod's repository, released by its workflow f5388dc
No change to the API since 1.0.1: fixes and docs only.
SDK 1.0.1
· interface 1.0 · release on GitHub
- chore(sdk): version 1.0.1 7546ba1
- docs(port): where mods live for an installed launcher, and the SDK archive 9bbf995
- feat(sdk): the SDK as one archive, versioned with the interface 379c8ae
- docs(sdk): how to write, build, package and install a mod a7d3fb4
- feat(sdk): a mod template and the frame-counter example c25bb8c
- feat(sdk): package_mod.py writes and joins mods' archives 7ac93bd
- feat(sdk): a CMake package for building mods 2585370
- feat(sdk): the mod interface's headers 336a5b4
The first release of the SDK.