/apps/twnlua: report error on loading
This commit is contained in:
parent
b0e718876a
commit
7a403c766e
@ -136,10 +136,6 @@ void game_tick(void) {
|
|||||||
lua_pop(state->L, 2);
|
lua_pop(state->L, 2);
|
||||||
|
|
||||||
/* binding */
|
/* binding */
|
||||||
// lua_register(state->L, "sprite", b_sprite);
|
|
||||||
// lua_register(state->L, "rectangle", b_rectangle);
|
|
||||||
// lua_register(state->L, "text", b_text);
|
|
||||||
|
|
||||||
bindgen_load_twn(state->L);
|
bindgen_load_twn(state->L);
|
||||||
|
|
||||||
/* now finally get to running the code */
|
/* now finally get to running the code */
|
||||||
@ -149,14 +145,23 @@ void game_tick(void) {
|
|||||||
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);
|
||||||
|
} else
|
||||||
|
state->loaded_successfully = true;
|
||||||
|
} else {
|
||||||
|
/* got some sort of error, it should be pushed on top of the stack */
|
||||||
|
SDL_assert(lua_isstring(state->L, -1));
|
||||||
|
log_critical("Error loading /scripts/game.lua entry: %s", luaL_tolstring(state->L, -1, NULL));
|
||||||
|
lua_pop(state->L, 1);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
free(game_buf);
|
free(game_buf);
|
||||||
|
|
||||||
/* from this point we have access to everything defined in lua */
|
/* from this point we have access to everything defined in lua */
|
||||||
}
|
}
|
||||||
|
|
||||||
State *state = ctx.udata;
|
State *state = ctx.udata;
|
||||||
|
|
||||||
|
if (state->loaded_successfully) {
|
||||||
bindgen_build_context(state->L);
|
bindgen_build_context(state->L);
|
||||||
lua_getglobal(state->L, "ctx");
|
lua_getglobal(state->L, "ctx");
|
||||||
if (!lua_isnoneornil(state->L, -1)) {
|
if (!lua_isnoneornil(state->L, -1)) {
|
||||||
@ -174,6 +179,7 @@ void game_tick(void) {
|
|||||||
|
|
||||||
lua_getglobal(state->L, "ctx");
|
lua_getglobal(state->L, "ctx");
|
||||||
bindgen_upload_context(state->L);
|
bindgen_upload_context(state->L);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -3,9 +3,11 @@
|
|||||||
|
|
||||||
#include <lua.h>
|
#include <lua.h>
|
||||||
|
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
typedef struct State {
|
typedef struct State {
|
||||||
lua_State *L;
|
lua_State *L;
|
||||||
|
bool loaded_successfully;
|
||||||
} State;
|
} State;
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user