Daniele Bartolini 10 роки тому
батько
коміт
7227348551
1 змінених файлів з 12 додано та 3 видалено
  1. 12 3
      src/lua/lua_stack.h

+ 12 - 3
src/lua/lua_stack.h

@@ -148,6 +148,11 @@ struct LuaStack
 		lua_pushinteger(L, value);
 		lua_pushinteger(L, value);
 	}
 	}
 
 
+	void push_id(uint32_t value)
+	{
+		lua_pushinteger(L, value);
+	}
+
 	void push_string_id(StringId32 value)
 	void push_string_id(StringId32 value)
 	{
 	{
 		lua_pushinteger(L, value.id());
 		lua_pushinteger(L, value.id());
@@ -186,6 +191,11 @@ struct LuaStack
 		return (int)CHECKINTEGER(L, i);
 		return (int)CHECKINTEGER(L, i);
 	}
 	}
 
 
+	uint32_t get_id(int i)
+	{
+		return (uint32_t)CHECKINTEGER(L, i);
+	}
+
 	StringId32 get_string_id(int i)
 	StringId32 get_string_id(int i)
 	{
 	{
 		return StringId32(uint32_t(CHECKINTEGER(L, i)));
 		return StringId32(uint32_t(CHECKINTEGER(L, i)));
@@ -381,13 +391,12 @@ struct LuaStack
 
 
 	void push_sound_instance_id(const SoundInstanceId id)
 	void push_sound_instance_id(const SoundInstanceId id)
 	{
 	{
-		uintptr_t enc = id.encode();
-		lua_pushlightuserdata(L, (void*)enc);
+		push_id(id.encode());
 	}
 	}
 
 
 	SoundInstanceId get_sound_instance_id(int i)
 	SoundInstanceId get_sound_instance_id(int i)
 	{
 	{
-		uint32_t enc = (uintptr_t) CHECKLIGHTDATA(L, i, always_true, "SoundInstanceId");
+		uint32_t enc = get_id(i);
 		SoundInstanceId id;
 		SoundInstanceId id;
 		id.decode(enc);
 		id.decode(enc);
 		return id;
 		return id;