Another update, I had some time last week to do some work on this. I got pretty deep into reverse engineering CoD2 maps, I still don't understand how the patch format works but most other things are falling into place. They did some really odd stuff with their patches so I'll probably have to do a bit more digging. Thing is, I have to move soon in the next couple weeks so I'll be busy doing that, and still working full time. As if that weren't enough, my desktop (which has my work on it) has a new computer case but my power supply's cables aren't long enough for it, so I ordered extensions but they're not here yet.
One thing I didn't even notice until I got started, the old support for CoD2 was completely broken. My old RE was identical to CoD1 and I didn't notice, so somehow years ago I got my hands on a CoD1 map thinking it was from CoD2. This time I actually own the game on Steam so I have retail maps to look at. Hopefully soon I can finish this up and figure out how patches work.
So about a week ago I made some changes to LibBSP that broke decompiling for MOHAA. I just committed the fix for this. Whoops. Other than that not much to say. Still working on bits here and there.
Nice! I decompiled some CoD1 maps a while back using it and was just happy it worked at all. Shame this wasn't around when I was into CoD 1 mapping all those years ago lol.
Would be cool to include a halflife/cs converter too. I know they exist because I did it ages ago, just not sure how accurate it was compared to this one.
And maybe one day it can be possible to do something like this similar for models. That would be awesome to be able to convert a range of player and weapon models into different game engines.
Half-Life and Quake 1 maps don't store a record of the brushes used to construct them, which is what I'm using for literally every other game. Previous decompilers have done all kinds of crazy things to get a decompiled map from a BSP, but it's far from accurate. Some of them just create a brush for each face. My personal favorite used a subtractive algorithm, I think it was WinBSPC. I'd probably try to use a technique like that.
Yeah, I did this so many years ago I can't remember what I used. I think at the time I decompiled from bsp to map and then converted map to the CSS map. When I actually played the game though it was funny because the models in the game were skewed compared to mohaa model size because certain height models that you're not normally able to jump on to in CSS you could easily get on in MOHAA, and you towered over many objects in the game; whereas in CS they were used to hide behind. :P