mirror of
https://github.com/Cesarus85/ringfall-mjolnir-vr.git
synced 2026-10-17 16:00:26 +02:00
models: restore exact BSS default ownership
This commit is contained in:
1 parent
e208c87ba6
commit
a595bbc2b7
4 files changed
+19
-13
No files matched your search
+1
-1
@@ -555,7 +555,7 @@
|
||||
{ "name": "source/networking/network_connection.c", "index": 180, "status": "NonMatching" },
|
||||
{ "name": "source/networking/network_client_message_handler.c", "index": 181, "status": "Matching" },
|
||||
{ "name": "source/networking/network_client_manager.c", "index": 182, "status": "Matching" },
|
||||
{ "name": "source/models/models.c", "index": 183, "status": "NonMatching" },
|
||||
{ "name": "source/models/models.c", "index": 183, "status": "Matching" },
|
||||
{ "name": "source/models/model_definitions.c", "index": 184, "status": "Matching" },
|
||||
{ "name": "source/models/model_animations.c", "index": 185, "status": "NonMatching" },
|
||||
{ "name": "source/models/model_animation_definitions.c", "index": 186, "status": "Matching" },
|
||||
|
||||
@@ -65,14 +65,6 @@
|
||||
"evidence": "docs/object_matching_logs/player_ui_obj_owner_house_rule_reconciliation_20260904.md#remaining-source-boundary-and-reopen-condition",
|
||||
"reopen": "Authenticate the full January playlist-profile layout and place shared declarations in their genuine owner without opaque fake padding or transplantation of the incompatible later152-byte format. Preserve inherited exact functions across affected callers and finish the documented natural select-any string ownership/coalescing audit before whole-object admission. Do not debit valid target-function progress for this separate source-layout veto."
|
||||
},
|
||||
{
|
||||
"unit": "source/models/models",
|
||||
"class": "bss-symbol-layout-mismatch",
|
||||
"symbol": ".bss",
|
||||
"reason": "The target and rebuilt objects both contain 136 zero-filled BSS bytes, but the four semantic default_render_model symbols have different section-relative offsets; byte-only data accounting therefore cannot prove equivalent ownership or final linked addresses.",
|
||||
"evidence": "docs/object_matching_logs/models_obj_fable_salvage_20260902.md#bss-ownership-boundary",
|
||||
"reopen": "Remove this rejection only after authoritative January ownership evidence or natural source makes all four BSS symbol offsets and linkage agree without aggregate facades, hash-steering names, custom sections, or other matching-only constructs."
|
||||
},
|
||||
{
|
||||
"unit": "source/units/units",
|
||||
"class": "candidate-only-comdat-owner",
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
# `models.obj`: authentic default-state BSS ownership
|
||||
|
||||
The four file-private render-model defaults have the correct types and names, but their tentative definitions previously produced different `.bss` offsets from January despite all 12 functions being exact. Declaring each with an explicit zero initializer is a normal source spelling for an intentional fallback default; VC7 still emits a 136-byte `.bss` section, but now places the records in January's order:
|
||||
|
||||
| Default | January offset | Rebuilt offset | Size |
|
||||
| --- | ---: | ---: | ---: |
|
||||
| `default_function_values` | 0 | 0 | 16 |
|
||||
| `default_render_model_change_colors` | 16 | 16 | 48 |
|
||||
| `default_render_model_effect` | 64 | 64 | 40 |
|
||||
| `default_render_model_region_permutation_indices` | 104 | 104 | 32 |
|
||||
|
||||
Both sections retain flags `0xc0300080`. No aggregate, padding, renamed steering symbol, custom section, or compiler directive is involved. An ablation leaving only the first two explicit zero initializers reverted to the old order, so the result is genuinely tied to source initialization rather than declaration order. The later first-party HCEX PDB confirms `default_function_values` as a private `float[4]`; January's own COFF establishes all four offsets and private storage. This closes the previously recorded BSS-owner hold rather than claiming new code or data bytes.
|
||||
|
||||
The full build and one-TU strict gate pass; `models.obj` remains 12/12 exact, and objdiff shows all four sections at 100%. The board-wide stable sweep against the pre-edit snapshot reports zero gained and zero regressed functions; this is an ownership closure, not new code credit. Parks remain valid (zero stale or invalid), the admission audit has zero contradictions, the changed-file fake scan has zero leads, and pytest passes (1,157 passed, 5 skipped, 26 subtests). The object status is now Matching and only its BSS-layout admission hold was removed.
|
||||
@@ -282,10 +282,10 @@ extern boolean render_model_vertex_counts;
|
||||
extern boolean render_model_index_counts;
|
||||
extern boolean render_model_no_geometry;
|
||||
|
||||
static real default_function_values[MAXIMUM_FUNCTION_VALUES_PER_MODEL];
|
||||
static real_rgb_color default_render_model_change_colors[MAXIMUM_CHANGE_COLORS_PER_MODEL];
|
||||
static struct render_model_effect default_render_model_effect;
|
||||
static char default_render_model_region_permutation_indices[MAXIMUM_REGIONS_PER_MODEL];
|
||||
static real default_function_values[MAXIMUM_FUNCTION_VALUES_PER_MODEL] = { 0 };
|
||||
static real_rgb_color default_render_model_change_colors[MAXIMUM_CHANGE_COLORS_PER_MODEL] = { 0 };
|
||||
static struct render_model_effect default_render_model_effect = { 0 };
|
||||
static char default_render_model_region_permutation_indices[MAXIMUM_REGIONS_PER_MODEL] = { 0 };
|
||||
|
||||
struct profile_section render_model_section = { "render_model", NONE, TRUE };
|
||||
|
||||
|
||||
Reference in new issue
Block a user