/apps/lua: move game_buf to state, free it on game_end()
This commit is contained in:
parent
6844049279
commit
ae0da18e25
@ -283,9 +283,8 @@ void game_tick(void) {
|
|||||||
lua_register(state->L, "text", b_text);
|
lua_register(state->L, "text", b_text);
|
||||||
|
|
||||||
/* now finally get to running the code */
|
/* now finally get to running the code */
|
||||||
unsigned char *game_buf = NULL;
|
state->game_buf_size = file_to_bytes("/scripts/game.lua", &state->game_buf);
|
||||||
int64_t game_buf_size = file_to_bytes("/scripts/game.lua", &game_buf);
|
if (luaL_loadbuffer(state->L, (char *)state->game_buf, state->game_buf_size, "game.lua") == LUA_OK) {
|
||||||
if (luaL_loadbuffer(state->L, (char *)game_buf, game_buf_size, "game.lua") == LUA_OK) {
|
|
||||||
if (lua_pcall(state->L, 0, 0, 0) != LUA_OK) {
|
if (lua_pcall(state->L, 0, 0, 0) != LUA_OK) {
|
||||||
log_critical("%s", lua_tostring(state->L, -1));
|
log_critical("%s", lua_tostring(state->L, -1));
|
||||||
lua_pop(state->L, 1);
|
lua_pop(state->L, 1);
|
||||||
@ -306,6 +305,7 @@ void game_tick(void) {
|
|||||||
|
|
||||||
void game_end(void) {
|
void game_end(void) {
|
||||||
State *state = ctx.udata;
|
State *state = ctx.udata;
|
||||||
|
free(state->game_buf);
|
||||||
lua_close(state->L);
|
lua_close(state->L);
|
||||||
free(state);
|
free(state);
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,8 @@
|
|||||||
|
|
||||||
typedef struct State {
|
typedef struct State {
|
||||||
lua_State *L;
|
lua_State *L;
|
||||||
|
unsigned char *game_buf;
|
||||||
|
size_t game_buf_size;
|
||||||
} State;
|
} State;
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user