Version 0.15.32

Information about releases and roadmap.

Version 0.15.32

Postby FactorioBot » Wed Aug 02, 2017 11:52 am

Bugfixes

  • Fixed compatibility problem with several antivirus programs. (51375)
  • Fixed seed in map-gen-settings.json would be ignored when creating map on headless server. (51254)
  • Fixed that connecting to a multiplayer game with a large blueprint library might be difficult. (50898)
  • Fixed that using capsules would open an Entity's GUI when clicked. (51123)
  • Fixed that --window-size=maximized wouldn't work on Linux. (50977)
  • Fixed that changing reactor consumption(production) values through a mod didn't update its production until rebuilt. (51251)
  • Fixed that blueprints would sometimes stop transferring.
  • Fixed crash when opening item/container and at the same time the controller is set to some that doesn't have inventory. (51349)
  • Fixed 3 possible crashes related to getting malformed network packet over the network.
  • Maybe fixed a biter path cache-related crash. (51183)
  • Fixed that bad_alloc and similar low level erros were catched internally, so we couldn't get proper stack trace of those.
  • Limited the size of a train chart tag when the map is zoomed in. (51401)
  • Possible rare crash fix related to building rails and viewing preview of entities right after that. (51322)
  • Limited technology cost multiplier to maximum of 1000. (51453)

Scripting

  • The log method also specifies the mod that wrote that, not only script file.
  • Added LuaEntityPrototype::distribution_effectivity read.
  • Added LuaEntityPrototype::time_to_live read.
  • Added LuaControl::following_robots read.
  • Added LuaPlayer::pipette_entity().
  • Added LuaEntity::can_be_destroyed().
  • Added script_raised_destroy reserved event ID.
  • Added script_raised_built reserved event ID.
  • Added script_raised_revive reserved event ID.
  • Changed LuaEntity::time_to_live to also work for combat robots.
  • Changed LuaEntityPrototype::fluid_capacity read to also work on fluid-wagon.
  • Changed LuaEntityPrototype::turret_range read returns nil instead of error if not turret.
  • Changed LuaEntity::train to return nil if entity is not rolling stock.
  • Added LuaEntityPrototype::explosion_beam read.
  • Added LuaEntityPrototype::explosion_rotate read.


Use the automatic updater if you can (check experimental updates in other settings) or download full installation at http://www.factorio.com/download/experimental.
User avatar
FactorioBot
Fast Inserter
Fast Inserter
 
Posts: 119
Joined: Tue May 12, 2015 1:48 pm

Re: Version 0.15.32

Postby Optera » Wed Aug 02, 2017 1:01 pm

The log method also specifies the mod that wrote that, not only script file.

Thanks, this makes tracking down left over debug logs in other mods is a lot easier.
My Mods:
User avatar
Optera
Smart Inserter
Smart Inserter
 
Posts: 1268
Joined: Sat Jun 11, 2016 6:41 am
Location: Österreich

Re: Version 0.15.32

Postby kovarex » Wed Aug 02, 2017 1:15 pm

Optera wrote:
The log method also specifies the mod that wrote that, not only script file.

Thanks, this makes tracking down left over debug logs in other mods is a lot easier.

That was the point, there was a single line in a single mod that dumped all the data into a log file. Log files were suddenly 25MB large :)
kovarex
Factorio Staff
Factorio Staff
 
Posts: 6313
Joined: Wed Feb 06, 2013 12:00 am
Location: Prague

Re: Version 0.15.32

Postby Mooncat » Wed Aug 02, 2017 1:25 pm

Added script_raised_destroy reserved event ID.
Added script_raised_built reserved event ID.
Added script_raised_revive reserved event ID.


Ah, so these are the reserved event IDs...
I'm not sure about the usability now, after reading the document.
The problem is that they don't have fixed parameters. We can say they must contain "entity" because they are clearly about entities, but we are not sure about "player_index" and other probably useful parameters.
Different mods may have different standard.

Therefore, I would like to suggest adding an optional Boolean parameter "raise_event" in LuaSurface.create_entity, LuaEntity::destroy() and LuaEntity::revive(). If it is true, the corresponding script_raised_... event will be raised, with defined parameters. That way we can expect what parameters they contain.
But we may also need to add more optional parameters to provide more information, like "player_index", "cause", etc.
User avatar
Mooncat
Smart Inserter
Smart Inserter
 
Posts: 1163
Joined: Wed May 18, 2016 4:55 pm

Re: Version 0.15.32

Postby Nexela » Wed Aug 02, 2017 7:04 pm

Mooncat wrote:Ah, so these are the reserved event IDs...
I'm not sure about the usability now, after reading the document.
The problem is that they don't have fixed parameters. We can say they must contain "entity" because they are clearly about entities, but we are not sure about "player_index" and other probably useful parameters.
Different mods may have different standard.

Therefore, I would like to suggest adding an optional Boolean parameter "raise_event" in LuaSurface.create_entity, LuaEntity::destroy() and LuaEntity::revive(). If it is true, the corresponding script_raised_... event will be raised, with defined parameters. That way we can expect what parameters they contain.
But we may also need to add more optional parameters to provide more information, like "player_index", "cause", etc.


These are provided solely to provide a consistent event ID to use without other mods having to do a bunch of remote.calls to get the event ID for every mod they want to listen too for something that is very similar. And any mod listening for these events would want to check if the variable is present to begin with. 95% of the time raising on_built_entity will be better than using built/revived script event IDs.

As for destroy there is no on_destroyed_event because the entity is destroyed so there would be nothing to pass and in the majority of mods it doesn't matter that something was destroyed.

Similar to how mods are doing it now by passing in stuff like event.revived=true and event.mod_name="my-mod" it is up to mod authors to come up with a standard to use.
Nexela
Smart Inserter
Smart Inserter
 
Posts: 1666
Joined: Wed May 25, 2016 11:09 am

Re: Version 0.15.32

Postby Mooncat » Thu Aug 03, 2017 1:52 am

Oops, I forgot again that entity being invalid once it is destroyed.
Now I understand that the event IDs are here to overcome the increased difficulty for using remote.call since 0.15.27. It sounds fair. Thanks! :D
User avatar
Mooncat
Smart Inserter
Smart Inserter
 
Posts: 1163
Joined: Wed May 18, 2016 4:55 pm


Return to Releases

Who is online

Users browsing this forum: Akhiros, NorwegianBlue and 10 guests