shadowtheage / yafc Goto Github PK
View Code? Open in Web Editor NEWPowerful Factorio calculator/analyser that works with mods
License: GNU General Public License v3.0
Powerful Factorio calculator/analyser that works with mods
License: GNU General Public License v3.0
1 ) is it possible to use mixed modules
2) not sure if the mod makes a difference between steam at different temperatures
( playing py mods with the last version )
3) is there a way to resize the window? atm it is from the very top of my screen and ends somewhere under my screen
4) using pyAL modules creates a error (unsolvable but it was solvable before (i think it is a bug related to negative productivity values , those values don't count in the game and are there only to prevent use in beacons)
5) not sure about price algorithm but sometimes it seems off
It took me a while to find where to set beacons, because I expected that it can also be set per line as the modules. In Seablock/Angel/Bob are a lot of different buildings with different sizes, and there is no way they all have the same numbers if beacons, so it would be great if I can adjust the number of beacons per line, and not only for the complete sheet.
Latest version 0.4.7 on Linux, adding to the situation described here: #43 (comment)
The issue in the mod was fixed and I updated the mod. Ingame I had the recipe again now and I undid the manual override in YAFC. However as soon as I did this, the warning came back, that the rocket isn't accessible and also the recipe was still marked as disabled.
The mod folder I pointed to was synced with the server, and when you sync, it just installs the versions the server has, but doesn't uninstall the other mods/versions, so my mod-folder contains multiple versions, and I thought that's maybe a problem. How do you decide which version to use if there are multiple? The mod-list.json
only says which mods are enabled, but doesn't show the version. Is there something in mod-settings.dat
that contains the active version? I don't know how the game itself decides which version to use, but you can select ingame which mod version should be active and then it uses that version.
I fixed the problem by just removing the broken version from my mods folder, restarted YAFC, and the warning was gone. If I add the broken version back now, it still uses the working version. Sadly it doesn't show which versions it's using (or was using), so I'm not sure what really happened. Maybe there is just a cache somewhere and with deleting the old version I triggered that to rebuild and it cached the new version now?
For the future, at least a screen (or log output) which shows which mods and versions were detected and used could be useful. There is already a log which mods were parsed, but that doesn't include version information, so I can't use this to tell which versions were active.
Since I have modules in my game now, I wanted to test the Auto Module feature, but I'm a bit confused, with Bobs modules in Seablock, you have Modules 0 to 3 for each type. However the Auto Module always only puts the lowest tier module 0 into the machines, even when I set the slider all the way to the max "Use best modules", but I would have expected that module 3 are better.
How does it decide which modules are the best?
last version
for some reason adding some plants makes the tab unsolvable
also a lot of tuulpa recipes are broken they display 0 soil tho that is not true
While testing the fix for #35 and #36, with the latest master version, I noticed that some Icons are missing:
I then built my own 0.4.4, where are icons are back again, so it's not my build that is broken. If I build one commit after 0.4.4 (f62aa3b), it's already broken, and since that commit does something with icon sizes, it has probably something to do with that (maybe some icons have no size and it sets it to 0, because the missing icons have a tiny pixel where there should be an icon)
Here is the same screenshot with 0.4.4 (so it looks like it's mostly the fluids and gases from angels mods (angels refining and angels petrochem)):
Let me know if you need more infos, or if you can reproduce it without it.
add a exit button , atm i can only close it using task manger
also what about loading another file without closing the program (or rather said it closes the open one and opens the other one directly without loading the data from mod folder again )
In your bug report issue template, you ask that we provide a .zip file containing our mods directory. You suggest that we can reduce the file size by deleting images/sounds.
My .zip file is 1.6 GB. In order for me to remove images/sounds, I would have to unzip each mod, search for all images/sounds (of every format that exists), delete those, then re-zip everything back. I could script this.... But, it's easier for me to just upload the entire 1.6GB file.
In order to make it easier for you to get the mod folders for debugging, I suggest that you provide a separate tool that will do that process for me, and package it all together.
Linux, latest version (well actually latest master at the moment, but was also with 0.4.4)
When changing the amount of the desired products, I need to confirm the new number with return (the big one on the main keyboard). When entering the new number on the numpad, it would be really convenient if it would work with the numpad enter key as well.
I know that the production sheets are just JSON and I could copy them out of the file. But if I just want to share a production sheet I planned with a friend, it would be really convenient to just export the JSON of only that sheet to copy-paste (similar like exporting a blueprint in factorio) and then similar on his end, an import feature to create a production sheet based on the copied JSON.
This is only a nice to have feature, there are already other ways to share planned sheets (I could also just send him my file and he could switch between his and my file), but it would make things easier :)
First thanks for providing a Linux build. But it doesn't work out of the box, it tries to access files from the data folder, but fails to find them, because it tries to access data/
, but the folder in the Linux.zip
is called Data/
with an uppercase D
, this is a problem because on Linux filesystems and file access are case sensitive, so it doesn't find the files and crashes with a segmentation fault. Renaming the folder to a lowercase d
fixes the problem and YAFC starts successfully, but it should already be with a lowercase d
in the zip file.
Be sure that you are using the latest version of YAFC
For compatibility-related bugs, please make sure that these mods are working in Factorio
For compatibility-related bugs, try removing disabled mods
Please note that YAFC is my personal project and I can't promise any support!
specify the YAFC version: .4.2
Factorio version (Versions below 0.17 are not supported!): 18.18
your OS (If the bug is OS-specific, I can provide very limited support for mac/linux, sorry!) Windows 10
Attach ALL of your mods, including mod-list.json and mod-settings.dat, zipped (upload to some file share hosting). To reduce file size you can delete all images/sounds from the mods
https://www.dropbox.com/sh/a6lwkzvq6fqafg0/AABg-cumUefE1A1-C1uaYXdPa?dl=0
There are no plans to localise YAFC but localisation of objects (for search) is easier
Latest version 0.4.4 on Linux
It's not really a bug, just an inconvenience, but when a window loses focus, it is automatically closed (so far I only found the file selection dialog for opening or save as, and the about window), is this intentional? I'm using a window manager with "focus follows mouse" where always the window under the mouse cursor has the focus, so I only need to hover over a window, I don't need to click on it to activate the focus (which is usually really useful). But in YAFC it's a problem, because as soon as I leave a window with the mouse, it gets closed (for example when I need to select the filename input at the bottom of the file selection dialog, like I need for #35, if I overshoot and the mouse leaves the window at the bottom, the window behind it gets the focus and the file dialog is closed)
This is really a low priority issue since I know I'm really on a niche OS with an even more niche window manager behavior (so not all Linux users are affected by this), but I still wanted to report it, because maybe you know an easy fix for this if it isn't intentional?
This requires resizing internal UI icons
Version 0.4.2 on Linux (but I already had the same problem with 0.4.1)
When trying to select text in an input field (for example when searching in the dependency explorer, type something in the search field, then trying to select the text with the mouse), this error shows up:
The SDL2_ttf.dll
exists and is in the zip (but looks like it's a Windows DLL?), but there is no libSDL2_ttf.dll
(so the No such file or directory
in the error is correct). I installed all SDL2 dependencies listed in the installation instructions (so libsdl2-ttf
is installed, because without it, it wouldn't even start).
I then set the LD_DEBUG environment variable as written in the error message and I can see that it first tries to access SDL2_ttf.dll.so
, then libSDL2_ttf.dll.so
, then SDL2_ttf.dll
and finally libSDL2_ttf.dll
which then fails and is mentioned in the error message because it doesn't exist. And it only searched in /lib64/
and /usr/lib64/
(which is ok, because that's where my SDL2 libraries are installed, but on Linux they aren't DLLs, the real file it should load is libSDL2_ttf.so
)
If I copy the existing SDL2_ttf.dll
to /usr/lib64/libSDL2_ttf.dll
where it then finds it, it still shows a red error, but the message is now /usr/lib64/libSDL2_ttf.dll: invalid ELF header
, because as said, it looks like the DLLs included in the Linux.zip
are Windows DLLs.
If I symlink my installed /usr/lib64/libSDL2_ttf.so
to /usr/lib64/libSDL2_ttf.dll.so
where it searches for it, it loads it correctly and I can select text in input fields without an error. But I don't understand why it only tries to load it with .dll
in the name (especially since it already loads the correct .so
file on startup).
YAFC 0.4.5
Factorio 0.18.22
All the mods are disabled atm (I can attach the mod-list.json if disabled mods could be the problem)
Windows 8.1
Anyway, the error pops up when first creating the new project. I picked the game directory and just clicked create new project. Also tried it with selecting a mod folder but same error.
Full error message:
(Core, lualib/util.lua):2: bad argument #1 to 'module' (string expected, got nil)
stack tracebak:
[C]: in ?
[C]: in function 'module'
(core, lualib/util.lua):2: in main chunk
[C]: in function 'require'
(base, data.lua):1: in main chunk
Windows 10
Latest experimental verson of Factorio
Getting error:
Loading terminated with code LUA_ERRSYNTAX
[string "307 data.lua"]:1: unexpected symbol near char(239)
With these mods (they all seem to be mods that don't actually add items). Alongside these are Pyanodon's and a handful of other QOL mods that cause no issue:
GhostPlacerExpress - https://mods.factorio.com/mod/GhostPlacerExpress
GUI Manager - https://mods.factorio.com/mod/guiManager
That's it so far. I'll let you know if I find others.
Also small feature suggestions: When I am loaded up in YAFC, and I just added a new mod in Factorio, an option to restart YAFC/rescan the mods would be great so I wouldn't have to close YAFC, go back and manually open YAFC myself. Maybe if it errors out, it can print out what mod caused the error and it can return back to the previous set of items/database/whatever (sorry, I'm not a developer, just a casual Factorio player) that did work.
When I open my project and mods I get the "Analysis Warning" that more than 50% of the objects are inaccessible. In fact, it appears that ALL recipes are inaccessible for me. I do believe this might be a mod-pack bug actually since I don't get mod-settings in-game, but for the sake of this post, it actually doesn't matter, since I haven't had a reason to find the bug, since the game is running fine for me. I will look into it now though, since I'm getting a bit worried that something is broken in late-game. There are a number of thoughts I have on this topic:
Whenever I manually mark a recipe I get the "Analysis Warning" again. This feels like a bug. I think it's enough for the message to appear on every load-up of the project.
I play Seablock, which adds a huge amount of items and ingredients. Going through a list of ALL items to manually mark them seems overly excessive. As far as I can tell, its purpose should be to add convenience through the fact, that it makes you aware of problems with recipes, or traps, where a mod does scripting which is not possible to support. That's actually great, but going through EVERY item to manually mark it seems excessive. It should be considered to add an option to "Manually mark ALL recipes as accessible". I'm sure there are recipes that wont work in game as they might show inside YAFC, but as someone that doesn't know the recipes of the mod I'm playing anyways, I will need to check each recipe in-game anyways. Might as well just enable all of them in one click to safe myself the 3 clicks for EVERY new recipe.
The Wording of the message is a bit awkward. Here is my suggestion for a rewrite:
More than 50% of all in-game objects appear to be inaccessible in this project with your current mod list. This can have a variety of reasons like objects being accessible via scripts, or it might be due to a bug inside a mod or YAFC. Check this link for known recipe issues. A lot of YAFC's systems rely on objects being accessible, so some features may not work as intended.
(The known recipe issues link is just an idea. Not sure how this could look like ... Maybe a link to a forum post where ppl can discuss and curate known recipe issues that are out of the hands of YAFC. If the app becomes a default for recipe things, it might help mods fix incompatibilities faster/better. For me, seablock is unplayable without Helmod. If it didn't exist, I wouldn't play seablock. I spend hours planning all my setups before I build them. It's just how I play the game. So I need these planner mods to play nice with mods 😉)
read title
For example:
I have 10 chemical plants making plastic bars. I want to know how many oil refineries I need to satisfy the requirements of those 10 chemical plants. I need to know how much coal/second I need to satisfy the requirements.
Suggestion: Allow the user to specify the default assembler to use for all new recipes, instead of needing to click the player icon, and change to an assembler.
Suggestion: Save the path preferences so that the user doesn't need to specify them each time they open the application.
when making nuclear cells for power i tried to limit the amount of spent ones vs ore but i could not
maybe when you make nuclear fuel cells add a option to get same amount of spent cells ? so something like a input limiter
also when doing solar power math does it account for day night cycle or not ?
Thanks for your hard work on this tool, I used to use Kirk McDonald website, but I could never get the standalone setup configured for importing mod packs.
Some ideas you might consider adding
Latest version 0.4.4 on Linux (I already had this problem with last version 0.4.3, but wasn't sure if it was only a glitch, and didn't pay to much attention to it, but after a friend told me he had the same problem, I thought I'd create a bug report)
When opening a project file, after selecting the correct file the "Select" button is still grey and can't be clicked:
If I change the file name manually (for example delete the last character of the file name, see below), it becomes active (and also stays active when selecting the same or another file again), so it looks like selecting a file just doesn't trigger the change from inactive to active, only activity in the input field directly changes the state of the button)
(And a side-question: The order of files/folders in the file selector is more or less random (at least I couldn't find an order, it's neither alphabetical nor it's ordered by the modification timestamp), so if a folder contains a lot of files/folders it really hard to find the correct one. I can work around this by manually enter the paths and you don't need to choose files that often (mostly only at the beginning), so it isn't that big of a deal, but sorting everything alphabetically would make a lot more sense.)
Got an "Index out of range exception" when loading a project file.
It's possible this is mod related, but I think it is likely how YAFC references mods in a project file, not the mods themselves.
SEE EDIT
Couple days ago:
Today:
I understand that I may need to sync my mods to the original save, or create a new project file, or else YAFC might not be able to function. However, I feel that at a minimum, a better error should be surfaced. Additionally, an index out of range shouldn't actually occur - array bounds should be checked prior to array access.... Which will let you surface an error message, rather than throwing an exception (with its overhead)
** Suggestion **
Not sure how you implement this stuff, but I recommend that the "current" mods list is cached in the project file. When a project file is loaded, it doesn't reference the mod-list.json file - it uses the cached mods list. There would be some functionality for the user to "update" the cached mods list (in the project file) with the mods that are currently enabled (i.e., in the mod-list.json file), if new mods were enabled.
i.e., I should be able to open a YAFC project file, even if I do not have that exact set of mods enabled at that time (but, they are still installed)
If you're not interested in doing this at this time, but you're not opposed, I may do a PR for this type of functionality.
** Also Note **
EDIT:
Tried creating a new project file. Got the same error. So, my theory on why the error occurred is wrong, but my suggestions still stand (unless you're already doing that, and I don't see it).
I will upload mod data (as requested in the template), and edit the issue to provide a link.
Be sure that you are using the latest version of YAFC
For compatibility-related bugs, please make sure that these mods are working in Factorio
For compatibility-related bugs, try removing disabled mods
Please note that YAFC is my personal project and I can't promise any support!
specify the YAFC version: Unknown. EXE file modified date is Saturday, May 23, 2020, 3:30:02 PM
Factorio version (Versions below 0.17 are not supported!) : 0.18.21
your OS (If the bug is OS-specific, I can provide very limited support for mac/linux, sorry!) Windows 10
Attach ALL of your mods, including mod-list.json and mod-settings.dat, zipped (upload to some file share hosting). To reduce file size you can delete all images/sounds from the mods
Sometimes I want to compare different possible recipes to create the same thing (often it's only a part of a production line that I want to replace with a second possible recipe). For that it would be useful to just duplicate an existing production sheet, where I then can replace one part with something else and then compare everything with the original (does it use less power, less input or less factories). At the moment I can either create a second production sheet from scratch (which can be a lot of clicks if it's 80% the same as the other but I only want to replace a part of it), or save the file and do the change in a second save (and then I need to switch between the files to compare them). So both workarounds are not really optimal (and just switching between two or even three tabs would be much better).
Linux, latest release 0.4.6 or master build
Ok, I don't know if it's really a bug, but for me it's at least unwanted behavior. I have 8 production sheets open, when I create another one (or use the duplicate feature, it doesn't matter), it automatically hides the one at the end. But there is more than twice as much space on my screen to open more tabs, so that can't be the reason to hide tabs. When I then unhide the just hidden production sheet again, it just hides the next one at the end, but I want them all visible (at least as long as there is space on my screen).
Is this a hard limit or doesn't it try to use the complete window width? The open tabs are more or less the same with as the with of the table in a sheet, so I don't know if it just doesn't use the full window width?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.