Opened 7 years ago

Closed 7 years ago

#10057 closed defect (fixed)

TITANIC: Phonograph has dissapearing horn after getting ear

Reported by: dafioram Owned by: dreammaster
Priority: low Component: Engine: Titanic
Version: Keywords:
Cc: Game: Starship Titanic


scummvm: 3a798b09bea2bd49536e061388ad58d5a6d0742c

If you face the phonograph it will be missing its horn, but if you look any direction you will see it shown. Minor graphical issue.

I don't know if the original does this or not.

Attachments (3)

titanic-win.003 (100.9 KB ) - added by dafioram 7 years ago.
music room have ear
scummvm00015.png (165.6 KB ) - added by dafioram 7 years ago.
music room have ear
23 Restaurant.gam (87.4 KB ) - added by dafioram 7 years ago.
After getting music, in restaurant, but horn can still be seen.

Download all attachments as: .zip

Change History (8)

by dafioram, 7 years ago

Attachment: titanic-win.003 added

music room have ear

by dafioram, 7 years ago

Attachment: scummvm00015.png added

music room have ear

comment:1 by dreammaster, 7 years ago

Owner: set to dreammaster
Resolution: worksforme
Status: newpending

No, it doesn't. The game is set up so that the initial horn is Titania's Ear, and when you drag it into your inventory, a new horn automatically appears after a second. So it means that somehow you managed to bypass it. I experimented with a save of my own, but I couldn't get the replacement ear to not appear. I even tried making a savegame right after dragging the ear into my inventory, and the loaded savegame still showed the new appear after a second.

Are you able to replicate the problem first happening?

comment:2 by dafioram, 7 years ago

Its a graphics glitch that is present in the original game.

The horn is functionally there, I saw it regrow when I grabbed the ear, but when you look at it straight on it doesn't get shown.

See demo, as I turn you will see it reappear:

If you walk up to the sound puzzle and turn back you will see the horn so it is definitely there, just not for that one node/view.

comment:3 by dreammaster, 7 years ago

Are you sure about it being a problem in the original game? The game expects that the horn will always be present and visible, so in all other views there's not even an item for the phonograph ear, the ear is just a static part of the background. The Phonograph closeup is the only one where it's a distinct item. The logic it follows is that initially it's present (as titania's ear) bug non-draggable. Dragging is then allowed once you get the correct music playing. When you do then drag the ear, whether you explicitly drop it into the inventory or just release the mouse, it's added to the inventory, and then then a 1 second timer is set which, when expired, causes a "Replacement Phonograph Ear" to appear.

I checked your savegame, and somehow it's as if your game got stuck without the timer expiring. The CPhonographEar has property '_replacementEar' that was false, indicating you had dragged Titania's ear into the inventory (no surprise, I could see it in the inventory), but the replacement ear wasn't visible. I even did a test with your savegame.. using my debugger, I set _replacementEar back to true, and then dragged Titania's ear from the inventory and then back into it. It correctly set the _replacementEar back to false, did the one second timer, and then made the replacement ear visible.

So really, the problem is that the ear isn't visible, but to identify and fix the problem, I need you to see if you can replicate the problem from scratch. i.e. from before you add Titania's ear to your inventory. I've tried to replicate any problem, and I couldn't. If this is something you only just noticed, and you got the ear sometime earlier, then maybe it's something that's already been fixed.

comment:4 by dafioram, 7 years ago

Saving in the restaurant seems to be the problem.

After getting the ear take the pellerator to the restaurant. Step into the restaurant dining area. Save. Now reload that save and there should be no horn if you go back to the music room.

I was able to save the game in lots of places and go back to the music room to have the ear be gone. These included: walking around the restaurant entrance, before proding the maitreD, after, getting the items on the dining table, and playing the music to get the auditory center.

It is important that you reload a save. You can do the entire restaurant part: collect the table items, get the auditory center,.. and if you go back the music room it will show the ear. You can also save after doing all the restaurant stuff in the music room, and it will show the ear.

This behavior is the same in the original game and scummvm.

by dafioram, 7 years ago

Attachment: 23 Restaurant.gam added

After getting music, in restaurant, but horn can still be seen.

comment:5 by dreammaster, 7 years ago

Resolution: worksformefixed
Status: pendingclosed

You're right. The trick was to save and load the game, then save and load again. Turns out the replacement ear was present and visible, it just was incorrectly defaulting to frame 0 of the animation (movie) sequence that makes it appear.

When saving an object with an attached movie, a game object will save the currently active frame, which for the replacement ear was 30, for the end of the appearance sequence. But the original code had a bug in that if you loaded the save, it would store the frame number in preparation for when the movie is loaded (when the view is shown). But if you then save the game yet again before the object's movie is loaded, it will again try to get the current frame for the (non loaded) movie, and save 0 to the second savegame. So the '30' from the first savegame was lost. I've added in a workaround to fix the problem.

Note: See TracTickets for help on using tickets.