MCPcopy Create free account
hub / github.com/BZFlag-Dev/bzflag / LuaUser

Method LuaUser

src/lua/LuaUser.cpp:75–121  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

73//============================================================================//
74
75LuaUser::LuaUser()
76 : LuaHandle("LuaUser",
77 LUA_USER_SCRIPT_ID,
78 LUA_USER_GAME_ORDER,
79 LUA_USER_DRAW_WORLD_ORDER,
80 LUA_USER_DRAW_SCREEN_ORDER,
81 false, false, true) { // handle perms
82 static LuaVfsModes vfsModes;
83 vfsModes.readDefault = BZVFS_LUA_USER BZVFS_LUA_USER_WRITE BZVFS_MEDIA;
84 vfsModes.readAllowed = BZVFS_LUA_USER BZVFS_LUA_USER_WRITE BZVFS_MEDIA
85 BZVFS_LUA_READ BZVFS_LUA_WRITE;
86 vfsModes.writeDefault = BZVFS_LUA_USER_WRITE;
87 vfsModes.writeAllowed = BZVFS_LUA_USER_WRITE;
88
89 luaUser = this;
90
91 if (L == NULL) {
92 return;
93 }
94
95 // setup the handle header pointers
96 LuaExtraSpace* LHH = L2ES(L);
97 LHH->handle = this;
98 LHH->handlePtr = (LuaHandle**)&luaUser;
99 LHH->vfsModes = &vfsModes;
100 LHH->bzdbReadCheck = NULL;
101 LHH->bzdbWriteCheck = LuaUtils::ClientWriteCheck;
102
103 if (!SetupEnvironment()) {
104 KillLua();
105 return;
106 }
107
108 const std::string sourceCode = LoadSourceCode(sourceFile, BZVFS_LUA_USER);
109 if (sourceCode.empty()) {
110 KillLua();
111 return;
112 }
113
114 // register for call-ins
115 eventHandler.AddClient(this);
116
117 if (!ExecSourceCode(sourceCode, sourceFile)) {
118 KillLua();
119 return;
120 }
121}
122
123
124LuaUser::~LuaUser() {

Callers

nothing calls this directly

Calls 3

L2ESFunction · 0.85
AddClientMethod · 0.80
emptyMethod · 0.45

Tested by

no test coverage detected