[Scummvm-git-logs] scummvm master -> 35e5b89820cefca36fe2bbf69d37b94842e57639

bluegr noreply at scummvm.org
Sun Jan 18 10:19:51 UTC 2026


This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .

Summary:
406eb208a5 ULTIMA: NUVIE: stricten detection of Savage Empire V1.6
224d403879 ULTIMA: NUVIE: remove ambigous detection of SE V2.1
35e5b89820 ULTIMA: NUVIE: detect all versions of SE V2.1 correctly


Commit: 406eb208a5de404bb262bc295f56b1cf030f709c
    https://github.com/scummvm/scummvm/commit/406eb208a5de404bb262bc295f56b1cf030f709c
Author: Henne (119480+Henne at users.noreply.github.com)
Date: 2026-01-18T12:19:45+02:00

Commit Message:
ULTIMA: NUVIE: stricten detection of Savage Empire V1.6

During installation the user can choose between
(Time/Space)-saving installation and (Tandy/EGA/VGA) graphics.
The game files will be converted and differ in each mode.

The file talk.lcz stays the same in all cases and is
only a good indicator for Savage Empire V1.6.

VGA mode can be considered unstable,
Tandy/EGA mode is unsupported.

Changed paths:
    engines/ultima/detection_tables.h


diff --git a/engines/ultima/detection_tables.h b/engines/ultima/detection_tables.h
index 4d3917b69fc..1d7e4a68199 100644
--- a/engines/ultima/detection_tables.h
+++ b/engines/ultima/detection_tables.h
@@ -623,28 +623,119 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
 		GF_VGA_ENHANCED
 	},
 
+	// REMARK: The next 4 versions are unsupported!
+	// Reason: different graphic files depending on the installation type.
+	// Detailed: User can choose between (Time/Space) x (Tandy/EGA/VGA) during installation.
+	//           These files will be converted according to the selection.
 
-	// The Savage Empire v1.6
+	// The Savage Empire v1.6 Tandy - Space saving installation
 	{
 		{
 			"thesavageempire",
-			0,
-			AD_ENTRY1s("talk.lzc", "bef60fbc3cc478b2a2e8f0883652b2f3", 160784),
+			"V1.6S/TGA",
+			{
+				{"endgame.lzc", 0, "aed2d979ea10c4adf907f7babe82776e", 56905},
+				{"talk.lzc", 0, "bef60fbc3cc478b2a2e8f0883652b2f3", 160784},
+				{"tileindx.tga", 0, "bf8215818402b30e667cd57070248be1", 4096},
+				AD_LISTEND
+			},
 			Common::EN_ANY,
 			Common::kPlatformDOS,
-			ADGF_UNSTABLE,
+			ADGF_UNSUPPORTED,
+			GUI_OPTIONS_SAVAGE_EMPIRE
+		},
+		GAME_SAVAGE_EMPIRE,
+		0
+	},
+	// The Savage Empire v1.6 Tandy - Time saving installation
+	{
+		{
+			"thesavageempire",
+			"V1.6T/TGA",
+			{
+				{"endgame.lzc", 0, "e1c362564e5754fb9d79c01d33286e14", 168092},
+				{"talk.lzc", 0, "bef60fbc3cc478b2a2e8f0883652b2f3", 160784},
+				{"tileindx.tga", 0, "bf8215818402b30e667cd57070248be1", 4096},
+				AD_LISTEND
+			},
+			Common::EN_ANY,
+			Common::kPlatformDOS,
+			ADGF_UNSUPPORTED,
 			GUI_OPTIONS_SAVAGE_EMPIRE
 		},
 		GAME_SAVAGE_EMPIRE,
 		0
 	},
 
-	// The Savage Empire v1.6
+	// The Savage Empire v1.6 EGA - Space saving installation
+	{
+		{
+			"thesavageempire",
+			"V1.6S/EGA",
+			{
+				{"endgame.lzc", 0, "e917bd55bb3b895b06e250abe269680a", 60695},
+				{"talk.lzc", 0, "bef60fbc3cc478b2a2e8f0883652b2f3", 160784},
+				{"tileindx.ega", 0, "b573bb150ec1a8890507c97576854168", 4096},
+				AD_LISTEND
+			},
+			Common::EN_ANY,
+			Common::kPlatformDOS,
+			ADGF_UNSUPPORTED,
+			GUI_OPTIONS_SAVAGE_EMPIRE
+		},
+		GAME_SAVAGE_EMPIRE,
+		0
+	},
+	// The Savage Empire v1.6 EGA - Time saving installation
+	{
+		{
+			"thesavageempire",
+			"V1.6T/EGA",
+			{
+				{"endgame.lzc", 0, "893cd767e54711939f1694a87cace3b4", 99270},
+				{"talk.lzc", 0, "bef60fbc3cc478b2a2e8f0883652b2f3", 160784},
+				{"tileindx.ega", 0, "b573bb150ec1a8890507c97576854168", 4096},
+				AD_LISTEND
+			},
+			Common::EN_ANY,
+			Common::kPlatformDOS,
+			ADGF_UNSUPPORTED,
+			GUI_OPTIONS_SAVAGE_EMPIRE
+		},
+		GAME_SAVAGE_EMPIRE,
+		0
+	},
+
+	// The Savage Empire v1.6 VGA - Space saving installation
 	{
 		{
 			"thesavageempire_enh",
-			0,
-			AD_ENTRY1s("talk.lzc", "bef60fbc3cc478b2a2e8f0883652b2f3", 160784),
+			"V1.6S/VGA",
+			{
+				{"endgame.lzc", 0, "32bd4f1daf9b97816f906623753d657b", 100947},
+				{"talk.lzc", 0, "bef60fbc3cc478b2a2e8f0883652b2f3", 160784},
+				{"tileindx.vga", 0, "5a136e5ec3b8c28a2c685c25387c334e", 4096},
+				AD_LISTEND
+			},
+			Common::EN_ANY,
+			Common::kPlatformDOS,
+			ADGF_UNSTABLE,
+			GUI_OPTIONS_SAVAGE_EMPIRE
+		},
+		GAME_SAVAGE_EMPIRE,
+		GF_VGA_ENHANCED
+	},
+	// The Savage Empire v1.6 VGA - Time saving installation
+	{
+		{
+			"thesavageempire_enh",
+			"V1.6T/VGA",
+			{
+				{"endgame.lzc", 0, "04e34a7c9f2934507673ef8477a7763a", 172957},
+				{"talk.lzc", 0, "bef60fbc3cc478b2a2e8f0883652b2f3", 160784},
+				{"tileindx.vga", 0, "5a136e5ec3b8c28a2c685c25387c334e", 4096},
+				AD_LISTEND
+			},
 			Common::EN_ANY,
 			Common::kPlatformDOS,
 			ADGF_UNSTABLE,


Commit: 224d40387946929045cbd2ae9e390c6445ed9160
    https://github.com/scummvm/scummvm/commit/224d40387946929045cbd2ae9e390c6445ed9160
Author: Henne (119480+Henne at users.noreply.github.com)
Date: 2026-01-18T12:19:45+02:00

Commit Message:
ULTIMA: NUVIE: remove ambigous detection of SE V2.1

Since GUI_OPTIONS_SAVAGE_EMPIRE is set to GUIO0(),
two of these four detection entries can be removed.

Tested, of course!

Changed paths:
    engines/ultima/detection_tables.h


diff --git a/engines/ultima/detection_tables.h b/engines/ultima/detection_tables.h
index 1d7e4a68199..f16f00536c0 100644
--- a/engines/ultima/detection_tables.h
+++ b/engines/ultima/detection_tables.h
@@ -775,36 +775,6 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
 		GF_VGA_ENHANCED
 	},
 
-	// The Savage Empire v2.1
-	{
-		{
-			"thesavageempire",
-			0,
-			AD_ENTRY1s("talk.lzc", "1bbb5a425e1d7e2e3aa9b887e511ffc6", 160931),
-			Common::EN_ANY,
-			Common::kPlatformDOS,
-			ADGF_UNSTABLE,
-			GUIO0()
-		},
-		GAME_SAVAGE_EMPIRE,
-		0
-	},
-
-	// The Savage Empire v2.1
-	{
-		{
-			"thesavageempire_enh",
-			0,
-			AD_ENTRY1s("talk.lzc", "1bbb5a425e1d7e2e3aa9b887e511ffc6", 160931),
-			Common::EN_ANY,
-			Common::kPlatformDOS,
-			ADGF_UNSTABLE,
-			GUIO0()
-		},
-		GAME_SAVAGE_EMPIRE,
-		GF_VGA_ENHANCED
-	},
-
 	{ AD_TABLE_END_MARKER, (GameId)0, 0 }
 };
 


Commit: 35e5b89820cefca36fe2bbf69d37b94842e57639
    https://github.com/scummvm/scummvm/commit/35e5b89820cefca36fe2bbf69d37b94842e57639
Author: Henne (119480+Henne at users.noreply.github.com)
Date: 2026-01-18T12:19:45+02:00

Commit Message:
ULTIMA: NUVIE: detect all versions of SE V2.1 correctly

The detection of the versions of Savage Empire V2.1 is now unambigous.

Also added some documentation how it works.

Changed paths:
    engines/ultima/detection_tables.h


diff --git a/engines/ultima/detection_tables.h b/engines/ultima/detection_tables.h
index f16f00536c0..a105ff94e60 100644
--- a/engines/ultima/detection_tables.h
+++ b/engines/ultima/detection_tables.h
@@ -623,10 +623,21 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
 		GF_VGA_ENHANCED
 	},
 
+	// REMARK: SE can have many versions, so the detection is a bit tricky:
+	//
+	// 	There are two known versions, V1.6 and V2.1.
+	// 	During installation theres an option to select between (Time/Space)-saving,
+	// 	which results in different data files.
+	// 	Also theres another option to select other graphic devices (Tandy/EGA/VGA),
+	// 	which also results in different data files.
+	// 	Installation comes with Time-saving and VGA, the conversion is done by the installer.
+	// 	So there are 12 different versions of datafile-sets for that game.
+	//
+	//         * talk.lzc    differs only from V1.6 to V2.1
+	//         * endgame.lzc differs in each generated version, but is not affected by V1.6 => V2.1
+	//         * tileindx.*  is the same for each graphics type and is not affected by V1.6 => V2.1
+
 	// REMARK: The next 4 versions are unsupported!
-	// Reason: different graphic files depending on the installation type.
-	// Detailed: User can choose between (Time/Space) x (Tandy/EGA/VGA) during installation.
-	//           These files will be converted according to the selection.
 
 	// The Savage Empire v1.6 Tandy - Space saving installation
 	{
@@ -745,27 +756,119 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
 		GF_VGA_ENHANCED
 	},
 
-	// The Savage Empire v2.1
+	// REMARK: The next 4 versions are unsupported!
+	// Reason: different graphic files depending on the installation type.
+	// Detailed: User can choose between (Time/Space) x (Tandy/EGA/VGA) during installation.
+	//           These files will be converted according to the selection.
+
+	// The Savage Empire v2.1 Tandy - Space saving installation
 	{
 		{
 			"thesavageempire",
-			0,
-			AD_ENTRY1s("talk.lzc", "1bbb5a425e1d7e2e3aa9b887e511ffc6", 160931),
+			"V2.1S/TGA",
+			{
+				{"endgame.lzc", 0, "aed2d979ea10c4adf907f7babe82776e", 56905},
+				{"talk.lzc", 0, "1bbb5a425e1d7e2e3aa9b887e511ffc6", 160931},
+				{"tileindx.tga", 0, "bf8215818402b30e667cd57070248be1", 4096},
+				AD_LISTEND
+			},
 			Common::EN_ANY,
 			Common::kPlatformDOS,
-			ADGF_UNSTABLE,
+			ADGF_UNSUPPORTED,
+			GUI_OPTIONS_SAVAGE_EMPIRE
+		},
+		GAME_SAVAGE_EMPIRE,
+		0
+	},
+	// The Savage Empire v2.1 Tandy - Time saving installation
+	{
+		{
+			"thesavageempire",
+			"V2.1T/TGA",
+			{
+				{"endgame.lzc", 0, "e1c362564e5754fb9d79c01d33286e14", 168092},
+				{"talk.lzc", 0, "1bbb5a425e1d7e2e3aa9b887e511ffc6", 160931},
+				{"tileindx.tga", 0, "bf8215818402b30e667cd57070248be1", 4096},
+				AD_LISTEND
+			},
+			Common::EN_ANY,
+			Common::kPlatformDOS,
+			ADGF_UNSUPPORTED,
+			GUI_OPTIONS_SAVAGE_EMPIRE
+		},
+		GAME_SAVAGE_EMPIRE,
+		0
+	},
+
+	// The Savage Empire v2.1 EGA - Space saving installation
+	{
+		{
+			"thesavageempire",
+			"V2.1S/EGA",
+			{
+				{"endgame.lzc", 0, "e917bd55bb3b895b06e250abe269680a", 60695},
+				{"talk.lzc", 0, "1bbb5a425e1d7e2e3aa9b887e511ffc6", 160931},
+				{"tileindx.ega", 0, "b573bb150ec1a8890507c97576854168", 4096},
+				AD_LISTEND
+			},
+			Common::EN_ANY,
+			Common::kPlatformDOS,
+			ADGF_UNSUPPORTED,
+			GUI_OPTIONS_SAVAGE_EMPIRE
+		},
+		GAME_SAVAGE_EMPIRE,
+		0
+	},
+	// The Savage Empire v2.1 EGA - Time saving installation
+	{
+		{
+			"thesavageempire",
+			"V2.1T/EGA",
+			{
+				{"endgame.lzc", 0, "893cd767e54711939f1694a87cace3b4", 99270},
+				{"talk.lzc", 0, "1bbb5a425e1d7e2e3aa9b887e511ffc6", 160931},
+				{"tileindx.ega", 0, "b573bb150ec1a8890507c97576854168", 4096},
+				AD_LISTEND
+			},
+			Common::EN_ANY,
+			Common::kPlatformDOS,
+			ADGF_UNSUPPORTED,
 			GUI_OPTIONS_SAVAGE_EMPIRE
 		},
 		GAME_SAVAGE_EMPIRE,
 		0
 	},
 
-	// The Savage Empire v2.1
+	// The Savage Empire v2.1 VGA - Space saving installation
 	{
 		{
 			"thesavageempire_enh",
-			0,
-			AD_ENTRY1s("talk.lzc", "1bbb5a425e1d7e2e3aa9b887e511ffc6", 160931),
+			"V2.1S/VGA",
+			{
+				{"endgame.lzc", 0, "32bd4f1daf9b97816f906623753d657b", 100947},
+				{"talk.lzc", 0, "1bbb5a425e1d7e2e3aa9b887e511ffc6", 160931},
+				{"tileindx.vga", 0, "5a136e5ec3b8c28a2c685c25387c334e", 4096},
+				AD_LISTEND
+			},
+			Common::EN_ANY,
+			Common::kPlatformDOS,
+			ADGF_UNSTABLE,
+			GUI_OPTIONS_SAVAGE_EMPIRE
+		},
+		GAME_SAVAGE_EMPIRE,
+		GF_VGA_ENHANCED
+	},
+	// The Savage Empire v2.1 VGA - Time saving installation
+	{
+		{
+			"thesavageempire_enh",
+			"V2.1T/VGA",
+			{
+				{"endgame.lzc", 0, "04e34a7c9f2934507673ef8477a7763a", 172957},
+				{"talk.lzc", 0, "1bbb5a425e1d7e2e3aa9b887e511ffc6", 160931},
+				{"tileindx.vga", 0, "5a136e5ec3b8c28a2c685c25387c334e", 4096},
+				AD_LISTEND
+			},
 			Common::EN_ANY,
 			Common::kPlatformDOS,
 			ADGF_UNSTABLE,




More information about the Scummvm-git-logs mailing list