- A few more missing things for compatibility.

# Conflicts:
#	wadsrc/static/language.enu
This commit is contained in:
drfrag 2019-07-16 23:10:04 +02:00
parent b702a5a514
commit 8c941ba1cf
5 changed files with 46 additions and 9 deletions

View file

@ -399,6 +399,7 @@ void FMapInfoParser::ParseGameInfo()
GAMEINFOKEY_BOOL(swapmenu, "swapmenu")
GAMEINFOKEY_BOOL(dontcrunchcorpses, "dontcrunchcorpses")
GAMEINFOKEY_BOOL(correctprintbold, "correctprintbold")
GAMEINFOKEY_BOOL(forcetextinmenus, "forcetextinmenus") // hack hack
GAMEINFOKEY_BOOL(intermissioncounter, "intermissioncounter")
GAMEINFOKEY_BOOL(nightmarefast, "nightmarefast")
GAMEINFOKEY_COLOR(dimcolor, "dimcolor")

View file

@ -115,6 +115,7 @@ struct gameinfo_t
bool swapmenu;
bool dontcrunchcorpses;
bool correctprintbold;
bool forcetextinmenus;
TArray<FName> creditPages;
TArray<FName> finalePages;
TArray<FName> infoPages;

View file

@ -8889,10 +8889,17 @@ FxExpression *FxVMFunctionCall::Resolve(FCompileContext& ctx)
CallingFunction = ctx.Function;
if (ArgList.Size() > 0)
{
if (argtypes.Size() == 0)
{
ScriptPosition.Message(MSG_ERROR, "Too many arguments in call to %s", Function->SymbolName.GetChars());
delete this;
return nullptr;
}
bool foundvarargs = false;
PType * type = nullptr;
int flag = 0;
if (argtypes.Last() != nullptr && ArgList.Size() + implicit > argtypes.Size())
if (argtypes.Size() > 0 && argtypes.Last() != nullptr && ArgList.Size() + implicit > argtypes.Size())
{
ScriptPosition.Message(MSG_ERROR, "Too many arguments in call to %s", Function->SymbolName.GetChars());
delete this;

View file

@ -1294,17 +1294,20 @@ TXT_FREEZEOFF = "Freeze mode off";
TXT_STRANGE = "You feel strange...";
TXT_STRANGER = "You feel even stranger.";
TXT_NOTSTRANGE = "You feel like yourself again.";
TXT_LEADBOOTSON = "LEAD BOOTS ON";
TXT_LEADBOOTSOFF = "LEAD BOOTS OFF";
TXT_LEADBOOTSON = "Lead Boots On";
TXT_LEADBOOTSOFF = "Lead Boots Off";
TXT_LIGHTER = "You feel lighter";
TXT_GRAVITY = "Gravity weighs you down";
// Raven intermission
TXT_IMKILLS = "KILLS";
TXT_IMITEMS = "ITEMS";
TXT_IMSECRETS = "SECRETS";
TXT_IMTIME = "TIME";
TXT_IMKILLS = "Kills";
TXT_IMITEMS = "Items";
TXT_IMSECRETS = "Secrets";
TXT_IMTIME = "Time";
TXT_IMSUCKS = "Sucks";
TXT_IMSCRT = "Scrt";
TXT_IMPAR = "Par";
RAVENQUITMSG = "ARE YOU SURE YOU WANT TO QUIT?";

View file

@ -202,6 +202,31 @@ class StatusScreen abstract play version("2.5")
}
//====================================================================
//
// Draws a text, either as patch or as string from the string table
//
//====================================================================
int DrawPatchOrText(int y, PatchInfo pinfo, TextureID patch, String stringname)
{
String string = Stringtable.Localize(stringname);
int midx = screen.GetWidth() / 2;
if (TexMan.OkForLocalization(patch, stringname))
{
let size = TexMan.GetScaledSize(patch);
screen.DrawTexture(patch, true, midx - size.X * CleanXfac/2, y, DTA_CleanNoMove, true);
return y + int(size.Y * CleanYfac);
}
else
{
screen.DrawText(pinfo.mFont, pinfo.mColor, midx - pinfo.mFont.StringWidth(string) * CleanXfac/2, y, string, DTA_CleanNoMove, true);
return y + pinfo.mFont.GetHeight() * CleanYfac;
}
}
//====================================================================
//
// Draws "<Levelname> Finished!"
@ -211,7 +236,7 @@ class StatusScreen abstract play version("2.5")
//
//====================================================================
int drawLF ()
virtual int drawLF ()
{
int y = TITLEY * CleanYfac;
@ -239,7 +264,7 @@ class StatusScreen abstract play version("2.5")
//
//====================================================================
void drawEL ()
virtual void drawEL ()
{
int y = TITLEY * CleanYfac;