Remilia Scarlet Posted October 22, 2004 Even though I'm in Japan, I still get bored here at times, mainly in the night after 8:00 when most stores closes. This lead to me creating a new tool for Doom. And sorry in advance for a semi-verbose post. If anyone remembers recently, a friend of mine made a Mac-based program which took a wad file, extracted the lumps, and put them into a directory on your hard disk (Doomworld news). Quite a handy program, but only for Macs. My program, which is just called a.out and test.cpp right now (creative, ne?), does pretty much the same thing, but it's missing the recompilation into a wad file (working on that now), and has one slightly different feature... Doom wads have certain lumps which act as markers, such as E1M1, F1_START, etc., all of which have a size of 0. I like to think of these as seperate directories. When my program takes a wad's lumps and slaps them into a directory, when it finds one of these markers, it makes a new sub folder. For example, check this: http://www.du.edu/~ahunt/example.jpg Now, I deleted a few folders from there so you could see the tree a bit easier. And it's not really extracted from killtex.wad, but doom.wad. What it does show is the lumps extracted to seperate directories. I'm not overly knowledgable on the extra lumps we put in pwads now adays, so I'm wondering if there are any other extra 0-sized marker-style lumps I need to worry about. If there are, please let me know. When I finish the recreation of the wad from a directory part of the program, it'll work similar to a program found on the Doomsdayhq site. There are just a few things I need to figure out, like testing to make sure none of the folders that users add (say you added something like a MS_START folder to organize music for a future port that supported it) fall within the 8-character limit. Also, I'm thinking about automatically merging wads found in the subsequent directories into one wad. So say you want to make kill.wad, which consists of these directories: ->(root directory) ke1m1.wad ke1m2.wad ... ke3m9.wad ---->FF_START ---->BLAH1 ---->BLAH2 ENDDOOM This is what's on our hard disk, and we want kill.wad to look like this (make believe you're looking at it in NWT or XWE or something): E1M1 THINGS LINEDEFS SIDEDEFS VERTEXES SEGS SSECTORS NODES SECTORS REJECT BLOCKMAP E1M2 ... FF_START BLAH1 BLAH2 FF_END ENDDOOM The lumps in the FF_START directory would be added as lumps after the FF_START marker lump (and automatically, the program will know to add a FF_END lump...which is why I need to know any extra 0-sized lumps used today). When it reaches a wad, like ke1m1.wad, it'll automatically merge it into the resulting wad you're building (kill.wad in this case). There are additional considerations I'll have to take into account here, but I have an idea already how to do so. The program is certainly not finished yet, but taking a wad and decompiling it into a directory works perfectly so far on a few wads I've tested. I'm not entirely sure if I'll release it when I'm finished, as it's may be too close to Michael's program, but I'll ask him if he's cool with it. Right now, the thing's running on Linux, as that's where I program in C++. libdoomwad is supposed to be portable to other operating systems, though, so porting this code over to Cygwin for a Windows version should be easy, and the few Linux-exclusive lines I used should be easy to port (maybe I can still use them in Cygwin...I've hardly used that thing). Uhh, yeah. Maybe I can also use this for a future C++ assignment at school. 0 Share this post Link to post
Snarboo Posted October 22, 2004 That sounds pretty cool! It will certainly make organizing multiple files and file types into a wad that much easier. I should note that I like to keep the contents of my wad files very tidy, and sometimes it's hard to do that once the files are already in the wad. 0 Share this post Link to post
Fredrik Posted October 22, 2004 Omgifol already does this (including PNG loading and automatically generating PNAMES/TEXTURE1) (and runs on all major platforms)... I'll have to convince myself to release it some day. Edit: by the way, why is this in Blogs? o_O 0 Share this post Link to post
Job Posted October 22, 2004 Not sure if this was quite a mod per se, so here it is in Doom General. 0 Share this post Link to post
m0l0t0v Posted October 22, 2004 http://www.du.edu/~ahunt/example.jpg Who's the chick? if you don't mind me asking 0 Share this post Link to post
Remilia Scarlet Posted October 22, 2004 m0l0t0v said:http://www.du.edu/~ahunt/example.jpg Who's the chick? if you don't mind me asking My almost girlfriend. You have to remember that part of the reason I wrote this program is boredom and C++ practice. So if others exist already like it...oh well. 0 Share this post Link to post
SyntherAugustus Posted October 23, 2004 You watching Gundam SEED Destiny over there? 0 Share this post Link to post
Linguica Posted October 23, 2004 DJ_Haruko said:My almost girlfriend.So some girl you know 0 Share this post Link to post
Joe Posted October 23, 2004 Oh unholy spoon! Don't tile background images like that! It looks crap and you're obsesssed with this cosplay woman. And you're using Linux, i hate you. I can't get Mandrake to bloody work. HDA : Lost interrupt error? WTF. 0 Share this post Link to post
Remilia Scarlet Posted October 23, 2004 BlackFish said:You watching Gundam SEED Destiny over there? I refuse to look at anything related to Gundam, so no. And Joe, yes, I'm using Linux. Slackware-current running the 2.6.8.1 kernel on my laptop. I tiled the background 'cause I didn't like the pixelization of it when I expanded it. AND...I like women who cosplay ^_^ 0 Share this post Link to post
ducon Posted October 23, 2004 DJ_Haruko said:I tiled the background 'cause I didn't like the pixelization of it when I expanded it. [/B] If you don’t like pixelization, try WindowMaker or Gnome. 0 Share this post Link to post
Fusion Posted October 31, 2004 Release this program, it would be pretty sweet for organizing large wads.. and a lot easier to manipulate. Unless Fred releases his, i do not know of any other alternative other than the one you specified. 0 Share this post Link to post