mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-22 20:21:26 +00:00
- do two-step init of CVARs to ensure that flag and mask vars always find their master CVar.
This commit is contained in:
parent
da33b0f9c3
commit
2b805e196d
2 changed files with 24 additions and 11 deletions
|
@ -102,16 +102,6 @@ void C_InitCVars(int which)
|
|||
newcvar = new FStringCVar(cvInfo->name, cvInfo->defaultval.String, cvInfo->flags, reinterpret_cast<callbacktype>(cvInfo->callbackp), cvInfo->description);
|
||||
break;
|
||||
}
|
||||
case CVAR_Flag:
|
||||
{
|
||||
newcvar = new FFlagCVar(cvInfo->name, *cvInfo->defaultval.Pointer->get(), cvInfo->flags, cvInfo->description);
|
||||
break;
|
||||
}
|
||||
case CVAR_Mask:
|
||||
{
|
||||
newcvar = new FMaskCVar(cvInfo->name, *cvInfo->defaultval.Pointer->get(), cvInfo->flags, cvInfo->description);
|
||||
break;
|
||||
}
|
||||
case CVAR_Color:
|
||||
{
|
||||
using callbacktype = void (*)(FColorCVar &);
|
||||
|
@ -122,6 +112,28 @@ void C_InitCVars(int which)
|
|||
}
|
||||
*(void**)cvInfo->refAddr = newcvar;
|
||||
});
|
||||
AutoSegs::CVarDecl.ForEach([](FCVarDecl* cvInfo)
|
||||
{
|
||||
FBaseCVar* newcvar;
|
||||
switch (cvInfo->type)
|
||||
{
|
||||
default:
|
||||
return;
|
||||
|
||||
case CVAR_Flag:
|
||||
{
|
||||
newcvar = new FFlagCVar(cvInfo->name, *cvInfo->defaultval.Pointer->get(), cvInfo->flags, cvInfo->description);
|
||||
break;
|
||||
}
|
||||
case CVAR_Mask:
|
||||
{
|
||||
newcvar = new FMaskCVar(cvInfo->name, *cvInfo->defaultval.Pointer->get(), cvInfo->flags, cvInfo->description);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
*(void**)cvInfo->refAddr = newcvar;
|
||||
});
|
||||
}
|
||||
|
||||
void C_UninitCVars()
|
||||
|
|
|
@ -66,7 +66,8 @@ FImageSource *AnmImage_TryCreate(FileReader & file, int lumpnum)
|
|||
{
|
||||
file.Seek(0, FileReader::SeekSet);
|
||||
char check[4];
|
||||
file.Read(check, 4);
|
||||
auto num = file.Read(check, 4);
|
||||
if (num < 4) return nullptr;
|
||||
if (memcmp(check, "LPF ", 4)) return nullptr;
|
||||
file.Seek(0, FileReader::SeekSet);
|
||||
auto buffer = file.ReadPadded(1);
|
||||
|
|
Loading…
Reference in a new issue