diff options
author | Benoit Germain <benoit.germain@ubisoft.com> | 2024-03-25 10:43:25 +0100 |
---|---|---|
committer | Benoit Germain <benoit.germain@ubisoft.com> | 2024-03-25 10:43:25 +0100 |
commit | 0c060e6e4b9f99dc887b5dfebdae76fcde9524f1 (patch) | |
tree | 2ba9a1923e3e983375e33aa5f41d9fbc21451832 /src/universe.cpp | |
parent | dad1d5fbf7c7a30caea00694de608c6036789aa5 (diff) | |
download | lanes-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.cpp | 18 |
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 | ||
44 | Universe* universe_create( lua_State* L) | 44 | Universe* 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 | ||
56 | void universe_store( lua_State* L, Universe* U) | 56 | void 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 | ||
65 | Universe* universe_get( lua_State* L) | 65 | Universe* 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 | } |