Opened 10 months ago
Last modified 10 months ago
#13559 new defect
CHEWY: German demo crashes looking for a non-existing det0.taf file
|Reported by:||dwatteau||Owned by:|
|Cc:||Game:||Chewy: ESC from F5|
Today's Git HEAD (d0b5a35785a01bca5d9ba0bd3bb284cb6ea72ff4) on macOS 12.4 x86-64.
The chewy-dos-demo-de.zip demo, as hosted by ScummVM, immediately aborts looking for a non-existing
det0.taf file. Some other bug reports may look similar, but they don't mention the demo or they say that the intro works. Here, it's the (German) demo and it crashes before any intro.
Here's an LLDB backtrace with some additional debug.
(lldb) run chewy-demo-de User picked target 'chewy-demo-de' (engine ID 'chewy', game ID 'chewy')... Looking for a plugin supporting this target... Chewy: Esc from F5 Running Chewy: Esc from F5 (DOS/German) txt/atds.tap: c3be5641e90dd01274309b778cf8146d, 230686 bytes. DEBUG: Resource::Resource(): about to _steam.open() speech.tvp DEBUG: Resource::Resource(): about to _steam.open() details.tap DEBUG: Resource::Resource(): about to _steam.open() atds.tap DEBUG: Resource::Resource(): about to _steam.open() back/episode1.gep DEBUG: Resource::Resource(): about to _steam.open() txt/diah.adh DEBUG: Resource::Resource(): about to _steam.open() atds.tap DEBUG: Resource::Resource(): about to _steam.open() misc/cursor.taf DEBUG: initSprite(): filename=misc/cursor.taf DEBUG: Resource::Resource(): about to _steam.open() misc/ch_walk.taf DEBUG: initSprite(): filename=misc/ch_walk.taf DEBUG: Resource::Resource(): about to _steam.open() misc/ch_walk.taf DEBUG: initSprite(): filename=misc/ch_walk.taf DEBUG: Resource::Resource(): about to _steam.open() misc/menu.taf DEBUG: initSprite(): filename=misc/menu.taf DEBUG: loadRoom(): loading room no. 0 DEBUG: load_rdi_taf(): filename=det0.taf DEBUG: init_taf_tbl(): fname_=det0.taf DEBUG: Resource::Resource(): about to _steam.open() det0.taf Assertion failed: (_handle), function read, file file.cpp, line 141. (lldb) bt * thread #1, queue = 'com.apple.main-thread', stop reason = hit program assert frame #0: 0x00007ff816b3800e libsystem_kernel.dylib`__pthread_kill + 10 frame #1: 0x00007ff816b6e1ff libsystem_pthread.dylib`pthread_kill + 263 frame #2: 0x00007ff816ab9d24 libsystem_c.dylib`abort + 123 frame #3: 0x00007ff816ab90cb libsystem_c.dylib`__assert_rtn + 314 * frame #4: 0x00000001002acf31 scummvm`Common::File::read(this=0x000000010125c738, ptr=0x00007ff7bfefe95c, len=4) at file.cpp:141:2 frame #5: 0x000000010002e36f scummvm`Common::ReadStream::readUint32BE(this=0x000000010125c738) at stream.h:469:3 frame #6: 0x00000001000553c3 scummvm`Chewy::Resource::Resource(this=0x000000010125c730, filename=String @ 0x00007ff7bfefea60) at resource.cpp:45:32 frame #7: 0x000000010005518c scummvm`Chewy::SpriteResource::SpriteResource(this=0x000000010125c730, filename=<unavailable>) at resource.h:168:44 frame #8: 0x0000000100054735 scummvm`Chewy::SpriteResource::SpriteResource(this=0x000000010125c730, filename=<unavailable>) at resource.h:168:63 frame #9: 0x0000000100030a22 scummvm`Chewy::Detail::init_taf_tbl(this=0x00000001020c2e00, fname_="det0.taf") at detail.cpp:259:28 frame #10: 0x00000001000308a1 scummvm`Chewy::Detail::load_rdi_taf(this=0x00000001020c2e00, filename="det0.taf", load_flag=0) at detail.cpp:215:16 frame #11: 0x0000000100053b10 scummvm`Chewy::Room::loadRoom(this=0x0000600002c26900, Rb=0x00000001020b9a20, room_nr=0, player=0x00000001020b5650) at room.cpp:174:12 frame #12: 0x0000000100038565 scummvm`Chewy::init_load() at inits.cpp:217:12 frame #13: 0x0000000100037ea9 scummvm`Chewy::standard_init() at inits.cpp:84:2 frame #14: 0x000000010003a332 scummvm`Chewy::game_main() at main.cpp:54:2 frame #15: 0x000000010002df70 scummvm`Chewy::ChewyEngine::run(this=0x0000600003b100e0) at chewy.cpp:86:2 frame #16: 0x0000000100010cf6 scummvm`scummvm_main + 9046 frame #17: 0x000000010000c18d scummvm`main(argc=2, argv=0x00007ff7bfeff9a0) at macosx-main.cpp:44:12 frame #18: 0x000000010058151e dyld`start + 462
Change History (3)
comment:1 by , 10 months ago
comment:2 by , 10 months ago
Confirmed. There'd need to be non-trivial changes to the engine to get the demo working.
comment:3 by , 10 months ago
Some findings from running the game demo with DosBox:
- First room is DET51.TAF (Film Set)
- "Room" DET43 is a close-up talking to Howard, Det48 is the "room" inside the tent on the Film Set location, Det55 is up the ladder into the Giant Monkey Head(?)(from the left of Film Set, opened up after you solve the VHS/TV puzzle), Det52 is the map, Det54 is a location with a pool of piranhas, and Det53 is the Temple location (opened up after you solve the piranhas puzzle and get the diary from the hut).
- There is a short intro cutscene which seems to be playing the file: cut/cut.tap
- The demo ends when Chewy hits the button from within the Giant Monkey head.
- You can either have voices in the demo or subtitles. No voices means that subtitles will be enabled. You cannot have both.
From Discord, it appears that the demo is just unsupported at the moment.