Normalize PE file version strings in engine detectors

Use File.cleanString(PE.getFileVersion()) when populating sVersion for several game engine detectors (Atlas, Godot, Wintermute) to ensure cleaned/normalized version strings. Refactor Director detector to remove repeated sVersion assignments and set sVersion once (cleaned) when any detection branch matches. Minor whitespace cleanup included.
This commit is contained in:
DosX 2026-05-11 20:29:12 +03:00
commit 63f963caff
4 changed files with 7 additions and 14 deletions

View file

@ -6,7 +6,7 @@ meta("game engine", "Atlas");
function detect() {
if (PE.getVersionStringInfo("ProductName") == "Atlas Game Engine") {
sVersion = PE.getFileVersion();
sVersion = File.cleanString(PE.getFileVersion());
bDetected = true;
}

View file

@ -6,42 +6,35 @@ meta("game engine", "Director");
function detect() {
if (PE.isExportFunctionPresent("_FindEmbeddedMovie") || PE.isExportFunctionPresent("_GetCurrentEmbeddedMovie")) {
sVersion = PE.getFileVersion();
bDetected = true;
} else if (PE.getVersionStringInfo("LegalCopyright") == "Copyright © 1985-1996 Macromedia, Inc.") {
sVersion = PE.getFileVersion();
bDetected = true;
} else if (PE.getVersionStringInfo("LegalCopyright") == "Copyright © 1985-1997 Macromedia, Inc.") {
sVersion = PE.getFileVersion();
bDetected = true;
} else if (PE.getVersionStringInfo("ProductName") == "Director 8 Shockwave Studio") {
sVersion = PE.getFileVersion();
sOptions = "Shockwave Studio";
bDetected = true;
} else if (PE.getVersionStringInfo("ProductName") == "Director 8.5 Shockwave Studio") {
sVersion = PE.getFileVersion();
sOptions = "Shockwave Studio";
bDetected = true;
} else if (PE.getVersionStringInfo("LegalCopyright") == "Copyright © 1985-2002 Macromedia, Inc.") {
sVersion = PE.getFileVersion();
bDetected = true;
} else if (PE.getVersionStringInfo("LegalCopyright") == "Copyright © 1985-2003 Macromedia, Inc.") {
sVersion = PE.getFileVersion();
bDetected = true;
} else if (PE.getVersionStringInfo("ProductName") == "Director MX 2004") {
sVersion = PE.getFileVersion();
sOptions = "MX 2004";
bDetected = true;
} else if (PE.getVersionStringInfo("ProductName") == "Director 11.3") {
sVersion = PE.getFileVersion();
bDetected = true;
} else if (PE.getVersionStringInfo("ProductName") == "Director 11.5") {
sVersion = PE.getFileVersion();
bDetected = true;
} else if (PE.getVersionStringInfo("ProductVersion") == "12.0.1 Development") {
sVersion = PE.getFileVersion();
sOptions = "Development build";
bDetected = true;
}
if (bDetected) sVersion = File.cleanString(PE.getFileVersion());
return result();
}

View file

@ -6,7 +6,7 @@ meta("game engine", "Godot");
function detect() {
if (PE.getVersionStringInfo("FileDescription") == "Godot Engine") {
sVersion = PE.getFileVersion();
sVersion = File.cleanString(PE.getFileVersion());
bDetected = true;
}

View file

@ -6,7 +6,7 @@ meta("game engine", "Wintermute");
function detect() {
if (PE.getVersionStringInfo("FileDescription") == "Wintermute Engine Runtime") {
sVersion = PE.getFileVersion();
sVersion = File.cleanString(PE.getFileVersion());
bDetected = true;
}