wc3campaigns
WC3C Homepage - www.wc3c.netUser Control Panel (Requires Log-In)Engage in discussions with other users and join contests in the WC3C forums!Read one of our many tutorials, ranging in difficulty from beginner to advanced!Show off your artistic talents in the WC3C Gallery!Download quality models, textures, spells (vJASS/JASS), systems, and scripts!Download maps that have passed through our rigorous approval process!

Go Back   Wc3C.net > Tutorials > Misc. Tutorials
User Name
Password
Register Rules Get Hosted! Chat Pastebin FAQ and Rules Members List Calendar



Reply
 
Thread Tools Search this Thread
Old 12-28-2005, 08:03 AM   #1
masda70
User
 
Join Date: Nov 2003
Posts: 233

Submissions (1)

masda70 has a spectacular aura about (128)

Default WC3 Midi Implementation

How to use Midi's in Warcraft

I've been reading some old threads in this forum and been trying to figure out how to make midi work in wc3 but since there was a change with PlayMusic native long time ago (or at least it seems to me) and the way TFT handles imported slk files it was confusing at first.

I've seen people commenting about w3m map utilities and other patches being able to implement midi but links were either broken or the stuff didn't seem to work (too old).

I've seen people posting about this and getting plain "no" responses or even some confusing ones so I just wanted to explain this clear for any future requests.

I've made this up for windows but it probably works on MAC although I don't have it and haven't tested it so I will explain how to do it just in windows.
I have attached a zip file that contains the files you need to implement MIDI. One of them is a .reg file and you just need to double click on it to add the necessary stuff to the registry. You can also do it manually if it doesn't work.
In regedit go to the key
[HKEY_CURRENT_USER\Software\Blizzard Entertainment\Warcraft III] and add a DWORD named "Allow Local Files" (if it is not there already) then set its value to 1.

The other file contained in that zip is a slk file and you need to copy it in a sub folder called UI\SoundInfo of your wc3's folder. Usually it should end up at:
C:\Program Files\Warcraft III\UI\SoundInfo\MIDISounds.slk but it will depend on where you have wc3 installed. An easy way to do this is to just extract the whole zip in your wc3 folder (using winzip) because the sub folder path is already set for the slk file.
After doing that you might need to change a value in the slk file. Open the slk file in notepad (yes notepad, not excel or w/e) and search for the entry "C:\Windows\system32\drivers"
You have to change that address depending on where windows is installed and depending what version of windows you have.
We want to have the file to point the place where "gm.dls" file is, a file you need to play common midi files (a sound bank basically) so just change that address to the one where gm.dls is. Mine is "C:\WINDOWS\system32\drivers\gm.dls" so I put "C:\WINDOWS\system32\drivers"
If you want to use a different dls file just remember to change the file name two lines below that one that reads up ' C;X4;K"gm.dls" '

After you have done that you should be ready to test if it's working.
I made the tutorial long enough for *most* people to understand (I hope at least) but this shouldn't take more than 5 mins to be done actually.

Now close wc3 if you have it open. Go to the Worleditor and in the import manager (not the sound manager) import any midi file you have (one that works). Go to the trigger editor and add a trigger called "Music" that runs at map initialization and then convert it to custom text (JASS) through the edit menu.

Under the actions function ("Trig_Music_Actions") and before "endfunction"
add the following :
call SetAmbientDaySound( "Roland" )
call SetAmbientNightSound( "Roland" )

Now you can add a line call PlayMusicBJ("yourmidifile.mid") after that and it will trigger the music in the game or you can also do
call PlayMusicBJ( "yourmidifile.mid;midi2.mid;midi3.mid....etc" ) if you have more midis. Also you can use SetMapMusicRandomBJ instead of PlayMusicBJ.
Now test your map. When the game starts you should be hearing MIDI music!

Please note that if your midi file is for example war3mapImported\midi.mid you have to type call PlayMusicBJ("war3mapImported\\midi.mid"), so basically you need to always add a new '\' next to any slash contained in the file location.

Remember these steps (except for the Worleditor ones of course...) need to be done in every computer that wants to play a game with midis that using this method... the effort can be worth though because you can make your maps very tiny (I have like 10 20-80 KB midis in one map that make the file take 80KB in total (after map Vex's optimizer compression ) ) allowing you to handle them easier in BNET and stuff (it sucks to take very long to upload a new version sometimes).
And you can always explain how to implement MIDI in your map (quest menu)... either by linking players here or somewhere else,etc.

Please note that having 'Allow Local Files' on in the registry will make wc3 use any file in its folder before taking them from the mpq's... usually you might be concerned about this if you have already done lots of stuff with the editor (specially modding it).

On a side-note I wanted to note down that I haven't been able to make this work by importing the slk to the map itself. Maybe someone figures out someway =).
Attached Files
File Type: zip MidiImplementation.zip (1.4 KB, 190 views)
masda70 is offline   Reply With Quote
Sponsored Links - Login to hide this ad!
Old 12-28-2005, 07:21 PM   #2
Challis
Sound ***** *********
 
Challis's Avatar


Respected User
 
Join Date: Apr 2003
Posts: 384

Challis will become famous soon enough (69)Challis will become famous soon enough (69)Challis will become famous soon enough (69)

Default

Thanks mate, this is really useful :D
Challis is offline   Reply With Quote
Old 12-28-2005, 08:29 PM   #3
iNfraNe
MSc
 
iNfraNe's Avatar


Cinematics Moderator
 
Join Date: Dec 2003
Posts: 2,174

Submissions (7)

iNfraNe is just really nice (262)iNfraNe is just really nice (262)iNfraNe is just really nice (262)iNfraNe is just really nice (262)iNfraNe is just really nice (262)

Approved Map: Mortar Ball

Send a message via MSN to iNfraNe
Default

yes indeed, tho I already knew it :) repped
__________________
Inactive.
Table:
Past Projects:
The Spirit of Vengeance (Cinematic, Blizzard contest winner)
Elimination Tournament
Mortar Ball
iNfraNe is offline   Reply With Quote
Old 12-28-2005, 08:54 PM   #4
Tim.
Missing You All at Wc3c
 
Tim.'s Avatar


Site Owner
 
Join Date: Jul 2003
Posts: 4,474

Submissions (18)

Tim. is a name known to all (502)Tim. is a name known to all (502)Tim. is a name known to all (502)Tim. is a name known to all (502)Tim. is a name known to all (502)

Approved Map: PiratesSpell making session 3 winner

Default

Glad to have this in a clean format. Perhaps this should move to the tutorial section?
__________________
"oO and if anyone called Tim. trys to make an account then kick there butts." -Mavus, moderator of the GTW forums


Avast! Seen Pirates? Get it here!
Tim. is offline   Reply With Quote
Old 07-31-2006, 03:41 PM   #5
crazedcougar
User
 
Join Date: Feb 2006
Posts: 40

crazedcougar has little to show at this moment (8)

Send a message via AIM to crazedcougar
Default

I have done as you said, and it works! (sort of). It is extremely quiet, you need to turm up warcraft sound effects and music volume all the way, which make everyhting else impossibly loud. How can I incrase the volume? (music channel is at 100%)

Will this work on computers who have not done the fix?

Quote:
Remember these steps (except for the Worleditor ones of course...) need to be done in every computer that wants to play a game with midis that using this method

oh.. :-\

Last edited by crazedcougar : 09-13-2006 at 03:00 AM.
crazedcougar is offline   Reply With Quote
Old 12-20-2007, 04:36 AM   #6
Izlude
User
 
Join Date: Dec 2007
Posts: 1

Izlude has little to show at this moment (0)

Default

Greetings there ;p
I see what you mean, thus im having problem with implenting normal mp3/wav sound to the game, as soon as the map starts, the music does not play.. Perhaps you also have an answer for that? ;P
Izlude is offline   Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off


All times are GMT. The time now is 06:41 PM.


Donate

Affiliates
The Hubb http://bylur.com - Warcraft, StarCraft, Diablo and DotA Blog & Forums The JASS Vault Clan WEnW Campaign Creations Clan CBS GamesModding Flixreel Videos

Powered by vBulletin (Copyright ©2000 - 2014, Jelsoft Enterprises Ltd).
Hosted by www.OICcam.com
IT Support and Services provided by Executive IT Services