Skip to content

Research Report Gore Runtime

LopeKinz edited this page Sep 26, 2026 · 1 revision

TNC Gore-Runtime: Findings and Next Test Path

Results

Direct full replacement of the 24 goreBehavior:standard/* assets is not viable as a runtime path: it is parseable but crashes the TNC start. The more likely safe route is a surgical set patch on existing scalar probability fields, leaving the Decl structure, woundType lists, inherit chains, and the number of array entries from Retail unchanged.

Static Cross-Checks

  • Retail TNC actually contains 41 goreBehavior Decls; the relevant standard/* Decls are not just TNO artifacts.
  • standard/pistol has two existing paths: edit.probability.item[0].probability = 0.200000003 and edit.probability.item[1].probability = 0.1.
  • standard/smg, rifle, and heavy each have three existing probability fields. Several specialized Decl children inherit from standard/heavy or standard/explosive; this inheritance should not be rebuilt by a new full-replacement file.
  • The Engine already knows the Gore types used in Retail: GORETYPE_SMALL_WOUND, BIG_WOUND, HEAD_SHOT, LIMBLOSS, FULL_BODY_GIBS, SIGNATURE_DEATH1/2/3, REALLY_BIG_WOUND, and EXPLOSIVE. Therefore, there is no reason to introduce new tokens for the first runtime probe.

Negative Checks

  • The previous 24-asset full replacement crashed at startup despite successful Decl parsing during start; parseability is thus explicitly not a runtime proof.
  • A new Gore type/combined woundType token is excluded as a probe: TNC Decls use multiple existing tokens, but an unknown or unresolvable type for the target model is an unnecessary crash/no-op candidate.
  • g_EnableGore, g_debugGore, and g_goreBloodyMess are locked Cvars in the existing Retail measurement; therefore, a Cvar-only Gore mod is not an option.
  • resource_dlcDbgSearchPath was rejected as Unknown command in the real TNC log; an external DLC search path is not a viable substitute for the Decl patch.

Concrete Next Step

Build an isolated probe mod with only goreBehavior:standard/pistol and two set values:

{
  "goreBehavior:standard/pistol": {
    "set": {
      "edit.probability.item[0].probability": 0.95,
      "edit.probability.item[1].probability": 0.95
    }
  }
}

Before a game start: Dry-run on a clean TNC backup, then activate only tnc_erste plus this single probe. Retail start is the actual gate; upon success, gradually add smg/rifle/heavy and finally the inherited special Decls. Upon failure, the next suspicion is the handling of compressed Gore entries in the Resource rebuild, not the Gore syntax.

Context for Custom Maps

The Map Canary and Gore are separate runtime risks. The Gore probe should run without a Map prototype. Only when the single-asset Gore probe starts, enable the Map Entity Canary individually; a new Map ID/geometry is still unproven.

Clone this wiki locally