Not having anything to do during my winter break, I started writing classes for RB on map parsing. I'll have a link to the source of some of the classes. A few still need work, such as "Linked Maps," the driving force of map decompiling, memory loading, and compiling.
This demo of sorts contains the roots of my little project. It's basically a class for loading maps and pulling information from them without having to go back to the file itself, once loaded, of course. It also has a few universal methods and such which could be useful in other, non-Halo applications. An example of this is my basic "string reader." Will read strings without a set length, like those in map files. I know many programs do the same thing, but they also seem to set the stream backwards to read a character, this doesn't, making it a little faster.

Not bad. Some good improvements on the basic map loading code. I'd quibble on a few of the variable names picked, particularly the temp variable tag_offsets but it works alright. Not very OO but I'm not sure how important that is to you.

Disclaimer: I am no longer active. Any posts, PMs or other communication I use has no guarantee of accuracy or follow up.
Download Eschaton: Mediafire

Yeah, I'll slim it down a bit more and remove as much of that stuff as I can before it's public. My main focus right now is the "Linked Maps." That should make advanced map editing like decompiling, adding tags and whatnot very easy, and early tests show it to be quite a bit faster than Eschaton's algorithms too. ;D

EDIT: Also, another thing I didn't include in this download are the mapped out tags classes. They work with Linked Maps to create new tags for maps. I'm not sure if I'll make those public anytime soon.

I'm not sure I understand what you mean be linked maps. I see the same basic stuff where it's just a large collection of data all tied to one map. The only thing that seems like it might be faster is the tag length calculation. Unless you think there's some major speedups to be had in not having classes for the header and the like which might be true in RB I suppose. If you want really fast, you could just mass load everything for relevant sections and then lookup the data within memory blocks. One of the traditionally slowest parts of code are in the I/O.

Disclaimer: I am no longer active. Any posts, PMs or other communication I use has no guarantee of accuracy or follow up.
Download Eschaton: Mediafire

Altimit01 wrote:If you want really fast, you could just mass load everything for relevant sections and then lookup the data within memory blocks. One of the traditionally slowest parts of code are in the I/O.

Hm. Yeah, now that I think about it, loading the map file (or whatever you need to) in memory makes sense. It's faster once loaded, and you can more easily or safely, implement features like saving and undo/redo.

I am no longer active to Halo or MGM, and don't guarantee a response on the forums or through email. I will however linger around the discord room for general chatting. It's been fun!