Changeset 206 for trunk/src/lua/lua_map_area.cc
- Timestamp:
- 08/19/13 06:37:47 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/lua/lua_map_area.cc
r198 r206 9 9 #include "nv/lua/lua_area.hh" 10 10 #include "nv/lua/lua_glm.hh" 11 #include "nv/lua/lua_values.hh" 11 12 #include "nv/lua/lua_raw.hh" 12 13 … … 53 54 nv::map_area* nlua_to_map_area( lua_State* L, int index ) 54 55 { 55 return *(nv::map_area**)luaL_checkudata( L, index, NLUA_MAP_AREA_METATABLE ); 56 if ( lua_type( L, index ) == LUA_TTABLE ) 57 { 58 nv::map_area* o = nullptr; 59 if ( lua_istable( L , index ) ) 60 { 61 lua_pushstring( L, "__map_area_ptr" ); 62 lua_rawget( L, index ); 63 if ( lua_isuserdata( L, -1 ) ) 64 { 65 o = static_cast<nv::map_area*>( lua_touserdata( L, -1 ) ); 66 } 67 lua_pop( L, 1 ); 68 } 69 return o; 70 } 71 else 72 { 73 return *(nv::map_area**)luaL_checkudata( L, index, NLUA_MAP_AREA_METATABLE ); 74 } 56 75 } 57 76 … … 83 102 { 84 103 nv::map_area* ma = nlua_to_map_area( L, 1 ); 85 nlua_push_area( L, ma->get_rectangle() ); 104 nv::rectangle r = ma->get_rectangle(); 105 r.lr.x -= 1; 106 r.lr.y -= 1; 107 nlua_push_area( L, r ); 86 108 return 1; 87 109 }
Note: See TracChangeset
for help on using the changeset viewer.