diff options
Diffstat (limited to 'src/universe.cpp')
-rw-r--r-- | src/universe.cpp | 13 |
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 | ||
71 | Universe* universe_get(lua_State* L) | 71 | Universe* 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 | } |