I Will Program Small Doom Utilities For You

GreyGhost said:

Any chance of a utility (discussed here) that can count the number of map markers in a directory, preferably while they're zipped?


That's pretty doable. I'll add it to the list.

Share this post


Link to post

Okay, guys. Get ready for this: TEXtract is COMPLETE, and I've modified TexSpy so that you can generate output that TEXtract reads.

From the text file:

TEXtract is a utility that extracts a list of textures from a set of WAD 
files and puts them in another WAD file. It will extract what is on the 
provided list, as well as attempt to pull textures that it knows are parts of
animated textures and switches, and if it can't find those, it will attempt
to pull an ANIMATED or SWITCHES lump to get that information.

It will extract TEXTUREx, PNAMES, patches, flats between F_ or FF_ markers and textures
between TX_ markers in WAD files. Nothing else.

The list for what to extract is read from STDIN. The list may be terminated
with "-end" or the EOF character (Ctrl-Z on Windows, Ctrl-D on Linux/Unix/
OSX).
So, long story short, when used in conjunction with TexSpy, it should grab only what you need to run the map, like if you typed something like this:
texspy map*.wad -textract | textract textures.wad -base doom2.wad -o out.wad
It will also detect if an existing texture was changed, or rather if its patches were replaced, and copy that over as well (useful for new skies and stuff). I've tested it quite a bit and I think it's at least ready for a test run. Just back up whatever you point it at for output. (Essel, you may want to give this program a try for compiling BTSX.)

I also moved some programs to version 1.0, but who cares about that? TEXtract!

EDIT: Whoop! Hang on - had to fix a bug. Grab v0.9.1!

Share this post


Link to post

Just bumping the thread to let people know that I've fixed a bunch of things in TEXtract.

0.9.2
    Changed ordering of how lumps are written to output wads.
    Made sure that textures are written back in alphabetical order - not
        doing that may break animations, maybe not, but I'm a tad anal about 
        it anyway.
    ANIMATED now exports correctly (more correctly than before).
    Fixed internal animation table.
Grab v0.9.2 in the post at the beginning of the thread.

MapCount's being worked on as well as DoomSND. Just need to figure out how to handle PK3s in ZIPs properly for MapCount (since they are basically ZIPs in ZIPs).

Share this post


Link to post
MTrop said:

TEXtract v0.9.2[/b] - Extracts textures from texture packs. Detects animated texture names (both built-in and from ANIMATED/SWITCHES).


Oh man you're a god. I will try this out soon and let you know if I have any hiccups.

Share this post


Link to post

I'd like to remind everyone to BACK UP any output wad that you use with TEXtract. It modifies the output WAD if it exists and creates ones that don't exist.

Also, it is better to use TEXtract in conjunction with TexSpy if you want to save yourself some trouble.

Share this post


Link to post

I don't see a mention of this. As well as the ANIMATED lump, does it also support the ANIMDEFS lump (which is used for switch and animation definitions in ZDoom)?

Share this post


Link to post
Enjay said:

I don't see a mention of this. As well as the ANIMATED lump, does it also support the ANIMDEFS lump (which is used for switch and animation definitions in ZDoom)?


Unfortunately, no. I'd have to write something to parse it, and I haven't yet, as there wasn't a need. But now, it looks like there may be one.

I'll probably also write the more general parsers for ZDoom-related structures at that time as well, since a lot of ZDoom's auxilliary data is text-based, and not binary. Some have similar grammar structures, which makes things a lot easier to parse.

Share this post


Link to post

Okay, I've added MapCount, and updated TexSpy and ThingSpy to look inside PK3s inside ZIPs.

TEXtract got a tiny update that isn't necessary to get, really.

Share this post


Link to post

Updates:

Moved TexSpy and MapCount to 1.0.

Added DoomSND, which converts WAVs to Doom's Digital Sound format. It does not change the original sampling rate. In the future, I'll provide a way to pipe other formats in, either via FFmpeg or whatever.

Share this post


Link to post
MTrop said:

MapCount v1.0[/b] - Map entry counter (for ZIPS, PK3s, and WADs).

Works well, many thanks. Any possibility of adding an option to search sub-directories recursively and supporting a few more archive formats, like .7z and .rar?

Share this post


Link to post
GreyGhost said:

Works well, many thanks. Any possibility of adding an option to search sub-directories recursively and supporting a few more archive formats, like .7z and .rar?


Sub-directory traversal should not be a problem, but Java has this annoying thing where wildcard-containing arguments are actually blown up into multiple arguments which will make it hard to only find certain user-specified patterns of filenames. I'll have to find a way around it, or ignore that part altogether.

I'll have to find something written in Java that will read the additional archive formats. Java has native ZIP/GZIP support due to it being a part of the standard library, but I'll need some third-party software to make those other formats work.

Share this post


Link to post

Looks like there's still a few bugs to squash in MapCount. I pointed the Win32-L4J version at my /combos directory and encountered the following errors -

ERROR: Could not read entry BIA_sktg.pk3. (in combos\bia.zip) - file type mismatch, it's a misnamed wad file!

ERROR: Couldn't open e:\idgames\archive\combos\paulsnd.zip: not a WAD or PK3. - can't see anything wrong with it


Illegal argument exception when opening combos\possesme.zip

You can probably blame Arrowood for the BIA_sktg.pk3 error but I can't see any obvious errors in the other zips, unless MapCount objects to accented characters in file names.

Share this post


Link to post
GreyGhost said:

Looks like there's still a few bugs to squash in MapCount. I pointed the Win32-L4J version at my /combos directory and encountered the following errors -

ERROR: Could not read entry BIA_sktg.pk3. (in combos\bia.zip) - file type mismatch, it's a misnamed wad file!


That's fixable.

GreyGhost said:

ERROR: Couldn't open e:\idgames\archive\combos\paulsnd.zip: not a WAD or PK3. - can't see anything wrong with it


That's not as fixable. Looks like paulsnd.zip uses the outdated IMPLODE algorithm rather than DEFLATE, which Java understands.

GreyGhost said:

Illegal argument exception when opening combos\possesme.zip

You can probably blame Arrowood for the BIA_sktg.pk3 error but I can't see any obvious errors in the other zips, unless MapCount objects to accented characters in file names.


It objects to accented characters in filenames because the Java implementation does. Part of the problem lies in the fact that ZIP files do not store any information about character encoding, so Java is assuming "UTF-8" as the text encoding.


Both of these problems can be cleared up with using a different library for unzipping - maybe a ZLIB or 7Zip wrapper, but I'll need to figure out which one will be the best one to use.

Share this post


Link to post

Hey, all.

Sorry for my inactivity - I've been busy with other things. I'll get back to fixing and programming stuff this week.

As always, let me know if things need fixing, or if you have other suggestions.

Share this post


Link to post

Could you make a program that reorganizes all the entries in a WAD to match the order that they are in doom, doom2, tnt or plutonia wads? For example, a custom WAD has some sprite names in the following order:

PSTRA0
BFUGA0
CELLA0
PLASA0

While the IWAD's have it in this order:

PLASA0
BFUGA0
CELLA0
PSTRA0

Any foreign texture/sprite/flat names would be stuffed at the bottom of the list of that section.

If this is too complex then it isn't a problem, I'll just reorganize by hand. (Which I already did with sprites and flats which was... tedious)

Share this post


Link to post
Death Egg said:

Could you make a program that reorganizes all the entries in a WAD to match the order that they are in doom, doom2, tnt or plutonia wads? For example, a custom WAD has some sprite names in the following order:

PSTRA0
BFUGA0
CELLA0
PLASA0

While the IWAD's have it in this order:

PLASA0
BFUGA0
CELLA0
PSTRA0

Any foreign texture/sprite/flat names would be stuffed at the bottom of the list of that section.

If this is too complex then it isn't a problem, I'll just reorganize by hand. (Which I already did with sprites and flats which was... tedious)



That'll be added to the WAD-sorter, which is on the list.


I'll be shifting gears a bit though, I'm writing an IdGames frontend at the moment and then going back to the MD2Tool frontend.

If anybody would like to claim a project for their own, don't be shy - step on up!

Share this post


Link to post

Is there anything out there that could turn IWADs into PWADs+DEH patches.

I am trying to get Hacx1.2 to run on Doom2.exe through DosBox but it just doesn't seem to work. The Doom Wiki "claims" it's vinilla compatible if you "extract the DeHackEd lump and use it to make a patch" so I extracted the "DEHACKED" lump from the HACX.WAD (v1.2) and saved it as a .DEH file. I had the full version of Hacx 1.1 installed properly, so I tried replacing the HACX.WAD and HACX.DEH with the new ones but when I start up the game is plays the DOOM II music instead of the HACX music.

Are there any small programs/apps/utilities out there that could convert the take a WAD that is in modern PWAD format and properly extract the DeHackEd lump and change the PWAD to IWAD format.

I compared the two HACX wads in SLADE and their are clearly organized differently. I tried converting the Hacx1.2 PWAD to IWAD format myself but was very unsuccessful.

If anyone could help me out with this that would be great, and also I thought it might be a useful utility idea.

Share this post


Link to post
MTrop said:

I'll be shifting gears a bit though, I'm writing an IdGames frontend at the moment and then going back to the MD2Tool frontend.


ohh, exciting :)

Share this post


Link to post

As other people have said it's awesome you're doing this.

I hope my problem isn't too niche. I'm making a texture pack for Doom 64 ex which includes a bunch of custom skies. As Doom 64 renders its skies in realtime, I could really use something that makes a 64x64 preview png for every skydef in a wad. If it had an option to insert the previews into the wad too that would be perfect.

I had started doing this by hand myself but with a lot of skies something automated would be much more sensible.



I'll assume you aren't familiar with Doom 64 sky specifics.

http://doom64ex.sourceforge.net/wiki/index.php/SKYDEFS

Also, in the Doom 64 tech bible, the four passes info on page 38 tells exactly how the sky coloring is rendered.

If you think you might make this I could get into some more specifics that would be useful (stuff like adding a T to indicate skies with thunder).

Share this post


Link to post

Make me an Android app which will let me watch lmps on my phone

kthanx

Share this post


Link to post

I should have looked at this thread sooner. Some md2 tool GUI would be extremely useful... Sheeeoot *hick voice*!

Now if only I could convince you to create an md2 exporter.

Share this post


Link to post

Can you make a mod that allows you to cheat on the "nightmare!" difficulty?

Share this post


Link to post

If you run Doom on -skill 4 with the -fast and -respawn parameters, you can achieve the same effect of playing Nightmare, and you will still be able to use cheat codes. I can be more specific but I need to know which source port you use.

Share this post


Link to post

Is there any utility that can take a map and scale it reliably by percentage?

As an example, in Doom Builder I tried to scale a section of newly-drawn map to double its size (because too many 64-wide hallways suck and 128-wide ones are about as narrow as I generally like to go), and even using the grid as a reference, I couldn't get it right. Had to redraw the thing from scratch at double the size.

Share this post


Link to post
NiuHaka said:

I should have looked at this thread sooner. Some md2 tool GUI would be extremely useful... Sheeeoot *hick voice*!


Yup, this is why I originally put in a request as we are working with lofs of MD2 models and I thought something like this would help us a huge amount.....especially with the 'new' plans.

Now if only I could convince you to create an md2 exporter.


Now I didn't think of that one! Not sure if MTrop can do that sort of thing? Might be worth finding out.

Share this post


Link to post
darkreaver said:

Make me an Android app which will let me watch lmps on my phone

kthanx

DOSBox, dude (I'm using AnDOSBox).

Share this post


Link to post
ComicMischief said:

Is there any utility that can take a map and scale it reliably by percentage?

As an example, in Doom Builder I tried to scale a section of newly-drawn map to double its size (because too many 64-wide hallways suck and 128-wide ones are about as narrow as I generally like to go), and even using the grid as a reference, I couldn't get it right. Had to redraw the thing from scratch at double the size.


In DB2, by selecting linedefs or sectors, pressing "E" and then hovering your mouse cursor above the "Edit selection" tab that pops up on the far right column, you can scale your selection.

Share this post


Link to post
bcwood16 said:

Now I didn't think of that one! Not sure if MTrop can do that sort of thing? Might be worth finding out.


Any MD2 exporter I could make will be terrible. It would do no optimization or welding, nor would it optimize it into separate OpenGL commands. You're better off using MD2Tool to do it.


I forget if I asked you want you would want it to do or make easier, exactly. Something about skins or whatever? Saving of any settings?

Share this post


Link to post
40oz said:

If you run Doom on -skill 4 with the -fast and -respawn parameters, you can achieve the same effect of playing Nightmare, and you will still be able to use cheat codes. I can be more specific but I need to know which source port you use.


Not true; ammo is doubled on Nightmare!.

Unless for some reason -fast -respawn doubles ammo even though individually they don't.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now