Skip to content

HD2Runtime v0.30.3 — Bug Fixes and Unlimited Custom Stratagem Uses

Choose a tag to compare

@SkyeShade SkyeShade released this 09 Oct 02:26
· 136 commits to master since this release

HD2Runtime 0.30.3 — bug fixes and unlimited custom stratagem uses

0.30.3 fixes two problems players reported with 0.30.2, and lets the stats editor give custom stratagems unlimited
uses. There are no new fields.

A false "Another mod changed the stratagem data" card

In a busy game (many mods, a slow update), the custom stratagem check before a launch failed to read the stratagem
table. It reported that failure as "Another mod changed the stratagem data", then showed WILL FAIL as the mission
loaded, although the custom stratagems worked. The read now completes however busy the update is. Only a real change
to the table's shape shows the card. Any other failure shows nothing, is logged once and is tried again later.

One odd entity no longer blocks every mod's writes

Every typed write reads the game's entity map. When one row of it was not as reviewed (seen live: the LAS-12 Sai's,
probably changed by another mod), every typed write of every mod was refused with invalid/ambiguous bounded pointer,
including stat editor changes, entity plans and weapon mods that had nothing to do with that entity. Now only writes
to that one entity are refused, with the same reason. Every other write goes ahead, and the log names the row once
per session (docs/diagnostics.md, "Stray entity map rows"). The checks themselves are unchanged.

Unlimited uses for custom stratagems (for the stats editor)

hd2.custom_stratagem.tune(id, {uses = 0}) or {uses = -1} makes a custom stratagem's uses unlimited on this
machine, the same as registering it with no uses. register and custom stratagem projects accept 0 and -1 too.
describe(id) reports unlimited_uses, and limits.unlimited_uses = {0, -1}. An Eagle's uses stay per rearm and
cannot be tuned.

Compatibility

  • Mods built for 0.30.2 work unchanged. min_version stays as it was for every feature.
  • Unlimited uses (0 / -1) need 0.30.3: on 0.30.2, tune returns nil and the reason, and nothing changes.
  • The startup line reads HD2Runtime 0.30.3 initialized (API 1).
  • Both problems were diagnosed from a player's log. The fixes are covered by the offline tests and are not live-tested yet.