sc_cvars_write_v1.restore_all
Restore this live owner’s first prior values; release only successfully verified leases, no-op OK if none.
Signature
Section titled “Signature”sco_result (*)(sco_plugin *)Service and availability
Section titled “Service and availability”| Property | Value |
|---|---|
| Symbol | sc_cvars_write_v1.restore_all |
| Record ID | sc-cvars-write-v1-restore-all |
| Service | game.cvars_write |
| Table | sc_cvars_write_v1 |
| Version macro | SC_CVARS_WRITE_VERSION |
| Packed table version | 65536 |
| Since / availability | size >= 24; 1.0 |
| Complete member extent (x64 bytes) | 24 |
| Table size (x64 bytes) | 24 |
Parameters and buffers
Section titled “Parameters and buffers”sco_result (*restore_all)(sco_plugin* self);
Restore this live owner’s first prior values; release only successfully verified leases, no-op OK if none.
Results and failures
Section titled “Results and failures”BAD_ARG unknown or released handle; UNAVAILABLE stopped/session-ended/terminal/fault admission; FAILED recursive call. Restore bypasses feature capability loss; engine failure or readback mismatch latches restart-required and retains unrestored leases.
Absent capability
Section titled “Absent capability”Table absent: query_service NOT_FOUND; operation unavailable: UNAVAILABLE. Explicit restore may ignore feature capability loss for cleanup.
Ownership
Section titled “Ownership”Per-name exclusive live-owner lease; first prior bool retained before mutation; copied scalar inputs; no allocation transfer.
Thread affinity
Section titled “Thread affinity”Game thread only; WRONG_THREAD elsewhere; recursive calls refused.
Callback context
Section titled “Callback context”Host-only verified offline engine callbacks; no plugin callbacks.
Reentrancy
Section titled “Reentrancy”FAILED; cleanup during active adapter call retains lease and requires restart.
Cleanup and cancellation
Section titled “Cleanup and cancellation”Explicit owner restore, ordinary release via existing spawn dispatcher, game.exit and stop restore first priors; failed restoration retains outstanding leases/context, no retry or replacement until process restart. Loader-retained provider faults skip owner hooks; host session/stop cleanup is independent.
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_cvars_write.h(*restore_all) |
| cpp | typed-wrapper | include/scosdk/game/cvars_write.hpptable_->restore_all(self_) |
| csharp | unsupported | docs/game/cvars.mdC# and Lua remain unsupported. |
| lua | unsupported | docs/game/cvars.mdC# and Lua remain unsupported. |
Examples
Section titled “Examples”None identified in the catalogue; this is not proof none can exist.
- tests/abi_game_cvars_write.c
- tests/test_cvars_write.cpp
- tests/test_cvars_extent.cpp
- tests/fixtures/cvars_probe.c
ABI pins prove layout, not semantic behavior or a live game session.