Skip to content

Restore missing wreck model used by corfast and corhack - #4

Draft
Dimaris-nsk wants to merge 1 commit into
Vandomas:masterfrom
Dimaris-nsk:codex/restore-corfast-wreck-model
Draft

Dimaris-nsk wants to merge 1 commit into
Vandomas:masterfrom
Dimaris-nsk:codex/restore-corfast-wreck-model

Conversation

@Dimaris-nsk

Copy link
Copy Markdown

Work done

corfast_dead and corhack_dead still reference objects3d/Units/corfast_dead.s3o, but the model is missing. BAR consequently removes both feature definitions and the engine clears the units' wreck references. Restore the one unchanged historical model so both existing definitions can load again.

The 65,892-byte file is identical to upstream blob 645778f5c54241d08b3969a1db0ca388effb890c, from commit 165bb063ed5221ff630abab85cb297a74a6f65ae, before its removal in PR5881. Both textures already exist. No UnitDefs, balance values, validator, engine or launcher changes are included.

Test steps

Completed by Codex in one private BAR test-31251-0ceadc7 match on the v0.15.1 macOS engine, with only this model added to the game package. All 18,469 original package entries were preserved. The saved original full-game log establishes the missing definitions; original unit deaths were not observed.

  • Load the model from the private game archive and verify both real runtime wreck definitions and textures.
  • Spawn and normally destroy corfast and corhack: both corresponding textured wrecks appear, with runtime metal/health 126/830 and 756/1830.
  • Give cornecro the ordinary Resurrect order on corhack_dead: observe progress and a new living corhack, followed by normal repair.
  • Damage the remaining corfast_dead into corfast_heap: observe the expected nonblocking heap, 52 metal, and no resurrection target.
  • Give the builder an ordinary Reclaim order on that heap: verify its exact target, feature removal, idle builder and interval metal excess. Storage was full; no claim of 52 net metal credited or a captured fractional reclaim-progress sample.
  • Confirm the final world and normal exit: engine code 0, closed lifetime channel, empty owned process group, no emergency signals.

The isolated setup used a spectator, two idle AIs, cheats for fixture creation, and normal UI builder orders. The single native reducewrecks command was guarded by a complete inventory: 157 unchanged rocks and exactly one affected corpse. No observer code created features or altered progress.

This covers both deaths, one resurrection and one heap/reclaim chain; it is not every lifecycle combination, a full fork distribution, or online compatibility. Existing diagnostics remain. The xplomed2 warning during death is explained by this test's Sound=0/NullSound lookup; the actual sound alias and WAV are present. Audio playback was not tested.

Evidence

Reviewed screenshots, source-bound results and log excerpts.

Review requested / AI usage

The reason for the historical model deletion is unknown. Please review whether restoring the existing artwork is the intended repair for the surviving definitions.

The model is original BAR artwork, restored byte-for-byte, not AI-generated or edited media. OpenAI Codex performed the source analysis, restoration, private gameplay checks and documentation. Submitted as a draft for human review through our agreed fork workflow; independent human verification is still pending.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant