mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2024-12-13 11:40:29 +00:00
Use Lua style error messages in the rom files
This makes it mostly consistent with the Java APIs, and makes debugging significantly easier.
This commit is contained in:
parent
bffc3c18cc
commit
fac625173a
@ -45,6 +45,6 @@ function rgb8( r, g, b )
|
||||
bit32.lshift( bit32.band(g * 255, 0xFF), 8 ) +
|
||||
bit32.band(b * 255, 0xFF)
|
||||
else
|
||||
error( "Expected 1 or 3 numbers" )
|
||||
error( "Expected 1 or 3 numbers", 2 )
|
||||
end
|
||||
end
|
||||
|
@ -11,7 +11,7 @@ end
|
||||
|
||||
function loadImage( sPath )
|
||||
if type( sPath ) ~= "string" then
|
||||
error( "Expected path", 2 )
|
||||
error( "bad argument #1 (expected string, got " .. type( sPath ) .. ")", 2 )
|
||||
end
|
||||
|
||||
local tImage = {}
|
||||
@ -33,9 +33,9 @@ function loadImage( sPath )
|
||||
end
|
||||
|
||||
function drawPixel( xPos, yPos, nColour )
|
||||
if type( xPos ) ~= "number" or type( yPos ) ~= "number" or (nColour ~= nil and type( nColour ) ~= "number") then
|
||||
error( "Expected x, y, colour", 2 )
|
||||
end
|
||||
if type( xPos ) ~= "number" then error( "bad argument #1 (expected number, got " .. type( xPos ) .. ")", 2 ) end
|
||||
if type( yPos ) ~= "number" then error( "bad argument #2 (expected number, got " .. type( yPos ) .. ")", 2 ) end
|
||||
if nColour ~= nil and type( nColour ) ~= "number" then error( "bad argument #3 (expected number, got " .. type( nColour ) .. ")", 2 ) end
|
||||
if nColour then
|
||||
term.setBackgroundColor( nColour )
|
||||
end
|
||||
@ -43,11 +43,11 @@ function drawPixel( xPos, yPos, nColour )
|
||||
end
|
||||
|
||||
function drawLine( startX, startY, endX, endY, nColour )
|
||||
if type( startX ) ~= "number" or type( startX ) ~= "number" or
|
||||
type( endX ) ~= "number" or type( endY ) ~= "number" or
|
||||
(nColour ~= nil and type( nColour ) ~= "number") then
|
||||
error( "Expected startX, startY, endX, endY, colour", 2 )
|
||||
end
|
||||
if type( startX ) ~= "number" then error( "bad argument #1 (expected number, got " .. type( startX ) .. ")", 2 ) end
|
||||
if type( startY ) ~= "number" then error( "bad argument #2 (expected number, got " .. type( startY ) .. ")", 2 ) end
|
||||
if type( endX ) ~= "number" then error( "bad argument #3 (expected number, got " .. type( endX ) .. ")", 2 ) end
|
||||
if type( endY ) ~= "number" then error( "bad argument #4 (expected number, got " .. type( endY ) .. ")", 2 ) end
|
||||
if nColour ~= nil and type( nColour ) ~= "string" then error( "bad argument #5 (expected number, got " .. type( nColour ) .. ")", 2 ) end
|
||||
|
||||
startX = math.floor(startX)
|
||||
startY = math.floor(startY)
|
||||
@ -103,11 +103,11 @@ function drawLine( startX, startY, endX, endY, nColour )
|
||||
end
|
||||
|
||||
function drawBox( startX, startY, endX, endY, nColour )
|
||||
if type( startX ) ~= "number" or type( startX ) ~= "number" or
|
||||
type( endX ) ~= "number" or type( endY ) ~= "number" or
|
||||
(nColour ~= nil and type( nColour ) ~= "number") then
|
||||
error( "Expected startX, startY, endX, endY, colour", 2 )
|
||||
end
|
||||
if type( startX ) ~= "number" then error( "bad argument #1 (expected number, got " .. type( startX ) .. ")", 2 ) end
|
||||
if type( startY ) ~= "number" then error( "bad argument #2 (expected number, got " .. type( startY ) .. ")", 2 ) end
|
||||
if type( endX ) ~= "number" then error( "bad argument #3 (expected number, got " .. type( endX ) .. ")", 2 ) end
|
||||
if type( endY ) ~= "number" then error( "bad argument #4 (expected number, got " .. type( endY ) .. ")", 2 ) end
|
||||
if nColour ~= nil and type( nColour ) ~= "string" then error( "bad argument #5 (expected number, got " .. type( nColour ) .. ")", 2 ) end
|
||||
|
||||
startX = math.floor(startX)
|
||||
startY = math.floor(startY)
|
||||
@ -147,11 +147,11 @@ function drawBox( startX, startY, endX, endY, nColour )
|
||||
end
|
||||
|
||||
function drawFilledBox( startX, startY, endX, endY, nColour )
|
||||
if type( startX ) ~= "number" or type( startX ) ~= "number" or
|
||||
type( endX ) ~= "number" or type( endY ) ~= "number" or
|
||||
(nColour ~= nil and type( nColour ) ~= "number") then
|
||||
error( "Expected startX, startY, endX, endY, colour", 2 )
|
||||
end
|
||||
if type( startX ) ~= "number" then error( "bad argument #1 (expected number, got " .. type( startX ) .. ")", 2 ) end
|
||||
if type( startY ) ~= "number" then error( "bad argument #2 (expected number, got " .. type( startY ) .. ")", 2 ) end
|
||||
if type( endX ) ~= "number" then error( "bad argument #3 (expected number, got " .. type( endX ) .. ")", 2 ) end
|
||||
if type( endY ) ~= "number" then error( "bad argument #4 (expected number, got " .. type( endY ) .. ")", 2 ) end
|
||||
if nColour ~= nil and type( nColour ) ~= "string" then error( "bad argument #5 (expected number, got " .. type( nColour ) .. ")", 2 ) end
|
||||
|
||||
startX = math.floor(startX)
|
||||
startY = math.floor(startY)
|
||||
@ -185,9 +185,9 @@ function drawFilledBox( startX, startY, endX, endY, nColour )
|
||||
end
|
||||
|
||||
function drawImage( tImage, xPos, yPos )
|
||||
if type( tImage ) ~= "table" or type( xPos ) ~= "number" or type( yPos ) ~= "number" then
|
||||
error( "Expected image, x, y", 2 )
|
||||
end
|
||||
if type( tImage ) ~= "table" then error( "bad argument #1 (expected number, got " .. type( tImage ) .. ")", 2 ) end
|
||||
if type( xPos ) ~= "number" then error( "bad argument #2 (expected number, got " .. type( xPos ) .. ")", 2 ) end
|
||||
if type( yPos ) ~= "number" then error( "bad argument #3 (expected number, got " .. type( yPos ) .. ")", 2 ) end
|
||||
for y=1,#tImage do
|
||||
local tLine = tImage[y]
|
||||
for x=1,#tLine do
|
||||
|
@ -1,12 +1,17 @@
|
||||
|
||||
local function create( first, ... )
|
||||
if first ~= nil then
|
||||
if type( first ) ~= "function" then
|
||||
error( "Expected function, got "..type( first ), 3 )
|
||||
local function create( ... )
|
||||
local tFns = table.pack(...)
|
||||
local tCos = {}
|
||||
for i = 1, tFns.n, 1 do
|
||||
local fn = tFns[i]
|
||||
if type( fn ) ~= "function" then
|
||||
error( "bad argument #" .. i .. " (expected function, got " .. type( fn ) .. ")", 3 )
|
||||
end
|
||||
return coroutine.create(first), create( ... )
|
||||
|
||||
tCos[i] = coroutine.create(fn)
|
||||
end
|
||||
return nil
|
||||
|
||||
return tCos
|
||||
end
|
||||
|
||||
local function runUntilLimit( _routines, _limit )
|
||||
@ -51,11 +56,11 @@ local function runUntilLimit( _routines, _limit )
|
||||
end
|
||||
|
||||
function waitForAny( ... )
|
||||
local routines = { create( ... ) }
|
||||
local routines = create( ... )
|
||||
return runUntilLimit( routines, #routines - 1 )
|
||||
end
|
||||
|
||||
function waitForAll( ... )
|
||||
local routines = { create( ... ) }
|
||||
local routines = create( ... )
|
||||
runUntilLimit( routines, 0 )
|
||||
end
|
||||
|
@ -18,7 +18,7 @@ end
|
||||
|
||||
function isPresent( _sSide )
|
||||
if type( _sSide ) ~= "string" then
|
||||
error( "Expected string", 2 )
|
||||
error( "bad argument #1 (expected string, got " .. type( _sSide ) .. ")", 2 )
|
||||
end
|
||||
if native.isPresent( _sSide ) then
|
||||
return true
|
||||
@ -35,7 +35,7 @@ end
|
||||
|
||||
function getType( _sSide )
|
||||
if type( _sSide ) ~= "string" then
|
||||
error( "Expected string", 2 )
|
||||
error( "bad argument #1 (expected string, got " .. type( _sSide ) .. ")", 2 )
|
||||
end
|
||||
if native.isPresent( _sSide ) then
|
||||
return native.getType( _sSide )
|
||||
@ -52,7 +52,7 @@ end
|
||||
|
||||
function getMethods( _sSide )
|
||||
if type( _sSide ) ~= "string" then
|
||||
error( "Expected string", 2 )
|
||||
error( "bad argument #1 (expected string, got " .. type( _sSide ) .. ")", 2 )
|
||||
end
|
||||
if native.isPresent( _sSide ) then
|
||||
return native.getMethods( _sSide )
|
||||
@ -68,8 +68,11 @@ function getMethods( _sSide )
|
||||
end
|
||||
|
||||
function call( _sSide, _sMethod, ... )
|
||||
if type( _sSide ) ~= "string" or type( _sMethod ) ~= "string" then
|
||||
error( "Expected string, string", 2 )
|
||||
if type( _sSide ) ~= "string" then
|
||||
error( "bad argument #1 (expected string, got " .. type( _sSide ) .. ")", 2 )
|
||||
end
|
||||
if type( _sSide ) ~= "string" then
|
||||
error( "bad argument #2 (expected string, got " .. type( _sMethod ) .. ")", 2 )
|
||||
end
|
||||
if native.isPresent( _sSide ) then
|
||||
return native.call( _sSide, _sMethod, ... )
|
||||
@ -86,7 +89,7 @@ end
|
||||
|
||||
function wrap( _sSide )
|
||||
if type( _sSide ) ~= "string" then
|
||||
error( "Expected string", 2 )
|
||||
error( "bad argument #1 (expected string, got " .. type( _sSide ) .. ")", 2 )
|
||||
end
|
||||
if peripheral.isPresent( _sSide ) then
|
||||
local tMethods = peripheral.getMethods( _sSide )
|
||||
@ -102,8 +105,11 @@ function wrap( _sSide )
|
||||
end
|
||||
|
||||
function find( sType, fnFilter )
|
||||
if type( sType ) ~= "string" or (fnFilter ~= nil and type( fnFilter ) ~= "function") then
|
||||
error( "Expected string, [function]", 2 )
|
||||
if type( _sSide ) ~= "string" then
|
||||
error( "bad argument #1 (expected string, got " .. type( _sSide ) .. ")", 2 )
|
||||
end
|
||||
if fnFilter ~= nil and type( fnFilter ) ~= "string" then
|
||||
error( "bad argument #2 (expected function, got " .. type( fnFilter ) .. ")", 2 )
|
||||
end
|
||||
local tResults = {}
|
||||
for n,sName in ipairs( peripheral.getNames() ) do
|
||||
|
@ -2,11 +2,13 @@
|
||||
local tSettings = {}
|
||||
|
||||
function set( sName, value )
|
||||
if type(sName) ~= "string" or
|
||||
(type(value) ~= "string" and type(value) ~= "number" and type(value) ~= "boolean" and type(value) ~= "table") then
|
||||
error( "Expected string, value", 2 )
|
||||
if type( sName ) ~= "string" then error( "bad argument #1 (expected string, got " .. type( sName ) .. ")", 2 ) end
|
||||
|
||||
local sValueTy = type(value)
|
||||
if sValueTy ~= "number" and sValueTy ~= "string" and sValueTy ~= "boolean" and sValueTy ~= "table" then
|
||||
error( "bad argument #2 (expected value, got " .. sValueTy .. ")", 2 )
|
||||
end
|
||||
if type(value) == "table" then
|
||||
if sValueTy == "table" then
|
||||
-- Ensure value is serializeable
|
||||
value = textutils.unserialize( textutils.serialize(value) )
|
||||
end
|
||||
@ -28,7 +30,7 @@ end
|
||||
|
||||
function get( sName, default )
|
||||
if type(sName) ~= "string" then
|
||||
error( "Expected string", 2 )
|
||||
error( "bad argument #1 (expected string, got " .. type( sName ) .. ")", 2 )
|
||||
end
|
||||
local result = tSettings[ sName ]
|
||||
if result ~= nil then
|
||||
@ -40,7 +42,7 @@ end
|
||||
|
||||
function unset( sName )
|
||||
if type(sName) ~= "string" then
|
||||
error( "Expected string", 2 )
|
||||
error( "bad argument #1 (expected string, got " .. type( sName ) .. ")", 2 )
|
||||
end
|
||||
tSettings[ sName ] = nil
|
||||
end
|
||||
@ -59,7 +61,7 @@ end
|
||||
|
||||
function load( sPath )
|
||||
if type(sPath) ~= "string" then
|
||||
error( "Expected string", 2 )
|
||||
error( "bad argument #1 (expected string, got " .. type( sPath ) .. ")", 2 )
|
||||
end
|
||||
local file = fs.open( sPath, "r" )
|
||||
if not file then
|
||||
@ -86,7 +88,7 @@ end
|
||||
|
||||
function save( sPath )
|
||||
if type(sPath) ~= "string" then
|
||||
error( "Expected string", 2 )
|
||||
error( "bad argument #1 (expected string, got " .. type( sPath ) .. ")", 2 )
|
||||
end
|
||||
local file = fs.open( sPath, "w" )
|
||||
if not file then
|
||||
|
@ -18,20 +18,18 @@ local tHex = {
|
||||
[ colors.black ] = "f",
|
||||
}
|
||||
|
||||
local type = type
|
||||
local string_rep = string.rep
|
||||
local string_sub = string.sub
|
||||
local table_unpack = table.unpack
|
||||
|
||||
function create( parent, nX, nY, nWidth, nHeight, bStartVisible )
|
||||
|
||||
if type( parent ) ~= "table" or
|
||||
type( nX ) ~= "number" or
|
||||
type( nY ) ~= "number" or
|
||||
type( nWidth ) ~= "number" or
|
||||
type( nHeight ) ~= "number" or
|
||||
(bStartVisible ~= nil and type( bStartVisible ) ~= "boolean") then
|
||||
error( "Expected object, number, number, number, number, [boolean]", 2 )
|
||||
end
|
||||
if type( parent ) ~= "table" then error( "bad argument #1 (expected table, got " .. type( parent ) .. ")", 2 ) end
|
||||
if type( nX ) ~= "number" then error( "bad argument #2 (expected number, got " .. type( nX ) .. ")", 2 ) end
|
||||
if type( nY ) ~= "number" then error( "bad argument #3 (expected number, got " .. type( nY ) .. ")", 2 ) end
|
||||
if type( nWidth ) ~= "number" then error( "bad argument #4 (expected number, got " .. type( nWidth ) .. ")", 2 ) end
|
||||
if type( nHeight ) ~= "number" then error( "bad argument #5 (expected number, got " .. type( nHeight ) .. ")", 2 ) end
|
||||
if bStartVisible ~= nil and type( bStartVisible ) ~= "boolean" then error( "bad argument #6 (expected boolean, got " .. type( bStartVisible ) .. ")", 2 ) end
|
||||
|
||||
if parent == term then
|
||||
error( "term is not a recommended window parent, try term.current() instead", 2 )
|
||||
@ -193,9 +191,9 @@ function create( parent, nX, nY, nWidth, nHeight, bStartVisible )
|
||||
end
|
||||
|
||||
function window.blit( sText, sTextColor, sBackgroundColor )
|
||||
if type(sText) ~= "string" or type(sTextColor) ~= "string" or type(sBackgroundColor) ~= "string" then
|
||||
error( "Expected string, string, string", 2 )
|
||||
end
|
||||
if type( sText ) ~= "string" then error( "bad argument #1 (expected string, got " .. type( sText ) .. ")", 2 ) end
|
||||
if type( sTextColor ) ~= "string" then error( "bad argument #2 (expected string, got " .. type( sTextColor ) .. ")", 2 ) end
|
||||
if type( sBackgroundColor ) ~= "string" then error( "bad argument #3 (expected string, got " .. type( sBackgroundColor ) .. ")", 2 ) end
|
||||
if #sTextColor ~= #sText or #sBackgroundColor ~= #sText then
|
||||
error( "Arguments must be the same length", 2 )
|
||||
end
|
||||
@ -243,9 +241,8 @@ function create( parent, nX, nY, nWidth, nHeight, bStartVisible )
|
||||
end
|
||||
|
||||
function window.setCursorPos( x, y )
|
||||
if type( x ) ~= "number" or type( y ) ~= "number" then
|
||||
error( "Expected number, number", 2 )
|
||||
end
|
||||
if type( x ) ~= "number" then error( "bad argument #1 (expected number, got " .. type( x ) .. ")", 2 ) end
|
||||
if type( y ) ~= "number" then error( "bad argument #2 (expected number, got " .. type( y ) .. ")", 2 ) end
|
||||
nCursorX = math.floor( x )
|
||||
nCursorY = math.floor( y )
|
||||
if bVisible then
|
||||
@ -254,9 +251,7 @@ function create( parent, nX, nY, nWidth, nHeight, bStartVisible )
|
||||
end
|
||||
|
||||
function window.setCursorBlink( blink )
|
||||
if type( blink ) ~= "boolean" then
|
||||
error( "Expected boolean", 2 )
|
||||
end
|
||||
if type( blink ) ~= "boolean" then error( "bad argument #1 (expected boolean, got " .. type( blink ) .. ")", 2 ) end
|
||||
bCursorBlink = blink
|
||||
if bVisible then
|
||||
updateCursorBlink()
|
||||
@ -276,10 +271,10 @@ function create( parent, nX, nY, nWidth, nHeight, bStartVisible )
|
||||
end
|
||||
|
||||
local function setTextColor( color )
|
||||
if type(color) ~= "number" then
|
||||
error( "Expected number", 3 )
|
||||
if type( color ) ~= "number" then
|
||||
error( "bad argument #1 (expected number, got " .. type( color ) .. ")", 2 )
|
||||
elseif tHex[color] == nil then
|
||||
error( "Invalid color", 3 )
|
||||
error( "Invalid color", 2 )
|
||||
end
|
||||
nTextColor = color
|
||||
if bVisible then
|
||||
@ -287,26 +282,25 @@ function create( parent, nX, nY, nWidth, nHeight, bStartVisible )
|
||||
end
|
||||
end
|
||||
|
||||
function window.setTextColor( color )
|
||||
setTextColor( color )
|
||||
end
|
||||
|
||||
function window.setTextColour( color )
|
||||
setTextColor( color )
|
||||
end
|
||||
window.setTextColor = setTextColor
|
||||
window.setTextColour = setTextColor
|
||||
|
||||
function window.setPaletteColour( colour, r, g, b )
|
||||
if type( colour ) ~= "number" then error( "bad argument #1 (expected number, got " .. type( colour ) .. ")", 2 ) end
|
||||
|
||||
local tCol
|
||||
if type(colour) == "number" and type(r) == "number" and g == nil and b == nil then
|
||||
if type(r) == "number" and g == nil and b == nil then
|
||||
tCol = { colours.rgb8( r ) }
|
||||
tPalette[ colour ] = tCol
|
||||
elseif type(colour) == "number" and type(r) == "number" and type(g) == "number" and type(b) == "number" then
|
||||
else
|
||||
if type( r ) ~= "number" then error( "bad argument #2 (expected number, got " .. type( r ) .. ")", 2 ) end
|
||||
if type( g ) ~= "number" then error( "bad argument #3 (expected number, got " .. type( g ) .. ")", 2 ) end
|
||||
if type( b ) ~= "number" then error( "bad argument #4 (expected number, got " .. type( b ) .. ")", 2 ) end
|
||||
|
||||
tCol = tPalette[ colour ]
|
||||
tCol[1] = r
|
||||
tCol[2] = g
|
||||
tCol[3] = b
|
||||
else
|
||||
error( "Expected number, number, number, number", 2 )
|
||||
end
|
||||
|
||||
if bVisible then
|
||||
@ -324,30 +318,23 @@ function create( parent, nX, nY, nWidth, nHeight, bStartVisible )
|
||||
window.getPaletteColor = window.getPaletteColour
|
||||
|
||||
local function setBackgroundColor( color )
|
||||
if type(color) ~= "number" then
|
||||
error( "Expected number", 3 )
|
||||
if type( color ) ~= "number" then
|
||||
error( "bad argument #1 (expected number, got " .. type( color ) .. ")", 2 )
|
||||
elseif tHex[color] == nil then
|
||||
error( "Invalid color", 3 )
|
||||
end
|
||||
nBackgroundColor = color
|
||||
end
|
||||
|
||||
function window.setBackgroundColor( color )
|
||||
setBackgroundColor( color )
|
||||
end
|
||||
|
||||
function window.setBackgroundColour( color )
|
||||
setBackgroundColor( color )
|
||||
end
|
||||
window.setBackgroundColor = setBackgroundColor
|
||||
window.setBackgroundColour = setBackgroundColor
|
||||
|
||||
function window.getSize()
|
||||
return nWidth, nHeight
|
||||
end
|
||||
|
||||
function window.scroll( n )
|
||||
if type( n ) ~= "number" then
|
||||
error( "Expected number", 2 )
|
||||
end
|
||||
if type( n ) ~= "number" then error( "bad argument #1 (expected number, got " .. type( n ) .. ")", 2 ) end
|
||||
if n ~= 0 then
|
||||
local tNewLines = {}
|
||||
local sEmptyText = sEmptySpaceLine
|
||||
@ -392,9 +379,7 @@ function create( parent, nX, nY, nWidth, nHeight, bStartVisible )
|
||||
|
||||
-- Other functions
|
||||
function window.setVisible( bVis )
|
||||
if type( bVis) ~= "boolean" then
|
||||
error( "Expected boolean", 2 )
|
||||
end
|
||||
if type( bVis ) ~= "boolean" then error( "bad argument #1 (expected boolean, got " .. type( bVis ) .. ")", 2 ) end
|
||||
if bVisible ~= bVis then
|
||||
bVisible = bVis
|
||||
if bVisible then
|
||||
@ -426,9 +411,11 @@ function create( parent, nX, nY, nWidth, nHeight, bStartVisible )
|
||||
end
|
||||
|
||||
function window.reposition( nNewX, nNewY, nNewWidth, nNewHeight )
|
||||
if type( nNewX ) ~= "number" or type( nNewY ) ~= "number" or type( nNewWidth ) ~= "number" or type( nNewWidth ) ~= "number" then
|
||||
error( "Expected number, number, number, number", 2 )
|
||||
end
|
||||
if type( nNewX ) ~= "number" then error( "bad argument #1 (expected number, got " .. type( nNewX ) .. ")", 2 ) end
|
||||
if type( nNewY ) ~= "number" then error( "bad argument #2 (expected number, got " .. type( nNewY ) .. ")", 2 ) end
|
||||
if type( nNewWidth ) ~= "number" then error( "bad argument #3 (expected number, got " .. type( nNewWidth ) .. ")", 2 ) end
|
||||
if type( nNewHeight ) ~= "number" then error( "bad argument #4 (expected number, got " .. type( nNewHeight ) .. ")", 2 ) end
|
||||
|
||||
nX = nNewX
|
||||
nY = nNewY
|
||||
if nNewWidth and nNewHeight then
|
||||
|
Loading…
Reference in New Issue
Block a user