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. urna

    urna Tentacle Wrangler

    How to manually add other brushes?
     
  2. Punisherbr

    Punisherbr Orbital Explorer

    You have to manually add them inside JSON files (.dungeon or .structure) give them an unique RGB, and then load the file from starstructor, so you can see what you just added.

    .structure brush example:

    Code:
    {
          "value" : [0, 0, 1, 255],
          "foregroundBlock" : false,
          "backgroundBlock" : true,
              "object" : "yarnspinner"
        },
     
  3. urna

    urna Tentacle Wrangler

    Thank you to answer。I'll try
     
  4. Punisherbr

    Punisherbr Orbital Explorer

    Kel^ likes this.
  5. Internet Friend

    Internet Friend Space Spelunker

    Is it possible to load multiple asset directories? For instance if I want to create a ship using Mad Tulip's ship mod parts it will be drawing assets from the main assets folder and \mods\madtulip\. I attempted to load them both in settings.json with no luck.

    At the moment I'm making a junction in \assets\ to the mod content as a workaround.
     
    Last edited: Dec 26, 2013
  6. Kel^

    Kel^ Pangalactic Porcupine

    I'll look into this when I get back from Christmas and resume work on the project.
     
  7. Kel^

    Kel^ Pangalactic Porcupine

    Merry Christmas everyone! Here's a Christmas progress update:

    I've been considering the future of Starstructor over the holiday period - I want to fix my hackey winforms rendering, and by doing so ensure cross-platform support. I have two options: rewrite the display using OpenTK, or follow Starbound's lead and rewrite the editor in C++ using SDL as a base. The first option will result in (relatively) quick results, but the second will be better in the long run. The second option also has the advantage of allowing me to work in a language I am very familiar with. I've come to an agreement with Tiy and co. which will greatly help me going forward; I will be able to easily emulate Starbound's *exact* visual style and rendering rules, dungeon generation rules, and the world format for exporting buildings in the game world to .dungeon format.

    Progress on the project is going to be slow over the next few weeks as I have a lot of finals work due, so I'll need to focus the majority of my time on that. I'm happy that the editor, in its current state, is a very valuable tool for dungeon and ship designers, which is great.

    For all interested, Starstructor's source is now available at:

    https://github.com/cstamford/Starstructor

    Here's an ordered list of stuff I'm going to do once I resume work on Starstructor:
    1. Bug fixes (esp. regarding collision map)
    2. Visual display of brushes with mustContainAir and mustContainGround rules.
    3. Load all assets when the editor is started. Through an import menu, the user can choose to import an asset as a brush - a window will pop-up with a search bar and a large image preview of each asset. Typing in the search bar will allow the user to search through all assets. Upon choosing an asset, the user will be presented with brush information to fill in - whether it's a foreground brush, background brush, and if an object brush, attributes such as direction can be modified here. The brush colour can be manually or automatically defined.
    4. Create a new ship. Designate image size from the new ship window. Resize parts (both ship and dungeon parts) from within the editor. Reposition and edit the ship overlay(s) from within the editor.
    5. Wizard upon first start-up briefly explaining how ship and dungeon creation works.
    6. Implement tools.
    7. Rework rendering.
    8. Optimize collision map.
     
    Shadewarp likes this.
  8. urna

    urna Tentacle Wrangler

    I'm looking forward to update
     
  9. urna

    urna Tentacle Wrangler

    This is I make

    [​IMG]
     
  10. Schala

    Schala Subatomic Cosmonaut

    Is it possible to make this Mono compatible? It boots up just fine in Linux but fails to recognise folder paths, even if given backslashes.
     
  11. TohKlidan

    TohKlidan Zero Gravity Genie

    If you can show the blocks as overlay for example.
     
  12. heinermann

    heinermann Scruffy Nerf-Herder

    I disagree with the import menu option. I think the brushes should just all be there in a tree view and options readily available. The program would manage the brushes automatically, only including those that are being used. This would remove the extra step and the user won't have to worry about how brushes are used in the file/internally as well as minimize the dungeon/ship size.
     
  13. Kel^

    Kel^ Pangalactic Porcupine

    A system where brushes are abstracted and the user paints with assets directly is the eventual goal, but right now one of the editor's huge limitations is its inability to add brushes without editing the file manually - adding an import menu option is a quick and easy way of adding this functionality, albeit temporarily, until I have time to properly plan and develop a brush-less system.
     
  14. heinermann

    heinermann Scruffy Nerf-Herder

    Well since it's now open source, I've forked the project and can work on it a little bit. If you're not already, I can work on the Undo/Redo system and some code cleanup.
     
    Shadewarp and Kel^ like this.
  15. Schala

    Schala Subatomic Cosmonaut

    I'm the package maintainer for Arch Linux for 'starstructor-git' and I tweaked a bit of your code regarding log files and settings. What follows are two sed commands that simply substitute the file paths with Linux appropriate ones. If you implement this in upstream, you'll want to add a conditional around that that designates if the platform isn't Windows.

    Code:
    sed -i "s,log.txt,/tmp/starstructor.log," DungeonEditor/Editor.cs
        sed -i 's,string path = AppDomain.CurrentDomain.BaseDirectory + "settings.json",string path = Environment.GetFolderPath(Environment.SpecialFolder.Personal) + "/.starstructor.json",g' DungeonEditor/Editor.cs
    That changes log.txt to starstructor.log and places it in /tmp, which gets wiped on shutdown, and renames settings.json to .starstructor.json and places it in the user's home folder. Additionally my package provides a .desktop file and a helper script for /usr/bin that calls mono to launch Starstructor, as well as the app icon in PNG format, since .ICO format doesn't work with Linux desktop.
     
    Kel^ likes this.
  16. heinermann

    heinermann Scruffy Nerf-Herder

    You can check out my fork here: https://github.com/heinermann/Starstructor
    I'm working on a simple Undo/Redo system. I also fixed a couple of small bugs.

    @Schala There's no reason to have platform-specific behaviours. I'm sure there's a way to get the temp path. These changes should be perfectly fine IMO.
     
  17. Schala

    Schala Subatomic Cosmonaut

    Well, as I have it packaged as an install script, that makes it only root modifiable, and running Starstructor as root is a dangerous idea.
     
  18. Looks good, maybe it can make my life easier when I will want to implement custom modular spaceship in to .structure file outside the game.
     
  19. Taiine

    Taiine Pangalactic Porcupine

    This seems like an amazing tool but as of right now I cant sort out how to edit what I am seeing. I wanted to try my hand at making a custom ship with this, but cant draw or edit anything.
     
  20. heinermann

    heinermann Scruffy Nerf-Herder

    Right now you can only place existing brushes.

    Ships are a bit different since you don't edit the ship graphic within Starstructor, but you can still place the other blocks. Right now it's a little restricting but eventually you will have access to everything you would be capable of if you were to edit the .structure file manually.

    The project is being worked on diligently and progress is going smoothly. I'm sure in a few more days you'll have something good to work with.
     

Share This Page