MJOLNIR Tag Editor changelog
MJOLNIR Tag Editorv0.21.0

Runtime fields are read-only, and live mode says when a poke cannot show

Fields the game recomputes at load are read-only, live mode warns when a poke lands on a value the game does not read, and NaN or out-of-range block indices are refused.

Some tag fields are not read by the game at all. The engine recomputes a runtime … copy from them when the tag loads, and the simulation reads only that copy. This release shows which fields those are, and stops edits that could only do harm.

Added

  • Runtime fields are read-only. A field named runtime …, such as a barrel's runtime rate of fire acceleration rate, a biped's runtime crouch transition velocity or a trigger volume's runtime sector bounds, is greyed out with Recomputed by the game when the tag loads. An edit to one would only be overwritten at load. There are 239 such fields across 30 groups. Blocks and structs named runtime are not included; the multiplayer globals' runtime block is ordinary authored data.
  • Live mode warns when a poke cannot show. Some fields have a runtime copy, and the running game reads that copy instead. Examples are a barrel's rate-of-fire acceleration time and deceleration time, a biped's crouch transition time, the ground physics' slope angles, recharge times and a weapon's power-on time. After a live poke to one of these, the live bar names the runtime field in amber. It says the game will not change until the tag loads again, with a mission restart or a rebuild. The edit is still recorded.

Fixed

  • A real field accepted NaN, inf, -inf, infinity and values too large for a 32-bit float (1e39), and wrote them into the tag. They are now refused, both in the editor and on the command line.
  • A block index can now be set only to none or to an element of the block it points into, when the definition says which block that is. The barrel's magazine indexes the weapon's magazines. The value a field already holds is always accepted, so reverting a field or pasting an element still works.
  • Rebuilding a scenario's scripts resolves their names (objects, trigger volumes, squads, flags) against that scenario. Every one pointed at the first element of its block, while the command line already got them right.