From 02bd50a4c36144384e53d01355c48f5b1c3cca9a Mon Sep 17 00:00:00 2001 From: tetracorp Date: Sat, 12 Oct 2024 16:41:30 +0100 Subject: [PATCH] Add map format update and extractor --- docs/_posts/2024-10-03-map-format.md | 57 +- tools/map_tiles.png | Bin 0 -> 2151 bytes tools/mapmaker.py | 3433 ++++++++++++++++++++++++++ tools/readme.md | 5 + 4 files changed, 3468 insertions(+), 27 deletions(-) create mode 100644 tools/map_tiles.png create mode 100644 tools/mapmaker.py create mode 100644 tools/readme.md diff --git a/docs/_posts/2024-10-03-map-format.md b/docs/_posts/2024-10-03-map-format.md index 8f49a59..e6bf70a 100644 --- a/docs/_posts/2024-10-03-map-format.md +++ b/docs/_posts/2024-10-03-map-format.md @@ -1574,7 +1574,7 @@ by the NPC's text in null-terminated ASCII. 0f | | 52: HEALSTONE | 01 | 01 02 19 | WE WILL MAKE YOU ILL 0d | 53: FUNNY STICK | 5b: COIN +1 | 05 | 01 02 28 | I WILL PAY YOU 03 | 5b: COIN | | 03 | 01 02 38 | PAY ME - 05 | 6f: POW | 62: GEM KEY | 0a | 01 02 30 | LEAVE NOW + 05 | 6f: POW (dummy item) | 62: GEM KEY | 0a | 01 02 30 | LEAVE NOW 02 | | | 09 | 01 02 22 | NO ONE WILL PASS 09 | | 60: GOLD KEY | 00 | 01 02 3b | ARRGH 0c | | 5d: CUP OF LIFE | 06 | 01 02 3c | HISSS @@ -2042,35 +2042,38 @@ ID | Monster 04 | Witch 05 | Charon 06 | Cloaked figure -07 | +07 | Grey Knight 08 | Pooka -09 | -0a | -0b | -0c | -0d | +09 | Giant +0a | Wizard +0b | Wizard +0c | Spider +0d | Ant 0e | Skull 0f | Golem -10 | -11 | -12 | -13 | -14 | -15 | -16 | -17 | -18 | -19 | -1a | -1b | -1c | -1d | -1e | -1f | -20 | -21 | -22 | -23 | +10 | Green dragon +11 | White Knight +12 | Minotaur helmet +13 | Minotaur +14 | Lizardman +15 | Pharaoh +16 | Sorcerer +17 | Cobra +18 | Acrobat +19 | Medusa +1a | Lord Fear +1b | Skeleton +1c | Ghost +1d | Bat +1e | Demon +1f | Small dragon +20 | Earth elemental +21 | Piranha +22 | Wizard +23 | Wizard + +Note that the monster names are not stored in the game files, so most of these +names are not official. ### $5de2: Items diff --git a/tools/map_tiles.png b/tools/map_tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..e83b108ee8fc5ac485edecdfa6d69ea17f4163db GIT binary patch literal 2151 zcmV-t2$=VYP)d2K3#-nWNwb zX7IhzyHCR29gn9#LY`-bLmXIxc;Z(bzYhTL7zh9$004Z&E{DVWTSoTT6keUccHzyXxJ=7RPbjR<`C*-ooZ4 z9HP9AX={TgdjNCVGu9yh^!EVM%>-vzR!68 zZS4&p3=dB6Wtk5$!6P~wVSF#w*y;RflC>FPf1IDlVd|TpjjvLjis&Myt-XQ!GtdNg zo}V%(SOMZY?AuH6004|a{p=2#HUjVkd2#s3ksjMya!@j@ZQ2L`02dQX6=<2=UeHwq z@&r$-0u6Wi<|xPYPbgdACZvJb2X-V~fNz0(S zB%b#Fe9g*F`}}8l{5iyjNzb2W`J%4h^?H)z=*EZZ+3oz_{0zgeEK74+@NGdJ;5M*W z)B5Ee48V3wu)PLgKiI4QIyC_M!Nvt(&;aZQ287?RX^TIXWr9zSrbMB8ll@Ec!I$ zm9D1Q)s)Qee8QyH<9hzJ!*wRu-AbiWR(a9xmtS(NwC<}9*zz;$!F~Y7^HkmJ@0kMG zXkcdcS8vz3bsi3Bd}F`zl2r;+)7n7sA?)v+a+nV^T+i(x%=<&kFRxiMj1*|16etc` z$(NP-9@^%RiqkU1i!zd*ZEv#Q^~XW>@+YnR@Sc_V7~a%|{lWb)f5w3&KudH3`{h(# zVSjM{eh0BBFNvM~M*uC|hqHf96D+g8hB6K?0!(LuwFdMfy?vX`ugkk)mxTbT{g(FH zkom~Ng6jyd(1PzOV``47Sv}VtP)1&7Z_>{=u_B_AAtRC0uX(_ zIeRf{U{3be@7TFb(d#oBI9c0)hqtjm3X9(FxHr^%`e|T(_6xb%Y!GzG?AM;eT=Qw} zA0&Wg-tVe``Po0y2(x>sH=F%Fv%hM{oB61Z^wbQNkE+~lwaI;a)%Od_+qS=_0NPxy zy#}_*er1rc*$-rBOFeC~WA>TPz&T)now?%KDUbTqprvBCy~S|y8HUd^uN^Y8+e-U} zLZ?!-Y@0N&XMdl00L$5~ev@LX2K7e(LId_)yEcy+!u}ot*xS>($E+6c4MW&34j;n) z{wWXue&R;}vE-n$`=X-eo`=zjc;eR|zi&qCle5PF;)&lz{N5&7Ifi)RHxtiyg95LC z000620097i002M$03ZMW5C8xO000C400IDDYhXDvU<3ew5rFmL#CsUe^8mzq9nbRs z#Csi&2LPC001yBG2mk;C000620097i002M$03ZMW5C8xh0?z{gzXhmt%M9$Fy8HLh1H66T((2ZmM)p`etz~=|0q_7Orgnz)6M!6`cmVzXQ8EVSw{vIaljoT{ zGT;GR`2Ct)zJG~cZiC^umYnlgs;)By(q=w2`|$wI>`!$vc+exLEd8$A*{JvhZr<-7> z{6~9+QK~@ZHdP>pDo|4csS+?t6(|ftNgD@AML$K-vMhr&%mmlG*9xGm3e+|w+^hlx z(v)y8`#iwbsz3_e)4$KjG)f6J`~9&5_L&bJV5kP3#r{U_l-Jv;t?+HyYm8dZdfC4k z6I@Y$A?)8kuRj*=%`BH||Ff-x+nNcsfwCOB##rm3Jzovl=>f!YXd4f(+~v^nGcncY zXaDCEIDP#52VVYp`w_-}zqR`T7?c7jgm(H9fVE?$M?a=9V^fC&a*ktvXCo%^fL{&Rf!_v{+L z2mmm_kREJ80G%-i0BqI-JJ{t@i~s;87=R6#;C{dagN=BAegZ=PVDc1*TL8QkfRfTU d{RzO@@jrySjV1HoZ;Ai_002ovPDHLkV1jLl7Lfn| literal 0 HcmV?d00001 diff --git a/tools/mapmaker.py b/tools/mapmaker.py new file mode 100644 index 0000000..253a0e5 --- /dev/null +++ b/tools/mapmaker.py @@ -0,0 +1,3433 @@ +# mapmaker.py +# A tool to build level maps for the Amiga game Knightmare + +from PIL import Image, ImageDraw, ImageColor, ImageFont, ImageOps + +def coords(addr,d=False): + mp = addr // (32*32) + x = addr % 32 + y = (addr % (32*32))//32 + + if d: + x+=1; y+=1 + x = x*17+8 + y = y*17+8 + + return(mp,x,y) + +maps = [ +0x20,0x20,0x08,0x26,0x2a,0x6a,0x2a,0x26,0x69,0x2a,0x26,0x00,0x00,0x64,0x04,0x04,0x00,0x2a,0x6a,0x2a,0x69,0x6a,0x26,0x00,0x30,0x26,0x20,0xa0,0x20,0x26,0x68,0x68, +0x20,0x18,0x26,0x26,0x27,0x69,0x6b,0xa6,0x26,0x2a,0x26,0x6b,0x20,0x20,0x20,0x21,0x6b,0x2a,0x69,0x26,0xa6,0x26,0x26,0x26,0x08,0x20,0x22,0x21,0x22,0x68,0x22,0x22, +0x19,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x72,0x6b,0x20,0x20,0x20,0x20,0x6b,0x26,0x26,0x2a,0x26,0x6b,0x68,0x26,0x00,0x22,0x22,0x22,0x22,0x22,0x22,0x22, +0x18,0x26,0x2a,0x2a,0x69,0x26,0x2a,0x26,0x2a,0x26,0x68,0x6b,0x20,0x20,0x20,0x20,0x6b,0x26,0x6b,0x68,0x6a,0x27,0x26,0x68,0x00,0x6b,0xa0,0x22,0x20,0x20,0x20,0x68, +0x00,0x26,0x2a,0x2a,0x68,0x6b,0x2a,0x2a,0x26,0x6a,0x69,0x6b,0x20,0x20,0x20,0x20,0x6b,0x6a,0x26,0x26,0x68,0x69,0x26,0xa6,0x00,0x20,0x20,0x20,0x20,0x22,0x22,0x22, +0x00,0x6b,0x6b,0x26,0x69,0x68,0x6a,0x68,0x6a,0x68,0x68,0x69,0x6b,0x6b,0x6b,0x6b,0x6a,0x68,0x6b,0x2a,0x2a,0x6a,0x2a,0x26,0x00,0x20,0x22,0x20,0x22,0x22,0x22,0x22, +0x64,0x20,0xa0,0x20,0x6a,0x26,0x27,0x6b,0x26,0x6a,0x2a,0x26,0x6a,0x68,0x20,0x68,0x68,0x6b,0x69,0x68,0x2a,0x68,0x69,0x26,0x00,0x20,0x20,0x22,0x22,0x20,0x22,0x6b, +0x02,0x20,0x6b,0x20,0xa6,0x2a,0x68,0x6b,0x26,0x27,0x2a,0x2a,0x2a,0x6b,0x66,0x20,0x20,0x20,0x20,0x66,0x68,0x2a,0x68,0x26,0x00,0x21,0x20,0x20,0x20,0x20,0x20,0x6b, +0x00,0x6b,0x6b,0x20,0x20,0x26,0x26,0x68,0x26,0x6b,0x6b,0x2a,0x2a,0x68,0x20,0x6a,0x69,0x68,0x6b,0x20,0x20,0x69,0x6b,0x6b,0x00,0x00,0x00,0x04,0x40,0x00,0x00,0x00, +0x2a,0x26,0x6a,0x69,0x20,0x2a,0x2a,0x69,0x6b,0x20,0x20,0x20,0x20,0x33,0x20,0x2a,0x68,0x6a,0x68,0x69,0x20,0x20,0x6b,0x20,0x08,0x6a,0x6a,0x6a,0x6a,0x6a,0x6a,0x6a, +0x00,0x6b,0x6b,0x26,0x20,0x2a,0x2a,0x6b,0x20,0x20,0x68,0x6b,0x6b,0x20,0x2a,0x2a,0x69,0x26,0x6a,0x68,0x6b,0x20,0xa0,0x20,0x64,0x00,0x26,0x26,0x26,0x26,0x26,0x26, +0x64,0x20,0xa0,0x20,0x20,0x26,0x68,0x20,0x20,0x26,0xa6,0x68,0x6a,0x20,0x20,0x69,0x68,0x26,0x2a,0x6b,0x69,0x6b,0x6b,0x6b,0x00,0x26,0x26,0x26,0xa6,0x26,0x26,0x26, +0x02,0x20,0x6b,0x2a,0x20,0x66,0x20,0x20,0x26,0x2a,0x2a,0x68,0x69,0x2a,0x66,0x20,0x20,0x20,0x2a,0x2a,0x68,0x6b,0x6a,0x2a,0x00,0x26,0x26,0x00,0x26,0x26,0xa6,0x26, +0x00,0x6b,0x26,0x26,0x6b,0x6b,0x6b,0x6b,0x6b,0x6b,0x6b,0x6b,0x6b,0x6b,0x6b,0x6b,0x6b,0x20,0x26,0x2a,0x6b,0x69,0x2a,0x6a,0x00,0xa6,0x26,0x00,0x26,0x00,0x00,0x00, +0x00,0x6b,0x26,0x6b,0x26,0x26,0x68,0x26,0x26,0x68,0x26,0x26,0x26,0x26,0x26,0x26,0x6b,0x20,0x2a,0x2a,0x6b,0x68,0x2a,0x26,0x08,0x26,0x26,0x00,0x26,0x26,0x26,0x26, +0x2a,0x6b,0x6b,0x6b,0x6b,0x6b,0x6b,0x6b,0x6b,0x6a,0x6b,0x6b,0x6b,0x6b,0x26,0x26,0x68,0x20,0x2a,0x26,0x6a,0x27,0x2a,0x26,0x00,0x26,0x26,0x26,0xa6,0x26,0x00,0x26, +0x26,0x6b,0x68,0x26,0x26,0x26,0x26,0x68,0x26,0x26,0x26,0x26,0xa6,0x68,0x6b,0x26,0x6b,0x20,0x26,0x68,0x69,0x26,0x26,0x2a,0x00,0x00,0x26,0x00,0x00,0x00,0x00,0x26, +0x26,0x6b,0x2a,0x6b,0x26,0x26,0x68,0x26,0x26,0x6b,0x6b,0x68,0x26,0x6b,0x6b,0x26,0x6b,0x66,0x68,0x6a,0x6b,0x68,0x6b,0x2a,0x00,0x71,0x71,0x72,0x71,0x71,0x71,0x71, +0x26,0x27,0x6b,0x2a,0x26,0x26,0x6b,0x26,0x6b,0x27,0x26,0x26,0x26,0x6b,0x2a,0x26,0x6b,0x20,0x68,0x2a,0x2a,0x69,0x2a,0x2a,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x68,0x26,0x6b,0x27,0x6b,0x26,0x26,0x6b,0x6b,0x6b,0x6b,0x26,0x6a,0x6b,0x2a,0x27,0x6b,0x20,0x26,0x2a,0x6a,0x68,0x26,0x6b,0x00,0x71,0x71,0x71,0x71,0x72,0x71,0x71, +0x6b,0x26,0x26,0x6b,0x6b,0x26,0x26,0x68,0x26,0x26,0x26,0x6b,0x2a,0x2a,0x6b,0x6b,0x6b,0x20,0x6b,0x69,0x68,0x69,0x6a,0x6b,0x00,0x00,0x00,0x04,0x00,0x20,0x00,0x00, +0x6b,0x6b,0x26,0x26,0x2a,0x6b,0x26,0x26,0x6b,0x6b,0x26,0x26,0x6b,0x6b,0x6b,0x27,0x6b,0x20,0x6b,0x6a,0x69,0x6a,0x69,0x6a,0x00,0x71,0x71,0x72,0x71,0x71,0x71,0x71, +0x26,0x2a,0x6b,0x6b,0x26,0x68,0x26,0x6b,0x6a,0x26,0x26,0x26,0x26,0x6a,0x6b,0x26,0x6b,0x20,0x6b,0x68,0x26,0x00,0x41,0x01,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00, +0x2a,0x68,0x6a,0x26,0x6b,0x6b,0x6b,0x26,0x26,0x6b,0x26,0x6b,0x6b,0x6b,0x68,0x26,0x6b,0xa0,0x6b,0x26,0x2a,0x00,0xa0,0xa0,0x00,0x31,0x00,0x20,0x20,0x20,0x00,0x20, +0x00,0x21,0x6b,0x69,0x69,0x69,0x69,0x69,0x6b,0x6b,0x68,0x26,0x26,0x26,0x26,0x26,0x6b,0x20,0x20,0x6b,0x26,0x0a,0x20,0x21,0x00,0x04,0x04,0x01,0x20,0x31,0x00,0x20, +0x64,0x08,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x64,0x01,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x64,0x00,0x04,0x00,0x20, +0x20,0x20,0x20,0x26,0x6a,0x68,0x26,0x00,0x00,0x00,0x20,0x6a,0x68,0x6b,0x69,0x6b,0x6a,0x00,0x2a,0x68,0x6a,0x68,0x26,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x64, +0x20,0x72,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x6b,0x6b,0x00,0x20,0x20,0x20,0x6b, +0x20,0x20,0x26,0x6b,0x20,0x6a,0x20,0x00,0x00,0x00,0x6b,0x6b,0x20,0x6a,0x26,0x69,0x26,0x00,0x6b,0x68,0x6b,0x6b,0x6a,0x6b,0x6b,0x26,0x6a,0x6b,0x6b,0x6a,0x20,0x20, +0x20,0x26,0x68,0x69,0x68,0x6a,0x6b,0x00,0x26,0x6a,0x69,0x20,0xa0,0x6b,0x6b,0x2a,0x26,0x00,0x26,0x26,0x68,0x26,0x6b,0x26,0x26,0x26,0x26,0x6a,0x26,0x00,0x36,0x01, +0x26,0x2a,0x26,0x68,0x2a,0x26,0x26,0x00,0x26,0x2a,0x6b,0x26,0x68,0x20,0x20,0x2a,0x26,0x00,0x20,0x2a,0x2a,0x68,0x26,0x6b,0x26,0x6b,0x26,0x6a,0x26,0x00,0x00,0x00, +0x26,0x26,0x26,0x2a,0x2a,0x68,0x68,0x00,0x26,0x2a,0x26,0x6a,0x26,0x26,0x27,0x26,0x26,0x00,0x26,0x26,0x2a,0x2a,0x26,0x2a,0x26,0x26,0x26,0x26,0x26,0x00,0x20,0x36, +0x20,0x34,0x20,0x00,0x20,0x00,0x21,0x20,0x21,0x00,0x20,0x21,0xa0,0x20,0x20,0x00,0x21,0x00,0x21,0x00,0x1a,0x20,0x20,0x20,0x49,0x20,0x20,0xa0,0x49,0xa0,0x21,0x00, +0x20,0x20,0x20,0x00,0x20,0x00,0x20,0xa0,0x20,0x18,0x2e,0x20,0x00,0x20,0x20,0x08,0xa0,0x00,0x36,0x1a,0x1a,0x1a,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21, +0x19,0x36,0x01,0x02,0x20,0x08,0xa0,0x20,0x20,0x00,0x20,0x20,0x00,0x20,0x21,0x49,0xa0,0x00,0x20,0x20,0x1a,0x20,0x20,0x00,0xa0,0x20,0xa0,0x20,0x00,0x20,0x2e,0x20, +0x00,0x36,0x00,0x20,0x20,0x20,0x00,0x00,0x40,0x00,0x40,0x00,0x00,0x18,0x00,0x00,0x00,0x04,0x1a,0x1a,0x20,0x1a,0x20,0x00,0x20,0x20,0x00,0x40,0x00,0xa0,0x20,0x2e, +0x64,0x36,0x18,0x21,0x20,0x20,0x00,0x20,0x20,0x49,0x20,0x49,0x20,0x20,0x20,0x48,0x20,0x2e,0x1a,0x20,0x20,0x20,0x36,0x00,0x20,0x20,0x00,0x21,0xa0,0x20,0xa0,0x20, +0x00,0x36,0x00,0x21,0x20,0x20,0x08,0x01,0x01,0x00,0x01,0x00,0x00,0x01,0x40,0x00,0x40,0x00,0x04,0x19,0x04,0x01,0x19,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x00,0x20, +0x19,0x36,0x64,0x00,0x01,0x00,0xa0,0x00,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x48,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x2e,0x20,0x20,0x20,0x20,0x21,0x00, +0x00,0x36,0x00,0x21,0x00,0x20,0x3e,0x00,0x20,0x20,0x20,0x00,0x01,0x00,0x20,0x02,0x20,0x00,0x01,0x00,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x00,0x00,0x20,0x2e,0x19, +0x64,0x36,0x18,0xa0,0x00,0x01,0x00,0x02,0x20,0x20,0x02,0x20,0x20,0x02,0x20,0x08,0x42,0x00,0x21,0x20,0x00,0x01,0x41,0x01,0x11,0x20,0x13,0x21,0x20,0x00,0x20,0x00, +0x00,0x36,0x00,0x3e,0x00,0xa0,0x20,0x00,0x00,0x04,0x20,0x00,0x20,0x00,0x41,0x02,0x20,0x00,0x41,0x00,0x36,0x20,0x20,0x2e,0x00,0x40,0x00,0x20,0x1a,0x20,0x20,0x18, +0x19,0x36,0x00,0x00,0x00,0x20,0x02,0x20,0x36,0x20,0x36,0x20,0x36,0x20,0x36,0x00,0x42,0x02,0x20,0x20,0x00,0x20,0x20,0x00,0x20,0x21,0x19,0x21,0x20,0x1a,0x20,0x00, +0x73,0x36,0x00,0x20,0x00,0x3e,0x20,0x02,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x02,0x20,0x00,0xa0,0x20,0x20,0x00,0x00,0x20,0x20,0xa0,0x00,0x00,0x01,0x41,0x01,0x00, +0x20,0x00,0x19,0x20,0x02,0x20,0x02,0x20,0x36,0x20,0x36,0x20,0x36,0x21,0x36,0x00,0x42,0x00,0x20,0xa0,0x20,0x20,0x20,0x20,0xa0,0x20,0x02,0xa0,0x49,0x20,0xa0,0x08, +0x20,0x20,0x00,0x20,0xa0,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x02,0x20,0x08,0x21,0x20,0xa0,0x20,0xa0,0xa0,0x20,0x21,0x00,0x41,0x00,0x01,0x41,0x00, +0x20,0xa0,0x00,0x20,0x01,0x00,0x02,0x20,0x36,0x20,0x36,0x20,0x36,0x20,0x36,0x00,0x42,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x02,0xa0,0x20,0x49,0x20,0xa0,0x00, +0x00,0x00,0x00,0x21,0x02,0x21,0x21,0x00,0x20,0x02,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0xa0,0x63,0x00,0x21,0xa0,0x00,0x21,0xa0,0x00,0x41,0x01,0x00,0x41,0x01,0x00, +0xa0,0x20,0x00,0x02,0x20,0x20,0x20,0x20,0x36,0x20,0x36,0x20,0x36,0x20,0x36,0x00,0x20,0x00,0x00,0x21,0x00,0x44,0x00,0xa0,0x20,0x49,0xa0,0x20,0x49,0xa0,0x21,0x00, +0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x34,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x01,0x00,0x04,0x01,0x00,0x00, +0x20,0x30,0x00,0x00,0x00,0x20,0x20,0x20,0x34,0x00,0x30,0x33,0x00,0x00,0x20,0x00,0x00,0x20,0x48,0x20,0x00,0x20,0x00,0x4c,0xa0,0x00,0x36,0x30,0x20,0x20,0x36,0x00, +0x04,0x02,0xa0,0x20,0xa0,0x08,0x20,0x20,0x00,0x36,0x00,0x20,0x4c,0x36,0x00,0x02,0x20,0x2e,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x20,0x36,0x20,0x30,0x00, +0xa0,0x00,0x00,0x42,0x00,0xa0,0x20,0x20,0x08,0x44,0x00,0x00,0x00,0x00,0x31,0x02,0x2e,0x20,0x48,0x20,0x00,0x20,0x00,0x20,0xa0,0x08,0x21,0x30,0x20,0x66,0x20,0x08, +0x20,0x00,0x36,0x20,0x36,0x00,0x04,0x20,0x20,0x20,0x20,0x3c,0x00,0x2e,0x66,0x02,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x00,0x30,0x2e,0x20,0x20,0x20,0x00, +0xa0,0x4a,0x20,0x33,0x20,0x4a,0xa0,0x00,0x20,0x00,0x00,0x20,0x00,0x44,0x00,0x02,0x20,0x08,0x20,0x21,0x00,0x20,0x00,0xa0,0x21,0x00,0x30,0x2e,0x30,0x20,0x30,0x00, +0x01,0x00,0x36,0x20,0x36,0x00,0x20,0xa0,0x00,0x36,0x4c,0x00,0x00,0x36,0x00,0x34,0x20,0x00,0xa0,0x01,0x33,0x01,0x00,0x43,0x01,0x00,0x00,0x00,0x01,0x01,0x43,0x00, +0x20,0x00,0x00,0x42,0x00,0x20,0x00,0x01,0x20,0x00,0x00,0x20,0x63,0x00,0x20,0x00,0x00,0x20,0x00,0x33,0x64,0x33,0x00,0x21,0x00,0xa0,0x20,0x4c,0x3e,0x4c,0x20,0x08, +0x02,0xa0,0x20,0xa0,0x08,0x20,0x20,0x20,0x20,0x20,0x00,0x40,0x00,0x20,0x20,0x20,0x00,0x20,0x20,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x20,0x04,0x01,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0xa0,0x20,0x13,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x66,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x20,0x66,0x00,0x01,0x00,0x20,0x00, +0x20,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x20,0x20,0xa0,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x1a,0x00, +0x20,0x00,0x20,0x00,0x20,0x00,0x66,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x08,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x20,0x20,0x00,0x00,0x00, +0x20,0x00,0x00,0x00,0x20,0x00,0x20,0x08,0x00,0x00,0x20,0x00,0x42,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x20,0x08,0x34,0x00,0x21,0x00, +0x20,0x66,0x21,0x20,0x66,0x00,0x66,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x01,0x00,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x00,0x40,0x00, +0x20,0x20,0x04,0x02,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x20,0x20,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x20,0x64,0x20,0x64,0x00,0x00, +0x20,0x3e,0x20,0x49,0x20,0x20,0x20,0x20,0xa0,0x20,0x2e,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0xa0,0x20,0x20,0x49,0xa0,0x21,0x00,0x20,0x64,0x20,0x64,0x20,0x00,0xa0, +0x21,0x00,0x20,0x08,0x20,0x3d,0x20,0x20,0x20,0x3d,0x20,0x20,0x20,0x2e,0x20,0x00,0x20,0x00,0x00,0x20,0x20,0x08,0x00,0x00,0x00,0x64,0x20,0x64,0x20,0x64,0x00,0x21, +0x20,0x00,0x36,0x08,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0xa0,0x00,0x20,0x00,0x21,0x00,0x20,0x49,0x21,0x00,0x10,0x20,0x64,0x20,0x64,0x21,0x00,0x41, +0x00,0x20,0x20,0x00,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x11,0x20,0x20,0x20,0x00,0x20,0x00,0x36,0x00,0x01,0x00,0x00,0x64,0x20,0x64,0x21,0x64,0x20,0x64,0x02,0x20, +0x20,0x00,0x36,0x00,0x20,0x20,0x00,0x3c,0x20,0x3d,0x20,0x20,0x20,0x20,0x00,0x00,0x20,0x00,0x41,0x00,0x20,0x20,0x00,0x20,0x64,0x20,0x64,0x20,0x64,0x20,0x64,0x20, +0x00,0x02,0x20,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0xa0,0x20,0x20,0x02,0xa0,0x02,0x20,0x02,0x20,0x00,0xa0,0xa0,0x00,0x20,0x20,0x64,0x20,0x64,0x20,0x64,0x20,0x64, +0x21,0x00,0x36,0x19,0x20,0x08,0x20,0x20,0x20,0x20,0x20,0x2e,0x20,0x20,0x00,0x00,0x20,0x00,0x20,0x00,0xa0,0xa0,0xa0,0x01,0x40,0x00,0x00,0x00,0x04,0x00,0x00,0x00, +0x20,0x20,0x20,0x19,0x36,0x00,0x20,0x20,0x20,0x02,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x02,0x20,0x20,0x00,0x00,0x00,0x00,0x20,0x00,0x20,0x20,0x20,0x49,0xa0,0x20, +0x20,0x00,0x36,0x19,0xa0,0x00,0x20,0x20,0x00,0xa0,0x00,0x3d,0x3c,0x2e,0x20,0x00,0x20,0x00,0x00,0x20,0x21,0x20,0x20,0x48,0x20,0x48,0xa0,0x20,0xa0,0x00,0x20,0x20, +0x00,0x00,0x20,0x21,0x00,0x20,0xa0,0x20,0x20,0x00,0x20,0x20,0x00,0x20,0x20,0x00,0x40,0x00,0xa0,0x00,0x00,0x00,0x00,0x00,0xa0,0x08,0x00,0x00,0x00,0x00,0x00,0x40, +0x20,0x00,0x36,0x00,0x20,0x20,0x00,0x3c,0x20,0x20,0x20,0x3c,0x20,0xa0,0x20,0x02,0x20,0x13,0xa0,0xa0,0xa0,0x20,0xa0,0x00,0xa0,0x00,0x20,0xa0,0xa0,0x20,0x20,0xa0, +0x2e,0x20,0x20,0x08,0x20,0xa0,0x2e,0x20,0x20,0xa0,0x20,0x00,0x20,0x20,0x20,0x02,0x20,0x00,0x00,0x04,0x00,0x00,0x00,0x20,0x20,0x02,0x21,0x20,0x20,0x20,0x20,0x20, +0x20,0x00,0x36,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x41,0x00,0x05,0x00,0x00,0x00, +0x10,0x00,0x20,0x04,0x00,0x00,0x00,0x18,0x04,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x20,0x00,0x47,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0xa0,0xa0,0x20,0x20,0x49,0x20, +0x20,0x20,0x3d,0x30,0x36,0x20,0x20,0x20,0x20,0x20,0x49,0xa0,0x20,0x20,0x20,0x49,0x36,0x20,0x36,0x08,0x21,0xa0,0x20,0xa0,0x20,0x00,0x00,0x00,0x00,0x01,0x00,0xa0, +0x20,0x20,0x30,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x20,0x00,0x20,0x00,0x21,0xa0,0x20,0x20,0xa0,0x20,0x20,0x48,0x20,0xa0,0x20,0x20, +0x00,0x00,0x00,0x00,0x33,0x21,0x00,0x2e,0x00,0x21,0x00,0x20,0x20,0x20,0x20,0x00,0x31,0x00,0x01,0x04,0x00,0x12,0x04,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x20,0x00,0x33,0x65,0x65,0x04,0x2e,0x20,0x00,0x20,0x19,0x20,0xa0,0x20,0x20,0x00,0x20,0x6f,0x02,0xa0,0x08,0x2e,0x20,0x20,0x00,0x63,0x02,0x20,0x66,0x3e,0x66,0x3c, +0xa0,0x20,0x00,0x00,0x00,0x20,0x30,0x2e,0x00,0xa0,0x19,0x20,0xa0,0x00,0x00,0x04,0x01,0x04,0x00,0x20,0x02,0x20,0x2e,0x20,0x00,0x18,0x00,0x3e,0x20,0x00,0xa0,0x66, +0xa0,0x20,0x20,0x00,0x36,0x20,0x30,0x20,0x00,0x40,0x02,0x20,0x36,0x20,0x4b,0x20,0x02,0xa0,0x08,0x20,0x02,0x20,0x20,0x2e,0x20,0x20,0x4c,0x20,0x00,0x34,0x02,0x3e, +0x00,0x30,0x30,0x30,0x30,0x20,0x30,0x2e,0x19,0x3c,0x19,0x20,0x20,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x20,0x0b,0x20,0x08,0x00,0x00,0xa0,0x3e,0x3c, +0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x20,0x00,0x40,0x00,0x01,0x00,0x00,0x00,0x3c,0x00,0x3c,0x18,0x3c,0x00,0x3c,0x48,0x20,0x00,0x20,0x00,0x33,0x00,0x01,0x00,0x00, +0x20,0x20,0x30,0x20,0x30,0x20,0x30,0x2e,0x02,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x40,0x00,0x20,0x00,0x36,0x00,0x66,0x00,0x20,0x20,0x34, +0x20,0x20,0x20,0x20,0x20,0x36,0x30,0x20,0x00,0x20,0x20,0x20,0x20,0xa0,0x4b,0x20,0x08,0x21,0x00,0xa0,0x00,0x20,0xa0,0xa0,0x00,0x20,0x00,0x31,0x00,0x20,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x34,0x00,0x00,0x31,0x20,0x00,0x00, +0xa0,0x20,0x00,0x64,0x00,0x20,0x33,0x20,0x00,0x3e,0x3e,0x3e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xa0,0x20,0x00,0x00,0x00,0xa0,0x33,0x20,0x00,0x00,0x3e,0x20,0x20,0x20,0x20,0x2e,0x20,0x20,0x2e,0x20,0x20,0x2e,0x20,0x20,0x2e,0x20,0x20,0x2e,0x20,0x20,0x00,0x00, +0x20,0x33,0x33,0x33,0x33,0x20,0x33,0x20,0x18,0x00,0x00,0x20,0x20,0x20,0x20,0x2e,0x20,0x20,0x2e,0x20,0x20,0x2e,0x20,0x20,0x2e,0x20,0x20,0x2e,0x20,0x20,0x00,0x64, +0x20,0x20,0x20,0x20,0x20,0x20,0x33,0x20,0x00,0x00,0x00,0x20,0x20,0x20,0xa0,0x2e,0x20,0x20,0x2e,0x20,0x20,0x2e,0x20,0x20,0x2e,0x20,0x20,0x2e,0x20,0x20,0x00,0x20, +0xa0,0x20,0x33,0x08,0x33,0x20,0x33,0xa0,0x18,0x64,0x02,0x20,0x20,0x20,0x20,0x2e,0x20,0x20,0x2e,0x20,0x20,0x2e,0x20,0x20,0x2e,0x20,0x20,0x2e,0x20,0x20,0x00,0x34, +0x20,0x20,0x20,0x20,0x20,0x20,0x33,0x20,0x00,0xa0,0x4e,0x20,0x20,0x20,0x20,0x2e,0x20,0x20,0x2e,0x20,0x20,0x2e,0x20,0x20,0x2e,0x20,0x20,0x2e,0x20,0x20,0x00,0x00, +0x64,0x00,0x68,0x6b,0x6b,0x6b,0x6b,0x00,0x00,0x00,0x64,0x20,0x1e,0x1e,0x1e,0x6a,0x26,0x26,0x26,0x11,0x20,0x20,0x13,0x20,0x4a,0x36,0x20,0x21,0x20,0x20,0x08,0x00, +0x00,0x2a,0x6b,0x2a,0x26,0x2a,0x2a,0x6a,0x20,0x20,0x26,0x1e,0x1e,0x9e,0x1e,0x1e,0x1e,0x26,0x26,0x18,0x20,0x20,0x13,0xa0,0x19,0x20,0x20,0x20,0x00,0x20,0x4c,0x36, +0x20,0x20,0x20,0x6b,0x2a,0x6a,0x26,0x20,0x20,0xac,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x6a,0x68,0x00,0xa0,0x20,0x13,0x21,0x00,0x20,0x20,0x00,0x20,0x20,0x00,0x00, +0x20,0x33,0x20,0x26,0x26,0x26,0x26,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x9e,0x1e,0x68,0x26,0x01,0x20,0xa0,0xa0,0x21,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0xa0, +0x20,0x20,0x20,0x26,0x1e,0x26,0x1e,0x1e,0x1e,0x1e,0x1e,0x2a,0x1e,0x1e,0x1e,0x1e,0x6a,0x26,0x00,0x20,0xa0,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x40, +0x6b,0x6a,0x26,0x1e,0x1e,0x1e,0x9e,0x1e,0x1e,0x1e,0x68,0x21,0x6a,0x1e,0x1e,0x69,0x68,0x2a,0x13,0x20,0x12,0x00,0xa0,0x00,0x36,0x2e,0x00,0x20,0x00,0x00,0x00,0x3e, +0x6b,0x26,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x20,0x69,0x1e,0x1e,0x1e,0x6a,0x26,0x2a,0x00,0x00,0x20,0x00,0x43,0x00,0x40,0x01,0x20,0x20,0x20,0x00,0x3e,0x3e, +0x69,0x26,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x9e,0x1e,0x1e,0x1e,0x1e,0x68,0x26,0x00,0x00,0x26,0x34,0x02,0x1e,0x1e,0x9e,0x00,0x1e,0x02,0x20,0x20,0x3e,0x3e,0x00, +0x26,0x1e,0x1e,0x9e,0x1e,0x1e,0x26,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x20,0x20,0x26,0x18,0x26,0x20,0x20,0x00,0x1e,0x1e,0x1e,0x9e,0x1e,0x4b,0x20,0x20,0x00,0x00,0x36, +0x1e,0x1e,0x1e,0x1e,0x1e,0x26,0x26,0x2a,0x26,0x1e,0x1e,0x1e,0x1e,0x20,0x2a,0x26,0x00,0x26,0x20,0x66,0x1e,0x2c,0x1e,0x9e,0x1e,0x1e,0x00,0x00,0x20,0x20,0x20,0x20, +0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x26,0x26,0x2a,0x26,0x2a,0x26,0x26,0x26,0x00,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2a,0x6a,0x00,0x00,0x00,0x00, +0x1e,0x9e,0x1e,0x1e,0x1e,0x1e,0x1e,0x00,0x19,0x00,0x19,0x00,0x00,0x00,0x20,0x20,0x20,0x00,0x26,0x68,0x6a,0x68,0x69,0x2a,0x6b,0x2a,0x6b,0x2a,0xa6,0x4d,0xa0,0x21, +0x1e,0x1e,0x1e,0x9e,0x1e,0x1e,0x1e,0x18,0x20,0x00,0x20,0x08,0x00,0x20,0x20,0x66,0x20,0x4b,0x66,0x2a,0x68,0x6b,0x6b,0x26,0x6b,0x6a,0x69,0x2a,0x68,0x00,0x00,0x01, +0x1e,0x1e,0x1e,0x1e,0x1e,0x26,0x00,0x00,0x20,0x20,0x20,0x20,0x00,0x20,0x66,0x20,0x66,0x00,0x26,0x69,0x6b,0x68,0x6a,0x2a,0x2a,0xa6,0x2a,0x6b,0x2a,0x00,0x36,0x08, +0x1e,0x26,0x26,0x26,0x20,0x21,0x64,0x64,0x20,0xa0,0x20,0x20,0x08,0x20,0x66,0x20,0x20,0x00,0x6b,0x6b,0x6b,0x6a,0x6b,0x6b,0xa6,0x69,0x6a,0xa6,0x2a,0x00,0x20,0x64, +0x26,0x26,0x20,0x20,0x20,0x20,0x08,0x00,0x20,0x20,0x20,0x20,0x4e,0x20,0x20,0xa0,0x20,0x00,0x2a,0x68,0x6b,0x69,0x6b,0x69,0x2a,0x2a,0x2a,0x68,0x6b,0x00,0x00,0x00, +0x6a,0x20,0x20,0x20,0x20,0x20,0x6a,0x18,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x20,0x04,0x2a,0x6a,0x2a,0x68,0x6a,0x6b,0x6a,0xa6,0x68,0x6a,0x6b,0x00,0x20,0xa0, +0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x20,0x20,0x00,0x6a,0x2a,0xa6,0x6a,0x69,0x68,0x2a,0x6b,0x68,0x6a,0x6b,0x6b,0x00,0x36,0x20, +0xa0,0x21,0x20,0x3e,0x20,0x20,0x20,0x00,0x20,0x19,0x00,0x19,0x00,0x18,0x19,0x00,0x00,0x2a,0x26,0x68,0x69,0x68,0x69,0x6a,0x6b,0x6b,0x68,0x26,0x00,0x64,0x00,0x3e, +0x04,0x00,0x00,0x00,0x00,0x00,0x12,0x00,0x20,0x20,0x20,0x20,0x00,0x20,0x00,0x20,0x20,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x20,0x20, +0x36,0x20,0x20,0x20,0x20,0x20,0x36,0x08,0x20,0x00,0x72,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71, +0x20,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x20,0x00,0x20,0x00,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20, +0x20,0x00,0x20,0x66,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x31,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x00, +0x20,0x20,0x66,0x36,0x66,0x20,0x20,0x00,0x00,0x11,0x36,0x20,0x20,0x20,0x00,0x31,0x00,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x20, +0x20,0x00,0x20,0x66,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x20,0xa0,0x20,0x00,0x64,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x20,0x48,0xa0,0x00,0x20,0xa0,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x36,0x20,0x20,0x20,0x20,0x20,0x36,0x02,0x20,0x00,0x00,0x20,0xa0,0x20,0xa0,0x20,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x01,0x1e,0x1e,0x1e,0x1e,0x1e,0x01,0x00,0x20,0x48,0xa0,0x00,0x20,0xa0,0x00,0x73,0x36,0x00,0xa0,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x6a,0x26,0x1e,0x1e,0x1e,0x26,0x68,0x00,0x20,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0xa0,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x69,0x6a,0x26,0x2c,0x26,0x68,0x69,0x08,0x20,0x20,0x20,0x36,0x73,0x20,0x20,0xa0,0x20,0x00,0x00,0x73,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x6a,0x69,0x68,0x26,0x68,0x69,0x6a,0x08,0x66,0x20,0x20,0x36,0x73,0x20,0xa0,0x20,0xa0,0x00,0x20,0x36,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x64,0x6a,0x6a,0x69,0x6a,0x6a,0x6a,0x4b,0x20,0x66,0x20,0x36,0x73,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x13,0x20,0x08,0x20,0x20,0x20,0x6c,0x20,0x20,0x6c,0x20,0x20,0x20,0x20,0x20,0xa0,0x20,0x11,0x3e,0x3e,0x3e,0x13,0xa0,0x20,0x20, +0x20,0x20,0x00,0x20,0x00,0x04,0x00,0x20,0xa0,0x48,0x20,0x6c,0x20,0x20,0x20,0x2e,0x20,0x6c,0x20,0x20,0x6c,0x20,0x20,0x6c,0x00,0x00,0x3e,0x11,0x20,0x20,0xa0,0x20, +0x20,0x00,0x6c,0x12,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x6c,0x20,0x20,0x6c,0x20,0x20,0x20,0x6c,0x20,0x6c,0x20,0x20,0x00,0x3e,0x3e,0x3e,0x00,0x00,0x20,0x20, +0x20,0x00,0x6c,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x6c,0x6c,0x20,0x20,0x20,0x20,0x20,0x6c,0x10,0x20,0x20,0x20,0x6c,0x20,0x00,0x3e,0x3e,0x3e,0x3e,0x3e,0x00,0x20, +0xa0,0x00,0x6c,0x00,0x00,0x00,0x36,0x36,0x36,0x11,0x20,0x20,0x20,0x20,0x6c,0x6c,0x6c,0x20,0x20,0x2e,0x6c,0x20,0x6c,0x20,0x00,0x00,0x3e,0x00,0x3e,0x11,0x20,0xa0, +0xa0,0x20,0x6c,0x00,0xa0,0x04,0x30,0x36,0x36,0x00,0x20,0x20,0x6c,0x20,0x20,0x20,0x20,0xa0,0x20,0x20,0x6c,0x20,0x6c,0x20,0x48,0x3e,0x3e,0x00,0x3e,0x00,0x20,0x20, +0x20,0x00,0x6c,0x00,0x20,0x20,0x20,0x30,0x36,0x00,0x6c,0x20,0x20,0x6c,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x6c,0x20,0x00,0x10,0x00,0x00,0x40,0x00,0x20,0x20, +0x00,0x20,0x6c,0x20,0xa0,0x10,0x20,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x36,0x21,0x00,0x00,0x04,0x04,0x04,0x04,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x64,0x00,0x6c,0x00,0x02,0x20,0x30,0x20,0x30,0x00,0x21,0x00,0x20,0x20,0x30,0x36,0x00,0x21,0x20,0x20,0x20,0x20,0x4b,0x20,0x20,0x08,0x04,0x01,0x04,0x00,0x10,0x00, +0x36,0x13,0x6c,0x00,0xa0,0x00,0x30,0x30,0x30,0x00,0x00,0x00,0x20,0x00,0x36,0x20,0x20,0x00,0x36,0x36,0x36,0x00,0x00,0x00,0x20,0x4b,0x20,0x4b,0x20,0x4b,0x20,0x20, +0x20,0x20,0x6c,0x20,0x20,0x00,0x36,0x30,0x21,0x13,0x04,0x20,0x20,0x20,0x00,0x00,0x20,0x00,0x36,0x36,0x36,0x00,0x33,0x00,0x12,0x00,0x63,0x00,0x3e,0x00,0x01,0x43, +0x45,0x01,0x6c,0x00,0x00,0x10,0x00,0x00,0x00,0x20,0x20,0x20,0x64,0x20,0x20,0x00,0x00,0x20,0x36,0x36,0x36,0x00,0x65,0x00,0x20,0x20,0x00,0x00,0x20,0xa0,0x02,0x66, +0x21,0x00,0x1a,0x02,0x20,0x20,0x20,0x20,0x00,0x20,0x00,0x20,0x20,0x20,0x00,0xa0,0x00,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x20,0x20,0x20,0x00,0x00,0x64,0x20, +0x45,0x00,0x20,0x48,0x20,0x20,0x20,0x20,0x2e,0x20,0x20,0x00,0x20,0x00,0xa0,0xa0,0x00,0x20,0x20,0x00,0x01,0x00,0x20,0x48,0x20,0xa0,0x00,0x20,0x20,0x20,0x20,0x20, +0x22,0x36,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x00,0x20,0x20,0x00,0x21,0x12,0x00,0x20,0x20,0x00,0x20,0x20,0x48,0x20,0x00,0x20,0x20,0x20,0x00,0x20,0x00,0x20,0x20, +0x00,0x64,0x00,0x20,0x34,0x20,0x20,0x36,0x00,0x00,0x10,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x00,0x00,0x20,0x20,0x12,0x12,0x20,0x20,0x00,0x20,0x00,0x40, +0x36,0x00,0x36,0x20,0x20,0x20,0x00,0x00,0x20,0x00,0xa0,0x00,0x00,0x00,0x20,0x00,0x11,0x20,0xa0,0x00,0x20,0x20,0x00,0xa0,0x20,0x48,0x20,0x00,0x2e,0x2e,0x2e,0x2e, +0xa0,0x00,0x43,0x02,0x20,0x20,0x00,0x36,0x20,0x00,0x20,0x20,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0xa0,0x20,0x20,0x48,0x20,0x20,0x00,0x10,0x2e,0x2e,0x2e,0x2e,0x2e, +0x20,0x00,0x36,0x00,0x00,0x00,0x00,0x20,0x20,0x00,0x66,0x20,0x66,0x20,0x00,0x40,0x00,0x20,0x00,0x40,0x00,0x20,0x00,0x20,0x10,0x20,0x20,0x2e,0x2e,0x2e,0x00,0x40, +0x20,0x4b,0x36,0x36,0x4b,0xa0,0x00,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x19,0x20,0x48,0x2e,0x08,0xa0,0x20,0x10,0x00,0x11,0x20,0x20,0x20,0x20,0x00,0x20,0x00,0x20, +0x00,0x00,0x36,0x00,0x10,0x00,0x00,0x20,0x00,0x20,0x20,0x66,0x20,0x20,0x00,0x40,0x00,0x20,0x00,0x00,0x08,0x3e,0x3e,0x3e,0x12,0x20,0xa0,0x20,0x20,0x00,0x00,0xa0, +0x64,0x00,0x43,0x00,0x20,0x31,0x00,0x20,0x00,0x20,0x66,0x20,0x20,0x20,0x20,0x00,0x00,0x20,0x00,0x36,0x00,0x3e,0x00,0x3e,0x3e,0x00,0x20,0x20,0xa0,0x20,0x00,0x00, +0xa0,0x04,0xa0,0x00,0x2e,0x20,0x00,0x36,0x00,0x00,0x20,0x20,0x66,0x20,0x20,0x20,0x00,0x20,0x20,0x00,0x00,0x3e,0x00,0x00,0x3e,0x00,0x00,0x01,0x42,0x00,0x00,0x20, +0x00,0x00,0x08,0x20,0x20,0x00,0x00,0x02,0x20,0x4a,0x36,0x20,0x20,0x66,0x20,0x00,0x20,0x20,0x20,0x20,0x02,0x20,0x20,0x66,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0xa0,0x00,0x40,0x01,0x34,0x49,0x49,0x21,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x02,0x20,0x00,0x04,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x20, +0x00,0x3e,0x08,0x20,0x08,0x00,0x00,0x02,0x20,0x4a,0x36,0x20,0x20,0x00,0x20,0x00,0x20,0x20,0x4b,0x20,0x00,0x20,0x00,0x20,0x20,0x66,0x66,0x20,0x20,0x20,0x00,0x20, +0x20,0x00,0x20,0x20,0x20,0x20,0x02,0x3e,0x10,0x00,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x66,0x00,0x00,0x73,0x00,0x00,0x20,0x00,0x20, +0x20,0x20,0xa0,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x20,0x00,0xa0,0x20,0x20,0x3d,0x20,0x20,0x20,0x20,0x00,0x20,0x00,0x73,0x20,0x20,0xa0,0x36,0x73,0x66,0x20,0x20, +0x00,0x00,0x04,0x00,0x02,0x00,0x02,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0xa0,0x00,0x20,0x00,0x20,0x00,0x00,0x73,0x00,0x00,0x20,0x00,0x20, +0x20,0x08,0x36,0xa0,0x4e,0xa0,0x00,0x20,0x20,0xa0,0x20,0x20,0x20,0x3c,0x20,0x20,0x20,0x20,0x00,0x04,0x00,0x20,0x00,0x20,0x20,0x20,0x66,0x66,0x20,0x20,0x00,0x20, +0xa0,0x00,0x00,0x12,0x00,0x00,0x02,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x4b,0x20,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x20, +0x20,0x20,0xa0,0x20,0xa0,0x20,0x00,0x20,0x20,0x20,0x20,0x00,0xa0,0x20,0x20,0x20,0x20,0xa0,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x66,0x20,0x20,0x20,0x20,0x20,0x20, +0x64,0x21,0x00,0x00,0x04,0x00,0x00,0x00,0xa0,0x21,0x21,0x20,0x20,0x49,0x20,0x36,0x18,0x21,0x20,0x00,0x21,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x3e,0x20,0x20, +0x21,0x21,0x00,0x20,0x20,0x48,0x20,0x20,0x00,0x04,0x00,0x20,0x01,0x00,0x20,0x08,0x00,0x21,0x20,0x20,0xa0,0x20,0x20,0x00,0xa0,0x20,0x08,0x21,0x00,0x01,0x20,0x20, +0x20,0x01,0x63,0x04,0x40,0x00,0x20,0x20,0x20,0x20,0x49,0x21,0x00,0x20,0x20,0x00,0x20,0x00,0x20,0x00,0x2e,0x00,0x20,0x13,0x41,0x01,0xa0,0x00,0x65,0x49,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x20,0x20,0x0e,0x20,0x48,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x48,0x21,0x21,0x00,0x02,0x1e,0x1e, +0x21,0x04,0x12,0x00,0x19,0x00,0x20,0x20,0x20,0x2e,0x00,0x21,0x21,0x00,0x20,0x21,0x00,0x00,0x20,0x12,0x12,0x12,0x12,0x20,0x20,0x00,0x20,0x2e,0x1e,0x9e,0x1e,0x9e, +0x02,0x20,0x20,0x20,0x20,0x21,0x20,0x20,0x08,0x00,0x21,0x20,0xa0,0x20,0x13,0x00,0xa0,0xa0,0x00,0x20,0x20,0x20,0x20,0x2e,0x2e,0x18,0x00,0x00,0x1e,0x1e,0x1e,0x1e, +0x00,0x40,0x19,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x21,0x2e,0x20,0x00,0x36,0x48,0x20,0x20,0x00,0x20,0x20,0x20,0x00,0x1e,0x1e,0x00,0x20,0x13,0x00,0x2c,0x00,0x00, +0x2e,0xa0,0x21,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x1e,0x1e,0x00,0xa0,0x00,0x20,0x00,0x1e,0x1e, +0x00,0x21,0x21,0x00,0x20,0x01,0x20,0x00,0x00,0x20,0x20,0x00,0x00,0x00,0x21,0x00,0x20,0x20,0x20,0x20,0x00,0xa0,0x20,0x9e,0x1e,0x1e,0x00,0x20,0xa0,0x02,0x1e,0x9e, +0x00,0x19,0x00,0x00,0x20,0x18,0x20,0x20,0xa0,0x00,0x20,0x02,0x21,0x21,0x01,0x20,0x19,0x00,0x41,0x00,0x21,0x20,0x1e,0x1e,0x1e,0x1e,0x00,0x1e,0x1e,0x00,0x1e,0x1e, +0x21,0xa0,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x20,0x49,0x20,0x21,0x00,0x20,0xa0,0xa0,0x20,0x00,0x00,0x20,0x9e,0x1e,0x01,0x00,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e, +0x20,0x20,0xa0,0x00,0x20,0x18,0x20,0x20,0x21,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0xa0,0x00,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x19,0x1e, +0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x04,0x00,0x00,0x20,0x00,0x20,0x20,0x00,0x20,0xa0,0x00,0x2e,0x20,0x01,0x20,0x13,0x00,0x00,0x00,0x00,0x19,0x00,0x1e,0x1e,0x1e, +0x00,0x00,0x21,0x00,0x04,0x00,0x20,0x20,0x49,0x20,0x20,0x20,0x20,0x36,0x00,0x20,0x36,0x00,0x20,0xa0,0xa0,0x20,0x20,0x2c,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e, +0x20,0x20,0x00,0x20,0x20,0x20,0x00,0x01,0x00,0x00,0x20,0x00,0x20,0x20,0x00,0x20,0x21,0x00,0x20,0x20,0x00,0x00,0x00,0x00,0x18,0x00,0x18,0x00,0x00,0x00,0x00,0x00, +0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x65,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x02,0x20, +0x20,0x20,0x20,0x20,0x71,0x72,0x71,0x71,0x71,0x71,0x71,0x71,0x00,0x00,0x20,0x49,0xa0,0x18,0x21,0x20,0x48,0x20,0x20,0x00,0x04,0x44,0x00,0x00,0x20,0x20,0x3e,0x20, +0x31,0x20,0x01,0x20,0x00,0x6b,0x6b,0x6b,0x6b,0x6b,0x6b,0x6b,0x20,0x1e,0x20,0x00,0x18,0x00,0x21,0x21,0x00,0x20,0x20,0x08,0x20,0x20,0xa0,0x00,0x2e,0x20,0x00,0x00, +0x00,0x00,0x00,0x11,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x00,0x20,0x20,0x49,0x20,0xa0,0x00,0x00,0x00,0x20,0x20,0x00,0xa0,0xa0,0x20,0x00,0x20,0x2e,0x00,0x20, +0xa0,0x26,0x26,0x26,0x00,0x01,0x01,0x18,0x01,0x01,0x01,0x01,0x20,0x20,0x20,0x00,0x00,0x00,0x20,0x20,0x02,0x20,0x20,0x4c,0x20,0xa0,0xa0,0x4c,0x20,0x20,0x00,0x20, +0xa6,0xa6,0x26,0x26,0x26,0x26,0x00,0x1e,0x1e,0x1e,0x20,0x20,0x00,0x00,0x20,0x49,0x20,0xa0,0x20,0x20,0x08,0x20,0x20,0x00,0xa0,0x20,0xa0,0x00,0x20,0x20,0x00,0xa0, +0x26,0x26,0x26,0x26,0x26,0x00,0x1e,0x1e,0x1e,0x20,0x20,0x00,0x36,0x48,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x00,0x20,0x20,0x21,0x00,0x20,0x20,0x00,0xa0, +0xa6,0x26,0x26,0x26,0x01,0x1e,0x1e,0x1e,0x1e,0x1e,0x20,0x20,0x00,0x00,0x20,0x49,0x20,0xa0,0x20,0x20,0x02,0x20,0x20,0x00,0x00,0x44,0x00,0x00,0x20,0x20,0x00,0x40, +0x26,0x26,0x26,0x00,0x1e,0x1e,0x1e,0x1e,0x1e,0x20,0x1e,0x1e,0x20,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0xa0, +0x26,0x26,0x00,0x1e,0x1e,0x1e,0x1e,0x1e,0x20,0x1e,0x1e,0x1e,0x1e,0x00,0x20,0x6b,0x6b,0x1e,0x6b,0x6b,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20, +0x26,0x00,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x20,0x1e,0x1e,0x1e,0x1e,0x1e,0xa0,0x20,0x1e,0x1e,0x1e,0x20,0x20,0xa0,0x20,0x20,0x1e,0x1e,0x26,0x26,0x00,0x21,0x20,0x2e, +0x00,0x1e,0x00,0x1e,0x1e,0x1e,0x1e,0x1e,0x20,0x1e,0x1e,0x9e,0x1e,0x1e,0x20,0x1e,0x1e,0x1e,0x1e,0x1e,0x20,0x20,0x20,0x20,0x1e,0x26,0x26,0x26,0x00,0x20,0x20,0x20, +0x00,0x1e,0x1e,0x1e,0x00,0x1e,0x1e,0x1e,0x20,0x1e,0x1e,0x1e,0x1e,0x1e,0x20,0x1e,0x1e,0x9e,0x1e,0x1e,0x20,0x20,0x2c,0x1e,0x1e,0x1e,0x1e,0x26,0x00,0x20,0x20,0x20, +0x20,0x1e,0x00,0x1e,0x1e,0x1e,0x1e,0x1e,0x00,0x1e,0x1e,0x1e,0x1e,0x1e,0x20,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x20,0x1e,0x1e,0x1e,0x1e,0x1e,0x20,0x00,0x00,0xa0,0x00, +0x20,0x02,0x1e,0x1e,0x1e,0x1e,0x1e,0x00,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x20,0x20,0x1e,0x1e,0x00,0x1e,0x1e,0x20,0x1e,0x1e,0x6b,0x20,0x20,0x20,0x00,0x20,0x36,0x21, +0x20,0x19,0x1e,0x1e,0x1e,0x1e,0x1e,0x04,0x20,0x00,0x1e,0x1e,0x1e,0x00,0x20,0x20,0x1e,0x00,0x1e,0x1e,0x1e,0x20,0x1e,0x9e,0x08,0x6b,0x20,0x08,0x02,0x20,0x30,0x20, +0x20,0x08,0x1e,0x1e,0x1e,0x1e,0x00,0x20,0x1e,0x1e,0x6b,0x1e,0x1e,0x00,0x20,0x00,0x00,0x1e,0x1e,0x01,0x00,0x20,0x1e,0x1e,0x1e,0x6b,0x66,0x20,0x34,0x00,0x00,0x00, +0x00,0x64,0x18,0x00,0x31,0xa0,0x34,0x00,0x18,0x00,0xa0,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x00,0x18,0x00,0x31,0xa0,0x34,0x00,0x18,0x00,0x31,0x20,0x20,0x20, +0x00,0x20,0x20,0x20,0x00,0x00,0x00,0x20,0x20,0x66,0x00,0x20,0x20,0x30,0x00,0x30,0x20,0x20,0x00,0xa0,0x73,0x20,0x00,0x00,0x00,0x20,0x73,0xa0,0x00,0x20,0xa0,0x20, +0x18,0x20,0x31,0x20,0x48,0x20,0x20,0xa0,0x20,0x20,0x18,0x20,0x20,0x00,0x40,0x00,0x20,0x20,0x18,0x73,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x18,0x20,0x20,0x20, +0x00,0x20,0x20,0x20,0x00,0x01,0x00,0x20,0x20,0x21,0x00,0x18,0x00,0xa0,0x20,0xa0,0x00,0x18,0x00,0x20,0x20,0x21,0x00,0x00,0x00,0x20,0x20,0x20,0x00,0x00,0x20,0x20, +0x34,0x00,0x40,0x00,0xa0,0x66,0xa0,0x00,0x00,0x00,0x20,0xa0,0x20,0x08,0x00,0x00,0x20,0x20,0x66,0x00,0x20,0x00,0x20,0x20,0x20,0x00,0x20,0x00,0x20,0x64,0x00,0x64, +0xa0,0x00,0x00,0x00,0x20,0x70,0x20,0x00,0xa0,0x18,0x20,0x34,0xa0,0x4a,0x21,0x20,0x20,0x20,0x20,0x18,0x20,0x08,0x20,0x34,0x20,0x00,0x20,0x4e,0x66,0x64,0x00,0x00, +0x31,0x00,0x00,0x00,0x20,0x73,0x20,0x00,0x42,0x00,0x20,0x20,0x20,0x00,0x00,0x3e,0x20,0xa0,0x20,0x00,0x20,0x00,0x20,0x20,0x20,0x00,0x20,0x00,0x20,0x64,0x00,0x34, +0x00,0x20,0x20,0x20,0x00,0x3e,0x00,0x20,0xa0,0x20,0x00,0x42,0x00,0x20,0x20,0xa0,0x00,0x42,0x00,0x20,0x20,0x20,0x00,0x05,0x00,0x20,0x20,0x20,0x00,0x00,0x20,0x00, +0x18,0x20,0x20,0xa0,0x20,0x20,0x20,0x20,0x31,0x20,0x18,0x20,0x08,0x20,0x31,0x20,0x00,0xa0,0x18,0x73,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x73,0x18,0x36,0x00,0x64, +0x00,0x20,0x20,0x20,0x00,0x44,0x01,0x20,0x20,0x20,0x00,0x20,0x00,0x20,0x20,0x20,0x00,0x00,0x00,0xa0,0x73,0x20,0x00,0x00,0x00,0x20,0x73,0xa0,0x00,0x20,0x20,0x00, +0x00,0x00,0x18,0x00,0x20,0x20,0x20,0x00,0x18,0x00,0x20,0xa0,0x20,0x00,0x00,0x00,0x20,0x20,0x20,0x00,0x18,0x00,0x33,0x20,0x33,0x00,0x18,0x00,0x20,0x20,0x20,0x20, +0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x18,0x20,0xa0,0x20,0x20,0x20,0x00,0x20,0x34,0x20,0x18,0x70,0x20,0x00,0x00,0x64,0x00,0x20,0x20,0x20,0xa0,0x20,0x20, +0x00,0x30,0x20,0x34,0x20,0x20,0x20,0x31,0x20,0x00,0x20,0x20,0x20,0x00,0x00,0x00,0x20,0x20,0x20,0x00,0x70,0x20,0x20,0x64,0x00,0x20,0x00,0x20,0xa0,0x20,0x20,0x20, +0x00,0x30,0x20,0x20,0x20,0x34,0x20,0x20,0x20,0x00,0x00,0x18,0x00,0x20,0xa0,0x20,0x00,0x18,0x00,0x70,0x70,0x70,0x00,0x06,0x20,0x20,0x20,0x13,0x20,0x20,0x08,0x40, +0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0a,0x20,0x20,0x20,0x00,0xa0,0x20,0x70,0x70,0x48,0x20,0x70,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x20, +0x20,0x00,0x20,0x20,0x36,0x36,0x36,0x20,0x20,0x00,0x20,0x31,0x20,0x00,0x20,0xa0,0x70,0x70,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x20, +0x20,0x20,0x00,0x18,0x00,0x01,0x00,0x18,0x00,0x18,0x20,0x20,0x66,0x00,0x20,0x20,0x00,0x01,0x36,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0f,0x20, +0x20,0x20,0x20,0x20,0x4c,0x73,0x20,0x20,0x20,0x00,0x00,0x00,0x73,0x00,0x20,0x00,0x20,0x20,0x00,0x20,0x4b,0x20,0x20,0x20,0x20,0x20,0x20,0x01,0x20,0x20,0x20,0x00, +0x20,0x20,0x20,0x20,0x08,0x00,0x20,0x34,0xa0,0x18,0x20,0x20,0x20,0x00,0x00,0x64,0x00,0x20,0x20,0x01,0x00,0x43,0x00,0x2e,0x2e,0x2e,0x20,0x20,0x02,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x31,0x00,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x3e,0x20,0x00,0x20,0x20,0x66,0x4b,0x20,0x20,0x4b,0x2e,0x66,0x2e,0x20,0x20,0x20,0x20,0x20,0x20, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0xa0,0x20,0x3e,0x20,0x00,0x20,0x20,0x20,0x00,0x20,0x20,0x00,0x2e,0x2e,0x2e,0x00,0x00,0x20,0x00,0x20,0x00, +0x20,0x20,0x20,0x20,0x20,0x00,0x31,0x00,0x20,0x20,0x00,0x00,0x00,0x10,0x34,0x00,0x00,0x00,0x00,0x64,0x00,0x20,0x20,0x00,0x41,0x00,0x30,0x20,0x00,0x20,0x00,0x20, +0x20,0x20,0x20,0x20,0x20,0x00,0x40,0x00,0x20,0xa0,0x00,0x34,0x00,0x20,0x00,0x66,0x20,0x20,0x00,0x20,0x00,0x00,0xa0,0x20,0x20,0x20,0x20,0x20,0x00,0xa0,0x00,0x20, +0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x20,0x00,0x40,0x00,0x20,0x18,0x20,0x31,0x20,0x00,0x20,0x20,0x33,0x00,0x20,0x20,0x20,0xa0,0x20,0x00,0x20,0x00,0x20, +0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0xa0,0x20,0x00,0x20,0x20,0x20,0x18,0x20,0x20,0x20,0x00,0x21,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0xa0, +0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x20,0x00,0x20,0xa0,0x20,0x00,0x00,0x00,0x73,0x00,0x00,0x00,0x00,0x00,0x33,0x00,0x20,0x20,0x20,0x00,0x36,0x00,0x20, +0x20,0x20,0x20,0x20,0x20,0x00,0x31,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x66,0x00,0x00,0x20,0x20,0x00,0x20,0x64,0x00,0x20,0x20,0x00,0x00,0x00,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x3e,0x20,0x00,0x20,0x00,0x00,0x02,0x20,0x20,0x20,0x00,0x40,0x00,0x00, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0xa0,0x20,0x3e,0x20,0x00,0x20,0x20,0x20,0x20,0x00,0x20,0x00,0x00,0x30,0x04,0x36, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x00,0x66,0x20,0x20,0x20,0x00, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x00,0x33,0x00,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x33,0x64,0x00,0x20,0x20,0x34, +0x00,0x20,0x20,0x20,0x20,0x20,0x13,0x20,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x00,0x31,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x00,0x20,0x20,0x00,0x20,0x20,0x00,0x20,0x20,0x02,0x20,0x12,0x20,0x12,0x20,0x12,0x20,0x12,0x20,0x20,0x00,0xa0,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x20, +0x04,0x40,0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x20,0x00,0x20,0x00,0xa0,0x00,0x20,0x00,0xa0,0x00,0x20,0x00,0x20,0x00,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x20,0x1a,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x00,0x20,0x00,0x20,0x20,0xa0,0x66,0x20,0x20,0x20,0x20, +0x00,0x40,0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x20,0x00,0xa0,0x00,0x21,0x00,0xa0,0x00,0x20,0x00,0xa0,0x00,0x20,0x20,0x20,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20, +0x00,0x20,0x20,0x00,0x20,0x20,0x00,0x20,0x20,0x13,0x31,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x20,0x00,0x20,0x00,0xa0,0x34,0x00,0x20,0x20,0x20,0x20, +0x00,0x20,0x20,0x00,0x20,0x20,0x00,0x20,0x34,0x00,0x20,0x48,0x36,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x00,0x20,0x00,0xa0,0xa0,0xa0,0x00,0x40,0x00,0x12, +0x20,0x00,0x00,0x31,0x00,0x00,0x00,0x00,0x00,0x64,0x00,0x00,0x20,0x00,0x20,0x11,0x20,0x00,0xa0,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x02,0x20,0x20,0x20,0x20, +0x20,0x34,0x00,0x20,0x20,0x00,0x20,0x20,0x20,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x10,0x18,0x10,0x00,0x00,0x00,0x36,0x20,0x00,0x00,0x40,0x00,0x20, +0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x70,0x70,0x70,0x70,0x70,0x70,0x08,0x20,0x20,0x00,0x48,0x20,0x00,0x20, +0x20,0xa0,0xa0,0x20,0x20,0x00,0x43,0x00,0x20,0x20,0x20,0x20,0x0e,0x20,0x00,0x20,0x00,0x70,0x70,0x70,0x70,0x70,0x70,0x70,0x70,0x01,0x44,0x00,0x00,0x00,0x00,0x20, +0xa0,0xa0,0xa0,0x20,0x02,0x20,0x20,0x31,0x01,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x00,0xa0,0xa0,0xa0,0x00,0x70,0x70,0x70,0x70,0x70,0x36,0x20,0x00,0xa0,0x00,0x12, +0x20,0xa0,0xa0,0x20,0x20,0x00,0x63,0x00,0x20,0x20,0x00,0x20,0x2e,0x20,0x2e,0x2e,0x20,0x00,0x18,0x00,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x00,0x34,0x01,0x20,0x20, +0x20,0x20,0x20,0xa0,0x20,0x13,0x00,0x20,0x31,0x00,0x02,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0xa0,0xa0,0x20,0x00,0x64,0x02,0x20,0x00,0x20,0x4e,0x20,0x20,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x20,0x2e,0x2e,0x13,0x20,0x2e,0x00,0x20,0x20,0x2e,0x20,0x20, +0x00,0x20,0x00,0x12,0x00,0x33,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x48,0x20,0x00,0xa0,0x00,0x20,0x48,0x20,0x2e,0x2e,0x00,0x20,0x20,0x4e,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x18,0x33,0x00,0x20,0x00,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x20,0x20,0x20,0x18,0x20,0x20,0x02,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x31,0x00,0x33,0x00,0x36,0x00,0x20,0x20,0x20,0x20,0x13,0xa0,0x02,0xa0,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x00,0x00,0x00,0x10,0x00,0x10,0x20,0x00,0x20,0x00,0x00,0x20,0x20,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x20,0x31,0x20,0x00,0x20,0x20,0x2e,0x20,0x00,0x46,0x00,0x20, +0x36,0x3e,0x36,0x20,0x36,0x20,0x36,0x20,0x36,0x00,0x20,0x3e,0x00,0x00,0x20,0x48,0x20,0x20,0x66,0xa0,0x20,0x20,0x20,0x10,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x00, +0x00,0x11,0xa0,0x3d,0x20,0x3d,0xa0,0x20,0x13,0x20,0x70,0x20,0x00,0x00,0x40,0x00,0x10,0x18,0x10,0x00,0x00,0x00,0x00,0x20,0x20,0x00,0x20,0x20,0x20,0x20,0x00,0x64, +0x20,0x00,0x36,0x20,0x36,0x20,0x36,0x00,0xa0,0x70,0x00,0x70,0x20,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x20,0x00,0x00,0x20,0x00,0x20,0x00,0x33, +0x20,0x20,0x00,0x3d,0x20,0x3d,0x00,0x20,0x70,0x70,0x70,0x70,0x70,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x00,0x00,0x20,0x20,0x00,0x20,0x00,0x00,0x00, +0x20,0x20,0x20,0x00,0x36,0x00,0x20,0x70,0x70,0x70,0x70,0x70,0x70,0x70,0x20,0x00,0x40,0x00,0x20,0x20,0x13,0x66,0x00,0x36,0x48,0x30,0xa0,0x20,0x30,0x00,0x48,0x36, +0x20,0x20,0x00,0x20,0x00,0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,0x3e,0x00,0x00,0x20,0x20,0x00,0x20,0x20,0x00,0x00,0x10,0x00,0x18,0x00,0x00,0x00,0x01, +0x20,0x00,0x20,0x20,0x20,0x00,0x20,0x70,0x70,0x70,0x70,0x70,0x70,0x70,0xa0,0x00,0x04,0x20,0x20,0x20,0x13,0x20,0x20,0x20,0x30,0x20,0x20,0xa0,0x48,0x73,0x20,0x36, +0x20,0x00,0x20,0x20,0x20,0xa0,0x00,0x20,0x70,0x70,0x70,0x70,0x70,0x20,0x00,0x20,0x20,0x20,0xa0,0x20,0x00,0x20,0x20,0x20,0x30,0x20,0xa0,0x20,0x00,0x00,0x00,0x40, +0x20,0x36,0x00,0x36,0x20,0x20,0x00,0x00,0x20,0x70,0x04,0x70,0x20,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x30,0x20,0x20,0xa0,0x00,0x20,0xa0,0x20, +0x20,0x20,0x00,0x20,0x20,0x00,0x20,0x20,0x00,0x20,0x70,0x20,0x00,0x20,0x20,0x00,0x12,0x00,0x12,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0xa0,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x20,0x20,0xa0,0x20,0x00,0xa0,0x00,0x20,0x21,0x20,0x00,0x20,0x20,0x20,0x00,0x21,0x20,0x20,0x00,0x20,0x20,0x20,0x00,0xa0,0xa0,0xa0,0xa0, +0x20,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x21,0x20,0x20,0x36,0x00,0x21,0x20,0x36,0x00,0x20,0x20,0x36,0x00,0x21,0x20,0x36,0x00,0xa0,0xa0,0xa0,0xa0, +0x00,0x20,0x00,0x20,0x00,0x20,0x20,0xa0,0x20,0x36,0x00,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x00,0xa0,0xa0,0xa0,0xa0, +] + +#plates=0 +#iplates=0 +#for n in maps: +# if n==0x36: +# plates+=1 +# elif n==0x66: +# iplates+=1 +#print(plates) +#print(iplates) +#print(plates+iplates) +#quit() + +map_names_long = [ +"Forest area", +"Quest Three: Sword of Freedom, floor 1", +"Quest Three: Sword of Freedom, floor 2", +"Quest Three: Sword of Freedom, floor 3", +"Quest Two: Cup of Life", +"Quest One: Shield of Justice", +"Quest Four: Crown of Glory, various", +"Quest Four: Crown of Glory, floor 1", +] + +map_abbr = [ +"Fo", +"3a", +"3b", +"3c", +"2 ", +"1 ", +"4b", +"4a", +] + +map_names = [ +"Forest ", +"Sword 1", +"Sword 2", +"Sword 3", +"Cup ", +"Shield ", +"Crown 2", +"Crown 1", +] + +tile_names = { +0x00: "Solid wall", +0x01: "Solid wall (Decorations: N)", +0x02: "Solid wall (Decorations: E)", +0x03: "Solid wall (Decorations: N, E) (unused)", +0x04: "Solid wall (Decorations: S)", +0x05: "Solid wall (Decorations: N, S)", +0x06: "Solid wall (Decorations: E, S)", +0x07: "Solid wall (Decorations: N, E, S) (unused)", +0x08: "Solid wall (Decorations: W)", +0x09: "Solid wall (Decorations: N, W) (unused)", +0x0a: "Solid wall (Decorations: E, W)", +0x0b: "Solid wall (Decorations: N, E, W)", +0x0c: "Solid wall (Decorations: S, W) (unused)", +0x0d: "Solid wall (Decorations: N, S, W) (unused)", +0x0e: "Solid wall (Decorations: E, S, W)", +0x0f: "Solid wall (Decorations: N, E, S, W)", +0x10: "Wall hatch, closed, north", +0x11: "Wall hatch, closed, east", +0x12: "Wall hatch, closed, south", +0x13: "Wall hatch, closed, west", +0x14: "Wall hatch, open, north", +0x15: "Wall hatch, open, east", +0x16: "Wall hatch, open, south", +0x17: "Wall hatch, open, west", +0x18: "Arrowslit", +0x19: "Barred window", +0x1a: "Roller? wall", +0x1e: "Water", +0x20: "Empty space", +0x21: "Empty space", +0x22: "Pit, instant kill", +0x26: "Grass", +0x27: "Grass", +0x2a: "Grass, red flowers", +0x2c: "Boat", +0x2e: "Floor grate", +0x30: "Floor pit", +0x31: "Floor pit, ladder down", +0x33: "Ceiling pit", +0x34: "Ceiling pit, ladder up", +0x36: "Floor switch", +0x3c: "Turn right", +0x3d: "Turn left", +0x3e: "Illusory wall", +0x40: "Door, closed, north-south, with button", +0x41: "Door, closed, north-south, without button", +0x42: "Door, closed, north-south, windowless", +0x43: "Door, closed, north-south, face", +0x44: "Portcullis, closed, north-south, top opening", +0x45: "Portcullis, closed, north-south, two openings", +0x46: "Portcullis, closed, north-south, no openings", +0x47: "Door, closed, north-south, face", +0x48: "Door, closed, east-west, with button", +0x49: "Door, closed, east-west, without button", +0x4a: "Door, closed, east-west, windowless", +0x4b: "Door, closed, east-west, face", +0x4c: "Portcullis, closed, north-south, top opening", +0x4d: "Portcullis, closed, north-south, two openings", +0x4e: "Portcullis, closed, north-south, no openings", +0x50: "Door, open, north-south, with button", +0x51: "Door, open, north-south, without button", +0x52: "Door, open, north-south, windowless", +0x53: "Door, open, north-south, face", +0x54: "Portcullis, open, north-south, top opening", +0x55: "Portcullis, open, north-south, two openings", +0x56: "Portcullis, open, north-south, no openings", +0x57: "Door, open, north-south, face", +0x58: "Door, open, east-west, with button", +0x59: "Door, open, east-west, without button", +0x5a: "Door, open, east-west, windowless", +0x5b: "Door, open, east-west, face", +0x5c: "Portcullis, open, north-south, top opening", +0x5d: "Portcullis, open, north-south, two openings", +0x5e: "Portcullis, open, north-south, no openings", +0x63: "Sprig of Life and Death", +0x64: "Portal", +0x65: "Portal", +0x66: "Invisible switch", +0x68: "Tree", +0x69: "Two trees", +0x6a: "Four trees", +0x6b: "Hedge", +0x6c: "Invisible wall", +0x6f: "Well", +0x70: "Fog", +0x71: "Railway", +0x72: "Railway with cart", +0x73: "?", +} + +# Additionally, any square appears to be able to add `0x80` to signify that the +# square is occupied by a monster and cannot be entered. For example, `0xa0` is +# just an occupied `0x20`. +# +# The following tile IDs are not used in any map: 03, 07, 09, 0c, 0d, 14, 15, 16, +# 17, 1b, 1c, 1d, 1f, 23, 24, 25, 28, 29, 2b, 2d, 2f, 32, 35, 37, 38, 39, 3a, 3b, +# 3f, 4f, 5f, 60, 61, 62, 67, 6d, 6e. Additionally, no maps use 14 to 17 (open +# hatches) or 50 to 5e (open doors); all start closed. + +# pressure plates + +plates = { +0x00ee: [0x00, 0x34], +0x00f3: [0x00, 0x34], +0x0185: [0x00, 0x34], +0x018e: [0x00, 0x34], +0x0231: [0x00, 0x34], +0x0432: [0x00, 0x80], +0x0496: [0x00, 0x7f], +0x0548: [0x01, 0x00, 0x04], +0x054a: [0x01, 0x00, 0x05], +0x054c: [0x01, 0x00, 0x06], +0x054e: [0x01, 0x00, 0x07], +0x0588: [0x01, 0x01, 0x04], +0x058a: [0x01, 0x01, 0x05], +0x058c: [0x01, 0x01, 0x06], +0x058e: [0x01, 0x01, 0x07], +0x05c8: [0x01, 0x02, 0x04], +0x05ca: [0x01, 0x02, 0x05], +0x05cc: [0x01, 0x02, 0x06], +0x05ce: [0x01, 0x02, 0x07], +0x0608: [0x01, 0x03, 0x04], +0x060a: [0x01, 0x03, 0x05], +0x060c: [0x01, 0x03, 0x06], +0x060e: [0x01, 0x03, 0x07], +0x0534: [0x83, 0x08, 0x09, 0x0a, 0x0b], +0x09e4: [0x90, 0x1b], +0x09f0: [0x00, 0x0c], +0x09f2: [0x00, 0x0d], +0x0892: [0x88, 0x16, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15], +0x0862: [0x80, 0x17], +0x08a2: [0x80, 0x17], +0x08e2: [0x80, 0x17], +0x0922: [0x80, 0x17], +0x0962: [0x80, 0x17], +0x09a2: [0x80, 0x17], +0x0904: [0x40, 0x18], +0x0d92: [0x00, 0x9a], +0x0dce: [0x00, 0x1a], +0x0dae: [0x00, 0x1a], +0x0d8f: [0x00, 0x1a], +0x0db0: [0x00, 0x1a], +0x0dbe: [0x00, 0x82], +0x140f: [0x90, 0x1c], +0x14ce: [0x00, 0x1d], +0x15ad: [0x02, 0x1e, 0x1f, 0x20], +0x15b0: [0x02, 0x21, 0x22, 0x23], +0x17be: [0x00, 0x81], +0x10ee: [0x80, 0x25], +0x110f: [0x80, 0x24], +0x112e: [0x80, 0x26], +0x1120: [0x00, 0x36], +0x1146: [0x80, 0x2b], +0x1086: [0x00, 0x2c], +0x1087: [0x00, 0x2c], +0x1088: [0x00, 0x2d], +0x10a8: [0x00, 0x2d], +0x10a7: [0x00, 0x2e], +0x10c8: [0x00, 0x2d], +0x11c1: [0x80, 0x27], +0x1132: [0x82, 0x28, 0x29, 0x2a], +0x1152: [0x80, 0x28], +0x1172: [0x80, 0x28], +0x1133: [0x80, 0x29], +0x1153: [0x80, 0x29], +0x1173: [0x82, 0x29, 0x2a, 0x28], +0x1134: [0x80, 0x2a], +0x1154: [0x82, 0x2a, 0x28, 0x29], +0x1174: [0x80, 0x2a], +0x117f: [0x00, 0x84], +0x12b3: [0x40, 0x85], +0x12f7: [0x00, 0x86], +0x133a: [0x00, 0x87], +0x1339: [0x00, 0x89], +0x137d: [0x00, 0x86], +0x13bb: [0x00, 0x89], +0x13ba: [0x00, 0x88], +0x13f9: [0x00, 0x86], +0x1357: [0x00, 0x87], +0x137b: [0x01, 0x8a, 0x8b], +0x12ea: [0x00, 0x8c], +0x132a: [0x00, 0x8d], +0x124c: [0x00, 0x8e], +0x124a: [0x00, 0x8f], +0x128b: [0x00, 0x90], +0x12cc: [0x00, 0x91], +0x12aa: [0x00, 0x92], +0x12ed: [0x00, 0x93], +0x13a2: [0x00, 0x83], +0x1c69: [0x03, 0x94, 0x95, 0x96, 0x97], +0x0441: [0x80, 0x48], +0x0461: [0x80, 0x49], +0x0481: [0x80, 0x4a], +0x04a1: [0x80, 0x4b], +0x04c1: [0x80, 0x4c], +0x04e1: [0x80, 0x4d], +0x0501: [0x80, 0x4d], +0x0521: [0x80, 0x4d], +0x0541: [0x80, 0x4d], +0x0561: [0xc0, 0x4e, 0x44], +0x1ccc: [0x00, 0x98], +0x1c7b: [0x04, 0x99, 0x9b, 0x9c, 0x9d, 0x9e], +0x1d19: [0x01, 0x9f, 0xa0], +0x1645: [0x80, 0xa1], +0x1646: [0x80, 0xa1], +0x1647: [0x80, 0xa1], +0x1648: [0x80, 0xa1], +0x1649: [0x80, 0xa1], +0x164b: [0x80, 0xa1], +0x164a: [0x80, 0xa2], +0x1644: [0x01, 0xa3, 0xa8], +0x16ac: [0x03, 0xa4, 0xa5, 0xa6, 0xa7], +0x1d7a: [0x01, 0xa9, 0xaa], +0x1e72: [0x00, 0xab], +0x1ef7: [0x81, 0xac, 0xad], +0x1eff: [0x80, 0xae], +0x1f3f: [0x80, 0xaf], +0x1ef5: [0x00, 0xab], +0x1fce: [0x02, 0xb0, 0xb1, 0xb2], +0x1fd2: [0x02, 0xb3, 0xb4, 0xb5], +0x1fd6: [0x02, 0xb6, 0xb7, 0xb8], +0x1fda: [0x02, 0xb9, 0xba, 0xbb], +0x1242: [0x00, 0x4f], +0x1262: [0x40, 0x50], +0x1282: [0x40, 0x51], +0x1263: [0x40, 0x52], +0x1202: [0x00, 0x5f], +0x1200: [0x00, 0x5f], +0x11e7: [0x03, 0x57, 0x5c, 0x5d, 0x5e], +0x1227: [0x04, 0x58, 0x53, 0x54, 0x55, 0x56], +0x12c7: [0x03, 0x59, 0x5a, 0x5b, 0x57], +0x1e27: [0x01, 0xbc, 0xbd], +0x1fe9: [0x01, 0xbe, 0xbf], +0x1e68: [0xc0, 0xbd, 0x25], +0x1e66: [0xc0, 0xbd, 0x25], +0x1e64: [0xc0, 0xbd, 0x25], +0x1e62: [0xc0, 0xbd, 0x25], +0x1e60: [0xc0, 0xbd, 0x25], +0x1ea2: [0xc0, 0xbd, 0x25], +0x1ea6: [0xc0, 0xbd, 0x25], +0x1ee4: [0xc0, 0xbd, 0x25], +0x1ea4: [0xc0, 0xc0, 0x47], +0x1f61: [0x01, 0xc1, 0xc2], +0x1f63: [0x01, 0xc1, 0xc2], +0x1bbb: [0x03, 0xc3, 0xc4, 0xc6, 0xc7], +0x1b3d: [0x81, 0xc8, 0xc9], +0x1a78: [0x01, 0xca, 0xcb], +0x1b9f: [0x41, 0xca, 0xcb], +0x1a72: [0x00, 0xc5], +0x1a12: [0x02, 0xce, 0xcf, 0xd0], +0x1829: [0x01, 0xd1, 0xd2], +0x1885: [0x01, 0xd3, 0xd4], +0x1892: [0x00, 0xd5], +0x18bc: [0x03, 0xd6, 0xd7, 0xd8, 0xd9], +0x191d: [0x01, 0xda, 0xdb], +0x19e4: [0xc0, 0xe4, 0x43], +0x19e5: [0xc0, 0xe5, 0x43], +0x19e6: [0xc0, 0xe6, 0x43], +0x066d: [0xc1, 0x69, 0x60, 0x5b], +0x06ed: [0xc1, 0x69, 0x61, 0x5b], +0x06e9: [0xc1, 0x69, 0x62, 0x5b], +0x0669: [0xc1, 0x69, 0x63, 0x5b], +0x06a4: [0x80, 0x67], +0x06e4: [0x80, 0x66], +0x06e2: [0x80, 0x65], +0x06a2: [0x80, 0x64], +0x06ae: [0x00, 0x68], +0x0ec3: [0x01, 0x6a, 0x6b], +0x0ee2: [0x01, 0x6a, 0x6d], +0x0f03: [0x01, 0x6c, 0x6d], +0x0ee4: [0x01, 0x6b, 0x6c], +0x0ee3: [0x0b, 0x76, 0x77, 0x78, 0x71, 0x72, 0x73, 0x74, 0x75, 0x6a, 0x6b, 0x6c, 0x6d], +0x0f46: [0x04, 0x72, 0x79, 0x70, 0x7c, 0x75], +0x0f40: [0x03, 0x7b, 0x7a, 0x71, 0x75], +0x0e80: [0x02, 0x6e, 0x7a, 0x73], +0x0e86: [0x05, 0x72, 0x74, 0x73, 0x79, 0x6f, 0x7d], +0x0e3e: [0x00, 0x7e], +0x0fc8: [0x00, 0xcc], +0x0fe9: [0x00, 0xcc], +0x0fab: [0x01, 0xdc, 0xdf], +0x0fcb: [0x01, 0xdd, 0xdf], +0x0feb: [0x01, 0xde, 0xdf], +0x0fd3: [0x01, 0xe0, 0xe1], +0x0f70: [0x00, 0xe2], +0x0eea: [0x00, 0xcd], +0x0d33: [0x00, 0x19], +0x0c19: [0x02, 0x2f, 0x30, 0x31], +0x0cb8: [0x00, 0x32], +0x0c3f: [0x80, 0x33], +0x0d1f: [0x01, 0x35, 0x37], +0x065e: [0x00, 0x38], +0x065a: [0x81, 0x3b, 0x3c], +0x067c: [0x03, 0x3d, 0x3e, 0x3f, 0x40], +0x069d: [0x03, 0x3f, 0x40, 0x3a, 0x39], +0x0afb: [0x00, 0xe3], +0x0a84: [0x80, 0x43], +0x0b05: [0x01, 0x41, 0x42], +0x0af9: [0x00, 0x44], +0x0a5c: [0x00, 0x45], +0x0a5e: [0x00, 0x45], +0x0a7f: [0x00, 0x45], +0x0a8c: [0x01, 0x46, 0x47], +0x17fa: [0x01, 0xe7, 0xe8], +0x16ed: [0x40, 0xe9], +0x1a0c: [0x00, 0xea], +0x1a8a: [0x00, 0xed], +0x1acf: [0x00, 0xeb], +0x1b51: [0x00, 0xec], +0x077a: [0x00, 0xee], +0x0770: [0x00, 0xef], +0x07e6: [0x00, 0xf0], +0x07e4: [0x00, 0xf1], +0x07e1: [0x00, 0xf2], +0x07a6: [0x00, 0xf3], +0x03be: [0xc0, 0xf5, 0x08], +0x03ff: [0x00, 0xf4], +} + +unk_205a = [ +[0x00, 0x10, 0x01, 0x01], +[0x08, 0x90, 0x02, 0x04], +[0x02, 0x01, 0x0a, 0x02], +[0x00, 0x0a, 0x14, 0x00], +[0x00, 0x10, 0x05, 0x01], +[0x00, 0x03, 0x05, 0x0f], +[0x0f, 0x01, 0x4f, 0x0f], +[0x00, 0x87, 0x14, 0x00], +[0x00, 0x10, 0x06, 0x01], +[0x00, 0x00, 0x00, 0x0f], +[0x20, 0x5a, 0xb3, 0x19], +[0x03, 0xa7, 0x14, 0x00], +[0x00, 0x10, 0x07, 0x01], +[0x00, 0x01, 0x02, 0x09], +[0x1f, 0x64, 0x8b, 0x0f], +[0x01, 0xb3, 0x14, 0x00], +[0x00, 0x1c, 0x08, 0x04], +[0x00, 0x02, 0x04, 0x05], +[0x1d, 0x00, 0xbf, 0x0a], +[0x00, 0xeb, 0x00, 0x00], +[0x00, 0xeb, 0x02, 0x00], +[0x00, 0xeb, 0x06, 0x00], +[0x00, 0xeb, 0x08, 0x00], +[0x00, 0x10, 0x09, 0x01], +[0x00, 0x02, 0x0a, 0x0b], +[0x10, 0x6e, 0x6d, 0x1e], +[0x04, 0x6f, 0x14, 0x00], +[0x00, 0x10, 0x0a, 0x01], +[0x11, 0x01, 0x03, 0x0b], +[0x0c, 0x6e, 0x6d, 0x1e], +[0x02, 0x7b, 0x14, 0x00], +[0x00, 0x14, 0x0b, 0x02], +[0x00, 0x03, 0x02, 0x05], +[0x1d, 0x00, 0xbf, 0x0a], +[0x00, 0x9b, 0x00, 0x00], +[0x00, 0x9b, 0x02, 0x00], +[0x00, 0x10, 0x0c, 0x01], +[0x00, 0x00, 0x03, 0x05], +[0x17, 0x00, 0x6f, 0x19], +[0x01, 0xb3, 0x14, 0x00], +[0x00, 0x10, 0x0d, 0x01], +[0x00, 0x02, 0x04, 0x05], +[0x1c, 0x00, 0x6f, 0x14], +[0x01, 0x4f, 0x14, 0x00], +[0x00, 0x10, 0x03, 0x01], +[0x11, 0x00, 0x08, 0x0f], +[0x0c, 0x01, 0x4f, 0x19], +[0x01, 0xb3, 0x14, 0x00], +[0x00, 0x10, 0x0e, 0x01], +[0x00, 0x01, 0x03, 0x05], +[0x1c, 0x00, 0x6f, 0x0a], +[0x00, 0x87, 0x14, 0x00], +[0x00, 0x10, 0x04, 0x01], +[0x00, 0x93, 0x04, 0x06], +[0x06, 0x01, 0x6e, 0x16], +[0x00, 0xc8, 0x14, 0x00], +[0x00, 0x10, 0x00, 0x01], +[0x00, 0x02, 0x08, 0x0f], +[0x0d, 0x01, 0x77, 0x23], +[0x00, 0x23, 0x14, 0x00], +[0x00, 0x14, 0x02, 0x02], +[0x00, 0x02, 0x03, 0x0f], +[0x13, 0x01, 0x4f, 0x19], +[0x00, 0x73, 0x00, 0x00], +[0x00, 0x73, 0x02, 0x00], +[0x00, 0x14, 0x0f, 0x02], +[0x00, 0x03, 0x01, 0x03], +[0x21, 0x00, 0x6f, 0x5a], +[0x00, 0xeb, 0x00, 0x00], +[0x00, 0xeb, 0x02, 0x00], +[0x00, 0x00, 0x00, 0x00], +] + +sign_text = { +0x033d: [0x00, 0x01, 0x02, 0x09, "WELCOME TO YOUR KNIGHTMARE"], +0x0321: [0x00, 0x01, 0x02, 0x10, "YOUR CARRIAGE AWAITS YOU"], +0x031a: [0x01, 0x02, 0x02, 0x0f, "TAKE THIS SHORT CUT TO THE
FOREST"], +0x000e: [0x00, 0x01, 0x02, 0x13, "YOUR QUEST STARTS HERE"], +0x0332: [0x00, 0x02, 0x02, 0x34, "QUEST ONE
THE SHIELD OF JUSTICE"], +0x0180: [0x00, 0x02, 0x02, 0x34, "QUEST TWO
THE CUP OF LIFE"], +0x0138: [0x00, 0x02, 0x02, 0x30, "QUEST THREE
THE SWORD OF FREEDOM"], +0x00e0: [0x00, 0x02, 0x02, 0x32, "QUEST FOUR
THE CROWN OF GLORY"], +0x04c4: [0x00, 0x02, 0x02, 0x10, "HIT THE BUTTON WHEN READY
FOR HELL"], +0x04a7: [0x00, 0x01, 0x02, 0x25, "THE GAME ROOMS"], +0x0471: [0x01, 0x01, 0x02, 0x10, "ONLY PUSH THE RIGHT ONES"], +0x04ec: [0x00, 0x01, 0x02, 0x1e, "THE WORD IS SECRET"], +0x050d: [0x00, 0x02, 0x02, 0x0e, "YOU MAKE THE FIRE. CAN YOU
STOP IT?"], +0x04f2: [0x01, 0x01, 0x02, 0x22, "THE MONSTER RAID"], +0x057c: [0x00, 0x01, 0x02, 0x0a, "LET THEM OUT AND FACE THEM"], +0x0517: [0x00, 0x01, 0x02, 0x18, "BEWARE THE GUARDIANS"], +0x0a70: [0x01, 0x01, 0x02, 0x0c, "WHEN IS A WELL NOT A WELL"], +0x09f3: [0x01, 0x01, 0x02, 0x30, "RUN AWAY!!!"], +0x08f7: [0x01, 0x01, 0x02, 0x14, "BREAD TRAILS ARE HANDY"], +0x0911: [0x00, 0x01, 0x02, 0x23, "BEWARE THE TRAP"], +0x0959: [0x00, 0x01, 0x02, 0x2a, "LOTS OF WORK"], +0x09c3: [0x01, 0x01, 0x02, 0x21, "REMEMBER TO HIDE"], +0x0863: [0x00, 0x01, 0x02, 0x28, "HUNT FOR GOLD"], +0x0de6: [0x00, 0x01, 0x02, 0x12, "WELCOME TO THE DUNGEON"], +0x0dbf: [0x00, 0x02, 0x02, 0x33, "WELL DONE
THE SWORD IS YOURS"], +0x1441: [0x00, 0x02, 0x02, 0x0f, "YOUR QUEST FOR THE SHIELD
HAS BEGUN"], +0x1443: [0x00, 0x01, 0x02, 0x0a, "THE SPRIG OF LIFE AND DEATH"], +0x1481: [0x00, 0x01, 0x02, 0x18, "DO NOT PLAY WITH FIRE"], +0x142f: [0x00, 0x01, 0x02, 0x1e, "KEEP THE PAD DOWN"], +0x1587: [0x00, 0x01, 0x02, 0x22, "SEWER ENTERANCE"], +0x143d: [0x00, 0x01, 0x02, 0x18, "THE HOME OF MR CHILD"], +0x1637: [0x01, 0x01, 0x02, 0x31, "THE PRISON"], +0x17dc: [0x00, 0x02, 0x02, 0x32, "WELL DONE!
QUEST ONE COMPLETED"], +0x114a: [0x00, 0x01, 0x02, 0x2e, "MYSTIC DOOR"], +0x1183: [0x00, 0x01, 0x02, 0x1a, "THE MYSTIC CHAMBERS"], +0x1161: [0x01, 0x01, 0x02, 0x1e, "NOBODY MUST ENTER"], +0x10a5: [0x01, 0x01, 0x02, 0x31, "HOLY MOLY"], +0x1009: [0x00, 0x01, 0x02, 0x12, "YOUR EYES TELL YOU LIES"], +0x1304: [0x01, 0x01, 0x02, 0x22, "THE CUP GARDIANS"], +0x117e: [0x00, 0x01, 0x02, 0x2c, "GOLEMS LAND"], +0x12db: [0x01, 0x01, 0x02, 0x19, "ENTER THE WARP MAZE"], +0x0442: [0x00, 0x01, 0x02, 0x18, "THE CONVEYOR OF LIFE"], +0x1622: [0x00, 0x01, 0x02, 0x25, "TARGET PRACTICE"], +0x1b9e: [0x00, 0x02, 0x02, 0x0d, "THE ROUTE TO THE CASTLE OF
FEAR"], +0x1c40: [0x00, 0x01, 0x02, 0x1f, "THE TRAINING ROOMS"], +0x096f: [0x01, 0x01, 0x02, 0x1c, "THE SOUNDS OF HELL"], +0x1a05: [0x00, 0x01, 0x02, 0x11, "RETURN THE THREE STAFFS"], +0x0688: [0x00, 0x01, 0x02, 0x2a, "GOLDEY LOCKS"], +0x0fa7: [0x00, 0x01, 0x02, 0x1c, "RESET IN THE CENTRE"], +0x0e60: [0x01, 0x01, 0x02, 0x34, "ALPHABET"], +0x0f66: [0x01, 0x01, 0x02, 0x33, "BREACHES"], +0x0e87: [0x01, 0x01, 0x02, 0x38, "CLOSED"], +0x0f60: [0x01, 0x01, 0x02, 0x3b, "DOORS"], +0x0f47: [0x00, 0x01, 0x02, 0x0e, "THE ROOMS OF THE HEALERS"], +0x0f89: [0x00, 0x02, 0x02, 0x12, "TAKE YOUR TIME AND STAND
BACK"], +0x06d1: [0x00, 0x01, 0x02, 0x2d, "DIZZY ROOMS"], +0x073d: [0x00, 0x01, 0x02, 0x25, "EVIL TO THE END"], +0x0a36: [0x01, 0x02, 0x02, 0x0f, "YOU ARE DESTINED TO DIE OF
OLD AGE"], +0x031b: [0x01, 0x01, 0x02, 0x25, "ENJOY YOUR RIDE"], +0x011b: [0x00, 0x01, 0x02, 0x1f, "BEWARE THE SWAMP"], +0x17db: [0x0a, 0x02, 0x02, 0x37, "KEEP OUT
PRIVATE POOLS"], +0x07db: [0x01, 0x01, 0x02, 0x20, "HUNT FOR A SWITCH"], +0x03bf: [0x00, 0x01, 0x02, 0x15, "RETURN THE CROWN HERE"], +} + +teleporters = { +0x035f: 0x0340, +0x0320: 0x035e, +0x033b: 0x002e, +0x000d: 0x033a, +0x0158: 0x0404, +0x0160: 0x122e, +0x0331: 0x1401, +0x00c0: 0x1c61, +0x0a43: 0x0a00, +0x0a44: 0x09e9, +0x08b8: 0x08b9, +0x08ba: 0x089a, +0x087a: 0x085a, +0x0859: 0x083b, +0x083c: 0x083d, +0x085d: 0x087d, +0x087c: 0x08de, +0x08be: 0x08bf, +0x0897: 0x0918, +0x08d9: 0x08dc, +0x0899: 0x08dc, +0x0819: 0x08dc, +0x083a: 0x08b7, +0x08db: 0x08b7, +0x089b: 0x081a, +0x085b: 0x0839, +0x081b: 0x08d8, +0x08bc: 0x081a, +0x08dd: 0x08b7, +0x089d: 0x081a, +0x081d: 0x0879, +0x08df: 0x08da, +0x0c0a: 0x0a50, +0x0c00: 0x0de5, +0x0dc6: 0x0dc8, +0x0dc7: 0x0dc5, +0x0e5d: 0x0dbe, +0x0ddf: 0x002e, +0x1400: 0x0312, +0x145c: 0x15f6, +0x15f5: 0x143b, +0x116c: 0x110e, +0x119e: 0x1150, +0x1176: 0x116a, +0x1100: 0x11c1, +0x11e1: 0x1100, +0x12a0: 0x00ee, +0x0480: 0x0421, +0x04c2: 0x0421, +0x0500: 0x0421, +0x1e9f: 0x1ebb, +0x1dc5: 0x1f57, +0x1a4f: 0x1821, +0x1801: 0x1a30, +0x189d: 0x187f, +0x189f: 0x18bc, +0x18dd: 0x1996, +0x1997: 0x18bc, +0x18bd: 0x1811, +0x1812: 0x18bc, +0x191f: 0x1a1f, +0x1978: 0x1811, +0x1b58: 0x1bbe, +0x1ab3: 0x1abb, +0x1ce9: 0x00c1, +0x1bfb: 0x1985, +0x0fe0: 0x0f0f, +0x0f0f: 0x0fe0, +0x0714: 0x06bc, +0x0b43: 0x0ac3, +0x0b9f: 0x0bb9, +0x0bc9: 0x0bbf, +} + +teleporter_targets = {} +for src,dest in teleporters.items(): + tm,tx,ty = coords(src) + if dest in teleporter_targets.keys(): + teleporter_targets[dest] += f" / X{tx:02} Y{ty:02}" + else: + teleporter_targets[dest] = f"{map_names[tm]} X{tx:02} Y{ty:02}" + +pits = { +0x0a30: [0x0630, 0xa0, 0x60], +0x0a02: [0x0a42, 0xa0, 0xa0], +0x09e3: [0x0a24, 0xa0, 0xa0], +0x0a51: [0x0c61, 0xa0, 0x03], +0x17de: [0x012d, 0x03, 0x03], +0x110e: [0x1156, 0x22, 0x22], +0x10a6: [0x1156, 0x22, 0x22], +0x10c7: [0x1156, 0x22, 0x22], +0x10e7: [0x1156, 0x22, 0x22], +0x10e8: [0x1156, 0x22, 0x22], +0x1106: [0x1156, 0x22, 0x22], +0x1108: [0x1156, 0x22, 0x22], +0x1126: [0x1156, 0x22, 0x22], +0x1127: [0x1156, 0x22, 0x22], +0x1128: [0x1156, 0x22, 0x22], +0x1147: [0x1156, 0x22, 0x22], +0x12a5: [0x1305, 0xa0, 0x22], +0x1c17: [0x0401, 0x90, 0x84], +0x1caa: [0x1cc8, 0x88, 0x90], +0x1620: [0x1cba, 0x28, 0x90], +0x1e55: [0x1d9c, 0x90, 0x44], +0x1ef9: [0x1ebf, 0x44, 0x44], +0x1efc: [0x1ebf, 0x44, 0x44], +0x1f38: [0x1de5, 0x44, 0x44], +0x1f58: [0x1e05, 0x44, 0x44], +0x1f78: [0x1e25, 0x44, 0x44], +0x1da8: [0x11e4, 0x90, 0x88], +0x1d67: [0x1bff, 0x90, 0x44], +0x1842: [0x18ab, 0x44, 0x44], +0x1908: [0x1971, 0x44, 0x44], +0x190e: [0x18b7, 0x44, 0x44], +0x181c: [0x1818, 0x44, 0x44], +0x1816: [0x1806, 0x44, 0x44], +0x1804: [0x1880, 0x44, 0x44], +0x18c0: [0x18df, 0x44, 0x44], +0x182d: [0x1956, 0x44, 0x44], +0x182f: [0x1958, 0x44, 0x44], +0x1b9d: [0x1b37, 0x44, 0x44], +0x1aba: [0x1af5, 0x44, 0x44], +0x1987: [0x0648, 0x44, 0x05], +0x1981: [0x1bda, 0x44, 0x44], +0x19a1: [0x1bfa, 0x44, 0x44], +0x064a: [0x06c3, 0x60, 0x06], +0x0641: [0x064b, 0x60, 0x05], +0x068e: [0x06ef, 0x05, 0x24], +0x0eef: [0x19a5, 0x09, 0x44], +0x0ed2: [0x0cf3, 0x09, 0x09], +0x067a: [0x0713, 0x24, 0x24], +0x065b: [0x06f4, 0x24, 0x24], +0x065d: [0x06f4, 0x24, 0x24], +0x069b: [0x06f4, 0x24, 0x24], +0x067e: [0x0715, 0x24, 0x24], +0x06ba: [0x0713, 0x24, 0x24], +0x06da: [0x0713, 0x24, 0x24], +0x06dc: [0x0734, 0x24, 0x24], +0x06de: [0x0715, 0x24, 0x24], +0x02f9: [0x0aff, 0x84, 0x50], +0x0b3c: [0x0a9d, 0x50, 0x50], +0x0018: [0x0adb, 0x84, 0x84], +0x0b1b: [0x0b39, 0x84, 0x50], +0x0a66: [0x0b46, 0xa0, 0x50], +0x0a86: [0x0b66, 0xa0, 0x50], +0x0aa6: [0x0b86, 0xa0, 0x50], +0x0ac6: [0x0ba6, 0xa0, 0x50], +0x0ae6: [0x0bc6, 0xa0, 0x50], +0x0b06: [0x0be6, 0xa0, 0x50], +0x0aa1: [0x0b81, 0xa0, 0x50], +0x0aa2: [0x0b82, 0xa0, 0x50], +0x0aa3: [0x0b83, 0xa0, 0x50], +0x0aa4: [0x0b84, 0xa0, 0x50], +0x0ae2: [0x0bc2, 0xa0, 0x50], +0x0ae4: [0x0bc4, 0xa0, 0x50], +0x031d: [0x1983, 0x84, 0x44], +0x1a64: [0x17fc, 0x44, 0x03], +0x19eb: [0x1a47, 0x84, 0x44], +0x1aa6: [0x1aae, 0x84, 0x84], +0x1af0: [0x1acb, 0x84, 0x84], +0x1b46: [0x07dc, 0x84, 0x84], +0x1ce3: [0x1d01, 0x44, 0x84], +0x1e23: [0x0bdf, 0x84, 0xc0], +} + +pit_targets = {} +for src,dest in pits.items(): + tm,tx,ty = coords(src) + dest = dest[0] + if dest in pit_targets.keys(): + pit_targets[dest] += f" / X{tx:02} Y{ty:02}" + else: + pit_targets[dest] = f"{map_names[tm]} X{tx:02} Y{ty:02}" + +signs = { +0xe33d: 0x10, +0x0321: 0x10, +0x031a: 0x10, +0x000e: 0x10, +0x0332: 0x10, +0x0180: 0x10, +0x0138: 0x10, +0x00e0: 0x10, +0x04c4: 0x10, +0x04a7: 0x10, +0x0471: 0x10, +0x04ec: 0x10, +0x050d: 0x10, +0x04f2: 0x10, +0x057c: 0x10, +0x0517: 0x10, +0x0a70: 0x10, +0x09f3: 0x10, +0x08f7: 0x10, +0x0911: 0x10, +0x0959: 0x10, +0x09c3: 0x10, +0x0863: 0x10, +0x0de6: 0x10, +0x0dbf: 0x10, +0x1441: 0x10, +0x1443: 0x10, +0x1481: 0x10, +0x142f: 0x10, +0x1587: 0x10, +0x143d: 0x10, +0x1637: 0x10, +0x17dc: 0x10, +0x114a: 0x10, +0x1183: 0x10, +0x1161: 0x10, +0x10a5: 0x10, +0x1009: 0x10, +0x1304: 0x10, +0x117e: 0x10, +0x12db: 0x10, +0x0442: 0x10, +0x1622: 0x10, +0x1b9e: 0x10, +0x1c40: 0x10, +0x096f: 0x10, +0x1a05: 0x10, +0x0688: 0x10, +0x0fa7: 0x10, +0x0e60: 0x10, +0x0f66: 0x10, +0x0e87: 0x10, +0x0f60: 0x10, +0x0f47: 0x10, +0x0f89: 0x10, +0x06d1: 0x10, +0x073d: 0x10, +0x0a36: 0x10, +0x031b: 0x10, +0x011b: 0x10, +0x17db: 0x10, +0x07db: 0x10, +0x03bf: 0x10, +0x0319: 0x17, +0x0038: 0x17, +0x01d8: 0x17, +0x0258: 0x17, +0x0315: 0x17, +0x032b: 0x17, +0x000f: 0x02, +0x02d7: 0x0a, +0x0443: 0x1c, +0x0445: 0x1c, +0x04ad: 0x1b, +0x05d3: 0x11, +0x05e4: 0x1b, +0x04b2: 0x12, +0x04b4: 0x12, +0x04a6: 0x04, +0x04a8: 0x0b, +0x042f: 0x0c, +0x04aa: 0x0b, +0x04b5: 0x04, +0x0507: 0x04, +0x0505: 0x04, +0x0584: 0x04, +0x05c4: 0x04, +0x050f: 0x04, +0x0546: 0x00, +0x0586: 0x00, +0x05c6: 0x00, +0x0603: 0x00, +0x0628: 0x00, +0x062a: 0x00, +0x062c: 0x00, +0x062e: 0x00, +0x050a: 0x04, +0x0529: 0x04, +0x05e9: 0x04, +0x0567: 0x04, +0x057e: 0x04, +0x05bd: 0x04, +0x059a: 0x04, +0x059f: 0x04, +0x05d9: 0x04, +0x05fb: 0x04, +0x05fe: 0x04, +0x063d: 0x04, +0x063a: 0x04, +0x0515: 0x0c, +0x0551: 0x0c, +0x04ef: 0x0a, +0x052f: 0x0a, +0x056f: 0x0a, +0x05b1: 0x08, +0x05af: 0x0a, +0x0a0d: 0x04, +0x0a32: 0x00, +0x089e: 0x0a, +0x08d1: 0x0e, +0x08fc: 0x04, +0x0999: 0x04, +0x09fd: 0x04, +0x0855: 0x0c, +0x0894: 0x0d, +0x09cf: 0x0b, +0x09cb: 0x0b, +0x0802: 0x00, +0x0843: 0x0b, +0x0803: 0x00, +0x08cd: 0x04, +0x0909: 0x04, +0x08e5: 0x04, +0x0dcc: 0x0c, +0x0c72: 0x04, +0x0e26: 0x04, +0x0d8b: 0x04, +0x0e11: 0x0d, +0x0d9f: 0x02, +0x1404: 0x17, +0x146f: 0x17, +0x143a: 0x17, +0x1674: 0x17, +0x16d4: 0x17, +0x14a8: 0x00, +0x14a0: 0x02, +0x1429: 0x0a, +0x142c: 0x0a, +0x1459: 0x0a, +0x152e: 0x02, +0x152b: 0x0b, +0x1505: 0x04, +0x15c7: 0x0a, +0x1594: 0x06, +0x151d: 0x04, +0x1558: 0x04, +0x147d: 0x0c, +0x15fe: 0x04, +0x1618: 0x0a, +0x1104: 0x08, +0x10f2: 0x00, +0x10f3: 0x00, +0x10f4: 0x00, +0x10f5: 0x0b, +0x1119: 0x0b, +0x111a: 0x0b, +0x111c: 0x0b, +0x115e: 0x0b, +0x1294: 0x0d, +0x1313: 0x0c, +0x13b3: 0x0c, +0x12e7: 0x0b, +0x1327: 0x0b, +0x1272: 0x08, +0x1346: 0x02, +0x1324: 0x06, +0x1322: 0x06, +0x1384: 0x06, +0x12c1: 0x02, +0x12e2: 0x02, +0x1382: 0x04, +0x13a1: 0x02, +0x09c8: 0x1d, +0x0a08: 0x1d, +0x0810: 0x1d, +0x08c1: 0x14, +0x09d5: 0x18, +0x0993: 0x18, +0x09bc: 0x15, +0x0ab8: 0x1d, +0x098f: 0x1a, +0x0983: 0x1c, +0x08cf: 0x15, +0x0002: 0x04, +0x1c29: 0x06, +0x1cfb: 0x08, +0x1d9d: 0x04, +0x1694: 0x06, +0x1665: 0x17, +0x1666: 0x17, +0x1668: 0x17, +0x1669: 0x17, +0x166a: 0x17, +0x166b: 0x17, +0x1d59: 0x0d, +0x1d38: 0x02, +0x1e2f: 0x06, +0x1e50: 0x06, +0x1e51: 0x06, +0x1e1a: 0x04, +0x1f1f: 0x04, +0x1daa: 0x0e, +0x1f6a: 0x04, +0x1f30: 0x04, +0x1d68: 0x0d, +0x1dc6: 0x0d, +0x1d27: 0x0f, +0x1b78: 0x0c, +0x1a5c: 0x0c, +0x1a3b: 0x04, +0x1a53: 0x04, +0x188d: 0x04, +0x190c: 0x0c, +0x18b5: 0x0c, +0x1a11: 0x08, +0x19be: 0x08, +0x1926: 0x0e, +0x1d64: 0x04, +0x0660: 0x04, +0x0665: 0x04, +0x0707: 0x04, +0x0720: 0x04, +0x0661: 0x04, +0x06e0: 0x04, +0x0724: 0x04, +0x06a6: 0x04, +0x0fc7: 0x0b, +0x0c1e: 0x00, +0x0cd9: 0x00, +0x0cf4: 0x04, +0x0cfa: 0x0a, +0x06f3: 0x0a, +0x06f5: 0x0b, +0x0699: 0x0c, +0x073e: 0x0d, +0x06fd: 0x0a, +0x06f8: 0x0a, +0x073b: 0x0d, +0x0638: 0x04, +0x063c: 0x04, +0x069f: 0x04, +0x06fc: 0x04, +0x066f: 0x02, +0x068f: 0x02, +0x06af: 0x02, +0x06cf: 0x02, +0x071f: 0x04, +0x077c: 0x02, +0x075b: 0x02, +0x0bc3: 0x02, +0x0ae8: 0x04, +0x0acb: 0x04, +0x0a45: 0x02, +0x0add: 0x02, +0x0b10: 0x0a, +0x0a6f: 0x0b, +0x0a5a: 0x00, +0x0a74: 0x04, +0x0a94: 0x04, +0x0a54: 0x04, +0x0a33: 0x04, +0x0a52: 0x04, +0x0a92: 0x04, +0x0a71: 0x04, +0x0a90: 0x04, +0x0aba: 0x0c, +0x0a8a: 0x00, +0x029b: 0x04, +0x1a44: 0x0a, +0x17d8: 0x06, +0x17f3: 0x06, +0x17c7: 0x06, +0x17e1: 0x06, +0x16c4: 0x06, +0x07b1: 0x0b, +0x07ee: 0x06, +0x07c7: 0x08, +0x0a9e: 0x06, +0x0bca: 0x0f, +0x1025: 0x12, +0x111b: 0x14, +0x11b4: 0x13, +0x12f4: 0x1a, +0x1386: 0x1d, +0x13c6: 0x1d, +0x11c5: 0x18, +0x1310: 0x1c, +0x1223: 0x1b, +0x15a4: 0x17, +0x17a1: 0x17, +0x1865: 0x16, +0x18f7: 0x15, +0x19c9: 0x1d, +0x1a1e: 0x19, +0x19b7: 0x18, +0x1d4c: 0x12, +0x0000: 0x00, +} + +unk_30ae = [ +[0x00, 0x06, 0x00, 0xee], +[0x00, 0x34, 0x00, 0x06], +[0x00, 0xf3, 0x00, 0x34], +[0x00, 0x06, 0x01, 0x85], +[0x00, 0x34, 0x00, 0x06], +[0x01, 0x8e, 0x00, 0x34], +[0x00, 0x06, 0x02, 0x31], +[0x00, 0x34, 0x00, 0x06], +[0x04, 0x32, 0x00, 0x80], +[0x00, 0x06, 0x04, 0x96], +[0x00, 0x7f, 0x00, 0x08], +[0x05, 0x48, 0x01, 0x00], +[0x04, 0x00, 0x00, 0x08], +[0x05, 0x4a, 0x01, 0x00], +[0x05, 0x00, 0x00, 0x08], +[0x05, 0x4c, 0x01, 0x00], +[0x06, 0x00, 0x00, 0x08], +[0x05, 0x4e, 0x01, 0x00], +[0x07, 0x00, 0x00, 0x08], +[0x05, 0x88, 0x01, 0x01], +[0x04, 0x00, 0x00, 0x08], +[0x05, 0x8a, 0x01, 0x01], +[0x05, 0x00, 0x00, 0x08], +[0x05, 0x8c, 0x01, 0x01], +[0x06, 0x00, 0x00, 0x08], +[0x05, 0x8e, 0x01, 0x01], +[0x07, 0x00, 0x00, 0x08], +[0x05, 0xc8, 0x01, 0x02], +[0x04, 0x00, 0x00, 0x08], +[0x05, 0xca, 0x01, 0x02], +[0x05, 0x00, 0x00, 0x08], +[0x05, 0xcc, 0x01, 0x02], +[0x06, 0x00, 0x00, 0x08], +[0x05, 0xce, 0x01, 0x02], +[0x07, 0x00, 0x00, 0x08], +[0x06, 0x08, 0x01, 0x03], +[0x04, 0x00, 0x00, 0x08], +[0x06, 0x0a, 0x01, 0x03], +[0x05, 0x00, 0x00, 0x08], +[0x06, 0x0c, 0x01, 0x03], +[0x06, 0x00, 0x00, 0x08], +[0x06, 0x0e, 0x01, 0x03], +[0x07, 0x00, 0x00, 0x0a], +[0x05, 0x34, 0x83, 0x08], +[0x09, 0x0a, 0x0b, 0x00], +[0x00, 0x06, 0x09, 0xe4], +[0x90, 0x1b, 0x00, 0x06], +[0x09, 0xf0, 0x00, 0x0c], +[0x00, 0x06, 0x09, 0xf2], +[0x00, 0x0d, 0x00, 0x0e], +[0x08, 0x92, 0x88, 0x16], +[0x0e, 0x0f, 0x10, 0x11], +[0x12, 0x13, 0x14, 0x15], +[0x00, 0x06, 0x08, 0x62], +[0x80, 0x17, 0x00, 0x06], +[0x08, 0xa2, 0x80, 0x17], +[0x00, 0x06, 0x08, 0xe2], +[0x80, 0x17, 0x00, 0x06], +[0x09, 0x22, 0x80, 0x17], +[0x00, 0x06, 0x09, 0x62], +[0x80, 0x17, 0x00, 0x06], +[0x09, 0xa2, 0x80, 0x17], +[0x00, 0x06, 0x09, 0x04], +[0x40, 0x18, 0x00, 0x06], +[0x0d, 0x92, 0x00, 0x9a], +[0x00, 0x06, 0x0d, 0xce], +[0x00, 0x1a, 0x00, 0x06], +[0x0d, 0xae, 0x00, 0x1a], +[0x00, 0x06, 0x0d, 0x8f], +[0x00, 0x1a, 0x00, 0x06], +[0x0d, 0xb0, 0x00, 0x1a], +[0x00, 0x06, 0x0d, 0xbe], +[0x00, 0x82, 0x00, 0x06], +[0x14, 0x0f, 0x90, 0x1c], +[0x00, 0x06, 0x14, 0xce], +[0x00, 0x1d, 0x00, 0x08], +[0x15, 0xad, 0x02, 0x1e], +[0x1f, 0x20, 0x00, 0x08], +[0x15, 0xb0, 0x02, 0x21], +[0x22, 0x23, 0x00, 0x06], +[0x17, 0xbe, 0x00, 0x81], +[0x00, 0x06, 0x10, 0xee], +[0x80, 0x25, 0x00, 0x06], +[0x11, 0x0f, 0x80, 0x24], +[0x00, 0x06, 0x11, 0x2e], +[0x80, 0x26, 0x00, 0x06], +[0x11, 0x20, 0x00, 0x36], +[0x00, 0x06, 0x11, 0x46], +[0x80, 0x2b, 0x00, 0x06], +[0x10, 0x86, 0x00, 0x2c], +[0x00, 0x06, 0x10, 0x87], +[0x00, 0x2c, 0x00, 0x06], +[0x10, 0x88, 0x00, 0x2d], +[0x00, 0x06, 0x10, 0xa8], +[0x00, 0x2d, 0x00, 0x06], +[0x10, 0xa7, 0x00, 0x2e], +[0x00, 0x06, 0x10, 0xc8], +[0x00, 0x2d, 0x00, 0x06], +[0x11, 0xc1, 0x80, 0x27], +[0x00, 0x08, 0x11, 0x32], +[0x82, 0x28, 0x29, 0x2a], +[0x00, 0x06, 0x11, 0x52], +[0x80, 0x28, 0x00, 0x06], +[0x11, 0x72, 0x80, 0x28], +[0x00, 0x06, 0x11, 0x33], +[0x80, 0x29, 0x00, 0x06], +[0x11, 0x53, 0x80, 0x29], +[0x00, 0x08, 0x11, 0x73], +[0x82, 0x29, 0x2a, 0x28], +[0x00, 0x06, 0x11, 0x34], +[0x80, 0x2a, 0x00, 0x08], +[0x11, 0x54, 0x82, 0x2a], +[0x28, 0x29, 0x00, 0x06], +[0x11, 0x74, 0x80, 0x2a], +[0x00, 0x06, 0x11, 0x7f], +[0x00, 0x84, 0x00, 0x06], +[0x12, 0xb3, 0x40, 0x85], +[0x00, 0x06, 0x12, 0xf7], +[0x00, 0x86, 0x00, 0x06], +[0x13, 0x3a, 0x00, 0x87], +[0x00, 0x06, 0x13, 0x39], +[0x00, 0x89, 0x00, 0x06], +[0x13, 0x7d, 0x00, 0x86], +[0x00, 0x06, 0x13, 0xbb], +[0x00, 0x89, 0x00, 0x06], +[0x13, 0xba, 0x00, 0x88], +[0x00, 0x06, 0x13, 0xf9], +[0x00, 0x86, 0x00, 0x06], +[0x13, 0x57, 0x00, 0x87], +[0x00, 0x08, 0x13, 0x7b], +[0x01, 0x8a, 0x8b, 0x00], +[0x00, 0x06, 0x12, 0xea], +[0x00, 0x8c, 0x00, 0x06], +[0x13, 0x2a, 0x00, 0x8d], +[0x00, 0x06, 0x12, 0x4c], +[0x00, 0x8e, 0x00, 0x06], +[0x12, 0x4a, 0x00, 0x8f], +[0x00, 0x06, 0x12, 0x8b], +[0x00, 0x90, 0x00, 0x06], +[0x12, 0xcc, 0x00, 0x91], +[0x00, 0x06, 0x12, 0xaa], +[0x00, 0x92, 0x00, 0x06], +[0x12, 0xed, 0x00, 0x93], +[0x00, 0x06, 0x13, 0xa2], +[0x00, 0x83, 0x00, 0x0a], +[0x1c, 0x69, 0x03, 0x94], +[0x95, 0x96, 0x97, 0x00], +[0x00, 0x06, 0x04, 0x41], +[0x80, 0x48, 0x00, 0x06], +[0x04, 0x61, 0x80, 0x49], +[0x00, 0x06, 0x04, 0x81], +[0x80, 0x4a, 0x00, 0x06], +[0x04, 0xa1, 0x80, 0x4b], +[0x00, 0x06, 0x04, 0xc1], +[0x80, 0x4c, 0x00, 0x06], +[0x04, 0xe1, 0x80, 0x4d], +[0x00, 0x06, 0x05, 0x01], +[0x80, 0x4d, 0x00, 0x06], +[0x05, 0x21, 0x80, 0x4d], +[0x00, 0x06, 0x05, 0x41], +[0x80, 0x4d, 0x00, 0x08], +[0x05, 0x61, 0xc0, 0x4e], +[0x44, 0x00, 0x00, 0x06], +[0x1c, 0xcc, 0x00, 0x98], +[0x00, 0x0a, 0x1c, 0x7b], +[0x04, 0x99, 0x9b, 0x9c], +[0x9d, 0x9e, 0x00, 0x08], +[0x1d, 0x19, 0x01, 0x9f], +[0xa0, 0x00, 0x00, 0x06], +[0x16, 0x45, 0x80, 0xa1], +[0x00, 0x06, 0x16, 0x46], +[0x80, 0xa1, 0x00, 0x06], +[0x16, 0x47, 0x80, 0xa1], +[0x00, 0x06, 0x16, 0x48], +[0x80, 0xa1, 0x00, 0x06], +[0x16, 0x49, 0x80, 0xa1], +[0x00, 0x06, 0x16, 0x4b], +[0x80, 0xa1, 0x00, 0x06], +[0x16, 0x4a, 0x80, 0xa2], +[0x00, 0x08, 0x16, 0x44], +[0x01, 0xa3, 0xa8, 0x00], +[0x00, 0x0a, 0x16, 0xac], +[0x03, 0xa4, 0xa5, 0xa6], +[0xa7, 0x00, 0x00, 0x08], +[0x1d, 0x7a, 0x01, 0xa9], +[0xaa, 0x00, 0x00, 0x06], +[0x1e, 0x72, 0x00, 0xab], +[0x00, 0x08, 0x1e, 0xf7], +[0x81, 0xac, 0xad, 0x00], +[0x00, 0x06, 0x1e, 0xff], +[0x80, 0xae, 0x00, 0x06], +[0x1f, 0x3f, 0x80, 0xaf], +[0x00, 0x06, 0x1e, 0xf5], +[0x00, 0xab, 0x00, 0x08], +[0x1f, 0xce, 0x02, 0xb0], +[0xb1, 0xb2, 0x00, 0x08], +[0x1f, 0xd2, 0x02, 0xb3], +[0xb4, 0xb5, 0x00, 0x08], +[0x1f, 0xd6, 0x02, 0xb6], +[0xb7, 0xb8, 0x00, 0x08], +[0x1f, 0xda, 0x02, 0xb9], +[0xba, 0xbb, 0x00, 0x06], +[0x12, 0x42, 0x00, 0x4f], +[0x00, 0x06, 0x12, 0x62], +[0x40, 0x50, 0x00, 0x06], +[0x12, 0x82, 0x40, 0x51], +[0x00, 0x06, 0x12, 0x63], +[0x40, 0x52, 0x00, 0x06], +[0x12, 0x02, 0x00, 0x5f], +[0x00, 0x06, 0x12, 0x00], +[0x00, 0x5f, 0x00, 0x0a], +[0x11, 0xe7, 0x03, 0x57], +[0x5c, 0x5d, 0x5e, 0x00], +[0x00, 0x0a, 0x12, 0x27], +[0x04, 0x58, 0x53, 0x54], +[0x55, 0x56, 0x00, 0x0a], +[0x12, 0xc7, 0x03, 0x59], +[0x5a, 0x5b, 0x57, 0x00], +[0x00, 0x08, 0x1e, 0x27], +[0x01, 0xbc, 0xbd, 0x00], +[0x00, 0x08, 0x1f, 0xe9], +[0x01, 0xbe, 0xbf, 0x00], +[0x00, 0x08, 0x1e, 0x68], +[0xc0, 0xbd, 0x25, 0x00], +[0x00, 0x08, 0x1e, 0x66], +[0xc0, 0xbd, 0x25, 0x00], +[0x00, 0x08, 0x1e, 0x64], +[0xc0, 0xbd, 0x25, 0x00], +[0x00, 0x08, 0x1e, 0x62], +[0xc0, 0xbd, 0x25, 0x00], +[0x00, 0x08, 0x1e, 0x60], +[0xc0, 0xbd, 0x25, 0x00], +[0x00, 0x08, 0x1e, 0xa2], +[0xc0, 0xbd, 0x25, 0x00], +[0x00, 0x08, 0x1e, 0xa6], +[0xc0, 0xbd, 0x25, 0x00], +[0x00, 0x08, 0x1e, 0xe4], +[0xc0, 0xbd, 0x25, 0x00], +[0x00, 0x08, 0x1e, 0xa4], +[0xc0, 0xc0, 0x47, 0x00], +[0x00, 0x08, 0x1f, 0x61], +[0x01, 0xc1, 0xc2, 0x00], +[0x00, 0x08, 0x1f, 0x63], +[0x01, 0xc1, 0xc2, 0x00], +[0x00, 0x0a, 0x1b, 0xbb], +[0x03, 0xc3, 0xc4, 0xc6], +[0xc7, 0x00, 0x00, 0x08], +[0x1b, 0x3d, 0x81, 0xc8], +[0xc9, 0x00, 0x00, 0x08], +[0x1a, 0x78, 0x01, 0xca], +[0xcb, 0x00, 0x00, 0x08], +[0x1b, 0x9f, 0x41, 0xca], +[0xcb, 0x00, 0x00, 0x06], +[0x1a, 0x72, 0x00, 0xc5], +[0x00, 0x08, 0x1a, 0x12], +[0x02, 0xce, 0xcf, 0xd0], +[0x00, 0x08, 0x18, 0x29], +[0x01, 0xd1, 0xd2, 0x00], +[0x00, 0x08, 0x18, 0x85], +[0x01, 0xd3, 0xd4, 0x00], +[0x00, 0x06, 0x18, 0x92], +[0x00, 0xd5, 0x00, 0x0a], +[0x18, 0xbc, 0x03, 0xd6], +[0xd7, 0xd8, 0xd9, 0x00], +[0x00, 0x08, 0x19, 0x1d], +[0x01, 0xda, 0xdb, 0x00], +[0x00, 0x08, 0x19, 0xe4], +[0xc0, 0xe4, 0x43, 0x00], +[0x00, 0x08, 0x19, 0xe5], +[0xc0, 0xe5, 0x43, 0x00], +[0x00, 0x08, 0x19, 0xe6], +[0xc0, 0xe6, 0x43, 0x00], +[0x00, 0x08, 0x06, 0x6d], +[0xc1, 0x69, 0x60, 0x5b], +[0x00, 0x08, 0x06, 0xed], +[0xc1, 0x69, 0x61, 0x5b], +[0x00, 0x08, 0x06, 0xe9], +[0xc1, 0x69, 0x62, 0x5b], +[0x00, 0x08, 0x06, 0x69], +[0xc1, 0x69, 0x63, 0x5b], +[0x00, 0x06, 0x06, 0xa4], +[0x80, 0x67, 0x00, 0x06], +[0x06, 0xe4, 0x80, 0x66], +[0x00, 0x06, 0x06, 0xe2], +[0x80, 0x65, 0x00, 0x06], +[0x06, 0xa2, 0x80, 0x64], +[0x00, 0x06, 0x06, 0xae], +[0x00, 0x68, 0x00, 0x08], +[0x0e, 0xc3, 0x01, 0x6a], +[0x6b, 0x00, 0x00, 0x08], +[0x0e, 0xe2, 0x01, 0x6a], +[0x6d, 0x00, 0x00, 0x08], +[0x0f, 0x03, 0x01, 0x6c], +[0x6d, 0x00, 0x00, 0x08], +[0x0e, 0xe4, 0x01, 0x6b], +[0x6c, 0x00, 0x00, 0x12], +[0x0e, 0xe3, 0x0b, 0x76], +[0x77, 0x78, 0x71, 0x72], +[0x73, 0x74, 0x75, 0x6a], +[0x6b, 0x6c, 0x6d, 0x00], +[0x00, 0x0a, 0x0f, 0x46], +[0x04, 0x72, 0x79, 0x70], +[0x7c, 0x75, 0x00, 0x0a], +[0x0f, 0x40, 0x03, 0x7b], +[0x7a, 0x71, 0x75, 0x00], +[0x00, 0x08, 0x0e, 0x80], +[0x02, 0x6e, 0x7a, 0x73], +[0x00, 0x0c, 0x0e, 0x86], +[0x05, 0x72, 0x74, 0x73], +[0x79, 0x6f, 0x7d, 0x00], +[0x00, 0x06, 0x0e, 0x3e], +[0x00, 0x7e, 0x00, 0x06], +[0x0f, 0xc8, 0x00, 0xcc], +[0x00, 0x06, 0x0f, 0xe9], +[0x00, 0xcc, 0x00, 0x08], +[0x0f, 0xab, 0x01, 0xdc], +[0xdf, 0x00, 0x00, 0x08], +[0x0f, 0xcb, 0x01, 0xdd], +[0xdf, 0x00, 0x00, 0x08], +[0x0f, 0xeb, 0x01, 0xde], +[0xdf, 0x00, 0x00, 0x08], +[0x0f, 0xd3, 0x01, 0xe0], +[0xe1, 0x00, 0x00, 0x06], +[0x0f, 0x70, 0x00, 0xe2], +[0x00, 0x06, 0x0e, 0xea], +[0x00, 0xcd, 0x00, 0x06], +[0x0d, 0x33, 0x00, 0x19], +[0x00, 0x08, 0x0c, 0x19], +[0x02, 0x2f, 0x30, 0x31], +[0x00, 0x06, 0x0c, 0xb8], +[0x00, 0x32, 0x00, 0x06], +[0x0c, 0x3f, 0x80, 0x33], +[0x00, 0x08, 0x0d, 0x1f], +[0x01, 0x35, 0x37, 0x00], +[0x00, 0x06, 0x06, 0x5e], +[0x00, 0x38, 0x00, 0x08], +[0x06, 0x5a, 0x81, 0x3b], +[0x3c, 0x00, 0x00, 0x0a], +[0x06, 0x7c, 0x03, 0x3d], +[0x3e, 0x3f, 0x40, 0x00], +[0x00, 0x0a, 0x06, 0x9d], +[0x03, 0x3f, 0x40, 0x3a], +[0x39, 0x00, 0x00, 0x06], +[0x0a, 0xfb, 0x00, 0xe3], +[0x00, 0x06, 0x0a, 0x84], +[0x80, 0x43, 0x00, 0x08], +[0x0b, 0x05, 0x01, 0x41], +[0x42, 0x00, 0x00, 0x06], +[0x0a, 0xf9, 0x00, 0x44], +[0x00, 0x06, 0x0a, 0x5c], +[0x00, 0x45, 0x00, 0x06], +[0x0a, 0x5e, 0x00, 0x45], +[0x00, 0x06, 0x0a, 0x7f], +[0x00, 0x45, 0x00, 0x08], +[0x0a, 0x8c, 0x01, 0x46], +[0x47, 0x00, 0x00, 0x08], +[0x17, 0xfa, 0x01, 0xe7], +[0xe8, 0x00, 0x00, 0x06], +[0x16, 0xed, 0x40, 0xe9], +[0x00, 0x06, 0x1a, 0x0c], +[0x00, 0xea, 0x00, 0x06], +[0x1a, 0x8a, 0x00, 0xed], +[0x00, 0x06, 0x1a, 0xcf], +[0x00, 0xeb, 0x00, 0x06], +[0x1b, 0x51, 0x00, 0xec], +[0x00, 0x06, 0x07, 0x7a], +[0x00, 0xee, 0x00, 0x06], +[0x07, 0x70, 0x00, 0xef], +[0x00, 0x06, 0x07, 0xe6], +[0x00, 0xf0, 0x00, 0x06], +[0x07, 0xe4, 0x00, 0xf1], +[0x00, 0x06, 0x07, 0xe1], +[0x00, 0xf2, 0x00, 0x06], +[0x07, 0xa6, 0x00, 0xf3], +[0x00, 0x08, 0x03, 0xbe], +[0xc0, 0xf5, 0x08, 0x00], +[0x00, 0x06, 0x03, 0xff], +[0x00, 0xf4, 0x00, 0x00], +[0x00, 0x00, 0x00, 0x00], +] + +# note that addresses are not unique +traps = { +0x00: [0x0546, 0x07, 0xc0], +0x01: [0x0586, 0x07, 0xc0], +0x02: [0x05c6, 0x07, 0xc0], +0x03: [0x0603, 0x07, 0xc0], +0x04: [0x0628, 0x07, 0x00], +0x05: [0x062a, 0x07, 0x00], +0x06: [0x062c, 0x07, 0x00], +0x07: [0x062e, 0x07, 0x00], +0x08: [0x0554, 0x83, 0x00], +0x09: [0x0575, 0x83, 0x00], +0x0a: [0x0576, 0x83, 0x00], +0x0b: [0x0557, 0x83, 0x00], +0x0c: [0x0a10, 0x84, 0x00], +0x0d: [0x0a32, 0x07, 0x00], +0x0e: [0x0915, 0x83, 0x00], +0x0f: [0x0914, 0x83, 0x00], +0x10: [0x08f3, 0x83, 0x00], +0x11: [0x0956, 0x83, 0x00], +0x12: [0x0955, 0x83, 0x00], +0x13: [0x0954, 0x83, 0x00], +0x14: [0x0953, 0x83, 0x00], +0x15: [0x0932, 0x83, 0x00], +0x16: [0x0916, 0x83, 0x00], +0x17: [0x0802, 0x07, 0x80], +0x18: [0x0803, 0x07, 0xc0], +0x19: [0x0c5f, 0x83, 0x00], +0x1a: [0x0d91, 0x02, 0x00], +0x1b: [0x09e3, 0x0a, 0x20], +0x1c: [0x144f, 0x0a, 0x20], +0x1d: [0x1532, 0x01, 0x00], +0x1e: [0x158e, 0x83, 0x00], +0x1f: [0x15ae, 0x83, 0x00], +0x20: [0x15ce, 0x83, 0x00], +0x21: [0x1591, 0x83, 0x00], +0x22: [0x15b1, 0x83, 0x00], +0x23: [0x15d1, 0x83, 0x00], +0x24: [0x116f, 0x83, 0x00], +0x25: [0x112b, 0x83, 0x00], +0x26: [0x112a, 0x83, 0x00], +0x27: [0x1160, 0x01, 0x00], +0x28: [0x10f2, 0x07, 0x80], +0x29: [0x10f3, 0x07, 0x80], +0x2a: [0x10f4, 0x07, 0x80], +0x2b: [0x10a6, 0x0a, 0x20], +0x2c: [0x10e8, 0x0a, 0x20], +0x2d: [0x1108, 0x0a, 0x20], +0x2e: [0x1106, 0x0a, 0x20], +0x2f: [0x0c1e, 0x07, 0x40], +0x30: [0x0cd9, 0x07, 0x00], +0x31: [0x0c18, 0x01, 0x00], +0x32: [0x0cf8, 0x84, 0x00], +0x33: [0x0c7b, 0x0b, 0x00], +0x34: [0x0129, 0x0b, 0x01], +0x35: [0x0cb7, 0x03, 0x00], +0x36: [0x1160, 0x02, 0x00], +0x37: [0x0cd6, 0x01, 0x00], +0x38: [0x06de, 0x0a, 0x20], +0x39: [0x06bd, 0x0b, 0x02], +0x3a: [0x069e, 0x0b, 0x02], +0x3b: [0x065b, 0x0a, 0x20], +0x3c: [0x065d, 0x0a, 0x30], +0x3d: [0x065c, 0x0b, 0x02], +0x3e: [0x067b, 0x0b, 0x02], +0x3f: [0x067d, 0x0b, 0x02], +0x40: [0x069c, 0x0b, 0x02], +0x41: [0x0a83, 0x03, 0x00], +0x42: [0x0aa0, 0x03, 0x00], +0x43: [0x0b06, 0x03, 0x00], +0x44: [0x0b19, 0x84, 0x00], +0x45: [0x0a5a, 0x07, 0xc0], +0x46: [0x0a8a, 0x07, 0xc0], +0x47: [0x0a8e, 0x01, 0x00], +0x48: [0x0461, 0x0d, 0x00], +0x49: [0x0481, 0x0d, 0x00], +0x4a: [0x04a1, 0x0d, 0x00], +0x4b: [0x04c1, 0x0d, 0x00], +0x4c: [0x04e1, 0x0d, 0x00], +0x4d: [0x0481, 0x0d, 0x00], +0x4e: [0x004d, 0x05, 0x00], +0x4f: [0x1222, 0x82, 0x00], +0x50: [0x12a2, 0x81, 0x00], +0x51: [0x1264, 0x81, 0x00], +0x52: [0x1261, 0x81, 0x00], +0x53: [0x1247, 0x0b, 0x03], +0x54: [0x1267, 0x0b, 0x03], +0x55: [0x1287, 0x0b, 0x03], +0x56: [0x12a7, 0x0b, 0x03], +0x57: [0x1207, 0x03, 0x00], +0x58: [0x1207, 0x04, 0x00], +0x59: [0x1208, 0x03, 0x00], +0x5a: [0x1228, 0x03, 0x00], +0x5b: [0x1248, 0x03, 0x00], +0x5c: [0x1208, 0x04, 0x00], +0x5d: [0x1228, 0x04, 0x00], +0x5e: [0x1248, 0x04, 0x00], +0x5f: [0x1222, 0x01, 0x00], +0x60: [0x066c, 0x81, 0x00], +0x61: [0x06cd, 0x81, 0x00], +0x62: [0x06ea, 0x81, 0x00], +0x63: [0x0689, 0x81, 0x00], +0x64: [0x0663, 0x0d, 0x00], +0x65: [0x06e6, 0x0d, 0x00], +0x66: [0x0722, 0x0d, 0x00], +0x67: [0x06a0, 0x0d, 0x00], +0x68: [0x06eb, 0x83, 0x00], +0x69: [0x06ab, 0x0c, 0x00], +0x6a: [0x0ec2, 0x0b, 0x04], +0x6b: [0x0ec4, 0x0b, 0x04], +0x6c: [0x0f04, 0x0b, 0x04], +0x6d: [0x0f02, 0x0b, 0x04], +0x6e: [0x0ec8, 0x03, 0x00], +0x6f: [0x0ee8, 0x03, 0x00], +0x70: [0x0ee7, 0x03, 0x00], +0x71: [0x0ee6, 0x03, 0x00], +0x72: [0x0e83, 0x03, 0x00], +0x73: [0x0ee0, 0x03, 0x00], +0x74: [0x0f42, 0x03, 0x00], +0x75: [0x0f43, 0x03, 0x00], +0x76: [0x0ec8, 0x04, 0x00], +0x77: [0x0ee8, 0x04, 0x00], +0x78: [0x0ee7, 0x04, 0x00], +0x79: [0x0ee6, 0x04, 0x00], +0x7a: [0x0e83, 0x04, 0x00], +0x7b: [0x0ee0, 0x04, 0x00], +0x7c: [0x0f42, 0x04, 0x00], +0x7d: [0x0f43, 0x04, 0x00], +0x7e: [0x0eb2, 0x83, 0x00], +0x7f: [0x041c, 0x01, 0x00], +0x80: [0x0418, 0x01, 0x00], +0x81: [0x0002, 0x0f, 0x00], +0x82: [0x0003, 0x0f, 0x00], +0x83: [0x0000, 0x0f, 0x00], +0x84: [0x1293, 0x03, 0x00], +0x85: [0x11bc, 0x0b, 0x05], +0x86: [0x12fe, 0x0d, 0x00], +0x87: [0x137f, 0x0d, 0x00], +0x88: [0x12fc, 0x0d, 0x00], +0x89: [0x133c, 0x0d, 0x00], +0x8a: [0x1334, 0x03, 0x00], +0x8b: [0x13d4, 0x03, 0x00], +0x8c: [0x12e9, 0x01, 0x00], +0x8d: [0x1329, 0x01, 0x00], +0x8e: [0x124b, 0x0b, 0x05], +0x8f: [0x126a, 0x0b, 0x05], +0x90: [0x128c, 0x0b, 0x05], +0x91: [0x12cb, 0x0b, 0x05], +0x92: [0x12ca, 0x0b, 0x05], +0x93: [0x130e, 0x0b, 0x05], +0x94: [0x1c03, 0x0b, 0x06], +0x95: [0x1c27, 0x0b, 0x07], +0x96: [0x1ca1, 0x0b, 0x08], +0x97: [0x1ca4, 0x0b, 0x09], +0x98: [0x1d11, 0x0b, 0x0a], +0x99: [0x1c3e, 0x0b, 0x0b], +0x9a: [0x0c01, 0x03, 0x00], +0x9b: [0x1c5e, 0x0b, 0x0b], +0x9c: [0x1c7e, 0x0b, 0x0b], +0x9d: [0x1c9e, 0x0b, 0x0b], +0x9e: [0x1cbe, 0x0b, 0x0b], +0x9f: [0x1cf9, 0x03, 0x00], +0xa0: [0x1cfa, 0x03, 0x00], +0xa1: [0x15e2, 0x0b, 0x0c], +0xa2: [0x160c, 0x03, 0x00], +0xa3: [0x1ce7, 0x03, 0x00], +0xa4: [0x160f, 0x01, 0x00], +0xa5: [0x164f, 0x01, 0x00], +0xa6: [0x168f, 0x01, 0x00], +0xa7: [0x16cf, 0x01, 0x00], +0xa8: [0x1cd8, 0x03, 0x00], +0xa9: [0x1c47, 0x01, 0x00], +0xaa: [0x1c81, 0x01, 0x00], +0xab: [0x1e58, 0x0b, 0x0d], +0xac: [0x1efd, 0x03, 0x00], +0xad: [0x1ef9, 0x03, 0x00], +0xae: [0x1efc, 0x03, 0x00], +0xaf: [0x1f58, 0x03, 0x00], +0xb0: [0x1faf, 0x03, 0x00], +0xb1: [0x1fcf, 0x03, 0x00], +0xb2: [0x1fef, 0x03, 0x00], +0xb3: [0x1fb3, 0x03, 0x00], +0xb4: [0x1fd3, 0x03, 0x00], +0xb5: [0x1ff3, 0x03, 0x00], +0xb6: [0x1fb7, 0x03, 0x00], +0xb7: [0x1fd7, 0x03, 0x00], +0xb8: [0x1ff7, 0x03, 0x00], +0xb9: [0x1fbb, 0x03, 0x00], +0xba: [0x1fdb, 0x03, 0x00], +0xbb: [0x1ffb, 0x03, 0x00], +0xbc: [0x1e47, 0x03, 0x00], +0xbd: [0x1e07, 0x84, 0x00], +0xbe: [0x1e07, 0x03, 0x00], +0xbf: [0x1d26, 0x03, 0x00], +0xc0: [0x1ea1, 0x03, 0x00], +0xc1: [0x1fc1, 0x0c, 0x00], +0xc2: [0x1fc3, 0x0c, 0x00], +0xc3: [0x1b9b, 0x03, 0x00], +0xc4: [0x1bbc, 0x84, 0x00], +0xc5: [0x1bbc, 0x03, 0x00], +0xc6: [0x1b7f, 0x03, 0x00], +0xc7: [0x1b5d, 0x03, 0x00], +0xc8: [0x1b1d, 0x03, 0x00], +0xc9: [0x1b9d, 0x03, 0x00], +0xca: [0x19f7, 0x0b, 0x0e], +0xcb: [0x1a71, 0x0b, 0x0e], +0xcc: [0x0fe8, 0x84, 0x00], +0xcd: [0x0fe8, 0x03, 0x00], +0xce: [0x1a55, 0x81, 0x00], +0xcf: [0x1a76, 0x81, 0x00], +0xd0: [0x1a73, 0x81, 0x00], +0xd1: [0x1888, 0x03, 0x00], +0xd2: [0x18a2, 0x03, 0x00], +0xd3: [0x1931, 0x03, 0x00], +0xd4: [0x196f, 0x03, 0x00], +0xd5: [0x1877, 0x03, 0x00], +0xd6: [0x1853, 0x03, 0x00], +0xd7: [0x185b, 0x03, 0x00], +0xd8: [0x1913, 0x03, 0x00], +0xd9: [0x191b, 0x03, 0x00], +0xda: [0x191e, 0x03, 0x00], +0xdb: [0x193f, 0x03, 0x00], +0xdc: [0x0fac, 0x03, 0x00], +0xdd: [0x0fcc, 0x03, 0x00], +0xde: [0x0fec, 0x03, 0x00], +0xdf: [0x0fd1, 0x03, 0x00], +0xe0: [0x0fb3, 0x03, 0x00], +0xe1: [0x0f71, 0x03, 0x00], +0xe2: [0x0f6f, 0x03, 0x00], +0xe3: [0x02fa, 0x03, 0x00], +0xe4: [0x1961, 0x83, 0x00], +0xe5: [0x1980, 0x83, 0x00], +0xe6: [0x19a0, 0x83, 0x00], +0xe7: [0x17fb, 0x84, 0x00], +0xe8: [0x170d, 0x03, 0x00], +0xe9: [0x16a9, 0x0b, 0x0f], +0xea: [0x1b11, 0x0d, 0x00], +0xeb: [0x19ca, 0x0d, 0x00], +0xec: [0x1a4c, 0x0d, 0x00], +0xed: [0x1b8f, 0x0d, 0x00], +0xee: [0x0774, 0x0d, 0x00], +0xef: [0x0766, 0x0d, 0x00], +0xf0: [0x07e0, 0x0d, 0x00], +0xf1: [0x07fa, 0x0d, 0x00], +0xf2: [0x07f7, 0x0d, 0x00], +0xf3: [0x07ca, 0x0b, 0x0b], +0xf4: [0x0001, 0x0f, 0x00], +0xf5: [0x03de, 0x03, 0x00], +} + +locked_doors = { +0x02d7: [0x02d6, 0x81], +0x04a8: [0x0489, 0x81], +0x042f: [0x044f, 0x81], +0x04aa: [0x048b, 0x81], +0x0515: [0x0516, 0x81], +0x0551: [0x0532, 0x81], +0x04ef: [0x0510, 0x81], +0x052f: [0x0550, 0x81], +0x056f: [0x0590, 0x81], +0x05af: [0x05d0, 0x81], +0x089e: [0x087f, 0x81], +0x08d1: [0x08b2, 0x81], +0x0855: [0x0835, 0x81], +0x0894: [0x0875, 0x81], +0x09cf: [0x09ef, 0x81], +0x09cb: [0x09ea, 0x81], +0x0843: [0x0823, 0x81], +0x0dcc: [0x0dec, 0x81], +0x0e11: [0x0d7d, 0x81], +0x1429: [0x144a, 0x81], +0x142c: [0x140d, 0x81], +0x1459: [0x1458, 0x81], +0x152b: [0x154b, 0x81], +0x15c7: [0x15a8, 0x81], +0x147d: [0x145d, 0x81], +0x1618: [0x163f, 0x83], +0x10f5: [0x1116, 0x81], +0x1119: [0x1139, 0x81], +0x111a: [0x113b, 0x81], +0x111c: [0x113d, 0x81], +0x115e: [0x115f, 0x81], +0x1294: [0x12dc, 0x81], +0x1313: [0x1332, 0x81], +0x13b3: [0x13d2, 0x81], +0x12e7: [0x1307, 0x81], +0x1327: [0x1306, 0x81], +0x1d59: [0x1d5a, 0x81], +0x1daa: [0x1dca, 0x81], +0x1d68: [0x1d69, 0x83], +0x1dc6: [0x1de7, 0x83], +0x1d27: [0x1d46, 0x81], +0x1b78: [0x1ab8, 0x81], +0x1a5c: [0x1a50, 0x83], +0x190c: [0x192c, 0x83], +0x18b5: [0x18bb, 0x81], +0x1926: [0x1925, 0x81], +0x0fc7: [0x0fe7, 0x81], +0x0cfa: [0x0d1a, 0x81], +0x06f3: [0x0615, 0x81], +0x06f5: [0x0657, 0x81], +0x0699: [0x06b8, 0x81], +0x073e: [0x071d, 0x81], +0x06fd: [0x06fe, 0x81], +0x06f8: [0x06f7, 0x81], +0x073b: [0x071b, 0x81], +0x0b10: [0x0b0e, 0x81], +0x0a6f: [0x0a8c, 0x89], +0x0aba: [0x0a9a, 0x81], +0x1a44: [0x1a24, 0x81], +0x07b1: [0x07cc, 0x81], +0x0bca: [0x0bea, 0x81], +} + +door_targets = {} +for src,dest in locked_doors.items(): + dest = dest[0] + tm,tx,ty = coords(src) + if dest in door_targets.keys(): + door_targets[dest] += f" / X{tx:02} Y{ty:02}" + else: + door_targets[dest] = f"{map_names[tm]} X{tx:02} Y{ty:02}" + +switches = { +0x000f: [0x00ae, 0x8a, 0x20], +0x04a6: [0x0486, 0x83, 0x00], +0x04b5: [0x0413, 0x83, 0x00], +0x0507: [0x04c7, 0x83, 0x00], +0x0505: [0x0506, 0x83, 0x00], +0x0584: [0x0564, 0x83, 0x00], +0x05c4: [0x0543, 0x83, 0x00], +0x050f: [0x052e, 0x81, 0x00], +0x050a: [0x0000, 0x85, 0x00], +0x0529: [0x0005, 0x85, 0x00], +0x05e9: [0x0004, 0x85, 0x00], +0x0567: [0x0003, 0x85, 0x00], +0x057e: [0x057d, 0x81, 0x00], +0x05bd: [0x059c, 0x81, 0x00], +0x059a: [0x05bb, 0x81, 0x00], +0x059f: [0x05be, 0x01, 0x00], +0x05d9: [0x05fa, 0x81, 0x00], +0x05fb: [0x05dc, 0x81, 0x00], +0x05fe: [0x05fd, 0x81, 0x00], +0x063d: [0x061c, 0x81, 0x00], +0x063a: [0x0619, 0x81, 0x00], +0x05b1: [0x041f, 0x03, 0x00], +0x0a0d: [0x0a10, 0x83, 0x00], +0x08fc: [0x091d, 0x81, 0x00], +0x0999: [0x09ba, 0x81, 0x00], +0x09fd: [0x09de, 0x81, 0x00], +0x08cd: [0x0925, 0x83, 0x00], +0x0909: [0x08ee, 0x83, 0x00], +0x08e5: [0x0949, 0x83, 0x00], +0x0c72: [0x0c92, 0x83, 0x00], +0x0e26: [0x0e20, 0x83, 0x00], +0x0d8b: [0x0d91, 0x01, 0x00], +0x0d9f: [0x0e5c, 0x83, 0x00], +0x14a0: [0x14a8, 0x07, 0x40], +0x152e: [0x154e, 0x83, 0x00], +0x1505: [0x14c6, 0x83, 0x00], +0x1594: [0x14dc, 0x83, 0x00], +0x151d: [0x1554, 0x83, 0x00], +0x1558: [0x14f9, 0x83, 0x00], +0x15fe: [0x1677, 0x81, 0x00], +0x1104: [0x1128, 0x83, 0x00], +0x1272: [0x126f, 0x0c, 0x00], +0x1346: [0x134a, 0x03, 0x00], +0x1324: [0x1341, 0x03, 0x00], +0x1322: [0x1385, 0x03, 0x00], +0x1384: [0x12e1, 0x03, 0x00], +0x12c1: [0x1380, 0x03, 0x00], +0x12e2: [0x13c5, 0x03, 0x00], +0x1382: [0x12e0, 0x03, 0x00], +0x13a1: [0x13a4, 0x01, 0x00], +0x0002: [0x0000, 0x0e, 0x00], +0x1c29: [0x1c35, 0x0c, 0x00], +0x1cfb: [0x1d3d, 0x0c, 0x00], +0x1d9d: [0x1d3b, 0x03, 0x00], +0x1694: [0x164c, 0x03, 0x00], +0x1d38: [0x1d28, 0x03, 0x00], +0x1e2f: [0x1df2, 0x0c, 0x00], +0x1e50: [0x1dee, 0x0c, 0x00], +0x1e51: [0x1e6e, 0x0c, 0x00], +0x1e1a: [0x1edb, 0x03, 0x00], +0x1f1f: [0x1ed7, 0x03, 0x00], +0x1f6a: [0x1f10, 0x03, 0x00], +0x1f30: [0x1f8c, 0x03, 0x00], +0x1a3b: [0x1a34, 0x01, 0x00], +0x1a53: [0x1a9f, 0x03, 0x00], +0x188d: [0x18c2, 0x03, 0x00], +0x1a11: [0x18ff, 0x03, 0x00], +0x19be: [0x182e, 0x03, 0x00], +0x1d64: [0x1d09, 0x03, 0x00], +0x0660: [0x0643, 0x83, 0x00], +0x0665: [0x0623, 0x83, 0x00], +0x0707: [0x0622, 0x83, 0x00], +0x0720: [0x0602, 0x83, 0x00], +0x0661: [0x0683, 0x01, 0x00], +0x06e0: [0x06c1, 0x01, 0x00], +0x0724: [0x0703, 0x01, 0x00], +0x06a6: [0x06c5, 0x01, 0x00], +0x0cf4: [0x0cf8, 0x03, 0x00], +0x0638: [0x0659, 0x0a, 0x20], +0x063c: [0x0659, 0x0a, 0x00], +0x069f: [0x06dc, 0x0a, 0x20], +0x06fc: [0x06ba, 0x0a, 0x20], +0x066f: [0x0653, 0x0c, 0x00], +0x068f: [0x0655, 0x0c, 0x00], +0x06af: [0x0693, 0x0c, 0x00], +0x06cf: [0x0695, 0x0c, 0x00], +0x071f: [0x065b, 0x0a, 0x20], +0x077c: [0x079e, 0x0c, 0x00], +0x075b: [0x07de, 0x0c, 0x00], +0x0bc3: [0x0b63, 0x03, 0x00], +0x0ae8: [0x0aa9, 0x0c, 0x00], +0x0acb: [0x0aa9, 0x0c, 0x00], +0x0a45: [0x0a58, 0x03, 0x00], +0x0add: [0x0b19, 0x03, 0x00], +0x0a74: [0x0ad3, 0x0c, 0x00], +0x0a94: [0x0ad5, 0x0c, 0x00], +0x0a54: [0x0ad5, 0x0c, 0x00], +0x0a33: [0x0ad3, 0x0c, 0x00], +0x0a52: [0x0ad1, 0x0c, 0x00], +0x0a92: [0x0ad3, 0x0c, 0x00], +0x0a71: [0x0ad1, 0x0c, 0x00], +0x0a90: [0x0acf, 0x0c, 0x00], +0x029b: [0x025b, 0x03, 0x00], +0x17d8: [0x17b5, 0x0c, 0x00], +0x17f3: [0x176e, 0x0c, 0x00], +0x17c7: [0x1728, 0x0c, 0x00], +0x17e1: [0x1721, 0x03, 0x00], +0x16c4: [0x17fb, 0x03, 0x00], +0x07ee: [0x1d05, 0x03, 0x00], +0x07c7: [0x00f2, 0x05, 0x00], +0x0a9e: [0x02fa, 0x03, 0x00], +} + +switch_targets = {} +for src,dest in switches.items(): + if not (dest[1]==0x85 or dest[1]==0x05): + dest = dest[0] + tm,tx,ty = coords(src) + if dest in switch_targets.keys(): + switch_targets[dest] += f" / X{tx:02} Y{ty:02}" + else: + switch_targets[dest] = f"{map_names[tm]} X{tx:02} Y{ty:02}" + +npc_text = { +0x01: [0x47, 0x4b, 0x00, 0x08, 0x01, 0x02, 0x1a, "I HAVE LOST MY CHILD"], +0x04: [0x46, 0x00, 0x00, 0x08, 0x01, 0x02, 0x18, "I HAVE LOST MY COVER"], +0x06: [0x5d, 0x00, 0x00, 0x08, 0x01, 0x02, 0x14, "HAVE YOU SEEN MY CUP?"], +0x07: [0x39, 0x00, 0x00, 0x08, 0x01, 0x02, 0x15, "I HAVE LOST MY WEAPON"], +0x0e: [0x00, 0x53, 0x00, 0x01, 0x01, 0x02, 0x2a, "DO NOT HIT ME"], +0x0f: [0x00, 0x52, 0x00, 0x01, 0x01, 0x02, 0x19, "WE WILL MAKE YOU ILL"], +0x0d: [0x53, 0x5b, 0x01, 0x05, 0x01, 0x02, 0x28, "I WILL PAY YOU"], +0x03: [0x5b, 0x00, 0x00, 0x03, 0x01, 0x02, 0x38, "PAY ME"], +0x05: [0x6f, 0x62, 0x00, 0x0a, 0x01, 0x02, 0x30, "LEAVE NOW"], +0x02: [0x00, 0x00, 0x00, 0x09, 0x01, 0x02, 0x22, "NO ONE WILL PASS"], +0x09: [0x00, 0x60, 0x00, 0x00, 0x01, 0x02, 0x3b, "ARRGH"], +0x0c: [0x00, 0x5d, 0x00, 0x06, 0x01, 0x02, 0x3c, "HISSS"], +0x0a: [0x00, 0x62, 0x00, 0x06, 0x01, 0x02, 0x26, "I SEE MY DINNER"], +0x0b: [0x00, 0x61, 0x00, 0x00, 0x01, 0x02, 0x2d, "YOU WILL DIE"], +0x13: [0x34, 0x38, 0x00, 0x00, 0x01, 0x02, 0x14, "LET ME SEE YOUR SWORD"], +0x14: [0x00, 0x64, 0x00, 0x00, 0x01, 0x02, 0x0e, "LORDFEAR WILL DEFEAT YOU"], +0x15: [0x00, 0x4d, 0x00, 0x00, 0x01, 0x02, 0x26, "I WILL HEAL YOU"], +0x16: [0x00, 0x62, 0x00, 0x04, 0x01, 0x02, 0x1e, "LEAVE ME IN PIECES"], +0x17: [0x00, 0x63, 0x00, 0x00, 0x01, 0x02, 0x13, "I KNOW WHERE THE KEY IS"], +0x18: [0x00, 0x62, 0x00, 0xff, 0x01, 0x00, 0x08, ""], +0x19: [0x00, 0x62, 0x00, 0xff, 0x01, 0x00, 0x12, ""], +0x11: [0x00, 0x25, 0x00, 0x00, 0x01, 0x02, 0x38, "SQWARK"], +0x1a: [0x00, 0x47, 0x00, 0x04, 0x01, 0x02, 0x27, "ONE IS THE EXIT"], +0x1b: [0x00, 0x61, 0x00, 0x00, 0x02, 0x02, 0x0a, "I WANT TO BE THE GUARDIAN OF
THE CASTLE"], +0x1c: [0x00, 0x61, 0x00, 0x00, 0x02, 0x02, 0x13, "I AM THE GUARDIAN OF THE
CASTLE"], +0x1d: [0x00, 0x61, 0x00, 0xff, 0x02, 0x00, 0x08, ""], +0x1e: [0x00, 0x63, 0x00, 0xff, 0x02, 0x00, 0x14, ""], +0x12: [0x00, 0x5b, 0x00, 0x00, 0x01, 0x02, 0x31, "STAY AWAY"], +0x1f: [0x00, 0x4e, 0x00, 0x00, 0x01, 0x02, 0x26, "I WILL HEAL YOU"], +0x21: [0x00, 0x4d, 0x00, 0x00, 0x01, 0x02, 0x26, "I WILL HEAL YOU"], +0x10: [0x00, 0x61, 0x00, 0x00, 0x01, 0x02, 0x1c, "HOW DARE YOU ENTER"], +0x20: [0x00, 0x5f, 0x00, 0x0a, 0x01, 0x02, 0x26, "HE HE HE HE HE"], +0x22: [0x00, 0x64, 0x00, 0x00, 0x01, 0x02, 0x2d, "HA HA HA HA"], +0x23: [0x00, 0x08, 0x00, 0x00, 0x01, 0x02, 0x21, "THE CROWN IS MINE"], +} + +npc_names = { +0x00: "Treguard", +0x01: "Pickle", +0x02: "Red-eyed hooded figure (unused)", +0x03: "Hooded figure", +0x04: "?", +0x05: "Jester", +0x06: "Cobra", +0x07: "? (unused)", +0x08: "Tree", +0x09: "Troll", +0x0a: "Witch", +0xff: "Disabled", +} + +monsters = { +0x03ac: [0x00, 0x02, 0x09, 0x14, 0x03, 0x0e, 0x46, 0x05, 0x00, 0x46, 0x14, 0x00], +0x0027: [0x00, 0x00, 0x01, 0x0a, 0x00, 0x0a, 0x0a, 0x04, 0x00, 0x0a, 0x14, 0x00], +0x0034: [0x00, 0x01, 0x0a, 0x0c, 0x08, 0x0e, 0x0a, 0x05, 0x00, 0x0a, 0x14, 0x00], +0x0097: [0x00, 0x01, 0x0a, 0x0b, 0x00, 0x0a, 0x0a, 0x06, 0x00, 0x14, 0x14, 0x00], +0x00e4: [0x00, 0x02, 0x05, 0x09, 0x00, 0x0d, 0x0a, 0x07, 0x00, 0x0c, 0x14, 0x00], +0x016a: [0x00, 0x01, 0x04, 0x06, 0x00, 0x0a, 0x0a, 0x08, 0x00, 0x17, 0x14, 0x00], +0x020c: [0x00, 0x01, 0x03, 0x0c, 0x00, 0x0a, 0x0a, 0x09, 0x00, 0x32, 0x14, 0x00], +0x02f1: [0x81, 0x03, 0x38, 0xff, 0x01, 0xdc, 0x01, 0x01, 0x03, 0xe8, 0x14, 0x00], +0x0162: [0x84, 0x02, 0x0d, 0xff, 0x01, 0xdc, 0x01, 0x01, 0x03, 0xe8, 0x14, 0x00], +0x0156: [0x86, 0x03, 0x2e, 0xff, 0x01, 0xdc, 0x01, 0x01, 0x03, 0xe8, 0x14, 0x00], +0x00c2: [0x87, 0x00, 0x03, 0xff, 0x01, 0xe1, 0xfa, 0x01, 0x07, 0xd0, 0x14, 0x00], +0x02f6: [0x00, 0x01, 0x05, 0x0a, 0x03, 0x22, 0x5a, 0x1e, 0x05, 0x14, 0x00, 0x00, 0x05, 0x14, 0x02, 0x00], +0x02f7: [0x00, 0x00, 0x06, 0x0a, 0x03, 0x22, 0x5a, 0x1e, 0x10, 0xcc, 0x00, 0x00, 0x10, 0xcc, 0x02, 0x00], +0x0446: [0x00, 0x03, 0x0a, 0x0c, 0x14, 0x01, 0x81, 0x14, 0x01, 0xa4, 0x14, 0x00], +0x0427: [0x00, 0x00, 0x06, 0x0c, 0x13, 0x01, 0xb3, 0x1d, 0x01, 0x86, 0x14, 0x00], +0x0430: [0x00, 0x01, 0x06, 0x0e, 0x15, 0x0a, 0x81, 0x14, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x02, 0x00, 0x00, 0xf0, 0x06, 0x00, 0x00, 0xf0, 0x08, 0x00], +0x0450: [0x00, 0x00, 0x00, 0x08, 0x15, 0x0a, 0x8b, 0x14, 0x00, 0xfa, 0x00, 0x00, 0x00, 0xfa, 0x02, 0x00, 0x00, 0xfa, 0x07, 0x00], +0x040c: [0x00, 0x01, 0x01, 0x09, 0x13, 0x0a, 0x81, 0x19, 0x00, 0xfa, 0x00, 0x00, 0x00, 0xfa, 0x02, 0x00], +0x041b: [0x00, 0x02, 0x0a, 0x0f, 0x12, 0x3c, 0x81, 0x11, 0x01, 0x54, 0x14, 0x00], +0x041d: [0x00, 0x02, 0x02, 0x09, 0x12, 0x3c, 0x81, 0x11, 0x01, 0x54, 0x14, 0x00], +0x04c6: [0x00, 0x00, 0x01, 0x09, 0x12, 0x0a, 0x81, 0x1b, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x02, 0x00], +0x0525: [0x00, 0x01, 0x08, 0x0a, 0x13, 0x0a, 0x6d, 0x11, 0x01, 0x86, 0x00, 0x00, 0x01, 0x86, 0x02, 0x00], +0x05a4: [0x00, 0x01, 0x09, 0x0b, 0x14, 0x0a, 0x77, 0x11, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x02, 0x00], +0x0503: [0x00, 0x02, 0x0a, 0x12, 0x1b, 0x32, 0xc7, 0x1f, 0x02, 0xa8, 0x14, 0x00], +0x0458: [0x00, 0x00, 0x0a, 0x0c, 0x13, 0x0a, 0x63, 0x1b, 0x01, 0x22, 0x00, 0x00, 0x01, 0x22, 0x02, 0x00], +0x045a: [0x00, 0x01, 0x04, 0x09, 0x13, 0x0a, 0x4f, 0x1d, 0x03, 0x7a, 0x14, 0x00], +0x047d: [0x00, 0x00, 0x06, 0x0a, 0x14, 0x0a, 0x31, 0x19, 0x01, 0xb8, 0x00, 0x00, 0x01, 0xb8, 0x02, 0x00, 0x01, 0xb8, 0x07, 0x00], +0x049c: [0x00, 0x00, 0x02, 0x09, 0x14, 0x0a, 0x63, 0x1a, 0x01, 0xb8, 0x00, 0x00, 0x01, 0xb8, 0x02, 0x00], +0x049e: [0x00, 0x02, 0x05, 0x0c, 0x15, 0x5a, 0x81, 0x14, 0x01, 0x54, 0x00, 0x00, 0x01, 0x54, 0x02, 0x00, 0x01, 0x54, 0x07, 0x00], +0x059b: [0x00, 0x03, 0x02, 0x06, 0x12, 0x0a, 0x59, 0x11, 0x00, 0xf0, 0x14, 0x00], +0x059e: [0x00, 0x01, 0x04, 0x0b, 0x12, 0x0a, 0x63, 0x11, 0x02, 0x4e, 0x00, 0x00, 0x02, 0x4e, 0x02, 0x00], +0x05da: [0x00, 0x00, 0x00, 0x09, 0x13, 0x0a, 0x77, 0x11, 0x01, 0x54, 0x14, 0x00], +0x05de: [0x00, 0x01, 0x01, 0x0a, 0x14, 0x0a, 0x59, 0x11, 0x01, 0xb8, 0x14, 0x00], +0x061d: [0x00, 0x02, 0x08, 0x0b, 0x14, 0x0a, 0x4f, 0x11, 0x02, 0x80, 0x00, 0x00, 0x02, 0x80, 0x02, 0x00], +0x061a: [0x00, 0x02, 0x0a, 0x0b, 0x14, 0x0a, 0x63, 0x18, 0x01, 0xf4, 0x00, 0x00, 0x01, 0xf4, 0x02, 0x00, 0x01, 0xf4, 0x07, 0x00], +0x0617: [0x00, 0x03, 0x05, 0x09, 0x1b, 0x3c, 0x81, 0x1b, 0x02, 0xe4, 0x14, 0x00], +0x05f8: [0x00, 0x02, 0x06, 0x0a, 0x1b, 0x3c, 0x81, 0x1b, 0x02, 0xe4, 0x14, 0x00], +0x0572: [0x00, 0x01, 0x04, 0x0c, 0x1b, 0x3c, 0x81, 0x11, 0x02, 0xe4, 0x14, 0x00], +0x0593: [0x00, 0x03, 0x03, 0x09, 0x1b, 0x32, 0x81, 0x1d, 0x02, 0xb2, 0x00, 0x00, 0x02, 0xb2, 0x02, 0x00], +0x05b4: [0x00, 0x02, 0x01, 0x0c, 0x1b, 0x3c, 0x81, 0x15, 0x02, 0x44, 0x00, 0x00, 0x02, 0x44, 0x02, 0x00], +0x05b6: [0x00, 0x03, 0x03, 0x0e, 0x1b, 0x46, 0x81, 0x1d, 0x02, 0x94, 0x00, 0x00, 0x02, 0x94, 0x02, 0x00, 0x02, 0x94, 0x07, 0x00], +0x05b7: [0x00, 0x00, 0x0b, 0x0f, 0x1b, 0x3c, 0x81, 0x15, 0x02, 0xf8, 0x00, 0x00, 0x02, 0xf8, 0x02, 0x00, 0x02, 0xf8, 0x06, 0x00, 0x02, 0xf8, 0x08, 0x00], +0x0598: [0x00, 0x00, 0x0a, 0x0b, 0x1b, 0x32, 0x81, 0x17, 0x01, 0xfe, 0x00, 0x00, 0x01, 0xfe, 0x02, 0x00], +0x0579: [0x00, 0x01, 0x05, 0x0a, 0x1b, 0x32, 0x81, 0x15, 0x01, 0x68, 0x00, 0x00, 0x01, 0x68, 0x02, 0x00, 0x01, 0x68, 0x07, 0x00], +0x05f1: [0x00, 0x00, 0x04, 0x07, 0x1c, 0x0a, 0x45, 0x09, 0x00, 0x78, 0x14, 0x00], +0x0958: [0x00, 0x01, 0x01, 0x0d, 0x12, 0x0a, 0x6d, 0x0e, 0x01, 0xb8, 0x14, 0x00], +0x0978: [0x00, 0x02, 0x03, 0x0e, 0x13, 0x0a, 0x81, 0x0f, 0x02, 0x1c, 0x14, 0x00], +0x083f: [0x00, 0x01, 0x01, 0x0c, 0x16, 0x0a, 0x81, 0x07, 0x01, 0xb8, 0x14, 0x00], +0x08d4: [0x00, 0x03, 0x04, 0x08, 0x17, 0x1e, 0x81, 0x07, 0x01, 0x04, 0x14, 0x00], +0x08d5: [0x00, 0x02, 0x03, 0x05, 0x17, 0x28, 0x4f, 0x07, 0x01, 0x72, 0x14, 0x00], +0x08f4: [0x00, 0x02, 0x02, 0x0b, 0x17, 0x1e, 0x81, 0x03, 0x01, 0x18, 0x14, 0x00], +0x08f5: [0x00, 0x00, 0x04, 0x0a, 0x17, 0x14, 0x81, 0x03, 0x01, 0xcc, 0x14, 0x00], +0x08f6: [0x00, 0x03, 0x00, 0x09, 0x17, 0x1e, 0x63, 0x07, 0x01, 0x72, 0x14, 0x00], +0x0952: [0x00, 0x00, 0x01, 0x0b, 0x17, 0x28, 0x81, 0x07, 0x01, 0x18, 0x14, 0x00], +0x0972: [0x00, 0x01, 0x0a, 0x0d, 0x17, 0x1e, 0x4f, 0x07, 0x01, 0x68, 0x14, 0x00], +0x0973: [0x00, 0x01, 0x06, 0x07, 0x17, 0x14, 0x81, 0x07, 0x01, 0xc2, 0x14, 0x00], +0x0974: [0x00, 0x02, 0x05, 0x09, 0x17, 0x14, 0x3b, 0x07, 0x01, 0x54, 0x14, 0x00], +0x0976: [0x00, 0x01, 0x04, 0x07, 0x1d, 0x0a, 0x31, 0x0c, 0x01, 0x18, 0x00, 0x00, 0x01, 0x18, 0x02, 0x00, 0x01, 0x18, 0x07, 0x00], +0x093a: [0x00, 0x00, 0x0b, 0x0c, 0x12, 0x0a, 0x27, 0x14, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x02, 0x00, 0x00, 0xf0, 0x06, 0x00, 0x00, 0xf0, 0x08, 0x00], +0x093c: [0x00, 0x01, 0x08, 0x0e, 0x13, 0x0a, 0x45, 0x17, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x02, 0x00, 0x00, 0xf0, 0x07, 0x00], +0x091e: [0x00, 0x00, 0x08, 0x0d, 0x14, 0x0a, 0x63, 0x1a, 0x01, 0x54, 0x00, 0x00, 0x01, 0x54, 0x02, 0x00, 0x01, 0x54, 0x06, 0x00, 0x01, 0x54, 0x08, 0x00], +0x097b: [0x00, 0x00, 0x02, 0x06, 0x1d, 0x0a, 0x59, 0x0c, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x5a, 0x02, 0x00, 0x00, 0x5a, 0x07, 0x00], +0x097c: [0x00, 0x02, 0x06, 0x0d, 0x15, 0x0a, 0x81, 0x14, 0x01, 0x86, 0x00, 0x00, 0x01, 0x86, 0x02, 0x00], +0x097f: [0x00, 0x01, 0x00, 0x0b, 0x16, 0x0a, 0x81, 0x14, 0x01, 0xea, 0x00, 0x00, 0x01, 0xea, 0x02, 0x00], +0x09da: [0x00, 0x02, 0x02, 0x0a, 0x16, 0x1e, 0x4f, 0x16, 0x01, 0x36, 0x00, 0x00, 0x01, 0x36, 0x02, 0x00, 0x01, 0x36, 0x07, 0x00], +0x09db: [0x00, 0x03, 0x09, 0x0b, 0x15, 0x0a, 0x77, 0x1d, 0x01, 0x90, 0x00, 0x00, 0x01, 0x90, 0x02, 0x00, 0x01, 0x90, 0x06, 0x00, 0x01, 0x90, 0x08, 0x00], +0x09ff: [0x00, 0x03, 0x0c, 0x0d, 0x20, 0x5a, 0x70, 0x1e, 0x03, 0x48, 0x14, 0x00], +0x0a1d: [0x0e, 0x00, 0x04, 0x09, 0x15, 0x0a, 0x63, 0x14, 0x00, 0xf0, 0x14, 0x00], +0x09f5: [0x00, 0x03, 0x03, 0x05, 0x17, 0x0a, 0x6d, 0x16, 0x01, 0xb8, 0x14, 0x00], +0x09f7: [0x00, 0x03, 0x03, 0x0b, 0x16, 0x0a, 0xdb, 0x14, 0x01, 0x54, 0x14, 0x00], +0x0a15: [0x00, 0x01, 0x05, 0x0c, 0x1f, 0x0a, 0x77, 0x1e, 0x03, 0x48, 0x14, 0x00], +0x0a18: [0x0f, 0x00, 0x00, 0x05, 0x1d, 0x0a, 0x77, 0x11, 0x00, 0x78, 0x00, 0x00, 0x00, 0x78, 0x02, 0x00, 0x00, 0x78, 0x06, 0x00, 0x00, 0x78, 0x08, 0x00], +0x0832: [0x00, 0x02, 0x0d, 0x0f, 0x17, 0x50, 0x59, 0x11, 0x01, 0xb8, 0x14, 0x00], +0x0836: [0x00, 0x03, 0x0a, 0x13, 0x1f, 0x1e, 0xd1, 0x1b, 0x03, 0x48, 0x14, 0x00], +0x09eb: [0x00, 0x02, 0x02, 0x04, 0x1d, 0x0a, 0x81, 0x13, 0x00, 0x78, 0x00, 0x00, 0x00, 0x78, 0x02, 0x00, 0x00, 0x78, 0x06, 0x00, 0x00, 0x78, 0x08, 0x00], +0x0929: [0x8d, 0x01, 0x03, 0x0a, 0x18, 0x01, 0x01, 0x16, 0x3e, 0x80, 0x14, 0x00], +0x0828: [0x00, 0x03, 0x05, 0x0f, 0x1f, 0x0a, 0x63, 0x11, 0x01, 0x86, 0x14, 0x00], +0x086e: [0x00, 0x02, 0x00, 0x0e, 0x1f, 0x0a, 0x59, 0x11, 0x01, 0x22, 0x14, 0x00], +0x08ca: [0x00, 0x03, 0x02, 0x0d, 0x1f, 0x0a, 0x4f, 0x1b, 0x00, 0xbe, 0x14, 0x00], +0x0946: [0x00, 0x00, 0x09, 0x0c, 0x1f, 0x0a, 0x45, 0x1b, 0x01, 0x22, 0x14, 0x00], +0x096d: [0x00, 0x00, 0x0a, 0x0b, 0x1f, 0x0a, 0x3b, 0x11, 0x00, 0xbe, 0x14, 0x00], +0x0985: [0x00, 0x01, 0x05, 0x0a, 0x1f, 0x0a, 0x95, 0x1b, 0x01, 0x22, 0x14, 0x00], +0x0989: [0x00, 0x00, 0x06, 0x09, 0x1f, 0x0a, 0x8b, 0x11, 0x00, 0xbe, 0x14, 0x00], +0x08ce: [0x00, 0x00, 0x03, 0x0b, 0x20, 0x0a, 0x81, 0x15, 0x02, 0xe4, 0x14, 0x00], +0x0924: [0x00, 0x02, 0x04, 0x0c, 0x20, 0x0a, 0x81, 0x1b, 0x03, 0x48, 0x14, 0x00], +0x0c49: [0x83, 0x01, 0x15, 0xc8, 0x05, 0xff, 0x01, 0x01, 0xfd, 0xe8, 0x14, 0x00], +0x0c2d: [0x00, 0x02, 0x00, 0x05, 0x21, 0x01, 0xab, 0x14, 0x00, 0x64, 0x00, 0x00, 0x00, 0x64, 0x02, 0x00], +0x0c6e: [0x00, 0x03, 0x03, 0x05, 0x21, 0x01, 0xab, 0x14, 0x00, 0x82, 0x00, 0x00, 0x00, 0x82, 0x02, 0x00, 0x00, 0x82, 0x07, 0x00], +0x0ca6: [0x00, 0x03, 0x03, 0x04, 0x21, 0x01, 0xab, 0x14, 0x00, 0xc8, 0x00, 0x00, 0x00, 0xc8, 0x02, 0x00, 0x00, 0xc8, 0x06, 0x00, 0x00, 0xc8, 0x08, 0x00], +0x0ce9: [0x00, 0x00, 0x02, 0x04, 0x21, 0x01, 0xab, 0x0a, 0x00, 0xc8, 0x00, 0x00, 0x00, 0xc8, 0x02, 0x00, 0x00, 0xc8, 0x07, 0x00], +0x0d03: [0x00, 0x03, 0x03, 0x05, 0x21, 0x01, 0xab, 0x0a, 0x00, 0xc8, 0x00, 0x00, 0x00, 0xc8, 0x02, 0x00, 0x00, 0xc8, 0x06, 0x00, 0x00, 0xc8, 0x08, 0x00], +0x0d61: [0x00, 0x03, 0x01, 0x04, 0x21, 0x01, 0xab, 0x14, 0x00, 0xc8, 0x00, 0x00, 0x00, 0xc8, 0x02, 0x00, 0x00, 0xc8, 0x07, 0x00], +0x0d83: [0x00, 0x01, 0x01, 0x04, 0x21, 0x01, 0xab, 0x14, 0x00, 0xc8, 0x00, 0x00, 0x00, 0xc8, 0x02, 0x00, 0x00, 0xc8, 0x06, 0x00, 0x00, 0xc8, 0x08, 0x00], +0x0c54: [0x00, 0x00, 0x03, 0x0f, 0x03, 0x14, 0x45, 0x11, 0x01, 0x22, 0x14, 0x00], +0x0c74: [0x00, 0x01, 0x14, 0x19, 0x0e, 0x14, 0xbd, 0x25, 0x02, 0x44, 0x00, 0x00, 0x02, 0x44, 0x02, 0x00], +0x0c94: [0x00, 0x01, 0x14, 0x17, 0x0e, 0x14, 0xc7, 0x1b, 0x01, 0xcc, 0x00, 0x00, 0x01, 0xcc, 0x02, 0x00, 0x01, 0xcc, 0x07, 0x00], +0x0c75: [0x00, 0x02, 0x0c, 0x15, 0x0e, 0x14, 0xa9, 0x1b, 0x02, 0xb2, 0x00, 0x00, 0x02, 0xb2, 0x02, 0x00, 0x02, 0xb2, 0x06, 0x00, 0x02, 0xb2, 0x08, 0x00], +0x0e40: [0x00, 0x01, 0x06, 0x09, 0x0e, 0x14, 0x81, 0x07, 0x03, 0xac, 0x14, 0x00], +0x0dc9: [0x00, 0x02, 0x00, 0x0c, 0x06, 0x14, 0xc7, 0x15, 0x04, 0x10, 0x14, 0x00], +0x0def: [0x05, 0x03, 0x01, 0x08, 0x04, 0x64, 0xc8, 0x20, 0x06, 0x4a, 0x14, 0x00], +0x0d7c: [0x00, 0x00, 0x0b, 0x0f, 0x0e, 0x14, 0x81, 0x1b, 0x01, 0xb8, 0x00, 0x00, 0x01, 0xb8, 0x02, 0x00, 0x01, 0xb8, 0x07, 0x00], +0x0db9: [0x00, 0x00, 0x0c, 0x0e, 0x08, 0x14, 0x81, 0x20, 0x03, 0x66, 0x14, 0x00], +0x0dd8: [0x00, 0x01, 0x07, 0x0d, 0x0e, 0x14, 0xc7, 0x1b, 0x02, 0x1c, 0x14, 0x00], +0x0ddb: [0x00, 0x00, 0x08, 0x0c, 0x08, 0x14, 0x6d, 0x25, 0x03, 0x48, 0x14, 0x00], +0x0e19: [0x00, 0x00, 0x03, 0x0b, 0x08, 0x14, 0x81, 0x24, 0x02, 0xe4, 0x14, 0x00], +0x0e33: [0x00, 0x02, 0x04, 0x0c, 0x0e, 0x14, 0x63, 0x15, 0x02, 0x44, 0x00, 0x00, 0x02, 0x44, 0x02, 0x00], +0x0d7e: [0x00, 0x01, 0x00, 0x0f, 0x04, 0x14, 0x81, 0x1b, 0x04, 0xb0, 0x14, 0x00], +0x14e1: [0x00, 0x00, 0x08, 0x0f, 0x00, 0x01, 0x63, 0x0a, 0x00, 0x1e, 0x14, 0x00], +0x1408: [0x00, 0x03, 0x09, 0x0d, 0x00, 0x01, 0x63, 0x0c, 0x00, 0x28, 0x14, 0x00], +0x1434: [0x00, 0x00, 0x00, 0x0f, 0x00, 0x01, 0x8b, 0x0a, 0x00, 0x32, 0x00, 0x00, 0x00, 0x32, 0x02, 0x00], +0x1438: [0x00, 0x01, 0x02, 0x0f, 0x00, 0x01, 0x8b, 0x0a, 0x00, 0x32, 0x00, 0x00, 0x00, 0x32, 0x02, 0x00], +0x145a: [0x00, 0x02, 0x11, 0x14, 0x03, 0x01, 0x3c, 0x0f, 0x00, 0x8c, 0x14, 0x00], +0x14b1: [0x00, 0x02, 0x0c, 0x0d, 0x00, 0x01, 0x77, 0x0c, 0x00, 0x32, 0x00, 0x00, 0x00, 0x32, 0x02, 0x00, 0x00, 0x32, 0x07, 0x00], +0x14b0: [0x00, 0x03, 0x07, 0x0d, 0x00, 0x01, 0x77, 0x0d, 0x00, 0x32, 0x00, 0x00, 0x00, 0x32, 0x02, 0x00, 0x00, 0x32, 0x07, 0x00], +0x14ac: [0x00, 0x00, 0x06, 0x0e, 0x01, 0x01, 0x96, 0x0f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x50, 0x02, 0x00, 0x00, 0x50, 0x06, 0x00, 0x00, 0x50, 0x08, 0x00], +0x1551: [0x00, 0x03, 0x00, 0x08, 0x00, 0x01, 0x81, 0x0c, 0x00, 0x32, 0x00, 0x00, 0x00, 0x32, 0x02, 0x00, 0x00, 0x32, 0x07, 0x00], +0x1550: [0x00, 0x00, 0x02, 0x09, 0x00, 0x01, 0x8b, 0x0f, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3c, 0x02, 0x00], +0x1528: [0x00, 0x01, 0x04, 0x0c, 0x00, 0x01, 0xb3, 0x09, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3c, 0x02, 0x00, 0x00, 0x3c, 0x06, 0x00, 0x00, 0x3c, 0x08, 0x00], +0x1569: [0x00, 0x03, 0x05, 0x0c, 0x00, 0x01, 0xb3, 0x0b, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3c, 0x02, 0x00, 0x00, 0x3c, 0x06, 0x00, 0x00, 0x3c, 0x08, 0x00], +0x1541: [0x00, 0x02, 0x00, 0x0c, 0x00, 0x01, 0xb3, 0x0a, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3c, 0x02, 0x00, 0x00, 0x3c, 0x06, 0x00, 0x00, 0x3c, 0x08, 0x00], +0x1562: [0x00, 0x03, 0x02, 0x0c, 0x01, 0x01, 0xb3, 0x0a, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x5a, 0x02, 0x00, 0x00, 0x5a, 0x06, 0x00, 0x00, 0x5a, 0x08, 0x00], +0x1590: [0x00, 0x01, 0x06, 0x0c, 0x00, 0x01, 0x4f, 0x0f, 0x00, 0x96, 0x00, 0x00, 0x00, 0x96, 0x02, 0x00, 0x00, 0x96, 0x06, 0x00, 0x00, 0x96, 0x08, 0x00], +0x15b3: [0x00, 0x00, 0x07, 0x0b, 0x00, 0x01, 0x77, 0x0d, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x8c, 0x02, 0x00, 0x00, 0x8c, 0x06, 0x00, 0x00, 0x8c, 0x08, 0x00], +0x15b4: [0x00, 0x00, 0x03, 0x0c, 0x00, 0x01, 0x77, 0x13, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x8c, 0x02, 0x00, 0x00, 0x8c, 0x06, 0x00, 0x00, 0x8c, 0x08, 0x00], +0x1574: [0x00, 0x02, 0x03, 0x08, 0x03, 0x01, 0x95, 0x10, 0x00, 0xc8, 0x00, 0x00, 0x00, 0xc8, 0x02, 0x00, 0x00, 0xc8, 0x06, 0x00, 0x00, 0xc8, 0x08, 0x00], +0x1515: [0x00, 0x01, 0x00, 0x09, 0x03, 0x01, 0xb3, 0x10, 0x00, 0xc8, 0x00, 0x00, 0x00, 0xc8, 0x02, 0x00], +0x14fa: [0x00, 0x02, 0x01, 0x09, 0x03, 0x01, 0xb3, 0x10, 0x00, 0xc8, 0x00, 0x00, 0x00, 0xc8, 0x02, 0x00, 0x00, 0xc8, 0x06, 0x00, 0x00, 0xc8, 0x08, 0x00], +0x151c: [0x00, 0x03, 0x06, 0x09, 0x03, 0x01, 0xb3, 0x10, 0x01, 0x04, 0x00, 0x00, 0x01, 0x04, 0x02, 0x00, 0x01, 0x04, 0x06, 0x00, 0x01, 0x04, 0x08, 0x00], +0x1517: [0x00, 0x03, 0x03, 0x04, 0x21, 0x01, 0x77, 0x0a, 0x00, 0x46, 0x14, 0x00], +0x1556: [0x00, 0x00, 0x03, 0x05, 0x21, 0x01, 0xb3, 0x0b, 0x00, 0x50, 0x14, 0x00], +0x151f: [0x00, 0x03, 0x04, 0x06, 0x21, 0x01, 0x77, 0x0c, 0x00, 0x50, 0x00, 0x00, 0x00, 0x50, 0x02, 0x00], +0x149d: [0x00, 0x03, 0x01, 0x05, 0x21, 0x01, 0x77, 0x10, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3c, 0x02, 0x00, 0x00, 0x3c, 0x07, 0x00], +0x149f: [0x00, 0x01, 0x01, 0x04, 0x21, 0x01, 0x77, 0x10, 0x00, 0x46, 0x00, 0x00, 0x00, 0x46, 0x02, 0x00], +0x1658: [0x00, 0x02, 0x0b, 0x0c, 0x00, 0x01, 0x81, 0x10, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x4b, 0x02, 0x00, 0x00, 0x4b, 0x06, 0x00, 0x00, 0x4b, 0x08, 0x00], +0x1659: [0x00, 0x03, 0x06, 0x0d, 0x00, 0x01, 0x8b, 0x12, 0x00, 0x55, 0x00, 0x00, 0x00, 0x55, 0x02, 0x00, 0x00, 0x55, 0x06, 0x00, 0x00, 0x55, 0x08, 0x00], +0x1679: [0x00, 0x02, 0x09, 0x0e, 0x03, 0x01, 0x95, 0x12, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x5f, 0x02, 0x00, 0x00, 0x5f, 0x06, 0x00, 0x00, 0x5f, 0x08, 0x00], +0x167a: [0x00, 0x02, 0x04, 0x0f, 0x00, 0x01, 0x9f, 0x12, 0x00, 0x73, 0x00, 0x00, 0x00, 0x73, 0x02, 0x00, 0x00, 0x73, 0x06, 0x00, 0x00, 0x73, 0x08, 0x00], +0x169a: [0x00, 0x00, 0x07, 0x10, 0x03, 0x01, 0xa9, 0x12, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x7d, 0x02, 0x00, 0x00, 0x7d, 0x06, 0x00, 0x00, 0x7d, 0x08, 0x00], +0x163a: [0x00, 0x03, 0x00, 0x0d, 0x01, 0x01, 0xa9, 0x15, 0x00, 0xe1, 0x00, 0x00, 0x00, 0xe1, 0x02, 0x00, 0x00, 0xe1, 0x06, 0x00, 0x00, 0xe1, 0x08, 0x00], +0x1698: [0x00, 0x00, 0x02, 0x0d, 0x01, 0x01, 0xa9, 0x15, 0x00, 0xe1, 0x00, 0x00, 0x00, 0xe1, 0x02, 0x00, 0x00, 0xe1, 0x06, 0x00, 0x00, 0xe1, 0x08, 0x00], +0x169f: [0x00, 0x01, 0x0b, 0x0d, 0x03, 0x01, 0x8b, 0x13, 0x00, 0x87, 0x00, 0x00, 0x00, 0x87, 0x02, 0x00, 0x00, 0x87, 0x06, 0x00, 0x00, 0x87, 0x08, 0x00], +0x16bf: [0x00, 0x01, 0x0b, 0x0c, 0x03, 0x01, 0x81, 0x15, 0x00, 0xeb, 0x00, 0x00, 0x00, 0xeb, 0x02, 0x00, 0x00, 0xeb, 0x06, 0x00, 0x00, 0xeb, 0x08, 0x00], +0x16ff: [0x00, 0x02, 0x04, 0x08, 0x06, 0x01, 0x95, 0x19, 0x03, 0xa7, 0x14, 0x00], +0x179e: [0x82, 0x01, 0x04, 0x0f, 0x03, 0x9b, 0xcd, 0x0a, 0x03, 0x20, 0x14, 0x00], +0x118f: [0x00, 0x00, 0x07, 0x0c, 0x12, 0x01, 0x4f, 0x0a, 0x00, 0x87, 0x00, 0x00, 0x00, 0x87, 0x02, 0x00, 0x00, 0x87, 0x07, 0x00], +0x11af: [0x00, 0x00, 0x02, 0x0a, 0x13, 0x01, 0x4f, 0x0d, 0x00, 0x87, 0x00, 0x00, 0x00, 0x87, 0x02, 0x00], +0x11ae: [0x00, 0x02, 0x04, 0x09, 0x14, 0x01, 0x81, 0x11, 0x00, 0xd7, 0x00, 0x00, 0x00, 0xd7, 0x02, 0x00, 0x00, 0xd7, 0x07, 0x00], +0x1124: [0x00, 0x01, 0x00, 0x09, 0x15, 0x01, 0x8b, 0x0e, 0x01, 0x1d, 0x14, 0x00], +0x10e4: [0x00, 0x02, 0x02, 0x0c, 0x03, 0x01, 0x4f, 0x0d, 0x00, 0x87, 0x00, 0x00, 0x00, 0x87, 0x02, 0x00], +0x10a4: [0x00, 0x03, 0x09, 0x0c, 0x01, 0x01, 0x4f, 0x0b, 0x00, 0xb9, 0x00, 0x00, 0x00, 0xb9, 0x02, 0x00, 0x00, 0xb9, 0x06, 0x00, 0x00, 0xb9, 0x08, 0x00], +0x1080: [0x00, 0x03, 0x08, 0x0c, 0x03, 0x01, 0x4f, 0x16, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x7d, 0x02, 0x00], +0x10a0: [0x00, 0x03, 0x04, 0x0c, 0x03, 0x01, 0x4f, 0x15, 0x00, 0xaf, 0x00, 0x00, 0x00, 0xaf, 0x02, 0x00, 0x00, 0xaf, 0x07, 0x00], +0x1028: [0x00, 0x01, 0x04, 0x0a, 0x14, 0x01, 0x8b, 0x11, 0x00, 0x69, 0x00, 0x00, 0x00, 0x69, 0x02, 0x00, 0x00, 0x69, 0x06, 0x00, 0x00, 0x69, 0x08, 0x00], +0x10b1: [0x00, 0x00, 0x00, 0x06, 0x17, 0x01, 0x63, 0x16, 0x01, 0x63, 0x14, 0x00], +0x1016: [0x00, 0x01, 0x01, 0x07, 0x17, 0x01, 0x4f, 0x16, 0x01, 0x63, 0x14, 0x00], +0x101d: [0x00, 0x02, 0x09, 0x0c, 0x12, 0x01, 0x4f, 0x0e, 0x00, 0xc3, 0x00, 0x00, 0x00, 0xc3, 0x02, 0x00, 0x00, 0xc3, 0x06, 0x00, 0x00, 0xc3, 0x08, 0x00], +0x103e: [0x00, 0x02, 0x0a, 0x0c, 0x13, 0x01, 0x81, 0x0a, 0x00, 0xb9, 0x00, 0x00, 0x00, 0xb9, 0x02, 0x00, 0x00, 0xb9, 0x06, 0x00, 0x00, 0xb9, 0x08, 0x00], +0x109f: [0x09, 0x03, 0x04, 0x09, 0x14, 0x01, 0x81, 0x10, 0x00, 0xeb, 0x00, 0x00, 0x00, 0xeb, 0x02, 0x00, 0x00, 0xeb, 0x06, 0x00, 0x00, 0xeb, 0x08, 0x00], +0x117d: [0x00, 0x02, 0x03, 0x09, 0x03, 0x01, 0x77, 0x19, 0x00, 0xcd, 0x00, 0x00, 0x00, 0xcd, 0x02, 0x00, 0x00, 0xcd, 0x06, 0x00, 0x00, 0xcd, 0x08, 0x00], +0x11b9: [0x00, 0x00, 0x03, 0x07, 0x17, 0x01, 0x4f, 0x10, 0x01, 0x8b, 0x14, 0x00], +0x1217: [0x00, 0x03, 0x00, 0x06, 0x17, 0x01, 0x6d, 0x12, 0x01, 0x3b, 0x14, 0x00], +0x1212: [0x00, 0x00, 0x00, 0x06, 0x17, 0x01, 0x81, 0x13, 0x01, 0x45, 0x14, 0x00], +0x1233: [0x00, 0x01, 0x04, 0x05, 0x17, 0x01, 0x77, 0x15, 0x01, 0x6d, 0x14, 0x00], +0x1273: [0x00, 0x01, 0x16, 0x18, 0x03, 0x01, 0x81, 0x1a, 0x01, 0xef, 0x14, 0x00], +0x129a: [0x00, 0x02, 0x04, 0x08, 0x15, 0x01, 0x4f, 0x14, 0x01, 0x81, 0x14, 0x00], +0x12bc: [0x00, 0x01, 0x06, 0x09, 0x15, 0x01, 0x9f, 0x11, 0x01, 0x31, 0x14, 0x00], +0x129f: [0x0a, 0x01, 0x01, 0x05, 0x17, 0x01, 0xa9, 0x18, 0x01, 0xb3, 0x14, 0x00], +0x137a: [0x0b, 0x03, 0x03, 0x09, 0x16, 0xbe, 0xa9, 0x15, 0x00, 0xe1, 0x14, 0x00], +0x120a: [0x09, 0x02, 0x00, 0x05, 0x17, 0x01, 0xb3, 0x13, 0x01, 0xb3, 0x14, 0x00], +0x1393: [0x00, 0x03, 0x02, 0x0c, 0x01, 0x64, 0x4f, 0x0f, 0x00, 0x87, 0x00, 0x00, 0x00, 0x87, 0x02, 0x00, 0x00, 0x87, 0x06, 0x00, 0x00, 0x87, 0x08, 0x00], +0x13f1: [0x00, 0x00, 0x08, 0x0b, 0x01, 0x64, 0x77, 0x11, 0x00, 0x9b, 0x00, 0x00, 0x00, 0x9b, 0x02, 0x00, 0x00, 0x9b, 0x06, 0x00, 0x00, 0x9b, 0x08, 0x00], +0x13ec: [0x00, 0x00, 0x08, 0x0a, 0x01, 0x64, 0x81, 0x13, 0x00, 0xa5, 0x00, 0x00, 0x00, 0xa5, 0x02, 0x00, 0x00, 0xa5, 0x06, 0x00, 0x00, 0xa5, 0x08, 0x00], +0x136c: [0x00, 0x01, 0x05, 0x09, 0x01, 0x64, 0x8b, 0x15, 0x00, 0xaf, 0x00, 0x00, 0x00, 0xaf, 0x02, 0x00, 0x00, 0xaf, 0x06, 0x00, 0x00, 0xaf, 0x08, 0x00], +0x13a9: [0x09, 0x00, 0x04, 0x06, 0x17, 0x01, 0xb3, 0x14, 0x01, 0xb3, 0x14, 0x00], +0x1362: [0x00, 0x00, 0x01, 0x04, 0x1d, 0x01, 0x77, 0x0e, 0x00, 0x87, 0x00, 0x00, 0x00, 0x87, 0x02, 0x00], +0x13a5: [0x00, 0x02, 0x03, 0x08, 0x16, 0xbe, 0xc7, 0x1b, 0x02, 0x17, 0x14, 0x00], +0x1301: [0x00, 0x01, 0x00, 0x09, 0x15, 0x96, 0xb3, 0x19, 0x01, 0xb3, 0x14, 0x00], +0x13c0: [0x00, 0x02, 0x00, 0x04, 0x1d, 0x01, 0x77, 0x13, 0x00, 0x87, 0x00, 0x00, 0x00, 0x87, 0x02, 0x00, 0x00, 0x87, 0x06, 0x00, 0x00, 0x87, 0x08, 0x00], +0x13e2: [0x00, 0x03, 0x04, 0x05, 0x1d, 0x01, 0x81, 0x14, 0x00, 0x87, 0x00, 0x00, 0x00, 0x87, 0x02, 0x00, 0x00, 0x87, 0x06, 0x00, 0x00, 0x87, 0x08, 0x00], +0x13e4: [0x00, 0x03, 0x03, 0x04, 0x1d, 0x01, 0x8b, 0x16, 0x00, 0x87, 0x00, 0x00, 0x00, 0x87, 0x02, 0x00, 0x00, 0x87, 0x06, 0x00, 0x00, 0x87, 0x08, 0x00], +0x13a3: [0x0c, 0x00, 0x02, 0x04, 0x17, 0x01, 0x9f, 0x15, 0x02, 0x17, 0x14, 0x00], +0x12c0: [0x00, 0x03, 0x0e, 0x14, 0x1f, 0x01, 0xc7, 0x25, 0x08, 0xbb, 0x14, 0x00], +0x1c8b: [0x00, 0x03, 0x05, 0x0b, 0x1f, 0x6e, 0x6d, 0x14, 0x03, 0xa7, 0x14, 0x00], +0x1c4d: [0x00, 0x02, 0x08, 0x0b, 0x1f, 0x6e, 0x81, 0x14, 0x03, 0xa7, 0x14, 0x00], +0x1c8f: [0x00, 0x02, 0x03, 0x0b, 0x1f, 0x6e, 0x95, 0x1e, 0x04, 0x6f, 0x14, 0x00], +0x1c51: [0x00, 0x00, 0x04, 0x0b, 0x1f, 0x6e, 0x6d, 0x19, 0x05, 0x37, 0x14, 0x00], +0x1c93: [0x00, 0x03, 0x00, 0x0b, 0x1f, 0x6e, 0x8b, 0x1e, 0x04, 0xd3, 0x14, 0x00], +0x1c35: [0x00, 0x00, 0x01, 0x09, 0x1f, 0x6e, 0xbd, 0x14, 0x03, 0xa7, 0x14, 0x00], +0x1c7a: [0x93, 0x01, 0x07, 0x09, 0x10, 0x6e, 0x6d, 0x28, 0x0d, 0x6b, 0x14, 0x00], +0x05c1: [0x14, 0x01, 0x06, 0x0a, 0x07, 0xbe, 0x64, 0x1e, 0x05, 0xdc, 0x14, 0x00], +0x1d7d: [0x00, 0x02, 0x01, 0x09, 0x1f, 0x6e, 0xbd, 0x14, 0x03, 0xa7, 0x14, 0x00], +0x1cd9: [0x00, 0x03, 0x01, 0x09, 0x1f, 0x6e, 0xbd, 0x1e, 0x04, 0x6f, 0x14, 0x00], +0x1cda: [0x00, 0x00, 0x07, 0x09, 0x1f, 0x6e, 0xbd, 0x1e, 0x00, 0xeb, 0x14, 0x00], +0x1cb9: [0x00, 0x00, 0x07, 0x09, 0x1f, 0x6e, 0xbd, 0x1e, 0x04, 0x6f, 0x14, 0x00], +0x1cdb: [0x00, 0x01, 0x04, 0x09, 0x1f, 0x6e, 0xbd, 0x1e, 0x04, 0x6f, 0x14, 0x00], +0x1610: [0x95, 0x00, 0x03, 0x0c, 0x22, 0x6e, 0xbd, 0x28, 0x00, 0x87, 0x14, 0x00], +0x1651: [0x00, 0x02, 0x05, 0x0b, 0x0a, 0x6f, 0xbd, 0x1e, 0x05, 0xff, 0x14, 0x00], +0x1691: [0x00, 0x01, 0x00, 0x0a, 0x0a, 0x8d, 0xbd, 0x23, 0x05, 0x9b, 0x14, 0x00], +0x16d1: [0x00, 0x02, 0x01, 0x09, 0x0a, 0x8d, 0xbd, 0x24, 0x05, 0xff, 0x14, 0x00], +0x1cf2: [0x16, 0x03, 0x09, 0x0c, 0x11, 0x6e, 0xdb, 0x28, 0x04, 0x6f, 0x14, 0x00], +0x1d71: [0x00, 0x03, 0x0f, 0x12, 0x11, 0x6e, 0xbd, 0x1e, 0x03, 0xa7, 0x00, 0x00, 0x03, 0xa7, 0x02, 0x00], +0x1d72: [0x00, 0x00, 0x0b, 0x13, 0x11, 0x6e, 0x9f, 0x1e, 0x04, 0x6f, 0x00, 0x00, 0x04, 0x6f, 0x02, 0x00], +0x1d73: [0x00, 0x03, 0x0c, 0x14, 0x11, 0x6e, 0xc7, 0x1e, 0x04, 0x6f, 0x00, 0x00, 0x04, 0x6f, 0x02, 0x00, 0x04, 0x6f, 0x07, 0x00], +0x1e30: [0x00, 0x03, 0x03, 0x0a, 0x20, 0x6e, 0x01, 0x1e, 0x02, 0xdf, 0x00, 0x00, 0x02, 0xdf, 0x02, 0x00, 0x02, 0xdf, 0x07, 0x00], +0x1df0: [0x00, 0x01, 0x04, 0x0a, 0x20, 0x6e, 0x01, 0x1e, 0x02, 0xdf, 0x00, 0x00, 0x02, 0xdf, 0x02, 0x00, 0x02, 0xdf, 0x07, 0x00], +0x1e2e: [0x00, 0x00, 0x01, 0x0a, 0x20, 0x6e, 0x01, 0x1e, 0x02, 0xdf, 0x00, 0x00, 0x02, 0xdf, 0x02, 0x00, 0x02, 0xdf, 0x07, 0x00], +0x1e73: [0x00, 0x01, 0x03, 0x18, 0x11, 0x6e, 0xd2, 0x1e, 0x04, 0x6f, 0x00, 0x00, 0x04, 0x6f, 0x02, 0x00, 0x04, 0x6f, 0x07, 0x00], +0x1efa: [0x00, 0x02, 0x0d, 0x0f, 0x1b, 0x96, 0x6e, 0x26, 0x03, 0xa7, 0x00, 0x00, 0x03, 0xa7, 0x02, 0x00, 0x03, 0xa7, 0x07, 0x00], +0x1f3b: [0x00, 0x03, 0x09, 0x0f, 0x1b, 0x96, 0x64, 0x26, 0x02, 0x17, 0x00, 0x00, 0x02, 0x17, 0x02, 0x00, 0x02, 0x17, 0x07, 0x00], +0x1f5a: [0x00, 0x02, 0x09, 0x0d, 0x1b, 0x96, 0x78, 0x26, 0x03, 0x43, 0x00, 0x00, 0x03, 0x43, 0x02, 0x00], +0x1f7b: [0x00, 0x02, 0x04, 0x0c, 0x1b, 0x96, 0x5a, 0x26, 0x03, 0x43, 0x00, 0x00, 0x03, 0x43, 0x02, 0x00, 0x03, 0x43, 0x06, 0x00, 0x03, 0x43, 0x08, 0x00], +0x1f7e: [0x17, 0x00, 0x0c, 0x1c, 0x09, 0x96, 0x5a, 0x50, 0x0c, 0xa3, 0x14, 0x00], +0x1ea8: [0x00, 0x03, 0x01, 0x16, 0x11, 0xbe, 0x5a, 0x33, 0x04, 0x6f, 0x00, 0x00, 0x04, 0x6f, 0x02, 0x00], +0x1f2e: [0x00, 0x00, 0x03, 0x18, 0x11, 0xbe, 0x5a, 0x3d, 0x04, 0x6f, 0x00, 0x00, 0x04, 0x6f, 0x02, 0x00], +0x1faa: [0x00, 0x01, 0x12, 0x17, 0x11, 0xbe, 0x5a, 0x33, 0x04, 0x6f, 0x00, 0x00, 0x04, 0x6f, 0x02, 0x00], +0x1f52: [0x00, 0x01, 0x15, 0x18, 0x10, 0xd2, 0x5a, 0x4f, 0x08, 0x57, 0x14, 0x00], +0x1f9c: [0x00, 0x02, 0x07, 0x0e, 0x1f, 0x46, 0x6e, 0x27, 0x04, 0x6f, 0x14, 0x00], +0x1fbc: [0x00, 0x01, 0x09, 0x0e, 0x1f, 0x46, 0x6e, 0x27, 0x04, 0x6f, 0x14, 0x00], +0x1fbd: [0x00, 0x01, 0x04, 0x0d, 0x1f, 0x64, 0x78, 0x1f, 0x04, 0x0b, 0x14, 0x00], +0x1fbe: [0x00, 0x03, 0x05, 0x0c, 0x1f, 0x6e, 0x82, 0x24, 0x02, 0x7b, 0x14, 0x00], +0x1fbf: [0x00, 0x02, 0x01, 0x0b, 0x1f, 0x78, 0x6e, 0x1f, 0x02, 0xdf, 0x14, 0x00], +0x1fdc: [0x00, 0x03, 0x01, 0x09, 0x1f, 0x5a, 0x6e, 0x15, 0x03, 0xa7, 0x14, 0x00], +0x1fdd: [0x00, 0x00, 0x06, 0x08, 0x1f, 0x5a, 0x6e, 0x1f, 0x04, 0x0b, 0x14, 0x00], +0x1fde: [0x00, 0x00, 0x06, 0x07, 0x1f, 0x5a, 0x0a, 0x15, 0x03, 0x43, 0x14, 0x00], +0x1ffc: [0x00, 0x01, 0x03, 0x06, 0x1f, 0x5a, 0x6e, 0x15, 0x03, 0xa7, 0x14, 0x00], +0x1ffd: [0x00, 0x00, 0x03, 0x05, 0x1f, 0x5a, 0x5b, 0x1f, 0x02, 0x7b, 0x14, 0x00], +0x1ffe: [0x00, 0x00, 0x01, 0x04, 0x1f, 0x5a, 0x5a, 0x1f, 0x04, 0x0b, 0x14, 0x00], +0x1fff: [0x00, 0x02, 0x01, 0x03, 0x1f, 0x64, 0x5a, 0x1f, 0x02, 0xdf, 0x14, 0x00], +0x1fdf: [0x18, 0x01, 0x00, 0x18, 0x10, 0xbe, 0xbe, 0x1f, 0x0c, 0x3f, 0x14, 0x00], +0x1220: [0x19, 0x02, 0x00, 0x06, 0x0a, 0x7d, 0x14, 0x1f, 0x03, 0x84, 0x14, 0x00], +0x1265: [0x00, 0x03, 0x07, 0x09, 0x0a, 0x7d, 0x14, 0x1f, 0x03, 0x20, 0x14, 0x00], +0x12c2: [0x00, 0x03, 0x06, 0x07, 0x0a, 0x7d, 0x14, 0x1f, 0x02, 0xbc, 0x14, 0x00], +0x1e86: [0x00, 0x03, 0x11, 0x18, 0x11, 0xbe, 0x5a, 0x27, 0x05, 0x37, 0x14, 0x00], +0x1e82: [0x1a, 0x03, 0x06, 0x18, 0x11, 0xbe, 0x5a, 0x27, 0x05, 0x9b, 0x14, 0x00], +0x1f45: [0x00, 0x01, 0x0a, 0x18, 0x10, 0xbe, 0xbe, 0x3d, 0x04, 0x6f, 0x14, 0x00], +0x1fa7: [0x00, 0x00, 0x02, 0x18, 0x10, 0xbe, 0xbe, 0x3d, 0x04, 0x6f, 0x14, 0x00], +0x1fe7: [0x00, 0x01, 0x05, 0x18, 0x10, 0xbe, 0xbe, 0x3d, 0x04, 0x6f, 0x14, 0x00], +0x1ad6: [0x9b, 0x01, 0x10, 0x13, 0x07, 0x64, 0xbe, 0x45, 0x07, 0xf3, 0x14, 0x00], +0x1add: [0x1c, 0x02, 0x07, 0x0c, 0x07, 0x64, 0xbe, 0x45, 0x0d, 0x6b, 0x14, 0x00], +0x1afa: [0x00, 0x01, 0x0c, 0x12, 0x07, 0x64, 0xbe, 0x45, 0x06, 0x63, 0x14, 0x00], +0x1b1f: [0x00, 0x01, 0x13, 0x42, 0x07, 0x64, 0xbe, 0x45, 0x06, 0x63, 0x14, 0x00], +0x18a8: [0x1d, 0x03, 0x04, 0x0c, 0x07, 0x64, 0xbe, 0x45, 0x09, 0x83, 0x14, 0x00], +0x18d1: [0x1d, 0x02, 0x01, 0x0c, 0x07, 0x64, 0xbe, 0x45, 0x09, 0x83, 0x14, 0x00], +0x186d: [0x1e, 0x03, 0x00, 0x07, 0x07, 0x64, 0xbe, 0x45, 0x08, 0x57, 0x14, 0x00], +0x1847: [0x00, 0x00, 0x08, 0x0a, 0x1b, 0x0a, 0xbe, 0x3b, 0x03, 0xa7, 0x00, 0x00, 0x03, 0xa7, 0x02, 0x00, 0x03, 0xa7, 0x07, 0x00], +0x1903: [0x00, 0x00, 0x08, 0x09, 0x1b, 0x0a, 0xbe, 0x31, 0x03, 0xa7, 0x00, 0x00, 0x03, 0xa7, 0x02, 0x00], +0x18e8: [0x00, 0x01, 0x06, 0x0b, 0x1b, 0x0a, 0xbe, 0x3b, 0x03, 0xa7, 0x00, 0x00, 0x03, 0xa7, 0x02, 0x00], +0x1884: [0x00, 0x00, 0x08, 0x0c, 0x1b, 0x0a, 0xbe, 0x31, 0x03, 0xa7, 0x00, 0x00, 0x03, 0xa7, 0x02, 0x00], +0x1886: [0x00, 0x00, 0x03, 0x0c, 0x1b, 0x0a, 0xbe, 0x31, 0x03, 0xa7, 0x00, 0x00, 0x03, 0xa7, 0x02, 0x00, 0x03, 0xa7, 0x06, 0x00, 0x03, 0xa7, 0x08, 0x00], +0x188b: [0x00, 0x02, 0x06, 0x12, 0x09, 0x01, 0xd2, 0x59, 0x07, 0x8f, 0x14, 0x00], +0x18ac: [0x00, 0x01, 0x02, 0x12, 0x09, 0x01, 0xd2, 0x59, 0x07, 0x8f, 0x14, 0x00], +0x1911: [0x00, 0x02, 0x03, 0x12, 0x09, 0x01, 0xd2, 0x59, 0x0b, 0x77, 0x14, 0x00], +0x194b: [0x00, 0x03, 0x0c, 0x0e, 0x09, 0x01, 0xd2, 0x59, 0x08, 0x57, 0x14, 0x00], +0x196b: [0x00, 0x03, 0x0a, 0x0b, 0x09, 0x01, 0xd2, 0x59, 0x07, 0x8f, 0x14, 0x00], +0x18ef: [0x00, 0x00, 0x06, 0x0b, 0x1c, 0x01, 0x64, 0x27, 0x03, 0xa7, 0x14, 0x00], +0x1833: [0x00, 0x03, 0x06, 0x09, 0x07, 0x64, 0xdc, 0x4f, 0x0c, 0x3f, 0x14, 0x00], +0x183b: [0x00, 0x03, 0x02, 0x09, 0x07, 0x64, 0xdc, 0x4f, 0x0c, 0x3f, 0x14, 0x00], +0x1933: [0x00, 0x01, 0x03, 0x09, 0x07, 0x64, 0xdc, 0x4f, 0x0c, 0x3f, 0x14, 0x00], +0x193b: [0x00, 0x00, 0x00, 0x09, 0x07, 0x64, 0xdc, 0x4f, 0x0c, 0x3f, 0x14, 0x00], +0x183e: [0x00, 0x01, 0x02, 0x0a, 0x1c, 0x64, 0x78, 0x27, 0x04, 0x0b, 0x14, 0x00], +0x1817: [0x00, 0x02, 0x08, 0x0a, 0x1c, 0x64, 0x78, 0x27, 0x04, 0x0b, 0x14, 0x00], +0x1805: [0x00, 0x02, 0x09, 0x0a, 0x1c, 0x64, 0x78, 0x27, 0x00, 0x87, 0x14, 0x00], +0x18a0: [0x00, 0x03, 0x05, 0x0a, 0x1c, 0x64, 0x78, 0x27, 0x04, 0x0b, 0x14, 0x00], +0x197d: [0x00, 0x02, 0x04, 0x06, 0x19, 0x01, 0xc8, 0x1d, 0x01, 0x4f, 0x14, 0x00], +0x199c: [0x00, 0x02, 0x02, 0x07, 0x19, 0x01, 0xc8, 0x1d, 0x01, 0x4f, 0x14, 0x00], +0x19ae: [0x00, 0x00, 0x03, 0x08, 0x19, 0x01, 0xc8, 0x1d, 0x00, 0x23, 0x14, 0x00], +0x19ce: [0x00, 0x03, 0x00, 0x09, 0x19, 0x01, 0xc8, 0x1d, 0x00, 0x23, 0x14, 0x00], +0x19ef: [0x00, 0x00, 0x02, 0x0a, 0x09, 0x01, 0xc8, 0x59, 0x09, 0x1f, 0x14, 0x00], +0x180a: [0x00, 0x01, 0x06, 0x08, 0x19, 0x01, 0xc8, 0x1d, 0x02, 0xdf, 0x14, 0x00], +0x186f: [0x00, 0x01, 0x07, 0x08, 0x07, 0xdd, 0xc8, 0x45, 0x00, 0xeb, 0x14, 0x00], +0x0685: [0x12, 0x01, 0x06, 0x13, 0x09, 0x55, 0x64, 0x79, 0x05, 0x14, 0x14, 0x00], +0x0600: [0x12, 0x03, 0x08, 0x12, 0x09, 0x55, 0x64, 0xb5, 0x05, 0xdc, 0x14, 0x00], +0x0719: [0x12, 0x02, 0x01, 0x11, 0x09, 0x55, 0x64, 0xb5, 0x05, 0x14, 0x14, 0x00], +0x074e: [0x12, 0x03, 0x02, 0x10, 0x09, 0x55, 0x64, 0xbf, 0x05, 0xdc, 0x14, 0x00], +0x0662: [0x00, 0x00, 0x0a, 0x0c, 0x07, 0x55, 0x50, 0x1f, 0x01, 0x2c, 0x14, 0x00], +0x0664: [0x00, 0x00, 0x0b, 0x0d, 0x07, 0x55, 0x50, 0x1f, 0x00, 0xc8, 0x14, 0x00], +0x06c6: [0x00, 0x01, 0x07, 0x0e, 0x07, 0x55, 0x50, 0x1f, 0x01, 0x2c, 0x14, 0x00], +0x06e7: [0x00, 0x00, 0x0a, 0x0f, 0x07, 0x55, 0x50, 0x1f, 0x00, 0xc8, 0x14, 0x00], +0x0723: [0x00, 0x00, 0x04, 0x0e, 0x07, 0x55, 0x50, 0x1f, 0x01, 0x2c, 0x14, 0x00], +0x0721: [0x00, 0x02, 0x05, 0x0d, 0x07, 0x55, 0x50, 0x1f, 0x01, 0x2c, 0x14, 0x00], +0x0680: [0x00, 0x01, 0x01, 0x0c, 0x07, 0x55, 0x50, 0x1f, 0x00, 0xc8, 0x14, 0x00], +0x06c0: [0x00, 0x02, 0x02, 0x0c, 0x07, 0x55, 0x50, 0x1f, 0x01, 0x2c, 0x14, 0x00], +0x0e1f: [0x00, 0x03, 0x0b, 0x0c, 0x0a, 0x55, 0x50, 0x29, 0x02, 0x58, 0x14, 0x00], +0x0fce: [0x00, 0x03, 0x0e, 0x14, 0x0b, 0x01, 0xf0, 0x14, 0x03, 0x20, 0x14, 0x00], +0x0faf: [0x00, 0x03, 0x06, 0x14, 0x0b, 0x01, 0xf0, 0x1e, 0x03, 0x20, 0x14, 0x00], +0x0fd0: [0x00, 0x01, 0x08, 0x14, 0x0b, 0x01, 0xf0, 0x1e, 0x07, 0x08, 0x14, 0x00], +0x0f72: [0x00, 0x00, 0x02, 0x14, 0x0b, 0x01, 0xf0, 0x28, 0x03, 0x84, 0x14, 0x00], +0x0f93: [0x00, 0x01, 0x02, 0x14, 0x0b, 0x01, 0xf0, 0x28, 0x03, 0x20, 0x14, 0x00], +0x0f4e: [0x00, 0x02, 0x10, 0x14, 0x0b, 0x01, 0xf0, 0x32, 0x03, 0xe8, 0x14, 0x00], +0x0f6d: [0x00, 0x02, 0x13, 0x14, 0x0b, 0x01, 0xf0, 0x32, 0x04, 0x4c, 0x14, 0x00], +0x0f4c: [0x00, 0x03, 0x0b, 0x14, 0x0b, 0x01, 0xf0, 0x32, 0x04, 0xb0, 0x14, 0x00], +0x0f2d: [0x00, 0x02, 0x0c, 0x14, 0x0b, 0x01, 0xf0, 0x32, 0x05, 0x14, 0x14, 0x00], +0x0f0c: [0x00, 0x02, 0x07, 0x14, 0x0b, 0x01, 0xf0, 0x32, 0x04, 0xb0, 0x14, 0x00], +0x0f2a: [0xa1, 0x00, 0x08, 0x14, 0x22, 0x01, 0xd2, 0x32, 0x00, 0x64, 0x14, 0x00], +0x0f6a: [0x9f, 0x03, 0x02, 0x14, 0x23, 0x01, 0xd2, 0x32, 0x00, 0x64, 0x14, 0x00], +0x0cf7: [0x00, 0x00, 0x00, 0x03, 0x21, 0x01, 0xab, 0x19, 0x00, 0xc8, 0x00, 0x00, 0x00, 0xc8, 0x02, 0x00, 0x00, 0xc8, 0x06, 0x00, 0x00, 0xc8, 0x08, 0x00], +0x0d18: [0x00, 0x01, 0x03, 0x04, 0x21, 0x01, 0xab, 0x19, 0x00, 0xc8, 0x00, 0x00, 0x00, 0xc8, 0x02, 0x00, 0x00, 0xc8, 0x06, 0x00, 0x00, 0xc8, 0x08, 0x00], +0x0d37: [0x00, 0x01, 0x04, 0x05, 0x21, 0x01, 0xab, 0x19, 0x00, 0xc8, 0x00, 0x00, 0x00, 0xc8, 0x02, 0x00, 0x00, 0xc8, 0x06, 0x00, 0x00, 0xc8, 0x08, 0x00], +0x0c37: [0x00, 0x03, 0x05, 0x0c, 0x0d, 0x01, 0xdb, 0x1f, 0x01, 0xa9, 0x00, 0x00, 0x01, 0xa9, 0x02, 0x00, 0x01, 0xa9, 0x06, 0x00, 0x01, 0xa9, 0x08, 0x00], +0x0c7f: [0x11, 0x02, 0x02, 0x14, 0x0c, 0x01, 0x4f, 0x33, 0x02, 0xad, 0x14, 0x00], +0x0cb6: [0x11, 0x03, 0x02, 0x0a, 0x0c, 0x01, 0xdb, 0x29, 0x03, 0x20, 0x14, 0x00], +0x05f5: [0x00, 0x03, 0x03, 0x04, 0x17, 0x5f, 0x96, 0x1f, 0x01, 0x90, 0x14, 0x00], +0x0698: [0x00, 0x03, 0x02, 0x03, 0x17, 0x5f, 0x96, 0x1f, 0x01, 0xf4, 0x14, 0x00], +0x06d7: [0x00, 0x00, 0x02, 0x05, 0x17, 0x5f, 0x6e, 0x1f, 0x01, 0x90, 0x14, 0x00], +0x0658: [0x00, 0x03, 0x01, 0x03, 0x17, 0x37, 0x96, 0x1f, 0x01, 0xf4, 0x14, 0x00], +0x06f2: [0x00, 0x03, 0x01, 0x04, 0x17, 0x37, 0x96, 0x1f, 0x02, 0x58, 0x14, 0x00], +0x0b40: [0x10, 0x02, 0x04, 0x05, 0x10, 0x55, 0x64, 0x47, 0x05, 0xdc, 0x14, 0x00], +0x0b16: [0x00, 0x03, 0x02, 0x05, 0x1b, 0x55, 0xaa, 0x15, 0x01, 0x2c, 0x00, 0x00, 0x01, 0x2c, 0x02, 0x00], +0x0b17: [0x00, 0x02, 0x03, 0x05, 0x1b, 0x55, 0xaa, 0x15, 0x01, 0x90, 0x00, 0x00, 0x01, 0x90, 0x02, 0x00], +0x0a53: [0x00, 0x02, 0x01, 0x05, 0x1b, 0x55, 0xc8, 0x1f, 0x01, 0x2c, 0x00, 0x00, 0x01, 0x2c, 0x02, 0x00, 0x01, 0x2c, 0x07, 0x00], +0x0b13: [0x00, 0x00, 0x01, 0x05, 0x1b, 0x55, 0xc8, 0x29, 0x01, 0x2c, 0x00, 0x00, 0x01, 0x2c, 0x02, 0x00, 0x01, 0x2c, 0x07, 0x00], +0x0a91: [0x00, 0x03, 0x00, 0x05, 0x1b, 0x55, 0xc8, 0x33, 0x01, 0x54, 0x00, 0x00, 0x01, 0x54, 0x02, 0x00, 0x01, 0x54, 0x06, 0x00, 0x01, 0x54, 0x08, 0x00], +0x0b0d: [0x00, 0x00, 0x00, 0x04, 0x1b, 0x55, 0xd2, 0x29, 0x01, 0x5e, 0x00, 0x00, 0x01, 0x5e, 0x02, 0x00, 0x01, 0x5e, 0x06, 0x00, 0x01, 0x5e, 0x08, 0x00], +0x0a69: [0x00, 0x01, 0x03, 0x04, 0x1b, 0x55, 0xd2, 0x33, 0x01, 0xc2, 0x00, 0x00, 0x01, 0xc2, 0x02, 0x00, 0x01, 0xc2, 0x06, 0x00, 0x01, 0xc2, 0x08, 0x00], +0x0a4c: [0x00, 0x01, 0x0e, 0x0f, 0x11, 0x55, 0x78, 0x3d, 0x03, 0x20, 0x00, 0x00, 0x03, 0x20, 0x02, 0x00, 0x03, 0x20, 0x06, 0x00, 0x03, 0x20, 0x08, 0x00], +0x0a6c: [0x00, 0x02, 0x08, 0x0f, 0x11, 0x55, 0x78, 0x3d, 0x02, 0xbc, 0x00, 0x00, 0x02, 0xbc, 0x02, 0x00, 0x02, 0xbc, 0x06, 0x00, 0x02, 0xbc, 0x08, 0x00], +0x0a60: [0x00, 0x01, 0x06, 0x09, 0x19, 0x55, 0x5a, 0x29, 0x01, 0x90, 0x14, 0x00], +0x0a80: [0x00, 0x01, 0x04, 0x0c, 0x11, 0x55, 0x78, 0x1f, 0x02, 0x58, 0x00, 0x00, 0x02, 0x58, 0x02, 0x00, 0x02, 0x58, 0x06, 0x00, 0x02, 0x58, 0x08, 0x00], +0x0a7e: [0x00, 0x03, 0x02, 0x05, 0x1c, 0x55, 0x6e, 0x0b, 0x01, 0x18, 0x14, 0x00], +0x0abd: [0x00, 0x02, 0x00, 0x05, 0x1c, 0x55, 0x78, 0x0b, 0x01, 0x18, 0x14, 0x00], +0x0b60: [0x00, 0x03, 0x01, 0x08, 0x1b, 0x55, 0x78, 0x3d, 0x01, 0x90, 0x00, 0x00, 0x01, 0x90, 0x02, 0x00, 0x01, 0x90, 0x06, 0x00, 0x01, 0x90, 0x08, 0x00], +0x0b65: [0x00, 0x00, 0x07, 0x09, 0x1b, 0x55, 0x78, 0x3d, 0x01, 0x90, 0x00, 0x00, 0x01, 0x90, 0x02, 0x00], +0x0bc0: [0x00, 0x00, 0x08, 0x09, 0x1b, 0x55, 0x78, 0x3d, 0x01, 0x90, 0x00, 0x00, 0x01, 0x90, 0x02, 0x00], +0x0bc7: [0x00, 0x01, 0x05, 0x0b, 0x11, 0x55, 0x78, 0x47, 0x04, 0xb0, 0x14, 0x00], +0x01fc: [0x00, 0x00, 0x07, 0x0a, 0x20, 0x0a, 0x64, 0x1e, 0x01, 0x2c, 0x14, 0x00], +0x01b9: [0x00, 0x00, 0x03, 0x0a, 0x20, 0x0a, 0x64, 0x1e, 0x01, 0x2c, 0x14, 0x00], +0x019e: [0x00, 0x02, 0x04, 0x0a, 0x20, 0x0a, 0x64, 0x1e, 0x01, 0x2c, 0x14, 0x00], +0x017c: [0x00, 0x01, 0x00, 0x0a, 0x20, 0x0a, 0x64, 0x1e, 0x01, 0x2c, 0x14, 0x00], +0x007a: [0x00, 0x03, 0x0b, 0x0c, 0x20, 0x01, 0x77, 0x1f, 0x00, 0xeb, 0x00, 0x00, 0x00, 0xeb, 0x02, 0x00, 0x00, 0xeb, 0x06, 0x00, 0x00, 0xeb, 0x08, 0x00], +0x001b: [0x00, 0x00, 0x06, 0x0c, 0x20, 0x01, 0x77, 0x1f, 0x00, 0xeb, 0x00, 0x00, 0x00, 0xeb, 0x02, 0x00, 0x00, 0xeb, 0x06, 0x00, 0x00, 0xeb, 0x08, 0x00], +0x17d7: [0x00, 0x03, 0x01, 0x05, 0x21, 0x01, 0xbe, 0x28, 0x01, 0x90, 0x00, 0x00, 0x01, 0x90, 0x02, 0x00, 0x01, 0x90, 0x06, 0x00, 0x01, 0x90, 0x08, 0x00], +0x1771: [0x00, 0x01, 0x02, 0x05, 0x21, 0x01, 0xbe, 0x28, 0x01, 0x90, 0x00, 0x00, 0x01, 0x90, 0x02, 0x00, 0x01, 0x90, 0x06, 0x00, 0x01, 0x90, 0x08, 0x00], +0x174b: [0x00, 0x00, 0x00, 0x05, 0x21, 0x01, 0xbe, 0x28, 0x01, 0xf4, 0x00, 0x00, 0x01, 0xf4, 0x02, 0x00, 0x01, 0xf4, 0x06, 0x00, 0x01, 0xf4, 0x08, 0x00], +0x172e: [0x00, 0x01, 0x03, 0x0f, 0x06, 0x5a, 0x6e, 0x3c, 0x02, 0x58, 0x14, 0x00], +0x1735: [0x00, 0x02, 0x0c, 0x0f, 0x06, 0x5a, 0x6e, 0x3c, 0x02, 0x58, 0x14, 0x00], +0x16c0: [0x00, 0x02, 0x08, 0x0a, 0x04, 0x01, 0xbe, 0x32, 0x01, 0xf4, 0x14, 0x00], +0x1681: [0x00, 0x03, 0x04, 0x08, 0x04, 0x01, 0xbe, 0x32, 0x01, 0xf4, 0x14, 0x00], +0x1680: [0x00, 0x02, 0x06, 0x09, 0x04, 0x01, 0xbe, 0x32, 0x01, 0xf4, 0x14, 0x00], +0x1660: [0x20, 0x02, 0x02, 0x07, 0x04, 0x01, 0xbe, 0x3c, 0x05, 0xdc, 0x14, 0x00], +0x1a48: [0x00, 0x00, 0x07, 0x11, 0x19, 0x01, 0xdc, 0x28, 0x01, 0xf4, 0x00, 0x00, 0x01, 0xf4, 0x01, 0x00, 0x01, 0xf4, 0x02, 0x00, 0x01, 0xf4, 0x03, 0x00, 0x01, 0xf4, 0x04, 0x00, 0x01, 0xf4, 0x05, 0x00, 0x01, 0xf4, 0x06, 0x00, 0x01, 0xf4, 0x07, 0x00, 0x01, 0xf4, 0x08, 0x00], +0x1a8b: [0x00, 0x03, 0x00, 0x09, 0x1e, 0xc8, 0xd2, 0x50, 0x03, 0xe8, 0x14, 0x00], +0x1b90: [0x00, 0x00, 0x01, 0x08, 0x1e, 0xc8, 0xd2, 0x50, 0x03, 0xe8, 0x14, 0x00], +0x1b2c: [0x00, 0x01, 0x04, 0x06, 0x1e, 0xc8, 0xd2, 0x50, 0x04, 0xb0, 0x14, 0x00], +0x1ac9: [0x00, 0x01, 0x05, 0x06, 0x1e, 0xc8, 0xd2, 0x50, 0x05, 0x14, 0x14, 0x00], +0x1b08: [0x00, 0x02, 0x03, 0x06, 0x1e, 0xc8, 0xd2, 0x50, 0x05, 0x78, 0x14, 0x00], +0x078e: [0x00, 0x01, 0x04, 0x06, 0x1d, 0x01, 0xd2, 0x28, 0x01, 0x90, 0x00, 0x00, 0x01, 0x90, 0x02, 0x00, 0x01, 0x90, 0x06, 0x00, 0x01, 0x90, 0x08, 0x00], +0x1d41: [0x00, 0x03, 0x02, 0x06, 0x1e, 0xc8, 0xd2, 0x50, 0x01, 0x90, 0x14, 0x00], +0x1d42: [0x00, 0x02, 0x00, 0x06, 0x1e, 0xc8, 0xd2, 0x50, 0x01, 0x2c, 0x14, 0x00], +0x1d60: [0x00, 0x03, 0x01, 0x06, 0x1e, 0xb4, 0xd2, 0x50, 0x03, 0x20, 0x14, 0x00], +0x1d61: [0x00, 0x00, 0x05, 0x07, 0x1e, 0xaa, 0xd2, 0x50, 0x03, 0x20, 0x14, 0x00], +0x1d62: [0x00, 0x00, 0x05, 0x06, 0x1e, 0xaa, 0xd2, 0x50, 0x02, 0xbc, 0x14, 0x00], +0x1d81: [0x00, 0x01, 0x03, 0x06, 0x1e, 0xaa, 0xd2, 0x50, 0x02, 0x58, 0x14, 0x00], +0x1d82: [0x00, 0x00, 0x05, 0x07, 0x1e, 0xaa, 0xd2, 0x50, 0x02, 0xbc, 0x14, 0x00], +0x1da3: [0x00, 0x00, 0x01, 0x06, 0x1e, 0xaa, 0xd2, 0x50, 0x02, 0x58, 0x14, 0x00], +0x1dc1: [0x00, 0x02, 0x02, 0x06, 0x1e, 0xaa, 0xd2, 0x50, 0x01, 0xf4, 0x14, 0x00], +0x1dc2: [0x00, 0x01, 0x00, 0x07, 0x1e, 0xc8, 0xd2, 0x50, 0x01, 0xf4, 0x14, 0x00], +0x0bae: [0x22, 0x02, 0x00, 0x05, 0x1e, 0xd2, 0xc8, 0x64, 0x08, 0x34, 0x14, 0x00], +0x0be9: [0x23, 0x03, 0x06, 0x08, 0x1a, 0xdc, 0xdc, 0xc8, 0x10, 0x04, 0x14, 0x00], +} + +monster_names = { +0x00: "Goblin ", +0x01: "Tree", +0x02: "Rabbit", +0x03: "Troll", +0x04: "Witch", +0x05: "Charon", +0x06: "Cloaked figure", +0x07: "Grey Knight", +0x08: "Pooka", +0x09: "Giant", +0x0a: "Wizard", +0x0b: "Wizard", +0x0c: "Spider", +0x0d: "Ant", +0x0e: "Skull", +0x0f: "Golem", +0x10: "Green dragon", +0x11: "White Knight", +0x12: "Minotaur helmet", +0x13: "Minotaur", +0x14: "Lizardman", +0x15: "Pharaoh", +0x16: "Sorcerer", +0x17: "Cobra", +0x18: "Acrobat", +0x19: "Medusa", +0x1a: "Lord Fear", +0x1b: "Skeleton", +0x1c: "Ghost", +0x1d: "Bat", +0x1e: "Demon", +0x1f: "Small dragon", +0x20: "Earth elemental", +0x21: "Piranha", +0x22: "Wizard", +0x23: "Wizard", +} + +item_set = [ +[0x03ee, "SANDLES", 0x1b, 1], +[0x03ee, "SHORTS", 0x13, 1], +[0x03ee, "SHORTS", 0x13, 1], +[0x03ee, "SHORTS", 0x13, 1], +[0x03ee, "T-SHIRT", 0x09, 1], +[0x03ee, "T-SHIRT", 0x09, 2], +[0x0024, "SWEET", 0x22, 3], +[0x00e9, "SHORTS", 0x13, 2], +[0x002f, "TWIG", 0x47, 3], +[0x0075, "PENKNIFE", 0x30, 1], +[0x0263, "T-SHIRT", 0x09, 1], +[0x0317, "SPADE", 0x48, 0], +[0x0241, "SWEET", 0x22, 0], +[0x0249, "SANDLES", 0x1b, 0], +[0x00c6, "SWEET", 0x22, 1], +[0x01f5, "SWEET", 0x22, 1], +[0x026f, "SWEET", 0x22, 1], +[0x02af, "PENKNIFE", 0x30, 2], +[0x0301, "IRON KEY", 0x5f, 3], +[0x0483, "GRAPES", 0x27, 3], +[0x04a3, "WAND OF MAGIC", 0x4b, 3], +[0x04a3, "BOILED EGG", 0x28, 1], +[0x0408, "SHEATH", 0x35, 2], +[0x0406, "GOLD KEY", 0x60, 3], +[0x044e, "BOILED EGG", 0x28, 1], +[0x044e, "BOILED EGG", 0x28, 1], +[0x040b, "BRONZE KEY", 0x61, 1], +[0x0410, "GOLD KEY", 0x60, 2], +[0x0412, "DENIM", 0x0c, 2], +[0x041e, "IRON KEY", 0x5f, 2], +[0x05e3, "BOOTS", 0x1e, 1], +[0x04e3, "IRON KEY", 0x5f, 3], +[0x058d, "VEST +1", 0x0e, 1], +[0x058d, "CRASH HELMET +1", 0x04, 2], +[0x05e6, "APPLE", 0x24, 0], +[0x05e6, "APPLE", 0x24, 0], +[0x05e5, "IRON KEY", 0x5f, 1], +[0x043f, "BRONZE KEY", 0x61, 0], +[0x049b, "LEATHER", 0x17, 3], +[0x04de, "APPLE", 0x24, 3], +[0x051b, "ROCK CAKE", 0x26, 2], +[0x051b, "ROCK CAKE", 0x26, 2], +[0x055b, "FENCER", 0x36, 1], +[0x05f7, "BRONZE KEY", 0x61, 3], +[0x061e, "LEATHER", 0x0d, 3], +[0x061e, "JUMPER +2", 0x0b, 1], +[0x051a, "BIG BOW", 0x55, 0], +[0x051a, "PENKNIFE", 0x30, 0], +[0x0518, "CROSS OF LIFE", 0x4e, 0], +[0x0559, "SHIELD", 0x45, 2], +[0x05b9, "VEST", 0x0e, 0], +[0x05b9, "DENIM", 0x0c, 0], +[0x05b2, "SANDLES", 0x1b, 3], +[0x0512, "IRON KEY", 0x5f, 1], +[0x0971, "WAND OF PAIN", 0x4c, 0], +[0x0971, "STAFF OF OURA", 0x50, 0], +[0x089a, "BOILED EGG", 0x28, 3], +[0x089a, "BOILED EGG", 0x28, 3], +[0x087d, "IRON KEY", 0x5f, 1], +[0x085f, "RUSTY KEY", 0x63, 0], +[0x0878, "SHORT SWORD", 0x34, 0], +[0x0878, "PEA", 0x40, 0], +[0x0878, "PEA", 0x40, 0], +[0x0878, "PEA", 0x40, 0], +[0x0878, "PEA SHOOTER", 0x57, 0], +[0x0878, "DART", 0x3f, 0], +[0x0878, "DART", 0x3f, 0], +[0x0878, "DART", 0x3f, 0], +[0x0934, "APPLE", 0x24, 2], +[0x0872, "GEM KEY", 0x62, 1], +[0x099a, "BOILED EGG", 0x28, 3], +[0x099a, "ROCK CAKE", 0x26, 1], +[0x09f4, "BRONZE KEY", 0x61, 2], +[0x0a14, "GRAPES", 0x27, 0], +[0x0a35, "ARROW", 0x3d, 0], +[0x0a35, "ARROW", 0x3d, 0], +[0x0a35, "ARROW", 0x3d, 0], +[0x0837, "GOLD KEY", 0x60, 3], +[0x0876, "GOLD KEY", 0x60, 0], +[0x09c0, "GRAPES", 0x27, 0], +[0x09c0, "GRAPES", 0x27, 0], +[0x08e0, "APPLE", 0x24, 2], +[0x08e0, "GRAPES", 0x27, 3], +[0x0943, "GOLD KEY", 0x60, 3], +[0x0840, "FENCER", 0x36, 0], +[0x088b, "CRASH HELMET", 0x04, 0], +[0x088b, "VEST", 0x0e, 0], +[0x0a25, "CHEST #0", 0x5c, 1], +[0x0cab, "BRONZE KEY", 0x61, 2], +[0x0cb4, "APPLE", 0x24, 0], +[0x0cb4, "APPLE", 0x24, 0], +[0x0cb4, "APPLE", 0x24, 0], +[0x0cb4, "GRAPES", 0x27, 0], +[0x0c56, "CHAIN MAIL", 0x18, 0], +[0x0c56, "CRASH HELMET +1", 0x04, 0], +[0x0c36, "BROADSWORD", 0x38, 0], +[0x0c16, "SPIDER'S LEG", 0x25, 0], +[0x0c16, "SPIDER'S LEG", 0x25, 0], +[0x0c13, "BALL", 0x41, 0], +[0x0c13, "BALL", 0x41, 0], +[0x0c13, "BALL", 0x41, 0], +[0x0c13, "BALL", 0x41, 0], +[0x0e66, "RACKET", 0x59, 0], +[0x0e41, "SHIELD", 0x45, 1], +[0x0dc5, "MILK BOTTLE", 0x2a, 1], +[0x0dc5, "MILK BOTTLE", 0x2a, 1], +[0x0d7f, "SWORD OF FREEDOM", 0x39, 0], +[0x1420, "SWEET", 0x22, 0], +[0x1480, "IRON KEY", 0x5f, 1], +[0x1482, "STAFF OF MYSTIC", 0x4f, 0], +[0x1482, "CROSS OF AID", 0x4d, 0], +[0x1501, "PENKNIFE", 0x30, 1], +[0x1409, "KNIFE", 0x31, 3], +[0x1414, "ROCK", 0x3b, 3], +[0x1414, "ROCK", 0x3b, 3], +[0x147a, "KNIFE", 0x31, 3], +[0x147b, "PEA", 0x40, 3], +[0x147b, "PEA", 0x40, 3], +[0x147b, "PEA", 0x40, 3], +[0x147b, "PEA", 0x40, 3], +[0x148b, "THREE PRONGED KNIFE", 0x32, 1], +[0x14aa, "PEA SHOOTER", 0x57, 1], +[0x154d, "DART", 0x3e, 3], +[0x15a2, "PENKNIFE", 0x30, 0], +[0x1534, "THREE PRONGED KNIFE", 0x32, 2], +[0x15d0, "BLOWPIPE", 0x58, 3], +[0x1596, "SPIDER'S LEG", 0x25, 0], +[0x1632, "DART", 0x3e, 3], +[0x1632, "DART", 0x3e, 3], +[0x1632, "DART", 0x3e, 3], +[0x1633, "PEA", 0x40, 2], +[0x1633, "PEA", 0x40, 2], +[0x1633, "PEA", 0x40, 2], +[0x16ba, "ROCK", 0x3b, 2], +[0x173d, "KITCHEN KNIFE", 0x33, 2], +[0x1401, "SHORTS", 0x13, 1], +[0x1421, "T-SHIRT", 0x09, 1], +[0x14a5, "BLOUSE", 0x0a, 1], +[0x144b, "SLACKS", 0x15, 1], +[0x148f, "SANDLES", 0x1b, 0], +[0x1431, "SANDLES", 0x1b, 3], +[0x1494, "SKIRT", 0x14, 0], +[0x1496, "T-SHIRT", 0x09, 0], +[0x1496, "SHORTS", 0x13, 0], +[0x1496, "BASEBALL HAT", 0x02, 0], +[0x150e, "SKIRT +1", 0x14, 0], +[0x14ca, "BLOUSE +1", 0x0a, 0], +[0x1502, "IRON KEY", 0x5f, 2], +[0x14e2, "SWEET", 0x22, 2], +[0x140a, "SWEET", 0x22, 1], +[0x1411, "IRON KEY", 0x5f, 3], +[0x148c, "SKIRT +2", 0x14, 0], +[0x148c, "SWEET", 0x22, 1], +[0x152d, "SWEET", 0x22, 1], +[0x152c, "SWEET", 0x22, 3], +[0x14ae, "GOLD KEY", 0x60, 0], +[0x14ae, "JUMPER", 0x0b, 0], +[0x1568, "SWEET", 0x22, 2], +[0x1540, "IRON KEY", 0x5f, 1], +[0x143b, "SWEET", 0x22, 0], +[0x14db, "BRONZE KEY", 0x61, 0], +[0x1612, "IRON KEY", 0x5f, 3], +[0x17bf, "SHIELD OF JUSTICE", 0x46, 3], +[0x11cd, "MILK BOTTLE", 0x2a, 3], +[0x11cd, "SLACKS", 0x15, 0], +[0x1165, "DIE", 0x5a, 0], +[0x1121, "SUNGLASSES", 0x01, 0], +[0x1121, "SUNGLASSES", 0x01, 0], +[0x1149, "CROSS OF AID", 0x4d, 0], +[0x1043, "SHORT SWORD", 0x34, 0], +[0x1043, "KITCHEN KNIFE", 0x33, 0], +[0x11ce, "ARROW", 0x3d, 0], +[0x11ce, "ARROW", 0x3d, 0], +[0x11ce, "ARROW", 0x3d, 0], +[0x1158, "BOW", 0x54, 0], +[0x1007, "ARROW", 0x3d, 0], +[0x1007, "ARROW", 0x3d, 0], +[0x1007, "ARROW", 0x3d, 0], +[0x1072, "PEA", 0x40, 0], +[0x1072, "PEA", 0x40, 0], +[0x1072, "PEA", 0x40, 0], +[0x1072, "PEA", 0x40, 0], +[0x1072, "PEA", 0x40, 0], +[0x1072, "PEA", 0x40, 0], +[0x1072, "TRAINERS", 0x1d, 0], +[0x1072, "SHOES", 0x1c, 0], +[0x101c, "THROWING STAR", 0x3c, 0], +[0x101c, "DART", 0x3e, 0], +[0x101c, "DART", 0x3e, 0], +[0x101c, "DART", 0x3e, 0], +[0x101c, "DART", 0x3e, 0], +[0x101c, "DART", 0x3e, 0], +[0x1018, "BLOWPIPE", 0x58, 0], +[0x1089, "THROWING STAR", 0x3c, 0], +[0x1089, "THROWING STAR", 0x3c, 0], +[0x10d9, "THROWING STAR", 0x3c, 0], +[0x10d9, "CLUB", 0x42, 0], +[0x103b, "SLACKS", 0x15, 0], +[0x103b, "SHIELD", 0x45, 0], +[0x111e, "BASEBALL HAT", 0x02, 0], +[0x111e, "TRILBY", 0x03, 0], +[0x1258, "ARROW", 0x3d, 0], +[0x1258, "ARROW", 0x3d, 0], +[0x1258, "ARROW", 0x3d, 0], +[0x1258, "ARROW", 0x3d, 0], +[0x11f8, "BOW", 0x54, 0], +[0x11ea, "SHEATH", 0x35, 0], +[0x10e5, "BISCUIT", 0x23, 0], +[0x10e5, "BISCUIT", 0x23, 0], +[0x10e5, "BISCUIT", 0x23, 0], +[0x109d, "APPLE", 0x24, 0], +[0x109d, "APPLE", 0x24, 0], +[0x109d, "APPLE", 0x24, 0], +[0x109d, "APPLE", 0x24, 0], +[0x1210, "ROCK CAKE", 0x26, 0], +[0x1210, "ROCK CAKE", 0x26, 0], +[0x1210, "ROCK CAKE", 0x26, 0], +[0x1210, "APPLE", 0x24, 0], +[0x1210, "APPLE", 0x24, 0], +[0x1275, "SPIDER'S LEG", 0x25, 0], +[0x1275, "SPIDER'S LEG", 0x25, 0], +[0x1284, "TRAINERS", 0x1d, 0], +[0x1284, "BOOTS", 0x1e, 0], +[0x1284, "JUMPER +1", 0x0b, 0], +[0x1348, "DENIM", 0x0c, 0], +[0x1348, "JEANS", 0x16, 0], +[0x13c3, "KITCHEN KNIFE", 0x33, 0], +[0x110a, "GOLD KEY", 0x60, 1], +[0x1148, "GOLD KEY", 0x60, 2], +[0x1180, "GOLD KEY", 0x60, 0], +[0x1111, "GOLD KEY", 0x60, 0], +[0x1308, "BRONZE KEY", 0x61, 0], +[0x1c8d, "SKULL OF STATUS", 0x51, 0], +[0x1c8d, "SPANNER", 0x44, 0], +[0x1fad, "GRAPES", 0x27, 1], +[0x1fcb, "GRAPES", 0x27, 2], +[0x1fd0, "GRAPES", 0x27, 1], +[0x1fb4, "GRAPES", 0x27, 0], +[0x1fd8, "BOOTS", 0x1f, 3], +[0x1fd8, "CHAIN MAIL", 0x18, 1], +[0x1fd8, "CHAIN MAIL", 0x0f, 1], +[0x1fd8, "VEST +1", 0x0e, 3], +[0x1b13, "MILK BOTTLE", 0x2a, 1], +[0x1b13, "MILK BOTTLE", 0x2a, 1], +[0x1b13, "CHEST #1", 0x5c, 1], +[0x0ee9, "STAFF", 0x43, 0], +[0x0c1b, "IRON KEY", 0x5f, 3], +[0x0c57, "GOLD KEY", 0x60, 0], +[0x0613, "IRON KEY", 0x5f, 1], +[0x05f4, "GOLD KEY", 0x60, 0], +[0x06d3, "BRONZE KEY", 0x61, 2], +[0x06d8, "GEM KEY", 0x62, 0], +[0x069a, "IRON KEY", 0x5f, 1], +[0x07de, "IRON KEY", 0x5f, 0], +[0x0717, "GEM KEY", 0x62, 0], +[0x0750, "STAFF", 0x43, 0], +[0x0a37, "STAFF", 0x43, 0], +[0x0b11, "IRON KEY", 0x5f, 3], +[0x0a29, "GOLD KEY", 0x60, 2], +[0x00f9, "APPLE", 0x24, 0], +[0x00f9, "APPLE", 0x24, 0], +[0x003b, "APPLE", 0x24, 1], +[0x003b, "APPLE", 0x24, 1], +[0x07e2, "GOLD KEY", 0x60, 3], +[0x0322, "BALL", 0x41, 0], +[0x0322, "BALL", 0x41, 0], +[0x0322, "BALL", 0x41, 0], +[0x1c06, "PLATE", 0x19, 0], +[0x1c06, "PLATE", 0x20, 0], +[0x1c2b, "HELM", 0x05, 0], +[0x1c2b, "CRASH HELMET +2", 0x04, 0], +[0x1c2f, "HELM", 0x06, 0], +[0x1c2f, "PLATE", 0x10, 0], +[0x1c2d, "GRAPES", 0x27, 0], +[0x1c2d, "GRAPES", 0x27, 0], +[0x1c2d, "GRAPES", 0x27, 0], +[0x1c2d, "GRAPES", 0x27, 0], +[0x1c2d, "GRAPES", 0x27, 0], +[0x1c2d, "GRAPES", 0x27, 0], +[0x1c2d, "GRAPES", 0x27, 0], +[0x1c2d, "GRAPES", 0x27, 0], +[0x1c2d, "GRAPES", 0x27, 0], +[0x1c2d, "GRAPES", 0x27, 0], +[0x1cdf, "ARROW", 0x3d, 0], +[0x1cdf, "ARROW", 0x3d, 0], +[0x1cdf, "ARROW", 0x3d, 0], +[0x1cdf, "RACKET", 0x59, 0], +[0x1cdf, "BALL", 0x41, 0], +[0x1cdf, "BALL", 0x41, 0], +[0x1cdf, "BALL", 0x41, 0], +[0x1cdf, "BALL", 0x41, 0], +[0x1cdf, "BALL", 0x41, 0], +[0x1cef, "CHAIN SAW", 0x3a, 0], +[0x1da5, "CHAIN SAW", 0x3a, 0], +[0x1de3, "AQUALUNG", 0x12, 0], +[0x1e77, "CROSS BOW", 0x56, 0], +[0x1e77, "ARROW", 0x3d, 0], +[0x1e77, "ARROW", 0x3d, 0], +[0x1e77, "ARROW", 0x3d, 0], +[0x1e77, "ARROW", 0x3d, 0], +[0x1e2d, "ARROW", 0x3d, 0], +[0x1e2d, "ARROW", 0x3d, 0], +[0x1e2d, "ARROW", 0x3d, 0], +[0x1e2d, "ARROW", 0x3d, 0], +[0x1e2d, "ARROW", 0x3d, 0], +[0x1e92, "BOILED EGG", 0x28, 0], +[0x1e92, "BOILED EGG", 0x28, 0], +[0x1f34, "BOILED EGG", 0x28, 0], +[0x1f34, "BOILED EGG", 0x28, 0], +[0x1f34, "BOILED EGG", 0x28, 0], +[0x0c76, "CHEST #2", 0x5c, 3], +[0x10ef, "CHEST #3", 0x5c, 1], +[0x1869, "PLATE", 0x19, 0], +[0x1875, "HELM +2", 0x06, 3], +[0x1875, "HELM +1", 0x06, 2], +[0x18ae, "PLATE", 0x20, 3], +[0x18ae, "PLATE", 0x10, 0], +[0x19bb, "HELM +2", 0x06, 0], +[0x1aad, "PLATE", 0x11, 0], +[0x1ca9, "STAFF OF OURA", 0x50, 0], +[0x1ca9, "CROSS OF LIFE", 0x4e, 0], +[0x1ca9, "WAND OF PAIN", 0x4c, 0], +[0x1dd7, "THROWING STAR", 0x3c, 0], +[0x1dd7, "THROWING STAR", 0x3c, 0], +[0x1dd7, "THROWING STAR", 0x3c, 0], +[0x1dd7, "THROWING STAR", 0x3c, 0], +[0x1dd7, "THROWING STAR", 0x3c, 0], +[0x0cb2, "STAFF OF MYSTIC", 0x4f, 0], +[0x0cb2, "THROWING STAR", 0x3c, 0], +[0x0cb2, "THROWING STAR", 0x3c, 0], +[0x0cb2, "THROWING STAR", 0x3c, 0], +[0x1f19, "PLATE", 0x11, 0], +[0x1f19, "HELM +2", 0x06, 0], +] + +item_names = { +0x00: "", +0x01: "SUNGLASSES", +0x02: "BASEBALL HAT", +0x03: "TRILBY", +0x04: "CRASH HELMET", +0x05: "HELM", +0x06: "HELM", +0x07: "HELMET", +0x08: "CROWN OF GLORY", +0x09: "T-SHIRT", +0x0a: "BLOUSE", +0x0b: "JUMPER", +0x0c: "DENIM", +0x0d: "LEATHER", +0x0e: "VEST", +0x0f: "CHAIN MAIL", +0x10: "PLATE", +0x11: "PLATE", +0x12: "AQUALUNG", +0x13: "SHORTS", +0x14: "SKIRT", +0x15: "SLACKS", +0x16: "JEANS", +0x17: "LEATHER", +0x18: "CHAIN MAIL", +0x19: "PLATE", +0x1a: "PLATE", +0x1b: "SANDLES", +0x1c: "SHOES", +0x1d: "TRAINERS", +0x1e: "BOOTS", +0x1f: "BOOTS", +0x20: "PLATE", +0x21: "PLATE", +0x22: "SWEET", +0x23: "BISCUIT", +0x24: "APPLE", +0x25: "SPIDER'S LEG", +0x26: "ROCK CAKE", +0x27: "GRAPES", +0x28: "BOILED EGG", +0x29: "RABBIT PIE", +0x2a: "MILK BOTTLE", +0x2b: "MILK BOTTLE", +0x2c: "MILK BOTTLE", +0x2d: "STAMINA POTION", +0x2e: "SIGHT POTION", +0x2f: "DECRIPPLING POTION", +0x30: "PENKNIFE", +0x31: "KNIFE", +0x32: "THREE PRONGED KNIFE", +0x33: "KITCHEN KNIFE", +0x34: "SHORT SWORD", +0x35: "SHEATH", +0x36: "FENCER", +0x37: "SAMURAI", +0x38: "BROADSWORD", +0x39: "SWORD OF FREEDOM", +0x3a: "CHAIN SAW", +0x3b: "ROCK", +0x3c: "THROWING STAR", +0x3d: "ARROW", +0x3e: "DART", +0x3f: "DART", +0x40: "PEA", +0x41: "BALL", +0x42: "CLUB", +0x43: "STAFF", +0x44: "SPANNER", +0x45: "SHIELD", +0x46: "SHIELD OF JUSTICE", +0x47: "TWIG", +0x48: "SPADE", +0x49: "BOMB", +0x4a: "SMASHED BOTTLE", +0x4b: "WAND OF MAGIC", +0x4c: "WAND OF PAIN", +0x4d: "CROSS OF AID", +0x4e: "CROSS OF LIFE", +0x4f: "STAFF OF MYSTIC", +0x50: "STAFF OF OURA", +0x51: "SKULL OF STATUS", +0x52: "HEALSTONE", +0x53: "FUNNY STICK", +0x54: "BOW", +0x55: "BIG BOW", +0x56: "CROSS BOW", +0x57: "PEA SHOOTER", +0x58: "BLOWPIPE", +0x59: "RACKET", +0x5a: "DIE", +0x5b: "COIN", +0x5c: "CHEST", +0x5d: "CUP OF LIFE", +0x5e: "HEART OF RATT", +0x5f: "IRON KEY", +0x60: "GOLD KEY", +0x61: "BRONZE KEY", +0x62: "GEM KEY", +0x63: "RUSTY KEY", +0x64: "STAR KEY", +0x65: "EMPTY BOTTLE", +0x6f: "POW (dummy item)", +} + +items = {} +for i in item_set: + if not i[0] in items.keys(): + items[i[0]] = [] + items[i[0]].append(i) + +specials = [ +["sign_text",sign_text,"s"], +["teleporter",teleporters,">"], +["teleporter_target",teleporter_targets,"<"], +["pit",pits,"p"], +["pit_target",pit_targets,"_"], +["sign",signs,"s"], +["trap",traps,"t"], +["door",locked_doors,"k"], +["door_target",door_targets,"d"], +["switch",switches,"s"], +["switch_target",switch_targets,"s"], +["monster",monsters,"M"], +["item",items,"i"], +] + +# note: multiples that need to be noted on each square +# M0 X02 Y00: sign, trap, switch - only instance of three +# teleporter and a teleporter target: +# Cup X00 Y08, Sword 3 X00 Y31 , Sword 3 X15 Y24 +# teleporter target and items or pit +# pit and trap +# sign and door, switch, or trap + +def print_map(): + for n in range(len(maps)): + mp,x,y = coords(n) + + t = [] + for s in specials: + if n in s[1].keys(): + if s[0] == "sign_text": + t.append(s[1][n][4]) + elif s[0] == "item": + i = [ x[1] for x in s[1][n]] + i = "; ".join(i) + i = f"items({i})" + t.append(i) + elif s[0] == "trap": + if s[1][n][1]==0: + t.append(f"trap({s[1][n][0]:02x})") + else: + t.append(f"trap({s[1][n][0]:02x}{s[1][n][1]:02x})") + elif s[0] == "teleporter_target": + t.append(f"tele_from({s[1][n]})") + elif s[0] == "pit_target": + t.append(f"pit_from({s[1][n]})") + elif s[0] == "switch_target": + t.append(f"switch_from({s[1][n]})") + elif s[0] == "door_target": + t.append(f"door_from({s[1][n]})") + else: + t.append(s[0]) + if len(t)>0: + print(f"{map_names[mp]} X{x:02} Y{y:02}: "+ ", ".join(t)) + +def generate_map(): + font = ImageFont.truetype("ProggyTinySZ.ttf", 16) + + sprite_file = Image.open("map_tiles.png") + tiles = [ sprite_file.crop((x*16, y*16, (x*16)+16, (y*16)+16)) for y in range(16) for x in range(16) ] + + for mp in range(0,8): + img = Image.new("RGB",(579,579),(0,0,0)) + draw = ImageDraw.Draw(img) + draw.fontmode = "1" + + for x in range(32): + for y in range(32): + offset = (mp*32*32)+(y*32)+(x) + tile = maps[offset] + if tile>0x80: + tile = tile-0x80 + img.paste(tiles[tile], ( ((x+1)*17)+1, ((y+1)*17)+1 )) + # add borders + borders = [] + for x in range(0,34): + for y in range(0,34): + if x==0 or x==33 or y==0 or y==33: + img.paste(tiles[0], ( x*17+1, y*17+1 )) + +# for special in specials: +# for k,v in special[1].items(): +# em,x,y = coords(k) +# x+=1;y+=1 +# if mp == em: +# draw.text((x*17+6, y*17+4), special[2], font=font, fill=(255,255,255)) +## draw.rectangle((x*17+1, y*17+1, x*17+17, y*17+17), outline=(255,255,0), width=1) + + for k,v in monsters.items(): + em,x,y = coords(k, True) + if mp == em: + draw.text((x-1, y-3), "M", font=font, fill=(0,0,0)) + draw.text((x-2, y-4), "M", font=font, fill=(64,255,64)) + if v[0]!=0x00: + draw.rectangle((x-8, y-8, x+9, y+9), outline=(64,255,64), width=1) + + for k,v in items.items(): + em,x,y = coords(k, True) + if mp == em: + draw.text((x-1, y-3), "I", font=font, fill=(0,0,0)) + draw.text((x-2, y-4), "I", font=font, fill=(255,255,0)) + + for k,v in traps.items(): + em,x,y = coords(v[0], True) + if mp == em: + draw.text((x-1, y-3), "T", font=font, fill=(0,0,0)) + draw.text((x-2, y-4), "T", font=font, fill=(255,0,0)) +# draw.text((x, y), " ".join([f"{z:02x}" for z in v[1:]]), font=font, fill=(255,255,255)) + + for k,v in plates.items(): + sm,sx,sy = coords(k, True) + if mp == sm: + for tk,tv in traps.items(): + for tt in v[1:]: + if tk==tt: + tm,tx,ty = coords(tv[0], True) + if mp == tm: + draw.line( [sx, sy, tx, ty], fill=(255,255,0), width=1 ) + draw.ellipse( [tx-2, ty-2, tx+2, ty+2], fill=(255,255,0)) + + for k,v in switches.items(): + sm,sx,sy = coords(k, True) + tm,tx,ty = coords(v[0], True) + if mp==sm and mp==tm: + draw.line( [sx, sy, tx, ty], fill=(255,205,155), width=1 ) + draw.ellipse( [tx-2, ty-2, tx+2, ty+2], fill=(255,205,155)) + + draw.text( (sx-1, sy-3), "s", font=font, fill=(0,0,0)) + draw.text( (sx-2, sy-4), "s", font=font, fill=(255,205,155)) + + for k,v in locked_doors.items(): + sm,sx,sy = coords(k, True) + tm,tx,ty = coords(v[0], True) + if mp==sm and mp==tm: + draw.line( [sx, sy, tx, ty], fill=(255,255,255), width=1 ) + draw.ellipse( [tx-2, ty-2, tx+2, ty+2], fill=(255,255,255)) + + for k,v in teleporters.items(): + sm,sx,sy = coords(k, True) + tm,tx,ty = coords(v, True) + if mp==sm: + if mp==tm: + draw.line( [sx, sy, tx, ty], fill=(96,128,255), width=1 ) + draw.ellipse( [tx-2, ty-2, tx+2, ty+2], fill=(96,128,255)) + else: + draw.text( (sx-5, sy-3), map_abbr[tm], font=font, fill=(0,0,0)) + draw.text( (sx-6, sy-4), map_abbr[tm], font=font, fill=(96,128,255)) + + for k,v in pits.items(): + sm,sx,sy = coords(k, True) + tm,tx,ty = coords(v[0], True) + if mp==sm: + if mp==tm: + draw.line( [sx, sy, tx, ty], fill=(255,128,96), width=1 ) + draw.ellipse( [tx-2, ty-2, tx+2, ty+2], fill=(255,128,96)) + else: + draw.text( (sx-5, sy-3), map_abbr[tm], font=font, fill=(0,0,0)) + draw.text( (sx-6, sy-4), map_abbr[tm], font=font, fill=(255,255,255)) + + for k,v in signs.items(): + sm,sx,sy = coords(k, True) + if mp==sm and not k in sign_text.keys(): + col = (255,0,255) + for ttk,ttv in traps.items(): + if k==ttv[0]: #and ttv[1]==0x7: + col = (255,0,0) + for ttk,ttv in switches.items(): + if k==ttk: + col = (255,205,155) + elif k==ttv[0] and ttv[1]==0x07: + col = (255,0,0) + for ttk,ttv in locked_doors.items(): + if k==ttk: + col = (255,255,255) + t = maps[k] + if t & 0b1000: + draw.line( [sx-8, sy-3, sx-8, sy+3], fill=col, width=3 ) + if t & 0b0100: + draw.line( [sx-3, sy+9, sx+3, sy+9], fill=col, width=3 ) + if t & 0b0010: + draw.line( [sx+9, sy-3, sx+9, sy+3], fill=col, width=3 ) + if t & 0b0001: + draw.line( [sx-3, sy-8, sx+3, sy-8], fill=col, width=3 ) + + for k,v in sign_text.items(): + sm,sx,sy = coords(k, True) + if mp==sm: + t = maps[k] + if t & 0b1000: + draw.line( [sx-7, sy-7, sx-7, sy+8], fill=(255,255,255), width=4 ) + if t & 0b0100: + draw.line( [sx-7, sy+8, sx+8, sy+8], fill=(255,255,255), width=4 ) + if t & 0b0010: + draw.line( [sx+8, sy-7, sx+8, sy+8], fill=(255,255,255), width=4 ) + if t & 0b0001 or t==0: + draw.line( [sx-7, sy-8, sx+8, sy-8], fill=(255,255,255), width=4 ) +# draw.text( (sx,sy+16), v[4].replace("
","\n"), font=font, fill=(255,255,255) ) + +# # tile IDs +# for tile in range(len(maps)): +# sm,sx,sy = coords(tile,True) +# if mp==sm and maps[tile] > 0x0 and maps[tile] < 0x10: +# draw.text( (sx-3,sy-3), f"{maps[tile]:02x}", font=font, fill=(0,0,0) ) +# draw.text( (sx-4,sy-4), f"{maps[tile]:02x}", font=font, fill=(255,255,255) ) + + # grid numbers + for z in range(32): + draw.text( ((z*17)+5+17, 5),f"{z:02}", font=font, fill=(0,0,0)) + draw.text( ((z*17)+4+17, 4),f"{z:02}", font=font, fill=(255,255,255)) + draw.text( ((z*17)+5+17, 5+17*33),f"{z:02}", font=font, fill=(0,0,0)) + draw.text( ((z*17)+4+17, 4+17*33),f"{z:02}", font=font, fill=(255,255,255)) + + draw.text( (5, (z*17)+5+17) ,f"{z:02}", font=font, fill=(0,0,0)) + draw.text( (4, (z*17)+4+17) ,f"{z:02}", font=font, fill=(255,255,255)) + draw.text( (5+17*33, (z*17)+5+17) ,f"{z:02}", font=font, fill=(0,0,0)) + draw.text( (4+17*33, (z*17)+4+17) ,f"{z:02}", font=font, fill=(255,255,255)) + + # Off-map teleports + for src,dest in teleporters.items(): + sm,sx,sy = coords(src, True) + dm,dx,dy = coords(dest, True) + if sm!=dm and mp==dm: + draw.rectangle((dx-8, dy-8, dx+9, dy+9), outline=(255,0,255), width=1) +# for src,dest in pits.items(): +# dest = dest[0] +# sm,sx,sy = coords(src, True) +# dm,dx,dy = coords(dest, True) +# if sm!=dm and mp==dm: +# draw.rectangle((dx-8, dy-8, dx+9, dy+9), outline=(255,0,255), width=1) + if mp==0: # start + dm,dx,dy = coords(0x35d, True) + draw.rectangle((dx-8, dy-8, dx+9, dy+9), outline=(255,0,255), width=1) + + img.save(f"Knightmare_map_{mp}.png") + + # key + img = Image.new("RGB",(450,555),(0,0,0)) + draw = ImageDraw.Draw(img) + draw.fontmode = "1" + + key = [ + [0x79, "WALLS"], + [0x00, "Solid wall"], + [0x10, "Wall hatch"], + [0x18, "Arrowslit"], + [0x19, "Barred window"], + [0x6c, "Invisible wall"], + [0x6b, "Hedge"], + [0x79, "OPEN TILES"], + [0x26, "Grass"], + [0x2a, "Red flower (dig)"], + [0x68, "Tree"], + [0x20, "Empty space"], + [0x2e, "Floor grate"], + [0x70, "Fog"], + [0x1a, "Pushable wall"], + [0x3e, "Illusory wall"], + [0x40, "Door/portcullis"], + [0x3c, "Turn right"], + [0x3d, "Turn left"], + [0x1e, "Water"], + [0x2c, "Boat"], + [0x33, "Ceiling pit"], + [0x79, "TRAPS/TRIGGERS"], + [0x22, "Pit, instant kill"], + [0x36, "Pressure plate"], + [0x66, "Invisible pressure plate"], + [0x79, "TRAVEL"], + [0x30, "Floor pit"], + [0x34, "Ladder up"], + [0x31, "Ladder down"], + [0x64, "Portal"], + [0x71, "Railway"], + [0x72, "Railway cart"], + [0x79, "SPECIAL"], + [0x63, "Sprig"], + [0x6f, "Well"], + [0x73, "Monster spawn"], + [0x79, "WALL DECORATIONS"], + [0x00, "Treguard message"], + [0x00, "Switch"], + [0x00, "Keyhole"], + [0x00, "Fireball launcher"], + [0x00, "Other decoration"], + [0x79, "OTHER"], + [0x00, "Trap/trigger target"], + [0x20, "Monster start point"], + [0x20, "Interactable NPC"], + [0x78, "Teleport target"], + [0x78, "Pit/ladder target"], + [0x78, "Pressure plate target"], + [0x78, "Switch target"], + [0x78, "Door target"], + [0x21, "Item(s)"], + ] + x=1;y=1 + for n,v in enumerate(key): + (tile, name) = v + if tile==0x79 and not name in ["WALLS","TRAVEL"]: + y+=18 + img.paste(tiles[tile], ( x, y )) + draw.text( (x+24, y+4), name, font=font, fill=(255,255,255) ) + + if n==38: + # treguard + draw.line( [x-1, y+2, x-1, y+14], fill=(255,255,255), width=4 ) + elif n==39: + # beige switch + draw.line( [x-1, y+4, x-1, y+11], fill=(255,205,155), width=3 ) + draw.text( (x+6, y+5), "s", font=font, fill=(0,0,0) ) + draw.text( (x+5, y+4), "s", font=font, fill=(255,205,155) ) + elif n==40: + draw.line( [x-1, y+4, x-1, y+11], fill=(255,255,255), width=3 ) + elif n==41: + draw.line( [x-1, y+4, x-1, y+11], fill=(255,0,0), width=3 ) + elif n==42: + draw.line( [x-1, y+4, x-1, y+11], fill=(255,0,255), width=3 ) + elif n==44: + draw.text( (x+6, y+5), "T", font=font, fill=(0,0,0) ) + draw.text( (x+5, y+4), "T", font=font, fill=(255,0,0) ) + elif n==45: + draw.text( (x+6, y+5), "M", font=font, fill=(0,0,0) ) + draw.text( (x+5, y+4), "M", font=font, fill=(0,255,0) ) + elif n==46: + draw.text( (x+6, y+5), "M", font=font, fill=(0,0,0) ) + draw.text( (x+5, y+4), "M", font=font, fill=(0,255,0) ) + draw.rectangle((x-1, y-1, x+16, y+16), outline=(64,255,64), width=1) + elif n==47: + # teleport blue + draw.line( [x, y+8, x+16, y+8], fill=(96,128,255), width=1 ) + draw.ellipse( [x-2, y+6, x+2, y+10], fill=(96,128,255)) + elif n==48: + # pit target + draw.line( [x, y+8, x+16, y+8], fill=(255,128,96), width=1 ) + draw.ellipse( [x-2, y+6, x+2, y+10], fill=(255,128,96)) + elif n==49: + # switch yellow + draw.line( [x, y+8, x+16, y+8], fill=(255,255,0), width=1 ) + draw.ellipse( [x-2, y+6, x+2, y+10], fill=(255,255,0)) + elif n==50: + # switch beige + draw.line( [x, y+8, x+16, y+8], fill=(255,205,105), width=1 ) + draw.ellipse( [x-2, y+6, x+2, y+10], fill=(255,205,105)) + elif n==51: + # door target white + draw.line( [x, y+8, x+16, y+8], fill=(255,255,255), width=1 ) + draw.ellipse( [x-2, y+6, x+2, y+10], fill=(255,255,255)) + elif n==52: + draw.text( (x+6, y+5), "I", font=font, fill=(0,0,0) ) + draw.text( (x+5, y+4), "I", font=font, fill=(255,255,0) ) + + y+=18 + if tile==0x66: + y = 1 + x = 256 + + img.save(f"Knightmare_map_key.png") + + text = "" + + for mp in range(0,8): + text += f"\n\n---\ntitle: Map {mp}: {map_names_long[mp]}\ncategory: maps\n---\n\n" + text += "1. Table of Contents\n{:toc}\n\n" + + text += f"### Map\n\n![Knightmare map {mp}: {map_names_long[mp]}](../images/Knightmare_map_{mp}.png \"{map_names_long[mp]}\")\n\n##Key\n\n![Knightmare map key](../images/Knightmare_map_key.png \"Map key\")\n\n" + + text += "### Wall messages\n\n" + text += " Coords | Message \n" + text += "-------------|-------------------------\n" + + wm = [] + for k,v in sign_text.items(): + imp,x,y = coords(k) + if imp==mp: + wm.append (f" X: {x:02} Y: {y:02} | {v[4]}") + text += "\n".join(sorted(wm)) + + it = {} + text += "\n\n### Items\n\n" + text += " Coords | Item \n" + text += "-------------|------------\n" + for item in item_set: + imp,x,y = coords(item[0]) + if imp==mp: + if item[0] in it.keys(): + it[item[0]] += f", {item[2]:02x}: {item[1]}" + else: + it[item[0]] = f"{item[2]:02x}: {item[1]}" + + lt = [] + for l in sorted(it.keys()): + imp,x,y = coords(l) + + itt = it[l].split(", ") + itt2 = [] + for n in list(set(itt)): + if itt.count(n)>1: + itt2.append(f"{n} (x{itt.count(n)})") + else: + itt2.append(n) + it[l] = ", ".join(itt2) + + + lt.append(f" X: {x:02} Y: {y:02} | {it[l]}") + text += "\n".join(sorted(lt)) + + npcs = [] + text += "\n\n### NPCs\n\n" + text += " Coords | Monster | Defeated by | Drops | Text\n" + text += "-------------|----------------------|------------------------|------------------------|--------\n" + for k,v in monsters.items(): + mmp,x,y = coords(k) + if mmp==mp and v[0]!=0: + if v[0]>0x80: + v[0] -= 0x80 + txt = npc_text[v[0]][7] + killed_by = npc_text[v[0]][0] + drops = npc_text[v[0]][1] + npcs.append ( f" X: {x:02} Y: {y:02} | {v[4]:02x}: {monster_names[v[4]]:<16} | {killed_by:02x}: {item_names[killed_by]:<18} | {drops:02x}: {item_names[drops]:<18} | {txt}".replace("00: "," ")) + text += "\n".join(sorted(npcs)) + + mons = [] + text += "\n\n### Monsters\n\n" + text += " Coords | Monster | HP | Number\n" + text += "-------------|----------------------|--------|--------\n" + for k,v in monsters.items(): + mmp,x,y = coords(k) + if mmp==mp: + hp = (v[8]*256)+v[9] + count = (len(v)-8) //4 + mons.append ( f" X: {x:02} Y: {y:02} | {v[4]:02x}: {monster_names[v[4]]:<16} | {hp:6,} | {count}") + text += "\n".join(sorted(mons)) + + with open("map_text.txt","w") as f: + f.write(text) + +#print_map() +generate_map() diff --git a/tools/readme.md b/tools/readme.md new file mode 100644 index 0000000..6015f38 --- /dev/null +++ b/tools/readme.md @@ -0,0 +1,5 @@ +mapmaker.py +: Script used for generating the maps used by the site. + +map_tiles.png +: Spritesheet for mapmaker.py.