Freitag, 10. April 2009

Liste diverser Fehlermeldung in Sierra's Classic SCI Produkten

Beim Start erscheint eine Accessviolation, die in etwa so aussieht:

The instruction at 004595ff referenced memory at 3231303a
The memory could not be written

Click OK to terminate the application

Grund: Offensichtlich befindet sich im Verzeichnis eine Datei mit zu langem Namen, sodass beim Suchen der Patch-Files ein Speicherüberlauf geschieht.

Der Fehler tritt nur bei Dateien auf, die eine Dateinamenserweiterung (Abschnitt hinter dem letzten Punkt) größer gleich 3 ist und die Gesamtlänge (inklusive Punkt) größer gleich 13 ist. Bei einem 17+4 oder einem 18+3 Dateinamen gibt es also keinen Fehler. Bei einem 18+4 oder 19+3 Dateinamen kommt es zum Programmabsturz.

(Getestet mit King's Quest 7 - SCI 2.002)

Meldung "Windows Title not found"

Es wurde versucht, den SCI-Interpreter direkt aufzurufen. Meistens muss man

Bei King's Quest 7 sieht die Befehlszeile (Parameter in der Verknüpfung) für das Spiel etwa so aus:
C:\Sierra\Kq7\Sierraws.exe C:\SIERRA\KQ7\RESOURCE.WIN
[Arbeitsverzeichnis D:]

Fehlt die Angabe von Resource.Win, kann das Spiel nicht starten.

Bei SCI3 Spielen ist die Angabe der Resourcendatei meist nicht notwendig. Hier reicht wie z.B. in Lighthouse folgende Befehlszeile ohne Parameter aus:
C:\Lh\Sierw5.exe

Meldung: "999.pal" not found.

Bei Sierra's SCI Produkten erhält man manchmal die Fehlermeldung "999.pal not found". Dies ist ein Dummy-Dateiname und bedeutet, dass ein Verzeichnis in der Resource.win nicht gefunden wurde. Man braucht diese Datei also nicht zu suchen, sondern sollte die Resource.win prüfen. Dabei ist ggf. auf die Backslashes sowie die DOS-Dateinamenkompatibilität zu achten.

Freitag, 3. April 2009

How to run Lighthouse on newer systems

I tried to install "Lighthouse" from Sierra (1996) on my new Windows XP system and then following "message" appeared (see picture on the right). I couldn't find a solution in the internet, so I published this manual.

My solution

Delete the file „C:\SIERRA\LIGHTWIN\SIERW5.EXE" and copy the the file „SIERW.EXE" into the directory. Then you rename it into „SIERW5EXE".

Alas, No-CD Patch not possible

At the beginning, I had a information about a no cd patch at this manual. But I made a mistake.

With the simple editing of Resource.win it is not possible to create a no cd patch for Lighthouse! I firstly tried the technique that I knew from Sierra's King's Quest 7: Redirecting the paths in Resource.win from CD: to C: and copy the CD's data to the hard disk. But this doesn't work in Lighthouse, because the SCI3-Interpreter has a bad coded cd detection:

There are 2 files for the 2 CDs: SCIRES.001 and SCIRES.002. The 001 file identifies CD 1, the other file identifies CD 2. The big problem is now, that the game searches for the first occur of SCIRES.0??, when a CD is needed. Windows delivers now the first file it finds. This could be SCIRES.001 or SCIRES.002. But in each case the other file will never be delivered, so the game thinks, that the desired CD is not inserted. A better behavior would be, if the game searchs directly for SCIRES.001 if it needs CD 1 and SCIRES.002 if it searches CD 2. But this would need a cracked version of the game. Another possibility would be to unify the 001 and 002 resource files. But even after very long research I had no success with the decryption of the SCI3 resource structure. Until yet, there are only tools or publications available which deal with the SCI1 structure. SCI2 and SCI3 is still a big quest for me.

Wie man Lighthouse auf modernen Systemen zum Laufen bekommt

Ich habe vor Kurzem versucht, das Spiel „Lighthouse“ von Sierra (1996) auf meinem Windows XP-System zu installieren. Zu meinem Erstaunen erhielt ich statt dem Spiel eineschöne Fehlermeldung mit äußerst wertvollen Informationen zur Fehlerbehebung (siehe Bild rechts).

In Google konnte ich keine Fehlerlösung finden. Deswegen stelle ich diese Anleitung ins Internet.

Hier meine Fehlerlösung

Löscht nach der Installation die Datei „C:\SIERRA\LIGHTWIN\SIERW5.EXE“ und kopiert von der ersten CD die Datei „SIERW.EXE“ in das Verzeichnis. Anschließend benennt ihr sie in „SIERW5.EXE“ um – fertig!

No-CD Patch leider nicht möglich

Zuerst endhielt diese Anleitung ebenfalls eine Information zu einem No-CD-Patch. Hier habe ich mich aber leider geirrt.

Durch das alleinige Bearbeiten der Resource.win ist es nicht möglich, einen No-CD-Patch für Lighthouse zu erstellen! Ich habe zuerst die Technik angewandt, die ich aus Sierra's King's Quest 7 kenne: Die Resource.win-Verzeichnisse auf C: umleiten und die CD-Inhalte auf die Festplatte kopieren. Dies Funktioniert mit Lighthouse nicht, da der SCI3-Interpreter hier äußerst ungeschickt bei der CD-Detektion vorgeht:

Es gibt 2 Dateien für beide CDs: SCIRES.001 und SCIRES.002. Die eine Datei identifiziert CD 1, die andere CD 2. Das große Problem ist nun, dass das Spiel auf das erste Vorkommen von SCIRES.0?? prüft, wenn es eine CD benötigt. Windows liefert dann die erste gefundene Datei, also z.B. SCIRES.001 oder SCIRES.002 zurück. Die jeweils andere Datei wird niemals erkannt weswegen das Spiel denkt, die jeweils andere CD wäre nicht eingelegt. Ein besseres Verhalten des Spiels wäre es, dass es direkt auf die Datei SCIRES.002 prüft, wenn CD 2 angefordert wird und SCIRES.001 für CD 1. Dies würde aber leider nur mit einem Crack funktionieren. Eine andere Möglichkeit wäre es, die 001 und 002 Resourcendaten zu vereinigen. Ich hatte aber selbst nach langer recherche keinen Erfolg bezüglich der Entschlüsselung der SCI3 Resourcenstruktur. Bisher sind lediglich Tools und Publikationen entstanden, die sich mit der SCI1 Struktur befassen. SCI2 und SCI3 bleibt für mich weiterhin rätselhaft.