First pass at importing tilesets into GTE

This commit is contained in:
Lucas Scharenbroich 2021-08-06 16:35:47 -05:00
parent b8d4ae780b
commit 8ed851cb33
7 changed files with 3372 additions and 568 deletions

BIN
assets/tilesets/smb-16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -21,7 +21,8 @@
"build:assets-woz": "node ./tools/png2iigs.js ./assets/woz.png ./emu/bg1a.bin --start-index 6 && node ./tools/pngtoiigs.js ./assets/woz-shifted.png ./emu/bg1b.bin --start-index 6 && node ./tools/pngtoiigs.js ./assets/donut-plains-1-6-color.png ./emu/fg1.bin",
"build:assets-woz-fatbits": "node ./tools/png2iigs.js ./assets/woz-pixelated.png ./emu/bg1a.bin --start-index 6 && node ./tools/pngtoiigs.js ./assets/woz-shifted.png ./emu/bg1b.bin --start-index 6 && node ./tools/pngtoiigs.js ./assets/donut-plains-1-6-color.png ./emu/fg1.bin",
"build:assets-color-cycle": "node ./tools/png2iigs.js ./assets/rotopattern.png ./emu/bg1a.bin --start-index 6 && node ./tools/pngtoiigs.js ./assets/woz-shifted.png ./emu/bg1b.bin --start-index 6 && node ./tools/pngtoiigs.js ./assets/donut-plains-1-6-color.png ./emu/fg1.bin",
"build:map": "node ./tools/tiled2iigs.js ./assets/tiled/world_1-1.json > ./src/Level.s"
"build:map": "node ./tools/tiled2iigs.js ./assets/tiled/world_1-1.json > ./src/Level.s",
"build:tiles": "node ./tools/png2iigs.js ./assets/tilesets/smb-16.png --as-tile-data > src/App.Tile.s"
},
"repository": {
"type": "git",

View File

@ -980,8 +980,13 @@ GrafInit
dw $0156,$0288,$03A8,$07B8,$0034,$0013,$0470,$0051
; Plant
DefaultPalette dw $0EEF,$0342,$0C95,$0852,$0DB4,$00C0
;DefaultPalette dw $0EEF,$0342,$0C95,$0852,$0DB4,$00C0
dw $0222,$0333,$0444,$0888,$09A0,$0680,$0470,$0051
; SMB
DefaultPalette dw $0E51,$0EDB,$0000,$068F,$0BF1,$00A0,$0EEE,$0777,$0FA4,$0F59,$0E05,$0F30
dw $0680,$0470,$0051
; Return the current border color ($0 - $F) in the accumulator
GetBorderColor lda #0000
sep #$20
@ -1226,3 +1231,5 @@ qtRec adrl $0000
PUT Level.s

File diff suppressed because it is too large Load Diff

View File

@ -14,483 +14,483 @@ BG0SetUp
rts
Tile_Layer_1
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,11,12,13,14
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,15,16,17,18
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,11,12,13,14
dw 41,41,41,41,41,41,41,41,41,41,41,41,19,20,21,22
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,57,58,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,15,16,17,18
dw 41,41,41,41,41,41,41,41,41,41,41,41,19,20,21,22
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,56,21,62,59,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,11,12,13,14,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,19,20,21,22
dw 41,41,41,41,41,41,41,41,41,41,41,41,19,20,21,22
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,56,21,21,21,21,59,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,57,58,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,15,16,17,18,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,19,20,21,22
dw 41,41,41,41,41,41,41,41,41,41,41,41,19,20,21,22
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,56,21,62,21,21,62,21,59,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,42,43,42,43,42,43,41,41
dw 41,56,21,62,59,41,41,41,41,41,41,41,41,41,41,41
dw 42,43,41,41,41,41,41,41,19,20,21,22,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,19,20,21,22
dw 41,41,41,41,42,43,42,43,41,41,41,41,19,20,21,22
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 56,21,21,21,21,21,21,21,21,59,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,44,45,45,45,45,45,45,46,41
dw 56,21,21,21,21,59,41,41,41,41,41,41,41,41,41,44
dw 45,45,46,41,41,41,41,41,19,20,21,22,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,19,20,21,22
dw 41,41,41,44,45,45,45,45,46,41,41,41,19,20,21,22
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 3,4,3,4,3,4,3,4,3,4,3,4,3,4,3,4
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,10,11,12,13
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,14,15,16,17
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,10,11,12,13
dw 40,40,40,40,40,40,40,40,40,40,40,40,18,19,20,21
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,56,57,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,14,15,16,17
dw 40,40,40,40,40,40,40,40,40,40,40,40,18,19,20,21
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,55,20,61,58,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,10,11,12,13,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,18,19,20,21
dw 40,40,40,40,40,40,40,40,40,40,40,40,18,19,20,21
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,55,20,20,20,20,58,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,56,57,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,14,15,16,17,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,18,19,20,21
dw 40,40,40,40,40,40,40,40,40,40,40,40,18,19,20,21
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,55,20,61,20,20,61,20,58,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,41,42,41,42,41,42,40,40
dw 40,55,20,61,58,40,40,40,40,40,40,40,40,40,40,40
dw 41,42,40,40,40,40,40,40,18,19,20,21,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,18,19,20,21
dw 40,40,40,40,41,42,41,42,40,40,40,40,18,19,20,21
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 55,20,20,20,20,20,20,20,20,58,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,43,44,44,44,44,44,44,45,40
dw 55,20,20,20,20,58,40,40,40,40,40,40,40,40,40,43
dw 44,44,45,40,40,40,40,40,18,19,20,21,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,18,19,20,21
dw 40,40,40,43,44,44,44,44,45,40,40,40,18,19,20,21
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3
dw 2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3

View File

@ -36,7 +36,7 @@ function pngToIIgsBuff(png) {
const j = y * (png.width / 2) + Math.floor(x / 2);
if (index > 15) {
console.warn('Pixel index greater than 15. Skipping...');
console.warn('; Pixel index greater than 15. Skipping...');
continue;
}
@ -72,7 +72,7 @@ function pngToIIgsBuffRepeat(png) {
const j = y * png.width + Math.floor(x / 2);
if (index > 15) {
console.warn('Pixel index greater than 15. Skipping...');
console.warn('; Pixel index greater than 15. Skipping...');
continue;
}
@ -101,7 +101,10 @@ function paletteToIIgs(palette) {
function getArg(argv, arg, fn, defaultValue) {
for (let i = 0; i < argv.length; i += 1) {
if (argv[i] === arg) {
return fn(argv[i+1]);
if (fn) {
return fn(argv[i+1]);
}
return true; // REturn true if the argument was found
}
}
return defaultValue;
@ -111,60 +114,97 @@ async function main(argv) {
const data = await fs.readFile(argv[0]);
const png = PNG.sync.read(data);
startIndex = getArg(argv, '--start-index', x => parseInt(x, 10), 0);
asTileData = getArg(argv, '--as-tile-data', null, 0);
transparentColor = getArg(argv, '--transparent-color-index', x => parseInt(x, 10), 0);
console.info(`startIndex = ${startIndex}`);
console.info(`; startIndex = ${startIndex}`);
if (png.colorType !== 3) {
console.warn('PNG must be in palette color type');
console.warn('; PNG must be in palette color type');
return;
}
if (png.palette.length > 16) {
console.warn('Too many colors. Must be 16 or less');
console.warn('; Too many colors. Must be 16 or less');
return;
}
// Dump the palette in IIgs hex format
console.log('Palette:');
console.log('; Palette:');
const hexCodes = png.palette.map(c => '$' + paletteToIIgs(c));
console.log(hexCodes.join(','));
console.log(';', hexCodes.join(','));
// Just convert a paletted PNG to IIgs memory format
// Just convert a paletted PNG to IIgs memory format. We make sute that only a few widths
// are supported
let buff = null;
if (png.width === 512) {
console.log('Converting to BG1 format...');
console.log('; Converting to BG1 format...');
buff = pngToIIgsBuff(png);
}
if (png.width === 256) {
console.log('Converting to BG1 format w/repeat...');
console.log('; Converting to BG1 format w/repeat...');
buff = pngToIIgsBuffRepeat(png);
}
if (png.width === 328) {
console.log('Converting to BG0 format...');
if (png.width === 328 || png.width == 320) {
console.log('; Converting to BG0 format...');
buff = pngToIIgsBuff(png);
}
if (buff && argv[1]) {
console.log(`Writing to output file ${argv[1]}`);
// Write a small header. This is useful and avoids triggering a sparse file load
// bug when the first block of the file on the GS/OS drive is sparse.
// Put the ASCII text of "GTERAW" in the first 6 bytes
const header = Buffer.alloc(8);
header.write('GTERAW', 'latin1');
// Use the special value $A5A5 to identify no transparency
if (typeof transparentColor !== 'number') {
header.writeUInt16LE(0xA5A5);
} else {
header.writeUInt16LE(0x1111 * transparentColor, 6);
if (asTileData) {
writeToTileDataSource(buff, png.width / 2);
}
else {
console.log(`; Writing to output file ${argv[1]}`);
await writeBinayOutput(argv[1], buff);
}
await fs.writeFile(argv[1], Buffer.concat([header, buff]));
}
}
function writeToTileDataSource(buff, width) {
console.log('tiledata ENT');
let count = 0;
for (let y = 0; ; y += 8) {
for (let x = 0; x < width; x += 4, count += 1) {
if (count >= 256) {
return;
}
console.log('; Tile ID ' + count);
console.log('; From image coordinates ' + (x * 2) + ', ' + y);
const offset = y * width + x;
for (dy = 0; dy < 8; dy += 1) {
const hex0 = buff[offset + dy * width + 0].toString(16).padStart(2, '0');
const hex1 = buff[offset + dy * width + 1].toString(16).padStart(2, '0');
const hex2 = buff[offset + dy * width + 2].toString(16).padStart(2, '0');
const hex3 = buff[offset + dy * width + 3].toString(16).padStart(2, '0');
console.log(' hex ' + hex0 + hex1 + hex2 + hex3);
}
console.log();
}
}
}
async function writeBinayOutput(filename, buff) {
// Write a small header. This is useful and avoids triggering a sparse file load
// bug when the first block of the file on the GS/OS drive is sparse.
// Put the ASCII text of "GTERAW" in the first 6 bytes
const header = Buffer.alloc(8);
header.write('GTERAW', 'latin1');
// Use the special value $A5A5 to identify no transparency
if (typeof transparentColor !== 'number') {
header.writeUInt16LE(0xA5A5);
} else {
header.writeUInt16LE(0x1111 * transparentColor, 6);
}
await fs.writeFile(filename, Buffer.concat([header, buff]));
}

View File

@ -85,7 +85,8 @@ BG0SetUp
for (let i = 0; i < tileIDs.length; i += N) {
chunks.push(tileIDs.slice(i, i + N))
}
// Tiled starts numbering its tiles at 1, swtich to a more sane approach... :)
for (const chunk of chunks) {
console.log(' dw ' + chunk.join(','));
console.log(' dw ' + chunk.map(t => t - 1).join(','));
}
}