/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);
|
||||
|
||||
/* 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);
|
||||
|
||||
/* 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) {
|
||||
log_critical("%s", lua_tostring(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);
|
||||
|
||||
/* from this point we have access to everything defined in lua */
|
||||
}
|
||||
|
||||
State *state = ctx.udata;
|
||||
|
||||
if (state->loaded_successfully) {
|
||||
bindgen_build_context(state->L);
|
||||
lua_getglobal(state->L, "ctx");
|
||||
if (!lua_isnoneornil(state->L, -1)) {
|
||||
@ -174,6 +179,7 @@ void game_tick(void) {
|
||||
|
||||
lua_getglobal(state->L, "ctx");
|
||||
bindgen_upload_context(state->L);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -3,9 +3,11 @@
|
||||
|
||||
#include <lua.h>
|
||||
|
||||
#include <stdbool.h>
|
||||
|
||||
typedef struct State {
|
||||
lua_State *L;
|
||||
bool loaded_successfully;
|
||||
} State;
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user