A Possible FIX for maps with deleted/obfuscated brushes!
I say "Possible" because it has not been verified that it works yet. The fine person that discovered this possible fix is a fellow I met on Discord -> Xaleros
I know that this was posted over at UT99.org prematurely, and before I posted anything about it yet... ut99.org/viewtopic.php?f=12&t=13149 I myself was waiting on more verification and information from Xaleros so I could post about it correctly.
Not only was this information posted prematurely, it was also missing a key part. As a mapper, I did not recall the variable that Xaleros mentioned in his discord post, so in our ongoing private chat I asked him how to locate that variable and he told me what tool he used, and also passed that tool on to me. (It is a common old tool actually)
I myself was in the midst of investigating this in private chats with the person who discovered this possible fix, a fellow who's Nick is Xaleros, well before anybody else thought to look into it, and I have been waiting for Xaleros's reply.
He said he is still working on some problems, and also that he would make an Account here at HUTP and post his findings. Xaleros seems like a very intelligent person to me - and a great addition to our forum and commumity!
Hello! Just wanted to check in with where I'm at currently.
It seems that only Unreal keeps around the brushes after they've been deleted. In UT99 (I've only tried with the 436 editor, haven't tried with anything older) the brushes do actually get deleted and Unreal Tournament Package Tool (UTPT) does not list them at all. Additionally, they do not show up in the Level's actor list when deleted.
I'm still working on deciphering the 'Model' object so that I can hopefully write my own T3D exporter for an open source UCC clone that I'm writing. Based on what the brush stores (which seems to be only the location, rotation, scaling, and the Model associated with that brush) it may be possible to restore the original brush's location by doing some sort of math on each vertex in the brush, but as of right now this is purely a guess.
I'll post more here when I have enough evidence to try restoring deleted brushes (or if I find that it is still not possible)
Hey guys, sorry for the delay. College is getting quite busy
I've made quite a bit of progress on loading levels from any Unreal Engine 1 game. There are still some bugs to iron out but nothing seems fundamentally broken yet, which is a really good sign.
Each Model object seems to have a reference to, among other things, a single "Polys" object. This "Polys" object seems to be responsible for holding all of the brush geometry itself as well as what textures each polygon uses.
I will post more about the project itself in a separate thread later this week hopefully. Before I get to working on actually restoring brushes, I will be pushing out the first release of my project (named "libunr", shorthand for "Unreal Library" with the conventional Unix library naming scheme). Following that I will post about my work regarding brush restoration here.
Just a very small update ... xaleros contacted me and said he has made pretty good progress with this project of his. People, this is UT History in the making, and xaleros's name will go down in UT history I am thinking. If xaleros is correct in his theories, this is something that has never been accomplished in the UT Community, or maybe even in the gaming community as a whole. At least I have not heard of even an inkling of this sort of thing being done!
I do not want to post too much myself, as I do not know enough and results are yet to be finalized. However. xaleros should post something more definite - maybe in a few weeks ... (?)
Welp, I've been a bit busy lately but definitely making progress on this. I'm gonna try to make an effort to be more active here.
It seems I've hit a brick wall with restoring deleted brushes in UT99. My level exporter currently handles restoring brushes in Unreal maps, where the brushes are only marked for deletion (bDeleteMe and bSelected are not user settable properties in the editor, which my exporter ignores). However, in UT99 the Polys objects that describe the geometry of each brush really are gone as well as their Model object. The only left over that exists is all of the bsp information which, as of right now, is not something I've become familiar with....yet.
To that end, I will have to put this task to the wayside for now. I'm working on finalizing the first release of my tool, but afterwards I will be writing Vulkan and OpenGL renderers with the potential for a software renderer just for fun. I'm thinking that if I can't get the original brush data back from polygons, I can try to restore the brushwork based on BSP surfaces with specific relations to other BSP surfaces (are they connected, are the surfaces coplanar, etc) and attempting to make heuristic deductions based on that.
Doing this will require a renderer that is able to tell me information about a BSP surface that I am looking at in order to make more immediate conclusions about how to group them into brushes (which, luckily, I was going to do anyway). I will be spending quite a bit of time on both of these, so I wouldn't expect to hear much anytime soon.