Skip to content

v2.3.0

Compare
Choose a tag to compare
@kartoFlane kartoFlane released this 22 Sep 12:16
· 1062 commits to master since this release

General

  • Configuration for the mod loader, as well as individual mods, can now optionally be stored in a profile-specific way instead of globally (ie. each profile has its own set of enabled mods).
    • Important: you still have to restart the game to completely apply all settings changes (list of enabled mods in particular)
  • Mod loader now looks for the directory where the game stores profile and savedata, instead of assuming it's always located in {user}/Documents/My Games/Into The Breach
  • Portraits in pilot arrange screen now display a tooltip with the pilot's name when hovered.
  • Logging level setting is now applied immediately, without having to restart the game.
  • Cleanup: split altered.lua and modapi.lua into a bunch of smaller files.
  • Fixed a bug in hangar UI, where selecting a custom squad and clicking in specific places would cause the difficulty UI to reappear (thanks Lemonymous).
  • Fixed a bug in hangar UI, where switching from a profile with at least one Secret Pilot unlocked back to a profile that hasn't seen them yet, would cause the difficulty UI to reappear (thanks R30hedron).
  • Fixed a bug in hangar UI, where clicking on a Secret Pilot that hasn't been unlocked yet would cause the difficulty UI to reappear.
  • Fixed a bug causing modded UI elements to sometimes not de-highlight correctly.
  • Fixed scrolling using mouse wheel in scroll areas not highlighting child elements correctly.
  • Adjusted hangar UI timings - this should fix an issue where entering the hangar and clicking "Start Game" very quickly would cause the difficulty UI to not fade out. It can still happen if you spam click the button, but should be much more rare now.
  • WeakPawns table in spawner_backed.lua is now made global by the mod loader (similar to Global_Texts)

API

  • Mods can now define a third function in addition to init and load: metadata. This function is executed for all mods regardless of whether they're enabled or not. It should be used to setup config options for the mod, or its icon.
  • icon mod table field is now prepended with resourcePath by default. You can still override this field in init or metadata if you need more control over the path.
  • Added modsLoadedHook, fired when all mods have finished loading.
  • Added HangarGetSelectedMechs(), which returns a list of mechs constituting the currently selected squad (premade, custom, or random). Only works inside the hangar.
  • Added IsTestMechScenario()
  • Added testMechEnteredHook and testMechExitedHook
  • GetCurrentMission() now returns Mission_Test table while in test mech scenario
  • Added consoleToggledHook
  • Mod loader's user-facing texts can now be translated through mods, like so: modApi.texts[SOME_TEXT_ID] = "My translated text". See scripts/mod_loader/modapi/init.lua:setupModLoaderTexts() for a complete list.
    • Note: if the language you're translating the game to uses non-ASCII characters (very likely), then you'll need to fuss around with file encodings and font glyphs. Generally, saving the files with translated texts as UTF-8 should work for most texts, but you may need to put some texts in separate files saved with a different encoding, and modify the fonts used by the game to display these characters accurately.

UI

  • Added UiFlowLayout UI widget
  • UI elements can now define ignoreMouse = true to completely ignore all mouse events