You're sailing around on worldmap, then go to 3D sailing straight into a battle - perhaps someone attacked you and you couldn't refuse, perhaps you chased an enemy ship, or perhaps you joined in a battle in progress. When you go to 3D mode, although you're in combat, it's one of the peaceful sailing music tracks which plays.
Here's why. In "PROGRAM\sound\sound.c", function 'SetSchemeForSea()':
I put a 'traceandlog' line in there to see how "pchar.Ship.POS.Mode" is set, and also had console do a 'dumpattributes(PChar)'. The 'traceandlog' line produced this:
And 'dumpattributes' said this:
This is a problem I've seen before in a different context. Attribute "PChar.ship.pos" and its sub-attributes aren't set right away after spawning to sea. So the code here is getting the wrong value of "PChar.ship.pos.mode").
Here's why. In "PROGRAM\sound\sound.c", function 'SetSchemeForSea()':
Code:
if (sti(pchar.Ship.POS.Mode) == SHIP_WAR) // PB: !bMapEnter doesn't have the same effect
SetMusic("music_sea_battle");
else
{
if(Whr_IsNight()) SetMusicAlarm("music_night_sailing");
else
{
if(Whr_IsFog()) SetMusicAlarm("music_fog_sailing");
else SetMusicAlarm("music_day_sailing");
}
}
Code:
pchar.ship.pos.mode = 0, SHIP_WAR = 1, playing peaceful sailing music
Code:
pos =
x = -0.0952811
z = 0.185853
y = 0.837455
mode = 1