orientation: refactor a bit, docs

This commit is contained in:
Starbeamrainbowlabs 2024-09-17 23:23:09 +01:00
parent d49f6d2131
commit d29b037675
No known key found for this signature in database
GPG Key ID: 1BE5172E637709C2

@ -29,13 +29,13 @@ end
-- --
-- Ref <https://github.com/12Me21/screwdriver2/blob/master/init.lua#L75-L79> and <https://forum.minetest.net/viewtopic.php?p=73195&sid=1d2d2e4e76ce2ef9c84646481a4b84bc#p73195> -- Ref <https://github.com/12Me21/screwdriver2/blob/master/init.lua#L75-L79> and <https://forum.minetest.net/viewtopic.php?p=73195&sid=1d2d2e4e76ce2ef9c84646481a4b84bc#p73195>
-- @namespace worldeditadditions_core.orientation -- @namespace worldeditadditions_core.orientation
local orientation = {
--- Facedir: lower 5 bits used for direction, 0 - 23 --- Facedir: lower 5 bits used for direction, 0 - 23
-- @param param2 number `param2` value to rotate. -- @param param2 number `param2` value to rotate.
-- @param axis string The name of the axis to rotate around. Valid values: `x`, `y`, `z` -- @param axis string The name of the axis to rotate around. Valid values: `x`, `y`, `z`
-- @param amount The number of radians to rotate around the given `axis`. Only right angles are supported (i.e. 90° increments). Any value that isn't a 90° increment will be **rounded**! -- @param amount The number of radians to rotate around the given `axis`. Only right angles are supported (i.e. 90° increments). Any value that isn't a 90° increment will be **rounded**!
-- @returns number A new param2 value that is rotated the given number of degrees around the given `axis` -- @returns number A new param2 value that is rotated the given number of degrees around the given `axis`
facedir = function(param2, axis, amount_rad) function facedir(param2, axis, amount_rad)
local amount = convert_normalise_rad(amount_rad) local amount = convert_normalise_rad(amount_rad)
print("DEBUG:core/orientation:facedir AMOUNT rad "..tostring(amount_rad).." norm "..tostring(amount)) print("DEBUG:core/orientation:facedir AMOUNT rad "..tostring(amount_rad).." norm "..tostring(amount))
local facedir = param2 % 32 local facedir = param2 % 32
@ -49,9 +49,14 @@ local orientation = {
end end
end end
return param2 return param2
end, end
-- Wallmounted: lower 3 bits used, 0 - 5
wallmounted = function(param2, axis, amount_rad) --- Wallmounted: lower 3 bits used, 0 - 5
-- @param param2 number `param2` value to rotate.
-- @param axis string The name of the axis to rotate around. Valid values: `x`, `y`, `z`
-- @param amount The number of radians to rotate around the given `axis`. Only right angles are supported (i.e. 90° increments). Any value that isn't a 90° increment will be **rounded**!
-- @returns number A new param2 value that is rotated the given number of degrees around the given `axis`
function wallmounted(param2, axis, amount_rad)
local amount = convert_normalise_rad(amount_rad) local amount = convert_normalise_rad(amount_rad)
print("DEBUG:core/orientation:wallmounted AMOUNT rad " .. tostring(amount_rad) .. " norm " .. tostring(amount)) print("DEBUG:core/orientation:wallmounted AMOUNT rad " .. tostring(amount_rad) .. " norm " .. tostring(amount))
@ -62,11 +67,15 @@ local orientation = {
end end
end end
return param2 return param2
end end
local orientation = {
facedir = facedir,
wallmounted = wallmounted,
-- From the original codebase (linked above):
--colorfacedir = facedir,
--colorwallmounted = wallmounted
-- ...we'll need to know this later
} }
-- From the original codebase (linked above):
--orientation.colorfacedir = orientation.facedir
--orientation.colorwallmounted = orientation.wallmounted
-- ...we'll need to know this later
return orientation return orientation