Add some mosaic patterns which appear sometimes.

This commit is contained in:
rude
2015-11-18 17:12:54 +01:00
parent aca369e5d4
commit 2990b6d440
2 changed files with 156 additions and 18 deletions
+50 -7
View File
@@ -741,6 +741,7 @@ function love.nogame()
self.batch = love.graphics.newSpriteBatch(mosaic_image, SIZE, "stream")
self.pieces = {}
self.color_t = 1
self.generation = 1
local COLORS = {}
@@ -757,10 +758,6 @@ function love.nogame()
-- Insert only once. This way it appears half as often.
table.insert(COLORS, { 220, 239, 113 }) -- LIME
self.generator = function()
return COLORS[love.math.random(1, #COLORS)]
end
-- When using the higher-res mosaic sprite sheet, we want to draw its
-- sprites at the same scale as the regular-resolution one, because
-- we'll globally love.graphics.scale *everything* by the screen's
@@ -785,6 +782,38 @@ function love.nogame()
local exclude_height = exclude_bottom - exclude_top + 1
local exclude_area = exclude_width * exclude_height
local exclude_center_x = exclude_left + 1.5
local exclude_center_y = exclude_top + 1.5
self.generators = {
function(piece, generation)
return COLORS[math.random(1, #COLORS)]
end,
function(piece, generation)
return COLORS[1 + (generation + piece.grid_x - piece.grid_y) % #COLORS]
end,
function(piece, generation)
return COLORS[1 + (piece.grid_x + generation) % #COLORS]
end,
function(piece, generation)
local len = generation + math.sqrt(piece.grid_x ^ 2 + piece.grid_y ^ 2)
return COLORS[1 + math.floor(len) % #COLORS]
end,
function(piece, generation)
local dx = piece.grid_x - exclude_center_x
local dy = piece.grid_y - exclude_center_y
local len = generation - math.sqrt(dx ^ 2 + dy ^ 2)
return COLORS[1 + math.floor(len) % #COLORS]
end,
function(piece, generation)
local dx = math.abs(piece.grid_x - exclude_center_x) - generation
local dy = math.abs(piece.grid_y - exclude_center_y) - generation
return COLORS[1 + math.floor(math.max(dx, dy)) % #COLORS]
end,
}
self.generator = self.generators[1]
local EXCLUDE = {}
for y = exclude_top,exclude_bottom do
EXCLUDE[y] = {}
@@ -797,6 +826,8 @@ function love.nogame()
for x = 1,SIZE_X do
if not EXCLUDE[y] or not EXCLUDE[y][x] then
local piece = {
grid_x = x,
grid_y = y,
x = (x - 1) * 32,
y = (y - 1) * 32,
r = love.math.random(0, 100) / 100 * math.pi,
@@ -805,7 +836,7 @@ function love.nogame()
quad = QUADS[(x + y) % 4 + 1]
}
piece.color.prev = self.generator(#self.pieces + 1, 0, 2)
piece.color.prev = self.generator(piece, self.generation)
piece.color.next = piece.color.prev
table.insert(self.pieces, piece)
end
@@ -853,18 +884,30 @@ function love.nogame()
put_text("SUPER TOAST", 0, text_center_x - 4, exclude_top - 3)
end
function Mosaic:addGeneration()
self.generation = self.generation + 1
if self.generation % 5 == 0 then
if math.random(0, 100) < 30 then
self.generator = self.generators[math.random(2, #self.generators)]
else
self.generator = self.generators[1]
end
end
end
function Mosaic:update(dt)
self.color_t = math.max(self.color_t - dt, 0)
local change_color = self.color_t == 0
if change_color then
self.color_t = 1
self:addGeneration()
end
local gen = self.generator
for idx,piece in ipairs(self.pieces) do
piece.r = piece.r + piece.rv * dt
if change_color and not piece.color.immutable then
if change_color then
piece.color.prev = piece.color.next
piece.color.next = gen()
piece.color.next = gen(piece, self.generation)
end
end
end
+106 -11
View File
@@ -3155,6 +3155,8 @@ const unsigned char nogame_lua[] =
0x29, 0x0a,
0x09, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x70, 0x69, 0x65, 0x63, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x7b, 0x7d, 0x0a,
0x09, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x74, 0x20, 0x3d, 0x20, 0x31, 0x0a,
0x09, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20,
0x3d, 0x20, 0x31, 0x0a,
0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x53, 0x20, 0x3d, 0x20, 0x7b,
0x7d, 0x0a,
0x09, 0x09, 0x66, 0x6f, 0x72, 0x20, 0x5f, 0x2c, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x20, 0x69,
@@ -3180,12 +3182,6 @@ const unsigned char nogame_lua[] =
0x09, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x28, 0x43, 0x4f, 0x4c,
0x4f, 0x52, 0x53, 0x2c, 0x20, 0x7b, 0x20, 0x32, 0x32, 0x30, 0x2c, 0x20, 0x32, 0x33, 0x39, 0x2c, 0x20, 0x31,
0x31, 0x33, 0x20, 0x7d, 0x29, 0x20, 0x2d, 0x2d, 0x20, 0x4c, 0x49, 0x4d, 0x45, 0x0a,
0x09, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x3d,
0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x0a,
0x09, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x53, 0x5b, 0x6c,
0x6f, 0x76, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x28, 0x31, 0x2c,
0x20, 0x23, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x53, 0x29, 0x5d, 0x0a,
0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a,
0x09, 0x09, 0x2d, 0x2d, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68,
0x65, 0x20, 0x68, 0x69, 0x67, 0x68, 0x65, 0x72, 0x2d, 0x72, 0x65, 0x73, 0x20, 0x6d, 0x6f, 0x73, 0x61, 0x69,
0x63, 0x20, 0x73, 0x70, 0x72, 0x69, 0x74, 0x65, 0x20, 0x73, 0x68, 0x65, 0x65, 0x74, 0x2c, 0x20, 0x77, 0x65,
@@ -3257,6 +3253,81 @@ const unsigned char nogame_lua[] =
0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x72,
0x65, 0x61, 0x20, 0x3d, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68,
0x20, 0x2a, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x0a,
0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x65,
0x6e, 0x74, 0x65, 0x72, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6c,
0x65, 0x66, 0x74, 0x20, 0x2b, 0x20, 0x31, 0x2e, 0x35, 0x0a,
0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x65,
0x6e, 0x74, 0x65, 0x72, 0x5f, 0x79, 0x20, 0x3d, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74,
0x6f, 0x70, 0x20, 0x2b, 0x20, 0x31, 0x2e, 0x35, 0x0a,
0x09, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x20,
0x3d, 0x20, 0x7b, 0x0a,
0x09, 0x09, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x70, 0x69, 0x65, 0x63, 0x65, 0x2c,
0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a,
0x09, 0x09, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x53, 0x5b,
0x6d, 0x61, 0x74, 0x68, 0x2e, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x28, 0x31, 0x2c, 0x20, 0x23, 0x43, 0x4f,
0x4c, 0x4f, 0x52, 0x53, 0x29, 0x5d, 0x0a,
0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x2c, 0x0a,
0x09, 0x09, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x70, 0x69, 0x65, 0x63, 0x65, 0x2c,
0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a,
0x09, 0x09, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x53, 0x5b,
0x31, 0x20, 0x2b, 0x20, 0x28, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2b, 0x20,
0x70, 0x69, 0x65, 0x63, 0x65, 0x2e, 0x67, 0x72, 0x69, 0x64, 0x5f, 0x78, 0x20, 0x2d, 0x20, 0x70, 0x69, 0x65,
0x63, 0x65, 0x2e, 0x67, 0x72, 0x69, 0x64, 0x5f, 0x79, 0x29, 0x20, 0x25, 0x20, 0x23, 0x43, 0x4f, 0x4c, 0x4f,
0x52, 0x53, 0x5d, 0x0a,
0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x2c, 0x0a,
0x09, 0x09, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x70, 0x69, 0x65, 0x63, 0x65, 0x2c,
0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a,
0x09, 0x09, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x53, 0x5b,
0x31, 0x20, 0x2b, 0x20, 0x28, 0x70, 0x69, 0x65, 0x63, 0x65, 0x2e, 0x67, 0x72, 0x69, 0x64, 0x5f, 0x78, 0x20,
0x2b, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x20, 0x25, 0x20, 0x23, 0x43,
0x4f, 0x4c, 0x4f, 0x52, 0x53, 0x5d, 0x0a,
0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x2c, 0x0a,
0x09, 0x09, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x70, 0x69, 0x65, 0x63, 0x65, 0x2c,
0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a,
0x09, 0x09, 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6c, 0x65, 0x6e, 0x20, 0x3d, 0x20, 0x67, 0x65,
0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2b, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, 0x71,
0x72, 0x74, 0x28, 0x70, 0x69, 0x65, 0x63, 0x65, 0x2e, 0x67, 0x72, 0x69, 0x64, 0x5f, 0x78, 0x20, 0x5e, 0x20,
0x32, 0x20, 0x2b, 0x20, 0x70, 0x69, 0x65, 0x63, 0x65, 0x2e, 0x67, 0x72, 0x69, 0x64, 0x5f, 0x79, 0x20, 0x5e,
0x20, 0x32, 0x29, 0x0a,
0x09, 0x09, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x53, 0x5b,
0x31, 0x20, 0x2b, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x28, 0x6c, 0x65, 0x6e,
0x29, 0x20, 0x25, 0x20, 0x23, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x53, 0x5d, 0x0a,
0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x2c, 0x0a,
0x09, 0x09, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x70, 0x69, 0x65, 0x63, 0x65, 0x2c,
0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a,
0x09, 0x09, 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x78, 0x20, 0x3d, 0x20, 0x70, 0x69, 0x65,
0x63, 0x65, 0x2e, 0x67, 0x72, 0x69, 0x64, 0x5f, 0x78, 0x20, 0x2d, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64,
0x65, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x78, 0x0a,
0x09, 0x09, 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x79, 0x20, 0x3d, 0x20, 0x70, 0x69, 0x65,
0x63, 0x65, 0x2e, 0x67, 0x72, 0x69, 0x64, 0x5f, 0x79, 0x20, 0x2d, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64,
0x65, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x79, 0x0a,
0x09, 0x09, 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6c, 0x65, 0x6e, 0x20, 0x3d, 0x20, 0x67, 0x65,
0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, 0x71,
0x72, 0x74, 0x28, 0x64, 0x78, 0x20, 0x5e, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x64, 0x79, 0x20, 0x5e, 0x20, 0x32,
0x29, 0x0a,
0x09, 0x09, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x53, 0x5b,
0x31, 0x20, 0x2b, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x28, 0x6c, 0x65, 0x6e,
0x29, 0x20, 0x25, 0x20, 0x23, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x53, 0x5d, 0x0a,
0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x2c, 0x0a,
0x09, 0x09, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x70, 0x69, 0x65, 0x63, 0x65, 0x2c,
0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a,
0x09, 0x09, 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x78, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74,
0x68, 0x2e, 0x61, 0x62, 0x73, 0x28, 0x70, 0x69, 0x65, 0x63, 0x65, 0x2e, 0x67, 0x72, 0x69, 0x64, 0x5f, 0x78,
0x20, 0x2d, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f,
0x78, 0x29, 0x20, 0x2d, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a,
0x09, 0x09, 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x79, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74,
0x68, 0x2e, 0x61, 0x62, 0x73, 0x28, 0x70, 0x69, 0x65, 0x63, 0x65, 0x2e, 0x67, 0x72, 0x69, 0x64, 0x5f, 0x79,
0x20, 0x2d, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f,
0x79, 0x29, 0x20, 0x2d, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a,
0x09, 0x09, 0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x53, 0x5b,
0x31, 0x20, 0x2b, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x28, 0x6d, 0x61, 0x74,
0x68, 0x2e, 0x6d, 0x61, 0x78, 0x28, 0x64, 0x78, 0x2c, 0x20, 0x64, 0x79, 0x29, 0x29, 0x20, 0x25, 0x20, 0x23,
0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x53, 0x5d, 0x0a,
0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x2c, 0x0a,
0x09, 0x09, 0x7d, 0x0a,
0x09, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x3d,
0x20, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x5b, 0x31,
0x5d, 0x0a,
0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x20, 0x3d, 0x20,
0x7b, 0x7d, 0x0a,
0x09, 0x09, 0x66, 0x6f, 0x72, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f,
@@ -3280,6 +3351,8 @@ const unsigned char nogame_lua[] =
0x5b, 0x79, 0x5d, 0x5b, 0x78, 0x5d, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a,
0x09, 0x09, 0x09, 0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x65, 0x63, 0x65, 0x20, 0x3d,
0x20, 0x7b, 0x0a,
0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x67, 0x72, 0x69, 0x64, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x78, 0x2c, 0x0a,
0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x67, 0x72, 0x69, 0x64, 0x5f, 0x79, 0x20, 0x3d, 0x20, 0x79, 0x2c, 0x0a,
0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x78, 0x20, 0x3d, 0x20, 0x28, 0x78, 0x20, 0x2d, 0x20, 0x31, 0x29, 0x20,
0x2a, 0x20, 0x33, 0x32, 0x2c, 0x0a,
0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x79, 0x20, 0x3d, 0x20, 0x28, 0x79, 0x20, 0x2d, 0x20, 0x31, 0x29, 0x20,
@@ -3294,8 +3367,8 @@ const unsigned char nogame_lua[] =
0x09, 0x09, 0x09, 0x09, 0x09, 0x7d, 0x0a,
0x09, 0x09, 0x09, 0x09, 0x09, 0x70, 0x69, 0x65, 0x63, 0x65, 0x2e, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x70,
0x72, 0x65, 0x76, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
0x6f, 0x72, 0x28, 0x23, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x70, 0x69, 0x65, 0x63, 0x65, 0x73, 0x20, 0x2b, 0x20,
0x31, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x32, 0x29, 0x0a,
0x6f, 0x72, 0x28, 0x70, 0x69, 0x65, 0x63, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x67, 0x65, 0x6e,
0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a,
0x09, 0x09, 0x09, 0x09, 0x09, 0x70, 0x69, 0x65, 0x63, 0x65, 0x2e, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x6e,
0x65, 0x78, 0x74, 0x20, 0x3d, 0x20, 0x70, 0x69, 0x65, 0x63, 0x65, 0x2e, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e,
0x70, 0x72, 0x65, 0x76, 0x0a,
@@ -3390,6 +3463,26 @@ const unsigned char nogame_lua[] =
0x6e, 0x74, 0x65, 0x72, 0x5f, 0x78, 0x20, 0x2d, 0x20, 0x34, 0x2c, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64,
0x65, 0x5f, 0x74, 0x6f, 0x70, 0x20, 0x2d, 0x20, 0x33, 0x29, 0x0a,
0x09, 0x65, 0x6e, 0x64, 0x0a,
0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x4d, 0x6f, 0x73, 0x61, 0x69, 0x63, 0x3a, 0x61,
0x64, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x0a,
0x09, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20,
0x3d, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20,
0x2b, 0x20, 0x31, 0x0a,
0x09, 0x09, 0x69, 0x66, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x20, 0x25, 0x20, 0x35, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a,
0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x28,
0x30, 0x2c, 0x20, 0x31, 0x30, 0x30, 0x29, 0x20, 0x3c, 0x20, 0x33, 0x30, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a,
0x09, 0x09, 0x09, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72,
0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73,
0x5b, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x28, 0x32, 0x2c, 0x20, 0x23, 0x73,
0x65, 0x6c, 0x66, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x29, 0x5d, 0x0a,
0x09, 0x09, 0x09, 0x65, 0x6c, 0x73, 0x65, 0x0a,
0x09, 0x09, 0x09, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72,
0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73,
0x5b, 0x31, 0x5d, 0x0a,
0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a,
0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a,
0x09, 0x65, 0x6e, 0x64, 0x0a,
0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x4d, 0x6f, 0x73, 0x61, 0x69, 0x63, 0x3a, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x28, 0x64, 0x74, 0x29, 0x0a,
0x09, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x74, 0x20, 0x3d, 0x20, 0x6d,
@@ -3402,6 +3495,8 @@ const unsigned char nogame_lua[] =
0x74, 0x68, 0x65, 0x6e, 0x0a,
0x09, 0x09, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x74, 0x20, 0x3d, 0x20,
0x31, 0x0a,
0x09, 0x09, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x3a, 0x61, 0x64, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x28, 0x29, 0x0a,
0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a,
0x09, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x67, 0x65, 0x6e, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x66,
0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x0a,
@@ -3411,13 +3506,13 @@ const unsigned char nogame_lua[] =
0x09, 0x09, 0x09, 0x70, 0x69, 0x65, 0x63, 0x65, 0x2e, 0x72, 0x20, 0x3d, 0x20, 0x70, 0x69, 0x65, 0x63, 0x65,
0x2e, 0x72, 0x20, 0x2b, 0x20, 0x70, 0x69, 0x65, 0x63, 0x65, 0x2e, 0x72, 0x76, 0x20, 0x2a, 0x20, 0x64, 0x74, 0x0a,
0x09, 0x09, 0x09, 0x69, 0x66, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72,
0x20, 0x61, 0x6e, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x70, 0x69, 0x65, 0x63, 0x65, 0x2e, 0x63, 0x6f, 0x6c,
0x6f, 0x72, 0x2e, 0x69, 0x6d, 0x6d, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a,
0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a,
0x09, 0x09, 0x09, 0x09, 0x70, 0x69, 0x65, 0x63, 0x65, 0x2e, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x70, 0x72,
0x65, 0x76, 0x20, 0x3d, 0x20, 0x70, 0x69, 0x65, 0x63, 0x65, 0x2e, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x6e,
0x65, 0x78, 0x74, 0x0a,
0x09, 0x09, 0x09, 0x09, 0x70, 0x69, 0x65, 0x63, 0x65, 0x2e, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x6e, 0x65,
0x78, 0x74, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x6e, 0x28, 0x29, 0x0a,
0x78, 0x74, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x6e, 0x28, 0x70, 0x69, 0x65, 0x63, 0x65, 0x2c, 0x20, 0x73, 0x65,
0x6c, 0x66, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a,
0x09, 0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a,
0x09, 0x09, 0x65, 0x6e, 0x64, 0x0a,
0x09, 0x65, 0x6e, 0x64, 0x0a,