Factorio Access Mod


This mod makes the game accessible to the blind and visually impaired, by converting visual features into audio features. Note that running this mod fully requires some config changes, as well as the mod's own launcher from the GitHub releases.

Utilities
a month ago
1.1
19

Changelog

Version: 0.11.2
Date: 2024.05.17

  Summary:
    - This minor update brings several small new features, tweaks, and bugfixes across the board based on recent feedback, with special thanks this week to @ahicks. Improvements include better info and controls regarding personal logistics, rail signals, the scanner list, and the Kruise Kontrol feature.

  Features:
    - Added inserter hand stack size tuning from their menus.
      * Press PAGEUP or PAGEDOWN to edit
      * Alternative controls: ALT + UP/DOWN
      * Setting it to 0 restores the default (maximum available) value.

    - Added freeform placement of rail signals next to straight rails.
      * Like in vanilla gameplay, you can now drop a rail signal at a candidate position next to a straight rail and it will automatically rotate itself.
      * The rule is that the signal should always be on the right hand side with respect to the direction of travel along the rail.
      * Preview checks have been added as well.
      * Disconnected rail signals will now also report that they are not working.

    - Added diagonal rail fork building options to the rail builder.
      * Also extended the lengths of the forward exit segments built for cardinal direction rail forks.

    - The player logistic info summary now lists how many unfulfilled requests you have and what the missing items are.

    - For a selected item, its logistic request slot can now be entirely cleared by pressing "CONTROL + SHIFT + ALT + L".

  Changes:
    - Personal logistic requests can now be edited from the crafting menu, so you no longer need to have the items on hand.
      * The first item product of each recipe is selected.
      * The few items that you cannot craft by hand are missing, but this tweak is intended as a temporary Q.O.L. improvement until we build a dedicated logistics requests menu.

    - Distance and direction and alignment checks have been revised.
      * The algorithm to check alignment has been simplified: All positions are floored to the northwest corner of the respective tile.
      * An entity reported by the scan list now reports the cursor position at the northwest corner rather than the entity's center position. Therefore alignment using the scan list considers the northwest corner.
      * Cursor distance and direction vectors now use the same calculations as the alignment checks to ensure that they agree.

    - The scan list categories have been expanded.
      * There are now three types of buildings: logistics buildings, production buildings, and other buildings. The categories match the vanilla groupings of the buildings.
      * Train stops are still listed along with vehicles, as an exception for the sake of convenience.
      * A category for ghosts has been added.

    - The scan list, as an exception, selects curved rails from the center instead of the northwest corner.
      * This is done because usually the northwest corner of a curved rail's rectangle is a few tiles away from it.

    - Kruise Kontrol status prediction has been significantly improved.
      * Factorio Access now use identical checks as Kruise Kontrol to predict what the initial state will be when the feature is activated.
      * Factorio Access is now better able to predict whether KK has arrived at a walking or driving destination, or has finished building related tasks.
      * In general, though, if the character seems to be doing nothing during KK, we recommend pressing "ENTER" to cancel it and re-sync the mods.

    - Kruise Kontrol can now be activated without opening Remote View if the target location is not distant.
      * This also makes its behavior more predictable.

    - Revised sub-automatic train travel to make it easier to use.
      * Setting this now makes the train head directly to the temporary station and switch to manual control upon arriving and instantly removing the temporary station.
      * Therefore you can set a train back to automatic after you arrive and let it resume its schedule with minimal fuss.

    - Cursor skipping now reacts to entering and exiting an area with water.

    - Improved reporting of the top item contents of trains and logistic networks.
      * Large numbers are simplified, such as numbers greater than 10 thousand being floored to the nearest thousand.
      * The top 10 items are listed instead of top 3 or 5.

    - Every mod menu now says its name after you open it, making it easier to follow along.
      * Most menus did this already, but it was added for those left over: fast travel, structure travel, rail builder, warnings.

    - Added information to notify that pressing "ALT + L" toggles personal logistic requests.
      * This is a vanilla game feature that applies in any menu.

    - Added information to notify that a spidertron can only be driven manually during smooth walking mode.

  Bugfixes:
    - Fixed a bug that made teleporting to a ghost delete that ghost.

    - Fixed a crash due to opening the inventory while still waiting to respawn.

    - Fixed a bug that prevented info reports about tile pavement previews.

    - Fixed some crashes related to the unfinished ghost rail planner support feature.

    - Fixed electric poles reporting supplied buildings incorrectly because the reports were also counting flying robots.
Version: 0.11.1
Date: 2024.05.13

  Summary:
    - This update features the second phase of the refactoring of the codebase into modules, making it easier to follow and maintain. 
      It is also accompanied by some small additions, changes, and bugfixes. Improved systems include the launcher, Remote View, 
      Kruise Kontrol, fast travel, and the rail builder. While a fair amount of testing has been done, new bugs may still emerge due 
      to the refactor.

  Info:
    - The second part of the refactoring into modules was completed.
      * Files with multiple modules in them were split so that every module has one file and vice versa.
      * Any Lua module being referenced within its own file is now called "mod" for brevity and simplicity. 
      * All Lua modules related to the runtime stage were moved to a "scripts" folder, matching modding conventions.
      * Cleaned up several todo comments.
      * More refactor work is needed later, to further clean up "control.lua".

    - Started using the GitHub Issues system to track all issues and some feature requests. The Discord channels will still be open for use but the goal is to log everything on GitHub.

    - Added a document that provides info for contributors, as a starting point for explaining how the mod code works.

    - Moved to using StyLua to standardize code formatting. It needs to be run after you finish making changes. GitHUb actions were added so that every commit is now checked for StyLua compliance.

    - A new menu system and other code infrastructure is being designed by @ahicks. It is being tested right now for circuit networks code and may be applied to the rest of the codebase later so that more flexible and useful menu designs can be supported later on.

  Features:
    - The rail builder now supports adding left forks and right forks, giving a total of 4 possible forks.

    - Launcher: Added braille display support so that mod readouts are also written to the displays.

  Changes:
    - When reading the relative direction of the cursor or a scan list entry, if it is fully aligned in that cardinal or diagonal direction, the game will now also read out "aligned".

    - Checking for the nearest damaged entity will now also jump the cursor to the entity, making it easier to target it.

    - Items in hand can now have their logistic requests edited while the trash menu is open.
      * You can now also check the request info for an item in a slot of the trash inventory, but you need to take it in hand to edit its requests. This is good because editing the requests for an item might have it automatically flushed out of the trash inventory without warning.

    - Closing the fast travel menu no longer returns the cursor to the player, and the cursor being jumped to a point when it is selected is now stated openly.

    - Tweaked the early tutorial chapters to improve clarity. Notably, added reminders to empty the hand, and switched to using chests instead of pipes as reference points for placing burner inserters.

    - Improved integration for the mod Kruise Kontrol, by Klonan.
      * KK actions will now be possible while in telestep mode.
      * Pressing any walking key will no longer cancel KK actions because this was not working correctly. You must press "ENTER" to cancel actions.

    - Added a system for independently predicting and reporting the Kruise Kontrol status. 
      * The status checks what was targeted to initiate Kruise Kontrol and is updated accordingly.
      * The status is reported regularly, although this report is often interrupted by cursor readouts.
      * If the status was walking and the player has reached the destination and has not moved for 1 second, then the status automatically is assumed to be arrived.
      * For other cases, the status reporting is finished only when you cancel Kruise Kontrol by pressing "Enter", because there may be ongoing actions despite the player standing still at the target location.

    - Bumping into objects no longer makes an alert beep but you still hear the sound of a striking metal boot or sliding gravel.

    - Improved info about saving times. The mod suggests waiting 3 seconds although generally it takes less than 1 second.

    - Launcher: Improved command line parameter handling.

  Bugfixes:
    - Fixed a locale error about teleporting the cursor.

    - Fixed lab module slots being incorrectly labelled as reserved for science packs.

    - Fixed an issue with the handling of the undocumented direction number 8, which represents "here". It is read out as an empty string.

    - Fixed a crash due to loading a cursor bookmark before having set any.

    - Fixed a crash when using area mining to clear rail objects including signals.

    - Fixed footstep sounds being wrongly played while navigating through menus.

    - Fixed several bugs that were placing the mouse pointer incorrectly while in Remote View, and so interfering with Kruise Kontrol.

    - Fixed a crash that occurs while rotating buildings.

    - Fixed some invalid keybinds.

    - Re-fixed the playing of multiple mining sounds while mining a resource.

    - Fixed some mod features interfering with vanilla mode.
Version: 0.11.0
Date: 2024.04.27

  Summary:
    - This update is mostly about changes under the hood while the mod codebase is being refactored so that the code is easier to follow and maintain, for contributors both new and old. The update also includes some bug fixes and small improvements, but the refactor has caused new bugs. Extensive testing is needed to find and fix the new bugs. Therefore this release is labeled as "experimental" and is recommended only to players who are interested in bug hunting.

  Info:
    - Started to significantly refactor the mod codebase, with huge help from @eph and @ahicks.
      * The aim is to make the code easier to follow and maintain, for contributors both new and old.
      * Improved the explanations of functions, and renamed several of them to more accurate or concise names.
      * Moved most functions into Lua modules that have their own lua files and are required by other files as local objects, as per best practices. This makes it easier to examine independent modules and their dependencies.
      * Added "fa-info-for-contributors.md" as an introductory resource for contributors. 
      * Fixed several IDE warnings.
      * Further work is underway for simplifying event handlers and other functions inside "control.lua" by moving their contents into smaller functions inside appropriate modules.
      * The refactor introduced some new bugs, and many of them have been found and fixed. However, further testing is needed so that other bugs can be found and/or fixed.

  Features:
    - None.

  Changes:
    - Color info was added to descriptions of electronic chips and transport belts, because the colors are commonly used by the community to distinguish them.

    - Added alternate keybinds for increasing and decreasing chest locked slots and train wait times: You can use "ALT + UP" / "ALT + DOWN" instead of "PAGE UP" / "PAGE DOWN". You can also use "SHIFT"/"CONTROL" and "UP"/"DOWN" instead of "SHIFT"/"CONTROL" and "PAGE UP"/"PAGE DOWN".

  Bugfixes:
    - Fixed a stray textbox bug that softlocks the game. Closing any menu should now remove stray GUI elements such as these textboxes. Also, pressing ENTER to confirm these textboxes now closes them too.

    - Pressing "RIGHT BRACKET" on a blueprint in the inventory now does nothing instead of deleting it.

    - Train menu: Fixed an updating issue with the single time travel feature so that it resets correctly.
Version: 0.10.1
Date: 2024.04.13

  Summary:
    - This update comes after some restructuring of the mod repository and joining the official Factorio Mod Portal. Note that releases still need to be installed from the GitHub page because of the launcher and config changes required to run the mod properly. The update itself includes tweaks, additions, and bugfixes across the board thanks to community feedback. Notably, several blueprint bugs have been fixed and Remote View has been added.

  Info:
    - The mod's GitHub repository has been moved to a new address to make contributions easier: https://github.com/Factorio-Access/FactorioAccess. Hyperlinks to it have been automatically updated.

    - The mod's wiki has been moved to this address as well, and hyperlinks to it have been updated manually. You may need to update your own wiki related browser bookmarks.

    - The mod has now been officially added to the Factorio Mod Portal, but please note that downloading and installing it from the portal does not make it playable. You still need to use the mod launcher for vocalization and also making game configuration changes to accommodate this mod. Therefore please use the GitHub releases page and follow the install instructions.

    - Release folder contents now include mod dependency info and a mod portal compatible changelog, which is what prompted formatting changes for the main changelog.

    - Settings for configuring other mods are now updated using data stage code, as it should be. Meanwhile, the feature for in-game settings changing is still being worked on.

  Features:
    - Added Remote View, which is when the camera and microphone focuses on the player's cursor instead of the player's character. Press "ALT + I" to toggle it.
      * Press arrow keys to move the cursor in remote view. Do not use the "W" "A" "S" "D" keys because this makes the camera pan too fast in a way we cannot control.
      * This view allows focusing on distant locations, although blurred or uncharted areas offer limited info and no sounds. You need to keep them fully loaded using radars.
      * Remote view automatically opens and closes Cursor Mode along with itself.
      * For now, most sounds are muffled in remote view, but this will be fixed. 

    - Added basic support for the Kruise Kontrol mod, which allows automatic walking to the cursor location.
      * Press "CONTROL + ALT + RIGHT BRACKET" twice, to first open the cursor location in remote view, and then to instruct an action.
      * Usually the action is to walk or drive to that spot. Special cases include selecting a resource to start mining it, selecting a ghost to start building them, selected a descontruction marked building to start removing them, selecting trees to start chopping them, and selecting enemies to start fighting them.
      * Press "ENTER" to cancel ongoing actions. Some actions may be unclear at times so this is recommended if things are taking to long.
      * The character cuts trees along their automatic walking paths.

    - The pollution level at the cursor position can now be read, by pressing "SHIFT + U". Note that "high" pollution is usually when trees start taking pollution damage. Other than that, the most important thing to track regarding pollution is how heavily polluted enemy spawners are, which can be checked with the scanner tool.

    - The scanner can now locate the nearest damaged entity of the player's own team, by pressing "SHIFT + P". This has a range limit of 1000 tiles.

  Changes:
    - Launcher: Changed the description of the Compass Valley preset to make it more beginner friendly.

    - Cursor area scanning now reports coverage percentages only for ground tiles. It also notes whether there are other things in the area after listing the first 4 things.

    - Cursor area scanning now updates the scan result list properly so that the list can be used to examine in detail what is within the area.

    - Cursor size options now include 51 by 51.

    - Minor revisions were made in some tutorial steps for clarity.

    - Checking technology info now also reads the localised description of the technology. Technology required ingredient names have been localised too.

    - You can now teleport from the structure travel menu as well.

    - Alternate controls for SCAN-UP and SCAN-DOWN have been changed to "ALT + UP" and "ALT + DOWN". The main controls are still "PAGEUP" and "PAGEDOWN".

  Bugfixes:
    - Fixed a mod initialization crash that was preventing it from running on dedicated servers.

    - Removed deprecated cursor release keybind, which was interfering with rail analysis.

    - Fixed the incorrect reporting of blueprint dimensions from inside the blueprint menu.

    - Fixed a crash during the re-selection of blueprints with no names or descriptions.

    - Fixed a crash during the reading of blueprints with invalid items or icons in them, such as old science pack versions.

    - Fixed the ambiguity about the "electronics" technology having no direct unlocks.

    - Fixed the input for locking 5 inventory slots of chests.

    - Fixed some mod menu typos.
Version: 0.10.0
Date: 2024.04.06

  Summary:
    - This update features a full rewrite of the mod tutorial to include new chapters and details. Please note that the new tutorial may need more tweaking despite being reviewed, so feel free to get in touch about issues or suggestions. The update also has some launcher improvements such as mod management, as well as small additions and changes to improve the early game, and some changes thanks to community feedback.
    - Note: Earlier changelog entries use a different format and thus are not automatically loaded.

  Features:
    - The tutorial has been rewritten, doubling in length. The game should now be more accessible to new players.
      * There are now 12 chapters covering everything up to producing logistic science packs, and general tips chapter at the end.
      * There is a total of over 300 steps in total, with generally only 1 or 2 instructions per step.
      * Recently added features such as blueprints, cursor skipping, and steam engine snapping have been included.
      * If you had started the tutorial before this update, jumping back to its start is recommended so that you can reset to the new version and then skip doing the steps that you have already covered. You can jumping back to the start by pressing "ALT + SHIFT + H" a few times.
      * The tutorial needs further testing and will continue to receive minor tweaks. Experienced players are invited to give it a try as well, for review assistance.

    - New launcher version, with the following additions and changes:
      * Added a mod management menu, for other mods. You can now enable or disable other mods here so that you no longer need to delete a mod to remove it.
      * Saving the game now plays beeps at the start and end of it, instead of speaking a message that interrupts other speech.
      * The launcher now loads much faster.
      * Fixed a bug so that a missing translation key returns English text instead of an error.

    - Added steam engine snapped building.
      * Press "CONTROL + LEFT BRACKET" with a steam engine in hand to try automatically building a correctly positioned steam engine next to the first free boiler found within 25 tiles.
      * Mainly added because when you first need steam engines in the first hours of the game you are still new to building.
      * Does not snap to anything else.
      * You still need to clear the building area manually, inlcuding stepping out of the way.

    - You can now read the cursor position distance as a vector from the character position by pressing "ALT + K".
      * This reports the vertical and horizontal distances separately, without giving an average compass direction.
      * This information is useful for building belts and pipes because you'll get the exact distances to cover since they cannot connect to each other diagonally.

    - A selected fluid in a building can now be permanently flushed away by pressing "X".

  Changes:
    - Autosaving now makes two click sounds in the background to signal its start and end, instead of interrupting speech output.

    - Reading a tile now also comments about its visibility information.
      * An uncharted tile is labelled as so. You cannot know what is there and it might not even be generated yet.
      * A charted tile that is more than about 100 tiles away from the nearest player or powered radar is blurred by the game, and it is now also labelled as so. A blurred area has minimal information about what is happening there and produces no sounds even though machines continue to work and enemies continue to move. Tile blurring affects some but not all remote interactions, and sighted players prefer to spread radars around to keep most factory areas continuously visible.
      * For a camera centered on the player, which is the default case, a tile that is outside the camera view is outside the rendered screen area and is now labelled as "distant". This affects some actions involving remote controls, although we have tried to minimize the dependency on doing things on screen. You can use the mouse wheel to zoom in and out, which changes camera coverage.

    - The tutorial now gifts one stack of coal as part of your emergency supply kit that is already provided at the start of the game. This is important for teaching game mechanics in a clean order. This gift switched from rocket fuel to coal in order to simplify the process and not offer a significant advantage.

    - Steam engine direction reporting now says "north and south", or "east and west", to acknowledge that the building is symmetrical.

    - A selected water tile is now labelled as "open" or "shore" or "crevice", depending on the arrangement of other water tiles around it.

    - A pipe end is now identified as a special case where a pipe has less than 2 connections. This is worth noting because it means the pipe does not lead to anything.

    - Pipe ends are now distinguished from other pipes in the scanner list.

    - Pipes and storage tanks are now distinguished in the scanner list by the fluid contained.

    - Storage tanks are now categorized as containers in the scanner list.

    - When you successfully build a pipe to ground unit, the building direction in hand is flipped 180 degrees so that the other end can be built quickly.

    - The pipe to ground building preview now also reports information about the above ground connection preview.

    - Removed unnecessary repetition of "per cycle" when listing recipe ingredients.

    - Checking the status of an enemy spawner now reveals the enemy evolution factor.

    - Tweaked names of curved rail and diagonal rail directions to improve clarity.

    - Removed the default descriptions from science packs and modules so that the mod's custom descriptions would apply.

  Bugfixes:
    - Fixed incorrect reporting of player weapons when you switch a vehicle weapon.
      * Note: Reading out the correct vehicle weapon has not been added yet.

    - If the pipe to ground preview finds multiple successful underground connections, the closest one is now taken, which is the correct case.

    - Fixed a localisation error for when you start crafting a recipe.

    - Fixed self-interrupting reminders at the start of the game.