naev 0.12.5
naevpedia.c
1/*
2 * See Licensing and Copyright notice in naev.h
3 */
10#include "naev.h"
12
13#include "log.h"
14#include "nlua.h"
15#include "nlua_bkg.h"
16#include "nlua_colour.h"
17#include "nlua_linopt.h"
18#include "nlua_music.h"
19#include "nlua_tex.h"
20#include "nlua_tk.h"
21
22static nlua_env naevpedia_env = LUA_NOREF;
23
27int naevpedia_open( const char *path )
28{
29 char buf[STRMAX_SHORT];
30 int status;
31
32 if ( naevpedia_env == LUA_NOREF ) {
33 naevpedia_env = nlua_newEnv( "naevpedia" );
34 nlua_loadStandard( naevpedia_env );
35 nlua_loadTex( naevpedia_env );
36 nlua_loadCol( naevpedia_env );
37 nlua_loadBackground( naevpedia_env );
38 nlua_loadMusic( naevpedia_env );
39 nlua_loadTk( naevpedia_env );
40 nlua_loadLinOpt( naevpedia_env );
41 }
42
43 snprintf( buf, sizeof( buf ), "require('naevpedia').open('%s')", path );
44 status = nlua_dobufenv( naevpedia_env, buf, strlen( buf ), buf );
45 if ( status ) {
46 WARN( _( "Naevpedia '%s' Lua error:\n%s" ), path,
47 lua_tostring( naevL, -1 ) );
48 lua_pop( naevL, 1 );
49 }
50 return 0;
51}
Header file with generic functions and naev-specifics.
int nlua_loadStandard(nlua_env env)
Loads the standard Naev Lua API.
Definition nlua.c:914
lua_State * naevL
Definition nlua.c:54
int nlua_loadBackground(nlua_env env)
Loads the graphics library.
Definition nlua_bkg.c:33
int nlua_loadCol(nlua_env env)
Loads the colour library.
Definition nlua_colour.c:57
int nlua_loadLinOpt(nlua_env env)
Loads the linopt library.
Definition nlua_linopt.c:73
int nlua_loadMusic(nlua_env env)
Music Lua module.
Definition nlua_music.c:52
int nlua_loadTex(nlua_env env)
Loads the texture library.
Definition nlua_tex.c:59
int nlua_loadTk(nlua_env env)
Loads the Toolkit Lua library.
Definition nlua_tk.c:98