- fixed: We must not allow the engine to start without a default MAPINFO definition.

Both 'Adventures of Square' IWADs were missing an entry for base MAPINFO and as a result did not define the common editor numbers.
To prevent this, a new mindefaults MAPINFO was added to zdoom.pk3 which now gets loaded if IWADINFO does not specify a game-specific file.
This minimum setting sets all gamedefaults to a reasonable base value and defines all other things that are required to be defined.
This commit is contained in:
Christoph Oelckers 2015-04-07 14:09:55 +02:00
parent dd91141b35
commit 268e7df992
3 changed files with 66 additions and 0 deletions

View file

@ -219,6 +219,11 @@ void FIWadManager::ParseIWadInfo(const char *fn, const char *data, int datasize)
sc.ScriptError("Unknown keyword '%s'", sc.String); sc.ScriptError("Unknown keyword '%s'", sc.String);
} }
} }
if (iwad->MapInfo.IsEmpty())
{
// We must at least load the minimum defaults to allow the engine to run.
iwad->MapInfo = "mapinfo/mindefaults.txt";
}
} }
else if (sc.Compare("NAMES")) else if (sc.Compare("NAMES"))
{ {

View file

@ -6,6 +6,7 @@ IWad
Autoname = "square.square" Autoname = "square.square"
Game = "Doom" Game = "Doom"
Config = "Square" Config = "Square"
Mapinfo = "mapinfo/mindefaults.txt"
MustContain = "SQU-IWAD", "E1A1" MustContain = "SQU-IWAD", "E1A1"
BannerColors = "ff ff ff", "80 00 80" BannerColors = "ff ff ff", "80 00 80"
} }
@ -16,6 +17,7 @@ IWad
Autoname = "square.squareware" Autoname = "square.squareware"
Game = "Doom" Game = "Doom"
Config = "Square" Config = "Square"
Mapinfo = "mapinfo/mindefaults.txt"
MustContain = "SQU-SWE1", "E1A1" MustContain = "SQU-SWE1", "E1A1"
BannerColors = "ff ff ff", "80 00 80" BannerColors = "ff ff ff", "80 00 80"
} }

View file

@ -0,0 +1,59 @@
// defines the minimum needed entries to let an unknown IWAD run
gameinfo
{
titlepage = "-NOFLAT-"
titletime = 999
infopage = "-NOFLAT-"
titlemusic = ""
advisorytime = 0
chatsound = ""
finalemusic = ""
finaleflat = "-NOFLAT-"
finalepage = "-NOFLAT-"
quitsound = ""
borderflat = "-NOFLAT-"
border = DoomBorder
telefogheight = 0
defkickback = 100
skyflatname = "F_SKY1"
translator = "xlat/doom.txt"
defaultbloodcolor = "68 00 00"
defaultbloodparticlecolor = "ff 00 00"
backpacktype = "Backpack"
armoricons = "AICNA0", 0.75, "AICNC0"
statusbar = "sbarinfo/doom.txt"
intermissionmusic = ""
intermissioncounter = true
dimcolor = "6f 00 6b"
dimamount = 0.8
definventorymaxamount = 25
defaultrespawntime = 12
defaultdropstyle = 1
endoom = "ENDOOM"
player5start = 4001
pickupcolor = "c0 c0 c0"
quitmessages = "Do you want to quit?"
menufontcolor_title = "purple"
menufontcolor_label = "default"
menufontcolor_value = "gray"
menufontcolor_action = "gray"
menufontcolor_header = "blue"
menufontcolor_highlight = "lightblue"
menufontcolor_selection = "purple"
menubackbutton = "M_BACK_D"
playerclasses = "DoomPlayer"
pausesign = "-NOFLAT-"
gibfactor = 1
cursorpic = "doomcurs"
textscreenx = 10
textscreeny = 10
defaultendsequence = "Inter_Cast"
maparrow = "maparrows/arrow.txt", "maparrows/ddtarrow.txt"
statscreen_mapnamefont = "BigFont"
statscreen_finishedpatch = "WIF"
statscreen_enteringpatch = "WIENTER"
}
include "mapinfo/common.txt"