Surfaces Reloaded deprecated

by Danacus

Reach up to the skies or dig deep below, expand your base vertically... If you're into that kind of thing. Original by Simcra, ported to 0.14-0.16 by Erdbeerbaer. Port to 0.17 started by DeltaNedas and continued by Danacus.

3 years ago
0.17 - 1.1
599

b 0.18.17 Surfaces_Reloaded (1.1.2) crash when breaking underground wall

4 years ago

Crash when breaking underground wall in MP.

10724.193 Error MainLoop.cpp:1202: Exception at tick 26737695: The mod Surfaces_Reloaded (1.1.2) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Surfaces_Reloaded::on_chunk_generated (ID 12)
Unknown tile name: underground-wall
stack traceback:
Surfaces_Reloaded/script/lib/api.lua:475: in function 'set_tiles'
Surfaces_Reloaded/script/events.lua:130: in function 'on_chunk_generated'
Surfaces_Reloaded/control.lua:137: in function <Surfaces_Reloaded/control.lua:137>
stack traceback:
[C]: in function 'set_tiles'
Surfaces_Reloaded/script/lib/api.lua:475: in function 'set_tiles'
Surfaces_Reloaded/script/events.lua:130: in function 'on_chunk_generated'
Surfaces_Reloaded/control.lua:137: in function <Surfaces_Reloaded/control.lua:137>
10724.193 Error ServerMultiplayerManager.cpp:92: MultiplayerManager failed: "The mod Surfaces_Reloaded (1.1.2) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Surfaces_Reloaded::on_chunk_generated (ID 12)
Unknown tile name: underground-wall
stack traceback:
Surfaces_Reloaded/script/lib/api.lua:475: in function 'set_tiles'
Surfaces_Reloaded/script/events.lua:130: in function 'on_chunk_generated'
Surfaces_Reloaded/control.lua:137: in function <Surfaces_Reloaded/control.lua:137>
stack traceback:
[C]: in function 'set_tiles'
Surfaces_Reloaded/script/lib/api.lua:475: in function 'set_tiles'
Surfaces_Reloaded/script/events.lua:130: in function 'on_chunk_generated'
Surfaces_Reloaded/control.lua:137: in function <Surfaces_Reloaded/control.lua:137>"

4 years ago

Are you using any other mods?

4 years ago

I have ~100 of other mods. Removing Dectorio eliminate problem. Would it be possible to add compatibility?

4 years ago

I will look into it, you're not the first one to report such compatibility issue.

4 years ago

Thanks for figuring out which mod is conflicting

4 years ago

That error was on existing map with few existing floors.

On new map, it gives error on placing underground ladder:

1153.921 Error MainLoop.cpp:1202: Exception at tick 4002: The mod Surfaces_Reloaded (1.1.2) caused a non-recoverable error.
Please report this error to the mod author.

Error while running event Surfaces_Reloaded::on_tick (ID 0)
Unknown tile name: underground-dirt
stack traceback:
Surfaces_Reloaded/script/lib/api.lua:475: in function 'set_tiles'
Surfaces_Reloaded/script/lib/pair-util.lua:193: in function 'clear_ground'
Surfaces_Reloaded/script/lib/pair-util.lua:117: in function 'create_paired_entity'
Surfaces_Reloaded/script/events.lua:426: in function '?'
Surfaces_Reloaded/script/events.lua:61: in function 'on_tick'
Surfaces_Reloaded/control.lua:148: in function <Surfaces_Reloaded/control.lua:148>
stack traceback:
[C]: in function 'set_tiles'
Surfaces_Reloaded/script/lib/api.lua:475: in function 'set_tiles'
Surfaces_Reloaded/script/lib/pair-util.lua:193: in function 'clear_ground'
Surfaces_Reloaded/script/lib/pair-util.lua:117: in function 'create_paired_entity'
Surfaces_Reloaded/script/events.lua:426: in function '?'
Surfaces_Reloaded/script/events.lua:61: in function 'on_tick'
Surfaces_Reloaded/control.lua:148: in function <Surfaces_Reloaded/control.lua:148>

4 years ago

I'm afraid this might be out of my control. Other mods like Fatorissimo2 have similar issues due to the game having a limit of 255 tiles.

To quote the maintainer of Factorissimo2:
"It's due to the game running out of available floor tile slots. There are only 255 floor tile slots available in total, for the base game and all mods to share. Factorissimo2 needs some, and obviously your tile mods need some, and for some reason Factorissimo2's floor tiles have been deleted to make space for the other mods' tiles. I'm pretty sure that vanilla doesn't delete tiles over 255 (it should just produce a load error once you run over the tile limit), so there must be something else at play here."

What you can try is disable features like colored concrete in Dectorio, to make place for other tiles. Let me know if that fixes thing for you.

4 years ago

It didn't helped. Just too many things in other mods.
It could help, if mod will create these tiles instances at game load or map start. Now I have to generate both surfaces to validate for error (and try to add/remove mods).

4 years ago
(updated 4 years ago)

Tiles are defined in the data stage. Only 255 tiles can be defined. The data table is created when loading the game and cannot be modified during runtime.

4 years ago

Are you using Alien Biomes by chance? It is known to remove other mods tiles to make place for its own.

4 years ago

I think the problem, is not that there are too many entities, but because alienbiomes/dectorio remove some entity at startup.

Here is possibly related commit for factorio... but I didn't find any place where I could inject similar patch.
https://github.com/MagmaMcFry/Factorissimo2/commit/cc6957e90c492537830c2b06aeedebd43de50792

4 years ago

I personally think this is an issue with Alien Biomes (or the game) and not with my mod. I might add a similar fix, but I'm a bit annoyed, because this isn't my fault, it's Alien Biomes intentionally breaking other mods. What if we would all mindlessly start removing tiles and entities added by other mods? That's inappropriate in my opinion.

In my opinion, a better option would be for factorio to raise the limit. I think this "battle for tiles" where you have to hack your tiles in priority lists of other mods is kind of stupid. I'm tempted to just mark this mod incompatible with Alien Biomes, because I'm a bit triggered right now.

I'm sorry for the rant, please don't feel offended. Thank you for reporting the issue.
I'll probably inject a similar patch like you proposed.

4 years ago

I've uploaded a fix. Could you please let me know if this fixes the issue?

4 years ago

It is working without any problem. Thank you very much!

I agree that it is not an issue with your mod. One option that I saw on mod portal - are special compatibility mods, that have small fixes, and not own by either of mod developers.

4 years ago

Yeah, I've been thinking about that, but how would you decide which mod gets which "tile slots"?

I'm glad to hear it's working though, I didn't really test it.

New response