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
    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 + + + + +
    + +
    + +
    +
    +
    + + +
    + + + + + + +
    + +

    Module Color

    +

    A defines module for retrieving colors by name.

    +

    + Extends the Factorio defines table.

    +

    Usage:

    +
      +
      require('stdlib/defines/color')
      +
      +
    + + +

    Functions

    + + + + + + + + + + + + + + + + + +
    set ([color=white[, alpha=1]])Set a value for the alpha channel in the given color table.
    to_table (c_arr)Converts a color in the array format to a color in the table format.
    from_rgb ([r=0[, g=0[, b=0[, a=255]]]])Converts a color in the rgb format to a color table
    from_hex (hex[, alpha=1])Get a color table with a hexadecimal string.
    +

    Tables

    + + + + + + + + + + + + + +
    defines.colorA table of colors allowing retrieval by color name.
    defines.anticolorReturns white for dark colors or black for lighter colors.
    defines.lightcolorReturns a lighter color of a named color.
    + +
    +
    + + +

    Functions

    + +
    +
    + + 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 +
    + + + + +
    +
    +

    Tables

    + +
    +
    + + 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/modules/modules.expgaminglib.control.html b/doc/modules/ExpGamingLib.html similarity index 78% rename from doc/modules/modules.expgaminglib.control.html rename to doc/modules/ExpGamingLib.html index 63260c90..f5ea6be6 100644 --- a/doc/modules/modules.expgaminglib.control.html +++ b/doc/modules/ExpGamingLib.html @@ -49,8 +49,8 @@
  • expcore.server
  • expcore.sync
  • FSM
  • -
  • modules.expgaminglib.control
  • -
  • defines.color
  • +
  • ExpGamingLib
  • +
  • Color
  • Game
  • string
  • table
  • @@ -66,44 +66,47 @@
    -

    Module 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

    +

    Module ExpGamingLib

    +

    Adds some common functions used though out all ExpGaming modules

    -

    Usage:

    +

    Info:

    Functions

    - + + + + + - + - + - + - + - + - +
    ExpLib.get_env ()unpack_to_G (tbl)Loads a table into _G even when sandboxed; will not overwrite values or append to tables; will not work during runtime to avoid desyncs
    get_env () Used to get the current ENV with all _G keys removed; useful when saving function to global
    ExpLib.is_type (v[, test_type=nil])is_type (v[, test_type=nil]) Compear types faster for faster valadation of prams
    ExpLib.player_return (rtn[, colour=defines.colour.white[, player=game.player]])player_return (rtn[, colour=defines.colour.white[, player=game.player]]) Will return a value of any type to the player/server console, allows colour for in-game players
    ExpLib.tick_to_hour (tick)tick_to_hour (tick) Convert ticks to hours
    ExpLib.tick_to_min (tick)tick_to_min (tick) Convert ticks to minutes
    ExpLib.tick_to_display_format (tick)tick_to_display_format (tick) Converts a tick into a clean format for end user
    ExpLib.gui_tree (root)gui_tree (root) Used as a way to view the structure of a gui, used for debuging
    @@ -116,8 +119,33 @@
    - - ExpLib.get_env () + + unpack_to_G (tbl) +
    +
    + Loads a table into _G even when sandboxed; will not overwrite values or append to tables; will not work during runtime to avoid desyncs + + +

    Parameters:

    +
      +
    • tbl + table + table to be unpacked +
    • +
    + + + + +

    Usage:

    +
      +
      unpack_to_G{key1='foo',key2='bar'}
      +
    + +
    +
    + + get_env ()
    Used to get the current ENV with all _G keys removed; useful when saving function to global @@ -140,8 +168,8 @@
    - - ExpLib.is_type (v[, test_type=nil]) + + is_type (v[, test_type=nil])
    Compear types faster for faster valadation of prams @@ -176,8 +204,8 @@
    - - ExpLib.player_return (rtn[, colour=defines.colour.white[, player=game.player]]) + + player_return (rtn[, colour=defines.colour.white[, player=game.player]])
    Will return a value of any type to the player/server console, allows colour for in-game players @@ -212,8 +240,8 @@
    - - ExpLib.tick_to_hour (tick) + + tick_to_hour (tick)
    Convert ticks to hours @@ -243,8 +271,8 @@
    - - ExpLib.tick_to_min (tick) + + tick_to_min (tick)
    Convert ticks to minutes @@ -274,8 +302,8 @@
    - - ExpLib.tick_to_display_format (tick) + + tick_to_display_format (tick)
    Converts a tick into a clean format for end user @@ -306,8 +334,8 @@
    - - ExpLib.gui_tree (root) + + gui_tree (root)
    Used as a way to view the structure of a gui, used for debuging @@ -343,7 +371,7 @@
    generated by LDoc 1.4.6 -Last updated 2018-05-29 20:15:05 +Last updated 2018-05-29 20:54:20
    diff --git a/doc/modules/FSM.html b/doc/modules/FSM.html index 1c9fd6bf..4d8b6ca0 100644 --- a/doc/modules/FSM.html +++ b/doc/modules/FSM.html @@ -33,7 +33,7 @@

    Contents

    @@ -50,8 +50,8 @@
  • expcore.server
  • expcore.sync
  • FSM
  • -
  • modules.expgaminglib.control
  • -
  • defines.color
  • +
  • ExpGamingLib
  • +
  • Color
  • Game
  • string
  • table
  • @@ -73,7 +73,6 @@

    Usage:

    Info:

    @@ -92,27 +91,31 @@ verbose (rtn, action) Used to call the output of the verbose when the current state allows it - -

    Fields

    - - + - + - + - + - + + + +
    setVerbosesetVerbose (settings) Main logic for allowing verbose at different stages though out the script
    sandboxsandbox (callback[, env]) Creates a sand box envorment and runs a callback in that sand box; provents global pollution
    loadModulesloadModules () Loads the modules that are present in the index list
    errorerror (err, callback) A more detailed replacement for the lua error function to allow for handlers to be added; repleaces default error so error can be used instead of Manager.error
    namesevent (event_name, callback)Event handler that modules can use, each module can register one function per event
    +

    Tables

    + + +
    Manager.event.names Sub set to Manger.event and acts as a coverter between event_name and event_id
    @@ -178,20 +181,17 @@ - -

    Fields

    - -
    - setVerbose + setVerbose (settings)
    Main logic for allowing verbose at different stages though out the script +

    Parameters:

    - sandbox + sandbox (callback[, env])
    Creates a sand box envorment and runs a callback in that sand box; provents global pollution +

    Parameters:

    @@ -240,7 +241,7 @@
    - loadModules + loadModules ()
    Loads the modules that are present in the index list @@ -261,24 +262,21 @@
    - error + error (err, callback)
    A more detailed replacement for the lua error function to allow for handlers to be added; repleaces default error so error can be used instead of Manager.error +

    Parameters:

    @@ -298,18 +296,53 @@
    - - names + + event (event_name, callback) +
    +
    + Event handler that modules can use, each module can register one function per event + + +

    Parameters:

    + + + + + +

    Usage:

    + + +
    +
    +

    Tables

    + +
    +
    + + Manager.event.names
    Sub set to Manger.event and acts as a coverter between event_name and event_id - @@ -319,7 +352,7 @@

    Usage:

    @@ -330,7 +363,7 @@
    generated by LDoc 1.4.6 -Last updated 2018-05-29 20:15:05 +Last updated 2018-05-29 20:54:20
    diff --git a/doc/modules/Game.html b/doc/modules/Game.html index 27aa7ddb..480765da 100644 --- a/doc/modules/Game.html +++ b/doc/modules/Game.html @@ -49,8 +49,8 @@
  • expcore.server
  • expcore.sync
  • FSM
  • -
  • modules.expgaminglib.control
  • -
  • defines.color
  • +
  • ExpGamingLib
  • +
  • Color
  • Game
  • string
  • table
  • @@ -224,7 +224,7 @@
    generated by LDoc 1.4.6 -Last updated 2018-05-29 20:15:05 +Last updated 2018-05-29 20:54:20
    diff --git a/doc/modules/defines.color.html b/doc/modules/defines.color.html index 38dc3a04..f30e1639 100644 --- a/doc/modules/defines.color.html +++ b/doc/modules/defines.color.html @@ -50,7 +50,7 @@
  • expcore.server
  • expcore.sync
  • FSM
  • -
  • modules.expgaminglib.control
  • +
  • ExpGamingLib
  • defines.color
  • Game
  • string
  • @@ -512,7 +512,7 @@
    generated by LDoc 1.4.6 -Last updated 2018-05-29 20:15:05 +Last updated 2018-05-29 20:19:50
    diff --git a/doc/modules/defines.time.html b/doc/modules/defines.time.html index fd176df3..a3200293 100644 --- a/doc/modules/defines.time.html +++ b/doc/modules/defines.time.html @@ -49,8 +49,8 @@
  • expcore.server
  • expcore.sync
  • FSM
  • -
  • modules.expgaminglib.control
  • -
  • defines.color
  • +
  • ExpGamingLib
  • +
  • Color
  • Game
  • string
  • table
  • @@ -141,7 +141,7 @@
    generated by LDoc 1.4.6 -Last updated 2018-05-29 20:15:05 +Last updated 2018-05-29 20:54:20
    diff --git a/doc/modules/expcore.commands.html b/doc/modules/expcore.commands.html index a553e593..ab6186c5 100644 --- a/doc/modules/expcore.commands.html +++ b/doc/modules/expcore.commands.html @@ -49,8 +49,8 @@
  • expcore.server
  • expcore.sync
  • FSM
  • -
  • modules.expgaminglib.control
  • -
  • defines.color
  • +
  • ExpGamingLib
  • +
  • Color
  • Game
  • string
  • table
  • @@ -129,7 +129,7 @@
    generated by LDoc 1.4.6 -Last updated 2018-05-29 20:15:05 +Last updated 2018-05-29 20:54:20
    diff --git a/doc/modules/expcore.gui.html b/doc/modules/expcore.gui.html index a6368064..afff68dd 100644 --- a/doc/modules/expcore.gui.html +++ b/doc/modules/expcore.gui.html @@ -49,8 +49,8 @@
  • expcore.server
  • expcore.sync
  • FSM
  • -
  • modules.expgaminglib.control
  • -
  • defines.color
  • +
  • ExpGamingLib
  • +
  • Color
  • Game
  • string
  • table
  • @@ -165,7 +165,7 @@
    generated by LDoc 1.4.6 -Last updated 2018-05-29 20:15:05 +Last updated 2018-05-29 20:54:20
    diff --git a/doc/modules/expcore.guiparts.center.html b/doc/modules/expcore.guiparts.center.html index ed110104..f57a9762 100644 --- a/doc/modules/expcore.guiparts.center.html +++ b/doc/modules/expcore.guiparts.center.html @@ -49,8 +49,8 @@
  • expcore.server
  • expcore.sync
  • FSM
  • -
  • modules.expgaminglib.control
  • -
  • defines.color
  • +
  • ExpGamingLib
  • +
  • Color
  • Game
  • string
  • table
  • @@ -283,7 +283,7 @@
    generated by LDoc 1.4.6 -Last updated 2018-05-29 20:15:05 +Last updated 2018-05-29 20:54:20
    diff --git a/doc/modules/expcore.guiparts.inputs.html b/doc/modules/expcore.guiparts.inputs.html index f8de31de..de43e3f5 100644 --- a/doc/modules/expcore.guiparts.inputs.html +++ b/doc/modules/expcore.guiparts.inputs.html @@ -49,8 +49,8 @@
  • expcore.server
  • expcore.sync
  • FSM
  • -
  • modules.expgaminglib.control
  • -
  • defines.color
  • +
  • ExpGamingLib
  • +
  • Color
  • Game
  • string
  • table
  • @@ -439,7 +439,7 @@
    generated by LDoc 1.4.6 -Last updated 2018-05-29 20:15:05 +Last updated 2018-05-29 20:54:20
    diff --git a/doc/modules/expcore.guiparts.left.html b/doc/modules/expcore.guiparts.left.html index ce4257f8..5fceed56 100644 --- a/doc/modules/expcore.guiparts.left.html +++ b/doc/modules/expcore.guiparts.left.html @@ -49,8 +49,8 @@
  • expcore.server
  • expcore.sync
  • FSM
  • -
  • modules.expgaminglib.control
  • -
  • defines.color
  • +
  • ExpGamingLib
  • +
  • Color
  • Game
  • string
  • table
  • @@ -186,7 +186,7 @@
    generated by LDoc 1.4.6 -Last updated 2018-05-29 20:15:05 +Last updated 2018-05-29 20:54:20
    diff --git a/doc/modules/expcore.guiparts.popup.html b/doc/modules/expcore.guiparts.popup.html index 987917ff..035361f7 100644 --- a/doc/modules/expcore.guiparts.popup.html +++ b/doc/modules/expcore.guiparts.popup.html @@ -49,8 +49,8 @@
  • expcore.server
  • expcore.sync
  • FSM
  • -
  • modules.expgaminglib.control
  • -
  • defines.color
  • +
  • ExpGamingLib
  • +
  • Color
  • Game
  • string
  • table
  • @@ -131,7 +131,7 @@
    generated by LDoc 1.4.6 -Last updated 2018-05-29 20:15:05 +Last updated 2018-05-29 20:54:20
    diff --git a/doc/modules/expcore.guiparts.toolbar.html b/doc/modules/expcore.guiparts.toolbar.html index cdbf2952..a2ee5fd1 100644 --- a/doc/modules/expcore.guiparts.toolbar.html +++ b/doc/modules/expcore.guiparts.toolbar.html @@ -49,8 +49,8 @@
  • expcore.server
  • expcore.sync
  • FSM
  • -
  • modules.expgaminglib.control
  • -
  • defines.color
  • +
  • ExpGamingLib
  • +
  • Color
  • Game
  • string
  • table
  • @@ -122,7 +122,7 @@
    generated by LDoc 1.4.6 -Last updated 2018-05-29 20:15:05 +Last updated 2018-05-29 20:54:20
    diff --git a/doc/modules/expcore.ranking.html b/doc/modules/expcore.ranking.html index d1d22f6e..dba445c8 100644 --- a/doc/modules/expcore.ranking.html +++ b/doc/modules/expcore.ranking.html @@ -49,8 +49,8 @@
  • expcore.server
  • expcore.sync
  • FSM
  • -
  • modules.expgaminglib.control
  • -
  • defines.color
  • +
  • ExpGamingLib
  • +
  • Color
  • Game
  • string
  • table
  • @@ -379,7 +379,7 @@
    generated by LDoc 1.4.6 -Last updated 2018-05-29 20:15:05 +Last updated 2018-05-29 20:54:20
    diff --git a/doc/modules/expcore.server.html b/doc/modules/expcore.server.html index 4dec0cb5..d79511d4 100644 --- a/doc/modules/expcore.server.html +++ b/doc/modules/expcore.server.html @@ -49,8 +49,8 @@
  • expcore.server
  • expcore.sync
  • FSM
  • -
  • modules.expgaminglib.control
  • -
  • defines.color
  • +
  • ExpGamingLib
  • +
  • Color
  • Game
  • string
  • table
  • @@ -564,7 +564,7 @@
    generated by LDoc 1.4.6 -Last updated 2018-05-29 20:15:05 +Last updated 2018-05-29 20:54:20
    diff --git a/doc/modules/expcore.sync.html b/doc/modules/expcore.sync.html index 74f4dd89..dc46d448 100644 --- a/doc/modules/expcore.sync.html +++ b/doc/modules/expcore.sync.html @@ -49,8 +49,8 @@
  • expcore.server
  • expcore.sync
  • FSM
  • -
  • modules.expgaminglib.control
  • -
  • defines.color
  • +
  • ExpGamingLib
  • +
  • Color
  • Game
  • string
  • table
  • @@ -535,7 +535,7 @@
    generated by LDoc 1.4.6 -Last updated 2018-05-29 20:15:05 +Last updated 2018-05-29 20:54:20
    diff --git a/doc/modules/string.html b/doc/modules/string.html index 2f757761..8119a1e6 100644 --- a/doc/modules/string.html +++ b/doc/modules/string.html @@ -49,8 +49,8 @@
  • expcore.server
  • expcore.sync
  • FSM
  • -
  • modules.expgaminglib.control
  • -
  • defines.color
  • +
  • ExpGamingLib
  • +
  • Color
  • Game
  • string
  • table
  • @@ -303,7 +303,7 @@
    generated by LDoc 1.4.6 -Last updated 2018-05-29 20:15:05 +Last updated 2018-05-29 20:54:20
    diff --git a/doc/modules/table.html b/doc/modules/table.html index ccf6d405..09446462 100644 --- a/doc/modules/table.html +++ b/doc/modules/table.html @@ -49,8 +49,8 @@
  • expcore.server
  • expcore.sync
  • FSM
  • -
  • modules.expgaminglib.control
  • -
  • defines.color
  • +
  • ExpGamingLib
  • +
  • Color
  • Game
  • string
  • table
  • @@ -1138,7 +1138,7 @@ some_func(1,2)
    generated by LDoc 1.4.6 -Last updated 2018-05-29 20:15:05 +Last updated 2018-05-29 20:54:20
    diff --git a/doc/scripts/control.lua.html b/doc/scripts/control.lua.html index ad99953a..d638ec17 100644 --- a/doc/scripts/control.lua.html +++ b/doc/scripts/control.lua.html @@ -50,8 +50,8 @@
  • expcore.server
  • expcore.sync
  • FSM
  • -
  • modules.expgaminglib.control
  • -
  • defines.color
  • +
  • ExpGamingLib
  • +
  • Color
  • Game
  • string
  • table
  • @@ -78,7 +78,7 @@
    generated by LDoc 1.4.6 -Last updated 2018-05-29 20:15:05 +Last updated 2018-05-29 20:54:20
    diff --git a/doc/scripts/index.lua.html b/doc/scripts/index.lua.html index 888d05bc..ac0f9c3b 100644 --- a/doc/scripts/index.lua.html +++ b/doc/scripts/index.lua.html @@ -50,8 +50,8 @@
  • expcore.server
  • expcore.sync
  • FSM
  • -
  • modules.expgaminglib.control
  • -
  • defines.color
  • +
  • ExpGamingLib
  • +
  • Color
  • Game
  • string
  • table
  • @@ -78,7 +78,7 @@
    generated by LDoc 1.4.6 -Last updated 2018-05-29 20:15:05 +Last updated 2018-05-29 20:54:20
    diff --git a/modules/ExpGamingLib/control.lua b/modules/ExpGamingLib/control.lua index 8be81b65..efd40bd5 100644 --- a/modules/ExpGamingLib/control.lua +++ b/modules/ExpGamingLib/control.lua @@ -63,7 +63,7 @@ end -- @tparam[opt=defines.colour.white] ?defines.color|string colour the colour of the text for the player, ingroned when printing to console -- @tparam[opt=game.player] LuaPlayer player the player that return will go to, if no game.player then returns to server function ExpLib.player_return(rtn,colour,player) - local colour = ExpLib.is_type(colour) == 'table' and colour or defines.color[colour] + local colour = ExpLib.is_type(colour) == 'table' and colour or defines.text_color[colour] ~= defines.color.white and defines.text_color[colour] or defines.color[colour] local player = player or game.player local function _return(callback,rtn) if ExpLib.is_type(rtn,'table') then diff --git a/modules/FactorioStdLib/color.lua b/modules/FactorioStdLib/color.lua index e2c32318..2fe1e8e8 100644 --- a/modules/FactorioStdLib/color.lua +++ b/modules/FactorioStdLib/color.lua @@ -32,9 +32,7 @@ defines = defines or {} --luacheck: ignore defines (This is used for testing loc -- @tfield Concepts.Color pink -- @tfield Concepts.Color purple -- @tfield Concepts.Color brown -defines.color = {} - -local colors = { +defines.color = { white = {r = 1.00, g = 1.00, b = 1.00}, black = {r = 0.00, g = 0.00, b = 0.00}, darkgrey = {r = 0.25, g = 0.25, b = 0.25}, @@ -55,7 +53,7 @@ local colors = { purple = {r = 0.60, g = 0.10, b = 0.60}, brown = {r = 0.60, g = 0.40, b = 0.10} } - +local colors = defines.color --- Returns white for dark colors or black for lighter colors. -- @tfield Concepts.Color green defines.color.black -- @tfield Concepts.Color grey defines.color.black @@ -76,9 +74,7 @@ local colors = { -- @tfield Concepts.Color pink defines.color.white -- @tfield Concepts.Color purple defines.color.white -- @tfield Concepts.Color red defines.color.white -defines.anticolor = {} - -local anticolors = { +defines.anticolor = { green = colors.black, grey = colors.black, lightblue = colors.black, @@ -109,8 +105,7 @@ local anticolors = { -- @tfield Concepts.Color blue defines.color.lightblue -- @tfield Concepts.Color yellow defines.color.orange -- @tfield Concepts.Color pink defines.color.purple -defines.lightcolor = {} -local lightcolors = { +defines.lightcolor = { white = colors.lightgrey, grey = colors.darkgrey, lightgrey = colors.grey, @@ -129,8 +124,7 @@ local lightcolors = { -- @tfield Concepts.Color med -- @tfield Concepts.Color high -- @tfield Concepts.Color crit -defines.text_color = {} -local text_color = { +defines.text_color = { info = {r = 0.21, g = 0.95, b = 1.00}, bg = {r = 0.00, g = 0.00, b = 0.00}, low = {r = 0.18, g = 0.77, b = 0.18}, @@ -139,76 +133,27 @@ local text_color = { crit = {r = 1.00, g = 0.00, b = 0.00} } +-- metatable remade by cooldude local _mt = { - color = { - __index = function(_, c) - return colors[c] - and { r = colors[c]['r'], g=colors[c]['g'], b=colors[c]['b'], a = colors[c]['a'] } - or { r = 1, g = 1, b = 1, a = 1 } - end, - __pairs = function() - local k = nil - local c = colors - return function() - local v - k, v = next(c, k) - return k, (v and {r = v['r'], g = v['g'], b = v['b'], a = v['a']}) or nil - end - end - }, - anticolor = { - __index = function(_, c) - return anticolors[c] - and { r = anticolors[c]['r'], g=anticolors[c]['g'], b=anticolors[c]['b'], a = anticolors[c]['a'] } - or { r = 1, g = 1, b = 1, a = 1 } - end, - __pairs = function() - local k = nil - local c = anticolors - return function() - local v - k, v = next(c, k) - return k, (v and {r = v['r'], g = v['g'], b = v['b'], a = v['a']}) or nil - end - end - }, - lightcolor = { - __index = function(_, c) - return lightcolors[c] - and { r = lightcolors[c]['r'], g=lightcolors[c]['g'], b=lightcolors[c]['b'], a = lightcolors[c]['a'] } - or { r = 1, g = 1, b = 1, a = 1 } - end, - __pairs = function() - local k = nil - local c = lightcolors - return function() - local v - k, v = next(c, k) - return k, (v and {r = v['r'], g = v['g'], b = v['b'], a = v['a']}) or nil - end - end - }, - text_color = { -- added by cooldude2606 - __index = function(_, c) - return text_color[c] - and { r = text_color[c]['r'], g=text_color[c]['g'], b=text_color[c]['b'], a = text_color[c]['a'] } - or { r = 1, g = 1, b = 1, a = 1 } - end, - __pairs = function() - local k = nil - local c = text_color - return function() - local v - k, v = next(c, k) - return k, (v and {r = v['r'], g = v['g'], b = v['b'], a = v['a']}) or nil - end - end - } + __index=function(tbl,key) + return rawget(tbl,tostring(key):lower()) or rawget(defines.color,'white') + end, + __pairs=function(tbl) + return function() + local v + k, v = next(tbl, k) + return k, (v and {r = v['r'], g = v['g'], b = v['b'], a = v['a']}) or nil + end, tbl, nil + end, + __eq=function(tbl1,tbl2) + return tbl1.r == tbl2.r and tbl1.g == tbl2.g and tbl1.b == tbl2.b and tbl1.a == tbl2.a + end } -setmetatable(defines.color, _mt.color) -setmetatable(defines.anticolor, _mt.anticolor) -setmetatable(defines.text_color, _mt.text_color) -setmetatable(defines.lightcolor, _mt.lightcolor) + +setmetatable(defines.color, _mt) +setmetatable(defines.anticolor, _mt) +setmetatable(defines.text_color, _mt) +setmetatable(defines.lightcolor, _mt) local Color = {} --luacheck: allow defined top diff --git a/modules/FactorioStdLib/load.lua b/modules/FactorioStdLib/load.lua deleted file mode 100644 index 0ee0dc47..00000000 --- a/modules/FactorioStdLib/load.lua +++ /dev/null @@ -1,36 +0,0 @@ ---[[ -Explosive Gaming - -This file can be used with permission but this and the credit below must remain in the file. -Contact a member of management on our discord to seek permission to use our code. -Any changes that you may make to the code are yours but that does not make the script yours. -Discord: https://discord.gg/r6dC2uK -]] - ---[[ -StdLib - -This file allow you to only require this one file to return the diffent libarys. -This file will return a function which can be used to access only the part you want. -Pass a table with the names of the objects you want and it will be return in that order -]] - -local StdLib = {} - -require('table') -require('string') -require('time') -StdLib.Color = require('color') -StdLib.Game = require('game') -StdLib.Event = require('event') - -return function(rtn) - local _return = {} - for _,name in pairs(rtn) do - if StdLib[name] then - verbose('StdLib Extraction: '..name) - table.insert(_return,StdLib[name]) - end - end - return unpack(_return) -end \ No newline at end of file diff --git a/modules/FactorioStdLib/softmod.json b/modules/FactorioStdLib/softmod.json index db47a8a3..98acc3a7 100644 --- a/modules/FactorioStdLib/softmod.json +++ b/modules/FactorioStdLib/softmod.json @@ -6,7 +6,51 @@ "version": "0.8.0", "location": "nil", "submodules": { - + "Color": { + "name": "Color", + "module": "Color", + "description": "A defines module for retrieving colors by name.", + "keywords": ["Standard Library","Lib","StdLib","Color","Extends"], + "version": "0.8.0", + "location": "color", + "dependencies": {} + }, + "Game": { + "name": "Game", + "module": "game", + "description": "The game module.", + "keywords": ["Standard Library","Lib","StdLib","Game","Extends"], + "version": "0.8.0", + "location": "game", + "dependencies": {} + }, + "String": { + "name": "String", + "module": "string", + "description": "Extends Lua 5.2 string.", + "keywords": ["Standard Library","Lib","StdLib","String","Extends"], + "version": "0.8.0", + "location": "string", + "dependencies": {} + }, + "Table": { + "name": "Table", + "module": "table", + "description": "Extends Lua 5.2 table.", + "keywords": ["Standard Library","Lib","StdLib","Table","Extends"], + "version": "0.8.0", + "location": "table", + "dependencies": {} + }, + "Time": { + "name": "Time", + "module": "Time", + "description": "A defines module for retrieving the number of ticks in 1 unit of time.", + "keywords": ["Standard Library","Lib","StdLib","Time","Extends"], + "version": "0.8.0", + "location": "time", + "dependencies": {} + } }, "author": "Afforess", "contact": "https://github.com/Afforess/Factorio-Stdlib/issues", diff --git a/modules/FactorioStdLib/string.lua b/modules/FactorioStdLib/string.lua index b151e34a..27a3aaed 100644 --- a/modules/FactorioStdLib/string.lua +++ b/modules/FactorioStdLib/string.lua @@ -1,6 +1,6 @@ --- Extends Lua 5.2 string. --- @module string --- @see string +-- @module String +-- @alias string -- luacheck: globals string (Allow mutating string) diff --git a/modules/FactorioStdLib/table.lua b/modules/FactorioStdLib/table.lua index 958cb21b..b3229d1f 100644 --- a/modules/FactorioStdLib/table.lua +++ b/modules/FactorioStdLib/table.lua @@ -1,6 +1,6 @@ --- Extends Lua 5.2 table. --- @module table --- @see table +-- @module Table +-- @alias table -- luacheck: globals table (Allow mutating global table) diff --git a/modules/FactorioStdLib/time.lua b/modules/FactorioStdLib/time.lua index b3b520cb..a7d9a128 100644 --- a/modules/FactorioStdLib/time.lua +++ b/modules/FactorioStdLib/time.lua @@ -1,6 +1,7 @@ --- A defines module for retrieving the number of ticks in 1 unit of time. -- Extends the Factorio defines table. --- @module defines.time +-- @module Time +-- @alias defines.time -- @usage require('stdlib/defines/time') -- defines table is automatically required in all mod loading stages. diff --git a/modules/index.lua b/modules/index.lua index 2dabc4dc..6fd4b693 100644 --- a/modules/index.lua +++ b/modules/index.lua @@ -2,4 +2,9 @@ -- @script index.lua return { ['ExpLib']='/modules/ExpGamingLib/control', + ['Game']='/modules/FactorioStdLib/game', + ['Time']='/modules/FactorioStdLib/time', + ['Color']='/modules/FactorioStdLib/color', + ['table']='/modules/FactorioStdLib/table', + ['string']='/modules/FactorioStdLib/string', } \ No newline at end of file