Repository navigation
ContentTool 1.2.0
ContentTool 1.2.0 adds an in-game bench to check replacement meshes and take a project from validation to packaging.
Work from the loaded game
- Open the bench with
ct_bench openfrom a loaded geoscape, or pressCtrl+Alt+B. FITkeeps the weapon-fit tools;MODEL DOCTORandLIFECYCLEare new.- The bench guide covers the three tabs.
Check a mesh before you bake
- Model Doctor compares your replacement mesh against a shipped prototype slot.
- Pick a prototype, a variant and a slot, then choose your GLB with
Browse.... - There are now 350 variants across 36 prototypes. Armour sets have separate variants, such as
Human / PX_HeavyStarting. - Before 1.2.0, only one variant per manager was listed, which left most armour sets unreachable.
- The header tells you whether the result is
BY NAME - your weights will be used, nearest-bone, not rigged, orIMPORT REFUSED (N reason(s)). - Rows name the problem: missing or extra bones, a 1-triangle shard where the target has two materials, no armature, or a rigged file on a static target.
- Foreign rigs, including Khronos sample models, never get a false
BY NAMEand never throw. They are refused or downgraded with the reason. - In the SHIP section,
CREATE, BAKE & APPLYwrites a ready mod folder beside ContentTool withppcontent.json,meta.jsonand your GLB, then bakes it and applies it live. - The Model Doctor guide covers the checks and shipping step.
Run the project loop in one panel
- The Lifecycle tab has
Validate,Bake,Apply,VerifyandPackagerows. - Use
Run allfor the whole loop, per-rowRunfor one stage, orCancelto stop. - The status line only shows what the stages said.
Validatenow catches a texture outsideContent\Textures\, a mesh outsideContent\Meshes\, and two source files with the same stem offline, before bake time.- A
.glbwithout an armature is reported as a note during validation. - Apply reports
restart requiredwhen the game already holds an older copy of the bundle. Verify refuses until you restart. - Package writes to
%LOCALAPPDATA%\ContentTool\Packages\<projectId>\<yyyyMMdd-HHmmss>-<runId>. - The panel uses the same producers as
ct_project,ct_route7 apply,ct_route7 verifyandct_package. Those console commands are unchanged and still documented. - The Lifecycle tab guide covers each stage.
Follow a real armour replacement
- The worked armour-set example takes a PX Heavy torso, both legs and albedo from a Blender export to the final green run.
- It includes the mistakes the tool caught: no armature, a nearest-bone export, a texture in the wrong folder, a 1-triangle shard, and a texture row naming an asset that does not exist.
Keep the verdict visible and the bench usable
- A suspicious submesh, such as a tiny shard beside a real part, is now a WARNING instead of a bake failure. The run still tells you about it.
- Long
ct_projectverdicts no longer blank the in-game console. At most 60 lines are printed, and the last lines, includingALL PASSorN FAILURE(S), always survive. - The full verdict goes to
<persistentDataPath>\ContentTool\Logs\console-<stamp>.txt; the console names the file. - Bench gizmos and handles are drawn at output resolution from OnGUI, removing ghost trails under temporal upscalers such as DLSS via Renderforge.
- The Doctor header no longer clips mid-word. Expected import refusals produce one warning line instead of an error with a stack trace.
Cancelstays reachable while a stage waits for the panel to paint. Switching tabs no longer trips an IMGUI layout error.
Install
- Unzip so that
Mods\ContentTool\ContentTool.dllandMods\ContentTool\meta.jsonexist under your Phoenix PointModsfolder. - Enable
ContentToolin the in-game mod manager, then restart. - Mods that depend on ContentTool list
com.morgott.ContentToolin theirmeta.jsonDependencies.