1. Please be advised of a few specific rules and guidelines for this section.

Outdated Starstructor, the Starbound toolset 0.7.5145.12730

Starstructor is a graphical .dungeon and .structure (ship) editor

  1. Kel^

    Kel^ Pangalactic Porcupine

    Kel^ submitted a new mod:

    Starbound Toolset Preview - Preview version of a world editor, with functionality to display .dungeon files graphically

    Read more about this mod...
    plaYer2k, Flobu and ejh1990 like this.
  2. sglmnaz

    sglmnaz Scruffy Nerf-Herder

    great work keep it up, i can't wait for the final version, i will make tons of dungeons :D
  3. Kel^

    Kel^ Pangalactic Porcupine

  4. Conir

    Conir Void-Bound Voyager

    just in for the updates :) awesome work, as i said!
  5. Veav

    Veav Scruffy Nerf-Herder

    My god... it's full of starbound
    Crackerjack likes this.
  6. Kel^

    Kel^ Pangalactic Porcupine


    Prepare yourselves! Soon, you draw!
  7. The | Suit

    The | Suit Agent S. Forum Moderator

    Honestly you are doing some amazing work.
    If you can make it possible to just tile draw new dungeons, then just simply wow
  8. Kel^

    Kel^ Pangalactic Porcupine

    Kel^ updated Starbound Toolset Preview with a new update entry:

    Starbound Toolset

    Read the rest of this update entry...
    Voidnaut and Conir like this.
  9. Kel^

    Kel^ Pangalactic Porcupine

    I just posted an update full of cool things. I've included a readme and changelog with the release, which includes a roadmap - seen below for easy access. I hope all of you developers can make good use out of this!

    1. Objects will use proper orientations.
    2. Platform rendering will be fixed.
    3. Rendering code will be updated to redraw any tiles affected by a change by the user.
    4. The object previews inside the editor will display properly.
    5. Ship overlays will be selectable in the editor, and they can be repositioned in real time.
    6. More "special" brushes (brushes with rules) will be visible in the editor, similar to the connectors.
    7. Npcs will be visible.
    8. Collision detection will be implemented, so the editor will only display what would be seen ingame.
    9. JSON abstraction will start. The developer will be able to add new brushes through a useful wizard.
    10. JSON attributes will be edited from within the editor.
    11. Support for previewing your level in different biomes (populated from game files) will be added.
    12. Support for wires will be added.
    13. Brushes will be abstracted from the user, replaced by materials. Materials will use auto-generated brushes. Users will paint with materials instead.
    14. Simple ambient lighting will be added.
    Voidnaut likes this.
  10. heinermann

    heinermann Scruffy Nerf-Herder

    I don't know how much information you have on the format, and I don't have much info myself, but I did some digging and found the following properties, which may or may not be useful to you, I don't know:

    • metadata : VariantMap
      • name : string
      • species : string
      • rules : [][]
        • "worldGenMustContainSolid"
        • "worldGenMustContainAir"
        • "worldGenMustContainSolidBackground"
        • "worldGenMustContainAirBackground"
        • "allowOverdrawing"
        • "ignorePartMaximumRule"
        • "maxSpawnCount", [...]
        • "doNotConnectToPart", [string]
        • "doNotCombineWith", [string]
      • maxRadius : int
      • maxParts : int
      • anchor : [string]
    • tiles : [VariantMap]
      • value : Vec4B
      • brush : [][]
        • "clear"
        • "front", string
        • "back", string
        • "object", string, VariantMap
          • direction : direction
          • parameters : VariantMap (unknown)
        • "biomeitems"
        • "biometree"
        • "item", string // (?)
        • "npc", VariantMap
          • seed : string
            • "stable"
          • ...
        • "random", ...
        • "surface", ...
        • "surfacebackground", ...
        • "water", ...
        • "lava", ...
        • "acid", ...
        • "tentaclejuice", ...
        • "tarliquid", ...
        • "wire", VariantMap
          • "group", string // "default" if omitted??
          • "local", bool
      • rules : [][]
        • "worldGenMustContainSolid"
        • "worldGenMustContainAir"
        • "worldGenMustContainSolidBackground"
        • "worldGenMustContainAirBackground"
        • "allowOverdrawing"
        • "ignorePartMaximumRule"
        • "maxSpawnCount", [...]
        • "doNotConnectToPart", [string]
        • "doNotCombineWith", [string]
      • connector : bool
      • connector-value : Vec4B
      • direction : direction
    • parts : [VariantMap]
      • def : []
        • "image", [image,image]
      • overrideAllowAlways : bool
    Kel^ likes this.
  11. Arupakasso

    Arupakasso Tentacle Wrangler

    Amazing work! I have a problem here.
    I can't make it work in Offended Koala update. Toolset remains grey and the only options available are File/Open and Starbound/Set Directory. I've already put assets directory but it doesn't do anything, It seems like it doesn't detect my folder.
    I have a steam copy, working in W7, .NET framework 4.5 updated. Thanks ! :)
    sglmnaz likes this.
  12. Kel^

    Kel^ Pangalactic Porcupine

    This is actually really handy. How'd you generate this? By hand?

    What happens when you open a ship file through file -> open? Bear in mind the editor can't make new ships or dungeons yet, but only open and edit currently existing ones.
  13. heinermann

    heinermann Scruffy Nerf-Herder

    I went in and reverse engineered part of it, so even if one of those were never used in the existing data, it's in this list. I don't have everything though, for example I wasn't sure what maxSpawnCount was, npc has attributes taken from somewhere else in the code (possibly the regular npc data?). I'm pretty sure the default group for wire is "default", I'm not sure what these groups refer to though. The "rules" in tiles and metadata are exactly the same.

    Ideally when we create our own dungeons we want to be able to create different rooms and link them to one another, either random or static(to make things easier). When this tool is complete I'd simply like to remake Castlevania(Symphony of the Night, both castles) if anyone is interested. A lot of Starbound's tiles conveniently look like they have a place somewhere for that.

    If I can do anything to speed up progress on this, let me know and I'll see what I can do. I can also write code if you ever open that up to anyone.
  14. Kel^

    Kel^ Pangalactic Porcupine

    Object and npc data is taken from the respective object or npc files, but as far as I know any attribute can be overwritten in the dungeon file, so you can have different npcs of a base type in a dungeon without making new types. For wires, a group refers to which other wires it can interact with. Wires in group "local1" can only interact with other local1 wires, etc.

    It would be really handy if you could map out the attributes of a .structure file in the same way. I'm going to open source the toolset at some point, but probably a couple weeks down the line, when it's in a more functional shape.

    I appreciate the help!
  15. heinermann

    heinermann Scruffy Nerf-Herder

  16. Kel^

    Kel^ Pangalactic Porcupine

  17. Kel^

    Kel^ Pangalactic Porcupine

  18. Kel^

    Kel^ Pangalactic Porcupine

    Kel^ updated Starbound Toolset with a new update entry:


    Read the rest of this update entry...
  19. Shadewarp

    Shadewarp Pangalactic Porcupine

    Tried this out today :) Love the work! It will make our lives a lot easier!

    I found a few things:
    Can't undo (dunno if it isn't implementet yet)

    And when trying to use the red/blue or white I get an error:

    See the end of this message for details on invoking
    just-in-time (JIT) debugging instead of this dialog box.
    ************** Exception Text **************
    System.InvalidCastException: Unable to cast object of type 'DungeonEditor.StarboundObjects.StarboundAsset' to type 'DungeonEditor.StarboundObjects.Tiles.StarboundTile'.
      at DungeonEditor.GUI.MainWindow.OnCanvasLeftClick(Single x, Single y)
      at DungeonEditor.GUI.ImageBox.OnMouseDown(MouseEventArgs e)
      at System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks)
      at System.Windows.Forms.Control.WndProc(Message& m)
      at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
      at System.Windows.Forms.UserControl.WndProc(Message& m)
      at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
      at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
      at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    ************** Loaded Assemblies **************
        Assembly Version:
        Win32 Version: 4.0.30319.18331 built by: FX45GDRSTAGE
        CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
        Assembly Version: 0.6.5099.7660
        Win32 Version: 0.6.5099.7660
        CodeBase: file:///D:/Games/Starbound%20toolset/toolset/starbound_toolset.exe
        Assembly Version:
        Win32 Version: 4.0.30319.18331 built by: FX45GDRSTAGE
        CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
        Assembly Version:
        Win32 Version: 4.0.30319.18331 built by: FX45GDRSTAGE
        CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
        Assembly Version:
        Win32 Version: 4.0.30319.18331 built by: FX45GDRSTAGE
        CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
        Assembly Version:
        Win32 Version:
        CodeBase: file:///D:/Games/Starbound%20toolset/toolset/Newtonsoft.Json.DLL
        Assembly Version:
        Win32 Version: 4.0.30319.18331 built by: FX45GDRSTAGE
        CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
        Assembly Version:
        Win32 Version: 4.0.30319.18331 built by: FX45GDRSTAGE
        CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
        Assembly Version:
        Win32 Version: 4.0.30319.18331
        CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.ComponentModel.DataAnnotations/v4.0_4.0.0.0__31bf3856ad364e35/System.ComponentModel.DataAnnotations.dll
        Assembly Version:
        Win32 Version: 4.0.30319.18331 built by: FX45GDRSTAGE
        CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Serialization/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll
        Assembly Version:
        Win32 Version: 4.0.30319.18331 built by: FX45GDRSTAGE
        CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml.Linq/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll
        Assembly Version:
        Win32 Version: 4.0.30319.18331 built by: FX45GDRSTAGE
        CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
        Assembly Version:
        Win32 Version: 4.0.30319.18331 built by: FX45GDRSTAGE
        CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
        Assembly Version:
        Win32 Version: 4.0.30319.18331 built by: FX45GDRSTAGE
        CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging
    For example:
        <system.windows.forms jitDebugging="true" />
    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.
    I would love to see:

    delete blocks (instead of overwriting (or if the red/white/blue worked, it would be fine I think)

    Look forward to seeing what you can do with this tool! So far it's amazing
  20. Kel^

    Kel^ Pangalactic Porcupine

    Good catch on the crash, it'll be fixed for the next version. For now you can get past it by changing the forceRedrawOnColourMapChange flag to true in settings.json, which will make it automatically reload the layer every time you draw (but the performance will be poor.) As a temporary workaround to delete brushes, you can just draw with the top brush (usually magic pink) then reload the layer with f5. And yeah undo/redo isn't in yet, it'll be something for the future! Cheers for the feedback!
    Last edited: Dec 17, 2013
    Shadewarp likes this.

Share This Page