[BUG] Biome tool lua error in 0.37

Discussion in 'World Editor' started by AlexKidd71, Sep 19, 2025.

  1. AlexKidd71

    AlexKidd71
    Expand Collapse

    Joined:
    Mar 16, 2022
    Messages:
    609
    I just tried to place some trees with biome tool in 0.37 but the tool window is just an empty black hole.
    Could someone do a quick test if it’s working? Thanks in advance.
     
  2. AlexKidd71

    AlexKidd71
    Expand Collapse

    Joined:
    Mar 16, 2022
    Messages:
    609
    I see some lua errors in the log for the world editor related to biome tool. Here is the most obvious trying to set bool values with the SetInt function which leads to a type error:

    Code:
     68.18035|E|GameEngineLua:Exception| [string "lua/common/extensions/ui/imgui_gen_luaintf.lua"]:1933: bad argument #2 to 'SetInt' (number expected, got boolean)
    =============== Stack Traceback >> START >>
    (1)  C function 'function: 0x01ddfdd2e3f0'
    (2) method C function 'SetInt'
    (3) Lua field 'ImGuiStorage_SetInt' at line 1933 of chunk 'lua/common/extensions/ui/imgui_gen_luaintf.lua'
      ImGuiStorage_ctx = userdata: (...)
      ImGuiID_key = number: 2.55986e+08
      int_val = boolean: true
    (4) Lua upvalue 'setHeaderState' at line 2991 of chunk 'lua/ge/extensions/editor/biomeTool.lua'
      label = string[15]: "Area Layer 1##1"
      state = boolean: true
      context = userdata: (...)
      id = number: 2.55986e+08
    (5) Lua upvalue 'drawLayersListWithType' at line 2999 of chunk 'lua/ge/extensions/editor/biomeTool.lua'
      layerType = number: 1
      layers = table: 0x01ddcec0ba00  {1:table: 0x01ddfee70f28}
      (for generator) = C function: builtin#6
      (for state) = table: 0x01ddcec0ba00  {1:table: 0x01ddfee70f28}
      (for control) = number: 1
      _ = number: 1
      layer = table: 0x01ddfee70f28  {lassoAreas:table: 0x01ddfee70fd8, layerName:Area Layer 1, layerType:1, layerID:1}
      (*temporary) = Lua function '?' (defined at line 747 of chunk lua/common/extensions/ui/imgui_gen_luaintf.lua)
      (*temporary) = number: 0
      (*temporary) = string[15]: "Area Layer 1##1"
    (6) Lua upvalue 'drawBiomeAreasLayersList' at line 3265 of chunk 'lua/ge/extensions/editor/biomeTool.lua'
      buttonSize = userdata: (...)
      layers = table: 0x01ddcec0b970  {1:table: 0x01ddfee70f28}
    (7) Lua upvalue 'drawMainPanel' at line 3367 of chunk 'lua/ge/extensions/editor/biomeTool.lua'
      cursorPos = userdata: (...)
      tabIconWidth = number: 23.204
      tabIconSize = userdata: (...)
      framePadding = userdata: (...)
    (8) Lua upvalue 'drawWindow' at line 3381 of chunk 'lua/ge/extensions/editor/biomeTool.lua'
    (9) Lua local 'func' at line 3530 of chunk 'lua/ge/extensions/editor/biomeTool.lua'
      forest = userdata: (...)
    (10) Lua field 'hook' at line 825 of chunk 'lua/common/extensions.lua'
      funcName = string[11]: "onEditorGui"
      funcList = table: 0x01dd8dfb62a8  {1:function: 0x01ddfe24b8f8, 2:function: 0x01dd3c9272c0, 3:function: 0x01ddfe44d970, 4:function: 0x01ddcea39588, 5:function: 0x01dd3c9337b8, 6:function: 0x01ddfd13ec50, 7:function: 0x01dd3c6de7d0, 8:function: 0x01ddfd183368, 9:function: 0x01ddfcfe0778, 10:function: 0x01ddfd35e038, 11:function: 0x01ddfd218cb8, 12:function: 0x01ddfd27f6e0, 13:function: 0x01ddfd3ff8a0, 14:function: 0x01ddfd2c7008, 15:function: 0x01ddfde1aae0, 16:function: 0x01ddfde40cc8, 17:function: 0x01ddfe05a318, 18:function: 0x01ddfe06d180, 19:function: 0x01ddfee95188, 20:function: 0x01ddfd6fae90, 21:function: 0x01ddfdae7f20, 22:function: 0x01ddfd261590, 23:function: 0x01ddd9103f58, 24:function: 0x01ddfe2f69f8, 25:function: 0x01ddff1d5d60 (more...)}
      (for generator) = C function: builtin#6
      (for state) = table: 0x01dd8dfb62a8  {1:function: 0x01ddfe24b8f8, 2:function: 0x01dd3c9272c0, 3:function: 0x01ddfe44d970, 4:function: 0x01ddcea39588, 5:function: 0x01dd3c9337b8, 6:function: 0x01ddfd13ec50, 7:function: 0x01dd3c6de7d0, 8:function: 0x01ddfd183368, 9:function: 0x01ddfcfe0778, 10:function: 0x01ddfd35e038, 11:function: 0x01ddfd218cb8, 12:function: 0x01ddfd27f6e0, 13:function: 0x01ddfd3ff8a0, 14:function: 0x01ddfd2c7008, 15:function: 0x01ddfde1aae0, 16:function: 0x01ddfde40cc8, 17:function: 0x01ddfe05a318, 18:function: 0x01ddfe06d180, 19:function: 0x01ddfee95188, 20:function: 0x01ddfd6fae90, 21:function: 0x01ddfdae7f20, 22:function: 0x01ddfd261590, 23:function: 0x01ddd9103f58, 24:function: 0x01ddfe2f69f8, 25:function: 0x01ddff1d5d60 (more...)}
      (for control) = number: 71
      _ = number: 71
      func = Lua function '?' (defined at line 3499 of chunk lua/ge/extensions/editor/biomeTool.lua)
    (11) Lua field 'presentGui' at line 448 of chunk 'lua/ge/extensions/editor/api/gui.lua'
      dtReal = number: 0.004915
      dtSim = number: 0.005
      dtRaw = number: 0.0056847
      io = userdata: (...)
    (12) Lua local 'func' at line 29 of chunk 'lua/ge/extensions/editor/mainUpdate.lua'
      dtReal = number: 0.004915
      dtSim = number: 0.005
      dtRaw = number: 0.0056847
    (13) Lua field 'hook' at line 825 of chunk 'lua/common/extensions.lua'
      funcName = string[8]: "onUpdate"
      funcList = table: 0x01ddfd2b8968  {1:function: 0x01dd78a105c8, 2:function: 0x01dd78acdcc8, 3:function: 0x01dd2ddb88b8, 4:function: 0x01dd7880b8f8, 5:function: 0x01dd78b7cc00, 6:function: 0x01dd78901be8, 7:function: 0x01dd785c1bb0, 8:function: 0x01dd7866e310, 9:function: 0x01dd78ba5888, 10:function: 0x01dd7857e300, 11:function: 0x01dd78e09b40, 12:function: 0x01dd2dd93b58, 13:function: 0x01dd1fc54540, 14:function: 0x01dd78bdcb00, 15:function: 0x01dd785af6a8, 16:function: 0x01dd3c927738, 17:function: 0x01ddfd13ef58, 18:function: 0x01ddfd5fea28, 19:function: 0x01dd3d065c30, 20:function: 0x01dd786a6f98, 21:function: 0x01dd5ae420e8, 22:function: 0x01dd27096578, 23:function: 0x01ddda6ba1f0, 24:function: 0x01dd78a207c8, 25:function: 0x01dd7864fc38 (more...)}
      (for generator) = C function: builtin#6
      (for state) = table: 0x01ddfd2b8968  {1:function: 0x01dd78a105c8, 2:function: 0x01dd78acdcc8, 3:function: 0x01dd2ddb88b8, 4:function: 0x01dd7880b8f8, 5:function: 0x01dd78b7cc00, 6:function: 0x01dd78901be8, 7:function: 0x01dd785c1bb0, 8:function: 0x01dd7866e310, 9:function: 0x01dd78ba5888, 10:function: 0x01dd7857e300, 11:function: 0x01dd78e09b40, 12:function: 0x01dd2dd93b58, 13:function: 0x01dd1fc54540, 14:function: 0x01dd78bdcb00, 15:function: 0x01dd785af6a8, 16:function: 0x01dd3c927738, 17:function: 0x01ddfd13ef58, 18:function: 0x01ddfd5fea28, 19:function: 0x01dd3d065c30, 20:function: 0x01dd786a6f98, 21:function: 0x01dd5ae420e8, 22:function: 0x01dd27096578, 23:function: 0x01ddda6ba1f0, 24:function: 0x01dd78a207c8, 25:function: 0x01dd7864fc38 (more...)}
      (for control) = number: 19
      _ = number: 19
      func = Lua function '?' (defined at line 13 of chunk lua/ge/extensions/editor/mainUpdate.lua)
    (14) Lua function 'update' at file '/lua/ge/main.lua:593' (best guess)
      dtReal = number: 0.004915
      dtSim = number: 0.005
      dtRaw = number: 0.0056847
    --------------- << END <<

    --- Post updated ---
    I did a dirty hack to make biome work until the bug is fixed.

    File: (your installation path may vary)
    "D:\SteamLibrary\steamapps\common\BeamNG.drive\lua\common\extensions\ui\imgui_gen_luaintf.lua"

    upload_2025-9-19_9-58-21.png

    Code:
    function M.ImGuiStorage_SetInt(ImGuiStorage_ctx, ImGuiID_key, int_val) ImGuiStorage_ctx:SetInt(ImGuiID_key, int_val) end
    The change:

    Code:
    function M.ImGuiStorage_SetInt(ImGuiStorage_ctx, ImGuiID_key, int_val)
      if type(int_val) == "boolean" then
        int_val = int_val and 1 or 0
      end
      ImGuiStorage_ctx:SetInt(ImGuiID_key, int_val)
    end
    It just converts bool values to int values (0,1) in the SetInt function.

    But it would be better to fix it at the callers place to have a clean solution:
    'setHeaderState' at line 2991 of chunk 'lua/ge/extensions/editor/biomeTool.lua'
     
    #2 AlexKidd71, Sep 19, 2025
    Last edited: Oct 1, 2025
  3. Barbent Servo GT

    Barbent Servo GT
    Expand Collapse

    Joined:
    Jun 4, 2023
    Messages:
    702
    Hacking to keep the world running. I love it! :)
     
    • Like Like x 2
  4. AlexKidd71

    AlexKidd71
    Expand Collapse

    Joined:
    Mar 16, 2022
    Messages:
    609
    I know that you love it, hacker!
     
    • Like Like x 2
    • Agree Agree x 1
  5. stuffi3000

    stuffi3000
    Expand Collapse

    Joined:
    Feb 6, 2022
    Messages:
    62
    I really don't understand how bugs like this remain unaddressed. It's the same as with the autosave bug I've reported months ago. People like you post so much on the forum and are very active in the community, yet when it comes to bugs we're just ignored...
    We should try to push for the creation of a Discord server or channel where experienced modders can directly interact with the BeamNG devs to create a win-win environment: they get good bugs reported quickly and we contribute to fixing and keeping our mods run smoothly.. .
     
    • Agree Agree x 2
  6. AlexKidd71

    AlexKidd71
    Expand Collapse

    Joined:
    Mar 16, 2022
    Messages:
    609
    Perhaps its because that I didn't post it to the troubleshooting section of the forum. Or its lower priority because of the many things the devs have to do on the gameplay side. But you are right that often at the very obvious points there is no reaction from the devs.
     
  7. Barbent Servo GT

    Barbent Servo GT
    Expand Collapse

    Joined:
    Jun 4, 2023
    Messages:
    702
    You also linked it in the 0.37 discussion thread. So, I think it's possible to find and read it here.
     
    • Like Like x 1
  8. AlexKidd71

    AlexKidd71
    Expand Collapse

    Joined:
    Mar 16, 2022
    Messages:
    609
    At least it bubbled up now. Let’s place bets :)
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice