aboutsummaryrefslogtreecommitdiff
path: root/src/universe.cpp
diff options
context:
space:
mode:
authorBenoit Germain <benoit.germain@ubisoft.com>2024-03-25 10:43:25 +0100
committerBenoit Germain <benoit.germain@ubisoft.com>2024-03-25 10:43:25 +0100
commit0c060e6e4b9f99dc887b5dfebdae76fcde9524f1 (patch)
tree2ba9a1923e3e983375e33aa5f41d9fbc21451832 /src/universe.cpp
parentdad1d5fbf7c7a30caea00694de608c6036789aa5 (diff)
downloadlanes-0c060e6e4b9f99dc887b5dfebdae76fcde9524f1.tar.gz
lanes-0c060e6e4b9f99dc887b5dfebdae76fcde9524f1.tar.bz2
lanes-0c060e6e4b9f99dc887b5dfebdae76fcde9524f1.zip
C++ migration: revamped stack checking macros
Diffstat (limited to 'src/universe.cpp')
-rw-r--r--src/universe.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/universe.cpp b/src/universe.cpp
index 5d0d3b6..06c7313 100644
--- a/src/universe.cpp
+++ b/src/universe.cpp
@@ -41,35 +41,35 @@ static constexpr UniqueKey UNIVERSE_REGKEY{ 0x9f877b2cf078f17full };
41 41
42// ################################################################################################ 42// ################################################################################################
43 43
44Universe* universe_create( lua_State* L) 44Universe* universe_create(lua_State* L)
45{ 45{
46 Universe* U = (Universe*) lua_newuserdatauv( L, sizeof(Universe), 0); // universe 46 Universe* U = (Universe*) lua_newuserdatauv( L, sizeof(Universe), 0); // universe
47 memset( U, 0, sizeof( Universe)); 47 memset( U, 0, sizeof( Universe));
48 STACK_CHECK( L, 1); 48 STACK_CHECK_START_REL(L, 1);
49 UNIVERSE_REGKEY.set_registry(L, [](lua_State* L) { lua_pushvalue(L, -2); }); // universe 49 UNIVERSE_REGKEY.set_registry(L, [](lua_State* L) { lua_pushvalue(L, -2); }); // universe
50 STACK_END( L, 1); 50 STACK_CHECK( L, 1);
51 return U; 51 return U;
52} 52}
53 53
54// ################################################################################################ 54// ################################################################################################
55 55
56void universe_store( lua_State* L, Universe* U) 56void universe_store(lua_State* L, Universe* U)
57{ 57{
58 STACK_CHECK( L, 0); 58 STACK_CHECK_START_REL(L, 0);
59 UNIVERSE_REGKEY.set_registry(L, [U](lua_State* L) { U ? lua_pushlightuserdata( L, U) : lua_pushnil( L); }); 59 UNIVERSE_REGKEY.set_registry(L, [U](lua_State* L) { U ? lua_pushlightuserdata( L, U) : lua_pushnil( L); });
60 STACK_END( L, 0); 60 STACK_CHECK( L, 0);
61} 61}
62 62
63// ################################################################################################ 63// ################################################################################################
64 64
65Universe* universe_get( lua_State* L) 65Universe* universe_get(lua_State* L)
66{ 66{
67 Universe* universe; 67 Universe* universe;
68 STACK_GROW( L, 2); 68 STACK_GROW( L, 2);
69 STACK_CHECK( L, 0); 69 STACK_CHECK_START_REL(L, 0);
70 UNIVERSE_REGKEY.query_registry(L); 70 UNIVERSE_REGKEY.query_registry(L);
71 universe = (Universe*) lua_touserdata( L, -1); // nullptr if nil 71 universe = (Universe*) lua_touserdata( L, -1); // nullptr if nil
72 lua_pop( L, 1); 72 lua_pop( L, 1);
73 STACK_END( L, 0); 73 STACK_CHECK( L, 0);
74 return universe; 74 return universe;
75} 75}