Jump to content
  • 0

Ways of setting custom music for Thy Flesh Consumed


continuum.mid

Question

So I'm putting this together:

 

and currently, in the beta versions, I have two WADs: one containing E1-E3 tracks only, and one containing Thy Flesh Consumed tracks (replacing the MIDIs that are used in TFC). I thought it would be more convenient if users of advanced source ports would be able to use one WAD for both E1-E3 and E4, so I looked at how the NRFTL MIDI pack did things. A MAPINFO lump is used in the ZDoom version and UMAPINFO in PrBoom+, and they seem mostly straightforward, but I still have some questions:

  • Most simply, can (U)MAPINFO be used to change E4's maps (with "map E4M1" instead of "map LEVEL01")?
  • NRFTL MIDI Pack's MAPINFO defines "titlepatch", "next", "secretnext", "sky1", "cluster", and "par" in addition to "music". The PrBoom+ version also defines "skytexture" and "next" in addition to "music". Will I be required to do the same for Thy Flesh Consumed, or do I just need to include "music"? If it is necessary, where can I find this information (ideally, apart from looking through the WAD and source code myself)?
  • Will any issues arise if I include both MAPINFO and UMAPINFO (or other lumps that serve the same function) in the same WAD?
  • Is there anything else I can add to the WAD to change E4's music on ports apart from ZDoom and PrBoom+?

Share this post


Link to post

7 answers to this question

Recommended Posts

  • 4
16 minutes ago, northivanastan said:

Most simply, can (U)MAPINFO be used to change E4's maps (with "map E4M1"

Yes of course, and that is indeed how it works.

17 minutes ago, northivanastan said:

NRFTL MIDI Pack's MAPINFO defines "titlepatch", "next", "secretnext", "sky1", "cluster", and "par" in addition to "music". The PrBoom+ version also defines "skytexture" and "next" in addition to "music". Will I be required to do the same for Thy Flesh Consumed, or do I just need to include "music"?

Yeah, unfortunately MAPINFO assumes that if a map entry is changed, every property is reset. UMAPINFO is better in this respect I think, keeping the values from the previous definition of that same map slot unless changed.

19 minutes ago, northivanastan said:

If it is necessary, where can I find this information (ideally, apart from looking through the WAD and source code myself)? 

The simplest is to look here:

https://github.com/coelckers/gzdoom/blob/master/wadsrc/static/mapinfo/doom1.txt#L400

 

You can basically just copy-paste the definitions for all nine maps and then just change the "music" entries. So instead of music = "$MUSIC_E3M4" for E4M1, you'd write music = "D_E4M1". (The special syntax in the reference file with the dollar sign and all is to refer to a string identifier since music lump names can be changed with DEHACKED.)

24 minutes ago, northivanastan said:

Will any issues arise if I include both MAPINFO and UMAPINFO (or other lumps that serve the same function) in the same WAD?

No.

25 minutes ago, northivanastan said:

Is there anything else I can add to the WAD to change E4's music on ports apart from ZDoom and PrBoom+?

Well, yes! For an overview of the many MAPINFO dialects out there, see wiki: https://doomwiki.org/wiki/MAPINFO. Kinda weird that it's still missing UMAPINFO by the way, gonna have to rectify that.

Share this post


Link to post
  • 0
7 minutes ago, Gez said:

Yes of course, and that is indeed how it works.

Yeah, unfortunately MAPINFO assumes that if a map entry is changed, every property is reset. UMAPINFO is better in this respect I think, keeping the values from the previous definition of that same map slot unless changed.

The simplest is to look here:

https://github.com/coelckers/gzdoom/blob/master/wadsrc/static/mapinfo/doom1.txt#L400

 

You can basically just copy-paste the definitions for all nine maps and then just change the "music" entries. So instead of music = "$MUSIC_E3M4" for E4M1, you'd write music = "D_E4M1". (The special syntax in the reference file with the dollar sign and all is to refer to a string identifier since music lump names can be changed with DEHACKED.)

No.

Well, yes! For an overview of the many MAPINFO dialects out there, see wiki: https://doomwiki.org/wiki/MAPINFO. Kinda weird that it's still missing UMAPINFO by the way, gonna have to rectify that.

Thanks very much, this answers pretty much all of my questions. I can't test DMAPINFO because I don't own that version, but I'll see about including ZDoom MAPINFO, UMAPINFO, EMAPINFO, and/or DD_DEFNS.

Share this post


Link to post
  • 0
1 minute ago, Diabolución said:

Reportedly, Crispy Doom will support natively dedicated music lumps for Thy Flesh Consumed, D_E4M(1-9).

 

support IDMUS4x for dedicated music tracks for the 4th episode · fabiangreffrath/crispy-doom@26269b6 · GitHub

Just checked, and it seems that my D_E4M1, D_E4M2, etc. already work in 5.10.0! Nice! That commit is from 2017, so it's not "reportedly will support" anymore, it's been supported for several versions.

Share this post


Link to post
  • 0

Sorry to resurrect this, but I find myself with a similar issue after trying to play custom Ultimate Doom mapsets with a soundtrack replacement file that uses MAPINFO for the fourth episode. So if I understand right, there is simply not a way of making a MAPINFO file that only replaces the music, not the level name or anything else?

Share this post


Link to post
  • 0
2 hours ago, Rudolph said:

Sorry to resurrect this, but I find myself with a similar issue after trying to play custom Ultimate Doom mapsets with a soundtrack replacement file that uses MAPINFO for the fourth episode. So if I understand right, there is simply not a way of making a MAPINFO file that only replaces the music, not the level name or anything else?

That seems to be the case yeah, not just for Hexen MAPINFO but also for ZDoom MAPINFO and DMAPINFO. UMAPINFO requires replacing some things but I'm not sure if the level title is one of the things required. You'd have to replace the level name and other data with what they're supposed to be before MAPINFO.

For EMAPINFO this isn't necessary, and Crispy Doom just replaces the E4 tracks if they are properly named (D_E4Mx)

Share this post


Link to post
  • 0

I did not know about Crispy Doom. Good to know!

 

As for GZDoom and other source ports, I suppose I will have to create a separate, MAPINFO-less version of the replacement soundtrack file and manually alter the custom mapset's own MAPINFO to use the desired track instead. 

 

Thanks for the information!

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...