From 3939b137594ac96a798360c15bf0302b417bccdc Mon Sep 17 00:00:00 2001
From: Cooldude2606
Date: Tue, 29 May 2018 22:00:25 +0100
Subject: [PATCH] Added Module: FactorioStdLib
---
FactorioSoftmodManager.lua | 4 +-
doc/index.html | 12 +-
doc/ldoc.css | 501 ++++++++---------
doc/modules/Color.html | 519 ++++++++++++++++++
...minglib.control.html => ExpGamingLib.html} | 86 ++-
doc/modules/FSM.html | 121 ++--
doc/modules/Game.html | 6 +-
doc/modules/defines.color.html | 4 +-
doc/modules/defines.time.html | 6 +-
doc/modules/expcore.commands.html | 6 +-
doc/modules/expcore.gui.html | 6 +-
doc/modules/expcore.guiparts.center.html | 6 +-
doc/modules/expcore.guiparts.inputs.html | 6 +-
doc/modules/expcore.guiparts.left.html | 6 +-
doc/modules/expcore.guiparts.popup.html | 6 +-
doc/modules/expcore.guiparts.toolbar.html | 6 +-
doc/modules/expcore.ranking.html | 6 +-
doc/modules/expcore.server.html | 6 +-
doc/modules/expcore.sync.html | 6 +-
doc/modules/string.html | 6 +-
doc/modules/table.html | 6 +-
doc/scripts/control.lua.html | 6 +-
doc/scripts/index.lua.html | 6 +-
modules/ExpGamingLib/control.lua | 2 +-
modules/FactorioStdLib/color.lua | 103 +---
modules/FactorioStdLib/load.lua | 36 --
modules/FactorioStdLib/softmod.json | 46 +-
modules/FactorioStdLib/string.lua | 4 +-
modules/FactorioStdLib/table.lua | 4 +-
modules/FactorioStdLib/time.lua | 3 +-
modules/index.lua | 5 +
31 files changed, 1013 insertions(+), 533 deletions(-)
create mode 100644 doc/modules/Color.html
rename doc/modules/{modules.expgaminglib.control.html => ExpGamingLib.html} (78%)
delete mode 100644 modules/FactorioStdLib/load.lua
diff --git a/FactorioSoftmodManager.lua b/FactorioSoftmodManager.lua
index 2644ace4..c3660234 100644
--- a/FactorioSoftmodManager.lua
+++ b/FactorioSoftmodManager.lua
@@ -70,8 +70,8 @@ Manager.verbose = function(rtn,action)
local settings = Manager.setVerbose
local state = Manager.currentState
-- if ran in a module the the global module_name is present
- if module_name then rtn='['..module_name..'] '..rtn
- else rtn='[FSM] '..rtn end
+ if module_name then rtn='['..module_name..'] '..tostring(rtn)
+ else rtn='[FSM] '..tostring(rtn) end
-- module_verbose is a local override for a file, action is used in the manager to describe an extra type, state is the current state
-- if action is true then it will always trigger verbose
if module_verbose or action and (action == true or settings[action]) or settings[state] then
diff --git a/doc/index.html b/doc/index.html
index a9153abb..3856ff87 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -42,8 +42,8 @@
expcore.server
expcore.sync
FSM
- modules.expgaminglib.control
- defines.color
+ ExpGamingLib
+ Color
Game
string
table
@@ -108,11 +108,11 @@
| Factorio Softmod Manager |
- | modules.expgaminglib.control |
- Loads a table into _G even when sandboxed; will not overwrite values or append to tables; will not work during runtime to avoid desyncs |
+ ExpGamingLib |
+ Adds some common functions used though out all ExpGaming modules |
- | defines.color |
+ Color |
A defines module for retrieving colors by name. |
@@ -148,7 +148,7 @@
generated by LDoc 1.4.6
-
Last updated 2018-05-29 20:15:05
+
Last updated 2018-05-29 20:54:20
+
+
+
+
+
+
+
+
+
+
+
+
+
+
ldoc
+
+
+
+
Contents
+
+
+
+
Modules
+
+
Scripts
+
+
+
+
+
+
+
Module Color
+
A defines module for retrieving colors by name.
+
+ Extends the Factorio defines table.
+
Usage:
+
require('stdlib/defines/color')
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+ set ([color=white[, alpha=1]])
+
+ -
+ Set a value for the alpha channel in the given color table.
+ `color.a` represents the alpha channel in the given color table.
+
+ - If ***alpha*** is given, set `color.a` to it.
+
- If ***alpha*** is not given, and if the given color table does not have a value for `color.a`, set `color.a` to 1.
+
- If ***alpha*** is not given, and if the given color table already has a value for `color.a`, then leave `color.a` alone.
+
+
+
+ Parameters:
+
+ - color
+ defines.color or Concepts.Color
+ the color to configure
+ (default white)
+
+ - alpha
+ float
+ the alpha value (*[0 - 1]*) to set for the given color
+ (default 1)
+
+
+
+ Returns:
+
+
+ Concepts.Color
+ a color table that has the specified value for the alpha channel
+
+
+
+
+
+
+ -
+
+ to_table (c_arr)
+
+ -
+ Converts a color in the array format to a color in the table format.
+
+
+
Parameters:
+
+ - c_arr
+ table
+ the color to convert
+
+
+
+ Returns:
+
+
+ Concepts.Color
+ a converted color — { r = c\_arr[1], g = c\_arr[2], b = c\_arr[3], a = c\_arr[4] }
+
+
+
+
+
+
+ -
+
+ from_rgb ([r=0[, g=0[, b=0[, a=255]]]])
+
+ -
+ Converts a color in the rgb format to a color table
+
+
+
Parameters:
+
+ - r
+ int
+ 0-255 red
+ (default 0)
+
+ - g
+ int
+ 0-255 green
+ (default 0)
+
+ - b
+ int
+ 0-255 blue
+ (default 0)
+
+ - a
+ int
+ 0-255 alpha
+ (default 255)
+
+
+
+ Returns:
+
+
+ Concepts.Color
+
+
+
+
+
+
+
+ -
+
+ from_hex (hex[, alpha=1])
+
+ -
+ Get a color table with a hexadecimal string.
+ Optionally provide the value for the alpha channel.
+
+
+
Parameters:
+
+ - hex
+ string
+ hexadecimal color string (#ffffff, not #fff)
+
+ - alpha
+ float
+ the alpha value to set; such that ***[ 0 ⋜ value ⋜ 1 ]***
+ (default 1)
+
+
+
+ Returns:
+
+
+ Concepts.Color
+ a color table with RGB converted from Hex and with alpha
+
+
+
+
+
+
+
+
+
+
+ -
+
+ defines.color
+
+ -
+ A table of colors allowing retrieval by color name.
+
+
+
Fields:
+
+ - white
+ Concepts.Color
+
+
+ - black
+ Concepts.Color
+
+
+ - darkgrey
+ Concepts.Color
+
+
+ - grey
+ Concepts.Color
+
+
+ - lightgrey
+ Concepts.Color
+
+
+ - red
+ Concepts.Color
+
+
+ - darkred
+ Concepts.Color
+
+
+ - lightred
+ Concepts.Color
+
+
+ - green
+ Concepts.Color
+
+
+ - darkgreen
+ Concepts.Color
+
+
+ - lightgreen
+ Concepts.Color
+
+
+ - blue
+ Concepts.Color
+
+
+ - darkblue
+ Concepts.Color
+
+
+ - lightblue
+ Concepts.Color
+
+
+ - orange
+ Concepts.Color
+
+
+ - yellow
+ Concepts.Color
+
+
+ - pink
+ Concepts.Color
+
+
+ - purple
+ Concepts.Color
+
+
+ - brown
+ Concepts.Color
+
+
+
+
+
+
+
+ Usage:
+ color = defines.color.red
+
+
+
+ -
+
+ defines.anticolor
+
+ -
+ Returns white for dark colors or black for lighter colors.
+
+
+
Fields:
+
+ - green
+ Concepts.Color
+ defines.color.black
+
+ - grey
+ Concepts.Color
+ defines.color.black
+
+ - lightblue
+ Concepts.Color
+ defines.color.black
+
+ - lightgreen
+ Concepts.Color
+ defines.color.black
+
+ - lightgrey
+ Concepts.Color
+ defines.color.black
+
+ - lightred
+ Concepts.Color
+ defines.color.black
+
+ - orange
+ Concepts.Color
+ defines.color.black
+
+ - white
+ Concepts.Color
+ defines.color.black
+
+ - yellow
+ Concepts.Color
+ defines.color.black
+
+ - black
+ Concepts.Color
+ defines.color.white
+
+ - blue
+ Concepts.Color
+ defines.color.white
+
+ - brown
+ Concepts.Color
+ defines.color.white
+
+ - darkblue
+ Concepts.Color
+ defines.color.white
+
+ - darkgreen
+ Concepts.Color
+ defines.color.white
+
+ - darkgrey
+ Concepts.Color
+ defines.color.white
+
+ - darkred
+ Concepts.Color
+ defines.color.white
+
+ - pink
+ Concepts.Color
+ defines.color.white
+
+ - purple
+ Concepts.Color
+ defines.color.white
+
+ - red
+ Concepts.Color
+ defines.color.white
+
+
+
+
+
+
+
+
+ -
+
+ defines.lightcolor
+
+ -
+ Returns a lighter color of a named color.
+
+
+
Fields:
+
+ - white
+ Concepts.Color
+ defines.color.lightgrey
+
+ - grey
+ Concepts.Color
+ defines.color.darkgrey
+
+ - lightgrey
+ Concepts.Color
+ defines.color.grey
+
+ - red
+ Concepts.Color
+ defines.color.lightred
+
+ - green
+ Concepts.Color
+ defines.color.lightgreen
+
+ - blue
+ Concepts.Color
+ defines.color.lightblue
+
+ - yellow
+ Concepts.Color
+ defines.color.orange
+
+ - pink
+ Concepts.Color
+ defines.color.purple
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
generated by LDoc 1.4.6
+
Last updated 2018-05-29 20:54:20
+
+
+
diff --git a/doc/ldoc.css b/doc/ldoc.css
index 52c4ad2b..809ab237 100644
--- a/doc/ldoc.css
+++ b/doc/ldoc.css
@@ -1,303 +1,244 @@
-/* BEGIN RESET
+/* universal */
-Copyright (c) 2010, Yahoo! Inc. All rights reserved.
-Code licensed under the BSD License:
-http://developer.yahoo.com/yui/license.html
-version: 2.8.2r1
-*/
-html {
- color: #000;
- background: #FFF;
-}
-body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td {
- margin: 0;
- padding: 0;
-}
-table {
- border-collapse: collapse;
- border-spacing: 0;
-}
-fieldset,img {
- border: 0;
-}
-address,caption,cite,code,dfn,em,strong,th,var,optgroup {
- font-style: inherit;
- font-weight: inherit;
-}
-del,ins {
- text-decoration: none;
-}
-li {
- margin-left: 20px;
-}
-caption,th {
- text-align: left;
-}
-h1,h2,h3,h4,h5,h6 {
- font-size: 100%;
- font-weight: bold;
-}
-q:before,q:after {
- content: '';
-}
-abbr,acronym {
- border: 0;
- font-variant: normal;
-}
-sup {
- vertical-align: baseline;
-}
-sub {
- vertical-align: baseline;
-}
-legend {
- color: #000;
-}
-input,button,textarea,select,optgroup,option {
- font-family: inherit;
- font-size: inherit;
- font-style: inherit;
- font-weight: inherit;
-}
-input,button,textarea,select {*font-size:100%;
-}
-/* END RESET */
+body{background-color:#0F0F0F;color:#C8C8C8;font-family:'Lucida Grande',Arial,sans-serif}
+a{text-decoration:none;border-style:none;outline:none!important}
+a:link{color:#FF7200;text-decoration:none}
+a:visited{color:#FF7200;text-decoration:none}
+a:hover{color:#C8C8C8;text-decoration:none}
+a:active{color:#C8C8C8;text-decoration:none}
+h1{font-size:2.5rem}
+h2{font-size:2.3rem}
+h3{font-size:2rem}
+h4{font-size:1.8rem}
+h5{font-size:1.6rem}
-body {
- margin-left: 1em;
- margin-right: 1em;
- font-family: arial, helvetica, geneva, sans-serif;
- background-color: #ffffff; margin: 0px;
+
+/* table */
+
+table,thead{text-align:left}
+table,th,td{padding:2px}
+
+
+/* sidebar */
+
+.sidebar {height: 100%}
+
+.sidebar-custom {
+ border-right: 1px solid #2C2C2C;
+ padding-right: 1.4rem;
+ bottom: 0rem;
}
-code, tt { font-family: monospace; font-size: 1.1em; }
-span.parameter { font-family:monospace; }
-span.parameter:after { content:":"; }
-span.types:before { content:"("; }
-span.types:after { content:")"; }
-.type { font-weight: bold; font-style:italic }
-
-body, p, td, th { font-size: .95em; line-height: 1.2em;}
-
-p, ul { margin: 10px 0 0 0px;}
-
-strong { font-weight: bold;}
-
-em { font-style: italic;}
-
-h1 {
- font-size: 1.5em;
- margin: 20px 0 20px 0;
-}
-h2, h3, h4 { margin: 15px 0 10px 0; }
-h2 { font-size: 1.25em; }
-h3 { font-size: 1.15em; }
-h4 { font-size: 1.06em; }
-
-a:link { font-weight: bold; color: #004080; text-decoration: none; }
-a:visited { font-weight: bold; color: #006699; text-decoration: none; }
-a:link:hover { text-decoration: underline; }
-
-hr {
- color:#cccccc;
- background: #00007f;
- height: 1px;
-}
-
-blockquote { margin-left: 3em; }
-
-ul { list-style-type: disc; }
-
-p.name {
- font-family: "Andale Mono", monospace;
- padding-top: 1em;
-}
-
-pre {
- background-color: rgb(245, 245, 245);
- border: 1px solid #C0C0C0; /* silver */
- padding: 10px;
- margin: 10px 0 10px 0;
- overflow: auto;
- font-family: "Andale Mono", monospace;
-}
-
-pre.example {
- font-size: .85em;
-}
-
-table.index { border: 1px #00007f; }
-table.index td { text-align: left; vertical-align: top; }
-
-#container {
- margin-left: 1em;
- margin-right: 1em;
- background-color: #f0f0f0;
-}
-
-#product {
- text-align: center;
- border-bottom: 1px solid #cccccc;
- background-color: #ffffff;
-}
-
-#product big {
- font-size: 2em;
-}
-
-#main {
- background-color: #f0f0f0;
- border-left: 2px solid #cccccc;
-}
-
-#navigation {
- float: left;
- width: 14em;
- vertical-align: top;
- background-color: #f0f0f0;
- overflow: visible;
-}
-
-#navigation h2 {
- background-color:#e7e7e7;
- font-size:1.1em;
- color:#000000;
- text-align: left;
- padding:0.2em;
- border-top:1px solid #dddddd;
- border-bottom:1px solid #dddddd;
-}
-
-#navigation ul
-{
- font-size:1em;
- list-style-type: none;
- margin: 1px 1px 10px 1px;
-}
-
-#navigation li {
- text-indent: -1em;
- display: block;
- margin: 3px 0px 0px 22px;
-}
-
-#navigation li li a {
- margin: 0px 3px 0px -1em;
-}
-
-#content {
- margin-left: 14em;
- padding: 1em;
- width: 700px;
- border-left: 2px solid #cccccc;
- border-right: 2px solid #cccccc;
- background-color: #ffffff;
-}
-
-#about {
- clear: both;
- padding: 5px;
- border-top: 2px solid #cccccc;
- background-color: #ffffff;
-}
-
-@media print {
- body {
- font: 12pt "Times New Roman", "TimeNR", Times, serif;
- }
- a { font-weight: bold; color: #004080; text-decoration: underline; }
-
- #main {
- background-color: #ffffff;
- border-left: 0px;
- }
-
- #container {
- margin-left: 2%;
- margin-right: 2%;
- background-color: #ffffff;
- }
-
- #content {
- padding: 1em;
- background-color: #ffffff;
- }
-
- #navigation {
- display: none;
- }
- pre.example {
- font-family: "Andale Mono", monospace;
- font-size: 10pt;
- page-break-inside: avoid;
+@supports (-ms-ime-align:auto) {
+ .sidebar-custom {
+ height: 99%;
}
}
+.up-to-top {
+ top: 1.5rem;
+ position: -webkit-sticky;
+ position: sticky;
+ text-align: right;
+ margin-right: 0.2rem;
+}
+
+.up-to-top a{padding:20px}
+.up-to-top a:link{color:#FF7200}
+.up-to-top a:hover{color:#C8C8C8}
+.icon-arrow-right-custom{margin-bottom:3px}
+.project-infobox{text-align:right}
+.project-infobox .project-desc{font-style:italic}
+.nav-modules{text-align:right}
+.nav-module-contents{text-align:right}
+
+
+/* navigation */
+
+.nav .nav a{color:#FF7200}
+.nav .nav a:link{color:#FF7200}
+.nav .nav a:visited{color:#FF7200}
+.nav .nav a:hover{color:#C8C8C8;text-decoration:none}
+.nav .nav-item.active>a:hover{color:#C8C8C8;text-decoration:none}
+.nav .nav-item.active{margin-left:0}
+.nav .nav a:active{color:#C8C8C8}
+
+
+/* main page module list */
+
+.body-module-name {font-weight: 500}
+
table.module_list {
- border-width: 1px;
- border-style: solid;
- border-color: #cccccc;
+ border-spacing: 0;
+ display: table;
border-collapse: collapse;
+ margin-bottom: 2.0rem;
}
+
table.module_list td {
- border-width: 1px;
- padding: 3px;
- border-style: solid;
- border-color: #cccccc;
+ border-top: 1px solid #2C2C2C;
+ border-bottom: 1px solid #2C2C2C;
+ padding: 3px 7px 3px 7px;
}
-table.module_list td.name { background-color: #f0f0f0; min-width: 200px; }
-table.module_list td.summary { width: 100%; }
+table.module_list td.name {
+ vertical-align: top;
+ min-width: 125px;
+ background-color: #0D0D0D;
+}
-table.function_list {
- border-width: 1px;
- border-style: solid;
- border-color: #cccccc;
+table.module_list td.summary {vertical-align: top}
+
+.module_list p {margin:0px}
+
+/* section */
+
+.module-see-also li {
+ margin-top: 0.5rem;
+}
+
+.section-title a:link{color:#C8C8C8}
+.section-title a:visited{color:#C8C8C8}
+.section-title a:hover{color:#FF7200}
+.section-title a:active{color:#FF7200}
+
+.section-body-container dd {
+ margin: 1.0rem 0 1.5rem 0;
+}
+
+table.section-content-list {
+ border-spacing: 0;
+ display: table;
border-collapse: collapse;
-}
-table.function_list td {
- border-width: 1px;
- padding: 3px;
- border-style: solid;
- border-color: #cccccc;
-}
-table.function_list td.name { background-color: #f0f0f0; min-width: 200px; }
-table.function_list td.summary { width: 100%; }
-
-ul.nowrap {
- overflow:auto;
- white-space:nowrap;
+ margin-bottom: 1.5rem;
}
-dl.table dt, dl.function dt {border-top: 1px solid #ccc; padding-top: 1em;}
-dl.table dd, dl.function dd {padding-bottom: 1em; margin: 10px 0 0 20px;}
-dl.table h3, dl.function h3 {font-size: .95em;}
+table.section-content-list td {
+ border-top: 1px solid #2C2C2C;
+ border-bottom: 1px solid #2C2C2C;
+ padding: 3px 7px 3px 7px;
+}
-/* stop sublists from having initial vertical space */
-ul ul { margin-top: 0px; }
-ol ul { margin-top: 0px; }
-ol ol { margin-top: 0px; }
-ul ol { margin-top: 0px; }
+table.section-content-list td.name {
+ background-color: #0D0D0D;
+ vertical-align: top;
+ white-space: nowrap;
+}
-/* make the target distinct; helps when we're navigating to a function */
-a:target + * {
- background-color: #FF9;
+table.section-content-list td.summary {
+ min-width: 200px;
+ vertical-align: top;
+}
+
+.section-content-list p {margin: 0px}
+
+div.section-item-header .section-item-title {
+ font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
+ font-size: 1.5rem;
+ margin-left: 3px;
+}
+
+.section-title:target {
+ padding-left: 7px;
+ border-left: 5px solid #FF7200;
+ text-decoration: none;
+}
+
+.section-item-title:target {
+ padding: 3px 5px 3px 5px;
+ background-color: #FF7200;
+ color: #000000;
+ text-decoration: none;
+}
+
+.section-item-body {margin-left: 4rem}
+
+/*.section-subitem-li {
+ padding-left: 1.28571429em;
+ text-indent: -1.28571429em;
+}*/
+
+/*.section-subitem-module-field-li {
+ margin-left: -1.28571429em;
+ padding-left: 1.28571429em;
+ text-indent: -1.28571429em;
+}*/
+
+/* example pages */
+
+pre.code.example{margin:0 0 1em}
+pre.code.example code h2{display:none}
+pre.code.example code pre{margin:0}
+
+
+/* usage code */
+
+code{background-color:#181818;color:#C8C8C8;font-size:1.3rem}
+pre.code code{background-color:#282828;color:#C8C8C8;font-size:1.3rem}
+pre.code .comment{color:#998d70}
+pre.code .constant{color:#a8660d}
+pre.code .escape{color:#844631}
+pre.code .keyword{color:#c43724;font-weight:700}
+pre.code .library{color:#0e7c6b}
+pre.code .marker{color:#512b1e;background:#fedc56;font-weight:700}
+pre.code .string{color:#99ca3c}
+pre.code .number{color:#f8660d}
+pre.code .operator{color:#2239a8;font-weight:700}
+pre.code .preprocessor,pre .prepro{color:#a33243}
+pre.code .global{color:#5798da}
+pre.code .user-keyword{color:purple}
+pre.code .prompt{color:#998d70}
+pre.code .url{color:#272fc2;text-decoration:underline}
+
+
+/* footer */
+
+.footer{height:65px}
+.sidebar-footer{text-align:left;padding-right:33px}
+.content-footer{text-align:right}
+
+
+/* misc */
+
+.types {font-weight:bold;font-style:italic}
+
+.divider[data-content]::after,.divider-vert[data-content]::after{background:#262626;color:#C8C8C8}
+.divider-custom{border-width:1px;border-color:#585959}
+
+
+/* fragment hashtag */
+
+.fragment-hashtag{color:#3C3C3C}
+a.fragment-hashtag{color:#3C3C3C}
+a.fragment-hashtag:hover{color:#FF7200}
+
+
+/* mobile */
+
+@media screen and (max-width: 540px) {
+ .up-to-top {display: none}
+ .sidebar-custom {
+ border-right: 1px solid #2C2C2C;
+ padding-right: 1.4rem;
+ bottom: 0rem;
+ margin-right: 0px;
+ }
+ .sidebar-footer {
+ text-align: right;
+ padding-right: 10px;
+ white-space: nowrap;
+ }
+ table.function_list td.name {
+ background-color: #0D0D0D;
+ vertical-align: top;
+ white-space: normal;
+ }
+ .function-item-spec-body-wrap {margin-left: 1.5rem}
}
-/* styles for prettification of source */
-pre .comment { color: #558817; }
-pre .constant { color: #a8660d; }
-pre .escape { color: #844631; }
-pre .keyword { color: #aa5050; font-weight: bold; }
-pre .library { color: #0e7c6b; }
-pre .marker { color: #512b1e; background: #fedc56; font-weight: bold; }
-pre .string { color: #8080ff; }
-pre .number { color: #f8660d; }
-pre .operator { color: #2239a8; font-weight: bold; }
-pre .preprocessor, pre .prepro { color: #a33243; }
-pre .global { color: #800080; }
-pre .user-keyword { color: #800080; }
-pre .prompt { color: #558817; }
-pre .url { color: #272fc2; text-decoration: underline; }
+/* tablets */
+@media screen and (min-width: 540px) and (max-width: 780px) {
+ .sidebar-footer {white-space: nowrap}
+}
diff --git a/doc/modules/Color.html b/doc/modules/Color.html
new file mode 100644
index 00000000..94f0acff
--- /dev/null
+++ b/doc/modules/Color.html
@@ -0,0 +1,519 @@
+
+
+
+
+
Reference
+
+
+
+