[2.0.20] Crash to desktop when generating modded surface.

Post your bugs and problems so we can fix them.
hopefuldecay
Burner Inserter
Burner Inserter
Posts: 8
Joined: Fri Oct 25, 2024 5:47 pm
Contact:

[2.0.20] Crash to desktop when generating modded surface.

Post by hopefuldecay »

A friend of mine is working on a mod, and when she tried changing something in the map generation related to making lava only spawn above a certain elevation, the game crashes to desktop when generating the surface.
Attached are a zip file containing the mod and the log file for the crash.

Expectation: Mod related issue should give an in-game error.
Result: Game crashes to desktop
How to reproduce: Enable the mod, go to start a new game and click "preview surface" then switch to Helioss on the dropdown.

Further information:
The part of the mod that was causing the crash seems to be things related to elevation_threshold.

Code: Select all

local elevation_threshold = 100
-- Define an elevation threshold for lava generation
  {
    type = "noise-expression",
    name = "vulcanus_hairline_cracks",
    expression = "vulcanus_plasma(15223, 0.3 * vulcanus_cracks_scale, 0.6 * vulcanus_cracks_scale, 0.3, 0.7)\n" ..
                 "* clamp(vulcanus_elev - elevation_threshold, 0, 1)"
  },
  {
    type = "noise-expression",
    name = "vulcanus_flood_cracks_a",
    expression = "lerp(min(vulcanus_plasma(7543, 2 * vulcanus_cracks_scale, 3.5 * vulcanus_cracks_scale, 0.4, 0.8),\n" ..
                 "vulcanus_plasma(7443, 1.2 * vulcanus_cracks_scale, 2.5 * vulcanus_cracks_scale, 0.3, 0.7)),\n" ..
                 "1,\n" ..
                 "clamp(vulcanus_detail_noise(241, 1.5 * vulcanus_cracks_scale, 2, 0.2), 0, 1))\n" ..
                 "* clamp(vulcanus_elev - elevation_threshold, 0, 1)"
  },
  {
    type = "noise-expression",
    name = "vulcanus_flood_cracks_b",
    expression = "lerp(1,\n" ..
                 "min(vulcanus_plasma(12223, 1.8 * vulcanus_cracks_scale, 2.5 * vulcanus_cracks_scale, 0.3, 0.6),\n" ..
                 "vulcanus_plasma(152, 0.9 * vulcanus_cracks_scale, 1.3 * vulcanus_cracks_scale, 0.2, 0.5)) - 0.4,\n" ..
                 "clamp(0.1 + vulcanus_detail_noise(821, 4 * vulcanus_cracks_scale, 2, 0.3), 0, 1))\n" ..
                 "* clamp(vulcanus_elev - elevation_threshold, 0, 1)"
  },
  {
    type = "noise-expression",
    name = "vulcanus_flood_paths",
    expression = "0.2\n" ..
                 "- vulcanus_plasma(1543, 1 * vulcanus_cracks_scale, 2.5 * vulcanus_cracks_scale, 0.4, 0.8)\n" ..
                 "+ min(0, vulcanus_detail_noise(121, vulcanus_cracks_scale * 3, 2, 0.4))\n" ..
                 "* clamp(vulcanus_elev - elevation_threshold, 0, 1)"
  },
  {
    type = "noise-expression",
    name = "vulcanus_flood_basalts_func",
    expression = "min(max(vulcanus_flood_cracks_a - 0.125, vulcanus_flood_paths), vulcanus_flood_cracks_b)\n" ..
                 "+ 0.3 * min(0.5, vulcanus_hairline_cracks)\n" ..
                 "+ clamp(vulcanus_cracks_scale - 0.5, 0, 1) * -1\n" ..
                 "* clamp(vulcanus_elev - elevation_threshold, 0, 1)"
  },
  {
    type = "noise-expression",
    name = "vulcanus_water_fill",
    expression = "clamp(-vulcanus_flood_basalts_func, 0, 1) * 0.5\n" ..
                 "* clamp(vulcanus_elev - elevation_threshold, 0, 1)"
  },
  {
    type = "noise-expression",
    name = "vulcanus_volcanic_pockets",
    expression = "clamp(vulcanus_plasma(2341, 3, 6, 0.5, 1) - 0.6, 0, 1) * 0.8\n" ..
                 "* clamp(vulcanus_elev - elevation_threshold, 0, 1)"
Thanks!

Edit: Added a working version of the mod without the elevation stuff, in case it's helpful for testing; 0.0.61 causes the crash, 0.0.67 does not.
Attachments
helioss_0.0.67.zip
(1.51 MiB) Downloaded 2 times
helioss_0.0.61.zip
(1.51 MiB) Downloaded 3 times
factorio-current.log
(1.07 MiB) Downloaded 4 times
Post Reply

Return to “Bug Reports”