Heroes of Might and Magic Community
visiting hero! Register | Today's Posts | Games | Search! | FAQ/Rules | AvatarList | MemberList | Profile

<a href='http://www.game-advertising-online.com/' target='_blank'>Game Advertising Online</a><br> banner requires iframes

LOGIN:     Username:     Password:         [ Register ]
HOMM1: info forum | HOMM2: info forum | HOMM3: info forum | HOMM4: info forum | HOMM5: info forum | MMH6: wiki forum | MMH7: wiki forum
Heroes Community > Library of Enlightenment > Thread: H3: That annoying battle fanfare at the beginning of every battle.
Thread: H3: That annoying battle fanfare at the beginning of every battle. [ This thread is 2 pages long: (1) 2 ]
FriendOfGunnar
FriendOfGunnar


Honorable
Supreme Hero
able to speed up time
posted March 22, 2006 12:09 AM

H3: That annoying battle fanfare at the beginning of every battle.

I found a way to get rid of it.  There's a bit of effort involved though so if there's anybody interested in knowing how to do it let me know...

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
Nebuka
Nebuka


Promising
Supreme Hero
Save me Jebus!
posted March 22, 2006 12:12 AM

You can change every bit of music from Heroes 3.
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
Zsa
Zsa


Famous Hero
posted March 22, 2006 02:05 AM

yeah, at a point like 6 years ago I had customized songs for every town/terrain/battle .
____________
"You sound like zsa who only plays the game on forums" - Russ

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
FriendOfGunnar
FriendOfGunnar


Honorable
Supreme Hero
able to speed up time
posted March 22, 2006 03:51 AM
Edited by FriendOfGunnar on 22 Mar 2006

I'm not talking about the mp3's, I'm talking about the 5 second fanfare that delays the beginning of every battle.  Am I the only one that finds that seriously annoying?

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
Xarfax111
Xarfax111


Bad-mannered
Supreme Hero
The last hero standing
posted March 22, 2006 02:22 PM

erm...just turn of the sound, that would make your game faster anyway.

In Multiplayer it is a must to turn off all sounds and effects...this really saves lots of wasted game time.
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
supersonic
supersonic


Famous Hero
being digested. E=mc^2, s=vt
posted March 22, 2006 03:28 PM

Maybe that's a bit offtopic, but how do you turn off all effects and speed up the game? And what is Cranim.txt? I found it somewhere, but don't know how to utilise it properly to speed up my game performance.

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
FriendOfGunnar
FriendOfGunnar


Honorable
Supreme Hero
able to speed up time
posted March 22, 2006 03:52 PM
Edited by FriendOfGunnar on 22 Mar 2006

@Xar
I'd do this except it turns off all the MP beeps and chimes, which I need because I'm usually doing something on the off time.

@SS
You have to put Cranim in the "data" subfolder for it to work.

@Xar again
How the heck does HOMM3 recognize a file that it was never programmed to recognize?! Are you willing to divulge your secrets?

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
supersonic
supersonic


Famous Hero
being digested. E=mc^2, s=vt
posted March 22, 2006 08:04 PM

Anyway, if you turn off all your sound, do you gain those 5 seconds that are normally wasted on fanfare?

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
Russ
Russ


Promising
Supreme Hero
blah, blah, blah
posted March 22, 2006 08:17 PM
Edited by Russ on 22 Mar 2006

Quote:
How the heck does HOMM3 recognize a file that it was never programmed to recognize?!
I think you should be able to answer that question yourself - the answer is too trivial

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
fishjie
fishjie


Adventuring Hero
posted March 22, 2006 08:46 PM

Quote:
I'm not talking about the mp3's, I'm talking about the 5 second fanfare that delays the beginning of every battle.  Am I the only one that finds that seriously annoying?


so how do you do it?

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
supersonic
supersonic


Famous Hero
being digested. E=mc^2, s=vt
posted March 22, 2006 10:36 PM

Quote:
Quote:
How the heck does HOMM3 recognize a file that it was never programmed to recognize?!
I think you should be able to answer that question yourself - the answer is too trivial


Then it means I am stupid.

Or maybe heroes WAS programmed to recognize the files! For example you could make it so that it does what cranim.txt tells it to do. But there's no cranim.txt, so heroes acts normally. Same goes for map templates. Hmmm, why doesn't it crash when it can't find the cranim.txt file?
Or maybe those files have a hidden instruction programmed into their code somewhere that tells them to suck to heroes and rule it...

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
FriendOfGunnar
FriendOfGunnar


Honorable
Supreme Hero
able to speed up time
posted March 23, 2006 01:28 AM
Edited by FriendOfGunnar on 22 Mar 2006

Quote:
Quote:
How the heck does HOMM3 recognize a file that it was never programmed to recognize?!
I think you should be able to answer that question yourself - the answer is too trivial


Okay, HOMM3 was programmed to recognize it.  But how did Xar know that?  Is the HOMM.exe file so easy to read through?  Or does he know someone at 3D0?

[correction:  Okay HOMM.exe isn't easy to look through, but how did this get overlooked for 4 years?]


@fishje: I'll write out the process tonight, it's actually easy once you familiarize yourself with the process.

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
FriendOfGunnar
FriendOfGunnar


Honorable
Supreme Hero
able to speed up time
posted March 23, 2006 09:10 AM
Edited by FriendOfGunnar on 23 Mar 2006

Procedure for eliminating unwanted sounds in HOMM3

1.  First of all you need to get a hex editor.  I like the XVI32 Hex editor because it works just like a program is supposed to on my Windows 98SE.  You can find it here.  

I'm going to spend about 15 minutes talking about hex editors for anybody who hasn't used one before:
A hex editor basically opens a program up and shows how it is laid down on the disk: byte by byte. (probably minus some error correction info).  After you install and open the hex editor you will see two windows. (I love simple yet effective programs, they make me so excited.)  Let's take a look at the left window first.  What you are seeing is a byte by byte description of the entire program. Each byte is written down in the form of two digits. Each digit can be one of these choices: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.  There's sixteen choices which is why it's called a hexadecimal editor.  Each character is the hex system represents a number from 0 to 15 .  
0-9 are obvious and then A=10, B=11, C=12, D=13, E=14, and F=15 (16 choices total)  In the normal numbering system that we use we put one digit next to each and get a number that's even bigger, for example put 6 next to a 7 and you have 67.  It's exactly the same in Hex:  If you put one digit next to another you will get a number that is bigger.  For example put 4 next to a 3 (43) and you will get the number 67.  That's because while the 3 represents only 3,  the first 4 that you wrote down actually represents 64 (because you're multiplying the 4 by 16 and not by 10, which you would do in the usual numbering system) .   64 + 3 = 67.  When you have two hex digits sitting next to each other you can basically write a number anywhere from 0 to 255.  For example FE=254. FF=255. and then if you want to go to 256 you basically start over again, however this time you add another digit (total of three). 1 00 is equal to 256.    1 FF is equal to 511 (because the 1 equals 256 and the FF adds another 255).

Computer people use the hex system because it's the best way to represent the way that computers actually think, which is in 0's and 1's.  When a computer is thinking it might have the number 10110100 in it's mind.  When you turn that into hex it equals B4 (in normal numbers it equals 180).  So if you were to open up any file on your computer and look at it, it would look something like this: 00010110 11111010 0100101 0101000 0101010 1000000 1111010 11011001etc….  A hex editor cleans all that up and makes it look nice.  

Okay back to the program.  On the left side of the screen you can basically see how the computer sees a program, only cleaned up nicely for humans.  On the right side you see the exact same hexadecimal numbers that are on the left side.  The only difference is that they've been translated into ASCII, which is the roman letter alphabet we are all familiar with.  In ASCII there's 26 capitol letters, 26 small letters, the numbers 1-9 and a load of punctuation and other stuff.  Somebody a long time ago decided that the small letter p was going to mean the same thing as hex 70 (112 in "normal"), that A umlaut (two little dots) was going to mean C4 (196 in "normal") and so on and so forth.

Allright now you are ready for step 2.

2. Find your file    3DO\Heroes 3 Complete\Data\Heroes3.snd    and make a backup of it somewhere safe.
(poke around for a similar file if you have a different version)

3. Use your new hex editor to open the file up.  It's pretty big, about 15 megs.  Fortunately your new hex editor handles it without a qualm. (try opening it with wordpad….HA!)  
Anyway, this is the file that keeps all of the short sounds that HOMM3 uses.

On your left you will now see a screen of numbers and on your right you will some gobbedlygook insterspersed with some recognizable english.  Probably the first thing you will see will is this: "AAGLATTK" and then "WAV".  Both of which are in the middle of a bunch of squares.  If you haven't already guessed by now "AAGLATTK" stands for Archangel Attack.  Keep reading and you will see "AAGLDFND"…Archangel Defend.  Keep reading: "AAGLMOVE" "AAGLKILL" "AAGLWNCE" etc…I'm guessing the last one means Archangel wince, which is when an Archangel gets hit by somebody.  Keep scrolling down and you will see a set of sounds for every creature in the game.  (at least I think there is, I didn't actually check).  Also you will occasionally see some other things, for example the one we want to target is called "BATTLE".  There's also "BATTLE01" and "BATTLE02" etc…  eight total.  

The way this file works is that at the beginning it contains a list of all the sounds that HOMM3 uses and then after the list it gives the actual sounds themselves (the sounds are in the form of an "IMA ADPCM 22050 HZ 4 bit mono" wav file btw, if anybody cares).  After each entry in the original list (AAGLATTK, BATTLE01,  etc…) it contains the address where HOMM3.EXE can find the actual sound information.  If you want to delete an annoying sound (which is about 80% of them IMHO) all you have to do is find the sound on the list and then zero out it's address (and I mean zero out, don't delete).

So let's find BATTLE. Click on the first "B".  Now you notice that when you click something on the right side of the screen, it also highlights on the left side.  It's the same the other way around also.  So click on the B and then use your right arrow key to go to the A.  Now keep going…past the TTLE…past the few squares…past the "wav"….you are now in the "address" part of the  listing.  This is what you want to zero out.  Everything from the "v" in "wav" to the first letter of the next listing needs to be a "00" on the left side of the screen. (which looks like a square on the right side of the screen).  Now watch the left side of the screen (stop watching the right) and keep using the right arrow until you find a hexadecimal number that isn't "00".  Now click on the left side of the screen on that exact spot.  This "activates" the left side so you can type in it.  Turn it into a "00" by simply typing  "00" very important: when you find a number that isn't a "00" you must click on the left side of the screen.  This is because the hex editor still thinks you are trying to edit by using the right side of the screen.  If you want to kill all of the battle sounds, you must eventually click back and forth between the left and right sides several times. watch carefully

The whole thing is kind of tricky because  you have to watch both sides of the screen at the same time.  All those "00"'s on the left side of the screen show up as squares on the right.  However if you have a square on the right it might also mean that you have a number from 00 to 20 on the left.  Therefore if you are only looking at the right side you might see a bunch of squares and think "this one is clean" but actually on the left side you can still see some information that needs to be zeroed out.  However if you only look at the left side you might accidentally "00 out" the first letter of the next entry, which will give you an error message if HOMM3 ever needs to find it.    

Something else to watch out for is the name of the listings.  For example if you are zeroing out the address for "BATTLE07" you will see that the next entry is "BBDRFATTK".  The first B in that listing actually needs to be zeroed out because the real name of the listing is actually "BDRFATTK" and that very first B is actually part of the address for BATTLE07.

"Why can't I just delete the entry?" you might ask.  Two reasons.  1. Because this will screw up the addresses for every sound in the game.  It's basically just like turning of the sound completely. 2.  If you do this then the program will give you an error message that's even more annoying than the original sound ever was.

"Can I insert my own sounds?".  The answer is no because that would invalidate some, most, or all of the addresses that are contained in the list at the very beginning.  The only way you could pull that off is if you got an "IMA ADPCM 22050 HZ 4 bit mono" wav file that was exactly the same length as the one you were replacing.  And I still haven't figured out how the addresses point to the actual wav sounds themselves.

So anyway, you can do this elimination process to any sound you want.  For example the next set of sounds that I'm probably going to wipe out is the wraiths…

Happy Hunting!  

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
Xarfax111
Xarfax111


Bad-mannered
Supreme Hero
The last hero standing
posted March 23, 2006 12:38 PM
Edited by Xarfax111 on 24 Mar 2006

Well nice effort here FoG.

To the questions:

1. If you turn of the sound and effects completely, you will save the time the programm needs to make the sound.

2. Heroes data is compressed into lod-files. The program still search for the uncompressed files first in the data folder. If there isnt a file it goes to the lod-files.

3. If you want to make a specific sound off, you can generate some "empty" wave files into the data folder. For the battlesound those are the refering files:

Battle01.wav
Battle02.wav
....>
Battle07.wav

Xarfax1

(The Heroes Sound is compressed in *.snd-files, sorry for this mistake)
____________

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
FriendOfGunnar
FriendOfGunnar


Honorable
Supreme Hero
able to speed up time
posted March 23, 2006 03:51 PM

DOH!

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
fishjie
fishjie


Adventuring Hero
posted March 24, 2006 12:08 AM
Edited by fishjie on 23 Mar 2006

interesting, so if i understand all the posts correctly, the sound data resides in three different places:

binary in the .snd file (which gunnar is editing manually via a hex editor),
compressed in the .lod
and the wavs inside the data folder

so if there are three different sources for the sound data, where does heroes look first?  

if i understand gunnar correctly, the actual byte data for the sound effects reside in the .snd file itself, yet there are also corresponding wav files in the data directory?   which one has higher priority?    or is the .snd file dynamically generated on program startup based on the wav files found inside the data folder?    the computer i'm posting on right now doesn't have heroes so i can't test here.

either way, that was really cool gunnar!   great detective work!  i personally have never used a hex editor before, so i'll check out the one you recommended.   (in the past i have always written manual C code to parse binary files for info i was looking for lol.   also, there is a tool you can use in the comand prompt called debug that you can use to dump all the hex in a file - but i've long since forgotten how to use it)

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
fishjie
fishjie


Adventuring Hero
posted March 24, 2006 12:19 AM

Quote:

The way this file works is that at the beginning it contains a list of all the sounds that HOMM3 uses and then after the list it gives the actual sounds themselves (the sounds are in the form of an "IMA ADPCM 22050 HZ 4 bit mono" wav file btw, if anybody cares).  After each entry in the original list (AAGLATTK, BATTLE01,  etc…) it contains the address where HOMM3.EXE can find the actual sound information.  If you want to delete an annoying sound (which is about 80% of them IMHO) all you have to do is find the sound on the list and then zero out it's address (and I mean zero out, don't delete).




again i dont have heroes on this comp, but if i understand you correctly, the file is organized like this:

[sound name , address] in pairs, then followed by byte data for the sounds themselves.      

i would suspect the address would just be an offset value into the file itself?   or did you already try that?   i dunno i'll try and investigate it later.  

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
FriendOfGunnar
FriendOfGunnar


Honorable
Supreme Hero
able to speed up time
posted March 24, 2006 02:50 AM
Edited by FriendOfGunnar on 23 Mar 2006

Quote:

interesting, so if i understand all the posts correctly, the sound data resides in three different places:

binary in the .snd file (which gunnar is editing manually via a hex editor),
compressed in the .lod
and the wavs inside the data folder

so if there are three different sources for the sound data, where does heroes look first?

if i understand gunnar correctly, the actual byte data for the sound effects reside in the .snd file itself, yet there are also corresponding wav files in the data directory? which one has higher priority? or is the .snd file dynamically generated on program startup based on the wav files found inside the data folder? the computer i'm posting on right now doesn't have heroes so i can't test here.


no, what Xar is saying is that if you put a .wav file in the data folder, HOMM3 will pick it up and ignore the one that has been crammed into the big .snd file.(which is the only place that HOMM3 sounds reside andis also contained within the data folder )  

I'm not sure what the .LOD does but apparently there's stuff in there that relates to creature speed. I'm also guessing that Slava's (hope I got the name right)Christmas Gremlins from WOG are in there after he got through with it.

Here's another wierd thing. If you look at HOMM3.exe it's like one fourth of it is just one big long string of zeroes.  Someone explain that one!

 Send Instant Message | Send E-Mail | View Profile | PP | Quote Reply | Link
william
william


Responsible
Undefeatable Hero
LummoxLewis
posted March 24, 2006 07:32 AM

I actually agree, I find the 5 second delay thing really annoying.
I just want to get striaght into the battle, but I am having to wait because of the stupid delay.
I usually deal with it, but if I am in a hurry, it's just annoying.

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
DonIgnacio
DonIgnacio

Tavern Dweller
newly hooked strategist
posted March 28, 2006 11:08 PM

And the fanfare ... is silenced

Well thanks for the effort with the hex editor. XVI32 is good for sure. But the additional hint with the WAV files rules. Now there is a tiny click and off goes the battle. Cool forum round here!

 Send Instant Message | Send E-Mail | View Profile | Quote Reply | Link
[ This thread is 2 pages long: (1) 2 ] < Prev Thread . . . Next Thread >
Post New Poll    Post New Topic    Post New Reply

Page compiled in 0.1230 seconds