This commit is contained in:
Christoph Oelckers 2014-04-16 11:34:32 +02:00
commit 29231fa3b7
7 changed files with 45 additions and 14 deletions

View file

@ -441,12 +441,25 @@ CCMD (exec)
} }
} }
CCMD (logfile) void execLogfile(const char *fn)
{
if ((Logfile = fopen(fn, "w")))
{ {
const char *timestr = myasctime(); const char *timestr = myasctime();
Printf("Log started: %s\n", timestr);
}
else
{
Printf("Could not start log\n");
}
}
CCMD (logfile)
{
if (Logfile) if (Logfile)
{ {
const char *timestr = myasctime();
Printf("Log stopped: %s\n", timestr); Printf("Log stopped: %s\n", timestr);
fclose (Logfile); fclose (Logfile);
Logfile = NULL; Logfile = NULL;
@ -454,14 +467,7 @@ CCMD (logfile)
if (argv.argc() >= 2) if (argv.argc() >= 2)
{ {
if ( (Logfile = fopen (argv[1], "w")) ) execLogfile(argv[1]);
{
Printf ("Log started: %s\n", timestr);
}
else
{
Printf ("Could not start log\n");
}
} }
} }

View file

@ -168,4 +168,6 @@ extern unsigned int MakeKey (const char *s);
extern unsigned int MakeKey (const char *s, size_t len); extern unsigned int MakeKey (const char *s, size_t len);
extern unsigned int SuperFastHash (const char *data, size_t len); extern unsigned int SuperFastHash (const char *data, size_t len);
void execLogfile(const char *fn);
#endif //__C_DISPATCH_H__ #endif //__C_DISPATCH_H__

View file

@ -2223,6 +2223,13 @@ void D_DoomMain (void)
FString *args; FString *args;
int argcount; int argcount;
// +logfile gets checked too late to catch the full startup log in the logfile so do some extra check for it here.
FString logfile = Args->TakeValue("+logfile");
if (logfile != NULL)
{
execLogfile(logfile);
}
D_DoomInit(); D_DoomInit();
PClass::StaticInit (); PClass::StaticInit ();
atterm(FinalGC); atterm(FinalGC);

View file

@ -4795,10 +4795,7 @@ AActor *P_SpawnMapThing (FMapThing *mthing, int position)
// Set various UDMF options // Set various UDMF options
if (mthing->alpha != -1) if (mthing->alpha != -1)
{
DPrintf("Setting alpha to %f", FIXED2FLOAT(mthing->alpha));
mobj->alpha = mthing->alpha; mobj->alpha = mthing->alpha;
}
if (mthing->RenderStyle != STYLE_Count) if (mthing->RenderStyle != STYLE_Count)
mobj->RenderStyle = (ERenderStyle)mthing->RenderStyle; mobj->RenderStyle = (ERenderStyle)mthing->RenderStyle;
if (mthing->scaleX) if (mthing->scaleX)

View file

@ -1764,6 +1764,9 @@ void P_LoadThings (MapData * map)
mti[i].Conversation = 0; mti[i].Conversation = 0;
mti[i].SkillFilter = MakeSkill(flags); mti[i].SkillFilter = MakeSkill(flags);
mti[i].ClassFilter = 0xffff; // Doom map format doesn't have class flags so spawn for all player classes mti[i].ClassFilter = 0xffff; // Doom map format doesn't have class flags so spawn for all player classes
mti[i].RenderStyle = STYLE_Count;
mti[i].alpha = -1;
mti[i].health = 1;
flags &= ~MTF_SKILLMASK; flags &= ~MTF_SKILLMASK;
mti[i].flags = (short)((flags & 0xf) | 0x7e0); mti[i].flags = (short)((flags & 0xf) | 0x7e0);
if (gameinfo.gametype == GAME_Strife) if (gameinfo.gametype == GAME_Strife)
@ -1837,6 +1840,10 @@ void P_LoadThings2 (MapData * map)
mti[i].flags &= ~(MTF_SKILLMASK|MTF_CLASS_MASK); mti[i].flags &= ~(MTF_SKILLMASK|MTF_CLASS_MASK);
mti[i].Conversation = 0; mti[i].Conversation = 0;
mti[i].gravity = FRACUNIT; mti[i].gravity = FRACUNIT;
mti[i].RenderStyle = STYLE_Count;
mti[i].alpha = -1;
mti[i].health = 1;
mti[i].fillcolor = mti[i].scaleX = mti[i].scaleY = mti[i].score = 0;
} }
delete[] mtp; delete[] mtp;
} }

View file

@ -581,6 +581,18 @@ void I_DetectOS(void)
osname = "Server 2008 R2"; osname = "Server 2008 R2";
} }
} }
else if (info.dwMinorVersion == 2)
{
// Microsoft broke this API for 8.1 so without jumping through hoops it won't be possible anymore to detect never versions aside from the build number, especially for older compilers.
if (info.wProductType == VER_NT_WORKSTATION)
{
osname = "8 (or higher)";
}
else
{
osname = "Server 2012 (or higher)";
}
}
} }
break; break;

View file

@ -240,5 +240,5 @@ enum
// //
ML_PASSTHROUGH = -1, ML_PASSTHROUGH = -1,
ML_TRANSLUCENT = -2, ML_TRANSLUCENT = -2,
ML_TRANSPARENT = -3, ML_TRANSPARENT = -3
} }