sc_gamerules_v1.list_params
Enumerate the 15 static GameRules parameter definitions (names verified on 4.10.197.2878, F-4.10.197.2878-054) by offset; records carry names, groups and types but no values or engine offsets.
Signature
Section titled “Signature”sco_result (*)(sco_plugin *, uint32_t, sc_gamerules_param_info *, uint32_t, uint32_t, uint32_t *, uint32_t *)Service and availability
Section titled “Service and availability”| Property | Value |
|---|---|
| Symbol | sc_gamerules_v1.list_params |
| Record ID | sc-gamerules-v1-list-params |
| Service | game.gamerules |
| Table | sc_gamerules_v1 |
| Version macro | SC_GAMERULES_VERSION_1_1 |
| Packed table version | 65537 |
| Since / availability | size >= 24; 1.1 |
| Complete member extent (x64 bytes) | 24 |
| Table size (x64 bytes) | 24 |
Parameters and buffers
Section titled “Parameters and buffers”sco_result (*list_params)(sco_plugin* self, uint32_t offset, sc_gamerules_param_info* out, uint32_t stride, uint32_t cap, uint32_t* out_count, uint32_t* out_total);
Enumerate the 15 static GameRules parameter definitions (names verified on 4.10.197.2878, F-4.10.197.2878-054) by offset; records carry names, groups and types but no values or engine offsets.
Results and failures
Section titled “Results and failures”OK page copied or count-only query; BAD_ARG invalid slot size, pointers, offset, cap or stride; WRONG_THREAD; UNAVAILABLE after stop.
Absent capability
Section titled “Absent capability”Static metadata does not require game.gamerules.read or a live backend.
Ownership
Section titled “Ownership”Caller owns all output slots; size and unknown tails remain untouched. No pointers retained.
Thread affinity
Section titled “Thread affinity”Game thread only; live self required.
Callback context
Section titled “Callback context”No plugin callbacks.
Reentrancy
Section titled “Reentrancy”No engine calls or callbacks; read-only metadata lookup.
Cleanup and cancellation
Section titled “Cleanup and cancellation”StopGameRules withdraws the table and disables cached list_params pointers.
Language mappings
Section titled “Language mappings”Status labels are copied verbatim from the catalogue: direct is native access; typed-wrapper is wrapper-backed; restricted is a subset/adaptation; unsupported means no supported route is established. No status implies universal safety.
| Language | Catalogue status | Source evidence / wrapper tokens |
|---|---|---|
| c | direct | include/sc_gamerules.h(*list_params) |
| cpp | typed-wrapper | include/scosdk/game/gamerules.hpptable->list_params(self_, offset, capacity ? copied.data() : nullptr, |
| csharp | typed-wrapper | sdk/csharp/Sco.Sdk/Game/GameRules.csresult = service.Table->list_params(Self, offset, capacity == 0 ? null : page, |
| lua | typed-wrapper | plugins/lua/sco_lua_game.cresult = table->list_params(sco_lua_self(L), (uint32_t)offset, capacity ? page : NULL, |
Examples
Section titled “Examples”None identified in the catalogue; this is not proof none can exist.
- tests/test_gamerules_params.cpp
- tests/abi_game_gamerules.c
- tests/test_sdk.cpp
- tests/test_language_routes.cpp
- sdk/csharp/Sco.Sdk.Tests/GameFakeHost.cs
- tests/test_lua.cpp
ABI pins prove layout, not semantic behavior or a live game session.