-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
27 changed files
with
48,266 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
build/ | ||
.cache/ | ||
.vscode/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
cmake_minimum_required(VERSION 3.1) | ||
|
||
project(SatisParsery) | ||
|
||
include_directories(src) | ||
|
||
aux_source_directory(src SRC_DIR) | ||
aux_source_directory(src/DrawioElements DRAWIO_ELEMENTS_DIR) | ||
aux_source_directory(src/RecipeElements RECIPE_ELEMENTS_DIR) | ||
|
||
add_compile_options(-Wall --std=c++17) | ||
|
||
add_executable(${PROJECT_NAME} ${SRC_DIR} | ||
${DRAWIO_ELEMENTS_DIR} | ||
${RECIPE_ELEMENTS_DIR}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
# SatisParsery | ||
**Convert Satisfactory recipes data into Drawio diagram (list of recipes).** | ||
|
||
Purpose of the project is making life easier when planning factories for those who don't like "I'll do it completely for you" tools. | ||
|
||
 | ||
|
||
## Table of contents | ||
|
||
1. [Dependencies](#dependencies) | ||
- [SatisfactoryTools](#satisfactorytools) | ||
- [JSON for modern C++](#json-for-modern-c) | ||
2. [Building with CMake](#building-with-cmake) | ||
3. [Usage](#usage) | ||
- [data.json](#datajson) | ||
- [configuration.json](#configurationjson) | ||
- [output.drawio](#outputdrawio) | ||
4. [Additional tools](#additional-tools) | ||
- [Acquiring readable names](#acquiring-readable-names) | ||
6. [Known issues](#known-issues) | ||
- [Random sorting in configuration](#random-sorting-in-configuration) | ||
- [Windows support](#windows-support) | ||
- [readable_names.sh prints links](#readable_namessh-prints-links) | ||
|
||
## Dependencies | ||
|
||
### [SatisfactoryTools](https://github.com/greeny/SatisfactoryTools) | ||
|
||
The repository has data.json file which lists all the recipes available in the game. I use this file to generate the diagram. | ||
|
||
### [JSON for modern C++](https://github.com/nlohmann/json) | ||
|
||
I use the library for parsing and writing JSON files. | ||
|
||
## Building with CMake | ||
|
||
``` | ||
git clone https://github.com/andev0/SatisParsery --recursive | ||
mkdir SatisParsery/build | ||
cd SatisParsery/build | ||
cmake .. | ||
make | ||
``` | ||
|
||
## Usage | ||
|
||
``` | ||
SatisParsery \ | ||
path/to/data.json \ | ||
path/to/configuration.json \ | ||
path/to/output.drawio | ||
``` | ||
|
||
### data.json | ||
|
||
[The file](#satisfactorytools) from the SatisfactoryTools repository. | ||
|
||
### configuration.json | ||
|
||
Configuration file in which you can change the following things: | ||
- Readable names of items and buildings (e.g. *"Smart Plating"* instead of *"Desc_SpaceElevatorPart_1_C"*) | ||
- Ignored recipes | ||
- Drawio styles of the elements (e.g. colors) | ||
|
||
An example can be found in `example_configuration.json`. | ||
|
||
### output.drawio | ||
|
||
Path to which resulting diagram will be written. | ||
|
||
## Additional tools | ||
|
||
### Acquiring readable names | ||
|
||
Readable names for [the configuration file](#configurationjson) can be fetched from [satisfactory-calculator.com](https://satisfactory-calculator.com) using the `readable_names.sh` Bash script. It works only on Linux. | ||
## Known issues | ||
|
||
### Random sorting in configuration | ||
|
||
Every time you launch the program, it rearranges configuration file arrays' items in random order. I don't know how to fix it yet. | ||
|
||
### Windows support | ||
|
||
I didn't test the program on Windows thus can't guarantee that the program compiles and works on this OS. | ||
|
||
### readable_names.sh prints links | ||
|
||
Currently the script can't deal with names of alien remains and buildings. There are not much of them so it should make a big deal but maybe I figure out how to fix this soon. |
Oops, something went wrong.