mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2024-12-12 11:10:29 +00:00
Split colours.rgb8 into colours.packRGB and colours.unpackRGB
This commit is contained in:
parent
070fd1f2ff
commit
af01b9514b
@ -48,22 +48,36 @@ function test( colors, color )
|
||||
if type( color ) ~= "number" then
|
||||
error( "bad argument #2 (expected number, got " .. type( color ) .. ")", 2 )
|
||||
end
|
||||
return ((bit32.band(colors, color)) == color)
|
||||
return bit32.band(colors, color) == color
|
||||
end
|
||||
|
||||
function packRGB( r, g, b )
|
||||
if type( r ) ~= "number" then
|
||||
error( "bad argument #1 (expected number, got " .. type( r ) .. ")", 2 )
|
||||
end
|
||||
if type( g ) ~= "number" then
|
||||
error( "bad argument #2 (expected number, got " .. type( g ) .. ")", 2 )
|
||||
end
|
||||
if type( b ) ~= "number" then
|
||||
error( "bad argument #3 (expected number, got " .. type( b ) .. ")", 2 )
|
||||
end
|
||||
return
|
||||
bit32.band( r, 0xFF ) * 2^16 +
|
||||
bit32.band( g, 0xFF ) * 2^8 +
|
||||
bit32.band( b, 0xFF )
|
||||
end
|
||||
|
||||
function unpackRGB( rgb )
|
||||
if type( rgb ) ~= "number" then
|
||||
error( "bad argument #1 (expected number, got " .. type( rgb ) .. ")", 2 )
|
||||
end
|
||||
return bit32.band( bit32.rshift( rgb, 16 ), 0xFF ), bit32.band( bit32.rshift( rgb, 8 ), 0xFF ), bit32.band( rgb, 0xFF )
|
||||
end
|
||||
|
||||
function rgb8( r, g, b )
|
||||
if type( r ) ~= "number" then
|
||||
error( "bad argument #1 (expected number, got " .. type( r ) .. ")", 2 )
|
||||
elseif type(r) == "number" and g == nil and b == nil then
|
||||
return bit32.band( bit32.rshift( r, 16 ), 0xFF ) / 255, bit32.band( bit32.rshift( r, 8 ), 0xFF ) / 255, bit32.band( r, 0xFF ) / 255
|
||||
elseif type(r) == "number" and type(g) == "number" and type(b) == "number" then
|
||||
return
|
||||
bit32.lshift( bit32.band(r * 255, 0xFF), 16 ) +
|
||||
bit32.lshift( bit32.band(g * 255, 0xFF), 8 ) +
|
||||
bit32.band(b * 255, 0xFF)
|
||||
elseif type( g ) ~= "number" then
|
||||
error( "bad argument #2 (expected number, got " .. type( g ) .. ")", 2 )
|
||||
elseif type( b ) ~= "number" then
|
||||
error( "bad argument #3 (expected number, got " .. type( b ) .. ")", 2 )
|
||||
if g == nil and b == nil then
|
||||
return unpackRGB( r )
|
||||
else
|
||||
return packRGB( r, g, b )
|
||||
end
|
||||
end
|
||||
|
@ -298,7 +298,7 @@ function create( parent, nX, nY, nWidth, nHeight, bStartVisible )
|
||||
|
||||
local tCol
|
||||
if type(r) == "number" and g == nil and b == nil then
|
||||
tCol = { colours.rgb8( r ) }
|
||||
tCol = { colours.unpackRGB( r ) }
|
||||
tPalette[ colour ] = tCol
|
||||
else
|
||||
if type( r ) ~= "number" then error( "bad argument #2 (expected number, got " .. type( r ) .. ")", 2 ) end
|
||||
|
Loading…
Reference in New Issue
Block a user