#define MAKE_SDL_TYPE(L, meta, index, flib) \ { \ (void)luaL_newmetatable(L, meta); \ lua_pushliteral(L, "__index"); \ lua_pushcfunction(L, index); \ lua_rawset(L, -3); \ luaL_register(L, NULL, flib); \ }