Opened 7 years ago
Closed 7 years ago
#10279 closed defect (worksforme)
TITANIC: Ambient music does not start playback after leaving Titania's room
Reported by: | csnover | Owned by: | dreammaster |
---|---|---|---|
Priority: | normal | Component: | Engine: Titanic |
Version: | Keywords: | ||
Cc: | Game: | Starship Titanic |
Description
- Load attached game
- Click forward
Expected: After leaving back to the top of the well, the top of the well music fades in
Actual: No music fades in, only a water sound is heard
Attachments (1)
Change History (9)
by , 7 years ago
Attachment: | titanic-win.008 added |
---|
comment:1 by , 7 years ago
comment:3 by , 7 years ago
I think all I did to trigger this state was to walk through the door to Titania’s from Top of the Well, turn around immediately, and walk out, but I will need to double-check later.
comment:4 by , 7 years ago
Whoops, sorry, I put this comment in the wrong bug report. This was intended for the "loading savegame" bug.
comment:5 by , 7 years ago
Okay, just tried it now, and maybe the cleanup I did of the music players fixed the problem, but I can't replicate it. The Top of the Well music player is not set to autoplay, so when you finish going through the doorway, there's a 2 second timer that delays starting the music, but after that the CAutoMusicPlayerBase::TimerMsg generates a message to start the music, and for me it then fades in.
comment:6 by , 7 years ago
Owner: | set to |
---|---|
Resolution: | → worksforme |
Status: | new → pending |
comment:7 by , 7 years ago
OK. I’ll keep an ear out for it the next time I run the game and will let you know if I’m still able to reproduce it.
Now this is an interesting case. First of all, it seems like I'd previously misunderstood how the auto music players operated a bit. They currently have an "_isRepeated" field, which should probably be renamed to "_isEnabled". The game's "project" is set up with an auto music player for each overall room where ambient music is played. And messages are generated when the player enters or leaves the room to turn on the new room's auto music player, whilst turning off any player in the room just left. So only one auto music player should be enabled at a time, and it should only be the one in the currently actively room.
In the case of your savegame, however, the EmbLobby room auto music player is actually turned on, when it obviously shouldn't be. So when the savegame is loaded, it gets reactivated, and the Embarkation Lobby music starts playing. In the little time I had before going to work, I tried entering and leaving the Embarkation Lobby as normal, and it's auto music player was correctly disabled. I don't suppose you did anything non-standard for the game before saving, such as using the cheat room?
If not, I guess I can at least code in a workaround.. maybe pass the now active room as part of the LoadSuccessMsg call, and have the auto music player automatically flag itself as off if it's not in the active room