By
AngryCamel
Team CXE
Reference material:
http://www.halomods.com/site2/geeklog-1 ... 0141740926
If you followed the tutorial above and still weren't satisfied, read on.
"Why does my song not play imediately?" "Why, even though I replaced the halo_orig_title music file does it play the original song for a short time when the menu starts?" These are the questions I will attempt to answer with this document, but to begin we must first look at how the menu is playing the background music.
Halo Menu Audio Sequence Explored
Durring my first observation, when I loaded the Halo main menu it did not play the 'halo_orig_title' file right away. First it played a 37 second long file called, 'monks1b_title'. Secondly it played a 34 second long file called, 'bat1_end_title'. Once those two files had played, over a minute had passed, and the menu began to play the 2 minute 11 second long file called, 'halo_orig_title'. I assumed it would loop that file, but I assumed wrong. It played that file all the way through then began to play another file called, 'spooky6_tile'. So immediately I knew I had to study it some more to really understand what was happening.
Note: After 75 seconds of inactivity, the menu fades the currently playing music down over a 3 second span then starts the demo movie. However the 75 second idle watcher is non existant when you are in a sub menu (ex: multiplayer > choose profile) so you can let the sounds play infinate. If the video does load then as soon as a button is pressed durring the movie or if the movie finishes Halo returns to the main menu and begins another audio sequence.
I loaded up Halo and started to listen to the background sounds in the main menu, pressing the d-pad from time to time to prevent the movie from interupting (later learning that the sub menus did not have the idle watcher). I kept track of what files were being played and in what order to see if I could recognize a predictable pattern. Here are my results:
Lets assign each file a reference number:
- 1) monks1b_title (37s)
2) bat1_end_title (34s)
3) halo_orig_title (121s)
4) spooky6_tile (68s)
- Observation One (30min):.....1 > 4 > 2 > 3 > 4 > 2 > 4 > 3 > 2 > 4 > 2 > 3 > 2 > 4 > 3 > 2 > 3 > 4 > 3 > 2 > 3 > 4 > 3 > 2 > 3
Observation Two (3min):.......1 > 2 > 3 > Movie interupted
Observation Three (27min):..1 > 4 > 3 > 2 > 3 > 4 > 2 > 3 > 4 > 2 > 4 > 3 > 4 > 2 > 4 > 3
Observation Four (20min):....1 > 4 > 3 > 2 > 3 > 4 > 3 > 2 > 3 > 4 > 2 > 3 > 4 > 2 > 3
Observation Five (35min):.....1 > 2 > 4 > 3 > 4 > 2 > 3 > 4 > 2 > 3 > 4 > 2 > 3 > 4 > 3 > 2 > 3 > 4 > 2 > 3 > 4 > 2 > 3 > 4 > 2 > 3 > 4 > 2 > 4
- 1) monks1b_title is played first every time
2) halo_orig_title is never played directly after it monks1b_title
3) either bat1_end_title or spooky6_tile is played second
4) the third file to be played is the first in a random sequence
5) monks1b_title is only played once
6) bat1_end_title, halo_orig_title, & spooky6_tile are the three that get looped in a random order
If you follow the tutorial written by Salvage, which only replaces one of the four files mentioned above (halo_orig_title), then it should now be apparent as to why he says at the bottom, "Note: your song will only play when the Halo Origianl Sound track is supposed to play. So you will have to wait about 15 seconds till your song will play in the menu". It must first play the intro file, then the random sequence starter, then depending on what the random generator come up with, halo_orig_title will eventually get played.
In the next installment I will propose my solution to getting one file to play in the background, start immediately, then loop infinately.
Thanks to:
Salvage for the menu audio injection tutorial
BassistX for his help with figuring this out