ref: 3bd29e8d55ee7b20760d2e51cd2a8d0acf0284e1
parent: dec3348a9a2584fa375407341ea265535dc0f8e3
author: Simon Howard <fraggle@gmail.com>
date: Sat Oct 18 21:37:36 EDT 2014
doom: Add game names for Freedoom IWADs. When playing using one of the Freedoom IWADs, set the gamedescription string to be the full title of the IWAD being played, rather than showing "Ultimate Doom" or "Doom II: Hell on Earth" etc. This fixes #446 (thanks chungy).
--- a/src/doom/d_main.c
+++ b/src/doom/d_main.c
@@ -752,6 +752,9 @@
void D_SetGameDescription(void)
{
+ boolean is_freedoom = W_CheckNumForName("FREEDOOM") >= 0,
+ is_freedm = W_CheckNumForName("FREEDM") >= 0;
+
gamedescription = "Unknown";
if (logical_gamemission == doom)
@@ -758,12 +761,16 @@
{
// Doom 1. But which version?
- if (gamemode == retail)
+ if (is_freedoom)
{
+ gamedescription = GetGameName("Freedoom: Phase 1");
+ }
+ else if (gamemode == retail)
+ {
// Ultimate Doom
gamedescription = GetGameName("The Ultimate DOOM");
- }
+ }
else if (gamemode == registered)
{
gamedescription = GetGameName("DOOM Registered");
@@ -777,12 +784,29 @@
{
// Doom 2 of some kind. But which mission?
- if (logical_gamemission == doom2)
+ if (is_freedoom)
+ {
+ if (is_freedm)
+ {
+ gamedescription = GetGameName("FreeDM");
+ }
+ else
+ {
+ gamedescription = GetGameName("Freedoom: Phase 2");
+ }
+ }
+ else if (logical_gamemission == doom2)
+ {
gamedescription = GetGameName("DOOM 2: Hell on Earth");
+ }
else if (logical_gamemission == pack_plut)
+ {
gamedescription = GetGameName("DOOM 2: Plutonia Experiment");
+ }
else if (logical_gamemission == pack_tnt)
+ {
gamedescription = GetGameName("DOOM 2: TNT - Evilution");
+ }
}
}