How to Make PDMOD Music Mods [UPDATED WITH VIDEO TUTORIAL]
#1
How to Make Music Mods pt3
by Alex Davis

Haye guys, welcome again to my tutorial but this is the part 3, how to make pdmod files, music mods in it... I dunno if this tut will be short or long but whatever lets roll.

Before we beigin i would like to say somethin', people here i think they like the easy way, and with 'easy way' i mean mod_overrides mods, but why not pdmods? i know those are a pain in the ass but im talking about music pdmods, they cant broke your game unless you do something wrong, very wrong, and i've met people who says that my mods are broken and blah blah, before i upload something, i TEST it, always, thats why i upload them, but lets talk about the pros opf the pdmods

-Quality (no glitches)
-Custom lenght (with no need to have another music.bnk)
-Compatible with other pdmod music mods

and the Cons :
-Kinda hard to make
-Needs patiente

What we gonna need?
-Automaitc Script Generator (credits to Bluewave41)
-Bundle Modder (credits to GREAT BIG BUSHY BEARD)
-Maybe a few programs from the pasts tutorials

Now lets begin!

First of all lets create a folder where we going to work, i always make it in the desktop when i make pdmod mods. inside the folder we going to put all the stream and wav files of the mod that we want to make, if you dont know how to make a music mod then go here

now, pay atenttion, your mod can be CUSTOMIZABLE, what do i mean? welp, you can make a mod with the lenght that u want, wanted to replace death wish but the assault, control etc tracks u want are larger or shorter than the original? no problem, do it with the lenght that u want, we will make a script later, after making the custom lenght mods or with the same lenght as the original put them in thefolder we creaed along with their respectives stream files.

Now, you will need two things. when you open the automatic script creator u should find a readme and  the exe called Automatic Script Creator, open the executable

after we Click Start u must wait a few seconds and u will find 1 file called proyect.script anda mod folder with a script.script file inside, now create a folder with the whatevername u want, ill name it, my mod, and we put the project.script and mod folder inside of it

now a few things to make sure, this is what the project.script contains


Quote:@Name x
@Author x
@Description Replaces x for x.
@Version 1.15

;Files included in this project
soundbanks/music.bnk : mod\script.script
soundbanks/streamed/music/123.stream : mod\song.stream


123.stream is the example file that i selected in the automatic,  in this part 

soundbanks/streamed/music/123.stream : mod\song.stream

we have to call song.stream the same as the stream that is in the begining of the line, so  it should look like this

soundbanks/streamed/music/123.stream : mod\123.stream

now, we have our first track added to the proyect, but now lets check out the script.script that is in the mod folder, you will see this

Replace : 56 55 55 55 D5 68 AC 40 : 00 00 00 00 00 C4 9D 40

or this...

Replace : 55 55 55 55 75 C1 01 41 : 00 00 00 00 68 C8 0A 41
Replace : 61 55 55 55 75 C1 01 41 : 00 00 00 00 68 C8 0A 41

Replace : 52 49 46 46 80 1D 6E 00 57 41 56 ...... 11 92 9D 10 00 82 C9 1B 24 AB 82 46 B9 8A 04 89 39 02 99 10 52 FB 2D 23 B9 00 : 52 49 46 46 50 C9 B4 00 57 41 56 45 66 6D 74 20 18 00 00 00 02 00 02 00 80 BB 00 00 F0 D2 00 00 48 00 04 00 06 00 00 00 03 00 00 00 4A 55 4E 4B 04 00 00 00 00 00 00 00 64 61 74 61 18 C9 B4 00 00 00 00 00 FF 9F A0 25 BD 23 CF B8 51 11 13 71 D5 AD 10 01 32 14 34 01 B8 20 C9 41 81 21 F1 FF 29 01 53 01 00 00 00 00 FF 9C DB 12 DF 22 BD FB 08 98 32 75 B3 AE 10 00 51 33 42 21 B1 1A A0 29 98 57 A5 FF 18 11 32 02 2C 13 3B 00 99 D9 9C 42 10 53 91 99 CB 99 9A 34 92 8D 90 A0 AC 98 AD C9 10 62 21 26 C9 00 ........... A1 40 91 88 BC 74 A2 9D 80 30 33 11 00 BD E3 42 00 92 8C 24 CB 73 84 BC 0A 62 A1 0A 23 82 9E 22 90 98 0B 25 A9 40 82 C8 9A D8 2B 14 88 52 A3 7A 03 3C 29 46 00

(i had to cut all the bytes cause it lagged the page, but u know theres are lot b ytes).

yeah thats a lot of shit. but now lets focus, when u use the script maker again with another wav file, it will create another project.script and mod folder in the same folder itself, what is inside the new project.script you have to copy this line of the new project.script

soundbanks/streamed/music/anywavfile.stream : mod\song.stream

to our project.script that its located inside the 'my mod' folder so after we do that it should look like this


Quote:@Name Credo Revolution (Zardonic Mix)
@Author Alex Davis
@Description Replaces Credo Revolution with Fuse Box.
@Version 1.15

;Files included in this project
soundbanks/music.bnk : mod\script.script
soundbanks/streamed/music/123.stream : mod\123.stream
soundbanks/streamed/music/anywavfile.stream : mod\anywavfile.stream


now we have to do the same with the new script.script  that the automatic creator created for us, we have to copy whats inside and paste it in our script.script located in the 'my mod/mod' folder, now lets focus in the script,

sometimes he script maker creates this in the script.script

Replace : XX XX XX XX XX XX XX XX : XX XX XX XX XX XX XX XX
 OR

Replace : XX XX XX XX XX XX XX XX : XX XX XX XX XX XX XX XX
Replace : XX XX XX XX XX XX XX XX : XX XX XX XX XX XX XX XX
OR

Replace : XX XX XX XX XX XX XX XX : XX XX XX XX XX XX XX XX
Replace : XX XX XX XX XX XX XX XX : XX XX XX XX XX XX XX XX
Replace : A LOT OF BYTES : A LOT OF BYTES

now, why does the script makes the A LOT OF BYTES re placement? thats because it replaces music.bnk bytes with he stream files we own, mostly the same that we did in the second tutorial, but in script now this is the structure of the replacement code

Original : Replacing Bytes
Replace : XX XX XX XX XX XX XX XX : XX XX XX XX XX XX XX XX

so the first bytes are from the original musiic.bnk and the other that comes after the ':' are the ones that we're replacing music.bnk with

now, if we get the normal replacement i mean this

Replace : XX XX XX XX XX XX XX XX : XX XX XX XX XX XX XX XX

we're done, those are non.loopable tracks but if we find a track that that has the a lot of bytes replacement we have to do this...

now, if you selected the 666.wav and created the script, open HxD and inside HxD open music.bnk and the stream file of 666.wav, 
we have this
remember this? we saw this in the second tutorial... now, what we have to do? make sure u have your script.script openend and look for the replacement we want to modify

so 666.wav generated a script of
Replace : A LOT OF BYTES : A LOT OF BYTES

the first a lot of bytes that we're going to copy are from music.bnk so lets go to our musisc.bnk in HxD and do CTRL+F
and find 'data', you will find one result in the text part 'DATA' with upercases, thats the one we need to start, if you find a 'data' with low cases find it again until u get the upper cases one. nowclick the Initial byte of the line below,the one that starts with the byte 52 (click once the 52) and do  CTRL+G and this will appear
check dec option and the 'actual position' option, you can use this image for reference, and in the position box we need to paste the offset, where do i get the offsets? well here, (credits to me=)[url=http://pastebin.com/XbWUHuQe][/url]
for example, lets use a real ID/OFFSET this time, we want to modify the 666.wav script, and we have the offset (ill use a real one,in this case '65584', we put the offset in the box and click ok, it sohuld send us to another RIFF, now we have to select determinate bytes to copy, depends in the track, for example the offset of the 666.wav 65584 bvut the bytes to replace are 5144, so we selected from the RIFF that we are, til we get 5144, but before we select anything we have to make a change in the program, where it says 16, ANSI, HEX in the top part, we have to change HEX to DEC, and now we start selecting from the bytes that we ended up (52) tyill we get 5144 (we can check how many are we selecting down below
once we selected 5144 we have to copy those 5144 bytes and replace it in the script.script
so before it was
Replace : A LOT OF BYTES: A LOT OF BYTES
and now its
Replace: BYTES THAT YOU REPLACED NOW : A LOT OF BYTES

congratulations, you replaced the correct bytes that 666.wav needed, but we just replaced for the musicv.bnk part now we have to do it for the stream, and its easy, cuz we put the 666.stream in the HxD, and seelct 5144 bytes from the start, copy and paste it in the other replace bytes so it should be like this

before:
Replace: BYTES THAT YOU REPLACED FOR MUSIC.BNK : BYTES THAT YOU REPLACED FOR 666.WAV


you have to do it with the tracks that generates that kind of byte-replacement

and inside the script we have in mymod/mod we should have a lot of replacement codes

after that we close both project and script and save it, now, we have to move the stream files to the mymod/mod folder and we're done with the hardest part of the tutorial, now, open bundle moder!

once its opened we have to go the 'Create mod' part and select in the right down corner 'Load PDMod Project' and it will po up aanother window, we have to select our 'project.script' from mymod folder, once u selected it, it sohukld shows something like this

dont mind the file names, ^ is just an example, you have to complete the information in the mod name, mod autho and decriptio nboxes, when ure done, just click 'Create Mod' and it will open a new window and u have to select where u want to save your pdmod, and we are done!.

VIDEO TUTORIAL


Any doubts i will answer in the comment section.
Reply
#2
thanks for another great guide
Reply
#3
Nice tutorial... If only I could understand it :c

I mean, it's weirdly explained :x
Reply
#4
yes it's hard to explain it and its worse if english isnt even my first language
Reply
#5
So I had a question: I'm beginning to do some music mods in my free time and I followed your guide.

I've modded Time Window because this is an easy one but while the stealth and assault part loop perfectly (well they're not loopable to begin with) and the anticipation part seems fine (I guess it may fuck up if someone with a bad connection joins when it plays but otherwise it's nearly perfect for me).

However the control part keeps looping to the beginning after some time (I think after 40s of playtime) and t just won't play entirely.

Any tips to fix that? The loop point must be wrong but I followed all the steps of this guide so I don't see where I could mess up.
Reply
#6
Thank you so much! I can finally make songs with a .pdmod instead of billion .pdmods. Really, thanks :)
Reply
#7
Don't understand a few things:
Upon loading project in Bundle Modder, I have 4 soundbanks/music.bnk, while on your screenshot there is only one?
After creating it and trying to add it into the game, the bundle modder crashes.
Stealth and Assault of Time Window do not have Offsets or Byte Number, what do you do with them in script.script?
Reply
#8
(03-02-2016, 09:14 PM)B Dawg Wrote: Don't understand a few things:
Upon loading project in Bundle Modder, I have 4 soundbanks/music.bnk, while on your screenshot there is only one?
After creating it and trying to add it into the game, the bundle modder crashes.
Stealth and Assault of Time Window do not have Offsets or Byte Number, what do you do with them in script.script?

if you're modding time window, the project.script should look like this. 

Quote:@Name Song mod
@Author x
@Description Replaces x with x.
@Version 1.15

;Files included in this project
soundbanks/music.bnk : mod\script.script
soundbanks/streamed/music/47223761.stream : mod\47223761.stream
soundbanks/streamed/music/604756842.stream : mod\604756842.stream
soundbanks/streamed/music/688277698.stream : mod\688277698.stream
soundbanks/streamed/music/727867968.stream : mod\727867968.stream

if you create a script.script with tracks that doesnt have offsets it will create the script anyways but just something like this.

Replace : 45 DA C8 D6 3E A0 EC 40 : 00 00 00 00 F0 4B FD 40

Replace : 4A DA C8 D6 3E A0 EC 40 : 00 00 00 00 F0 4B FD 40

that's ok.
Reply
#9
Ah I see, my project.script wasn't properly set up. Thanks.
Reply
#10
(03-03-2016, 03:00 PM)B Dawg Wrote: Ah I see, my project.script wasn't properly set up. Thanks.

you're welcome, any doubts post here or send me a pm
Reply



Forum Jump:


Users browsing this thread: 1 Guest(s)