mirror of
https://github.com/aseprite/aseprite.git
synced 2025-04-01 10:21:04 +00:00
Update tilemap tests to check the manual mode a little more
This commit is contained in:
parent
e3a2403501
commit
d1ebec4006
@ -13,8 +13,8 @@ local rgba = app.pixelColor.rgba
|
|||||||
-- Check constants
|
-- Check constants
|
||||||
assert(TilemapMode.PIXELS == 0)
|
assert(TilemapMode.PIXELS == 0)
|
||||||
assert(TilemapMode.TILES == 1)
|
assert(TilemapMode.TILES == 1)
|
||||||
assert(TilesetMode.AUTO == 0)
|
assert(TilesetMode.MANUAL == 0)
|
||||||
assert(TilesetMode.MANUAL == 1)
|
assert(TilesetMode.AUTO == 1)
|
||||||
assert(TilesetMode.STACK == 2)
|
assert(TilesetMode.STACK == 2)
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
@ -22,7 +22,8 @@ assert(TilesetMode.STACK == 2)
|
|||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
do
|
do
|
||||||
local spr = Sprite(32, 32)
|
local spr = Sprite(32, 32, ColorMode.INDEXED)
|
||||||
|
spr.gridBounds = Rectangle{ 0, 0, 4, 4 }
|
||||||
assert(spr.layers[1].isImage)
|
assert(spr.layers[1].isImage)
|
||||||
assert(not spr.layers[1].isTilemap)
|
assert(not spr.layers[1].isTilemap)
|
||||||
|
|
||||||
@ -43,23 +44,29 @@ do
|
|||||||
|
|
||||||
app.useTool{
|
app.useTool{
|
||||||
tool='pencil',
|
tool='pencil',
|
||||||
color=Color{ r=0, g=0, b=0 },
|
color=1,
|
||||||
layer=tilemapLay,
|
layer=tilemapLay,
|
||||||
tilesetMode=TilesetMode.STACK,
|
tilesetMode=TilesetMode.STACK,
|
||||||
points={ Point(2, 2), Point(3, 2) }}
|
points={ Point(1, 2), Point(2, 2) }}
|
||||||
assert(#tilemapLay.cels == 1)
|
assert(#tilemapLay.cels == 1)
|
||||||
assert(tilemapLay:cel(1).image.colorMode == ColorMode.TILEMAP)
|
assert(tilemapLay:cel(1).image.colorMode == ColorMode.TILEMAP)
|
||||||
local tilemapCel = tilemapLay:cel(1)
|
local tilemapCel = tilemapLay:cel(1)
|
||||||
assert(tilemapCel.bounds == Rectangle(0, 0, 16, 16))
|
assert(tilemapCel.bounds == Rectangle(0, 0, 4, 4))
|
||||||
|
|
||||||
assert(#spr.tilesets == 1) -- one tileset
|
assert(#spr.tilesets == 1) -- one tileset
|
||||||
assert(spr.tilesets[1] == tilemapLay.tileset)
|
assert(spr.tilesets[1] == tilemapLay.tileset)
|
||||||
|
|
||||||
local tileset = tilemapLay.tileset
|
local tileset = tilemapLay.tileset
|
||||||
assert(#tileset == 2) -- empty tile + our tile
|
assert(#tileset == 2) -- empty tile + our tile
|
||||||
|
assert(tileset:getTile(0):isEmpty())
|
||||||
|
assert(not tileset:getTile(1):isEmpty())
|
||||||
|
expect_img(tileset:getTile(1), { 0,0,0,0,
|
||||||
|
0,0,0,0,
|
||||||
|
0,1,1,0,
|
||||||
|
0,0,0,0 })
|
||||||
|
|
||||||
tilemapCel.position = Point(2, 2)
|
tilemapCel.position = Point(2, 2)
|
||||||
assert(tilemapCel.bounds == Rectangle(2, 2, 16, 16))
|
assert(tilemapCel.bounds == Rectangle(2, 2, 4, 4))
|
||||||
assert(#tileset == 2)
|
assert(#tileset == 2)
|
||||||
|
|
||||||
assert(tilemapCel.image.width == 1)
|
assert(tilemapCel.image.width == 1)
|
||||||
@ -72,12 +79,12 @@ do
|
|||||||
|
|
||||||
app.useTool{
|
app.useTool{
|
||||||
tool='pencil',
|
tool='pencil',
|
||||||
color=Color{ r=0, g=0, b=0 },
|
color=1,
|
||||||
cel=tilemapCel,
|
cel=tilemapCel,
|
||||||
tilesetMode=TilesetMode.MANUAL,
|
tilesetMode=TilesetMode.MANUAL,
|
||||||
points={ Point(0, 0) }}
|
points={ Point(0, 0) }}
|
||||||
|
|
||||||
assert(tilemapCel.bounds == Rectangle(2, 2, 16, 16))
|
assert(tilemapCel.bounds == Rectangle(2, 2, 4, 4))
|
||||||
assert(#tileset == 2)
|
assert(#tileset == 2)
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
@ -86,12 +93,12 @@ do
|
|||||||
|
|
||||||
app.useTool{
|
app.useTool{
|
||||||
tool='pencil',
|
tool='pencil',
|
||||||
color=Color{ r=0, g=0, b=0 },
|
color=1,
|
||||||
cel=tilemapCel,
|
cel=tilemapCel,
|
||||||
tilesetMode=TilesetMode.STACK,
|
tilesetMode=TilesetMode.STACK,
|
||||||
points={ Point(0, 0) }}
|
points={ Point(0, 0) }}
|
||||||
|
|
||||||
assert(tilemapCel.bounds == Rectangle(-14, -14, 32, 32))
|
assert(tilemapCel.bounds == Rectangle(-2, -2, 8, 8))
|
||||||
assert(#tileset == 3)
|
assert(#tileset == 3)
|
||||||
assert(tileset:getTile(0):isEmpty())
|
assert(tileset:getTile(0):isEmpty())
|
||||||
assert(not tileset:getTile(1):isEmpty())
|
assert(not tileset:getTile(1):isEmpty())
|
||||||
@ -101,17 +108,91 @@ do
|
|||||||
|
|
||||||
app.useTool{
|
app.useTool{
|
||||||
tool='pencil',
|
tool='pencil',
|
||||||
color=Color{ r=0, g=0, b=0 },
|
color=1,
|
||||||
cel=tilemapCel,
|
cel=tilemapCel,
|
||||||
tilesetMode=TilesetMode.STACK,
|
tilesetMode=TilesetMode.STACK,
|
||||||
points={ Point(19, 19) }}
|
points={ Point(6, 6) }}
|
||||||
|
|
||||||
assert(tilemapCel.bounds == Rectangle(-14, -14, 48, 48))
|
assert(tilemapCel.bounds == Rectangle(-2, -2, 12, 12))
|
||||||
assert(#tilemapLay.tileset == 4)
|
assert(#tileset == 4)
|
||||||
assert(not tileset:getTile(3):isEmpty())
|
assert(not tileset:getTile(3):isEmpty())
|
||||||
expect_img(tilemapCel.image, { 2, 0, 0,
|
expect_img(tilemapCel.image, { 2, 0, 0,
|
||||||
0, 1, 0,
|
0, 1, 0,
|
||||||
0, 0, 3 })
|
0, 0, 3 })
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
-- Draw in manual mode to modify existent tiles
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
assert(tilemapCel.bounds == Rectangle(-2, -2, 12, 12))
|
||||||
|
assert(#tileset == 4)
|
||||||
|
expect_img(tileset:getTile(1), { 0,0,0,0,
|
||||||
|
0,0,0,0,
|
||||||
|
0,1,1,0,
|
||||||
|
0,0,0,0 })
|
||||||
|
expect_img(tileset:getTile(2), { 0,0,0,0,
|
||||||
|
0,0,0,0,
|
||||||
|
0,0,1,0,
|
||||||
|
0,0,0,0 })
|
||||||
|
expect_img(tileset:getTile(3), { 1,0,0,0,
|
||||||
|
0,0,0,0,
|
||||||
|
0,0,0,0,
|
||||||
|
0,0,0,0 })
|
||||||
|
expect_img(tilemapCel.image, { 2, 0, 0,
|
||||||
|
0, 1, 0,
|
||||||
|
0, 0, 3 })
|
||||||
|
|
||||||
|
app.useTool{
|
||||||
|
tool='rectangle',
|
||||||
|
color=2,
|
||||||
|
cel=tilemapCel,
|
||||||
|
tilesetMode=TilesetMode.MANUAL,
|
||||||
|
points={ Point(0, 0), Point(9, 9) }}
|
||||||
|
|
||||||
|
assert(tilemapCel.bounds == Rectangle(-2, -2, 12, 12))
|
||||||
|
assert(#tileset == 4)
|
||||||
|
expect_img(tileset:getTile(1), { 0,0,0,0,
|
||||||
|
0,0,0,0,
|
||||||
|
0,1,1,0,
|
||||||
|
0,0,0,0 })
|
||||||
|
expect_img(tileset:getTile(2), { 0,0,0,0,
|
||||||
|
0,0,0,0,
|
||||||
|
0,0,2,2,
|
||||||
|
0,0,2,0 })
|
||||||
|
expect_img(tileset:getTile(3), { 1,0,0,2,
|
||||||
|
0,0,0,2,
|
||||||
|
0,0,0,2,
|
||||||
|
2,2,2,2 })
|
||||||
|
expect_img(tilemapCel.image, { 2, 0, 0,
|
||||||
|
0, 1, 0,
|
||||||
|
0, 0, 3 })
|
||||||
|
|
||||||
|
tilemapCel.position = Point(1, 1)
|
||||||
|
app.useTool{
|
||||||
|
tool='line',
|
||||||
|
color=3,
|
||||||
|
cel=tilemapCel,
|
||||||
|
tilesetMode=TilesetMode.MANUAL,
|
||||||
|
points={ Point(1, 1), Point(12, 12) }}
|
||||||
|
|
||||||
|
assert(tilemapCel.bounds == Rectangle(1, 1, 12, 12))
|
||||||
|
assert(#tileset == 4)
|
||||||
|
expect_img(tileset:getTile(1), { 3,0,0,0,
|
||||||
|
0,3,0,0,
|
||||||
|
0,1,3,0,
|
||||||
|
0,0,0,3 })
|
||||||
|
expect_img(tileset:getTile(2), { 3,0,0,0,
|
||||||
|
0,3,0,0,
|
||||||
|
0,0,3,2,
|
||||||
|
0,0,2,3 })
|
||||||
|
expect_img(tileset:getTile(3), { 3,0,0,2,
|
||||||
|
0,3,0,2,
|
||||||
|
0,0,3,2,
|
||||||
|
2,2,2,3 })
|
||||||
|
expect_img(tilemapCel.image, { 2, 0, 0,
|
||||||
|
0, 1, 0,
|
||||||
|
0, 0, 3 })
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
|
Loading…
x
Reference in New Issue
Block a user