Opened 14 months ago
Closed 12 months ago
#14665 closed defect (fixed)
MOHAWK: MYST: Crash at Fortress Simulator When Doing A Complete Rotation
Reported by: | DjDiabolik | Owned by: | sluicebox |
---|---|---|---|
Priority: | blocker | Component: | Engine: Mohawk |
Version: | Keywords: | ||
Cc: | Game: | Myst |
Description (last modified by )
If the Fortress Rotation Simulator is used in the Mechanical Age to do a full rotation, this crashes with a assertion from Quicktime video code.
Attachments (3)
Change History (25)
by , 14 months ago
Attachment: | myst-000.mym added |
---|
comment:1 by , 14 months ago
comment:2 by , 14 months ago
No way... i can't attach my current scummvm.log ever obtain 'internal server error (500).
comment:3 by , 14 months ago
Summary: | Myst - Games Crash at Simulator Rotation only whit a complete rotation. It's a BUG ? → Myst - Games Crash at Fortress Simulator Rotation only whit a complete rotation. It's a BUG ? |
---|
Put correct names... Fortress Simulator rotation.
The games crash when i try to make a complete rotation...
comment:4 by , 13 months ago
Priority: | blocker → high |
---|---|
Summary: | Myst - Games Crash at Fortress Simulator Rotation only whit a complete rotation. It's a BUG ? → MOHAWK: MYST: Crash at Fortress Simulator Rotation only whit a complete rotation |
comment:5 by , 13 months ago
Description: | modified (diff) |
---|---|
Priority: | high → normal |
Summary: | MOHAWK: MYST: Crash at Fortress Simulator Rotation only whit a complete rotation → MOHAWK: MYST: Crash at Fortress Simulator When Doing A Complete Rotation |
Replicated with the latest git master and Myst English. If the Fortress Rotation Holosimulator is used and you do a full rotation, ScummVM crashes with an assertion:
Running Myst (Windows/English)
myst.dat: ae3258c9c90128d274aa6a790b3ad181, 66236882 bytes.
scummvm: ./common/array.h:234: T& Common::Array<T>::operator[](size_type) [with T = Common::QuickTimeParser::EditListEntry; size_type = unsigned int]: Assertion `idx < _size' failed.
Aborted
comment:6 by , 13 months ago
Description: | modified (diff) |
---|
comment:8 by , 13 months ago
156ba82247ff2c99fe7cd56c54e7b393c434944e is the first bad commit
commit 156ba82247ff2c99fe7cd56c54e7b393c434944e
Author: Harishankar Kumar <hari01584@…>
Date: Mon Apr 10 09:25:58 2023 +0530
VIDEO: Add support for custom rate in quicktime videos
used in mediaband undome
video/qt_decoder.cpp | 5 +++++
1 file changed, 5 insertions(+)
comment:9 by , 13 months ago
mmmmmmm... If you need any other file or information, just ask.
Or from now can you let me know when I can update the daily build and play this game in Italian?
Lol... i have buy "RealMyst: Masterpiece Edition" from steam but it's all in english whitout subtitle or similar it's no fair to play :)
comment:10 by , 13 months ago
For a Purpose Testing i have tryed right now to update my Daily Build to commit:
https://buildbot.scummvm.org/dailybuilds/master/debian-x86-64-master-e25a9b89.tar.xz
Extracted and try same point and crash it's append again :)
I can also try the current stable version.... To see what's append...
follow-up: 12 comment:11 by , 13 months ago
@DjDiabolik: There is no point to you doing any further testing on this bug currently. We know what the cause of the regression is and when it was introduced so you testing the stable builds serves no purpose.
I could remove the code now if I wanted to to fix this, but this was added to fix a different issue in the DIRECTOR engine under development.
So just removing it will fix this issue and break something else. It will take a bit of time to work out the "correct" solution for this, so please have some patience.
comment:12 by , 13 months ago
Replying to digitall:
@DjDiabolik: There is no point to you doing any further testing on this bug currently. We know what the cause of the regression is and when it was introduced so you testing the stable builds serves no purpose.
I could remove the code now if I wanted to to fix this, but this was added to fix a different issue in the DIRECTOR engine under development.
So just removing it will fix this issue and break something else. It will take a bit of time to work out the "correct" solution for this, so please have some patience.
ah ok...I had mistakenly understood that something had been already done:)
Sorry for make confusion
So at right now... i can play the games whit current stable 2.7.1.
Apparently here this point can be pass whitout any problems and i can use same savegame files :)
follow-up: 15 comment:13 by , 12 months ago
Should the priority for this be raised for the 2.8.0 release cycle?
comment:14 by , 12 months ago
Priority: | normal → blocker |
---|
comment:15 by , 12 months ago
Replying to AndywinXp:
Should the priority for this be raised for the 2.8.0 release cycle?
I raised the priority to "blocker".
comment:16 by , 12 months ago
The original bug submitter savegame seems to load on Myst Island, rather than the Mechanical Age closest to the bug point. Will upload a savegame for Mechanical Age.
To replicate, load the savegame, click right side and then click to move into the Fortress. Take the right hand path through the fortress entry door and in the chamber with the throne, the Fortress Rotation holo simulator is to the left side of the chamber from the entry door, to the left of the throne.
Click on the simulator, let it start, then push the left lever up to unlock, then the right lever up so the simulation rotates. When the simulation hits a full rotation, the assertion will be triggered.
comment:17 by , 12 months ago
Worst case, "changeCard 6025" at the debug console (CTRL+ALT+d) after loading the savegame should be sufficient to be in the position needed. Click the holosimulator on the left of that card.
comment:18 by , 12 months ago
SIGH. I also get a similar crash when using the levers in the Clocktower puzzle on Myst. The reset lever on the right crashes out in a similar way when the weight on the left returns to the top
by , 12 months ago
Attachment: | myst-001.mym added |
---|
by , 12 months ago
Attachment: | myst-001.mys added |
---|
comment:19 by , 12 months ago
The clocktower puzzle is Card 4113 in the Myst stack. You can do a "changeCard 4113" from a new game state to get there or solve the clocktower bridge puzzle :)
comment:20 by , 12 months ago
I've reverted the QuickTime commits from April. They were not properly documented or communicated. They also allegedly implemented something that the QuickTimeDecoder code has multiple comments explaining isn't implemented with TODOs and FIXMEs, and there's even a comment for some behavior that specifically references Myst HOLO.MOV which now crashes.
Whatever was being attempted, it will require another approach.
I've tested that this fixes card 6025 and 6156, I'll leave this open for digitall to confirm.
https://github.com/scummvm/scummvm/commit/38d507d9b801d375bedfa612a557ee1a31c345ea
comment:21 by , 12 months ago
Tested with Myst Clocktower Puzzle, Mechanical Age Fortress Rotation Simulator and Controls. All work fine with the latest git master.
It is not optimal to revert, but as @sluicebox said, the QT decoder needs a fuller refactoring to implement this feature for DIRECTOR without breaking existing games and a retest of the main engines / games which use QT videos, especially MOHAWK games.
Closing this as fixed (for now)
comment:22 by , 12 months ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
I have tryed to attach current scummvm.log but apparently i can't and i obtain 'internal server error (500) try to paste here:
[2023-10-12 16:31:25] ScummVM 2.8.0git8373-g32e2a5b4207 (Oct 11 2023 04:11:14)
[2023-10-12 16:31:25] TAINTED Vorbis FLAC MP3 ALSA SEQ sndio TiMidity RGB zLib MPEG2 FluidSynth MikMod Theora VPX AAC A/52 FreeType2 FriBiDi JPEG PNG GIF taskbar TTS cloud (servers, local) ENet SDL2 TinyGL OpenGL (with shaders)
[2023-10-12 16:31:25] --- Log opened.
[2023-10-12 16:31:25] Using game controller: Nacon GC-100
[2023-10-12 16:31:25] WARNING: SDL mixer output buffer size: 512 differs from desired: 1024!
[2023-10-12 16:31:25] Using game controller: Nacon GC-100
[2023-10-12 16:31:45] Running Myst (Windows/Italian)
[2023-10-12 16:31:45] myst.dat: a5795ce1751fc42525e4f9a1859181d5, 66795223 bytes.
[2023-10-12 16:31:45] WARNING: [UnityTaskbarManager::addRecent] Not implemented!