JOINER - An automated Brush Generator

Discussion in 'Tutorials & Resources' started by YM, Apr 2, 2012.

  1. YM

    aa YM LVL100 YM

    Messages:
    7,099
    Positive Ratings:
    5,925
    Welp I tried to take on scaling in any direction today and it beat me into submission. I know what roughly needs to be done to get it working, I just have some coordinate issues giving me a headache.

    Sooo with that said I'll release a new version tomorrow with all the new features, then I'm going to take a break from coding (I've spent upwards of 100 hours on this in the last week and a half!)

    Until then, bed time!
     
  2. YM

    aa YM LVL100 YM

    Messages:
    7,099
    Positive Ratings:
    5,925
    New version is here: http://dl.dropbox.com/u/2126504/autobrush/Joiner-1.0.2.zip

    It now creates a log file, which is important to me if you encounter errors.

    It can make a config file of your custom settings and load that if you want so you can use the same settings without typing them in every time.

    It allows vertical textures to be used, previously they resulted in horrible badly rotated textures.

    And best of all, it groups each 'Room' into a single func_detail. Waaaay better than before.

    Due to the aforementioned break, this will be the only update for several weeks. Sorry for making you download a new one so quickly, it's worth updating though.
     
    • Thanks Thanks x 4
  3. YM

    aa YM LVL100 YM

    Messages:
    7,099
    Positive Ratings:
    5,925
    • Thanks Thanks x 1
  4. Queso2469

    Queso2469 L1: Registered

    Messages:
    14
    Positive Ratings:
    0
    This is excellent. Thank you very much. Two minor annoyances though. You have to type out the file path (no copy paste) and you have to type out a texture rather than just go with a default.
     
  5. YM

    aa YM LVL100 YM

    Messages:
    7,099
    Positive Ratings:
    5,925
    My dream is for it to have a proper windows gui with a standard file browser, but since that's well beyond the scope of my uni project it won't come until later, if at all.

    As far as the texture goes, I figured since there is no one standard texture, it's the one thing people would want to change most often.
     
  6. A Boojum Snark

    aa A Boojum Snark Toraipoddodezain Mazahabado

    Messages:
    4,769
    Positive Ratings:
    5,548
    What if texturing one side of the brush with non-slime made it use that texture?
     
    • Thanks Thanks x 3
  7. YM

    aa YM LVL100 YM

    Messages:
    7,099
    Positive Ratings:
    5,925
    • Thanks Thanks x 1
  8. colacan

    colacan L5: Dapper Member

    Messages:
    235
    Positive Ratings:
    84
    Awesome! This will help me allot making supports! Thanks
     
  9. pitsiunio

    pitsiunio L1: Registered

    Messages:
    1
    Positive Ratings:
    0
    AWESOME.
    Great job, it's helps me alot!
     
  10. Lawdee

    Lawdee L1: Registered

    Messages:
    3
    Positive Ratings:
    1
    I might be stupid but how should the path you enter in the console look?
    I keep getting an "Enter valid file name" error.
     
  11. TZK203

    TZK203 L1: Registered

    Messages:
    15
    Positive Ratings:
    6
    This.

    No matter how I do it, it will still say this error.

    It's saved in mapsrc under sourcesdk_content... moving it around doesn't do much in terms of entering the name.
     
  12. Bloodhound

    Bloodhound L6: Sharp Member

    Messages:
    316
    Positive Ratings:
    249
    Maybe this screenshot will help you:
    [​IMG]

    Take a look at the path in the window title.
    The Joiner.exe is in the same directory as the vmf, so you just have to type the vmf name.
     
  13. Afterglow375

    Afterglow375 L1: Registered

    Messages:
    25
    Positive Ratings:
    0
    Wow this is awesome. I'm curious how did you go about doing this? I mean, are there any tutorials out there about this kind of stuff? I see that you made it with C++, and I know a bit of C++ myself so I'm interested in doing something like this...
     
  14. henke37

    aa henke37

    Messages:
    2,019
    Positive Ratings:
    484
    It is basic text parsing to read in the existing map. Then it is fancy geometry to deal with the brilliant decision to store planes instead of vertexes. Then you get to do what you want. Finally you have to redo the fancy math and write out the text file. It's not complicated in theory.
     
  15. YM

    aa YM LVL100 YM

    Messages:
    7,099
    Positive Ratings:
    5,925
    Necrobumping this thread to tell y'all that I'm working on Joiner 2.0 which will run as a standalone Unity application for maximum awesome.

    In this new version prepare your bodies for:

    • Fully 3D Previews before exporting an output
    • Sliders
    • Fully interactive GUI
    • Support for angled walls
    • Sliders
    • Support for N sided rooms
    • A File Browser
    • Sliders


    I'm building it from the ground up, this time with angled wall support so you'll be able to have any crazy shaped room you want. It can already handle N sided convex rooms. I'll be adding concave room shapes later when I can figure out a good way to do that.

    [​IMG]
    [​IMG]
    (The pillars aren't angled yet because I'm calling it a night and going to bed, this is about 4 hours work)
     
    • Thanks Thanks x 4
  16. Freyja

    aa Freyja It hurt itself in it's confusion!

    Messages:
    2,915
    Positive Ratings:
    5,303
    smd export plz
     
  17. YM

    aa YM LVL100 YM

    Messages:
    7,099
    Positive Ratings:
    5,925
    highly likely that I'll do that.
     
    • Thanks Thanks x 1
  18. wareya

    wareya L7: Fancy Member

    Messages:
    493
    Positive Ratings:
    191
    It would probably have some silly side effects, but the ability to place "Don't put beams here" brushes would let people do something like that..
    [​IMG]
    (trigger is room brush, slime is exclude brush)
    I don't know how good it would actually be because it's real finicky to the size of the beams, but it's a nice idea.
     
  19. YM

    aa YM LVL100 YM

    Messages:
    7,099
    Positive Ratings:
    5,925
  20. UKCS-Alias

    aa UKCS-Alias Mann vs Machine... or... Mapper vs Meta?

    Messages:
    1,264
    Positive Ratings:
    795
    To add to the idea of wareya. What about instead of preventing brushes to be created, giving key areas that it tries to adjust to.

    If for example you can mark a doorway of h192-w128 it will place the brushes directly next to the doorway and connect the beams between them, trying to connect the top of the doorway to other tops of the same height if they use the same wall. (could dev_slime as func_detail work for this? to mark the doorway when it touches the slime texture)
    If it has a 192 and 160 situation it can 'simply' make the 192 bar stop at the doorway and place the beam a bit lower there. And after a corner it can also do this.

    And what i notice that is quite ugly in joiner, the brushes have a completely random variety of distances. Something quite ugly and also something even beginning builders wouldnt do. They more likely would put them at similar distances away from each other. So maybe it needs a min and max distance value between both horizontal and vertical beams.

    Also for convex shapes like a cilinder, maybe just use the edges unless the face itself becomes too big at which it will place a bar inbetween?