From ba59c547f622af14e937bc504cca9cb962cf4026 Mon Sep 17 00:00:00 2001 From: "Scott Moore (Arch)" Date: Mon, 15 Nov 2021 00:45:29 +0000 Subject: [PATCH] Better tile collision detection (WIP) --- assets/maps/level-1.tmx | 34 ++++++++++++++++----------------- assets/tiles/level-1.aseprite | 4 ++-- assets/tiles/level-1.png | 2 +- makefile | 2 +- src/batman.asm | 36 +++++++++++++++++++++++++++-------- 5 files changed, 49 insertions(+), 29 deletions(-) diff --git a/assets/maps/level-1.tmx b/assets/maps/level-1.tmx index d052335..3466315 100644 --- a/assets/maps/level-1.tmx +++ b/assets/maps/level-1.tmx @@ -53,43 +53,43 @@ 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20 - + 256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, -256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, -256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, +256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, +256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, 256,254,254,254,254,253,253,253,253,253,253,253,253,253,253,253,253,254,254,255,254,254,254,254,254,254,254,254,254,254,254,254,254,256,256,256,256,256,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,255,254,256,256,256,256,254,254,254,254,253,253,253,253,254,254,255,254,256,256,256,256,254,254,254,254,254,254,254,254,254,254,254,254,254,254,255,254,256,256,256,256,241,241,241,241,254,254,254,254,254,254,254,254,256,256,256,256,241,241,241,241,254,254,254,254,253,253,253,253,254,254,254,254,254,254,255,254,254,254,254,254,254,254,254,254,256,256,256,256,241,241,241,241,254,254,254,254,254,254,254,254,256,256,256,256,254,254,254,254,254,254,254,241,241,241,253,253,253,253,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, 256,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,256,256,256,256,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, -256,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,255,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,256,256,256,256,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,255,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, -256,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,255,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,256,256,256,256,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,255,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, +256,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,256,256,256,256,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, +256,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,256,256,256,256,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, 256,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,253,253,253,253,253,253,253,253,254,254,254,254,254,254,255,254,256,256,256,256,256,241,241,241,253,253,253,253,253,254,254,254,254,241,241,241,241,241,241,241,254,254,254,254,256,256,256,256,241,241,241,241,256,256,256,256,254,254,254,254,256,256,256,256,253,253,253,253,254,254,254,241,241,241,241,254,254,254,254,254,253,253,253,253,253,254,254,254,241,241,241,241,241,241,241,241,256,256,256,256,253,254,254,241,241,241,241,241,256,256,256,256,253,253,253,253,253,253,253,253,253,253,253,253,254,254,255,254,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,254,254,254,254,254,254,254,254,254,254,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, 256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, -256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,255,241,241,241,241,241,241,241,255,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, -256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,255,241,241,241,241,241,241,241,255,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, +256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, +256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, 256,254,254,254,254,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,253,253,253,253,253,253,253,253,253,253,253,253,254,254,255,254,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,254,254,254,254,256,256,256,256,241,241,241,241,256,256,256,256,256,256,256,256,254,254,254,254,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,254,254,254,256,256,256,256,256,254,254,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,253,253,253,253,253,253,253,241,241,241,241,241,241,241,254,254,254,254,255,254,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, 256,241,241,241,241,241,241,241,241,241,241,241,241,256,251,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,241,241,255,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, -256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,241,241,255,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, -256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,241,241,255,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, +256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,241,241,255,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, +256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,241,241,255,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, 256,241,241,241,241,254,254,254,254,254,254,254,254,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,254,254,254,254,256,256,256,256,256,254,254,254,254,254,254,254,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,254,254,254,254,241,241,241,241,256,256,256,256,241,241,241,241,254,254,254,253,253,253,253,253,256,256,256,256,256,254,254,254,241,241,241,241,241,241,241,241,256,256,256,256,256,253,253,253,253,253,253,253,253,253,253,253,241,241,241,241,241,241,255,254,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,254,254,254,254,254,256,256,256,256,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, 256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, -256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,241,241,241,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, -256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,241,241,241,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, +256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, +256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, 256,253,253,253,253,253,253,253,253,241,241,241,241,253,253,253,253,253,253,253,253,254,254,254,254,241,241,241,241,254,254,254,254,256,256,256,256,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,254,254,254,254,253,253,253,253,256,256,256,256,253,253,253,253,253,253,253,253,253,253,253,253,254,254,255,241,241,241,241,256,256,256,256,256,256,256,256,256,256,254,254,254,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,241,241,241,241,241,241,241,241,254,254,254,255,254,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, 256,256,256,256,256,256,256,256,256,241,241,241,241,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,241,241,255,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, 256,256,256,256,256,256,256,256,256,241,241,241,241,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,241,241,255,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, 256,256,256,256,256,256,256,256,256,241,241,241,241,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,241,241,255,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,241,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, 256,256,256,256,256,256,256,256,256,241,241,241,241,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,254,254,254,254,256,256,256,256,256,253,253,253,253,253,253,253,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,254,254,254,254,254,254,254,254,241,241,241,241,256,256,256,256,256,254,254,254,241,241,241,241,241,241,241,241,254,254,254,254,254,254,254,254,254,254,254,254,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,254,254,254,256,256,256,256,254,254,254,254,254,254,254,254,254,254,254,254,256,256,256,256,253,253,253,253,253,253,253,253,254,254,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, 256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, -256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, -256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, +256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, +256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, 256,254,254,254,254,254,254,254,254,254,254,254,254,241,241,241,241,256,256,256,256,254,254,254,254,254,254,254,254,254,254,254,254,256,256,256,256,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,253,253,253,253,253,253,253,253,254,254,254,254,256,256,256,256,253,253,253,253,254,254,255,254,254,254,254,254,256,256,256,256,256,256,256,256,256,256,256,256,254,254,254,254,256,256,256,256,254,254,254,254,254,254,254,254,254,254,254,254,253,253,253,253,254,254,254,254,254,254,254,254,254,254,254,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,253,253,253,253,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, 256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,241,241,241,241,256,256,256,256,256,256,256,256,241,241,255,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, -256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,241,241,241,241,256,256,256,256,256,256,256,256,241,241,255,241,241,241,255,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, -256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,241,241,241,241,256,256,256,256,256,256,256,256,241,241,255,241,241,241,255,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,254,254,254,254,241,241,241,241,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,254,254,254,254,254,254,253,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, +256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,241,241,241,241,256,256,256,256,256,256,256,256,241,241,255,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, +256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,256,241,241,241,241,256,256,256,256,256,256,256,256,241,241,255,241,241,241,241,241,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,254,254,254,254,241,241,241,241,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,254,254,254,254,254,254,253,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, 256,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,256,256,256,256,256,256,256,256,256,241,241,241,241,256,256,256,256,256,256,256,256,254,254,254,254,254,254,255,254,256,256,256,256,256,256,256,256,256,256,256,256,241,241,241,241,256,256,256,256,254,254,254,254,254,254,254,254,254,254,254,254,256,256,256,256,254,254,254,254,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,254,254,254,254,256,256,256,256,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,254,254,254,254,254,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, 256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, -256,241,241,241,241,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, -256,241,241,241,241,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,255,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, +256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, +256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,255,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, 256,254,254,254,254,254,254,254,254,254,254,255,254,254,254,254,254,253,253,253,253,253,254,254,254,254,254,255,254,254,254,254,254,256,256,256,256,241,241,241,241,254,254,254,254,254,254,254,254,254,254,254,254,256,256,256,256,241,241,241,241,254,254,254,254,254,254,254,254,256,256,256,256,253,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,241,241,241,241,256,256,256,256,254,254,254,254,254,254,254,254,254,254,254,254,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,254,254,255,254,253,253,253,253,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, 256,241,241,241,241,241,241,241,241,241,241,255,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,255,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, 256,241,241,241,241,241,241,241,241,241,241,255,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,255,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,255,241,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,256,256,256,256,256,256,256,256,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, diff --git a/assets/tiles/level-1.aseprite b/assets/tiles/level-1.aseprite index 529bc92..e93aa77 100644 --- a/assets/tiles/level-1.aseprite +++ b/assets/tiles/level-1.aseprite @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5a5c3106376a71f5cae60fcfda7dd618a0d2884918d917d33601b7506f35b6a3 -size 7599 +oid sha256:6242875b5648c3a8200ddeb3ce62d38dd1cac9f77e439afb71db1b5076d6a91d +size 7598 diff --git a/assets/tiles/level-1.png b/assets/tiles/level-1.png index 2be5a68..e905aca 100644 --- a/assets/tiles/level-1.png +++ b/assets/tiles/level-1.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9db01b247402b46305fc25bb3175b648a0e1f71c1298ef2dc97f0614a608b6e4 +oid sha256:195f79271d7f17fd76b193b0e35e7d9ccdebe81e18f3c1a8f05a65cd038fa714 size 7667 diff --git a/makefile b/makefile index 039bd61..3894d59 100644 --- a/makefile +++ b/makefile @@ -27,7 +27,7 @@ LEVELS = build/level_1_map.asm LUTS = build/sincos.asm VASM = vasmarm_std -DEBUG = -D DEBUG=0 -D SPRITE_DEBUG=1 +DEBUG = -D DEBUG=0 -D SPRITE_DEBUG=0 OPTS = -a2 -m2 -Fbin PNG2ASM = ./scripts/png2asm.py diff --git a/src/batman.asm b/src/batman.asm index 1069457..7e3dc84 100644 --- a/src/batman.asm +++ b/src/batman.asm @@ -1038,6 +1038,9 @@ No_P_Key: SWI OS_Byte CMP R2,#255 BNE No_CursorUp_Key + LDR R0,batman_blocked + TST R0,#0b10000000 + BNE No_CursorUp_Key LDR R0,sprite_00_y SUB R0,R0,#1 STR R0,sprite_00_y @@ -1048,6 +1051,9 @@ No_CursorUp_Key: SWI OS_Byte CMP R2,#255 BNE No_CursorDown_Key + LDR R0,batman_blocked + TST R0,#0b00000100 + BEQ No_CursorDown_Key LDR R0,sprite_00_y ADD R0,R0,#1 STR R0,sprite_00_y @@ -1059,11 +1065,10 @@ No_CursorDown_Key: CMP R2,#255 BNE No_CursorLeft_Key LDR R0,batman_blocked - TST R0,#0b00000001 - BNE No_CursorLeft_Key + TST R0,#0b10000001 + BNE No_CursorRight_Key ADRL R1,sprite_00 LDR R0,[R1,#sprite_x] - DEBUG_REGISTERS SUB R0,R0,#1 STR R0,[R1,#sprite_x] LDR R0,[R1,#sprite_attributes] @@ -1074,6 +1079,7 @@ No_CursorDown_Key: CMP R0,#8 * 4 MOVEQ R0,#0 STR R0,[R1,#sprite_frame] + B No_CursorRight_Key No_CursorLeft_Key: MOV R0,#129 MOV R1,#-122 @@ -1082,7 +1088,7 @@ No_CursorLeft_Key: CMP R2,#255 BNE No_CursorRight_Key LDR R0,batman_blocked - TST R0,#0b00000010 + TST R0,#0b10000010 BNE No_CursorRight_Key ADRL R1,sprite_00 LDR R0,[R1,#sprite_x] @@ -1130,8 +1136,23 @@ No_CursorRight_Key: BL lookup_tilemap_tile CMP R1,#0xf0 ORREQ R5,R5,#0b10000000 + CMP R1,#0xfe + ORREQ R5,R5,#0b00000100 + ADD R4,R4,#1 + BL lookup_tilemap_tile + CMP R1,#0xf0 + ORREQ R5,R5,#0b10000000 + CMP R1,#0xfd + BNE batman_cant_drop + ORR R5,R5,#0b00000100 + SUB R4,R4,#2 + BL lookup_tilemap_tile + CMP R1,#0xfd + ORREQ R5,R5,#0b10000000 + +batman_cant_drop: SUB R3,R3,#12 - SUB R4,R4,#21 + SUB R4,R4,#22 BL lookup_tilemap_tile CMP R1,#0xff ORREQ R5,R5,#0b00000001 @@ -1139,15 +1160,14 @@ No_CursorRight_Key: BL lookup_tilemap_tile CMP R1,#0xff ORREQ R5,R5,#0b00000010 - STR R5,batman_blocked LDR R4,[R10,#sprite_y] TST R5,#0b10000000 ADDNE R4,R4,#1 + ANDNE R5,R5,#0b11111011 STR R4,[R10,#sprite_y] + STR R5,batman_blocked - DEBUG_REGISTERS - .ifne DEBUG MOV R1,#0b000011111111 BL vidc_set_border_colour