Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/lib/util/executor/executor_lua.cc @ 9003

Last change on this file since 9003 was 9003, checked in by bensch, 18 years ago

orxonox/trunk: merged the single_player_map branche back
merged with command:
svn merge -r8896:HEAD https://svn.orxonox.net/orxonox/branches/single_player_map .
no conflicts

File size: 2.1 KB
RevLine 
[4744]1/*
[1853]2   orxonox - the future of 3D-vertical-scrollers
3
4   Copyright (C) 2004 orx
5
6   This program is free software; you can redistribute it and/or modify
7   it under the terms of the GNU General Public License as published by
8   the Free Software Foundation; either version 2, or (at your option)
9   any later version.
[1855]10
11   ### File Specific:
12   main-programmer: ...
13   co-programmer: ...
[1853]14*/
15
[3955]16//#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_
[1853]17
[8051]18#include "executor_lua.h"
[1853]19
[8408]20#include "lunar.h"
[1853]21
[8894]22std::string temp[7];
[8408]23
[8527]24template<typename type> type fromLua(lua_State* state, int index) { type *obj = Lunar<type>::check(state, 1); lua_remove(state, 1); return obj;};
[8271]25template<> bool fromLua<bool>(lua_State* state, int index) { return lua_toboolean(state, index); };
26template<> int fromLua<int>(lua_State* state, int index) { return (int)lua_tonumber(state, index); };
27template<> unsigned int fromLua<unsigned int>(lua_State* state, int index) { return (unsigned int)lua_tonumber(state, index); };
28template<> float fromLua<float>(lua_State* state, int index) { return (float)lua_tonumber(state, index); };
29template<> char fromLua<char>(lua_State* state, int index) { return (char)lua_tonumber(state, index); };
[8408]30template<> const std::string& fromLua<const std::string&>(lua_State* state, int index) { temp[index] = lua_tostring(state, index); return temp[index]; };
[8057]31
32
[8408]33template<typename type> void toLua(lua_State* state, type value) { Lunar<type>::push(state, value, false); };
[8271]34template<> void toLua<bool>(lua_State* state, bool value) { lua_pushboolean(state, (int) value); };
35template<> void toLua<int>(lua_State* state, int value)  { lua_pushnumber(state, (lua_Number) value); };
36template<> void toLua<unsigned int>(lua_State* state, unsigned int value){ lua_pushnumber(state, (lua_Number) value); };
37template<> void toLua<float>(lua_State* state, float value) { lua_pushnumber(state, (lua_Number) value); };
38template<> void toLua<char>(lua_State* state, char value) { lua_pushnumber(state, (lua_Number) value); };
[9003]39template<> void toLua<const std::string&>(lua_State* state, const std::string& value) { lua_pushstring (state, value.c_str()); }
Note: See TracBrowser for help on using the repository browser.