playing mp3s with zdoom wads

Archive of the old editing forum
Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. This forum is archived - please use this set of forums to ask new questions.
DaniJ
Posts: 116
Joined: Sun Jan 30, 2005 12:52 am

Post by DaniJ »

Why do you have this insane desire to treat a map as 12 files? Just because it happens to be made out of 12 lumps in a WAD?
I really don't see the issue. I take those 12 lumps and put them in ZIP and I have one entity. I take the same 12 lumps and put them in a WAD and I have one entity. I'm not treating them any differently.
I'm sorry but what potential is there in making your maps incompatible with every tool that's out there without any real gain?
Think about it. With no reason to use WAD as a container there is no NEED for the vast majority of those niche tools. Due to not requiring oddball tools anyone whos modded for more modern engines can very quickly adapt to modding with DOOM as the tools are the same.

The only bespoke tools still required are level editors and (to a lesser degree) node builders. These can very easily be updated to support ZIP.
User avatar
BouncyTEM
Posts: 3823
Joined: Sun Aug 24, 2003 5:42 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Windows 10
Graphics Processor: nVidia with Vulkan support
Location: 2280 Lol Street: The Calamitous Carnival (formerly Senators Prison)

Post by BouncyTEM »

ok, reading all of this, i'm just going to give my opinion on it.

now, not being a programmer myself, my opinion, I guess, would be what Graf calls the 'end-user'. So, I guess it was about time a end user gave his opinion on the subject.
now, say, with Doom Builder and Wads right now, I see starting up a new wad as one simple thing and don't have to worry or even be concerned about what makes it inside the wad at all whatsoever when making a level, so i'd see it, as, say, e1m1.wad.

going from what DaniJ said, i'm going to be seeing future level making as
e1m1/
e1m1/blockmap.lmp
e1m1/linedefs.lmp
e1m1/nodes.lmp
e1m1/reject.lmp
e1m1/sectors.lmp
e1m1/segs.lmp
e1m1/sidedefs.lmp
e1m1/ssectors.lmp
e1m1/things.lmp
e1m1/vertexes.lmp

that, which makes me, all and all, confused. Since how would I make any map from that? since none of that really means anything to me, truth be told, so it's like i'm going to have to write every bit of data from scratch or something? :?

just my 0.02.
If i happen to be blatanly ignorant on this subject, I apologize. I was simply giving an opinion from what I had seen and read.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49252
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

Not quite. This is about how levels are supposed to be organized inside a Zip. DaniJ proposes to keep the lumps separate and define a way to handle that.
I think that this is a waste of effort and it'd be more natural to keep the level as a WAD and put it inside the Zip as a whole. I really see no need to expose the level's internal structure more than absolutely necessary as this would do. So this only becomes an issue when maintaining the Zip file. With one proposition you got a subdirectory with 12 files in it and with the other you get a single file inside the Zip which happens to be a WAD containing 12 lumps but effectively hiding that fact from you.

If you are concerned about editing, there first have to be an editor and related tools that can handle this form of Zip file. Currently there are none so you wouldn't have to worry for the time being.
User avatar
BouncyTEM
Posts: 3823
Joined: Sun Aug 24, 2003 5:42 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Windows 10
Graphics Processor: nVidia with Vulkan support
Location: 2280 Lol Street: The Calamitous Carnival (formerly Senators Prison)

Post by BouncyTEM »

Graf Zahl wrote:Not quite. This is about how levels are supposed to be organized inside a Zip. DaniJ proposes to keep the lumps separate and define a way to handle that.
I think that this is a waste of effort and it'd be more natural to keep the level as a WAD and put it inside the Zip as a whole. I really see no need to expose the level's internal structure more than absolutely necessary as this would do. So this only becomes an issue when maintaining the Zip file. With one proposition you got a subdirectory with 12 files in it and with the other you get a single file inside the Zip which happens to be a WAD containing 12 lumps but effectively hiding that fact from you.

If you are concerned about editing, there first have to be an editor and related tools that can handle this form of Zip file. Currently there are none so you wouldn't have to worry for the time being.
ah, ok.

now that makes sense to me from an end-user point.
what DaniJ is saying doesn't.

thanks for the clarification btw.

i'll leave this to the programmers now.
/me leaves
DaniJ
Posts: 116
Joined: Sun Jan 30, 2005 12:52 am

Post by DaniJ »

Sigh.

Bouncy - there would be 12 seperate files with my ZIP only design as there would be 12 seperate files with the existing WAD in ZIP design.
Don't let Graf's self-benefiting example cloud the issue.
My map in ZIP Design wrote: MyMod.ZIP
MyMod.ZIP/e1m1.zip
MyMod.ZIP/e1m1.zip/e1m1.lmp
MyMod.ZIP/e1m1.zip/things.lmp
MyMod.ZIP/e1m1.zip/linedefs.lmp
MyMod.ZIP/e1m1.zip/sidedefs.lmp
MyMod.ZIP/e1m1.zip/vertexes.lmp
MyMod.ZIP/e1m1.zip/segs.lmp
MyMod.ZIP/e1m1.zip/ssectors.lmp
MyMod.ZIP/e1m1.zip/nodes.lmp
MyMod.ZIP/e1m1.zip/sectors.lmp
MyMod.ZIP/e1m1.zip/reject.lmp
MyMod.ZIP/e1m1.zip/blockmap.lmp
My map in ZIP Design with prefixes to ensure load order wrote: MyMod.ZIP
MyMod.ZIP/e1m1.3/00_e1m1.lmp
MyMod.ZIP/e1m1.3/01_things.lmp
MyMod.ZIP/e1m1.3/02_inedefs.lmp
MyMod.ZIP/e1m1.3/03_sidedefs.lmp
MyMod.ZIP/e1m1.3/04_vertexes.lmp
MyMod.ZIP/e1m1.3/05_segs.lmp
MyMod.ZIP/e1m1.3/06_ssectors.lmp
MyMod.ZIP/e1m1.3/07_nodes.lmp
MyMod.ZIP/e1m1.3/08_sectors.lmp
MyMod.ZIP/e1m1.3/09_reject.lmp
MyMod.ZIP/e1m1.3/10_blockmap.lmp
My map in ZIP Design without prefixes using file extensions wrote: MyMod.ZIP
MyMod.ZIP/firstlevel.zip/e1m1.header
MyMod.ZIP/firstlevel.zip/e1m1.things
MyMod.ZIP/firstlevel.zip/e1m1.linedefs
MyMod.ZIP/firstlevel.zip/e1m1.sidedefs
MyMod.ZIP/firstlevel.zip/e1m1.vertexes
MyMod.ZIP/firstlevel.zip/e1m1.segs
MyMod.ZIP/firstlevel.zip/e1m1.ssectors
MyMod.ZIP/firstlevel.zip/e1m1.nodes
MyMod.ZIP/firstlevel.zip/e1m1.sectors
MyMod.ZIP/firstlevel.zip/e1m1.reject
MyMod.ZIP/firstlevel.zip/e1m1.blockmap
Which is for all intents the same as:
WAD in ZIP design wrote: MyMod.ZIP
MyMod.ZIP/e1m1.wad
MyMod.ZIP/e1m1.wad/E1M1
MyMod.ZIP/e1m1.wad/THINGS
MyMod.ZIP/e1m1.wad/LINEDEFS
MyMod.ZIP/e1m1.wad/SIDEDEFS
MyMod.ZIP/e1m1.wad/VERTEXES
MyMod.ZIP/e1m1.wad/SEGS
MyMod.ZIP/e1m1.wad/SSECTORS
MyMod.ZIP/e1m1.wad/NODES
MyMod.ZIP/e1m1.wad/SECTORS
MyMod.ZIP/e1m1.wad/REJECT
MyMod.ZIP/e1m1.wad/BLOCKMAP
Despite what Graf may lead you to believe.
Last edited by DaniJ on Sun Jun 11, 2006 7:21 pm, edited 1 time in total.
User avatar
BouncyTEM
Posts: 3823
Joined: Sun Aug 24, 2003 5:42 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Windows 10
Graphics Processor: nVidia with Vulkan support
Location: 2280 Lol Street: The Calamitous Carnival (formerly Senators Prison)

Post by BouncyTEM »

hm..that makes sense too.
sounds a lot better than, say

mymod.zip/e1m1.sec
mymod.zip/e1m1.ver
mymod.zip/e1m1.lin
mymod.zip/e1m1.tng
etc.

both ways {Graf's and yours} work for me. :)
User avatar
randi
Site Admin
Posts: 7749
Joined: Wed Jul 09, 2003 10:30 pm
Contact:

Post by randi »

So basically, a "lump assembly" is just another name for a directory tree? And Doomsday uses a single digit extension of the directory name to specify a prefix length for all the contents of that directory? The prefix is stripped from the filenames when you read the directory, but it is still used to sort the contents of the directory?

Since you've removed the need for a specific lump order for maps, the only time ordering of individual lumps inside a zip actually matters is when defining an animation based only on a start and end texture, and that can be easily taken care of through natural naming. What actual benefit to you gain by imposing additional ordering rules in addition to "all files will be sorted alphabetically?" I'm sorry, but this looks to me like a solution in search of a problem.
DaniJ
Posts: 116
Joined: Sun Jan 30, 2005 12:52 am

Post by DaniJ »

So basically, a "lump assembly" is just another name for a directory tree? And Doomsday uses a single digit extension of the directory name to specify a prefix length for all the contents of that directory? The prefix is stripped from the filenames when you read the directory, but it is still used to sort the contents of the directory?
100% correct.
Since you've removed the need for a specific lump order for maps, the only time ordering of individual lumps inside a zip actually matters is when defining an animation based only on a start and end texture, and that can be easily taken care of through natural naming. What actual benefit to you gain by imposing additional ordering rules in addition to "all files will be sorted alphabetically?" I'm sorry, but this looks to me like a solution in search of a problem.
What I didn't mention was that Lump Assembly was implemented long before we removed the lump order limitation on map data lumps (and predates the current implementation of ZIP support). So yes, now the prefixes are somewhat redundant.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49252
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

DaniJ wrote:Sigh.

Bouncy - there would be 12 seperate files with my ZIP only design as there would be 12 seperate files with the existing WAD in ZIP design.
Don't let Graf's self-benefiting example cloud the issue.

Why do you have this insane need to keep the map lumps separate? Aside from giving you something that is technically proper there is absolutely no benefit whatsoever in doing it. In the long run it will only complicate matters for the user.

Just because WADs do it this way doesn't mean it's good to expose it at the top level.

I'd rather see that lump managers like XWE hide this implemetation detail from the user - but with fully porting it to the Zip directory you bringing it even wider in the open than it is already because any normal Zip tool will list all these things as truly separate files that - which poses a significantly larger risk of accidentally damaging the level data by improper manipulation.
User avatar
Kristus
Posts: 437
Joined: Wed Feb 23, 2005 4:02 am
Location: Bed

Post by Kristus »

There's no point in repeating what I and others already said over and over, but I will make one last effort before I give up on this topic completely.

DaniJ: Your implementation, it's not that we don't understand what you are saying, we do understand. But you don't seem to understand that your suggestion is obtuse and pointless.

You want to get away from using XWE and other such tools. All of us can respect that. But you don't seem to understand that by changing the way a map is stored from a single wad to a zip will accomplish nothing.

Trust me on this, I've been working with wads and maps for over a deacade now and there's not been ONE time when I've EVER needed to open a single map wad file with with a wad editing tool.

Wad editing tools are only used for assempling and deassembling resources in a wad. Just because a map is made out of several different files within the wad, doesn't mean that you will need to use a wad editing tool to edit these.

So do yourself, and the users a favor. And do as we suggest. Leave the maps into wad files. It's clean, it's simple and you will never have to fuck around with it.

If you seperate and make the structure complex like you suggest, or you put them in zip files where it's easy to open and mess with, people WILL manage to damage their files. Just like they do in XWE or WinTex
User avatar
Phobus
Posts: 5984
Joined: Thu May 05, 2005 10:56 am
Location: London
Contact:

Post by Phobus »

If you look inside a map wad, with x number of maps, you will see 12x lumps. So that's a lot of files that are literally just there. You never have to alter what's doing what. You just use your map editor and nodebuilder to do what you want, and you'll never even consider the fact that this is 12 different lumps being edited. Would you rather see one WAD containing x amount of maps, or 12x amount of lumps under map headers and stuff in a structured zip file.

I know I'd rather just have one wad, and I'm one of many that make maps. The only time I ever bother with a lump management program is to add resources to a wad, as I like to stick everything making up the project into a wad, then stick the wad into a zip with anything else necessary afterwards (usually just a text file), and upload. To me this beats file structures, especially concerning maps. Taking the map and all of it's lumps out of a wad strikes me as pointless, seeing as the user will never do anything with them outside of a dedicated editor, and even then you're not manipulating each lump individually.

The only benefits I see in a zip program is the fact that you'd not need to open up the wad at all, as you can leave all of the graphics, sounds, text lumps and other non-map lumps outside the wad, in a folder with it. Of course, I'm not sure if every lump could be done like this, and you no longer get the benefits of compression (particularly of graphics) in a wad, but this doesn't really matter anymore, does it?

If you're going to have a zip system, leave the maps in wad files, as it makes things much easier for everyone.
DaniJ
Posts: 116
Joined: Sun Jan 30, 2005 12:52 am

Post by DaniJ »

Well, the fact is that I'm not suggesting anything new here. Doomsday implemented this a couple of versions ago.

Let me just exemplify the main issue I have with using WAD as a container.

Texture artist working on resources:
With WAD
Opens texture in Photoshop, makes changes and saves to file. Opens XWE and imports texture into the WAD. Runs jDoom with -file mywad.wad

With Lump Assemby (a folder on your HD).
Opens texture in Photoshop, makes changes and saves to file inside the Lump Assembly. Runs jDoom with -vdmap pathtomylumpassembly }jDoom/data

The idea is that when using a lump assembly you don't have to constantly import files into your WAD before you can test the results. This particular step is the single most troublesome issue with DOOM editing and one that can be eliminated completely.

When your mod is finished you simply right click the folder containing your lump assembly and select "add to zip". Job done, mod ready for distribution.
User avatar
Jim
Posts: 535
Joined: Mon Aug 11, 2003 10:56 am

Post by Jim »

As DaniJ mentioned before, there is at least one benefit. For something like TNT MAP31, you only need to replace the THINGS lump to fix the map. Or, in general, if someone (not the creator) wants to release a modification of a map that simply moves stuck THINGS out of the wall, adds more of them, takes some of them away, etc., then all they have to do is release a wad containing the necessary lumps instead of the complete map. That is better if you don't have the author's permission.

However, for most of the other lumps, it usually isn't as easy to just replace just one of them (usefully).

Also, just like everyone else, I think that in general, releasing new maps with all of the maps' lumps dumped into a zip instead of a wad is pointless. Creating your own map editor and encouraging people to do this is also a pretty pointless exercise.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49252
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

DaniJ wrote:Well, the fact is that I'm not suggesting anything new here. Doomsday implemented this a couple of versions ago.

Let me just exemplify the main issue I have with using WAD as a container.

Texture artist working on resources:
With WAD
Opens texture in Photoshop, makes changes and saves to file. Opens XWE and imports texture into the WAD. Runs jDoom with -file mywad.wad

With Lump Assemby (a folder on your HD).
Opens texture in Photoshop, makes changes and saves to file inside the Lump Assembly. Runs jDoom with -vdmap pathtomylumpassembly }jDoom/data

The idea is that when using a lump assembly you don't have to constantly import files into your WAD before you can test the results. This particular step is the single most troublesome issue with DOOM editing and one that can be eliminated completely.

When your mod is finished you simply right click the folder containing your lump assembly and select "add to zip". Job done, mod ready for distribution.
I generally agree with everything you mention here - but where do separate level lumps come into play here?
Jim wrote: As DaniJ mentioned before, there is at least one benefit. For something like TNT MAP31, you only need to replace the THINGS lump to fix the map. Or, in general, if someone (not the creator) wants to release a modification of a map that simply moves stuck THINGS out of the wall, adds more of them, takes some of them away, etc., then all they have to do is release a wad containing the necessary lumps instead of the complete map. That is better if you don't have the author's permission.
So you'd use it as a means to circumvent the permissions that are given to you. Yeah, right. I'd say the author has the right to place such restrictions on his map as a whole and that'd make such mods as questionable.
DaniJ
Posts: 116
Joined: Sun Jan 30, 2005 12:52 am

Post by DaniJ »

I generally agree with everything you mention here - but where do separate level lumps come into play here?
They don't in this particular example. The seperate level lumps we just carried over from the WAD design into the ZIP design.

We didn't set out thinking "I know what would be useful, seperating the map data lumps" that just kind of happened, we didn't sit down and spend time designing stuff to do it (other than the lump ordering which seemed like a good idea anyway so...) - it was a natural by product of the new (much more organised) design that we were implementing anyway. It's no problem, most users won't even see a benefit to that in the case of map data lumps but the feature is there if anyone has a use for it.

In Doomsday the ZIP support is completely intergrated with the WAD support and Lump Assemblies into ONE virtual file system where ALL files/lumps are treated equally. This means that lumps in WADs sit alongside files on your HD and those loaded from ZIP inside one big virtual directory.

Within this virtual filesystem DD_DIREC (WAD directories) and -vdmapings (both physical and virtual) can alter the virtual directory organisation from the outside and by users (this allows us to (among other things) completely change the physical Doomsday installation directory and still support mods written for much older versions of Doomsday which relied on a particular directory structure. It also allows users to remap any folder on their HD inside Doomsday's virtual file system).
Also, just like everyone else, I think that in general, releasing new maps with all of the maps' lumps dumped into a zip instead of a wad is pointless. Creating your own map editor and encouraging people to do this is also a pretty pointless exercise.
You have to consider the bigger picture. Doomsday mods contain stuff like models, hires textures, particle generator definitions etc etc (none of which HAVE to be put into a WAD (but they can be). Interestingly none of our users EVER use WAD when they can use ZIP...). so authors naturally use ZIP anyway. So using a Lump Assembly they can work directly on their mod in a folder somewhere on their HD without having to constantly import data in/out of a WAD/ZIP file.

So look at it from their perspective. All the while they are working on Doomsday specific stuff in a Lump Assembly - living is good, they can use whatever programs they are comfortable with to do their editing Photoshop, 3DStudio, Notepad, Explorer etc however as soon as they need to do anything within a WAD they then need to use small niche programs like XWE (which may not even be available for their platform) constantly. This really slows down the work flow and I fully agree with them.

In the case of map data it really isn't even an issue since you never manually work with the map data lumps but rather than saving the map into a WAD an editor could just as easily save the map into ZIP, which would then go into the Lump Assembly as a unique, single entity.

I really don't see what the issue is against 12 files in a ZIP as opposed to 12 lumps in a WAD.
So you'd use it as a means to circumvent the permissions that are given to you. Yeah, right. I'd say the author has the right to place such restrictions on his map as a whole and that'd make such mods as questionable.
Thats a different issue really and perhaps beyond the scope of this disscussion but yes, one of the things we are aiming for is the ability to patch any map using additional lumps not part of the original I/PWAD. For example, we could fix that shotgun zombie bug on DOOM2 MAP02 using a THINGS patch lump (it would only contain the changes). No patching of the IWAD required and the distributed patch lump would not breach any copyrights.
Last edited by DaniJ on Mon Jun 12, 2006 12:20 pm, edited 1 time in total.
Locked

Return to “Editing (Archive)”