Skip to content

v0.1.0

Latest

Choose a tag to compare

@ZivDero ZivDero released this 27 Aug 12:32
· 6 commits to main since this release

The changes below are compared to Tiberian Sun with Firestorm 2.03.

Breaking changes

  • Correct the armor crate multiplier
    • Migration: Replace each nonzero Armor row's third field with its reciprocal if existing rules or maps intentionally rely on the previous result. For example, change Armor=33,ARMOR,0.5 to Armor=33,ARMOR,2 to preserve the same damage reduction.
    • Migration: Replace an Armor value of 0 with the intended positive armor divisor. Zero has no reciprocal and now leaves ordinary damage calculation dividing by zero.
  • Honor a trigger's difficulty flags
    • Migration: Check maps whose triggers carry 0 in one of their three difficulty fields. Such a trigger is now genuinely disabled at that difficulty; set the field to 1 to keep it taking part.
  • Play network games over UDP instead of IPX
    • Migration: Remove -SOCKET and -DESTNET from any shortcut. Both options are gone, and -DESTNET has no counterpart because it addressed a bridge only IPX had.
    • Migration: Delete Socket, NetCard and DestNet from the [Network] section of sun.ini, or leave them to be ignored.
    • Migration: Check that every player can reach the others on one of the networks their machine is attached to. All players use UDP port 1234, and a router between two of them normally stops the broadcast that finds a game.
  • Present the game through bgfx instead of DirectDraw
    • Migration: Remove -16 from any shortcut. The option is gone.
    • Migration: Delete AllowHiResModes, AllowModeToggle and VideoBackBuffer from sun.ini, or leave them to be ignored. Size the window with Fullscreen, WindowWidth and WindowHeight instead.
  • Remove CD-ROM-dependent startup behavior
    • Migration: Check any shortcut carrying -CD<path>. It now adds a local data search path rather than selecting a disc.
    • Migration: Remove CD= from map packet entries and from a loose map's [Multiplay] section. A map no longer names the discs it may be played from.
  • Remove modem and null-modem play
    • Migration: Play over a network, the Internet, or in skirmish instead. A modem or null-modem game can no longer be started.
    • Migration: Delete the [SerialDefaults], [InitStrings] and [PhoneBook] sections and [MultiPlayer] PhoneIndex from sun.ini, or leave them to be ignored.
  • Replace the fastmath lookup tables
    • Migration: Finish or abandon replays and mid-mission saves recorded with an earlier build. Continuing one under this build may diverge.
    • Migration: Check that every peer in a network game runs the same OpenTS version.
  • Report a crash with a minidump and a readable report
    • Migration: Remove -XE from any shortcut. A debugger attached to the process already takes a crash before this handler does.
  • Serialize save games member by member
    • Migration: Finish or abandon games in progress before changing release-cycle versions or development snapshots. No converter is provided, and snapshots within one active cycle have no interoperability promise.

New features

  • Add a Place Building hotkey command (by CCHyper, ZivDero)
  • Make seeing through a disguise a stated ability (by ZivDero)
  • Play network games over UDP instead of IPX (by ZivDero, tomsons26)
  • Present the game through bgfx instead of DirectDraw (by ZivDero)
  • Remove CD-ROM-dependent startup behavior (by ZivDero)
  • Remove modem and null-modem play (by ZivDero)
  • Report a crash with a minidump and a readable report (by ZivDero)
  • Widen Select Same Type to every selected type and the whole map (by JoyfulShush, ZivDero)
  • Write a debug log every run and open a debug console (by ZivDero)

Bug fixes

  • Allow zero-power Tiberium chain reactions (by ZivDero)
  • Apply infantry damage safely without a warhead (by ZivDero)
  • Break ambush when the ambusher is discovered (by ZivDero, tomsons26)
  • Cancel placement and input modes when input locks (by ZivDero, tomsons26)
  • Compare sound entries without truncating the index (by ZivDero, tomsons26)
  • Correct the armor crate multiplier (by ZivDero, Iran)
  • Decode Move to Cell on the width its file declares (by ZivDero)
  • Deny grounded zero-ammo aircraft attack orders (by ZivDero, dkeeton)
  • Destroy triggers and tags at the end of the frame (by ZivDero, tomsons26)
  • Draw a tooltip that fills the width of its panel (by ZivDero)
  • Draw animation loop delays from the synchronized generator (by ZivDero, tomsons26)
  • Draw infiltrated factory cameos in their own palette (by ZivDero, hifi, CCHyper)
  • Draw the ion blast's warp to the view's edge (by ZivDero)
  • Draw the sonic ripple to the view's edge (by ZivDero)
  • Exclude allied kills from veterancy (by ZivDero, AlexB)
  • Finish aircraft moves after landing completes (by ZivDero, hifi)
  • Hold the ion blast's warp inside the view (by ZivDero)
  • Hold the laser wave inside the view (by ZivDero)
  • Hold the sonic ripple's samples inside the view (by ZivDero)
  • Honor Trainable for veterancy crates (by ZivDero, Iran, CCHyper)
  • Honor a map's MaxPlayers setting (by ZivDero, tomsons26)
  • Honor a trigger's difficulty flags (by ZivDero, tomsons26)
  • Honor the crates option after pickup (by ZivDero, Rampastring)
  • Ignore allied sensors around cloaked structures (by ZivDero, Rampastring)
  • Ignore hostile aircraft landing reservations (by ZivDero)
  • Initialize every building animation state (by ZivDero, AlexB)
  • Keep AI teams from retaliating against allies (by ZivDero, Rampastring)
  • Keep a voxel shadow drawn while its object flashes (by ZivDero, AlexB)
  • Keep aircraft cargo aboard over buildings (by ZivDero, Iran)
  • Keep limbo objects out of radar tracking (by ZivDero, AlexB)
  • Keep repeated reveal crates revealing (by ZivDero, Rampastring)
  • Keep selected difficulty when restarting missions (by ZivDero, Rampastring)
  • Keep the elapsed mission time across a save game (by ZivDero)
  • Keep voxel debris damage local to each impact (by ZivDero, AlexB)
  • Let every object drawn on screen be clicked and band selected (by ZivDero)
  • Measure fuse proximity in three dimensions (by ZivDero, tomsons26)
  • Normalize nonpositive weapon bursts (by ZivDero, dkeeton)
  • Preserve partial bursts across target loss (by ZivDero)
  • Queue AI vehicle factory exit destinations (by ZivDero, Rampastring)
  • Raise the sidebar strip capacity and hold its entries inside it (by ZivDero)
  • Reacquire stale Guard targets (by ZivDero, dkeeton, Rampastring)
  • Read EngineerDamage from its own key (by ZivDero, tomsons26)
  • Read every Tiberium type's damage from the rules (by ZivDero, AlexB, Rampastring)
  • Reconnect a house's flag position when loading (by ZivDero, tomsons26)
  • Reconnect every scouting record to its house when loading (by ZivDero, tomsons26)
  • Recount superweapons safely while a scenario is cleared (by ZivDero, Rampastring)
  • Release flying jumpjets from factory exits (by ZivDero, JoyfulShush)
  • Release the cell a unit really occupied (by ZivDero, tomsons26)
  • Remove the theater tile-set lookup ceiling (by ZivDero)
  • Repaint every cell flagged for redraw (by ZivDero)
  • Require mutual alliances for refinery docking (by ZivDero, dkeeton)
  • Require repairable structures for C4 sabotage (by ZivDero, dkeeton)
  • Respect terrain immunity during vehicle pathing (by ZivDero, Rampastring)
  • Restate the briefing the scenario carries (by ZivDero)
  • Resume music rotation after scenario themes (by ZivDero, AlexB, Rampastring)
  • Run the Berzerk team mission (by ZivDero, tomsons26)
  • Save multiplayer games after the frame is retired (by ZivDero)
  • Size AI production demand from the type registries (by ZivDero)
  • Size IsoMapPack5 decoding from its terrain payload (by ZivDero)
  • Skip scenario records without a live owner (by ZivDero)
  • Skip voxel debris bounce damage without a warhead (by ZivDero, AlexB)
  • Start production regardless of funds (by ZivDero)
  • Start without asking Windows whether a mouse is attached (by ZivDero)
  • Stop a load from discarding restored radar and display state (by ZivDero, tomsons26)
  • Stop a tall picture from laying out more sidebar rows than a strip holds (by ZivDero)
  • Stop dropping orders once the command queue is full (by ZivDero)
  • Stop jumpjet flight processing after ion-storm destruction (by ZivDero, AlexB)
  • Strip quotes from launch options (by ZivDero, tomsons26)
  • Use repair capability for player aircraft actions (by ZivDero, Iran)
  • Use terrain data for Tiberium infantry passability (by ZivDero, AlexB)
  • Validate Tiberium overlay frames before drawing (by ZivDero)

Internal changes

  • Compile Blowfish into the binary (by ZivDero, tomsons26)
  • Replace the fastmath lookup tables (by ZivDero)
  • Serialize save games member by member (by ZivDero)
  • The OpenTS engine (by ZivDero, tomsons26)
  • The OpenTS manual (by ZivDero)