aboutsummaryrefslogtreecommitdiff
path: root/src/universe.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/universe.cpp')
-rw-r--r--src/universe.cpp13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/universe.cpp b/src/universe.cpp
index 3792da6..c487ac0 100644
--- a/src/universe.cpp
+++ b/src/universe.cpp
@@ -50,8 +50,8 @@ Universe* universe_create(lua_State* L)
50 Universe* const U = static_cast<Universe*>(lua_newuserdatauv(L, sizeof(Universe), 0)); // universe 50 Universe* const U = static_cast<Universe*>(lua_newuserdatauv(L, sizeof(Universe), 0)); // universe
51 U->Universe::Universe(); 51 U->Universe::Universe();
52 STACK_CHECK_START_REL(L, 1); 52 STACK_CHECK_START_REL(L, 1);
53 UNIVERSE_FULL_REGKEY.set_registry(L, [](lua_State* L) { lua_pushvalue(L, -2); }); 53 UNIVERSE_FULL_REGKEY.setValue(L, [](lua_State* L) { lua_pushvalue(L, -2); });
54 UNIVERSE_LIGHT_REGKEY.set_registry(L, [U](lua_State* L) { lua_pushlightuserdata( L, U); }); 54 UNIVERSE_LIGHT_REGKEY.setValue(L, [U](lua_State* L) { lua_pushlightuserdata( L, U); });
55 STACK_CHECK(L, 1); 55 STACK_CHECK(L, 1);
56 return U; 56 return U;
57} 57}
@@ -62,7 +62,7 @@ void universe_store(lua_State* L, Universe* U)
62{ 62{
63 ASSERT_L(universe_get(L) == nullptr); 63 ASSERT_L(universe_get(L) == nullptr);
64 STACK_CHECK_START_REL(L, 0); 64 STACK_CHECK_START_REL(L, 0);
65 UNIVERSE_LIGHT_REGKEY.set_registry(L, [U](lua_State* L) { U ? lua_pushlightuserdata( L, U) : lua_pushnil( L); }); 65 UNIVERSE_LIGHT_REGKEY.setValue(L, [U](lua_State* L) { U ? lua_pushlightuserdata( L, U) : lua_pushnil( L); });
66 STACK_CHECK( L, 0); 66 STACK_CHECK( L, 0);
67} 67}
68 68
@@ -70,11 +70,8 @@ void universe_store(lua_State* L, Universe* U)
70 70
71Universe* universe_get(lua_State* L) 71Universe* universe_get(lua_State* L)
72{ 72{
73 STACK_GROW(L, 2);
74 STACK_CHECK_START_REL(L, 0); 73 STACK_CHECK_START_REL(L, 0);
75 UNIVERSE_LIGHT_REGKEY.query_registry(L); 74 Universe* const universe{ UNIVERSE_LIGHT_REGKEY.readLightUserDataValue<Universe>(L) };
76 Universe* const universe{ lua_tolightuserdata<Universe>(L, -1) }; // nullptr if nil 75 STACK_CHECK( L, 0);
77 lua_pop(L, 1);
78 STACK_CHECK(L, 0);
79 return universe; 76 return universe;
80} 77}