- got new CVar system from GZDoom.

This commit is contained in:
Christoph Oelckers 2022-10-22 00:12:17 +02:00
parent ff25dc7ae5
commit 479616a80f
25 changed files with 323 additions and 164 deletions

View file

@ -6715,12 +6715,12 @@ FxExpression *FxCVar::Resolve(FCompileContext &ctx)
switch (CVar->GetRealType())
{
case CVAR_Bool:
case CVAR_DummyBool:
case CVAR_Flag:
ValueType = TypeBool;
break;
case CVAR_Int:
case CVAR_DummyInt:
case CVAR_Mask:
ValueType = TypeSInt32;
break;
@ -6776,7 +6776,7 @@ ExpEmit FxCVar::Emit(VMFunctionBuilder *build)
build->Emit(OP_LS, dest.RegNum, addr.RegNum, nul);
break;
case CVAR_DummyBool:
case CVAR_Flag:
{
int *pVal;
auto cv = static_cast<FFlagCVar *>(CVar);
@ -6789,7 +6789,7 @@ ExpEmit FxCVar::Emit(VMFunctionBuilder *build)
break;
}
case CVAR_DummyInt:
case CVAR_Mask:
{
auto cv = static_cast<FMaskCVar *>(CVar);
build->Emit(OP_LKP, addr.RegNum, build->GetConstantAddress(&cv->ValueVar.Value));

View file

@ -682,8 +682,7 @@ void CVMAbortException::MaybePrintMessage()
auto m = GetMessage();
if (m != nullptr)
{
Printf(TEXTCOLOR_RED);
Printf("%s\n", m);
Printf(PRINT_NONOTIFY, TEXTCOLOR_RED "%s\n", m);
SetMessage("");
}
}