2021-01-12 14:14:38 -05:00
|
|
|
////////////////////////////////////////////////////////////
|
|
|
|
|
//
|
|
|
|
|
// GLOBALDB
|
|
|
|
|
//
|
|
|
|
|
// The master world model is allowed to maintain global data structures.
|
|
|
|
|
//
|
|
|
|
|
// Unfortunately, any attempt to put a global data structure into the global
|
|
|
|
|
// environment will fail, because the global environment periodically gets wiped
|
|
|
|
|
// clean by the "source rebuild" procedure (see module 'source').
|
|
|
|
|
//
|
|
|
|
|
// This module creates a safe space where you can put global data structures
|
|
|
|
|
// that won't get wiped out.
|
|
|
|
|
//
|
|
|
|
|
// THE GLOBAL OPERATOR
|
|
|
|
|
//
|
|
|
|
|
// This module adds a new function to lua: "global". Global takes a global data
|
|
|
|
|
// structure name (a string) and returns a table for that global data structure.
|
|
|
|
|
// You can put anything you want into the table.
|
|
|
|
|
//
|
|
|
|
|
// Since you're only allowed to use global data structures in the master world
|
|
|
|
|
// model, any attempt to call "global" in a synchronous world model will
|
|
|
|
|
// result in a 'donotpredict' error.
|
|
|
|
|
//
|
|
|
|
|
////////////////////////////////////////////////////////////
|
2020-11-27 13:21:07 -05:00
|
|
|
|
|
|
|
|
#ifndef GLOBALDB_HPP
|
|
|
|
|
#define GLOBALDB_HPP
|
|
|
|
|
|
|
|
|
|
#include "luastack.hpp"
|
|
|
|
|
|
2021-01-12 14:14:38 -05:00
|
|
|
// globaldb_enable
|
|
|
|
|
//
|
|
|
|
|
// Enable the use of the global DB. This is meant to be invoked in
|
|
|
|
|
// the master world model only. In other world models, you should simply
|
|
|
|
|
// not call this function.
|
|
|
|
|
//
|
|
|
|
|
int globaldb_enable(lua_State *L);
|
|
|
|
|
|
|
|
|
|
// The lua 'global' operator.
|
|
|
|
|
//
|
|
|
|
|
// Given a global name, returns a table for that global.
|
|
|
|
|
//
|
|
|
|
|
// If you haven't enabled the global DB using globaldb_enable, this
|
|
|
|
|
// raises a donotpredict error.
|
|
|
|
|
//
|
2020-12-05 18:57:53 -05:00
|
|
|
int globaldb_global(lua_State *L);
|
2020-11-27 13:21:07 -05:00
|
|
|
|
|
|
|
|
#endif // GLOBALDB_HPP
|
|
|
|
|
|
|
|
|
|
|