Thread: How about really effective GoldSrc BSP decompiler?

Results 1 to 10 of 10
  1. #1
    Registered User
    Join Date
    Jul 2018
    Location
    Russia
    Posts
    15

    How about really effective GoldSrc BSP decompiler?

    Hello guys!

    As you probably know, all existing GoldSrc BSP decompilers are not really effective. The result of a map decompilation is generally awful - a lot of brush pieces, leaks, texture problems, so you mostly can use that MAP file you're getting after decompiling only as reference for creating a new map, but can't compile it back into properly working BSP. But there is an opportunity to change this situation. Uncle Mike (the creator of Xash3D and different effective GoldSrc utilities, including his own map compilers) is currently working on Doom map decompiler (he called it doom2gold). While working on it, he greatly increased his understanding of effective map decompiling methods and eventually realized, that it will be possible to create a corresponding map decompiler for GoldSrc BSP format.

    As he thinks, he's able to make the GoldSrc map decompiler, which can preserve the whole map geometry, texture alignment and produce brush layout that would be very close to initial MAP file, which mapper used for compiling a map. So you will be able to compile the result of decompilation again without a painstaking map remaking. But unlike doom2gold which is personally interesting for Uncle Mike, new GoldSrc map decompiler is just an idea yet. Uncle Mike is not going to spend his time on its' development unless the community can motivate him for this.

    So what can you say? Do you find properly working GoldSrc map decompiler interesting? Could you donate some money for development of such tool (if Unkle Mike would decide to write it)? It's just a question yet, because Uncle Mike wants to know if this kind of program is meaningful for community or not. So please tell what you think about it.

  2. #2
    REE3 The303's Avatar  
    Contributor
    Join Date
    Jul 2015
    Posts
    398

    Re: How about really effective GoldSrc BSP decompiler?

    It is an interesting idea and I could see support for it. When I used to first try to learn Mapping for source engine years ago most of what I learned was from decompiles. However unlike source of course we have the issue of missing data to properly recreate the brushes; but sounds like mike thinks its possible eh?

  3. #3
    Administrator AdamR's Avatar  
    Manager
    Join Date
    Mar 2004
    Location
    Cardiff, South Wales [UK]
    Posts
    8,603

    Re: How about really effective GoldSrc BSP decompiler?

    Quote Originally Posted by crystallize View Post
    As he thinks, he's able to make the GoldSrc map decompiler, which can preserve the whole map geometry, texture alignment and produce brush layout that would be very close to initial MAP file, which mapper used for compiling a map. So you will be able to compile the result of decompilation again without a painstaking map remaking.
    This can only be based on guesswork. Unlike the BSPs produced for the Source engine the information needed for accuracy simply isn't there in the BSP to get close to the mapper's original work. The map compilers and BSP specifications have been open source for nearly 2 decades now, so I'm thinking that highly accurate decompilers would have been done by now if it were possible (and worthwhile).

    There's also a consideration on how the source polygons are reconstructed. These will almost certainly not be done in a human logical way as (most) mappers would draw them out. We each have our own logical techniques, which are mostly around ease of editing rather than thinking about how the BSP brushes will become. (After all, that's the compiler's job.) You only need to run a map with "gl_wireframe 1" to see how weird brushes get compiled compared to your map source.

    Is it also going to consider things like clip/hint/skip polygons? Clip especially can be essential to a recompile for maps near the clip node limit.

    Quote Originally Posted by crystallize View Post
    So what can you say? Do you find properly working GoldSrc map decompiler interesting? Could you donate some money for development of such tool (if Unkle Mike would decide to write it)? It's just a question yet, because Uncle Mike wants to know if this kind of program is meaningful for community or not. So please tell what you think about it.
    I don't really find the idea interesting at all. What would you need this for? As you've said the current decompilers out there can already make a good enough map source of which you can use for learning purposes, so what else do you need? Not sure why you'd want to recompile a (messy) decompiled map unless you're trying to butcher/ripoff someone else's map. If it does work I can foresee the issue of recompiles not getting renamed afterwards then handed out into public distribution. -- Suddenly "BSP differs" everywhere!

    Mike is of course welcome to work on such a tool, and there may be interest here for it, but nah I'm not excited for this one.
    Adam "Adambean" Reece
    Sven Co-op team

    Also on: Steam | Facebook | Twitter | YouTube | Twitch
    Released AMXX plug-ins: Bind number slots | NextMap with Sven Co-op fix | Sven Co-op administrator icons

  4. #4
    Registered User GarompaEstomper's Avatar
    Join Date
    Feb 2014
    Posts
    140

    Re: How about really effective GoldSrc BSP decompiler?

    AdamR the idea is not that bad. If saving the file forces you to rename it can prevent some noobs to do that bsp differ error (unless they do it on purpose of course).

    Some mappers may use it for:

    - Recovering editable files that were lost
    - Merging old maps (author unknown or gone) for Sven Co-op for an improved release (because of new limits and features)
    - Fix maps that have no editable files
    - Overcome the problem of not having editable files when the original authors are gone forever or agree to lend the map but have lost the editables
    - Being able to accurately decompile and compile maps could mean that ripents can be made WAY easier by not only using a mapping software for accurate and way faster ripents but also just copying the modified ent file from the new recompiled map onto the original map

  5. #5
    Donated 15NS$ for Sven's Holiday at the Bahamas Puchi's Avatar  
    Artist
    Join Date
    Nov 2002
    Location
    Akihabara, Bochum or Sailune
    Posts
    5,618

    Re: How about really effective GoldSrc BSP decompiler?

    I also do not see a need for this.
    Mostly on Adam's site: there will be people to re-release a map and rebrand them for their work.
    already happened in the history of sven co-op and those were ripented maps. The creator later added his name in brushwork into the map to make sure it's always maked his.
    Do it with passion, or not at all.
    Do not say everything you know. Know everything you say.
    [ MarySP ][ nacl-h2o ][ The next SC Version ♥♥♥♥ing pwns! ][Puchis Maps ]

  6. #6
    Still learning wolf-3d's Avatar  
    Tester
    Join Date
    Jan 2011
    Location
    Somewhere Warm.
    Posts
    1,482

    Re: How about really effective GoldSrc BSP decompiler?

    The base problem is always going to be potential abuse. (Copying & then re-branding other peoples work).

    But I also know that a lot of Server Operator's and some community members are actively trying to patch "old broken" maps and/or optimise them.
    Of cause such a recompile tool will make their work a lot easier and help to keep the amount and quality of publicly available/playable maps high, this not only keeps the "original" mapper's work "alive" but also helps to keep our player base entertained and also draws in new players.

    I think this should be an argument between "original mappers" and "newbie mappers".

    Coupled with a discussion between "community gate keepers" such as "Server Hosts" and "Mapping repositories" (i.e. www.scmapdb.com ) trying to agree some "basic abuse rules".

    Lets face it, the "SC team itself" is in no position to produce vast qualities of content (maps or other assets) and we are severely limited due to prior agreements with Valve. (We have to get permission for re-use/distribution of non-HL1 assets).
    Regards
    Wolf-3D

  7. #7
    Registered User
    Join Date
    Jul 2018
    Location
    Russia
    Posts
    15

    Re: How about really effective GoldSrc BSP decompiler?

    Quote Originally Posted by Puchi View Post
    Mostly on Adam's site: there will be people to re-release a map and rebrand them for their work.
    And they will be exposed in an hour. Or in a week at most, losing any credibility. Who would even do that? Some edgy teens? HL community is more mature than that.

  8. #8
    Still learning wolf-3d's Avatar  
    Tester
    Join Date
    Jan 2011
    Location
    Somewhere Warm.
    Posts
    1,482

    Re: How about really effective GoldSrc BSP decompiler?

    Wondering what the status of this idea is?
    Should someone setup two "votes/polls/linked threads" to get additional:
    1) mapper feedback, opinions & concerns?
    2) Gauge "repository" and "public server operator" opinion's on how to handle and cross notify each other IF or when they find re-branded/copied work.

    I am sure the "general community" will all be behind the general idea, as it promises greater variety via resurrection of "old/classic/broken maps". As well as the potential for new mappers to learn some of the "map construction mechanics" used by more experienced mappers.
    Regards
    Wolf-3D

  9. #9
    Registered User
    Join Date
    Jul 2018
    Location
    Russia
    Posts
    15

    Re: How about really effective GoldSrc BSP decompiler?

    Uncle Mike observed everyone's "I can't let them take my spiraling columns away from me!!" kind of reaction, shrugged and moved on with his further projects. Perhaps he can be convinced to return to this decompiler sometime in the future once public opinion changes.
    Last edited by crystallize; 30-10-2019 at 11:03 AM.

  10. #10
    Registered User
    Join Date
    Mar 2012
    Posts
    538

    Re: How about really effective GoldSrc BSP decompiler?

    Quote Originally Posted by AdamR View Post
    getting renamed afterwards then handed out into public distribution. -- Suddenly "BSP differs" everywhere!
    This has already been a problem for years with the advent of ripented maps. Ripent has a check where it can be set to not alter the checksum of the map when changing entity lists, so the HL engine can't tell the difference between the original and altered map. The way this was originally intended to be used was so that servers could have altered maps and the client didn't have to re-download them. How it actually turned out to work is servers running ripent'd maps threw them up on their fastdownload servers and suddenly everyone is running the tainted map. Then people upload dumps of their old map folders and through the passage of time, nobody remembers what happened and the original map is either lost or extremely difficult to find.

    One such casualty is the map ns_siege007_v2. It was a map for Natural-Selection that was a really good remake of ns_siege007. It had a secret door to the siege room that could be opened from another secret room. A few server admins got pissy about the door and had the button deleted. Eventually the tainted version ended up everywhere and as far as I know, the original was lost.


    Quote Originally Posted by GarompaEstomper View Post
    AdamR the idea is not that bad. If saving the file forces you to rename it can prevent some noobs to do that bsp differ error (unless they do it on purpose of course).
    There's nothing stopping them from changing it back, but they almost always don't use the original name, as can be seen in source games like Garry's Mod. rp_downtown_v2 has been decompiled and recompiled, as well as having decompiles of decompiles and protected decompiles of other decompiles because idiot noob mappers get mad when their sniper tower edited version gets a drug store. Now there are literally thousands of versions of rp_downtown_v2, which is a shame because the original mapper died years ago. Still have him forever on my Steam friends list.

    Quote Originally Posted by GarompaEstomper View Post
    Some mappers may use it for:

    - Recovering editable files that were lost
    This is already possible with existing decompilers. You get the hull of the map and you remake it. It sucks, but it can be done, and I have done it many, many times.

    Quote Originally Posted by GarompaEstomper View Post
    - Merging old maps (author unknown or gone) for Sven Co-op for an improved release (because of new limits and features)
    This can also be done currently, you just have to remake everything. And if the original maps have "1999 syndrome" then it would be best to remake them regardless.

    Quote Originally Posted by GarompaEstomper View Post
    - Fix maps that have no editable files
    This is just a different way of saying your first point.

    Quote Originally Posted by GarompaEstomper View Post
    - Overcome the problem of not having editable files when the original authors are gone forever or agree to lend the map but have lost the editables
    Ad nauseam.

    Quote Originally Posted by GarompaEstomper View Post
    - Being able to accurately decompile and compile maps could mean that ripents can be made WAY easier by not only using a mapping software for accurate and way faster ripents but also just copying the modified ent file from the new recompiled map onto the original map
    You don't need a perfect decompile to get ripent coords, current decompiles are fine for this. All of your points sort of hide the fact that you probably want to use a potentially better compiler for scummy purposes, like what has happened in Source games for years.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •