From e3a3016f9d250ca39b5f5f31cf5560547582674b Mon Sep 17 00:00:00 2001 From: Steven Hugg Date: Tue, 14 May 2019 23:32:19 -0400 Subject: [PATCH] trying to fix asset editor nametables --- doc/notes.txt | 3 +- presets/nes/chase/gameover_nam.h | 17 ++--- presets/nes/chase/level2_nam.h | 63 ++++++++--------- presets/nes/chase/level3_nam.h | 73 ++++++++++---------- presets/nes/chase/level4_nam.h | 85 +++++++++++------------ presets/nes/chase/level5_nam.h | 113 ++++++++++++++++--------------- presets/nes/chase/level_nam.h | 13 ++-- presets/nes/chase/title_nam.h | 53 ++++++++------- presets/nes/chase/welldone_nam.h | 19 +++--- src/pixed/pixeleditor.ts | 36 ++++++++++ src/views.ts | 42 +++++++----- 11 files changed, 285 insertions(+), 232 deletions(-) diff --git a/doc/notes.txt b/doc/notes.txt index 4ab7d2e4..1eca3516 100644 --- a/doc/notes.txt +++ b/doc/notes.txt @@ -94,12 +94,14 @@ TODO: - persist palette/tilemap selections - more tools for editing - map editor + - arbitrary nametable editing - metasprites - throw errors when bad/no refs - per-View keyboard shortcuts - parse labels - parse .incbin directives? - can't replace in hex directives + - should maybe use same single-canvas editor for map + char editor - crt0.s compiled each time? - debug highlight doesn't go away when debugging -> running - show breakpoint of PC or highest address on stack @@ -149,7 +151,6 @@ TODO: - can published files retain path? - what if import interrupted and partial files? - CORS for some blobs? - - confusing when examples load if file not found - don't import useless files - support projects with subdirectories, file list? - emulator needs reset shortcut for nes diff --git a/presets/nes/chase/gameover_nam.h b/presets/nes/chase/gameover_nam.h index 049c83dc..6c80553f 100644 --- a/presets/nes/chase/gameover_nam.h +++ b/presets/nes/chase/gameover_nam.h @@ -1,8 +1,9 @@ -const unsigned char gameover_nam[81]={ -0x01,0x00,0x01,0xfe,0x00,0x01,0x86,0x60,0x61,0x60,0x62,0x63,0x64,0x65,0x66,0x00, -0x60,0x62,0x67,0x68,0x65,0x66,0x65,0x62,0x00,0x97,0x00,0x01,0x0c,0x67,0x6a,0x67, -0x68,0x6b,0x6c,0x65,0x6d,0x00,0x67,0x68,0x67,0x68,0x65,0x6d,0x67,0x6e,0x00,0x98, -0x00,0x01,0x0c,0x6f,0x70,0x65,0x71,0x67,0x68,0x72,0x73,0x00,0x6f,0x74,0x75,0x76, -0x72,0x73,0x65,0x77,0x00,0x99,0x00,0x01,0xfe,0x00,0x01,0xfe,0x00,0x01,0x28,0x01, -0x00 -}; +/*{w:32,h:30,bpp:8,comp:"rletag",map:"nesnt"}*/ +const unsigned char gameover_nam[81]={ +0x01,0x00,0x01,0xfe,0x00,0x01,0x86,0x60,0x61,0x60,0x62,0x63,0x64,0x65,0x66,0x00, +0x60,0x62,0x67,0x68,0x65,0x66,0x65,0x62,0x00,0x97,0x00,0x01,0x0c,0x67,0x6a,0x67, +0x68,0x6b,0x6c,0x65,0x6d,0x00,0x67,0x68,0x67,0x68,0x65,0x6d,0x67,0x6e,0x00,0x98, +0x00,0x01,0x0c,0x6f,0x70,0x65,0x71,0x67,0x68,0x72,0x73,0x00,0x6f,0x74,0x75,0x76, +0x72,0x73,0x65,0x77,0x00,0x99,0x00,0x01,0xfe,0x00,0x01,0xfe,0x00,0x01,0x28,0x01, +0x00 +}; diff --git a/presets/nes/chase/level2_nam.h b/presets/nes/chase/level2_nam.h index 7dc6fa79..7b94fbfb 100644 --- a/presets/nes/chase/level2_nam.h +++ b/presets/nes/chase/level2_nam.h @@ -1,31 +1,32 @@ -const unsigned char level2_nam[459]={ -0x01,0x00,0x01,0xc5,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41, -0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x00,0x01,0x0b,0x42,0x43,0x42,0x43,0x42, -0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x00, -0x01,0x0b,0x40,0x41,0x10,0x44,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41,0x45,0x46, -0x45,0x46,0x11,0x44,0x40,0x41,0x00,0x01,0x0b,0x42,0x43,0x44,0x44,0x47,0x48,0x47, -0x48,0x47,0x48,0x42,0x43,0x47,0x48,0x47,0x48,0x44,0x44,0x42,0x43,0x00,0x01,0x0b, -0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41, -0x45,0x46,0x40,0x41,0x00,0x01,0x0b,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47, -0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x00,0x01,0x0b,0x40,0x41, -0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46, -0x40,0x41,0x00,0x01,0x0b,0x42,0x43,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47, -0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x42,0x43,0x00,0x01,0x0b,0x40,0x41,0x40,0x41, -0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41, -0x00,0x01,0x0b,0x42,0x43,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42, -0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x00,0x01,0x0b,0x40,0x41,0x45,0x46,0x45,0x46, -0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41,0x00,0x01, -0x0b,0x42,0x43,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47, -0x48,0x47,0x48,0x42,0x43,0x00,0x01,0x0b,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46, -0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x00,0x01,0x0b,0x42, -0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47, -0x48,0x42,0x43,0x00,0x01,0x0b,0x40,0x41,0x12,0x44,0x45,0x46,0x45,0x46,0x45,0x46, -0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41,0x00,0x01,0x0b,0x42,0x43,0x44, -0x44,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x42, -0x43,0x00,0x01,0x0b,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41, -0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x00,0x01,0x0b,0x42,0x43,0x42,0x43,0x42, -0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x00, -0x01,0xce,0x40,0x70,0x01,0x03,0x30,0x00,0x00,0x4c,0x6a,0xba,0xb9,0xba,0x31,0x00, -0x00,0x4c,0x7a,0x6a,0x01,0x02,0x31,0x00,0x00,0x4c,0x6a,0x01,0x02,0xba,0x31,0x00, -0x00,0x4c,0x7a,0x01,0x03,0x31,0x00,0x01,0x10,0x01,0x00 -}; +/*{w:32,h:30,bpp:8,comp:"rletag",map:"nesnt"}*/ +const unsigned char level2_nam[459]={ +0x01,0x00,0x01,0xc5,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41, +0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x00,0x01,0x0b,0x42,0x43,0x42,0x43,0x42, +0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x00, +0x01,0x0b,0x40,0x41,0x10,0x44,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41,0x45,0x46, +0x45,0x46,0x11,0x44,0x40,0x41,0x00,0x01,0x0b,0x42,0x43,0x44,0x44,0x47,0x48,0x47, +0x48,0x47,0x48,0x42,0x43,0x47,0x48,0x47,0x48,0x44,0x44,0x42,0x43,0x00,0x01,0x0b, +0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41, +0x45,0x46,0x40,0x41,0x00,0x01,0x0b,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47, +0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x00,0x01,0x0b,0x40,0x41, +0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46, +0x40,0x41,0x00,0x01,0x0b,0x42,0x43,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47, +0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x42,0x43,0x00,0x01,0x0b,0x40,0x41,0x40,0x41, +0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41, +0x00,0x01,0x0b,0x42,0x43,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42, +0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x00,0x01,0x0b,0x40,0x41,0x45,0x46,0x45,0x46, +0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41,0x00,0x01, +0x0b,0x42,0x43,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47, +0x48,0x47,0x48,0x42,0x43,0x00,0x01,0x0b,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46, +0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x00,0x01,0x0b,0x42, +0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47, +0x48,0x42,0x43,0x00,0x01,0x0b,0x40,0x41,0x12,0x44,0x45,0x46,0x45,0x46,0x45,0x46, +0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41,0x00,0x01,0x0b,0x42,0x43,0x44, +0x44,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x42, +0x43,0x00,0x01,0x0b,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41, +0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x00,0x01,0x0b,0x42,0x43,0x42,0x43,0x42, +0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x00, +0x01,0xce,0x40,0x70,0x01,0x03,0x30,0x00,0x00,0x4c,0x6a,0xba,0xb9,0xba,0x31,0x00, +0x00,0x4c,0x7a,0x6a,0x01,0x02,0x31,0x00,0x00,0x4c,0x6a,0x01,0x02,0xba,0x31,0x00, +0x00,0x4c,0x7a,0x01,0x03,0x31,0x00,0x01,0x10,0x01,0x00 +}; diff --git a/presets/nes/chase/level3_nam.h b/presets/nes/chase/level3_nam.h index be181ec0..ec78511f 100644 --- a/presets/nes/chase/level3_nam.h +++ b/presets/nes/chase/level3_nam.h @@ -1,36 +1,37 @@ -const unsigned char level3_nam[540]={ -0x01,0x00,0x01,0xc5,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41, -0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x00,0x01,0x0b,0x42,0x43,0x42,0x43,0x42, -0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x00, -0x01,0x0b,0x40,0x41,0x10,0x44,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41,0x45,0x46, -0x45,0x46,0x11,0x44,0x40,0x41,0x00,0x01,0x0b,0x42,0x43,0x44,0x44,0x47,0x48,0x47, -0x48,0x47,0x48,0x42,0x43,0x47,0x48,0x47,0x48,0x44,0x44,0x42,0x43,0x00,0x01,0x07, -0x40,0x41,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41, -0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x40,0x41,0x00,0x01,0x03,0x42, -0x43,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x47, -0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x42,0x43,0x00,0x01,0x03,0x40,0x41, -0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46, -0x40,0x41,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41,0x00,0x01,0x03,0x42,0x43,0x47, -0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x42, -0x43,0x47,0x48,0x47,0x48,0x47,0x48,0x42,0x43,0x00,0x01,0x03,0x40,0x41,0x45,0x46, -0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41, -0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x00,0x01,0x03,0x42,0x43,0x47,0x48,0x42, -0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x47, -0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x00,0x01,0x03,0x40,0x41,0x45,0x46,0x45,0x46, -0x45,0x46,0x40,0x41,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46, -0x45,0x46,0x45,0x46,0x40,0x41,0x00,0x01,0x03,0x42,0x43,0x47,0x48,0x47,0x48,0x47, -0x48,0x42,0x43,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47, -0x48,0x47,0x48,0x42,0x43,0x00,0x01,0x03,0x40,0x41,0x40,0x41,0x40,0x41,0x45,0x46, -0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41, -0x40,0x41,0x40,0x41,0x00,0x01,0x03,0x42,0x43,0x42,0x43,0x42,0x43,0x47,0x48,0x42, -0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x42, -0x43,0x42,0x43,0x00,0x01,0x07,0x40,0x41,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41, -0x45,0x46,0x45,0x46,0x45,0x46,0x12,0x44,0x40,0x41,0x00,0x01,0x0b,0x42,0x43,0x47, -0x48,0x47,0x48,0x47,0x48,0x42,0x43,0x47,0x48,0x47,0x48,0x47,0x48,0x44,0x44,0x42, -0x43,0x00,0x01,0x0b,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41, -0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x00,0x01,0x0b,0x42,0x43,0x42,0x43,0x42, -0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x00, -0x01,0xce,0x40,0x70,0x01,0x03,0x30,0x00,0x40,0x7c,0x6a,0xba,0xb9,0xba,0x71,0x30, -0x4c,0x6a,0x01,0x02,0xba,0xb9,0xba,0x31,0x4c,0x7a,0x6e,0x6a,0x6a,0xba,0x7a,0x31, -0x00,0x4c,0x7a,0x7e,0x7a,0x7a,0x31,0x00,0x01,0x10,0x01,0x00 -}; +/*{w:32,h:30,bpp:8,comp:"rletag",map:"nesnt"}*/ +const unsigned char level3_nam[540]={ +0x01,0x00,0x01,0xc5,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41, +0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x00,0x01,0x0b,0x42,0x43,0x42,0x43,0x42, +0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x00, +0x01,0x0b,0x40,0x41,0x10,0x44,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41,0x45,0x46, +0x45,0x46,0x11,0x44,0x40,0x41,0x00,0x01,0x0b,0x42,0x43,0x44,0x44,0x47,0x48,0x47, +0x48,0x47,0x48,0x42,0x43,0x47,0x48,0x47,0x48,0x44,0x44,0x42,0x43,0x00,0x01,0x07, +0x40,0x41,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41, +0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x40,0x41,0x00,0x01,0x03,0x42, +0x43,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x47, +0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x42,0x43,0x00,0x01,0x03,0x40,0x41, +0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46, +0x40,0x41,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41,0x00,0x01,0x03,0x42,0x43,0x47, +0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x42, +0x43,0x47,0x48,0x47,0x48,0x47,0x48,0x42,0x43,0x00,0x01,0x03,0x40,0x41,0x45,0x46, +0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41, +0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x00,0x01,0x03,0x42,0x43,0x47,0x48,0x42, +0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x47, +0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x00,0x01,0x03,0x40,0x41,0x45,0x46,0x45,0x46, +0x45,0x46,0x40,0x41,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46, +0x45,0x46,0x45,0x46,0x40,0x41,0x00,0x01,0x03,0x42,0x43,0x47,0x48,0x47,0x48,0x47, +0x48,0x42,0x43,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47, +0x48,0x47,0x48,0x42,0x43,0x00,0x01,0x03,0x40,0x41,0x40,0x41,0x40,0x41,0x45,0x46, +0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41, +0x40,0x41,0x40,0x41,0x00,0x01,0x03,0x42,0x43,0x42,0x43,0x42,0x43,0x47,0x48,0x42, +0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x42, +0x43,0x42,0x43,0x00,0x01,0x07,0x40,0x41,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41, +0x45,0x46,0x45,0x46,0x45,0x46,0x12,0x44,0x40,0x41,0x00,0x01,0x0b,0x42,0x43,0x47, +0x48,0x47,0x48,0x47,0x48,0x42,0x43,0x47,0x48,0x47,0x48,0x47,0x48,0x44,0x44,0x42, +0x43,0x00,0x01,0x0b,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41, +0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x00,0x01,0x0b,0x42,0x43,0x42,0x43,0x42, +0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x00, +0x01,0xce,0x40,0x70,0x01,0x03,0x30,0x00,0x40,0x7c,0x6a,0xba,0xb9,0xba,0x71,0x30, +0x4c,0x6a,0x01,0x02,0xba,0xb9,0xba,0x31,0x4c,0x7a,0x6e,0x6a,0x6a,0xba,0x7a,0x31, +0x00,0x4c,0x7a,0x7e,0x7a,0x7a,0x31,0x00,0x01,0x10,0x01,0x00 +}; diff --git a/presets/nes/chase/level4_nam.h b/presets/nes/chase/level4_nam.h index 359161b2..085e7811 100644 --- a/presets/nes/chase/level4_nam.h +++ b/presets/nes/chase/level4_nam.h @@ -1,42 +1,43 @@ -const unsigned char level4_nam[640]={ -0x02,0x00,0x02,0x85,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41, -0x00,0x02,0x13,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x00, -0x02,0x13,0x40,0x41,0x10,0x44,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41,0x40,0x41, -0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x00,0x02,0x07,0x42,0x43,0x44, -0x44,0x47,0x48,0x47,0x48,0x47,0x48,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42, -0x43,0x42,0x43,0x42,0x43,0x00,0x02,0x07,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41, -0x45,0x46,0x40,0x41,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x11,0x44,0x40,0x41, -0x00,0x02,0x07,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x47, -0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x44,0x44,0x42,0x43,0x00,0x02,0x03,0x40,0x41, -0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46, -0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x00,0x02,0x03,0x42,0x43,0x42, -0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42, -0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x00,0x02,0x03,0x40,0x41,0x45,0x46, -0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46, -0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x00,0x02,0x03,0x42,0x43,0x47,0x48,0x47, -0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47, -0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x00,0x02,0x03,0x40,0x41,0x45,0x46,0x40,0x41, -0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46, -0x40,0x41,0x45,0x46,0x40,0x41,0x00,0x02,0x03,0x42,0x43,0x47,0x48,0x42,0x43,0x47, -0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42, -0x43,0x47,0x48,0x42,0x43,0x00,0x02,0x03,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46, -0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46, -0x45,0x46,0x40,0x41,0x00,0x02,0x03,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x47, -0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47, -0x48,0x42,0x43,0x00,0x02,0x03,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41, -0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41, -0x40,0x41,0x00,0x02,0x03,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x47, -0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x42, -0x43,0x00,0x02,0x03,0x40,0x41,0x12,0x44,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46, -0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x00,0x02,0x07,0x42, -0x43,0x44,0x44,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x42,0x43,0x47,0x48,0x42, -0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x00,0x02,0x07,0x40,0x41,0x40,0x41,0x40,0x41, -0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x45,0x46,0x45,0x46,0x45,0x46,0x13,0x44, -0x40,0x41,0x00,0x02,0x07,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42, -0x43,0x42,0x43,0x47,0x48,0x47,0x48,0x47,0x48,0x44,0x44,0x42,0x43,0x00,0x02,0x13, -0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x00,0x02,0x13,0x42, -0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x00,0x02,0x8e,0x4c,0xad, -0xad,0x71,0x70,0x70,0x30,0x40,0x7c,0x6e,0xb9,0xb9,0xba,0xba,0x31,0x4c,0x6a,0x02, -0x02,0xba,0xba,0xb9,0x31,0x4c,0x6e,0x6a,0x02,0x02,0xba,0x7a,0x31,0x4c,0x7a,0x7a, -0x7e,0xae,0xa9,0x31,0x00,0x02,0x03,0x0c,0x0d,0x0d,0x01,0x00,0x02,0x08,0x02,0x00 -}; +/*{w:32,h:30,bpp:8,comp:"rletag",map:"nesnt"}*/ +const unsigned char level4_nam[640]={ +0x02,0x00,0x02,0x85,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41, +0x00,0x02,0x13,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x00, +0x02,0x13,0x40,0x41,0x10,0x44,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41,0x40,0x41, +0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x00,0x02,0x07,0x42,0x43,0x44, +0x44,0x47,0x48,0x47,0x48,0x47,0x48,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42, +0x43,0x42,0x43,0x42,0x43,0x00,0x02,0x07,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41, +0x45,0x46,0x40,0x41,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x11,0x44,0x40,0x41, +0x00,0x02,0x07,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x47, +0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x44,0x44,0x42,0x43,0x00,0x02,0x03,0x40,0x41, +0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46, +0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x00,0x02,0x03,0x42,0x43,0x42, +0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42, +0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x00,0x02,0x03,0x40,0x41,0x45,0x46, +0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46, +0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x00,0x02,0x03,0x42,0x43,0x47,0x48,0x47, +0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47, +0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x00,0x02,0x03,0x40,0x41,0x45,0x46,0x40,0x41, +0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46, +0x40,0x41,0x45,0x46,0x40,0x41,0x00,0x02,0x03,0x42,0x43,0x47,0x48,0x42,0x43,0x47, +0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42, +0x43,0x47,0x48,0x42,0x43,0x00,0x02,0x03,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46, +0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46, +0x45,0x46,0x40,0x41,0x00,0x02,0x03,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x47, +0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47, +0x48,0x42,0x43,0x00,0x02,0x03,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41, +0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41, +0x40,0x41,0x00,0x02,0x03,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x47, +0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x42, +0x43,0x00,0x02,0x03,0x40,0x41,0x12,0x44,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46, +0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x00,0x02,0x07,0x42, +0x43,0x44,0x44,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x42,0x43,0x47,0x48,0x42, +0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x00,0x02,0x07,0x40,0x41,0x40,0x41,0x40,0x41, +0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x45,0x46,0x45,0x46,0x45,0x46,0x13,0x44, +0x40,0x41,0x00,0x02,0x07,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42, +0x43,0x42,0x43,0x47,0x48,0x47,0x48,0x47,0x48,0x44,0x44,0x42,0x43,0x00,0x02,0x13, +0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x00,0x02,0x13,0x42, +0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x00,0x02,0x8e,0x4c,0xad, +0xad,0x71,0x70,0x70,0x30,0x40,0x7c,0x6e,0xb9,0xb9,0xba,0xba,0x31,0x4c,0x6a,0x02, +0x02,0xba,0xba,0xb9,0x31,0x4c,0x6e,0x6a,0x02,0x02,0xba,0x7a,0x31,0x4c,0x7a,0x7a, +0x7e,0xae,0xa9,0x31,0x00,0x02,0x03,0x0c,0x0d,0x0d,0x01,0x00,0x02,0x08,0x02,0x00 +}; diff --git a/presets/nes/chase/level5_nam.h b/presets/nes/chase/level5_nam.h index 6c7350cc..01ee406e 100644 --- a/presets/nes/chase/level5_nam.h +++ b/presets/nes/chase/level5_nam.h @@ -1,56 +1,57 @@ -const unsigned char level5_nam[851]={ -0x01,0x00,0x01,0x83,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41, -0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x00,0x01,0x07,0x42, -0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42, -0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x00,0x01,0x07,0x40,0x41,0x10,0x44,0x45,0x46, -0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x11,0x44, -0x40,0x41,0x00,0x01,0x07,0x42,0x43,0x44,0x44,0x47,0x48,0x47,0x48,0x47,0x48,0x47, -0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x44,0x44,0x42,0x43,0x00,0x01,0x03, -0x40,0x41,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41, -0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x40,0x41, -0x42,0x43,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43, -0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x42,0x43, -0x40,0x41,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46, -0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41, -0x42,0x43,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48, -0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x42,0x43, -0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x40,0x41, -0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41, -0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x42,0x43, -0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43, -0x40,0x41,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41,0x45,0x46, -0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41, -0x42,0x43,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x42,0x43,0x47,0x48, -0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x42,0x43, -0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46, -0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41, -0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48, -0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43, -0x40,0x41,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46, -0x40,0x41,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41, -0x42,0x43,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48, -0x42,0x43,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x42,0x43, -0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41, -0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41, -0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43, -0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43, -0x40,0x41,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46, -0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41, -0x42,0x43,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48, -0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x42,0x43, -0x40,0x41,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41, -0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x40,0x41, -0x42,0x43,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43, -0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x42,0x43, -0x00,0x01,0x03,0x40,0x41,0x12,0x44,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45, -0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x13,0x44,0x40,0x41,0x00,0x01,0x07,0x42,0x43, -0x44,0x44,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48, -0x47,0x48,0x44,0x44,0x42,0x43,0x00,0x01,0x07,0x40,0x41,0x40,0x41,0x40,0x41,0x40, -0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40, -0x41,0x00,0x01,0x07,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43, -0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x00,0x01,0x0b,0xbd, -0xbd,0xad,0x01,0x03,0x6d,0x6d,0xbd,0xa9,0xad,0xae,0xa9,0xad,0xae,0x6d,0xbd,0xae, -0xae,0xbd,0xae,0x01,0x02,0x6e,0xb9,0xad,0xa9,0xa9,0xb9,0xad,0xa9,0x6d,0xbd,0xae, -0x01,0x02,0xad,0xae,0xae,0x6e,0xbd,0xb9,0xad,0xae,0xa9,0xad,0x6e,0x6d,0x0d,0x01, -0x07,0x01,0x00 -}; +/*{w:32,h:30,bpp:8,comp:"rletag",map:"nesnt"}*/ +const unsigned char level5_nam[851]={ +0x01,0x00,0x01,0x83,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41, +0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x00,0x01,0x07,0x42, +0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42, +0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x00,0x01,0x07,0x40,0x41,0x10,0x44,0x45,0x46, +0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x11,0x44, +0x40,0x41,0x00,0x01,0x07,0x42,0x43,0x44,0x44,0x47,0x48,0x47,0x48,0x47,0x48,0x47, +0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x44,0x44,0x42,0x43,0x00,0x01,0x03, +0x40,0x41,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41, +0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x40,0x41, +0x42,0x43,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43, +0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x42,0x43, +0x40,0x41,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46, +0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41, +0x42,0x43,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48, +0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x42,0x43, +0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x40,0x41, +0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41, +0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x42,0x43, +0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43, +0x40,0x41,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41,0x45,0x46, +0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41, +0x42,0x43,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x42,0x43,0x47,0x48, +0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x42,0x43, +0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46, +0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41, +0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48, +0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43, +0x40,0x41,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46, +0x40,0x41,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41, +0x42,0x43,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48, +0x42,0x43,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x42,0x43, +0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41, +0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41,0x45,0x46,0x40,0x41, +0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43, +0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43,0x47,0x48,0x42,0x43, +0x40,0x41,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46, +0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x40,0x41, +0x42,0x43,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48, +0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x42,0x43, +0x40,0x41,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41, +0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x45,0x46,0x40,0x41,0x40,0x41,0x40,0x41, +0x42,0x43,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43, +0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x47,0x48,0x42,0x43,0x42,0x43,0x42,0x43, +0x00,0x01,0x03,0x40,0x41,0x12,0x44,0x45,0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x45, +0x46,0x45,0x46,0x45,0x46,0x45,0x46,0x13,0x44,0x40,0x41,0x00,0x01,0x07,0x42,0x43, +0x44,0x44,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48,0x47,0x48, +0x47,0x48,0x44,0x44,0x42,0x43,0x00,0x01,0x07,0x40,0x41,0x40,0x41,0x40,0x41,0x40, +0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40,0x41,0x40, +0x41,0x00,0x01,0x07,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43, +0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x42,0x43,0x00,0x01,0x0b,0xbd, +0xbd,0xad,0x01,0x03,0x6d,0x6d,0xbd,0xa9,0xad,0xae,0xa9,0xad,0xae,0x6d,0xbd,0xae, +0xae,0xbd,0xae,0x01,0x02,0x6e,0xb9,0xad,0xa9,0xa9,0xb9,0xad,0xa9,0x6d,0xbd,0xae, +0x01,0x02,0xad,0xae,0xae,0x6e,0xbd,0xb9,0xad,0xae,0xa9,0xad,0x6e,0x6d,0x0d,0x01, +0x07,0x01,0x00 +}; diff --git a/presets/nes/chase/level_nam.h b/presets/nes/chase/level_nam.h index 0621e288..8f3ec655 100644 --- a/presets/nes/chase/level_nam.h +++ b/presets/nes/chase/level_nam.h @@ -1,6 +1,7 @@ -const unsigned char level_nam[52]={ -0x01,0x00,0x01,0xfe,0x00,0x01,0x89,0x67,0x00,0x65,0x66,0x67,0x68,0x65,0x66,0x67, -0x00,0x01,0x16,0x67,0x00,0x65,0x6d,0x67,0x68,0x65,0x6d,0x67,0x00,0x01,0x16,0x72, -0x78,0x72,0x73,0x75,0x76,0x72,0x73,0x72,0x78,0x00,0x01,0xfe,0x00,0x01,0xfe,0x00, -0x01,0x2e,0x01,0x00 -}; +/*{w:32,h:30,bpp:8,comp:"rletag",map:"nesnt"}*/ +const unsigned char level_nam[52]={ +0x01,0x00,0x01,0xfe,0x00,0x01,0x89,0x67,0x00,0x65,0x66,0x67,0x68,0x65,0x66,0x67, +0x00,0x01,0x16,0x67,0x00,0x65,0x6d,0x67,0x68,0x65,0x6d,0x67,0x00,0x01,0x16,0x72, +0x78,0x72,0x73,0x75,0x76,0x72,0x73,0x72,0x78,0x00,0x01,0xfe,0x00,0x01,0xfe,0x00, +0x01,0x2e,0x01,0x00 +}; diff --git a/presets/nes/chase/title_nam.h b/presets/nes/chase/title_nam.h index 5f6ee4cd..d0b27894 100644 --- a/presets/nes/chase/title_nam.h +++ b/presets/nes/chase/title_nam.h @@ -1,26 +1,27 @@ -const unsigned char title_nam[380]={ -0x01,0x00,0x01,0x85,0x40,0x41,0x00,0x00,0x40,0x41,0x00,0x01,0x05,0x40,0x41,0x40, -0x41,0x40,0x41,0x00,0x01,0x07,0x40,0x41,0x40,0x41,0x40,0x41,0x42,0x43,0x00,0x00, -0x42,0x43,0x40,0x41,0x40,0x41,0x40,0x41,0x42,0x43,0x42,0x43,0x42,0x43,0x40,0x41, -0x40,0x41,0x40,0x41,0x00,0x00,0x42,0x43,0x42,0x43,0x42,0x43,0x40,0x41,0x00,0x00, -0x40,0x41,0x42,0x43,0x42,0x43,0x42,0x43,0x40,0x41,0x00,0x01,0x03,0x42,0x43,0x42, -0x43,0x42,0x43,0x00,0x00,0x40,0x41,0x00,0x01,0x03,0x42,0x43,0x00,0x00,0x42,0x43, -0x40,0x41,0x00,0x00,0x40,0x41,0x42,0x43,0x00,0x01,0x03,0x40,0x41,0x00,0x01,0x05, -0x42,0x43,0x00,0x01,0x03,0x40,0x41,0x40,0x41,0x40,0x41,0x42,0x43,0x00,0x00,0x42, -0x43,0x40,0x41,0x40,0x41,0x40,0x41,0x42,0x43,0x00,0x01,0x05,0x40,0x41,0x00,0x01, -0x03,0x42,0x43,0x42,0x43,0x42,0x43,0x40,0x41,0x00,0x00,0x40,0x41,0x42,0x43,0x42, -0x43,0x42,0x43,0x40,0x41,0x40,0x41,0x00,0x01,0x03,0x42,0x43,0x00,0x01,0x03,0x40, -0x41,0x00,0x00,0x40,0x41,0x42,0x43,0x00,0x00,0x42,0x43,0x00,0x01,0x03,0x40,0x41, -0x42,0x43,0x42,0x43,0x00,0x01,0x03,0x40,0x41,0x00,0x01,0x03,0x42,0x43,0x00,0x00, -0x42,0x43,0x40,0x41,0x40,0x41,0x40,0x41,0x00,0x01,0x03,0x42,0x43,0x40,0x41,0x00, -0x01,0x05,0x42,0x43,0x00,0x01,0x03,0x40,0x41,0x00,0x00,0x40,0x41,0x42,0x43,0x42, -0x43,0x42,0x43,0x40,0x41,0x40,0x41,0x40,0x41,0x42,0x43,0x00,0x01,0x05,0x40,0x41, -0x40,0x41,0x40,0x41,0x42,0x43,0x00,0x00,0x42,0x43,0x40,0x41,0x00,0x00,0x40,0x41, -0x42,0x43,0x42,0x43,0x42,0x43,0x40,0x41,0x40,0x41,0x40,0x41,0x00,0x00,0x42,0x43, -0x42,0x43,0x42,0x43,0x00,0x01,0x05,0x42,0x43,0x00,0x00,0x42,0x43,0x00,0x01,0x05, -0x42,0x43,0x42,0x43,0x42,0x43,0x00,0x01,0xaa,0x30,0x32,0x25,0x33,0x33,0x00,0x00, -0x33,0x34,0x21,0x32,0x34,0x00,0x01,0x93,0x30,0x24,0x12,0x10,0x11,0x12,0x00,0x33, -0x28,0x29,0x32,0x35,0x00,0x01,0x8a,0x55,0x01,0x08,0x99,0xaa,0xff,0xbb,0xaa,0x55, -0x01,0x02,0x99,0xaa,0xff,0xbb,0xaa,0x55,0x01,0x02,0x99,0xaa,0xff,0xbb,0xaa,0x55, -0x55,0x00,0x01,0x0f,0xaa,0x01,0x07,0x0a,0x01,0x07,0x01,0x00 -}; +/*{w:32,h:30,bpp:8,comp:"rletag",map:"nesnt"}*/ +const unsigned char title_nam[380]={ +0x01,0x00,0x01,0x85,0x40,0x41,0x00,0x00,0x40,0x41,0x00,0x01,0x05,0x40,0x41,0x40, +0x41,0x40,0x41,0x00,0x01,0x07,0x40,0x41,0x40,0x41,0x40,0x41,0x42,0x43,0x00,0x00, +0x42,0x43,0x40,0x41,0x40,0x41,0x40,0x41,0x42,0x43,0x42,0x43,0x42,0x43,0x40,0x41, +0x40,0x41,0x40,0x41,0x00,0x00,0x42,0x43,0x42,0x43,0x42,0x43,0x40,0x41,0x00,0x00, +0x40,0x41,0x42,0x43,0x42,0x43,0x42,0x43,0x40,0x41,0x00,0x01,0x03,0x42,0x43,0x42, +0x43,0x42,0x43,0x00,0x00,0x40,0x41,0x00,0x01,0x03,0x42,0x43,0x00,0x00,0x42,0x43, +0x40,0x41,0x00,0x00,0x40,0x41,0x42,0x43,0x00,0x01,0x03,0x40,0x41,0x00,0x01,0x05, +0x42,0x43,0x00,0x01,0x03,0x40,0x41,0x40,0x41,0x40,0x41,0x42,0x43,0x00,0x00,0x42, +0x43,0x40,0x41,0x40,0x41,0x40,0x41,0x42,0x43,0x00,0x01,0x05,0x40,0x41,0x00,0x01, +0x03,0x42,0x43,0x42,0x43,0x42,0x43,0x40,0x41,0x00,0x00,0x40,0x41,0x42,0x43,0x42, +0x43,0x42,0x43,0x40,0x41,0x40,0x41,0x00,0x01,0x03,0x42,0x43,0x00,0x01,0x03,0x40, +0x41,0x00,0x00,0x40,0x41,0x42,0x43,0x00,0x00,0x42,0x43,0x00,0x01,0x03,0x40,0x41, +0x42,0x43,0x42,0x43,0x00,0x01,0x03,0x40,0x41,0x00,0x01,0x03,0x42,0x43,0x00,0x00, +0x42,0x43,0x40,0x41,0x40,0x41,0x40,0x41,0x00,0x01,0x03,0x42,0x43,0x40,0x41,0x00, +0x01,0x05,0x42,0x43,0x00,0x01,0x03,0x40,0x41,0x00,0x00,0x40,0x41,0x42,0x43,0x42, +0x43,0x42,0x43,0x40,0x41,0x40,0x41,0x40,0x41,0x42,0x43,0x00,0x01,0x05,0x40,0x41, +0x40,0x41,0x40,0x41,0x42,0x43,0x00,0x00,0x42,0x43,0x40,0x41,0x00,0x00,0x40,0x41, +0x42,0x43,0x42,0x43,0x42,0x43,0x40,0x41,0x40,0x41,0x40,0x41,0x00,0x00,0x42,0x43, +0x42,0x43,0x42,0x43,0x00,0x01,0x05,0x42,0x43,0x00,0x00,0x42,0x43,0x00,0x01,0x05, +0x42,0x43,0x42,0x43,0x42,0x43,0x00,0x01,0xaa,0x30,0x32,0x25,0x33,0x33,0x00,0x00, +0x33,0x34,0x21,0x32,0x34,0x00,0x01,0x93,0x30,0x24,0x12,0x10,0x11,0x12,0x00,0x33, +0x28,0x29,0x32,0x35,0x00,0x01,0x8a,0x55,0x01,0x08,0x99,0xaa,0xff,0xbb,0xaa,0x55, +0x01,0x02,0x99,0xaa,0xff,0xbb,0xaa,0x55,0x01,0x02,0x99,0xaa,0xff,0xbb,0xaa,0x55, +0x55,0x00,0x01,0x0f,0xaa,0x01,0x07,0x0a,0x01,0x07,0x01,0x00 +}; diff --git a/presets/nes/chase/welldone_nam.h b/presets/nes/chase/welldone_nam.h index f8a9a2f9..300276c3 100644 --- a/presets/nes/chase/welldone_nam.h +++ b/presets/nes/chase/welldone_nam.h @@ -1,9 +1,10 @@ -const unsigned char welldone_nam[106]={ -0x02,0x00,0x02,0xfe,0x00,0x02,0x86,0x67,0x68,0x65,0x66,0x67,0x00,0x67,0x00,0x00, -0x65,0x62,0x60,0x62,0x63,0x79,0x65,0x66,0x00,0x97,0x00,0x02,0x0c,0x82,0x83,0x65, -0x6d,0x67,0x00,0x67,0x00,0x00,0x67,0x68,0x67,0x68,0x84,0x85,0x65,0x6d,0x00,0x98, -0x00,0x02,0x0c,0x8e,0x8f,0x72,0x73,0x72,0x78,0x72,0x78,0x00,0x72,0x74,0x6f,0x74, -0x67,0x68,0x72,0x73,0x00,0x99,0x00,0x02,0x2c,0x21,0x2c,0x2c,0x00,0x27,0x25,0x2d, -0x33,0x00,0x23,0x2f,0x2c,0x2c,0x25,0x23,0x34,0x25,0x24,0x01,0x00,0x02,0xfe,0x00, -0x02,0xc7,0x55,0x02,0x17,0x00,0x02,0x07,0x02,0x00 -}; +/*{w:32,h:30,bpp:8,comp:"rletag",map:"nesnt"}*/ +const unsigned char welldone_nam[106]={ +0x02,0x00,0x02,0xfe,0x00,0x02,0x86,0x67,0x68,0x65,0x66,0x67,0x00,0x67,0x00,0x00, +0x65,0x62,0x60,0x62,0x63,0x79,0x65,0x66,0x00,0x97,0x00,0x02,0x0c,0x82,0x83,0x65, +0x6d,0x67,0x00,0x67,0x00,0x00,0x67,0x68,0x67,0x68,0x84,0x85,0x65,0x6d,0x00,0x98, +0x00,0x02,0x0c,0x8e,0x8f,0x72,0x73,0x72,0x78,0x72,0x78,0x00,0x72,0x74,0x6f,0x74, +0x67,0x68,0x72,0x73,0x00,0x99,0x00,0x02,0x2c,0x21,0x2c,0x2c,0x00,0x27,0x25,0x2d, +0x33,0x00,0x23,0x2f,0x2c,0x2c,0x25,0x23,0x34,0x25,0x24,0x01,0x00,0x02,0xfe,0x00, +0x02,0xc7,0x55,0x02,0x17,0x00,0x02,0x07,0x02,0x00 +}; diff --git a/src/pixed/pixeleditor.ts b/src/pixed/pixeleditor.ts index e7f63f00..6c942f31 100644 --- a/src/pixed/pixeleditor.ts +++ b/src/pixed/pixeleditor.ts @@ -704,7 +704,9 @@ export class NESNametableConverter extends Compositor { for (var row=0; row> 4) & 0x38) | ((a >> 2) & 0x07); var attr = this.words[attraddr]; var tag = name ^ (attr<<9) ^ 0x80000000; @@ -840,6 +842,40 @@ export class CharmapEditor extends PixNode { } } +export class MapEditor extends PixNode { + + context; + parentdiv; + fmt; + + constructor(context:EditorContext, parentdiv:JQuery, fmt:PixelEditorImageFormat) { + super(); + this.context = context; + this.parentdiv = parentdiv; + this.fmt = fmt; + } + + updateLeft() { + return true; + } + + updateRight() { + if (equalNestedArrays(this.rgbimgs, this.left.rgbimgs)) return false; + this.rgbimgs = this.left.rgbimgs; + var adual = newDiv(this.parentdiv.empty(), "asset_dual"); // contains grid and editor + var agrid = newDiv(adual); + var aeditor = newDiv(adual, "asset_editor").hide(); // contains editor, when selected + // add image chooser grid + var viewer = new Viewer(); + viewer.width = this.fmt.w; + viewer.height = this.fmt.h; + viewer.recreate(); + viewer.updateImage(this.rgbimgs[0]); + agrid.append(viewer.canvas); + return true; + } +} + export class Viewer { width : number; diff --git a/src/views.ts b/src/views.ts index 4ac54fd2..fe0b0dfe 100644 --- a/src/views.ts +++ b/src/views.ts @@ -924,10 +924,13 @@ export class AssetEditorView implements ProjectView, pixed.EditorContext { this.deferrednodes = []; } - registerAsset(type:string, node:pixed.PixNode, deferred:boolean) { + registerAsset(type:string, node:pixed.PixNode, deferred:number) { this.rootnodes.push(node); if (deferred) { - this.deferrednodes.push(node); + if (deferred > 1) + this.deferrednodes.push(node); + else + this.deferrednodes.unshift(node); } else { node.refreshRight(); } @@ -973,8 +976,7 @@ export class AssetEditorView implements ProjectView, pixed.EditorContext { this.rootnodes.forEach((node) => { while (node != null) { if (node instanceof pixed.Palettizer) { - // TODO: move to node class? - var rgbimgs = node.rgbimgs; // TODO: why is null? + var rgbimgs = node.rgbimgs; if (rgbimgs && rgbimgs.length >= matchlen) { result.push({node:node, name:"Tilemap", images:node.images, rgbimgs:rgbimgs}); // TODO } @@ -1178,14 +1180,14 @@ export class AssetEditorView implements ProjectView, pixed.EditorContext { let node = new pixed.FileDataNode(projectWindows, fileid); const neschrfmt = {w:8,h:8,bpp:1,count:(data.length>>4),brev:true,np:2,pofs:8,remap:[0,1,2,4,5,6,7,8,9,10,11,12]}; // TODO this.addPixelEditor(this.ensureFileDiv(fileid), node, neschrfmt); - this.registerAsset("charmap", node, true); + this.registerAsset("charmap", node, 1); nassets++; } else if (platform_id.startsWith('nes') && fileid.endsWith('.pal') && data instanceof Uint8Array) { // is this a NES PAL? let node = new pixed.FileDataNode(projectWindows, fileid); const nespalfmt = {pal:"nes",layout:"nes"}; this.addPaletteEditor(this.ensureFileDiv(fileid), node, nespalfmt); - this.registerAsset("palette", node, false); + this.registerAsset("palette", node, 0); nassets++; } else if (typeof data === 'string') { let textfrags = this.scanFileTextForAssets(fileid, data); @@ -1194,30 +1196,29 @@ export class AssetEditorView implements ProjectView, pixed.EditorContext { let label = fileid; // TODO: label let node : pixed.PixNode = new pixed.TextDataNode(projectWindows, fileid, label, frag.start, frag.end); let first = node; - // rle-compressed? TODO + // rle-compressed? TODO: how to edit? if (frag.fmt.comp == 'rletag') { - //node = node.addRight(new pixed.Compressor()); - continue; // TODO + node = node.addRight(new pixed.Compressor()); } // is this a nes nametable? if (frag.fmt.map == 'nesnt') { - node = node.addRight(new pixed.NESNametableConverter(this)); // TODO? - node = node.addRight(new pixed.Palettizer(this, {w:8,h:8,bpp:4})); // TODO? - const fmt = {w:8*32,h:8*30,count:1}; // TODO - node = node.addRight(new pixed.CharmapEditor(this, newDiv(this.ensureFileDiv(fileid)), fmt)); - this.registerAsset("nametable", first, true); + node = node.addRight(new pixed.NESNametableConverter(this)); + node = node.addRight(new pixed.Palettizer(this, {w:8,h:8,bpp:4})); + const fmt = {w:8*(frag.fmt.w||32),h:8*(frag.fmt.h||30),count:1}; // TODO: can't do custom sizes + node = node.addRight(new pixed.MapEditor(this, newDiv(this.ensureFileDiv(fileid)), fmt)); + this.registerAsset("nametable", first, 2); nassets++; } // is this a bitmap? else if (frag.fmt.w > 0 && frag.fmt.h > 0) { this.addPixelEditor(this.ensureFileDiv(fileid), node, frag.fmt); - this.registerAsset("charmap", first, true); + this.registerAsset("charmap", first, 1); nassets++; } // is this a palette? else if (frag.fmt.pal) { this.addPaletteEditor(this.ensureFileDiv(fileid), node, frag.fmt); - this.registerAsset("palette", first, false); + this.registerAsset("palette", first, 0); nassets++; } else { @@ -1249,7 +1250,14 @@ export class AssetEditorView implements ProjectView, pixed.EditorContext { } }); console.log("Found " + this.rootnodes.length + " assets"); - this.deferrednodes.forEach((node) => { node.refreshRight(); }); + this.deferrednodes.forEach((node) => { + try { + node.refreshRight(); + } catch (e) { + console.log(e); + alert(e+""); + } + }); this.deferrednodes = []; } else { // only refresh nodes if not actively editing