GithubHelp home page GithubHelp logo

foreman's Introduction

Foreman

This is a simple program for generating flowcharts for production lines in the game Factorio.

Requires .Net 4.0 or higher and Visual C++ 2012 to run. Also works in mono, but the GUI has a few problems (missing scroll bars etc).

Installing

Ubuntu Trusty users can use my PPA.

Users of other debian-based distros can probably download the dsc, debian.tar.gz and orig.tar.xz files from the "Package Details" page on the PPA website and build a deb package for their distro using debuild, pbuilder or similar tools. First build and install the nlua packages, then build and install Foreman.

Windows users can find a zip archive with precompiled binaries in the Factorio Thread about Foreman. This archive contains a native code dll file, so it won't work on Linux.

Of course, it's possible to compile the sources manually. You need NLua as a dependency. Once you have that, compiling the Foreman.sln solution in MonoDevelop (and possibly also Visual Studio) should work.

Using

When using the Ubuntu package: Start Foreman through the application menu of your desktop environment or issue the "foreman" command in a terminal.

Otherwise, start Foreman.exe โ€“ double click it, or if you're on Linux maybe you need to run "mono Foreman.exe" in a terminal.

Foreman tries to detect your Factorio installation, but currently it mostly fails to do so on Windows. On Linux, it will try to find it in ~/factorio and ~/Factorio. If that fails, simply choose the "Factorio" directory using the "Browse" button in the dialog that appears.

Now you can add output nodes to the chart by choosing an output from the menu in the bottom left and clicking "Add Output". Click the newly inserted node to change the amount of items you want to produce. Click "Automatically complete" to add all the required nodes for producing the output items. You can enable/disable speed modules and assembling machines/furnaces for the calculation by ticking/unticking the check boxes.

Drag the chart using the middle mouse button. Scroll using the mouse wheel.

foreman's People

Contributors

penrif avatar powellngl avatar w-flo avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

foreman's Issues

[Suggestion] pin

Prevent automatic layout from moving certain nodes (all node types)

Use cases:
automatically generating science 1,2,3,4, without the order changing
creating a belt / inserter / lubricant setup, I would like to determine the positions for readability.

Crashes when you want to make a flow over science packs.

ystem.ArgumentNullException: Argument cannot be null.
Parameter name: image
at System.Drawing.Graphics.DrawImage (System.Drawing.Image image, Int32 x, Int32 y, Int32 width, Int32 height) [0x00000] in :0
at (wrapper remoting-invoke-with-check) System.Drawing.Graphics:DrawImage (System.Drawing.Image,int,int,int,int)
at Foreman.ItemTab.Paint (System.Drawing.Graphics graphics) [0x00000] in :0
at Foreman.GraphElement.Paint (System.Drawing.Graphics graphics) [0x00000] in :0
at Foreman.NodeElement.Paint (System.Drawing.Graphics graphics) [0x00000] in :0
at Foreman.ProductionGraphViewer.Paint (System.Drawing.Graphics graphics) [0x00000] in :0
at Foreman.ProductionGraphViewer.OnPaint (System.Windows.Forms.PaintEventArgs e) [0x00000] in :0
at System.Windows.Forms.Control.WmPaint (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.ScrollableControl.WndProc (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.ContainerControl.WndProc (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.UserControl.WndProc (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x00000] in :0
at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000] in :0

[Suggestion] Throughput Nodes

A node that takes input as well as output, just so that we can untangle some of the lines.
Most likely to be used for Oil production lines.

It would be extra awesome if we can use these as virtual nodes as well (Main bus)
to untangle iron / copper plate lines.

adding a numerical network for each separate line should be enough.

This way you can measure iron plate requirements for multiple sites, group them together to local bus
or apply a single main bus, with the joy of neat straight lines to untangle the mess.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.