Move project config to data/ and configure-clangd.ps1 to scripts/
This commit is contained in:
parent
be62950bcb
commit
eb5456e7c1
7 changed files with 22 additions and 11 deletions
|
|
@ -220,7 +220,7 @@ td batch <batchId>
|
||||||
Name the exact locally checked payload and include all dependencies. Maintenance batches are
|
Name the exact locally checked payload and include all dependencies. Maintenance batches are
|
||||||
maintainer-only; they run the source gates, compile affected units/includers and compare effective
|
maintainer-only; they run the source gates, compile affected units/includers and compare effective
|
||||||
code with a fresh main build. A changed function uses the normal revision/review path instead.
|
code with a fresh main build. A changed function uses the normal revision/review path instead.
|
||||||
The server registers new source units in `compile.json` on merge. A queued batch is not a merge.
|
The server registers new source units in `data/compile.json` on merge. A queued batch is not a merge.
|
||||||
|
|
||||||
The linked-code check does not validate data contents or reconstruct initialization/teardown.
|
The linked-code check does not validate data contents or reconstruct initialization/teardown.
|
||||||
Prove those separately before submitting. An offset-asserted partial layout is not evidence of a
|
Prove those separately before submitting. An offset-asserted partial layout is not evidence of a
|
||||||
|
|
@ -241,7 +241,7 @@ annotation is removed from main. IDs remain reserved; unrelated symbols must not
|
||||||
|
|
||||||
## Ragnarok target
|
## Ragnarok target
|
||||||
|
|
||||||
Use only this workspace’s configured server and clank-together MCP. The project is rodecomp, version 2026-02-19. Preserve existing stable IDs and permitted OFFSET/STATIC provenance comments, except OFFSET annotations attached to inline-only functions. Missing original evidence is a blocker to a verdict, not permission to invent behavior. The source contains subsystem libraries, not a completed standalone game. Clank compiles individual units from compile.json; it does not run CMake or CTest during checks.
|
Use only this workspace’s configured server and clank-together MCP. The project is rodecomp, version 2026-02-19. Preserve existing stable IDs and permitted OFFSET/STATIC provenance comments, except OFFSET annotations attached to inline-only functions. Missing original evidence is a blocker to a verdict, not permission to invent behavior. The source contains subsystem libraries, not a completed standalone game. Clank compiles individual units from data/compile.json; it does not run CMake or CTest during checks.
|
||||||
|
|
||||||
## td binary
|
## td binary
|
||||||
> td --help
|
> td --help
|
||||||
|
|
|
||||||
|
|
@ -112,7 +112,7 @@ static void BuildFullKeyName(const char* keyname, char* buffer) {
|
||||||
|
|
||||||
- Read `td_disassemble` as ground truth and `td_decompile` as a starting point, not a specification.
|
- Read `td_disassemble` as ground truth and `td_decompile` as a starting point, not a specification.
|
||||||
- Run `td_check` on each changed translation unit independently while fixing compilation errors.
|
- Run `td_check` on each changed translation unit independently while fixing compilation errors.
|
||||||
- After changing a header, check its includers before submitting. Compile using `compile.json`; Clank does
|
- After changing a header, check its includers before submitting. Compile using `data/compile.json`; Clank does
|
||||||
not run CMake, CTest or a complete application link during these checks.
|
not run CMake, CTest or a complete application link during these checks.
|
||||||
- Validate the exact proposed payload against clean current server main, without unrelated working-tree
|
- Validate the exact proposed payload against clean current server main, without unrelated working-tree
|
||||||
changes. Include the real prerequisite interfaces, implementations and affected callers, or land them first.
|
changes. Include the real prerequisite interfaces, implementations and affected callers, or land them first.
|
||||||
|
|
@ -201,7 +201,7 @@ the original instructions.
|
||||||
|
|
||||||
### Korean string literals
|
### Korean string literals
|
||||||
|
|
||||||
Sources are UTF-8; `compile.json` passes `/source-charset:utf-8 /execution-charset:.949`, so write Korean
|
Sources are UTF-8; `data/compile.json` passes `/source-charset:utf-8 /execution-charset:.949`, so write Korean
|
||||||
literals as Hangul (`"유저인터페이스\\item\\%s.bmp"`), not CP949 escapes. Keep `\x` escapes for bytes
|
literals as Hangul (`"유저인터페이스\\item\\%s.bmp"`), not CP949 escapes. Keep `\x` escapes for bytes
|
||||||
that are not CP949 Hangul: other code pages (Shift-JIS, GBK, Big5 font names), byte-order marks and key codes.
|
that are not CP949 Hangul: other code pages (Shift-JIS, GBK, Big5 font names), byte-order marks and key codes.
|
||||||
Never use `/utf-8`, and never save sources as CP949/EUC-KR.
|
Never use `/utf-8`, and never save sources as CP949/EUC-KR.
|
||||||
|
|
@ -211,7 +211,7 @@ Never use `/utf-8`, and never save sources as CP949/EUC-KR.
|
||||||
- This target is Windows x86. Keep code in its assigned existing translation unit and subsystem headers.
|
- This target is Windows x86. Keep code in its assigned existing translation unit and subsystem headers.
|
||||||
- Preserve fixed Win32, DirectDraw, Direct3D, Lua and codec boundary ABIs where evidenced; apply the
|
- Preserve fixed Win32, DirectDraw, Direct3D, Lua and codec boundary ABIs where evidenced; apply the
|
||||||
calling-convention rule below. Preserve ownership, field widths and failure behavior.
|
calling-convention rule below. Preserve ownership, field widths and failure behavior.
|
||||||
- Compile individual units with the configured Clank toolchain and `compile.json`, not a new build system.
|
- Compile individual units with the configured Clank toolchain and `data/compile.json`, not a new build system.
|
||||||
- Missing original instructions are a blocker, not permission to invent a fallback or partial implementation.
|
- Missing original instructions are a blocker, not permission to invent a fallback or partial implementation.
|
||||||
|
|
||||||
### Calling conventions: implicit by default
|
### Calling conventions: implicit by default
|
||||||
|
|
|
||||||
|
|
@ -3,5 +3,5 @@
|
||||||
This tree is coordinated with Clank Together. Functions and data carry stable symbol IDs
|
This tree is coordinated with Clank Together. Functions and data carry stable symbol IDs
|
||||||
instead of addresses (`// FUNCTION: fn_01234`, `// GLOBAL: gl_00042`); the coordinator's symbol database holds
|
instead of addresses (`// FUNCTION: fn_01234`, `// GLOBAL: gl_00042`); the coordinator's symbol database holds
|
||||||
their addresses in every client build, so a new client version needs new addresses, not a retagged tree.
|
their addresses in every client build, so a new client version needs new addresses, not a retagged tree.
|
||||||
`decomp.json` and `compile.json` pin the VS compiler and the exact command line of every source.
|
`data/decomp.json` and `data/compile.json` pin the VS compiler and the exact command line of every source.
|
||||||
See `AGENTS.md` for how to contribute.
|
See `AGENTS.md` for how to contribute.
|
||||||
|
|
|
||||||
10
data/toolchain.lock.json
Normal file
10
data/toolchain.lock.json
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"ragnarok": {
|
||||||
|
"family": "msvc",
|
||||||
|
"version": "19.29.30159",
|
||||||
|
"machine": "x86",
|
||||||
|
"image": "rodecomp/compiler:v142",
|
||||||
|
"clSha256": "73e2bb370bfc32c04df58752b00f97db388207f29f2b7d4f23f5273e9dbfb212",
|
||||||
|
"sdkVersion": "10.0.19041.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -2,10 +2,11 @@
|
||||||
param()
|
param()
|
||||||
|
|
||||||
$ErrorActionPreference = 'Stop'
|
$ErrorActionPreference = 'Stop'
|
||||||
$root = $PSScriptRoot.Replace('\', '/')
|
$repoRoot = Split-Path -Parent $PSScriptRoot
|
||||||
$project = Get-Content -LiteralPath "$PSScriptRoot/decomp.json" -Raw | ConvertFrom-Json
|
$root = $repoRoot.Replace('\', '/')
|
||||||
$compile = Get-Content -LiteralPath "$PSScriptRoot/$($project.compileCommands)" -Raw | ConvertFrom-Json
|
$project = Get-Content -LiteralPath "$repoRoot/data/decomp.json" -Raw | ConvertFrom-Json
|
||||||
$workspace = Get-Content -LiteralPath "$PSScriptRoot/.td/config.json" -Raw | ConvertFrom-Json
|
$compile = Get-Content -LiteralPath "$repoRoot/$($project.compileCommands)" -Raw | ConvertFrom-Json
|
||||||
|
$workspace = Get-Content -LiteralPath "$repoRoot/.td/config.json" -Raw | ConvertFrom-Json
|
||||||
$runner = $workspace.runners.PSObject.Properties[$project.toolchain].Value
|
$runner = $workspace.runners.PSObject.Properties[$project.toolchain].Value
|
||||||
|
|
||||||
if (-not $runner -or $runner.type -ne 'native' -or -not $runner.toolchainRoot) {
|
if (-not $runner -or $runner.type -ne 'native' -or -not $runner.toolchainRoot) {
|
||||||
|
|
@ -50,7 +51,7 @@ $commands = @(
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
$outputDirectory = Join-Path $PSScriptRoot 'build/editor-x86'
|
$outputDirectory = Join-Path $repoRoot 'build/editor-x86'
|
||||||
[void](New-Item -ItemType Directory -Path $outputDirectory -Force)
|
[void](New-Item -ItemType Directory -Path $outputDirectory -Force)
|
||||||
$output = Join-Path $outputDirectory 'compile_commands.json'
|
$output = Join-Path $outputDirectory 'compile_commands.json'
|
||||||
$json = ConvertTo-Json -InputObject $commands -Depth 6
|
$json = ConvertTo-Json -InputObject $commands -Depth 6
|
||||||
Loading…
Add table
Add a link
Reference in a new issue