khanat-opennel-code/code/nel/src/gui/lua_loadlib.c
kervala 7de717f9e2 fixes #31 Luabind can't be found
Added PCH support to NeL GUI
2013-03-24 20:16:23 +01:00

552 lines
26 KiB
C

// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
// Copyright (C) 2010 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "stdpch.h"
#include <windows.h>
#include <stdarg.h>
#include "lua_loadlib.h"
typedef lua_State * (*Tlua_open) (void);
typedef void (*Tlua_close) (lua_State *L);
typedef lua_State *(*Tlua_newthread) (lua_State *L);
typedef lua_CFunction (*Tlua_atpanic) (lua_State *L, lua_CFunction panicf);
typedef int (*Tlua_gettop) (lua_State *L);
typedef void (*Tlua_settop) (lua_State *L, int idx);
typedef void (*Tlua_pushvalue) (lua_State *L, int idx);
typedef void (*Tlua_remove) (lua_State *L, int idx);
typedef void (*Tlua_insert )(lua_State *L, int idx);
typedef void (*Tlua_replace) (lua_State *L, int idx);
typedef int (*Tlua_checkstack) (lua_State *L, int sz);
typedef void (*Tlua_xmove) (lua_State *from, lua_State *to, int n);
typedef int (*Tlua_isnumber) (lua_State *L, int idx);
typedef int (*Tlua_isstring) (lua_State *L, int idx);
typedef int (*Tlua_iscfunction) (lua_State *L, int idx);
typedef int (*Tlua_isuserdata) (lua_State *L, int idx);
typedef int (*Tlua_type) (lua_State *L, int idx);
typedef const char *(*Tlua_typename) (lua_State *L, int tp);
typedef int (*Tlua_equal) (lua_State *L, int idx1, int idx2);
typedef int (*Tlua_rawequal) (lua_State *L, int idx1, int idx2);
typedef int (*Tlua_lessthan) (lua_State *L, int idx1, int idx2);
typedef lua_Number (*Tlua_tonumber) (lua_State *L, int idx);
typedef int (*Tlua_toboolean) (lua_State *L, int idx);
typedef const char *(*Tlua_tostring) (lua_State *L, int idx);
typedef size_t (*Tlua_strlen) (lua_State *L, int idx);
typedef lua_CFunction (*Tlua_tocfunction) (lua_State *L, int idx);
typedef void *(*Tlua_touserdata) (lua_State *L, int idx);
typedef lua_State *(*Tlua_tothread) (lua_State *L, int idx);
typedef const void *(*Tlua_topointer) (lua_State *L, int idx);
typedef void (*Tlua_pushnil) (lua_State *L);
typedef void (*Tlua_pushnumber) (lua_State *L, lua_Number n);
typedef void (*Tlua_pushlstring) (lua_State *L, const char *s, size_t l);
typedef void (*Tlua_pushstring) (lua_State *L, const char *s);
typedef const char *(*Tlua_pushvfstring) (lua_State *L, const char *fmt, va_list argp);
typedef const char *(*Tlua_pushfstring) (lua_State *L, const char *fmt, ...);
typedef void (*Tlua_pushcclosure) (lua_State *L, lua_CFunction fn, int n);
typedef void (*Tlua_pushboolean) (lua_State *L, int b);
typedef void (*Tlua_pushlightuserdata) (lua_State *L, void *p);
typedef void (*Tlua_gettable) (lua_State *L, int idx);
typedef void (*Tlua_rawget) (lua_State *L, int idx);
typedef void (*Tlua_rawgeti) (lua_State *L, int idx, int n);
typedef void (*Tlua_newtable) (lua_State *L);
typedef void *(*Tlua_newuserdata) (lua_State *L, size_t sz);
typedef int (*Tlua_getmetatable) (lua_State *L, int objindex);
typedef void (*Tlua_getfenv) (lua_State *L, int idx);
typedef void (*Tlua_settable) (lua_State *L, int idx);
typedef void (*Tlua_rawset) (lua_State *L, int idx);
typedef void (*Tlua_rawseti) (lua_State *L, int idx, int n);
typedef int (*Tlua_setmetatable) (lua_State *L, int objindex);
typedef int (*Tlua_setfenv) (lua_State *L, int idx);
typedef void (*Tlua_call) (lua_State *L, int nargs, int nresults);
typedef int (*Tlua_pcall) (lua_State *L, int nargs, int nresults, int errfunc);
typedef int (*Tlua_cpcall) (lua_State *L, lua_CFunction func, void *ud);
typedef int (*Tlua_load) (lua_State *L, lua_Chunkreader reader, void *dt,
const char *chunkname);
typedef int (*Tlua_dump) (lua_State *L, lua_Chunkwriter writer, void *data);
typedef int (*Tlua_yield) (lua_State *L, int nresults);
typedef int (*Tlua_resume) (lua_State *L, int narg);
typedef int (*Tlua_getgcthreshold) (lua_State *L);
typedef int (*Tlua_getgccount) (lua_State *L);
typedef void (*Tlua_setgcthreshold) (lua_State *L, int newthreshold);
typedef const char *(*Tlua_version) (void);
typedef int (*Tlua_error) (lua_State *L);
typedef int (*Tlua_next) (lua_State *L, int idx);
typedef void (*Tlua_concat) (lua_State *L, int n);
typedef int (*Tlua_pushupvalues) (lua_State *L);
typedef void (*Tlua_Hook) (lua_State *L, lua_Debug *ar);
typedef int (*Tlua_getstack) (lua_State *L, int level, lua_Debug *ar);
typedef int (*Tlua_getinfo) (lua_State *L, const char *what, lua_Debug *ar);
typedef const char *(*Tlua_getlocal) (lua_State *L, const lua_Debug *ar, int n);
typedef const char *(*Tlua_setlocal) (lua_State *L, const lua_Debug *ar, int n);
typedef const char *(*Tlua_getupvalue) (lua_State *L, int funcindex, int n);
typedef const char *(*Tlua_setupvalue) (lua_State *L, int funcindex, int n);
typedef int (*Tlua_sethook) (lua_State *L, lua_Hook func, int mask, int count);
typedef lua_Hook (*Tlua_gethook) (lua_State *L);
typedef int (*Tlua_gethookmask) (lua_State *L);
typedef int (*Tlua_gethookcount) (lua_State *L);
// from lauxlib.h
typedef void (*TluaL_openlib) (lua_State *L, const char *libname,
const luaL_reg *l, int nup);
typedef int (*TluaL_getmetafield) (lua_State *L, int obj, const char *e);
typedef int (*TluaL_callmeta) (lua_State *L, int obj, const char *e);
typedef int (*TluaL_typerror) (lua_State *L, int narg, const char *tname);
typedef int (*TluaL_argerror) (lua_State *L, int numarg, const char *extramsg);
typedef const char *(*TluaL_checklstring) (lua_State *L, int numArg, size_t *l);
typedef const char *(*TluaL_optlstring) (lua_State *L, int numArg,
const char *def, size_t *l);
typedef lua_Number (*TluaL_checknumber) (lua_State *L, int numArg);
typedef lua_Number (*TluaL_optnumber) (lua_State *L, int nArg, lua_Number def);
typedef void (*TluaL_checkstack) (lua_State *L, int sz, const char *msg);
typedef void (*TluaL_checktype) (lua_State *L, int narg, int t);
typedef void (*TluaL_checkany) (lua_State *L, int narg);
typedef int (*TluaL_newmetatable) (lua_State *L, const char *tname);
typedef void (*TluaL_getmetatable) (lua_State *L, const char *tname);
typedef void *(*TluaL_checkudata) (lua_State *L, int ud, const char *tname);
typedef void (*TluaL_where) (lua_State *L, int lvl);
typedef int (*TluaL_error) (lua_State *L, const char *fmt, ...);
typedef int (*TluaL_findstring) (const char *st, const char *const lst[]);
typedef int (*TluaL_ref) (lua_State *L, int t);
typedef void (*TluaL_unref) (lua_State *L, int t, int ref);
typedef int (*TluaL_getn) (lua_State *L, int t);
typedef void (*TluaL_setn) (lua_State *L, int t, int n);
typedef int (*TluaL_loadfile) (lua_State *L, const char *filename);
typedef int (*TluaL_loadbuffer) (lua_State *L, const char *buff, size_t sz,
const char *name);
typedef void (*TluaL_buffinit) (lua_State *L, luaL_Buffer *B);
typedef char *(*TluaL_prepbuffer) (luaL_Buffer *B);
typedef void (*TluaL_addlstring) (luaL_Buffer *B, const char *s, size_t l);
typedef void (*TluaL_addstring) (luaL_Buffer *B, const char *s);
typedef void (*TluaL_addvalue) (luaL_Buffer *B);
typedef void (*TluaL_pushresult) (luaL_Buffer *B);
typedef int (*Tlua_dofile) (lua_State *L, const char *filename);
typedef int (*Tlua_dostring) (lua_State *L, const char *str);
typedef int (*Tlua_dobuffer) (lua_State *L, const char *buff, size_t sz,
const char *n);
// from lualib.h
typedef int (*Tluaopen_base) (lua_State *L);
typedef int (*Tluaopen_table) (lua_State *L);
typedef int (*Tluaopen_io) (lua_State *L);
typedef int (*Tluaopen_string) (lua_State *L);
typedef int (*Tluaopen_math) (lua_State *L);
typedef int (*Tluaopen_debug) (lua_State *L);
typedef int (*Tluaopen_loadlib) (lua_State *L);
// from lua.h
Tlua_open dlllua_open;
Tlua_close dlllua_close;
Tlua_newthread dlllua_newthread;
Tlua_atpanic dlllua_atpanic;
Tlua_gettop dlllua_gettop;
Tlua_settop dlllua_settop;
Tlua_pushvalue dlllua_pushvalue;
Tlua_remove dlllua_remove;
Tlua_insert dlllua_insert ;
Tlua_replace dlllua_replace;
Tlua_checkstack dlllua_checkstack;
Tlua_xmove dlllua_xmove;
Tlua_isnumber dlllua_isnumber;
Tlua_isstring dlllua_isstring;
Tlua_iscfunction dlllua_iscfunction;
Tlua_isuserdata dlllua_isuserdata;
Tlua_type dlllua_type;
Tlua_typename dlllua_typename;
Tlua_equal dlllua_equal;
Tlua_rawequal dlllua_rawequal;
Tlua_lessthan dlllua_lessthan;
Tlua_tonumber dlllua_tonumber;
Tlua_toboolean dlllua_toboolean;
Tlua_tostring dlllua_tostring;
Tlua_strlen dlllua_strlen;
Tlua_tocfunction dlllua_tocfunction;
Tlua_touserdata dlllua_touserdata;
Tlua_tothread dlllua_tothread;
Tlua_topointer dlllua_topointer;
Tlua_pushnil dlllua_pushnil;
Tlua_pushnumber dlllua_pushnumber;
Tlua_pushlstring dlllua_pushlstring;
Tlua_pushstring dlllua_pushstring;
Tlua_pushvfstring dlllua_pushvfstring;
Tlua_pushfstring dlllua_pushfstring;
Tlua_pushcclosure dlllua_pushcclosure;
Tlua_pushboolean dlllua_pushboolean;
Tlua_pushlightuserdata dlllua_pushlightuserdata;
Tlua_gettable dlllua_gettable;
Tlua_rawget dlllua_rawget;
Tlua_rawgeti dlllua_rawgeti;
Tlua_newtable dlllua_newtable;
Tlua_newuserdata dlllua_newuserdata;
Tlua_getmetatable dlllua_getmetatable;
Tlua_getfenv dlllua_getfenv;
Tlua_settable dlllua_settable;
Tlua_rawset dlllua_rawset;
Tlua_rawseti dlllua_rawseti;
Tlua_setmetatable dlllua_setmetatable;
Tlua_setfenv dlllua_setfenv;
Tlua_call dlllua_call;
Tlua_pcall dlllua_pcall;
Tlua_cpcall dlllua_cpcall;
Tlua_load dlllua_load;
Tlua_dump dlllua_dump;
Tlua_yield dlllua_yield;
Tlua_resume dlllua_resume;
Tlua_getgcthreshold dlllua_getgcthreshold;
Tlua_getgccount dlllua_getgccount;
Tlua_setgcthreshold dlllua_setgcthreshold;
Tlua_version dlllua_version;
Tlua_error dlllua_error;
Tlua_next dlllua_next;
Tlua_concat dlllua_concat;
Tlua_pushupvalues dlllua_pushupvalues;
Tlua_getstack dlllua_getstack;
Tlua_getinfo dlllua_getinfo;
Tlua_getlocal dlllua_getlocal;
Tlua_setlocal dlllua_setlocal;
Tlua_getupvalue dlllua_getupvalue;
Tlua_setupvalue dlllua_setupvalue;
Tlua_sethook dlllua_sethook;
Tlua_gethook dlllua_gethook;
Tlua_gethookmask dlllua_gethookmask;
Tlua_gethookcount dlllua_gethookcount;
// from lauxlib.h
TluaL_openlib dllluaL_openlib;
TluaL_getmetafield dllluaL_getmetafield;
TluaL_callmeta dllluaL_callmeta;
TluaL_typerror dllluaL_typerror;
TluaL_argerror dllluaL_argerror;
TluaL_checklstring dllluaL_checklstring;
TluaL_optlstring dllluaL_optlstring;
TluaL_checknumber dllluaL_checknumber;
TluaL_optnumber dllluaL_optnumber;
TluaL_checkstack dllluaL_checkstack;
TluaL_checktype dllluaL_checktype;
TluaL_checkany dllluaL_checkany;
TluaL_newmetatable dllluaL_newmetatable;
TluaL_getmetatable dllluaL_getmetatable;
TluaL_checkudata dllluaL_checkudata;
TluaL_where dllluaL_where;
TluaL_error dllluaL_error;
TluaL_findstring dllluaL_findstring;
TluaL_ref dllluaL_ref;
TluaL_unref dllluaL_unref;
TluaL_getn dllluaL_getn;
TluaL_setn dllluaL_setn;
TluaL_loadfile dllluaL_loadfile;
TluaL_loadbuffer dllluaL_loadbuffer;
TluaL_buffinit dllluaL_buffinit;
TluaL_prepbuffer dllluaL_prepbuffer;
TluaL_addlstring dllluaL_addlstring;
TluaL_addstring dllluaL_addstring;
TluaL_addvalue dllluaL_addvalue;
TluaL_pushresult dllluaL_pushresult;
Tlua_dofile dlllua_dofile;
Tlua_dostring dlllua_dostring;
Tlua_dobuffer dlllua_dobuffer;
// from lua lib.h
Tluaopen_base dllluaopen_base;
Tluaopen_table dllluaopen_table;
Tluaopen_io dllluaopen_io;
Tluaopen_string dllluaopen_string;
Tluaopen_math dllluaopen_math;
Tluaopen_debug dllluaopen_debug;
Tluaopen_loadlib dllluaopen_loadlib;
// call to actual dll function
lua_State *lua_open (void) { return dlllua_open(); }
void lua_close (lua_State *L) { dlllua_close(L); }
lua_State *lua_newthread (lua_State *L) { return dlllua_newthread(L); }
lua_CFunction lua_atpanic (lua_State *L, lua_CFunction panicf) { return dlllua_atpanic(L, panicf); }
int lua_gettop (lua_State *L) { return dlllua_gettop(L); }
void lua_settop (lua_State *L, int idx) { dlllua_settop(L, idx); }
void lua_pushvalue (lua_State *L, int idx) { dlllua_pushvalue(L, idx); }
void lua_remove (lua_State *L, int idx) { dlllua_remove(L, idx); }
void lua_insert (lua_State *L, int idx) { dlllua_insert (L, idx); }
void lua_replace (lua_State *L, int idx) { dlllua_replace(L, idx); }
int lua_checkstack (lua_State *L, int sz) { return dlllua_checkstack(L, sz); }
void lua_xmove (lua_State *from, lua_State *to, int n) { dlllua_xmove(from, to, n); }
int lua_isnumber (lua_State *L, int idx) { return dlllua_isnumber(L, idx); }
int lua_isstring (lua_State *L, int idx) { return dlllua_isstring(L, idx); }
int lua_iscfunction (lua_State *L, int idx) { return dlllua_iscfunction(L, idx); }
int lua_isuserdata (lua_State *L, int idx) { return dlllua_isuserdata(L, idx); }
int lua_type (lua_State *L, int idx) { return dlllua_type(L, idx); }
const char *lua_typename (lua_State *L, int tp) { return dlllua_typename(L, tp); }
int lua_equal (lua_State *L, int idx1, int idx2) { return dlllua_equal(L, idx1, idx2); }
int lua_rawequal (lua_State *L, int idx1, int idx2) { return dlllua_rawequal(L, idx1, idx2); }
int lua_lessthan (lua_State *L, int idx1, int idx2) { return dlllua_lessthan(L, idx1, idx2); }
lua_Number lua_tonumber (lua_State *L, int idx) { return dlllua_tonumber(L, idx); }
int lua_toboolean (lua_State *L, int idx) { return dlllua_toboolean(L, idx); }
const char *lua_tostring (lua_State *L, int idx) { return dlllua_tostring(L, idx); }
size_t lua_strlen (lua_State *L, int idx) { return dlllua_strlen(L, idx); }
lua_CFunction lua_tocfunction (lua_State *L, int idx) { return dlllua_tocfunction(L, idx); }
void *lua_touserdata (lua_State *L, int idx) { return dlllua_touserdata(L, idx); }
lua_State *lua_tothread (lua_State *L, int idx) { return dlllua_tothread(L, idx); }
const void *lua_topointer (lua_State *L, int idx) { return dlllua_topointer(L, idx); }
void lua_pushnil (lua_State *L) { dlllua_pushnil(L); }
void lua_pushnumber (lua_State *L, lua_Number n) { dlllua_pushnumber(L, n); }
void lua_pushlstring (lua_State *L, const char *s, size_t l) { dlllua_pushlstring(L, s, l); }
void lua_pushstring (lua_State *L, const char *s) { dlllua_pushstring(L, s); }
const char *lua_pushvfstring (lua_State *L, const char *fmt, va_list argp)
{
const char *result;
va_list _args;
va_start (_args, fmt);
result = dlllua_pushvfstring(L, fmt, _args);
va_end(_args);
return result;
}
const char *lua_pushfstring (lua_State *L, const char *fmt, ...)
{
const char *result;
va_list _args;
va_start (_args, fmt);
result = dlllua_pushfstring(L, fmt, _args);
va_end(_args);
return result;
}
void lua_pushcclosure (lua_State *L, lua_CFunction fn, int n) { dlllua_pushcclosure(L, fn, n); }
void lua_pushboolean (lua_State *L, int b) { dlllua_pushboolean(L, b); }
void lua_pushlightuserdata (lua_State *L, void *p) { dlllua_pushlightuserdata(L, p); }
void lua_gettable (lua_State *L, int idx) { dlllua_gettable(L, idx); }
void lua_rawget (lua_State *L, int idx) { dlllua_rawget(L, idx); }
void lua_rawgeti (lua_State *L, int idx, int n) { dlllua_rawgeti(L, idx, n); }
void lua_newtable (lua_State *L) { dlllua_newtable(L); }
void *lua_newuserdata (lua_State *L, size_t sz) { return dlllua_newuserdata(L, sz); }
int lua_getmetatable (lua_State *L, int objindex) { return dlllua_getmetatable(L, objindex); }
void lua_getfenv (lua_State *L, int idx) { dlllua_getfenv(L, idx); }
void lua_settable (lua_State *L, int idx) { dlllua_settable(L, idx); }
void lua_rawset (lua_State *L, int idx) { dlllua_rawset(L, idx); }
void lua_rawseti (lua_State *L, int idx, int n) { dlllua_rawseti(L, idx, n); }
int lua_setmetatable (lua_State *L, int objindex) { return dlllua_setmetatable(L, objindex); }
int lua_setfenv (lua_State *L, int idx) { return dlllua_setfenv(L, idx); }
void lua_call (lua_State *L, int nargs, int nresults) { dlllua_call(L, nargs, nresults); }
int lua_pcall (lua_State *L, int nargs, int nresults, int errfunc) { return dlllua_pcall(L, nargs, nresults, errfunc); }
int lua_cpcall (lua_State *L, lua_CFunction func, void *ud) { return dlllua_cpcall(L, func, ud); }
int lua_load (lua_State *L, lua_Chunkreader reader, void *dt, const char *chunkname)
{
return dlllua_load(L, reader, dt, chunkname);
}
int lua_dump (lua_State *L, lua_Chunkwriter writer, void *data) { return dlllua_dump(L, writer, data); }
int lua_yield (lua_State *L, int nresults) { return dlllua_yield(L, nresults); }
int lua_resume (lua_State *L, int narg) { return dlllua_resume(L, narg); }
int lua_getgcthreshold (lua_State *L) { return dlllua_getgcthreshold(L); }
int lua_getgccount (lua_State *L) { return dlllua_getgccount(L); }
void lua_setgcthreshold (lua_State *L, int newthreshold) { dlllua_setgcthreshold(L, newthreshold); }
const char *lua_version (void) { return dlllua_version(); }
int lua_error (lua_State *L) { return dlllua_error(L); }
int lua_next (lua_State *L, int idx) { return dlllua_next(L, idx); }
void lua_concat (lua_State *L, int n) { dlllua_concat(L, n); }
int lua_pushupvalues (lua_State *L) { return dlllua_pushupvalues(L); }
int lua_getstack (lua_State *L, int level, lua_Debug *ar) { return dlllua_getstack(L, level, ar); }
int lua_getinfo (lua_State *L, const char *what, lua_Debug *ar) { return dlllua_getinfo(L, what, ar); }
const char *lua_getlocal (lua_State *L, const lua_Debug *ar, int n) { return dlllua_getlocal(L, ar, n); }
const char *lua_setlocal (lua_State *L, const lua_Debug *ar, int n) { return dlllua_setlocal(L, ar, n); }
const char *lua_getupvalue (lua_State *L, int funcindex, int n) { return dlllua_getupvalue(L, funcindex, n); }
const char *lua_setupvalue (lua_State *L, int funcindex, int n) { return dlllua_setupvalue(L, funcindex, n); }
int lua_sethook (lua_State *L, lua_Hook func, int mask, int count) { return dlllua_sethook(L, func, mask, count); }
lua_Hook lua_gethook (lua_State *L) { return dlllua_gethook(L); }
int lua_gethookmask (lua_State *L) { return dlllua_gethookmask(L); }
int lua_gethookcount (lua_State *L) { return dlllua_gethookcount(L); }
// from lauxlib.h
void luaL_openlib (lua_State *L, const char *libname, const luaL_reg *l, int nup) { dllluaL_openlib(L, libname, l, nup); }
int luaL_getmetafield (lua_State *L, int obj, const char *e) { return dllluaL_getmetafield(L, obj, e); }
int luaL_callmeta (lua_State *L, int obj, const char *e) { return dllluaL_callmeta(L, obj, e); }
int luaL_typerror (lua_State *L, int narg, const char *tname) { return dllluaL_typerror(L, narg, tname); }
int luaL_argerror (lua_State *L, int numarg, const char *extramsg) { return dllluaL_argerror(L, numarg, extramsg); }
const char *luaL_checklstring (lua_State *L, int numArg, size_t *l) { return dllluaL_checklstring(L, numArg, l); }
const char *luaL_optlstring (lua_State *L, int numArg, const char *def, size_t *l) { return dllluaL_optlstring(L, numArg, def, l); }
lua_Number luaL_checknumber (lua_State *L, int numArg) { return dllluaL_checknumber(L, numArg); }
lua_Number luaL_optnumber (lua_State *L, int nArg, lua_Number def) { return dllluaL_optnumber(L, nArg, def); }
void luaL_checkstack (lua_State *L, int sz, const char *msg) { dllluaL_checkstack(L, sz, msg); }
void luaL_checktype (lua_State *L, int narg, int t) { dllluaL_checktype(L, narg, t); }
void luaL_checkany (lua_State *L, int narg) { dllluaL_checkany(L, narg); }
int luaL_newmetatable (lua_State *L, const char *tname) { return dllluaL_newmetatable(L, tname); }
void luaL_getmetatable (lua_State *L, const char *tname) { dllluaL_getmetatable(L, tname); }
void *luaL_checkudata (lua_State *L, int ud, const char *tname) { return dllluaL_checkudata(L, ud, tname); }
void luaL_where (lua_State *L, int lvl) { dllluaL_where(L, lvl); }
int luaL_error (lua_State *L, const char *fmt, ...)
{
int result;
va_list _args;
va_start (_args, fmt);
result = dllluaL_error(L, fmt, _args);
va_end(_args);
return result;
}
int luaL_findstring (const char *st, const char *const lst[]) { return dllluaL_findstring(st, lst); }
int luaL_ref (lua_State *L, int t) { return dllluaL_ref(L, t); }
void luaL_unref (lua_State *L, int t, int ref) { dllluaL_unref(L, t, ref); }
int luaL_getn (lua_State *L, int t) { return dllluaL_getn(L, t); }
void luaL_setn (lua_State *L, int t, int n) { dllluaL_setn(L, t, n); }
int luaL_loadfile (lua_State *L, const char *filename) { return dllluaL_loadfile(L, filename); }
int luaL_loadbuffer (lua_State *L, const char *buff, size_t sz, const char *name) { return dllluaL_loadbuffer(L, buff, sz, name); }
void luaL_buffinit (lua_State *L, luaL_Buffer *B) { dllluaL_buffinit(L, B); }
char *luaL_prepbuffer (luaL_Buffer *B) { return dllluaL_prepbuffer(B); }
void luaL_addlstring (luaL_Buffer *B, const char *s, size_t l) { dllluaL_addlstring(B, s, l); }
void luaL_addstring (luaL_Buffer *B, const char *s) { dllluaL_addstring(B, s); }
void luaL_addvalue (luaL_Buffer *B) { dllluaL_addvalue(B); }
void luaL_pushresult (luaL_Buffer *B) { dllluaL_pushresult(B); }
int lua_dofile (lua_State *L, const char *filename) { return dlllua_dofile(L, filename); }
int lua_dostring (lua_State *L, const char *str) { return dlllua_dostring(L, str); }
int lua_dobuffer (lua_State *L, const char *buff, size_t sz, const char *n) { return dlllua_dobuffer(L, buff, sz, n); }
// from lualib.h
int luaopen_base (lua_State *L) { return dllluaopen_base(L); }
int luaopen_table (lua_State *L) { return dllluaopen_table(L); }
int luaopen_io (lua_State *L) { return dllluaopen_io(L); }
int luaopen_string (lua_State *L) { return dllluaopen_string(L); }
int luaopen_math (lua_State *L) { return dllluaopen_math(L); }
int luaopen_debug (lua_State *L) { return dllluaopen_debug(L); }
int luaopen_loadlib (lua_State *L) { return dllluaopen_loadlib(L); }
int loadLuaDLL()
{
HMODULE libHandle = LoadLibrary("lua.dll");
if (!libHandle) return 0;
#define GET_LUA_PROC(name) dll##name = (T##name) GetProcAddress(libHandle, #name); if (!dll##name) return 0;
// from lua.h
GET_LUA_PROC(lua_close)
GET_LUA_PROC(lua_newthread)
GET_LUA_PROC(lua_atpanic)
GET_LUA_PROC(lua_gettop)
GET_LUA_PROC(lua_settop)
GET_LUA_PROC(lua_pushvalue)
GET_LUA_PROC(lua_remove)
GET_LUA_PROC(lua_insert)
GET_LUA_PROC(lua_replace)
GET_LUA_PROC(lua_checkstack)
GET_LUA_PROC(lua_xmove)
GET_LUA_PROC(lua_isnumber)
GET_LUA_PROC(lua_isstring)
GET_LUA_PROC(lua_iscfunction)
GET_LUA_PROC(lua_isuserdata)
GET_LUA_PROC(lua_type)
GET_LUA_PROC(lua_typename)
GET_LUA_PROC(lua_equal)
GET_LUA_PROC(lua_rawequal)
GET_LUA_PROC(lua_lessthan)
GET_LUA_PROC(lua_tonumber)
GET_LUA_PROC(lua_toboolean)
GET_LUA_PROC(lua_tostring)
GET_LUA_PROC(lua_strlen)
GET_LUA_PROC(lua_tocfunction)
GET_LUA_PROC(lua_touserdata)
GET_LUA_PROC(lua_tothread)
GET_LUA_PROC(lua_topointer)
GET_LUA_PROC(lua_pushnil)
GET_LUA_PROC(lua_pushnumber)
GET_LUA_PROC(lua_pushlstring)
GET_LUA_PROC(lua_pushstring)
GET_LUA_PROC(lua_pushcclosure)
GET_LUA_PROC(lua_pushboolean)
GET_LUA_PROC(lua_pushlightuserdata)
GET_LUA_PROC(lua_gettable)
GET_LUA_PROC(lua_rawget)
GET_LUA_PROC(lua_rawgeti)
GET_LUA_PROC(lua_newtable)
GET_LUA_PROC(lua_newuserdata)
GET_LUA_PROC(lua_getmetatable)
GET_LUA_PROC(lua_getfenv)
GET_LUA_PROC(lua_settable)
GET_LUA_PROC(lua_rawset)
GET_LUA_PROC(lua_rawseti)
GET_LUA_PROC(lua_setmetatable)
GET_LUA_PROC(lua_setfenv)
GET_LUA_PROC(lua_call)
GET_LUA_PROC(lua_pcall)
GET_LUA_PROC(lua_cpcall)
GET_LUA_PROC(lua_load)
GET_LUA_PROC(lua_dump)
GET_LUA_PROC(lua_yield)
GET_LUA_PROC(lua_resume)
GET_LUA_PROC(lua_getgcthreshold)
GET_LUA_PROC(lua_getgccount)
GET_LUA_PROC(lua_setgcthreshold)
GET_LUA_PROC(lua_version)
GET_LUA_PROC(lua_error)
GET_LUA_PROC(lua_next)
GET_LUA_PROC(lua_concat)
GET_LUA_PROC(lua_pushupvalues)
GET_LUA_PROC(lua_getstack)
GET_LUA_PROC(lua_getinfo)
GET_LUA_PROC(lua_getlocal)
GET_LUA_PROC(lua_setlocal)
GET_LUA_PROC(lua_getupvalue)
GET_LUA_PROC(lua_setupvalue)
GET_LUA_PROC(lua_sethook)
GET_LUA_PROC(lua_gethook)
GET_LUA_PROC(lua_gethookmask)
GET_LUA_PROC(lua_gethookcount)
// from lauxlib.h
GET_LUA_PROC(luaL_openlib)
GET_LUA_PROC(luaL_getmetafield)
GET_LUA_PROC(luaL_callmeta)
GET_LUA_PROC(luaL_typerror)
GET_LUA_PROC(luaL_argerror)
GET_LUA_PROC(luaL_checklstring)
GET_LUA_PROC(luaL_optlstring)
GET_LUA_PROC(luaL_checknumber)
GET_LUA_PROC(luaL_optnumber)
GET_LUA_PROC(luaL_checkstack)
GET_LUA_PROC(luaL_checktype)
GET_LUA_PROC(luaL_checkany)
GET_LUA_PROC(luaL_newmetatable)
GET_LUA_PROC(luaL_getmetatable)
GET_LUA_PROC(luaL_checkudata)
GET_LUA_PROC(luaL_where)
GET_LUA_PROC(luaL_error)
GET_LUA_PROC(luaL_findstring)
GET_LUA_PROC(luaL_ref)
GET_LUA_PROC(luaL_unref)
GET_LUA_PROC(luaL_getn)
GET_LUA_PROC(luaL_setn)
GET_LUA_PROC(luaL_loadfile)
GET_LUA_PROC(luaL_loadbuffer)
GET_LUA_PROC(luaL_buffinit)
GET_LUA_PROC(luaL_prepbuffer)
GET_LUA_PROC(luaL_addlstring)
GET_LUA_PROC(luaL_addstring)
GET_LUA_PROC(luaL_addvalue)
GET_LUA_PROC(luaL_pushresult)
GET_LUA_PROC(lua_dofile)
GET_LUA_PROC(lua_dostring)
GET_LUA_PROC(lua_dobuffer)
// from lua lib.h
GET_LUA_PROC(luaopen_base)
GET_LUA_PROC(luaopen_table)
GET_LUA_PROC(luaopen_io)
GET_LUA_PROC(luaopen_string)
GET_LUA_PROC(luaopen_math)
GET_LUA_PROC(luaopen_debug)
GET_LUA_PROC(luaopen_loadlib)
return 1;
}