Skip to content

Releases: FTL-Hyperspace/FTL-Hyperspace

1.3.3

20 Jun 01:51
9afe729
Compare
Choose a tag to compare

What's Changed

  • Fix erosion and room stat boosts on beams properly
  • AI teleportMove tweaks
  • Fix new powers not appearing/sorting at first

Full Changelog: v1.3.2...v1.3.3

1.3.2

28 Apr 05:39
56a6aec
Compare
Choose a tag to compare

What's Changed

  • ActivatedPower::GetPowerDamage now returns by value.
  • Slight logic fix in RenderPowerBoxes.
  • Exposed TextString to lua.
  • Fixed artillery pinpoint.
  • Pinpoint artillery, combat drones, and power surges now target a random tile of the target room rather than the centre of the room.
  • Fixed memory leak when cloaking.
  • Fixed a bug where the hacking system would softlock after the hacking drone was destroyed.
  • Fixed minor lua stack leak on initialization.
  • Fixed missing destructors in lua Hyperspace module.
  • Made lua garbage collector more aggressive, now does not pause after a collection cycle.
  • Fixed memory leak when adding a system.

Full Changelog: v1.3.1...v1.3.2

1.3.1

11 Apr 18:16
2a6c7eb
Compare
Choose a tag to compare

Fixes a number of issues identified with the 1.3.0 release:

  • Fixed cooldown bars being created and rendered for disabled abilities.
  • Fixed a crash introduced in 1.3 where attempting to fire a beam weapon with length 0 would crash the game.
  • Fixed a memory leak with Button and TextButton.

New features:

  • Added callbacks for HAS_EQUIPMENT and HAS_AUGMENTATION, analogous to the one for GET_AUGMENTATION_VALUE.
  • Exposed crew and crew ability related structures to Lua, and added a number of crew ability callbacks (please review the source code if you want to see the list).

What's Changed

Full Changelog: v1.3.0...v1.3.1

1.3.0

06 Apr 08:03
1705ea5
Compare
Choose a tag to compare

Release notes

1.3.0 Release with many backwards-compatible changes.

  • Linux: fixed crash on ship stats page
  • Windows: Fixed locale issues from message boxes on Windows (i.e. no bajimoke messages)
    • Note: if you're calling message boxes from lua files, they should be encoded in UTF-8.
  • Windows: Error messages now appear in front of the game window.
  • Additional LUA enhancements and exposed functionality
  • Added lowHealthThreshold and lowHealthThresholdPercentage for custom races to change the health value at which beeping sound plays and health bar flashes red.
  • Super shield drones now load the image specified in their blueprint instead of the default for all super shield drones.
  • XML data can now be read by LUA.
  • Cross-platform docker build support for development
  • Added iconReplace tag for weapons
  • Thruster animations now render under the floor image instead of above
  • Beams with a length of 1 are forced to target a single room tile (this one is vert's, not mine)
  • Added SHIP prefix for event reqs and HasEquipment
  • Fixed teleport-move crew getting stuck on the enemy ship after a fight if they have the energy shield augmentation.
  • Sector quests can now work with no req.
  • Can no longer teleport-move from own ship to neutral enemy ship.
  • Adjusted timing of teleport movement in the code so that the player cannot teleport-move onto an enemy ship with cloaking right at the start of the fight.
  • Added new custom req keywords:
    • ACH: Precedes the name of an achievement to check, e.g. "ACH FOO".
    • ITEM: Forces an exact item check, ignores augment functions, ignores custom reqs, hidden augments are separate, blueprint lists can still be used. Used for setting prerequisites for events that actually consume an item/augment rather than using its function. For example "ITEM ADV_SCANNERS" or "ITEM HIDDEN ADV_SCANNERS".
    • dlc: Checks whether AE is enabled.
    • hull: Checks remaining player hull.
  • Player variables and metavariables are exposed to lua.
  • Internal event callbacks can now take an additional argument which specifies their priority. Higher number priority runs first. If not provided then default is 0.
  • Added lots of new callbacks, callback functionality, callback priorities (as an extra optional argument, default 0, higher numbers come first). Please refer to the lua-related Hyperspace source code for a list.
  • Room stat boost durations are now affected by the temporal manipulator.
  • roomAnim can now have a wallAnim.
  • Fixed system power bar rendering issues.
  • Completed erosion.
  • Block time from advancing while the game is loading.
  • Render events can be chained as with internal events and support nesting.
  • Fixed bugs with charge abilities where the game would hang under certain conditions.
  • Added customization for CrewBox; will be exposed to lua in the future.
  • A number of changes to crew abilities and ability-related stat boosts, including crew being able to have multiple abilities (WIP feature, please see xml).
  • Fixed rendering statboosts on dead crew.
  • Fixed recallBoarders not recalling dying crew
  • Fixed initial player variables being seeded incorrectly at the start of the run.

Contributions

New Contributors

Full Changelog: v1.2.3...v1.3.0

1.2.3

26 Aug 16:27
01173cf
Compare
Choose a tag to compare

What's Changed

  • Additional German translations by Dino
  • Fix default ENERGY_SHIELD augment not working properly alongside other energy shield augments when the default augment is given custom tags.
  • Fixed upgrading the Temporal Manipulator using events.
  • Fixed typo in example xml.
  • Access to pair<int, int> and pair<float, float> return values in Lua

Full Changelog: v1.2.2...v1.2.3

1.2.2

16 Aug 14:58
2c08d6b
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.2.1...v1.2.2

1.2.1

16 Aug 04:33
ba26e22
Compare
Choose a tag to compare

Install Notes:

Windows

You must extract the lua-5.3.dll alongside Hyperspace.dll both are needed

Linux

You must place the liblua5.3.so.0 file next to the hyperspace.so file
OR instead You can have lua-5.3 installed in your package manager instead of using the provided so file.

What's Changed

  • Lua Support!
  • Event windows can now be scrolled if the text/choices don't fit in the window. A scroll bar will appear and you can also use the mouse wheel.
  • Event text/choices are now cropped to the window boundary.
  • Scroll bar now highlights when the mouse is hovering over it
  • Room stat boost effects (which can have roomAnim, non-room stat boosts currently can't use roomAnim)
  • roomAnim can have a tileAnim now
  • Background objects now check equipment requirement on initialization
  • Added fireCount and dangerRating for stat boosts
  • Added canMove stat
  • Fixed crashes with drone AI and fixed the drone move from manning slot AI selecting tiles that weren't the closest pathable tile
  • Added teleportMove and teleportMoveOtherShip stats (currently teleportMoveOtherShip also needs canTeleport to be true, which is the default for crew, but I might change this in the future. Drones cannot teleport to the other ship.
  • Added a failsafe to prevent crashing when crew are teleported to the other ship and there are no slots left (they'll just reappear on the ship they came from).
  • Added ability to clear queued events.
  • Added mirror option for custom thrusters.
  • Fixed bomb drones not using zoltan bypass.
  • Added irotate parameter for custom thrusters. It is like rotate but it rotates the other way.
  • Crew removal from a crewless ship now does not show the crew removal at all, instead of creating a temporary crewmember to -remove immediately.
  • Fixed stat boost crew source IDs not being properly assigned to their respective crew IDs when loading a saved game.
  • Added Lua support. It's pretty barebones right now so you can't do too much but it will be expanded greatly in future versions.
  • Fixed crew icon not rendering with custom animSheet.
  • Fixed drone baseLayer and lightLayer with custom animSheet (used for things like the depower animation)
  • Added support for canPunch for drones.
  • Timed stat boosts can have jumpClear now.
  • Fixed possible crash with crew AI when crew is not in any room.
  • Fixed slight inaccuracy of healing rate from heal amount stats.
  • Fixed crashes related to crew being spawned under certain conditions (particularly death effects).
  • Added effectPostAnim and powerEffectSounds for abilities.
  • Fixed background objects not working at consoled events.
  • Console commands are now echoed to hyperspace log.
  • Recalculate stat boosts upon a ship being generated to avoid stat boosts from the previous ship persisting for a frame.
  • Added silenced stat (affected crew are unable to activate abilities).
  • Fixed crash that occurs when a deathEvent has <lose> and no text.
  • Fixed possible crash from uninitialized manning ID.
  • Fixed initialCharges.
  • Added respawnCharges for adding ability charges when a crew is cloned or a drone is redeployed after dying.
  • Added req for eventButton.
  • Hyperspace event stuff in events should work properly when the boss is present (use the boss event not the beacon event). Fixes issues such as having a fleet event with loadEvent in it and the boss is there.
  • Added COOLSWORDBRO console command cheat code see what happens (alias of DELETECREW).
  • Added SQUISHY console command, be sure to do SQUISHY some message here
  • Crude fix for backgrounds not reloading upon save & continue, it doesn't always load the same background but at least it's better than a black background
  • Fix CreateLocation lua hook for boss event.
  • Add error message popup support for lua.
  • Add ability to set window title with lua.
  • Fixed recursive timed stat boosts not working correctly.
  • Fixed silenced not working properly with certain other conditions.
  • Fixed drones freezing when canPunch = true and they die.
  • Attempted to fix light layer for custom drones.
  • Added internal event for main menu.
  • Removed DamageParameter struct as it is no longer necessary - use Damage.
  • ShipManager hooks that were using char now fixed to use bool.
  • Fixed abilities being AI activated or auto activated by disabled drones.
  • Fixed miniboss properties being carried over to the Rebel Flagship.
  • Lua errors now are logged to FTL_HS.log.
  • Fixed stack handling for lua errors (hopefully, the intent is to have it stop crashing).
  • Player variables and metavariables are now exposed to Lua.
  • Fixed some possible animation memory leaks related to abilities.
  • Fixed crash when loading game if crew had multiple timed stat boosts of the same stat.
  • Fixed crew source for room stat boosts when saving/loading.
  • Active abilities now reset by default when the crew respawns. Use in to configure. "reset" is default, "cancel" immediately cancels the ability as soon as the crewmember dies, "continue" is the old behaviour.
  • Crew ability reworks (internal)
  • Ability cooldown/charges now get set up as soon as the ability activation begins for delayed abilities rather than when the ability "goes off"
  • Fixed crash on empty SQUISHY message.
  • Some lua stuff exposed (this is not all the stuff that has appeared on sneak peeks, that will come with Hyperspace 1.3 as we're still figuring out the API).
  • Fixed memory leak with lua using GL_Primitive.
  • Easier syntax for making difficulty independent drone surges (works the same way as barrages).
  • Fixed mini boss properties being applied to the flagship if you visit it immediately after a miniboss.
  • Fixed req on eventButton when not using noDanger.
  • Calling HasEquipment from lua now properly checks advanced hyperspace req features.
  • Attempted fix for loading crash related to projectiles.
  • The crew ability code changes have been merged into the main development branch and are included in the current betas.
  • Artillery now resets properly when jumping (avoids crashes with beam artilleries).
  • Fixed crash when a crew with canMove=false changed to canMove=true while not having an assigned slot.
  • Fixed crash when a crewmember transforms while shooting.
  • Fixed issues with having 5+ weapon and/or drone slots. No more crashes and the UI can now handle up to 10 weapons for targeting icons.
  • Weapon/drone hotkeys have been updated. They will dynamically change to support your weapon/drone slots if you have 5+ weapons, 7+ drones, or no weapon system. Max 10 hotkeys currently.
  • Fix custom fleet ships layer mask.
  • Changed fixed systems in stores to not appear if your ship can't equip the system (they still appear if you have the system, this change is just so you can't be presented a system your ship can't have).
  • Fixed temporal cursor lingering on menus.
  • German translation added to Hyperspace.ftl for non-MV users

Full Changelog: v1.0.3...v1.2.1

1.0.3

29 Apr 21:08
c5ff9dc
Compare
Choose a tag to compare

What's Changed

  • Fixes loading from a save in custom secret sectors rather than loading the vanilla secret sector (Linux).
  • Fixed a bug where reloading the game twice while the flagship is moving away from the base changes its location.
  • Crew source IDs are now saved to stat boosts and can be properly loaded.
  • Stat boosts referring to deleted crew will now have their references to the deleted crew removed. (this is mostly for future updates)
  • Fixed advanced equipment check not activating when using loadEventList with generate="true".

Full Changelog: v1.0.2...v1.0.3

1.0.2

21 Apr 05:20
b253775
Compare
Choose a tag to compare
  • Fix door gap rendering (Linux 64-bit)
  • Fix double counting normal augments
  • Fix above/below for stat boosts
  • Fix stat boost affectsSelf when modder left it uninitialized

1.0.1

20 Apr 23:20
Compare
Choose a tag to compare

Linux Support:
-We now have native compatibility with Linux, for both the 32-bit and 64-bit versions of FTL. This distributed release only contains 64-bit Linux builds as the 32-bit version is not recommended.
-64-bit version is recommended for Multiverse due to memory requirements.
-Use the appropriate library for your OS (.dll is Windows, .so is Linux) and 32/64 bits.
-For Linux you do not have to downgrade FTL; there are libraries for both 1.6.12 and 1.6.13 so use the library matching your FTL version.
-There may still be some odd bugs present, please report anything unusual behaviour on the Linux version.

Feature Additions:
-Added many additional boolean conditions for both stat boosts and ability usage that check the status of the crewmember. For example, whether the crewmember is fighting, repairing, moving, stunned, burning, etc.
-Stat boosts can require being above/below a certain amount of health (flat or fractional).
-Stat boosts can require a minimum or maximum oxygen level in the room.
-Added ORIGINAL_ALLIES and ORIGINAL_ENEMIES to stat boost crewTarget. These check the original allegiance of both source and target crewmembers, ignoring mind control.
-Added CREW_TARGET and TARGETS_ME to stat boost shipTarget (note, shipTarget NOT crewTarget). Essentially like CURRENT_ROOM but only the crewmember being attacked by the source crew for CREW_TARGET, and only crewmembers attacking the source crew for TARGETS_ME.
-Stat boosts can now use the MIN and MAX boostType, which work like SET, but can only decrease or increase a stat, respectively.
-You can now use to unpack blueprint lists into a whitelist or a blacklist. Unlike the previous syntax, this lets you unpack more than one list.
-You can give a stat boost the "save" attribute to save it to a given label, then reuse that stat boost later on with . Note that the parser must parse the "save" boost before the "load" boost or you'll get an error.
-animBase can now also be "repair" for repair drone animation (this was added in the 0.9.2 hotfixes).
-Events: to make a choice greyed out if the crew loss/transform event cannot find a valid target of the specified race.
-Added noAI stat, if true then the AI won't be able to move this crewmember if they're not controllable.
-Added validTarget stat, default is true; if false then the crewmember may not be targeted by enemy crew.
-shootTimer (for human animBase) and punchTimer may now be customized. Currently they depend only on race and cannot be modified by stat boosts or abilities.
-Added canPunch stat; if false then crew will shoot in melee instead of punch. Currently can only be set by race and not by ability or stat boost.
-Added essential stat; this acts as a priority. Lower values will preferentiably be picked by crew loss or transformation events, preserving your essential crew.
-Added doorDamageMultiplier stat. Note that door damage is independent from normal damage (as long as normal damage is greater than 0). Non-integer door damage will roll randomly to round up or down.
-Events can use to ignore the essential stat, either entirely or outside a certain range.
-Added ability to trigger an event upon ability activation or crew death.
-Added ability for an equipment requirement (normal or custom) to trigger a triggered event.
-Added ability for a triggered event box to display the current value of an equipment requirement which is part of a triggered event.
-priorityEvent can now be assigned an equipment requirement; the event will only be added to the generator if the requirement is met. Note that this will also shuffle/change all other events of lower priority when playing on a seeded run.
-Added sector quests; these spawn quests automatically upon entering the sector, and similar to priorityEvent can be given a requirement. These should behave more nicely with seeds than priorityEvent req's.
-Added tile-based crew movement. This is currently disabled by default and needs to be enabled in hyperspace.xml. When enabled, one of your selected crew (first selected has priority) will try to move to the specific tile you right-clicked. Other controllable crew will move out of the way if they can remain in the room.
-Added ability to disable right-click from manipulating doors (in hyperspace.xml).
-Event buttons can now be assigned a custom location anywhere in the game window.
-You can now add your custom achievements to the stats screen.

Changes:
-jumpEvent and deathEvent are now queues. The jumpEvent and deathEvent tags will now queue a new event and not replace an existing event. This way addons and interacting features play better together.
-Both jumpEvent and deathEvent now have an optional "name" attribute to give it a label, and it defaults to be the same as the event name.
-Use clearJumpEvent and clearDeathEvent with the "name" attribute to clear all of a given label, or with no attribute to clear everything. The latter is not recommended as it can interfere with other mods.
-Crew removal doesn't target noSlot crew unless all crew of the race is noSlot. You may use in an event to allow noSlot crew to be picked randomly and crew to prevent noSlot crew from being picked entirely
-Hyperspace version information is now displayed in the upper right corner, both on the loading screen and when the moreInfo button is toggled on.
-Enemy crew you are mind controlling on your own ship, when being controlled by the crew AI, will no longer try to heal in your own medbay, to be consistent with vanilla FTL. Your own crew, when being controlled by the crew AI, will still try to heal in the medbay if their health is low. Behaviour on the enemy ship is unchanged.
-preventFleet now also acts like preventBossFleet, so the s8 fleet will not waste time trying to take beacons with preventFleet.
-The exitBeacon, rebelBeacon, and removeFirstBeaconNebula tags now must be in STANDARD_SPACE rather than CIVILIAN_SECTOR for sector 1.
-Event button tooltips are now prioritized over ship status tooltips.

Bug Fixes/Technical Changes:
-Code is now optimized; expect a substantial improvement in FPS.
-Crew are now assigned a selfId much like projectiles and drones.
-Added persistence for assigning selfId to prevent collisions.
-Projectiles now save and load their custom state properly.
-Fixed a rare crash when switching medical systems.
-Temporal manipulator strength/duration now properly updated if power is added/removed while active (e.g. by ion damage or moving zoltans).
-Weapons (particularly beams) now work properly when you swap them out of your cargo in the middle of a fight.
-rangedDamageMultiplier now works in ability temporary effects.
-priorityEvent now works differently; priorities should be adhered to regardless of which file the tag is placed in (either hyperspace.xml or sector_data.xml).
-Fixed slug req.
-Delayed quest seeds are now saved differently, to make the code easier to work with.
-Fixed healCrewAmount ignoring healSpeed.
-Fixed custom lockImage not being centered for custom achievements.
-Fixed locked custom achievements displaying their name as the description if they did not have a secret description.

Hyperspace.ftl fixes:
-Fixed error in vanilla reward template (for LOW fuel reward).