Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#6415 closed defect (fixed)

AGI (fan) SQ0: Regression on Verbs

Reported by: raziel- Owned by: wjp
Priority: normal Component: Engine: AGI
Version: Keywords:
Cc: Game: AGI Fanmade

Description

ScummVM 1.7.0git (Sep 29 2013 20:12:55) Features compiled in: Vorbis FLAC MP3 RGB zLib MPEG2 Theora AAC FreeType2 JPEG PNG

A little into the game one has to trick a guard to get his armor to trick a cop later there is a regression regarding items and inventory.

From the savegame there are two things to do that shows the regression

1) One has to \"look\" at the generators to be told that there is an \"actuator\" inside producing energy. 2) Now one has to \"remove\" or \"pull\" that \"actuator\", but it won\'t work because actuator is not in the vocabulary. I can proceed in this scene by removing \"battery\" (which was pure luck, because nowhere was a hint that this thing can also be called a battery) 3) The guard comes down. When he left one has to move from shadow to shadow to reach the top left spot right beside the stairs and \"use crowbar\" to get rid of the guard. 4) Now take the \"rifle\" and \"look guard\" (it will tell that he\'s wearing a battle \"armor\") 5) No way one can \"take\" the armor though, as \"armor\" is not in the vocabulary (again) 6) I\'m able to proceed once again, by \"take clothes\" but due to the fact i am not able to ever again do anything with \"armor\" the game is stuck at this point rendering it not completable.

I know it\'s a regression because i already finished the game twice with older revisions

Also there is a YouTube video that shows that both \"actuator\" and \"armor\" are known verbs (not sure if the video is scummvm or an emulator though)

http://www.youtube.com/watch?v=T08DFbxlqAU

Space Quest 0: Replicated (v1.04/DOS/English)

AmigaOS4 - PPC - SDL - BE gcc (GCC) 4.2.4 (adtools build 20090118)

Ticket imported from: #3615061. Ticket imported from: bugs/6415.

Attachments (1)

sq0.008 (4.0 KB ) - added by raziel- 9 years ago.
Generator Room

Download all attachments as: .zip

Change History (6)

by raziel-, 9 years ago

Attachment: sq0.008 added

Generator Room

comment:1 by digitall, 9 years ago

raziel_: Hmm... Did this work with v1.6.0? How about v1.5.0?

Could you try running this with earlier versions of ScummVM ie. AGI was added in 0.10.0 but try back to v1.2.1 and if that is OK, try each version in turn... This will give a "gross" bisection.

If you then can, please do a git bisection to locate the exact regressive commit... There have been a number of recent changes to the AGI engine so might be a good idea to try a revision period from start of 2013 and see...

comment:2 by raziel-, 9 years ago

@tdhs

History showed that i cannot do a git bisection with hg/mercurial

1.6.0 has the same issue 1.5.0 crashes on loading due to an assertion in surfacesdl-graphics.cpp

I unfortunately neither have the time right now to play through the game again or do a manual bisection. I'll get back to it when time permits.

Thank you for your interest though :-)

comment:3 by raziel-, 9 years ago

@tdhs

It's pretty easy to check if the dictionary is read out correctly or not. One has to simply start up the game in a given revision and either type "look armor" or "look actuator"

If the revision is bad one gets "armor" is not in my dictionary. If it's good one gets "You don't have it"

With this method i was able to corner the revision that broke it, it's 1.4.0, whereas 1.3.1 is working correctly

comment:4 by wjp, 9 years ago

The SQ0 dictionary contains several words like '7up' that start with a digit, and has those filed under 'a'. Our dictionary code stopped reading words starting with an 'a' as soon as the first letter of the words in the list changed.

This combination made us skip all words starting with an 'a' while reading. Worked around by only stopping once we're actually past the right letter, in commit b1a7492da88460ff13795fe16ed630ecb2489944.

comment:5 by wjp, 9 years ago

Owner: set to wjp
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.