From 4452bccfa63cf86c134aa616ee0bebcc66beca03 Mon Sep 17 00:00:00 2001 From: jussi Date: Wed, 1 May 2024 15:21:28 +0300 Subject: Bitwise operations for cross Lua compatibility. --- examples/resources/lib/vector3.lua | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) (limited to 'examples/resources/lib/vector3.lua') diff --git a/examples/resources/lib/vector3.lua b/examples/resources/lib/vector3.lua index 13f621c..86f5270 100644 --- a/examples/resources/lib/vector3.lua +++ b/examples/resources/lib/vector3.lua @@ -47,8 +47,8 @@ function Vector3:new( x, y, z ) local object = setmetatable( {}, metatable ) object.x = x or 0 - object.y = y or 0 - object.z = z or 0 + object.y = y or object.x + object.z = z or object.y return object end @@ -73,8 +73,8 @@ end function Vector3:set( x, y, z ) self.x = x or 0 - self.y = y or 0 - self.z = z or 0 + self.y = y or self.x + self.z = z or self.y end function Vector3:setT( t ) @@ -260,26 +260,20 @@ end function Vector3:temp( x, y, z ) local object = tempPool[ curTemp ] - curTemp = curTemp + 1 - if TEMP_COUNT < curTemp then - curTemp = 1 - end + curTemp = curTemp < TEMP_COUNT and curTemp + 1 or 1 object.x = x or 0 - object.y = y or 0 - object.z = z or 0 + object.y = y or object.x + object.z = z or object.y return object end function Vector3:tempT( t ) local object = tempPool[ curTemp ] - curTemp = curTemp + 1 - if TEMP_COUNT < curTemp then - curTemp = 1 - end + curTemp = curTemp < TEMP_COUNT and curTemp + 1 or 1 object.x, object.y, object.z = table.unpack( t ) @@ -288,11 +282,8 @@ end function Vector3:tempV( v ) local object = tempPool[ curTemp ] - curTemp = curTemp + 1 - if TEMP_COUNT < curTemp then - curTemp = 1 - end + curTemp = curTemp < TEMP_COUNT and curTemp + 1 or 1 object.x = v.x object.y = v.y -- cgit v1.2.3