Opened 8 years ago

Closed 8 years ago

#5891 closed defect (fixed)

SWORD1: Freeze before meeting with police

Reported by: SF/simsaw Owned by: criezy
Priority: normal Component: Engine: Sword1
Keywords: Cc:
Game: Broken Sword 1

Description

The English Windows demo of Broken Sword 1 seems to have several longstanding bugs. Here, I will only describe the one most critical in my opinion. It has been already there in 1.0.0 rc1.

If you go away from the café right after the intro to the direction where you normally meet the police, George walks in the screen and stops - without the police showing up. The game then freezes forever. That means that the demo is not completeable.

I tested with the latest Daily Build from October 29, 2011.

Ticket imported from: #3430793. Ticket imported from: bugs/5891.

Attachments (1)

sword1-demo-fix.patch (1.6 KB ) - added by digitall 8 years ago.
Proposed Fix #1

Download all attachments as: .zip

Change History (10)

comment:1 by digitall, 8 years ago

Replicated with game demo from http://demos.scummvm.org/sword1/sword1-win-demo-en.zip and current Git master on Linux x86_32. Looks like a script issue. Will try to confirm if this is a regression from any previous stable version.

comment:2 by criezy, 8 years ago

David,

I think Simon mentionned to me on IRC yesterday that this was working with 0.8.0. Since this is an engine I know fairly well I will try to have a look. But it would help if you can confirm this is a regression and narrow the period during which it was introduced.

Note: another freeze he mentionned is when George speaks to the waitress after the explosion. If you select "No" to answer the question "Are you a doctor?" George says "Hey!" (instead of "No") and the game freezes. I don't know if the two issues are related but I though I would mentionned it here.

comment:3 by digitall, 8 years ago

Yes. I can confirm that this regression was introduced between 0.13.1 and 1.0.0-rc1 based on testing with the Win32 releases. I will run a Git bisection and try to locate the point of regression.

comment:4 by digitall, 8 years ago

Aha.. This regression was introduced by the following commit: commit 14c85028b12088e1b169a34488ece6522c4cf4ab Author: Fabio Battaglia <hkzlabnet@gmail.com> Date: Mon Jun 8 12:37:24 2009 +0000

sword1: add Broken Sword PSX demo support

svn-id: r41369

comment:5 by digitall, 8 years ago

Attaching a patch to fix this issue. I have tested this with the Win Demo and this fixes the bug.

I suspected the issue was that Hkz (who committed) added a isPc() check to some of the logic.cpp paths, but isPc() which checks the Platform of the game is PC i.e. DOS, fails to also respond for kPlatformWindows versions. Since this check is really for (IS NOT PSX), reworking these checks actually simplifies the code.

It is suspected that without this check, the Mac version will also display issues.. But with this patch applied, all demos (Windows, Mac and PSX) should be checked to ensure that this is a good fix.

by digitall, 8 years ago

Attachment: sword1-demo-fix.patch added

Proposed Fix #1

comment:6 by digitall, 8 years ago

Owner: set to criezy

comment:7 by digitall, 8 years ago

Ah, criezy has indicated that this patch will break the Mac version... isPc() is correct... except it should be isWin testing against kPlatformWindows. He will test and commit a fix.

comment:8 by criezy, 8 years ago

Resolution: fixed
Status: newclosed

comment:9 by criezy, 8 years ago

The proposed patch indeed breaks the mac demo version. I committed an alternative fix that works with both Windows and Mac demos.

Note: See TracTickets for help on using tickets.