Skip to content

Releases: itb-community/ITB-ModLoader

v2.5.1

21 Apr 20:16
Compare
Choose a tag to compare

BEFORE UPDATING TO NEW GAME VERSION

  1. Run uninstall.bat to remove the mod loader
  2.  
    Non-steam: update the game (or reinstall)
    Steam: run Verify integrity of game cache (google it if you don't know how)
    Optionally try running the game, to make sure it works
  3. Install the new verison of the mod loader

Fixes

  • Fixed an issue that would cause the game to crash due to incorrect language index in default game settings (thanks KnightMiner)
  • Fixed an issue preventing modded UI from showing up, and overall preventing the mod loader from working correctly (thanks KnightMiner)

v2.5.0

20 Apr 21:23
Compare
Choose a tag to compare

Game version: 1.2.20

Thanks to Matthew Davis from Subset Games, who went out of his way to make sure the mod loader doesn't break with the new version of the game!

BEFORE UPDATING

  1. Run uninstall.bat to remove the mod loader
  2.  
    Non-steam: update the game (or reinstall)
    Steam: run Verify integrity of game cache (google it if you don't know how)
    Optionally try running the game, to make sure it works
  3. Install the new verison of the mod loader
  4. Go to ITB's save / profile directory, find settings.lua file, open it and change:
    ["force_opengl_1"] = 0 to ["force_opengl_1"] = 1 and
    ["language"] = 0 to ["language"] = 1

General

  • Added marker file to /mods directory so that it'll get unpacked properly.
  • Reworked handling of text and text replacements in an attempt to better support the new way the game handles text
  • Tweaked squad selection and pilot UIs
  • Added default and randomize buttons to squad selection and pilot UIs (thanks KnightMiner and tosx)
  • Fix statistics screen crashing the game (thanks Lemonymous)

API

  • modApi:conditionalHook - third parameter is now a function instead of a boolean. When this function returns true, the conditional hook is removed.
  • Added modApi:getGameVersion, which returns the game version: either 1.2.20, 1.1.22, or 1.0.22.
  • Added language-related functions:
    • modApi:getLanguageIndex() - returns id of the currently selected language
    • modApi:getLanguageId() - returrns a string identifier of the currently selected language. Can pass language index as argument to get the result for other languages.
    • modApi:getLanguageDisplayName() - returns the display name of the specified language (name of the language as displayed by the game). Can pass language index as argument to get the result for other languages.
  • Fix sdlext.isShiftToggled / sdlext.isAltToggled / sdlext.isCtrlToggled hooks not working
  • Fix SpaceDamage.IsMetadata crashing (thanks Lemonymous)
  • Change list_indexof() to return -1 instead of nil (thanks KnightMiner)
  • Added FinalEnemyList global table, that can be used to modify the list of enemies that will spawn during the final mission (thanks Lemonymous)
  • Added EnemyLists.Bots global table, that can be used to modify the list of bot enemies that will spawn in bot missions (thanks Lemonymous)
  • Removed accidental modApiExt dependency in mod loader code (thanks Lemonymous)

UI

  • Added Ui:swapSibling(), Ui:bringUp(), Ui:bringDown()

v2.4.1

17 Feb 11:49
Compare
Choose a tag to compare

General

  • Fixed issues with hangar and difficulty UI when resizing the game window
  • Fixed a long-standing bug with hangar pilot selection UI, where pilot portraits would continue extending way past the selection window if the player had many modded pilots enabled (thanks Lemonymous and tosx)
  • In Pilot Arrange in Mod Options, added an indicator of which pilots will be selectable in the hangar (thanks tosx)
  • Added missing destroyed-in-water sprites for train, satellite rocket, generator3 (thanks tosx)
  • Tweaked the extra difficulty display to more closely match the vanilla game (thanks R30hedron)

API

  • Fix UpdateSaveData function failing when the game happened to save at the same time (thanks tosx)
  • Added mouseTile() and mouseTileAndEdge() functions from modApiExt
  • Some of the Pawn functions added in 2.4.0 have been made more robust (thanks Lemonymous)
  • Added GetString() to GL_Color
  • Added LOGF - same as string.format, but for logging (thanks Lemonymous)

v2.4.0

21 Aug 15:37
Compare
Choose a tag to compare

General

  • Fixed a crash when deleting the currently active profile and recreating it (thanks Lemonymous)

API

v2.3.5

26 May 14:18
Compare
Choose a tag to compare

General

  • Fixed initial vek spawns being delayed in mission previews.
  • This also fixed a crash when exiting to main menu while new missions were being revealed.

API

v2.3.4

11 May 13:18
Compare
Choose a tag to compare
  • Fixed vek not burrowing out immediately when entering the test mech scenario
  • Fixed a crash at the end of some missions due to spawner_backend.lua

v2.3.3

10 May 17:42
Compare
Choose a tag to compare

General

  • Squad selection and pilot order are now saved on per-profile basis, if profile-specific configuration option is selected (thanks Rusted)
  • Fixed crash when using pre-1.1.22 version of the game due to the gamepad mode detection code.

API

UI

  • sdl.rgb and sdl.rgba now accept hex code input (#FFFFFF, #FFFFFFFF)

v2.3.2

29 Dec 13:13
Compare
Choose a tag to compare
  • Fixed a bug with previous version that prevented the game from starting

v2.3.1

27 Dec 17:03
Compare
Choose a tag to compare
  • Updated scripts.lua to 1.1.22 game version (to include rumble.lua)
  • Added a popup shown when Gamepad Mode is enabled, warning the player that the mod loader does not support gamepad input
  • Fixed an issue with conditionalHook not honoring the remove override
  • Minor internal changes to how the mod loader handles logging
  • Added uninstallation script: uninstall.bat
    • Double clicking this script on Windows will remove the mod loader from your Into the Breach installation, and restore it to vanilla state
    • Mods in the mods directory and savegames will be left untouched
    • If problems persist, use Steam's Verify integrity of game cache functionality, or reinstall the game

v2.3.0

22 Sep 12:16
Compare
Choose a tag to compare

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