get basic camera logic working

Signed-off-by: Xe Iaso <me@christine.website>
This commit is contained in:
Cadey Ratio 2022-07-02 08:49:59 -04:00
parent 4d174c5ee1
commit ea5e635635
4 changed files with 292 additions and 241 deletions

View File

@ -16,20 +16,21 @@ const map = @import("./maps/overworld.zig");
var frame_count: u32 = 0;
var mara_direction: Direction = Direction.Right;
var mara_frame: bool = false;
var mara_box: Rect = Rect{.base = map.start_point, .width = 16, .height = 16};
var mara_box: Rect = Rect{ .base = map.start_point, .width = 16, .height = 16 };
var mara_speed: i16 = 0;
var old_speed: i16 = 0;
var screen = Rect{.base = Point{.x = 0, .y = 0}, .width = 160, .height = 160};
var screen = Rect{ .base = Point{ .x = 0, .y = 0 }, .width = 160, .height = 160 };
const screen_width = 20;
const screen_height = 20;
const tile_size: i16 = 8;
var sound_timer: u8 = 0;
var textBuf: [160]u8 = undefined;
var done: bool = false;
var camera = Point{.x = 0, .y = 0};
var camera = Point{ .x = 0, .y = 0 };
var state: sh0rk.State = .Gameplay;
@ -51,7 +52,7 @@ fn bonk() void {
}
w4.tone(
w4.Tone.Frequency{.start = 220, .end = 40},
w4.Tone.Frequency{ .start = 220, .end = 40 },
w4.Tone.Duration{
.attack = 0,
.decay = 0,
@ -79,52 +80,103 @@ fn drawMap() !void {
._3 = .p0,
};
var col: u32 = 0;
while (col < screen_width) {
var row: u32 = 0;
defer col += 1;
if (!done) {
var buf = fmt.bufPrint(&textBuf, "camera: {},{}", .{ camera.x, camera.y }) catch unreachable;
w4.trace(buf);
}
while (row < screen_height) {
var startCol: i32 = @divTrunc(camera.x, screen_width);
var endCol = startCol + screen_width;
var startRow: i32 = @divTrunc(camera.y, screen_height);
var endRow = startRow + screen_height;
var offsetX = -camera.x + startCol * tile_size;
var offsetY = -camera.y + startRow * tile_size;
if (!done) {
var buf = fmt.bufPrint(&textBuf, "{},{}: {},{}", .{ startCol, startRow, endCol, endRow }) catch unreachable;
w4.trace(buf);
}
var col: i32 = startCol;
while (col < endCol) {
var row: i32 = startRow;
defer col += 1;
while (row < endRow) {
defer row += 1;
var tile = map.data[col * map.width + row];
var tile = map.data[@intCast(usize, col) * map.width + @intCast(usize, row)];
// if (!done) {
// var buf = fmt.bufPrint(&textBuf, "{},{}: {}: {},{}", .{col, row, tile, tileX, tileY}) catch unreachable;
// w4.trace(buf);
// }
var x = (row - startCol) * tile_size + offsetX;
var y = (col - startRow) * tile_size + offsetY;
draw_tile(tile, row * 8, col * 8);
if (!done) {
var buf = fmt.bufPrint(&textBuf, "{},{}: {}: {},{}", .{ col, row, tile, x, y }) catch unreachable;
w4.trace(buf);
}
var tileX = (tile - 1) % map.ts_width;
var tileY = (tile - 1) / map.ts_width;
switch (map.tileset) {
.Rpg => w4.blitSub(
&sprites.kenney_rpg,
@intCast(u32, x),
@intCast(u32, y),
8,
8,
@intCast(u32, tileX) * 8,
@intCast(u32, tileY) * 8,
sprites.kenney_rpg_width,
w4.BlitFlags{ .two_bits = true },
),
.Dungeon => w4.blitSub(
&sprites.dungeon,
@intCast(u32, x),
@intCast(u32, y),
8,
8,
@intCast(u32, tileX) * 8,
@intCast(u32, tileY) * 8,
sprites.dungeon_width,
w4.BlitFlags{ .two_bits = true },
),
}
}
}
}
fn draw_tile(tile: u32, x: u32, y: u32) void {
var tileX = tile % map.ts_width;
var tileY = tile / map.ts_width;
if (tile == 0) {
w4.rect(x, y, 8, 8);
return;
}
var tileX = (tile - 1) % map.ts_width;
var tileY = (tile - 1) / map.ts_width;
switch (map.tileset) {
.Rpg => w4.blitSub(
&sprites.kenney_rpg,
&sprites.kenney_rpg,
x,
y,
8,
8,
8,
@intCast(u32, tileX) * 8,
@intCast(u32, tileY) * 8,
sprites.kenney_rpg_width,
w4.BlitFlags{.two_bits = true},
sprites.kenney_rpg_width,
w4.BlitFlags{ .two_bits = true },
),
.Dungeon => w4.blitSub(
&sprites.dungeon,
&sprites.dungeon,
x,
y,
8,
8,
8,
@intCast(u32, tileX) * 8,
@intCast(u32, tileY) * 8,
sprites.dungeon_width,
w4.BlitFlags{.two_bits = true},
sprites.dungeon_width,
w4.BlitFlags{ .two_bits = true },
),
}
}
@ -175,8 +227,8 @@ fn title() !void {
w4.m.colors._2 = .p2;
w4.m.colors._3 = .p3;
w4.blit(&sprites.tamamotitle, 48, 60, sprites.tamamotitle_width, sprites.tamamotitle_height, w4.BlitFlags{.two_bits = true});
w4.blit(&sprites.tamamotitle, 48, 60, sprites.tamamotitle_width, sprites.tamamotitle_height, w4.BlitFlags{ .two_bits = true });
const gamepad = w4.m.gamepads[0];
if (gamepad.a or gamepad.b) {
state = .StoryDump;
@ -187,12 +239,12 @@ const story = "After defeating\nthe evil mage,\nMalto was at\npeace.\n\nOne day
var story_idx: usize = 0;
var story_counter: u8 = 4;
fn storydump() !void {
fn storydump() !void {
w4.m.colors._0 = .p3;
w4.m.colors._1 = .p0;
w4.text(story[0..story_idx], 4, 4);
const gamepad = w4.m.gamepads[0];
if (gamepad.b) {
state = .Gameplay;
@ -209,9 +261,9 @@ fn storydump() !void {
if (story_counter == 0) {
story_idx += 1;
story_counter = 4;
w4.tone(
w4.Tone.Frequency{.start = 280, .end = 310},
w4.Tone.Frequency{ .start = 280, .end = 310 },
w4.Tone.Duration{
.attack = 0,
.decay = 0,
@ -233,12 +285,12 @@ fn storydump() !void {
state = .Gameplay;
palette.mist();
}
}
}
}
export fn update() void {
defer frame_count += 1;
switch (state) {
.Title => title() catch unreachable,
.StoryDump => storydump() catch unreachable,
@ -293,7 +345,7 @@ fn gameplay() !void {
mara_box.base.x = 0;
bonk();
}
if (mara_box.base.y <= 0) {
mara_box.base.y = 0;
bonk();
@ -310,12 +362,12 @@ fn draw_glaceon(p: Point) void {
._2 = .p3,
._3 = .transparent,
};
w4.blit(&sprites.glaceon, p.x, p.y, sprites.glaceon_width, sprites.glaceon_height, w4.BlitFlags{.two_bits = true});
w4.blit(&sprites.glaceon, p.x, p.y, sprites.glaceon_width, sprites.glaceon_height, w4.BlitFlags{ .two_bits = true });
}
fn draw_mara() void {
var flags: w4.BlitFlags = w4.BlitFlags {
var flags: w4.BlitFlags = w4.BlitFlags{
.two_bits = true,
};
@ -331,7 +383,7 @@ fn draw_mara() void {
}
if (frame_count % 32 == 0 and mara_speed > 0) {
mara_frame = !mara_frame;
mara_frame = !mara_frame;
}
var frame: u32 = switch (mara_direction) {
@ -343,4 +395,4 @@ fn draw_mara() void {
var step: u32 = if (mara_frame) 1 else 0;
w4.blitSub(&sprites.Mara, @intCast(u32, mara_box.base.x), @intCast(u32, mara_box.base.y), 16, 16, 16 * (frame + step), 0, 96, flags);
}
}

View File

@ -15,46 +15,46 @@ pub const ts_width = 14;
pub const ts_height = 13;
pub const data = [400]u9{
42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 42, 57, 58, 70, 58, 17, 58, 17,
14, 15, 16, 58, 75, 42, 42, 42, 42, 42,
42, 42, 42, 71, 78, 31, 72, 31, 72, 31,
28, 29, 30, 56, 89, 42, 42, 42, 42, 42,
42, 42, 42, 104, 105, 104, 105, 104, 105, 104,
105, 104, 105, 104, 105, 42, 42, 42, 42, 42,
42, 42, 42, 116, 117, 116, 117, 116, 117, 116,
117, 116, 117, 116, 117, 42, 42, 42, 42, 42,
42, 42, 42, 130, 131, 102, 103, 102, 103, 102,
103, 102, 103, 102, 103, 42, 42, 42, 42, 42,
42, 42, 42, 144, 145, 116, 117, 116, 117, 116,
117, 116, 117, 116, 117, 42, 42, 42, 42, 42,
42, 42, 42, 104, 105, 102, 103, 102, 103, 102,
103, 102, 103, 102, 103, 42, 42, 42, 42, 42,
42, 42, 42, 116, 117, 116, 117, 116, 117, 116,
117, 116, 117, 136, 137, 42, 42, 42, 42, 42,
42, 42, 42, 102, 103, 102, 103, 102, 103, 102,
103, 102, 103, 150, 151, 42, 42, 42, 42, 42,
42, 42, 42, 116, 117, 116, 117, 116, 117, 116,
117, 116, 117, 116, 117, 42, 42, 42, 42, 42,
42, 42, 42, 92, 93, 120, 93, 120, 93, 120,
93, 120, 93, 120, 93, 42, 42, 42, 42, 42,
42, 42, 42, 106, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 42, 42, 42, 42, 42,
42, 42, 42, 122, 121, 122, 121, 122, 121, 122,
121, 122, 121, 121, 122, 42, 42, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
42, 42, 42, 42, 42, 42, 42, 42, 42,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 58, 59, 71, 59, 18, 59, 18,
15, 16, 17, 59, 76, 43, 43, 43, 43, 43,
43, 43, 43, 72, 79, 32, 73, 32, 73, 32,
29, 30, 31, 57, 90, 43, 43, 43, 43, 43,
43, 43, 43, 105, 106, 105, 106, 105, 106, 105,
106, 105, 106, 105, 106, 43, 43, 43, 43, 43,
43, 43, 43, 117, 118, 117, 118, 117, 118, 117,
118, 117, 118, 117, 118, 43, 43, 43, 43, 43,
43, 43, 43, 131, 132, 103, 104, 103, 104, 103,
104, 103, 104, 103, 104, 43, 43, 43, 43, 43,
43, 43, 43, 145, 146, 117, 118, 117, 118, 117,
118, 117, 118, 117, 118, 43, 43, 43, 43, 43,
43, 43, 43, 105, 106, 103, 104, 103, 104, 103,
104, 103, 104, 103, 104, 43, 43, 43, 43, 43,
43, 43, 43, 117, 118, 117, 118, 117, 118, 117,
118, 117, 118, 137, 138, 43, 43, 43, 43, 43,
43, 43, 43, 103, 104, 103, 104, 103, 104, 103,
104, 103, 104, 151, 152, 43, 43, 43, 43, 43,
43, 43, 43, 117, 118, 117, 118, 117, 118, 117,
118, 117, 118, 117, 118, 43, 43, 43, 43, 43,
43, 43, 43, 93, 94, 121, 94, 121, 94, 121,
94, 121, 94, 121, 94, 43, 43, 43, 43, 43,
43, 43, 43, 107, 108, 108, 108, 108, 108, 108,
108, 108, 108, 108, 108, 43, 43, 43, 43, 43,
43, 43, 43, 123, 122, 123, 122, 123, 122, 123,
122, 123, 122, 122, 123, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43,
};
pub const coll = [_]Rect{

View File

@ -15,166 +15,166 @@ pub const ts_width = 34;
pub const ts_height = 16;
pub const data = [1600]u9{
0, 1, 38, 39, 0, 1, 136, 137, 0, 1, 70,
71, 72, 73, 74, 75, 0, 1, 136, 137, 0,
1, 136, 137, 0, 1, 136, 137, 0, 1, 136,
137, 0, 1, 136, 137, 0, 1, 136, 137, 34,
35, 72, 73, 34, 35, 170, 171, 34, 35, 104,
105, 106, 107, 108, 109, 34, 38, 39, 171, 34,
35, 170, 171, 34, 35, 170, 171, 34, 35, 170,
171, 34, 35, 170, 171, 34, 35, 170, 171, 68,
69, 204, 205, 68, 69, 204, 205, 68, 69, 138,
139, 206, 207, 142, 143, 68, 72, 73, 205, 68,
69, 204, 205, 68, 69, 204, 205, 68, 69, 204,
205, 68, 69, 204, 205, 68, 69, 204, 205, 102,
103, 238, 239, 102, 103, 238, 239, 102, 103, 172,
173, 240, 241, 176, 177, 102, 103, 238, 239, 102,
103, 238, 239, 102, 103, 238, 239, 102, 103, 238,
239, 102, 103, 238, 239, 102, 103, 238, 239, 136,
137, 136, 137, 306, 273, 136, 137, 340, 341, 344,
345, 410, 411, 136, 137, 0, 1, 32, 33, 0,
1, 136, 137, 0, 1, 136, 137, 0, 1, 136,
137, 0, 1, 136, 137, 0, 1, 136, 137, 170,
171, 170, 171, 306, 306, 170, 171, 374, 375, 378,
379, 444, 445, 170, 171, 34, 35, 66, 67, 34,
35, 170, 171, 34, 35, 170, 171, 34, 35, 170,
171, 34, 35, 170, 171, 34, 35, 170, 171, 204,
205, 204, 205, 68, 69, 204, 205, 412, 413, 38,
39, 68, 69, 204, 205, 68, 69, 204, 205, 68,
69, 204, 205, 68, 69, 204, 205, 68, 69, 204,
205, 68, 69, 204, 205, 68, 69, 204, 205, 238,
239, 238, 239, 102, 103, 38, 39, 446, 447, 72,
73, 306, 103, 238, 273, 102, 103, 238, 239, 102,
103, 238, 239, 102, 103, 238, 239, 102, 103, 238,
239, 102, 103, 238, 239, 102, 103, 238, 239, 0,
1, 136, 306, 0, 1, 72, 73, 412, 413, 136,
38, 39, 1, 136, 137, 0, 1, 136, 137, 0,
1, 136, 137, 0, 1, 136, 137, 0, 1, 136,
137, 0, 1, 136, 137, 0, 1, 136, 137, 34,
35, 170, 171, 34, 35, 170, 171, 446, 447, 170,
72, 73, 35, 170, 171, 330, 331, 170, 171, 34,
35, 170, 171, 34, 35, 170, 171, 34, 35, 170,
171, 34, 35, 170, 171, 34, 35, 170, 171, 68,
69, 204, 205, 68, 69, 273, 205, 412, 413, 234,
235, 232, 233, 204, 363, 364, 365, 366, 205, 68,
69, 204, 205, 68, 69, 204, 205, 68, 69, 204,
205, 68, 69, 204, 205, 68, 69, 204, 205, 102,
103, 238, 239, 38, 39, 238, 239, 446, 447, 268,
269, 266, 267, 396, 397, 398, 399, 400, 401, 102,
103, 238, 239, 102, 103, 238, 239, 102, 103, 238,
239, 102, 103, 238, 239, 102, 103, 238, 239, 0,
1, 236, 237, 72, 73, 136, 137, 412, 413, 232,
233, 234, 235, 430, 431, 432, 433, 434, 435, 0,
1, 136, 137, 0, 1, 136, 137, 0, 1, 136,
137, 0, 1, 136, 137, 0, 1, 136, 137, 34,
35, 270, 271, 34, 352, 353, 171, 446, 447, 266,
267, 268, 269, 464, 465, 466, 467, 468, 469, 34,
35, 170, 171, 34, 35, 170, 171, 34, 35, 170,
171, 34, 35, 170, 171, 34, 35, 170, 171, 68,
69, 350, 351, 68, 386, 387, 205, 346, 347, 348,
349, 342, 343, 498, 499, 438, 439, 502, 503, 68,
69, 204, 205, 68, 69, 204, 205, 68, 69, 204,
205, 68, 69, 204, 205, 68, 69, 204, 205, 102,
103, 384, 385, 102, 103, 238, 239, 380, 120, 120,
120, 120, 377, 402, 403, 472, 473, 404, 405, 102,
103, 238, 239, 102, 103, 238, 239, 102, 103, 238,
239, 102, 103, 238, 239, 102, 103, 238, 239, 0,
1, 408, 409, 344, 345, 344, 345, 416, 120, 120,
120, 120, 417, 344, 345, 416, 417, 344, 345, 344,
345, 344, 345, 344, 345, 344, 345, 344, 345, 344,
345, 344, 345, 344, 345, 344, 345, 344, 345, 34,
35, 442, 443, 378, 379, 378, 379, 450, 451, 450,
451, 450, 451, 378, 379, 450, 451, 378, 379, 378,
379, 378, 379, 378, 379, 378, 379, 378, 379, 378,
379, 378, 379, 378, 379, 378, 379, 378, 379, 68,
56, 57, 205, 68, 69, 204, 205, 68, 306, 204,
205, 68, 69, 204, 205, 38, 39, 204, 205, 68,
69, 204, 205, 68, 69, 204, 205, 68, 69, 204,
205, 68, 69, 204, 205, 68, 69, 204, 205, 89,
90, 91, 92, 102, 103, 56, 57, 102, 103, 238,
239, 102, 103, 238, 239, 72, 73, 238, 239, 102,
103, 238, 239, 102, 103, 238, 239, 102, 103, 238,
239, 102, 103, 238, 239, 102, 103, 238, 239, 90,
91, 90, 91, 90, 91, 90, 91, 92, 20, 136,
137, 0, 1, 136, 137, 0, 1, 136, 137, 0,
1, 136, 137, 0, 1, 136, 137, 0, 1, 136,
137, 0, 1, 136, 137, 0, 1, 136, 137, 124,
125, 124, 125, 124, 125, 124, 125, 126, 93, 170,
171, 34, 35, 170, 171, 34, 35, 170, 171, 34,
35, 170, 171, 34, 35, 170, 171, 34, 35, 170,
171, 34, 35, 170, 171, 34, 35, 170, 171, 158,
159, 158, 159, 158, 159, 158, 159, 69, 25, 204,
205, 68, 69, 204, 205, 68, 69, 204, 205, 68,
69, 204, 205, 68, 69, 204, 205, 68, 69, 204,
205, 68, 69, 204, 205, 68, 69, 204, 205, 102,
103, 238, 239, 102, 103, 238, 239, 102, 103, 238,
239, 102, 103, 238, 239, 102, 103, 238, 239, 102,
103, 238, 239, 102, 103, 238, 239, 102, 103, 238,
239, 102, 103, 238, 239, 102, 103, 238, 239, 0,
1, 136, 137, 0, 1, 136, 137, 0, 1, 136,
137, 0, 1, 136, 137, 0, 1, 136, 137, 0,
1, 136, 137, 0, 1, 136, 137, 0, 1, 136,
137, 0, 1, 136, 137, 0, 1, 136, 137, 34,
35, 170, 171, 34, 35, 170, 171, 34, 35, 170,
171, 34, 35, 170, 171, 34, 35, 170, 171, 34,
35, 170, 171, 34, 35, 170, 171, 34, 35, 170,
171, 34, 35, 170, 171, 34, 35, 170, 171, 68,
69, 204, 205, 68, 69, 204, 205, 68, 69, 204,
205, 68, 69, 204, 205, 68, 69, 204, 205, 68,
69, 204, 205, 68, 69, 204, 205, 68, 69, 204,
205, 68, 69, 204, 205, 68, 69, 204, 205, 102,
103, 238, 239, 102, 103, 238, 239, 102, 103, 238,
239, 102, 103, 238, 239, 102, 103, 238, 239, 102,
103, 238, 239, 102, 103, 238, 239, 102, 103, 238,
239, 102, 103, 238, 239, 102, 103, 238, 239, 0,
1, 136, 137, 0, 1, 136, 137, 0, 1, 136,
137, 0, 1, 136, 137, 0, 1, 136, 137, 0,
1, 136, 137, 0, 1, 136, 137, 0, 1, 136,
137, 0, 1, 136, 137, 0, 1, 136, 137, 34,
35, 170, 171, 34, 35, 170, 171, 34, 35, 170,
171, 34, 35, 170, 171, 34, 35, 170, 171, 34,
35, 170, 171, 34, 35, 170, 171, 34, 35, 170,
171, 34, 35, 170, 171, 34, 35, 170, 171, 68,
69, 204, 205, 68, 69, 204, 205, 68, 69, 204,
205, 68, 69, 204, 205, 68, 69, 204, 205, 68,
69, 204, 205, 68, 69, 204, 205, 68, 69, 204,
205, 68, 69, 204, 205, 68, 69, 204, 205, 102,
103, 238, 239, 102, 103, 238, 239, 102, 103, 238,
239, 102, 103, 238, 239, 102, 103, 238, 239, 102,
103, 238, 239, 102, 103, 238, 239, 102, 103, 238,
239, 102, 103, 238, 239, 102, 103, 238, 239, 0,
1, 136, 137, 0, 1, 136, 137, 0, 1, 136,
137, 0, 1, 136, 137, 0, 1, 136, 137, 0,
1, 136, 137, 0, 1, 136, 137, 0, 1, 136,
137, 0, 1, 136, 137, 0, 1, 136, 137, 34,
35, 170, 171, 34, 35, 170, 171, 34, 35, 170,
171, 34, 35, 170, 171, 34, 35, 170, 171, 34,
35, 170, 171, 34, 35, 170, 171, 34, 35, 170,
171, 34, 35, 170, 171, 34, 35, 170, 171, 68,
69, 204, 205, 68, 69, 204, 205, 68, 69, 204,
205, 68, 69, 204, 205, 68, 69, 204, 205, 68,
69, 204, 205, 68, 69, 204, 205, 68, 69, 204,
205, 68, 69, 204, 205, 68, 69, 204, 205, 102,
103, 238, 239, 102, 103, 238, 239, 102, 103, 238,
239, 102, 103, 238, 239, 102, 103, 238, 239, 102,
103, 238, 239, 102, 103, 238, 239, 102, 103, 238,
239, 102, 103, 238, 239, 102, 103, 238, 239, 0,
1, 136, 137, 0, 1, 136, 137, 0, 1, 136,
137, 0, 1, 136, 137, 0, 1, 136, 137, 0,
1, 136, 137, 0, 1, 136, 137, 0, 1, 136,
137, 0, 1, 136, 137, 0, 1, 136, 137, 34,
35, 170, 171, 34, 35, 170, 171, 34, 35, 170,
171, 34, 35, 170, 171, 34, 35, 170, 171, 34,
35, 170, 171, 34, 35, 170, 171, 34, 35, 170,
171, 34, 35, 170, 171, 34, 35, 170, 171, 68,
69, 204, 205, 68, 69, 204, 205, 68, 69, 204,
205, 68, 69, 204, 205, 68, 69, 204, 205, 68,
69, 204, 205, 68, 69, 204, 205, 68, 69, 204,
205, 68, 69, 204, 205, 68, 69, 204, 205, 102,
103, 238, 239, 102, 103, 238, 239, 102, 103, 238,
239, 102, 103, 238, 239, 102, 103, 238, 239, 102,
103, 238, 239, 102, 103, 238, 239, 102, 103, 238,
239, 102, 103, 238, 239, 102, 103, 238, 239,
1, 2, 39, 40, 1, 2, 137, 138, 1, 2, 71,
72, 73, 74, 75, 76, 1, 2, 137, 138, 1,
2, 137, 138, 1, 2, 137, 138, 1, 2, 137,
138, 1, 2, 137, 138, 1, 2, 137, 138, 35,
36, 73, 74, 35, 36, 171, 172, 35, 36, 105,
106, 107, 108, 109, 110, 35, 39, 40, 172, 35,
36, 171, 172, 35, 36, 171, 172, 35, 36, 171,
172, 35, 36, 171, 172, 35, 36, 171, 172, 69,
70, 205, 206, 69, 70, 205, 206, 69, 70, 139,
140, 207, 208, 143, 144, 69, 73, 74, 206, 69,
70, 205, 206, 69, 70, 205, 206, 69, 70, 205,
206, 69, 70, 205, 206, 69, 70, 205, 206, 103,
104, 239, 240, 103, 104, 239, 240, 103, 104, 173,
174, 241, 242, 177, 178, 103, 104, 239, 240, 103,
104, 239, 240, 103, 104, 239, 240, 103, 104, 239,
240, 103, 104, 239, 240, 103, 104, 239, 240, 137,
138, 137, 138, 307, 274, 137, 138, 341, 342, 345,
346, 411, 412, 137, 138, 1, 2, 33, 34, 1,
2, 137, 138, 1, 2, 137, 138, 1, 2, 137,
138, 1, 2, 137, 138, 1, 2, 137, 138, 171,
172, 171, 172, 307, 307, 171, 172, 375, 376, 379,
380, 445, 446, 171, 172, 35, 36, 67, 68, 35,
36, 171, 172, 35, 36, 171, 172, 35, 36, 171,
172, 35, 36, 171, 172, 35, 36, 171, 172, 205,
206, 205, 206, 69, 70, 205, 206, 413, 414, 39,
40, 69, 70, 205, 206, 69, 70, 205, 206, 69,
70, 205, 206, 69, 70, 205, 206, 69, 70, 205,
206, 69, 70, 205, 206, 69, 70, 205, 206, 239,
240, 239, 240, 103, 104, 39, 40, 447, 448, 73,
74, 307, 104, 239, 274, 103, 104, 239, 240, 103,
104, 239, 240, 103, 104, 239, 240, 103, 104, 239,
240, 103, 104, 239, 240, 103, 104, 239, 240, 1,
2, 137, 307, 1, 2, 73, 74, 413, 414, 137,
39, 40, 2, 137, 138, 1, 2, 137, 138, 1,
2, 137, 138, 1, 2, 137, 138, 1, 2, 137,
138, 1, 2, 137, 138, 1, 2, 137, 138, 35,
36, 171, 172, 35, 36, 171, 172, 447, 448, 171,
73, 74, 36, 171, 172, 331, 332, 171, 172, 35,
36, 171, 172, 35, 36, 171, 172, 35, 36, 171,
172, 35, 36, 171, 172, 35, 36, 171, 172, 69,
70, 205, 206, 69, 70, 274, 206, 413, 414, 235,
236, 233, 234, 205, 364, 365, 366, 367, 206, 69,
70, 205, 206, 69, 70, 205, 206, 69, 70, 205,
206, 69, 70, 205, 206, 69, 70, 205, 206, 103,
104, 239, 240, 39, 40, 239, 240, 447, 448, 269,
270, 267, 268, 397, 398, 399, 400, 401, 402, 103,
104, 239, 240, 103, 104, 239, 240, 103, 104, 239,
240, 103, 104, 239, 240, 103, 104, 239, 240, 1,
2, 237, 238, 73, 74, 137, 138, 413, 414, 233,
234, 235, 236, 431, 432, 433, 434, 435, 436, 1,
2, 137, 138, 1, 2, 137, 138, 1, 2, 137,
138, 1, 2, 137, 138, 1, 2, 137, 138, 35,
36, 271, 272, 35, 353, 354, 172, 447, 448, 267,
268, 269, 270, 465, 466, 467, 468, 469, 470, 35,
36, 171, 172, 35, 36, 171, 172, 35, 36, 171,
172, 35, 36, 171, 172, 35, 36, 171, 172, 69,
70, 351, 352, 69, 387, 388, 206, 347, 348, 349,
350, 343, 344, 499, 500, 439, 440, 503, 504, 69,
70, 205, 206, 69, 70, 205, 206, 69, 70, 205,
206, 69, 70, 205, 206, 69, 70, 205, 206, 103,
104, 385, 386, 103, 104, 239, 240, 381, 121, 121,
121, 121, 378, 403, 404, 473, 474, 405, 406, 103,
104, 239, 240, 103, 104, 239, 240, 103, 104, 239,
240, 103, 104, 239, 240, 103, 104, 239, 240, 1,
2, 409, 410, 345, 346, 345, 346, 417, 121, 121,
121, 121, 418, 345, 346, 417, 418, 345, 346, 345,
346, 345, 346, 345, 346, 345, 346, 345, 346, 345,
346, 345, 346, 345, 346, 345, 346, 345, 346, 35,
36, 443, 444, 379, 380, 379, 380, 451, 452, 451,
452, 451, 452, 379, 380, 451, 452, 379, 380, 379,
380, 379, 380, 379, 380, 379, 380, 379, 380, 379,
380, 379, 380, 379, 380, 379, 380, 379, 380, 69,
57, 58, 206, 69, 70, 205, 206, 69, 307, 205,
206, 69, 70, 205, 206, 39, 40, 205, 206, 69,
70, 205, 206, 69, 70, 205, 206, 69, 70, 205,
206, 69, 70, 205, 206, 69, 70, 205, 206, 90,
91, 92, 93, 103, 104, 57, 58, 103, 104, 239,
240, 103, 104, 239, 240, 73, 74, 239, 240, 103,
104, 239, 240, 103, 104, 239, 240, 103, 104, 239,
240, 103, 104, 239, 240, 103, 104, 239, 240, 91,
92, 91, 92, 91, 92, 91, 92, 93, 21, 137,
138, 1, 2, 137, 138, 1, 2, 137, 138, 1,
2, 137, 138, 1, 2, 137, 138, 1, 2, 137,
138, 1, 2, 137, 138, 1, 2, 137, 138, 125,
126, 125, 126, 125, 126, 125, 126, 127, 94, 171,
172, 35, 36, 171, 172, 35, 36, 171, 172, 35,
36, 171, 172, 35, 36, 171, 172, 35, 36, 171,
172, 35, 36, 171, 172, 35, 36, 171, 172, 159,
160, 159, 160, 159, 160, 159, 160, 70, 26, 205,
206, 69, 70, 205, 206, 69, 70, 205, 206, 69,
70, 205, 206, 69, 70, 205, 206, 69, 70, 205,
206, 69, 70, 205, 206, 69, 70, 205, 206, 103,
104, 239, 240, 103, 104, 239, 240, 103, 104, 239,
240, 103, 104, 239, 240, 103, 104, 239, 240, 103,
104, 239, 240, 103, 104, 239, 240, 103, 104, 239,
240, 103, 104, 239, 240, 103, 104, 239, 240, 1,
2, 137, 138, 1, 2, 137, 138, 1, 2, 137,
138, 1, 2, 137, 138, 1, 2, 137, 138, 1,
2, 137, 138, 1, 2, 137, 138, 1, 2, 137,
138, 1, 2, 137, 138, 1, 2, 137, 138, 35,
36, 171, 172, 35, 36, 171, 172, 35, 36, 171,
172, 35, 36, 171, 172, 35, 36, 171, 172, 35,
36, 171, 172, 35, 36, 171, 172, 35, 36, 171,
172, 35, 36, 171, 172, 35, 36, 171, 172, 69,
70, 205, 206, 69, 70, 205, 206, 69, 70, 205,
206, 69, 70, 205, 206, 69, 70, 205, 206, 69,
70, 205, 206, 69, 70, 205, 206, 69, 70, 205,
206, 69, 70, 205, 206, 69, 70, 205, 206, 103,
104, 239, 240, 103, 104, 239, 240, 103, 104, 239,
240, 103, 104, 239, 240, 103, 104, 239, 240, 103,
104, 239, 240, 103, 104, 239, 240, 103, 104, 239,
240, 103, 104, 239, 240, 103, 104, 239, 240, 1,
2, 137, 138, 1, 2, 137, 138, 1, 2, 137,
138, 1, 2, 137, 138, 1, 2, 137, 138, 1,
2, 137, 138, 1, 2, 137, 138, 1, 2, 137,
138, 1, 2, 137, 138, 1, 2, 137, 138, 35,
36, 171, 172, 35, 36, 171, 172, 35, 36, 171,
172, 35, 36, 171, 172, 35, 36, 171, 172, 35,
36, 171, 172, 35, 36, 171, 172, 35, 36, 171,
172, 35, 36, 171, 172, 35, 36, 171, 172, 69,
70, 205, 206, 69, 70, 205, 206, 69, 70, 205,
206, 69, 70, 205, 206, 69, 70, 205, 206, 69,
70, 205, 206, 69, 70, 205, 206, 69, 70, 205,
206, 69, 70, 205, 206, 69, 70, 205, 206, 103,
104, 239, 240, 103, 104, 239, 240, 103, 104, 239,
240, 103, 104, 239, 240, 103, 104, 239, 240, 103,
104, 239, 240, 103, 104, 239, 240, 103, 104, 239,
240, 103, 104, 239, 240, 103, 104, 239, 240, 1,
2, 137, 138, 1, 2, 137, 138, 1, 2, 137,
138, 1, 2, 137, 138, 1, 2, 137, 138, 1,
2, 137, 138, 1, 2, 137, 138, 1, 2, 137,
138, 1, 2, 137, 138, 1, 2, 137, 138, 35,
36, 171, 172, 35, 36, 171, 172, 35, 36, 171,
172, 35, 36, 171, 172, 35, 36, 171, 172, 35,
36, 171, 172, 35, 36, 171, 172, 35, 36, 171,
172, 35, 36, 171, 172, 35, 36, 171, 172, 69,
70, 205, 206, 69, 70, 205, 206, 69, 70, 205,
206, 69, 70, 205, 206, 69, 70, 205, 206, 69,
70, 205, 206, 69, 70, 205, 206, 69, 70, 205,
206, 69, 70, 205, 206, 69, 70, 205, 206, 103,
104, 239, 240, 103, 104, 239, 240, 103, 104, 239,
240, 103, 104, 239, 240, 103, 104, 239, 240, 103,
104, 239, 240, 103, 104, 239, 240, 103, 104, 239,
240, 103, 104, 239, 240, 103, 104, 239, 240, 1,
2, 137, 138, 1, 2, 137, 138, 1, 2, 137,
138, 1, 2, 137, 138, 1, 2, 137, 138, 1,
2, 137, 138, 1, 2, 137, 138, 1, 2, 137,
138, 1, 2, 137, 138, 1, 2, 137, 138, 35,
36, 171, 172, 35, 36, 171, 172, 35, 36, 171,
172, 35, 36, 171, 172, 35, 36, 171, 172, 35,
36, 171, 172, 35, 36, 171, 172, 35, 36, 171,
172, 35, 36, 171, 172, 35, 36, 171, 172, 69,
70, 205, 206, 69, 70, 205, 206, 69, 70, 205,
206, 69, 70, 205, 206, 69, 70, 205, 206, 69,
70, 205, 206, 69, 70, 205, 206, 69, 70, 205,
206, 69, 70, 205, 206, 69, 70, 205, 206, 103,
104, 239, 240, 103, 104, 239, 240, 103, 104, 239,
240, 103, 104, 239, 240, 103, 104, 239, 240, 103,
104, 239, 240, 103, 104, 239, 240, 103, 104, 239,
240, 103, 104, 239, 240, 103, 104, 239, 240,
};
pub const coll = [_]Rect{

View File

@ -65,7 +65,6 @@ const genMap = (tiles) => {
out += `pub const data = [${tiles.data.length}]u9{\n `;
tiles.data.forEach((tile, index) => {
tile -= 1;
out += `${tile},`;
if (index !== 0 && index % 10 === 0) {
out += "\n ";