37 |
|
|
38 |
#include "d_models.hh" |
#include "d_models.hh" |
39 |
|
|
40 |
|
extern "C" { |
41 |
|
#include "lualib.h" |
42 |
|
#include "tolua.h" |
43 |
|
} |
44 |
|
#include "display-lua.hh" |
45 |
|
#include "px-lua.hh" |
46 |
|
|
47 |
//---------------------------------------- |
//---------------------------------------- |
48 |
// Image cache |
// Image cache |
180 |
// MODELS |
// MODELS |
181 |
//---------------------------------------------------------------------- |
//---------------------------------------------------------------------- |
182 |
|
|
183 |
void |
void display::InitModels() |
|
display::InitModels() |
|
184 |
{ |
{ |
185 |
modelmgr = new ModelManager; |
modelmgr = new ModelManager; |
186 |
|
|
187 |
lua::Dofile("models-2d.lua"); |
lua_State *L = lua_open(0); |
188 |
|
lua_baselibopen (L); |
189 |
|
lua_strlibopen(L); |
190 |
|
lua_register (L, "FindDataFile", lua::FindDataFile); |
191 |
|
tolua_open(L); |
192 |
|
tolua_display_open(L); |
193 |
|
tolua_px_open(L); |
194 |
|
|
195 |
|
string fname = enigma::FindDataFile ("models-2d.lua"); |
196 |
|
if (lua_dofile (L, fname.c_str()) != 0) { |
197 |
|
fprintf (stderr, "Error loading 'models-2d.lua'\n"); |
198 |
|
} |
199 |
enigma::Log << "# models: " << modelmgr->num_templates() << endl; |
enigma::Log << "# models: " << modelmgr->num_templates() << endl; |
200 |
// enigma::Log << "# images: " << surface_cache.size() << endl; |
// enigma::Log << "# images: " << surface_cache.size() << endl; |
201 |
|
|
202 |
surface_cache_alpha.clear(); |
surface_cache_alpha.clear(); |
203 |
} |
} |
204 |
|
|
205 |
void |
void display::ShutdownModels() |
|
display::ShutdownModels() |
|
206 |
{ |
{ |
207 |
delete modelmgr; |
delete modelmgr; |
208 |
} |
} |
209 |
|
|
210 |
void |
void display::ReloadModels() |
|
display::ReloadModels() |
|
211 |
{ |
{ |
212 |
NewWorld(0,0); |
NewWorld(0,0); |
213 |
surface_cache.clear(); |
surface_cache.clear(); |