New Map Tool

taledentaleden Join Date: 2003-04-06 Member: 15252Members, Constellation
edited April 2004 in Mapping Forum
<div class="IPBDescription">hlunion</div> <span style='color:red'><b>News</b></span>
4/28/2004: fixed a bug in RMF duplicate keyvalue checking, and added a readme to the zip file; new version attached

<b>Current Version</b>
0.9 beta 2: (4/28/2004) bugfix

<b>Overview</b>
This tool may or may not be useful to other mappers, but I thought I'd release it on the chance that it might be. Basically, the inspiration came from the way that I map: I tend to build one or two rooms to completion, compile that a few times to tweak the lighting and detail, then add a few connecting corridors, repeat, etc. Because I'm only working on a small area of my map at any given time, I tend to keep it divided into segments in separate files, which cuts down on compile time for testing each segment. The nuissance comes when I want to see how well they all flow together: I have to cut and paste each segment into a new file, move stuff around to get it to line up again, make sure the textures didn't get screwed up in the process, etc. Enter hlunion.

<b>Functionality</b>
hlunion is basically what it sounds like: a logical 'union' operator for HL maps. Given an output filename and any number of input filenames, it will read in all the data and output a merged file containing all of it, minus any resulting duplicate worldspawn keyvalues. Now, all I have to do is run hlunion to combine all the segments of my map and then compile the result; no more splicing them back together with cut'n'paste. In addition, hlunion has a 'strip boundaries' function, which further automates the process: because the segments of my map are naturally connected by open spaces for the player to walk through, those openings must be plugged in order to compile a single segment without any leaks. If the brushes used to plug the openings at the boundary of each segment are given the 'HU_BOUNDARY' texture on any of their faces, hlunion can be made to omit those brushes while writing its output. I have an 'HU_BOUNDARY' texture defined in on of my custom utility wads, but the name is all that's important - to use this functionality, you need only define a texture with this name in some wad and then apply it to at least one face on your boundary brushes. hlunion can operate on RMF or MAP files, but not both at the same time.

<b>Download</b>
The latest version is attached to this post. Once I'm confident that any major bugs have been hammered out, I'll probably also release the source code. Please post any comments, questions, feature requests, etc here, or PM me.[COLOR=red][COLOR=red][B][/B][COLOR=red]

Comments

  • WarpZoneWarpZone Join Date: 2002-11-03 Member: 6264Members
    Wow! <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html//emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif' /><!--endemo--> Thanks for releasing it, taleden. <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html//emoticons/biggrin.gif' border='0' style='vertical-align:middle' alt='biggrin.gif' /><!--endemo--> Only the most hardcore of mappers would ever bother to take advantage of a tool this simple, so don't expect a lot of praise about it from the community at large, but personally, I think it's brilliant! <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html//emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif' /><!--endemo-->
  • BlackPlagueBlackPlague Join Date: 2004-02-02 Member: 25990Banned
    hey, do you have a web site for people to download this off of? if not then i can host you for free n_____n....
  • taledentaleden Join Date: 2003-04-06 Member: 15252Members, Constellation
    Yeah, I didn't figure it would become one of those 'must-haves', but for people who map the way I do, it might come in handy.

    BP- hosting would be much appreciated <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html//emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif' /><!--endemo-->
  • BlackPlagueBlackPlague Join Date: 2004-02-02 Member: 25990Banned
    ok, pm me with this information


    subdomain name :
    username :
    password :

    subdomain name will look like so

    name.md.eternal-host.com
    or
    md.eternal-host.com/name

    you will get free hosting. After we are done with the web site, people will start to pay. but users who have already signed up, they will not pay, due to respect ^_^... like they say, first come, first serve ^_^ lolz weeeee


    when i get home im going to download this and try it out i just hope that this is fun <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html//emoticons/biggrin.gif' border='0' style='vertical-align:middle' alt='biggrin.gif' /><!--endemo-->
  • PharcaePharcae Join Date: 2004-01-06 Member: 25101Members, Constellation
    edited April 2004
    I took the opportunity to host it on the TSA

    <a href='http://ww2.navids.com/ns2k5/index.php?option=com_docman&task=docclick&Itemid=32&bid=49&limitstart=0&limit=5' target='_blank'>Download</a>

    edit: I added a readme to the zip, hope you won´t mind <!--emo&:)--><img src='http://www.natural-selection.org/forums/html//emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif' /><!--endemo-->
  • BlackPlagueBlackPlague Join Date: 2004-02-02 Member: 25990Banned
    umm i downloaded it and everything, how do i use it? >_<
  • taledentaleden Join Date: 2003-04-06 Member: 15252Members, Constellation
    Its a command-line tool - open a dos box and run it with no args to see basic usage, or give it "-?" for extended help. Basic syntax to merge two .RMF files would be like:

    hlunion -r -i in1.rmf in2.rmf -o out.rmf
  • BlackPlagueBlackPlague Join Date: 2004-02-02 Member: 25990Banned
    NIIIIIIIIICE ^_^ i wuv joo!
  • taledentaleden Join Date: 2003-04-06 Member: 15252Members, Constellation
    found and fixed a bug in beta 1; new version attached to the first post
  • statusqstatusq Join Date: 2003-01-10 Member: 12142Members
    I use QuArK, so I don't need this kind of tool but this sounds OK program.
    As I'm too lazy to download it, could you answer to a few questions?
    First, what kind of UI it has? Command line only?
    And are you planning to continue development of this tool?
    Maybe even add the possibility to arrange things in the program before they are united?
    Also does the program consist of only the exe file or are other files needed for it to work?

    Thank you.
  • taledentaleden Join Date: 2003-04-06 Member: 15252Members, Constellation
    It doesn't really matter what tool you use, I'd imagine splicing segments of a map together would be just as annoying in QuArK as it is in VHE or Radiant (unless QuArK has this capability built in, I've never used it). hlunion operates on .map files, which any tool can export, so it's not limited to VHE; if there's enough interest, I might work on adding .qrk support along with .rmf. As for your questions,

    The GUI is command-line only; it's designed to be used as part of the compile chain (i.e. hlunion merges segments in an .rmf, hlfix exports the .rmf, etc - or, hlunion merges segments in a .map, which is passed to hlcsg etc).

    I may continue development, depending how much interest there is in it; if people find bugs or have feature requests they're welcome to post here, and if I've got some time I'll incorporate them.

    What do you mean by arrange things in the program before they're united?

    The program is just the exe, there are no required support files. I'll probably release the source code with 1.0.
  • CageyCagey Ex-Unknown Worlds Programmer Join Date: 2002-11-15 Member: 8829Members, Retired Developer, NS1 Playtester, Constellation
    <!--QuoteBegin-taleden+Apr 28 2004, 02:58 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (taleden @ Apr 28 2004, 02:58 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> What do you mean by arrange things in the program before they're united? <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    Shifting input map files to a new location in space before merging them, I'd guess.

    This is going in the FAQ <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html//emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif' /><!--endemo-->
  • taledentaleden Join Date: 2003-04-06 Member: 15252Members, Constellation
    Well, it would be pretty simple to apply a coordinate offset during merging, but I'd be surprised if anybody found that very useful: you'd have to calculate the proper offset vector, and if you're going to do that, you might as well just build your segments so that their coordinates fit together when merged. When I map, I start building new stuff connected to old stuff, and if I decide I want to split off the new stuff into a new file, I just delete the old stuff, save-as the new file, and then open the old file and delete the new stuff from that one.

    However, if people think this would be a useful feature to add, I can work on it. Any other votes?
  • Jean_Luc_PicardJean_Luc_Picard Join Date: 2003-02-03 Member: 13051Members
    OH THANK GOD!


    You map the exact same way I do... and I must say it is a cast iron B*TCH to get the separate rooms together the right way... especially if parts have been modified via vertex editing...
  • statusqstatusq Join Date: 2003-01-10 Member: 12142Members
    <!--QuoteBegin-XP-Cagey+Apr 29 2004, 01:06 AM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (XP-Cagey @ Apr 29 2004, 01:06 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> <!--QuoteBegin-taleden+Apr 28 2004, 02:58 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (taleden @ Apr 28 2004, 02:58 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> What do you mean by arrange things in the program before they're united? <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
    Shifting input map files to a new location in space before merging them, I'd guess. <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    Yeah, that was what I meant. And as I did not know this proggie was command-line only, I meant you could added a possibility to move the map pieces just like in a map editor. So no offsetvector calculations needed by user <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html//emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif' /><!--endemo-->
    Also regarding QuArK: you can group things in a folder and for example set it's visibility to 'hidden' and turn on 'ignore to build maps' so that part of the map isn't visible in editor and isn't compiled. I have included two reference images as links since I don't want to spam this thread with unnecessary images.

    <a href='http://netti.nic.fi/~mastah/temp/quark1.jpg' target='_blank'>Image 1</a>
    <a href='http://netti.nic.fi/~mastah/temp/quark2.jpg' target='_blank'>Image 2</a>
Sign In or Register to comment.