mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-08-28 17:09:10 +00:00
Fix: [Script] Access to enum/consts defined outside of main.nut (#10573)
This commit is contained in:
committed by
rubidium42
parent
261d674866
commit
86beadc00b
@@ -566,6 +566,10 @@ void Squirrel::Initialize()
|
||||
|
||||
sq_pushroottable(this->vm);
|
||||
squirrel_register_global_std(this);
|
||||
|
||||
/* Set consts table as delegate of root table, so consts/enums defined via require() are accessible */
|
||||
sq_pushconsttable(this->vm);
|
||||
sq_setdelegate(this->vm, -2);
|
||||
}
|
||||
|
||||
class SQFile {
|
||||
@@ -764,6 +768,12 @@ void Squirrel::Uninitialize()
|
||||
{
|
||||
ScriptAllocatorScope alloc_scope(this);
|
||||
|
||||
/* Remove the delegation */
|
||||
sq_pushroottable(this->vm);
|
||||
sq_pushnull(this->vm);
|
||||
sq_setdelegate(this->vm, -2);
|
||||
sq_pop(this->vm, 1);
|
||||
|
||||
/* Clean up the stuff */
|
||||
sq_pop(this->vm, 1);
|
||||
sq_close(this->vm);
|
||||
|
Reference in New Issue
Block a user