Opened 3 months ago
Closed 2 months ago
#16573 closed defect (fixed)
SCI: PQ3: Detection entry for EGA (GOG Version) - DOS English
| Reported by: | antoniou79 | Owned by: | sluicebox |
|---|---|---|---|
| Priority: | normal | Component: | Engine: SCI |
| Version: | Keywords: | EGA | |
| Cc: | Game: | Police Quest 3 |
Description
This is with ScummVM 2026.1.0 and also a recent build from ScummVM master HEAD (2026.1.1git)
This is the detection output when adding the "ega" folder, of the PQ3 installation from GOG for this game -- this EGA version is a recent addition (Feb 20, 2026).
The game in 'ega\' seems to be an unknown game variant.
Please report the following data to the ScummVM team at https://bugs.scummvm.org/ along with the name of the game you tried to add and its version, language, etc.:
Matched game IDs for the sci engine: pq3-fallback
{"resource.000", 0, "7659713720d61d9465a59091b7ee63ea", 504069},
{"resource.001", 0, "0284ca44341fbc3cb7a047e49d230234", 869158},
{"resource.002", 0, "31c226bf01b69c8182b8ca0e8760b0a7", 983665},
{"resource.003", 0, "9e6c53a0e7eef53694d260fade8b1fc7", 930048},
{"resource.map", 0, "aa938c5c3ffd4927bba4edfb9db640df", 5535},
The VERSION file says: 1.000
The executable "SCIDUV.EXE" contains a string "1.pq3.011" which, looking at some Google results, might indicate interpreter version.
The game seems to run fine (up to the first playable screen that I've tested), when added as pq3-fallback (which still names it "Police Quest III: The Kindred (EGA/DOS)").
The output of the "version" debug command from within ScummVM gives:
Game ID: pq3 Emulated interpreter version: Late SCI1 Detected features: ------------------ Sound type: Late SCI1 Graphics functions type: Late SCI0 Lofs type: Middle SCI1 Move count type: ignore SetCursor type: Early SCI0 PseudoMouse ability: yes View type: EGA kAnimate fastCast enabled: yes Uses palette merging: yes Uses 16 bit color matching: yes Resource volume version: Late SCI1 Resource map version: Late SCI1 Contains selector vocabulary (vocab.997): yes Has CantBeHere selector: yes Game version (VERSION file): 1.000

I tried adding this, keeping the formatting consistent with the older detection entry, and it seems to work fine:
diff --git a/engines/sci/detection_tables.h b/engines/sci/detection_tables.h index 86b4e1b7207..8e7285255dc 100644 --- a/engines/sci/detection_tables.h +++ b/engines/sci/detection_tables.h @@ -4707,6 +4707,17 @@ static const struct ADGameDescription SciGameDescriptions[] = { AD_LISTEND}, Common::EN_ANY, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO_STD16 }, + // Police Quest 3 EGA + // Sold by GOG as of February 20, 2026 + {"pq3", "EGA", { + {"resource.map", 0, "aa938c5c3ffd4927bba4edfb9db640df", 5535}, + {"resource.000", 0, "7659713720d61d9465a59091b7ee63ea", 504069}, + {"resource.001", 0, "0284ca44341fbc3cb7a047e49d230234", 869158}, + {"resource.002", 0, "31c226bf01b69c8182b8ca0e8760b0a7", 983665}, + {"resource.003", 0, "9e6c53a0e7eef53694d260fade8b1fc7", 930048}, + AD_LISTEND}, + Common::EN_ANY, Common::kPlatformDOS, ADGF_NO_FLAGS, GUIO_STD16 }, + // Police Quest 4 - English DOS Non-Interactive Demo (from FRG) // SCI interpreter version 1.001.096 // Note: we are not using ADGF_DEMO here, to avoid a game ID like pq4demo-demoI'm very unfamiliar with the game itself, though.