DKR-R MODDING SDK 2.0
v1.0.14 release — SDK 2.0 retained

Right - start with the Modding Bible. It explains both executable APIs, the
authoring workflow, settings, hooks, game behaviour, tools UI, online commands,
save protection, the Dev Menu and the exact public headers. TXT, HTML and PDF
copies contain the same guide. The headers are extracted from this SDK kit.

build.py compiles portable C or freestanding C++ to .nrm. Python 3.11+, Clang,
LLD and the pinned RecompModTool are required. tools.py can scaffold a project,
inspect a package or generate a source map. None launches a game or a mod.

  python tools.py new --id my_code --output ../my-code
  python build.py ../my-code --output ../build-001 --mod-tool /path/to/RecompModTool --source-map

Dev Menu 2.0.1 fixes the original beta 7 package's relocation import failure.
Use it with the current compatible v1.0.14 app. The first import correction was mod-only;
the subsequent development-save startup correction requires the updated app.
Keep the supplied build flags. The builder now checks the complete symbol
table and resolves local addresses from the linked ELF before packaging. This
also retains pointer/jump-table addends and checks shared split-address carries.
relocation-report.json records the static corrections. The game loader's
memory checks are unchanged. tools.py inspect now checks relocation bounds too.

examples/dev-menu contains the complete SDK 2 Dev Menu source and schema.
examples/live-ai-difficulty demonstrates opted-in cross-mod live settings.
Do not enable it alongside the original AI difficulty mod: both own ai-pace.
The existing API 1 examples and per-revision references remain available.
DKR-R-Dev-Menu.nrm is manually importable; it is never enabled automatically.

The authoring kit is SDK 2.0. Old packages may remain api: 1. Only new packages
that need API 2 opt into api: 2 and named version-2 modules. Do not change all
old requires entries to 2 or rewrite existing trophy/difficulty/camera mods.

Development tools use isolated/temporary saves. Online requires a Development
lobby, consent, matching compatible app/package editions and host authority. Normal
gameplay mods do not need the development flag just because they use API 2.

This is powerful trusted code, not a guarantee that arbitrary native edits are
safe. Read the supported/protected feature boundaries and status codes. Use
dedicated lifecycle adapters for work the typed APIs explicitly reject.

The tools include admitted-resource and loaded-scene browsers, segment/triangle
highlights, checkpoint adjustment documents, local screenshot HUD controls,
favourites, multi-target watches and reviewed .dkrtools workspace files. Old
scene-bound macros do not execute on import or rebind to newly allocated actors.

Gameplay, multiplayer, graphics, controller and performance testing belongs to
the players running the build. Compilation alone is not runtime acceptance.

V1.0.12 ONLINE AND PROGRESS
The public host mode is Rollback; the old backend selector is removed.
Public discovery reuses Discord sign-in. Native content/code consent, host
authority, lifecycle/confirmed execution and development isolation still apply.
Spectators do not gain a racing port or authority to issue gameplay commands.
Watching/development do not award gameplay achievements. API 1/2 headers,
capability versions and package formats are unchanged by lobby discovery.
See docs/ONLINE_MULTIPLAYER.md, docs/SPECTATORS.md and docs/ACHIEVEMENTS.md.

## Analogue driving in v1.0.14

The additive analogue-driving version-1 capability exposes dkr/driving.h in
API 2. Existing DkrInput and API 1 layouts stay unchanged. DkrDrivingInput is
a separate 20-byte record: api, size, flags, accelerator and brake. Levels are
independent calibrated integers from 0 to 255; flags bit 0 means enabled.

dkr2_driving_input(player, output) reads the logical recorded sample for that
tick. dkr2_driving_apply(player) requests native effort caps for the same sample
from on_frame. Native coast, boosts and control restrictions retain ownership;
CPU and special boss vehicles are not changed. Replay uses recorded samples,
never physical-controller reads from simulation. Require analogue-driving 1
and use the complete examples/analogue-driving source and manifest.

The optional companion mod must be installed, approved and enabled. Its Details
contains bindings, calibration and live bars for the selected local player. In
Online the host enables the gameplay mod and every player keeps local controls.
Use matching compatible v1.0.14 application/package editions. Standalone Look
behind is a separate graphics option and does not require ModernCamera++.
