Page 1 of 1

Version 0.13.18

Posted: Thu Aug 25, 2016 5:06 pm
by FactorioBot
  • Changes
    • Changed train wait conditions to use standard boolean precedence for evaluation, instead of a simple left to right accumulative evaluation.
  • Balancing
    • Increased tank machine gun range to 20.
  • Bugfixes
    • Fixed console command warning not sticking through save-load. (31132)
    • Fixed that vehicle machine guns would show in the logistics request and inventory filter selections.
    • Fixed crash when number animation variations of unit-spawner entity is reduced. (31205)
    • Fixed clearing blueprints didn't clear the label. (28610)
    • Fixed crash when removing entities that had active alerts. (31247)
    • Fixed that sending random garbage to the RCON port could crash Factorio. (31185)
    • Fixed GUI size issues with modded recipes that have a ton of effects. (30654)
    • Fixed script errors with tight spot level 5. (29724)
    • Fixed the market entity not migrating/handling removed items it was offering. (30875)
    • Fixed sound settings not applying when pressing escape. (30319)
    • Fixed a crash that would happen after changing UI scale with the inventory open. (30983)
    • Fixed deconstruction would reset the build rotation value. (31466)
    • Fixed copy-paste between inventory sizes applying the inventory restriction oddly. (31473)
    • fixed game.regenerate_entitiy() not working at all. (31470)
    • Fixed that it was possible to create an assembling machine with zero energy usage. (31465)
  • Modding
    • Fixed crash when trying to connect wires to entities with 0 wire connection distance. (31499)
  • Scripting
    • Fixed LuaSurface::map_gen_settings.shift not working. (31143)
    • Fixed chunk positions would get improperly rounded instead of floored. (31092)
    • Added LuaConstantCombinatorControlBehavior::enabled read/write.
    • Added upper limit to resolution parameter of LuaGameScript::take_screenshot function. Limit for width and height is 16384.
    • Added LuaStyle::visible read/write.
Use the automatic updater if you can (check experimental updates in other settings) or download full installation at https://www.factorio.com/download/stable.

Re: Version 0.13.18

Posted: Thu Aug 25, 2016 5:24 pm
by CorBlimey
are we going to get 'brackets' then to allow AND to be evaluated after OR subclauses?

Re: Version 0.13.18

Posted: Thu Aug 25, 2016 5:59 pm
by Rseding91
CorBlimey wrote:are we going to get 'brackets' then to allow AND to be evaluated after OR subclauses?
no

Re: Version 0.13.18

Posted: Thu Aug 25, 2016 6:00 pm
by The Real C
CorBlimey wrote:are we going to get 'brackets' then to allow AND to be evaluated after OR subclauses?
As far as I can tell, there's no need for this, as any logical set of conditions should be possible to express in a clause-less, standard-boolean-precedence form.

For example,

[A OR B OR C] AND [D OR E OR F]

is equivalent to, without brackets

A AND D OR A AND E OR A AND F OR B AND D OR B AND E OR B AND F OR C AND D OR C AND E OR C AND F

Certainly lengthy, but logically intuitive and formally clear.

In my opinion, this change is absolutely a great improvement - especially for those who don't want to get into formal logics to manage their trains, but just want the train to "Do as I tell you, dangit".

Re: Version 0.13.18

Posted: Thu Aug 25, 2016 7:07 pm
by aubergine18
Added LuaStyle::visible read/write.
Sweeeet!

Re: Version 0.13.18

Posted: Thu Aug 25, 2016 8:34 pm
by dragontamer5788
FactorioBot wrote: [*]Changed train wait conditions to use standard boolean precedence for evaluation, instead of a simple left to right accumulative evaluation.
This is provably complete across propositional logic. So any condition can be specified by enough "AND" and "OR" chains.

Re: Version 0.13.18

Posted: Thu Aug 25, 2016 8:39 pm
by steinio
Klonan wrote: Yes 0.13.18 is stable :)
Missed it in the changelog ;)

Re: Version 0.13.18

Posted: Fri Aug 26, 2016 9:30 am
by Deadly-Bagel
FactorioBot wrote:
  • Changes
    • Changed train wait conditions to use standard boolean precedence for evaluation, instead of a simple left to right accumulative evaluation.
Could someone explain this change? I have some programming and scripting background and I still don't really understand it =/

My educated guess would be that instead of evaluating every condition it only calculates those conditions that can still affect the outcome - eg, if condition is A and B or C it will check A, if A is false it will skip straight to checking C since the outcome of B is irrelevant.

Re: Version 0.13.18

Posted: Fri Aug 26, 2016 10:29 am
by FrozenOne
((((((A and B) and C) or D) and E) or F) or G) changed to (A and B and C) or (D and E) or (F) or (G)

From left asociativity to disjunctive normal form.

Re: Version 0.13.18

Posted: Fri Aug 26, 2016 10:38 am
by hitzu
The Real C wrote: [A OR B OR C] AND [D OR E OR F]

is equivalent to, without brackets

A AND D OR A AND E OR A AND F OR B AND D OR B AND E OR B AND F OR C AND D OR C AND E OR C AND F
So this is equivalent to
(A+B+C)*(D+E+F)=AD + AE + AF + BD + BE + BF + CD + CE + CF
Right?

Re: Version 0.13.18

Posted: Fri Aug 26, 2016 10:52 pm
by The Real C
hitzu wrote:
The Real C wrote: [A OR B OR C] AND [D OR E OR F]

is equivalent to, without brackets

A AND D OR A AND E OR A AND F OR B AND D OR B AND E OR B AND F OR C AND D OR C AND E OR C AND F
So this is equivalent to
(A+B+C)*(D+E+F)=AD + AE + AF + BD + BE + BF + CD + CE + CF
Right?
Yep. "AND" is equivalent to multiplication, "OR" to addition (with some broad acceptance of what "equivalent" means).