Thanks! It's under the MIT licence.Valkor wrote:I grabbed the source and compiled it with exactly zero problems in Visual Studio 2012. Fantastic application. What license is it under?
Foreman 0.1.9 - A factory optimisation tool.
-
- Long Handed Inserter
- Posts: 55
- Joined: Thu Aug 28, 2014 12:56 pm
- Contact:
Re: A tool to help you optimise your production lines.
-
- Manual Inserter
- Posts: 2
- Joined: Tue Sep 09, 2014 8:28 pm
- Contact:
Re: A tool to help you optimise your production lines.
This is nothing short of amazing!
-
- Long Handed Inserter
- Posts: 55
- Joined: Thu Aug 28, 2014 12:56 pm
- Contact:
Re: A tool to help you optimise your production lines.
Thanks! So is your username.MagicSaurus wrote:This is nothing short of amazing!
Re: A tool to help you optimise your production lines.
I felt like improving my Debian packaging skills, and while I'm pretty sure the package is not up to Debian standards, it works, and I think it's not really bad. There's a bundled lua library and I'm not sure if my versioning and install paths for the .NET libraries are really correct, but yeah.
So if you're using Ubuntu you can now install Foreman from my PPA (just add that PPA, apt-get update and apt-get install the foreman package, then you can launch foreman from the command line or through your favourite desktop environment menu). If it doesn't work, don't blame Nicksaurus, blame me.
https://launchpad.net/~florian-will/+ar ... /factorio/
I guess the source package also works for Debian if you build it manually, but I haven't tried it. The git repo I used for git-buildpackage packaging is here: https://github.com/w-flo/foreman-pkg (Also, feel free to fork/improve/whatever of course.)
So if you're using Ubuntu you can now install Foreman from my PPA (just add that PPA, apt-get update and apt-get install the foreman package, then you can launch foreman from the command line or through your favourite desktop environment menu). If it doesn't work, don't blame Nicksaurus, blame me.
https://launchpad.net/~florian-will/+ar ... /factorio/
I guess the source package also works for Debian if you build it manually, but I haven't tried it. The git repo I used for git-buildpackage packaging is here: https://github.com/w-flo/foreman-pkg (Also, feel free to fork/improve/whatever of course.)
Re: A tool to help you optimise your production lines.
omg I spent so much time trying to find that. I like to plan my factories which takes me forever without info like this.
Re: A tool to help you optimise your production lines.
omg I spent so much time trying to find that. I like to plan my factories which takes me forever without info like this.
-
- Long Handed Inserter
- Posts: 55
- Joined: Thu Aug 28, 2014 12:56 pm
- Contact:
Re: A tool to help you optimise your production lines.
http://i.imgur.com/yRZt9lW.pngBlackence wrote:I felt like improving my Debian packaging skills, and while I'm pretty sure the package is not up to Debian standards, it works, and I think it's not really bad. There's a bundled lua library and I'm not sure if my versioning and install paths for the .NET libraries are really correct, but yeah.
So if you're using Ubuntu you can now install Foreman from my PPA (just add that PPA, apt-get update and apt-get install the foreman package, then you can launch foreman from the command line or through your favourite desktop environment menu). If it doesn't work, don't blame Nicksaurus, blame me.
https://launchpad.net/~florian-will/+ar ... /factorio/
I guess the source package also works for Debian if you build it manually, but I haven't tried it. The git repo I used for git-buildpackage packaging is here: https://github.com/w-flo/foreman-pkg (Also, feel free to fork/improve/whatever of course.)
It works!
Re: A tool to help you optimise your production lines.
Looking at the repo… I can feel your pain.
Too bad I can't really help, as I've stopped using hg a long time ago. In fact, it was confusing to create these branch heads ("Why is my commit showing up in hg log of the default branch? I commited this to the other branch! Damn you hg!"), so I can only wish you good luck with getting rid of them! I think it looks pretty nice and clean already.
n9103, it might be interesting to know if you're using any mods. And whether or not the tool works after temporarily removing the mods. Since the Foreman tool attempts to parse lua files of mods as well as the base game, this might cause different behaviour depending on the mods you have installed. As far as I can tell, most places where bad things might happen have error checking though. So maybe it's unrelated to mods.
Too bad I can't really help, as I've stopped using hg a long time ago. In fact, it was confusing to create these branch heads ("Why is my commit showing up in hg log of the default branch? I commited this to the other branch! Damn you hg!"), so I can only wish you good luck with getting rid of them! I think it looks pretty nice and clean already.
n9103, it might be interesting to know if you're using any mods. And whether or not the tool works after temporarily removing the mods. Since the Foreman tool attempts to parse lua files of mods as well as the base game, this might cause different behaviour depending on the mods you have installed. As far as I can tell, most places where bad things might happen have error checking though. So maybe it's unrelated to mods.
Re: A tool to help you optimise your production lines.
I get this error, with and without mods installed.
Re: A tool to help you optimise your production lines.
moved the whole mod folder out of factorio's directory and ran this again, same error.
-
- Long Handed Inserter
- Posts: 55
- Joined: Thu Aug 28, 2014 12:56 pm
- Contact:
Re: A tool to help you optimise your production lines.
There are some changes in the next version that affect that section of the code. I'll also add some better error handling so it's easier to diagnose this sort of thing.n9103 wrote:moved the whole mod folder out of factorio's directory and ran this again, same error.
OK. I have no idea what might be causing that. The best answer I can give you is to wait for the next version, for the improved error handling I've mentioned above.ludsoe wrote:
I get this error, with and without mods installed.
Re: A tool to help you optimise your production lines.
Hey Nicksaurus,
are you still working on this nifty little tool?
I do hope so, as your program was the very thing that helped me understand how best set up my blue science factory.
One (rather annoying) thing I recognized, however: When starting up, it always asks me for the Factorio directory. Is that intended behaviour? (I already tried starting it with Admin rights and it's located in E:\...\Factorio\Foreman which is not a Windows-protected directory.)
So if it's not already happening, could you have Foreman remember the Factorio path, once known?
are you still working on this nifty little tool?
I do hope so, as your program was the very thing that helped me understand how best set up my blue science factory.
One (rather annoying) thing I recognized, however: When starting up, it always asks me for the Factorio directory. Is that intended behaviour? (I already tried starting it with Admin rights and it's located in E:\...\Factorio\Foreman which is not a Windows-protected directory.)
So if it's not already happening, could you have Foreman remember the Factorio path, once known?
-
- Long Handed Inserter
- Posts: 55
- Joined: Thu Aug 28, 2014 12:56 pm
- Contact:
Re: A tool to help you optimise your production lines.
I'm still working on it! It's just slow at the moment because I'm back at university. I'm glad you like it though.Inarion wrote:Hey Nicksaurus,
are you still working on this nifty little tool?
I do hope so, as your program was the very thing that helped me understand how best set up my blue science factory.
One (rather annoying) thing I recognized, however: When starting up, it always asks me for the Factorio directory. Is that intended behaviour? (I already tried starting it with Admin rights and it's located in E:\...\Factorio\Foreman which is not a Windows-protected directory.)
So if it's not already happening, could you have Foreman remember the Factorio path, once known?
The path it searches for by default is "[The drive letter that Foreman is running from]:\Program Files\Factorio", and it shows the 'Enter the Factorio Directory' dialog if it can't find that directory. I've added this as an issue though so it should be fixed soonish.
Re: A tool to help you optimise your production lines.
Ah, I see. Thanks for the reply!
I stopped using my C: drive for game installations at some point during Win98's reign... so I'd never have expected Foreman to search for Factorio there. (Though I guess it's the default installation path?)
And good to hear you're still on it. I'd rather have a slow and steady progress than none at all!
I stopped using my C: drive for game installations at some point during Win98's reign... so I'd never have expected Foreman to search for Factorio there. (Though I guess it's the default installation path?)
And good to hear you're still on it. I'd rather have a slow and steady progress than none at all!
Re: A tool to help you optimise your production lines.
awesome tool BUT i am using it with dytech, no matter if I disable it or not it always shows me recipes with disabled assemblers/smelters.
as in case;
what can i do to disable it?
edit: I also have something in errorlog
as in case;
what can i do to disable it?
edit: I also have something in errorlog
Code: Select all
The following files could not be loaded due to errors:
C:\Users\baran_000\AppData\Roaming\Factorio\mods\DyTech-Tools\prototypes\item\modulartools.lua(...ng\Factorio\mods\DyTech-Tools\scripts/tools-database.lua:1: attempt to call global 'module' (a nil value))
D:\Program Files\Factorio\data\base\prototypes\entity\demo-turrets.lua(D:\Program Files\Factorio\data\core\lualib\util.lua:2: attempt to call global 'module' (a nil value))
D:\Program Files\Factorio\data\base\prototypes\entity\turrets.lua(D:\Program Files\Factorio\data\core\lualib\util.lua:2: attempt to call global 'module' (a nil value))
C:\Users\baran_000\AppData\Roaming\Factorio\mods\DyTech-Energy\prototypes\entity\steam-engines-large.lua(...\DyTech-Energy\prototypes\entity\steam-engines-large.lua:1204: unexpected symbol near '}')
Re: A tool to help you optimise your production lines.
I'm thinking that the best UI solution for that sort of thing in general would be clicking or right-clicking on the recipe in the flowchart to disable certain recipes, with some other element on each recipe to show when some recipes have been disabled and re-enable them.
The next step after that would be remembering that setting on future launches of the application.
The next step after that would be remembering that setting on future launches of the application.
-
- Long Handed Inserter
- Posts: 55
- Joined: Thu Aug 28, 2014 12:56 pm
- Contact:
Re: A tool to help you optimise your production lines.
Yeah... that part's a bit unintuitive. The way it works is that all recipes are displayed whether they have an enabled assembler or not (because some e.g. Rocket Defense don't have assemblers at all). I only intended the enabled assemblers to limit what's displayed on the recipes as the optimal assembler setup, not which recipes are allowed.ares0027 wrote:awesome tool BUT i am using it with dytech, no matter if I disable it or not it always shows me recipes with disabled assemblers/smelters.
as in case;
what can i do to disable it?
edit: I also have something in errorlogCode: Select all
The following files could not be loaded due to errors: C:\Users\baran_000\AppData\Roaming\Factorio\mods\DyTech-Tools\prototypes\item\modulartools.lua(...ng\Factorio\mods\DyTech-Tools\scripts/tools-database.lua:1: attempt to call global 'module' (a nil value)) D:\Program Files\Factorio\data\base\prototypes\entity\demo-turrets.lua(D:\Program Files\Factorio\data\core\lualib\util.lua:2: attempt to call global 'module' (a nil value)) D:\Program Files\Factorio\data\base\prototypes\entity\turrets.lua(D:\Program Files\Factorio\data\core\lualib\util.lua:2: attempt to call global 'module' (a nil value)) C:\Users\baran_000\AppData\Roaming\Factorio\mods\DyTech-Energy\prototypes\entity\steam-engines-large.lua(...\DyTech-Energy\prototypes\entity\steam-engines-large.lua:1204: unexpected symbol near '}')
The lua errors in the errorlog really confuse me. They happen all the time and I have no idea why. I've been treating them as low priority for the meantime because they don't affect vanilla games but it looks like they might be disabling certain items for DyTech... I'll check in a bit.
I agree. That seems like the right solution here.Eagle0600 wrote:I'm thinking that the best UI solution for that sort of thing in general would be clicking or right-clicking on the recipe in the flowchart to disable certain recipes, with some other element on each recipe to show when some recipes have been disabled and re-enable them.
The next step after that would be remembering that setting on future launches of the application.
Re: A tool to help you optimise your production lines.
Eagle0600 wrote:I'm thinking that the best UI solution for that sort of thing in general would be clicking or right-clicking on the recipe in the flowchart to disable certain recipes, with some other element on each recipe to show when some recipes have been disabled and re-enable them.
The next step after that would be remembering that setting on future launches of the application.
as a real end user, who has no idea about programming, that would be easier for me.
by the way there is also a problem that you cannot resize nor scroll down on the "Create a node" window. therefore it renders it useless, especially for some items that are included in a lot of recipes (like iron plate)Nicksaurus wrote:
Yeah... that part's a bit unintuitive. The way it works is that all recipes are displayed whether they have an enabled assembler or not (because some e.g. Rocket Defense don't have assemblers at all). I only intended the enabled assemblers to limit what's displayed on the recipes as the optimal assembler setup, not which recipes are allowed.
The lua errors in the errorlog really confuse me. They happen all the time and I have no idea why. I've been treating them as low priority for the meantime because they don't affect vanilla games but it looks like they might be disabling certain items for DyTech... I'll check in a bit.
I agree. That seems like the right solution here.Eagle0600 wrote:I'm thinking that the best UI solution for that sort of thing in general would be clicking or right-clicking on the recipe in the flowchart to disable certain recipes, with some other element on each recipe to show when some recipes have been disabled and re-enable them.
The next step after that would be remembering that setting on future launches of the application.
in picture;
-
- Long Handed Inserter
- Posts: 97
- Joined: Tue Oct 28, 2014 3:33 pm
- Contact:
Re: A tool to help you optimise your production lines.
Is this still in development?
If so: I am getting the following error on startup with 0.11:
If so: I am getting the following error on startup with 0.11:
Code: Select all
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at Foreman.DataCache.InterpretFurnace(String name, LuaTable values)
at Foreman.DataCache.LoadRecipes()
at Foreman.MainForm.Form1_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)