mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Do not load invalid ACS modules
BEHAVIOR being optional is now handled from our side, because using getModule or loadModule on an invalid file is supposed to be an error condition for the VM.
This commit is contained in:
parent
001ae4a05b
commit
3b898c528e
2 changed files with 10 additions and 5 deletions
|
|
@ -228,8 +228,7 @@ void Environment::loadModule(ACSVM::Module *module)
|
|||
if (name->i == (size_t)LUMPERROR)
|
||||
{
|
||||
// No lump given for module.
|
||||
CONS_Alert(CONS_WARNING, "Could not find ACS module \"%s\"; scripts will not function properly!\n", name->s->str);
|
||||
return; //throw ACSVM::ReadError("file open failure");
|
||||
throw ACSVM::ReadError("invalid lump");
|
||||
}
|
||||
|
||||
lumpLen = W_LumpLength(name->i);
|
||||
|
|
@ -280,9 +279,7 @@ void Environment::loadModule(ACSVM::Module *module)
|
|||
}
|
||||
else
|
||||
{
|
||||
// Unlike Hexen, a BEHAVIOR lump is not required.
|
||||
// Simply ignore in this instance.
|
||||
CONS_Debug(DBG_SETUP, "ACS module has no data, ignoring...\n");
|
||||
throw ACSVM::ReadError("file empty");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -142,6 +142,13 @@ void ACS_LoadLevelScripts(size_t mapID)
|
|||
map->active = true;
|
||||
|
||||
// Insert BEHAVIOR lump into the list.
|
||||
virtres_t *vRes = vres_GetMap(mapheaderinfo[mapID]->lumpnum);
|
||||
auto _ = srb2::finally([vRes]() { vres_Free(vRes); });
|
||||
|
||||
// Unlike Hexen, a BEHAVIOR lump is not required.
|
||||
// Simply ignore in this instance.
|
||||
virtlump_t *vLump = vres_Find(vRes, "BEHAVIOR");
|
||||
if (vLump != nullptr && vLump->size > 0)
|
||||
{
|
||||
ACSVM::ModuleName name = ACSVM::ModuleName(
|
||||
env->getString( mapheaderinfo[mapID]->lumpname ),
|
||||
|
|
@ -150,6 +157,7 @@ void ACS_LoadLevelScripts(size_t mapID)
|
|||
);
|
||||
|
||||
modules.push_back(env->getModule(name));
|
||||
CONS_Debug(DBG_SETUP, "Found BEHAVIOR lump.\n");
|
||||
}
|
||||
|
||||
if (modules.empty() == false)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue