Quellcode durchsuchen

Add temp_count() and set_temp_count()

Daniele Bartolini vor 10 Jahren
Ursprung
Commit
672982ab4b
2 geänderte Dateien mit 20 neuen und 0 gelöschten Zeilen
  1. 14 0
      src/lua/lua_environment.cpp
  2. 6 0
      src/lua/lua_environment.h

+ 14 - 0
src/lua/lua_environment.cpp

@@ -234,6 +234,20 @@ bool LuaEnvironment::is_matrix4x4(const Matrix4x4* p) const
 		&& p <= &_mat4_buffer[CROWN_MAX_LUA_MATRIX4X4 - 1];
 }
 
+void LuaEnvironment::temp_count(u32& num_vec3, u32& num_quat, u32& num_mat4)
+{
+	num_vec3 = _vec3_used;
+	num_quat = _quat_used;
+	num_mat4 = _mat4_used;
+}
+
+void LuaEnvironment::set_temp_count(u32 num_vec3, u32 num_quat, u32 num_mat4)
+{
+	_vec3_used = num_vec3;
+	_quat_used = num_quat;
+	_mat4_used = num_mat4;
+}
+
 void LuaEnvironment::reset_temporaries()
 {
 	_vec3_used = 0;

+ 6 - 0
src/lua/lua_environment.h

@@ -60,6 +60,12 @@ struct LuaEnvironment
 	/// Returns true if success, false otherwise
 	void call_global(const char* func, u8 argc, ...);
 
+	/// Returns the number of temporary objects in use.
+	void temp_count(u32& num_vec3, u32& num_quat, u32& num_mat4);
+
+	/// Sets the number of temporary objects in use.
+	void set_temp_count(u32 num_vec3, u32 num_quat, u32 num_mat4);
+
 	/// Resets temporary types.
 	void reset_temporaries();