From 3fc5ef8e1576e269ad8b839fab59db1f473c356d Mon Sep 17 00:00:00 2001 From: Jeremy Penner Date: Wed, 30 Dec 2020 12:47:07 -0500 Subject: [PATCH] fix font / portrait editors, neut tileset serialization --- editor/fontedit.fnl | 1 + editor/portraitedit.fnl | 1 + editor/tileedit.fnl | 10 ++++++++-- game/tiles.fnl | 15 +++++++++++++-- game/tiles.json | 2 +- 5 files changed, 24 insertions(+), 5 deletions(-) diff --git a/editor/fontedit.fnl b/editor/fontedit.fnl index c008aa7..ccaa5a4 100644 --- a/editor/fontedit.fnl +++ b/editor/fontedit.fnl @@ -7,6 +7,7 @@ (fn FontEditView.spritegen [self] tiledraw.char-to-sprite) (fn FontEditView.tilesize [self] (values 8 8)) +(fn FontEditView.tilekeys [self] [:gfx]) (fn FontEditView.map-bitxy [self x y] (values y x)) (fn FontEditView.draw-tile-flags [self x y] (when self.itile diff --git a/editor/portraitedit.fnl b/editor/portraitedit.fnl index 159fbb8..726d747 100644 --- a/editor/portraitedit.fnl +++ b/editor/portraitedit.fnl @@ -8,6 +8,7 @@ (fn PortraitView.spritegen [self] tiledraw.portrait-to-sprite) (fn PortraitView.tilesize [self] (values 32 32)) +(fn PortraitView.tilekeys [self] [:gfx]) (fn PortraitView.filename [self] tiles.fn-portraits) (fn PortraitView.map-bitxy [self x y] (local quadrant (+ (if (>= x 16) 2 0) (if (>= y 16) 1 0))) diff --git a/editor/tileedit.fnl b/editor/tileedit.fnl index 24b160e..4db9a6a 100644 --- a/editor/tileedit.fnl +++ b/editor/tileedit.fnl @@ -20,6 +20,7 @@ (values ibyte ibit))) (fn TileView.tilesize [self] (values 16 16)) +(fn TileView.tilekeys [self] [:gfx :neut]) (fn get-byte [tile ibyte] (: (tile:sub (+ ibyte 1) (+ ibyte 1)) :byte)) @@ -89,13 +90,18 @@ (fn TileView.save [self] (tiles.savegfx (self:filename) self.tilecache.tiles)) +(fn TileView.draw-neut-tile-selector [self x y] + (self:draw-tile-selector x (- self.size.x 20) :neut)) + (fn TileView.draw [self] (self:draw_background style.background) (local (x y) (values (+ self.position.x 10) (+ self.position.y 10))) (local (editor-w editor-h) (self:draw-tile-editor (self:tile) x y)) (self:draw-tile-flags (+ x editor-w pixel-size) y) - (local top-selector-h (self:draw-tile-selector x (+ y editor-h pixel-size) (- self.size.x 20))) - (self:draw-tile-selector x (+ y editor-h pixel-size top-selector-h pixel-size) (- self.size.x 20) :neut)) + (var selector-y (+ y editor-h pixel-size)) + (each [_ key (ipairs (self:tilekeys))] + (local selector-h (self:draw-tile-selector x selector-y (- self.size.x 20) key)) + (set selector-y (+ selector-y selector-h pixel-size)))) (fn TileView.get_name [self] "Tile Editor") diff --git a/game/tiles.fnl b/game/tiles.fnl index 48b06a7..55c0f2f 100644 --- a/game/tiles.fnl +++ b/game/tiles.fnl @@ -6,12 +6,23 @@ (each [iflag flag (ipairs flags)] (tset flag-to-bit flag (bit.lshift 1 (- iflag 1)))) +(local encoded-tile-fields [:gfx :neut]) +(fn convert [tile field method] + (local oldval (. tile field)) + (when oldval + (tset tile field (: oldval method))) + tile) +(fn convert-all [tile method] + (each [_ field (ipairs encoded-tile-fields)] + (convert tile field method)) + tile) + (fn deserialize [tile] (match (type tile) :string {:gfx (tile:fromhex) :flags {}} - :table (doto tile (tset :gfx (tile.gfx:fromhex))))) + :table (convert-all tile :fromhex))) -(fn serialize [tile] (doto (lume.clone tile) (tset :gfx (tile.gfx:tohex)))) +(fn serialize [tile] (convert-all (lume.clone tile) :tohex)) (local fn-tiles "game/tiles.json") (local fn-portraits "game/portraits.json") diff --git a/game/tiles.json b/game/tiles.json index 5c66a74..01b5cc9 100644 --- a/game/tiles.json +++ b/game/tiles.json @@ -1 +1 @@ -[{"neut":"ßߟ\u0003\t\t#CiC#\t\t\u0003\u001fßúúøA\u0011\u0010EB\u0017BE\u0010\u0011Axú","label":"neut1","flags":[],"word":"","gfx":"7F7F1F03090923436943230909031F7F7F7F784111104542174245101141787F"},{"neut":"ß\u001f\u0003\t\t#CiC#\t\t\u0003\u001fßßúxA\u0011\u0010EB\u0017BE\u0010\u0011Axúú","label":"neut2","flags":[],"word":"","gfx":"7F1F03090923436943230909031F7F7F7F784111104542174245101141787F7F"},{"neut":"€€€ÀÀÀàÀÐÈÀ@@@@€€€ƒ\u0005……‚Š’‚‚\n\b\b\u0019€","label":"jaye-e","flags":[],"word":"","gfx":"808080C0C0C0E0C0D0C8C04040404080808083058585828A9282820A08081980"},{"neut":"€€À   ÀÀÐÈÀP\u0010\u0010\u0018€€€ƒƒ‡‚‚ŠŠ’\u0002\u0002\u0002\u0003€","label":"jaye-w","flags":[],"word":"","gfx":"8080C020A0A0C0C0D0C8C0501010188080808183838782828A8A920202020380"},{"neut":"€€à0°°˜ÀÐÐÈ@@@`€€€‡\r™‚ŠŠ’\u0002\u0002\u0002\u0007€","label":"jaye-s","flags":[],"word":"","gfx":"8080E030B0B098C0D0D0C840404060808080870D8D8D99828A8A920202020780"},{"neut":"€€Àààà°ÀÐÈÀ@@@`€€€ƒ‡‡‡‚Š’‚\u0002\u0002\u0002\u0007€","label":"jaye-n","flags":[],"word":"","gfx":"8080C0E0E0E0B0C0D0C8C040404060808080838787878D828A92820202020780"},{"neut":"€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€","label":"t-floor","flags":{"walkable":true},"word":"","gfx":"80808C8080808080B08080808C808080808C80808083B0808080808080868080"},{"neut":"€üŒŒŒŒü€üþþ€€€€€€Ÿ˜˜˜˜Ÿ€Ÿ‡€€€€€","label":"termoff","flags":[],"word":"term","gfx":"007C0C0C0C0C7C007C7E7EAA88888800001F181818181F001F0F979584848400"},{"neut":"Ðü,,,,|Õýýþ€ßßßߊ¿5555¿ª¿¯çðúúúú","label":"termon","flags":{"neutable":true},"word":"term","gfx":"007C2C0C0C2C7C007C7E7EAA88888800001F18191C191F001F0F979584848400"},{"neut":"ÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕÕªªªªªªªªªªªªªªªª","label":"","flags":[],"word":"","gfx":"D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"neut":"ÕÕÕÕùùùùÁ•ÕÕÕÕÕªªªªª€ŸŸŸŸ€ªªªªª","label":"","flags":[],"word":"","gfx":"D5D5D5D5D5F5F5FDDDD5D5D5D5D5D5D5AAAAAAAAAEAEBFBFBFABAAAAAAAAAAAA"},{"neut":"ßßßßßß×ÕÕÕ×ßßßßßúúúúúúꪪªêúúúúú","label":"","flags":{"neutable":true},"word":"","gfx":"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"},{"neut":"€€øøøøøøøøøøøø€€€€€€","label":"doorclosed","flags":[],"word":"door","gfx":"FF8FA7B3B3B3B3B3B3B3B3B3B3B383FFFFF8F2E6E6E6E6E6E6E6E6E6E6E6E0FF"},{"neut":"€€üŒŒŒŒŒŒŒŒŒŒü€€€€Ÿ˜˜˜˜˜˜˜˜˜˜Ÿ€€","label":"dooropen","flags":{"walkable":true},"word":"door","gfx":"FF8F87838383838383838383838383FFFFF8F0E0E0E0E0E0E0E0E0E0E0E0E0FF"},{"neut":"ßßß߇…………‡ßßßßúúúúðà    àðúúúú","label":"switchoff","flags":{"neutable":true},"word":"switch","gfx":"FFFFCFCFCFCF898183838787878FFFFFFFFCE4E4E4E4E0E0E0E0E0E0F0F8FFFF"},{"neut":"ßßß߇%%%%‡ßßßßúúúúðà%%%%àðúúúú","label":"switchon","flags":{"neutable":true},"word":"switch","gfx":"FFFFCFCFCFCF898123232727878FFFFFFFFCE4E4E4E0E0616565656571F8FFFF"},{"neut":"€€€ÐÐÐÐÐÐÐÐÐЀ€€€€€ŠŠŠŠŠŠŠŠŠŠ€€€","label":"","flags":[],"word":"","gfx":"FFFF83D3D3D3D3D3D3D3D3D3D383FFFFFFFFC0CACACECACBCACACACACAC0FFFF"},{"neut":"ßßßßÿÿßßßúúúúÿð°°°°ððÿúúú","label":"scanoff","flags":{"neutable":true},"word":"scan","gfx":"FFFFAFEBFBFBFBBBBBFBFBFBEBAFFFFFFFFFF5D7DFDFDFDDDDDFDFDFD7F5FFFF"},{"neut":"ßßßßÿ/----//ÿßßßúúúúÿu5555uuÿúúú","label":"scanon","flags":{"neutable":true},"word":"scan","gfx":"FFFF2F2B2B2B6B6B6B6B2B2B2B2FFFFFFFFF755555555757575755555575FFFF"},{"neut":"žóÆŒ³çø€†¾àà°˜˜ÆøÏ᱌Œ˜Ž†Œ™°æΙ","label":"","flags":[],"word":"","gfx":"FFF3C78FBFFCF98187BFFFFFBF9F9FC7FFCFE1F1FCFCF8FEFEFCF9F0E6CE8F9F"},{"neut":"€€€€€Ô„„„Ô„„„„€€€€€€€ª ¡ ª    €€","label":"","flags":[],"word":"","gfx":"80808C80808080A8AAAAAAA888888880808C8080808380859595958584848480"},{"neut":"€€€€€Ô€„€Ô€„€„€€€…„…ª€¡€ª€ € €€","label":"broken-table","flags":{"debris":true},"word":"","gfx":"80808C8080A0A0A8AAAA8AA0A8808080808C8081919090848594959585858080"},{"neut":"€€€ÐÐÀÀÔ„„Ô¸€€€€ŠˆˆŠ‚‚ª  ªˆœ€","label":"t-chair","flags":{"sittable":true},"word":"","gfx":"00005054545450404054545010383800000C0A2A2A2A0A03032A2A0A081C1C00"},{"neut":"€€€€€Ð€À€„€Ô€¸€€…„…‰€Š‚€ €ª€œ€","label":"","flags":{"debris":true},"word":"","gfx":"0000001C1C10545040606010545454000030070702020A0A0100020A080A0200"},{"neut":"€€€€€Ô„„Ô„„Ô„„Ô€€€€€€ŠˆˆŠˆˆŠˆˆŠ€","label":"","flags":[],"word":"","gfx":"80A0A8AA92D2D2AAC2C2AA92D2AA808080959595949494959494959494858080"},{"neut":"€€€€€€„€Ô€„€„€Ô€€…„…€‰€Š€ˆ€ˆ€Š€","label":"","flags":{"debris":true},"word":"","gfx":"80808C808080A8C292AAAAAAAA8AC0D0808C80808083959290959194948580A8"},{"neut":"€€ÔÄÔÀÔÄÔÀÀÔ„„Ô€€€ŠˆŠ€ŠˆŠ€€ŠˆˆŠ€","label":"","flags":[],"word":"","gfx":"80806008282A0800202880A8A8A8A08080980000141501051511819595958580"},{"neut":"€€Ô€”€Ô€Ô€À€„€Ô€€…„…‰€ŠŠ€€€ˆ€Š€","label":"","flags":{"debris":true},"word":"","gfx":"80808C808080A0A8AAAA8AA2AAAAAA80808C0000000330010105051511010514"},{"neut":"€ÐÐÐÀÔÄÄÎÊÀà €€€€Š‹Š‚ª¢¢òÒ‚‡…€€€","label":"t-rexx","flags":[],"word":"rexx","gfx":"80D0D0D0C0D4C4C4CECAC0E0A0808080808A8B8A82AAA2A2F2D2828785808080"},{"neut":"ø˜˜˜¾†††††¾°˜ø€€Ÿ˜˜˜üàààààüŒ˜Ÿ€€","label":"t-rexxstop","flags":[],"word":"rexx","gfx":"F8989898BE8686868686BEB098F880809F989898FCE0E0E0E0E0FC8C989F8080"},{"neut":"€€€€ˆ¨¨ààðÈÀÀÀ€€€€€€€€€ƒƒ‚‚‚š€€","label":"gord-ground","flags":[],"word":"","gfx":"80808C8088A8A8E0E0F0C8C0CCC08080808C80808080B08183838282829A8080"},{"neut":"€€€  €ðððèÐИ€€€€€€ƒƒƒ…‚‚‚†€€","label":"gord-s","flags":[],"word":"","gfx":"808080A0A080F0F0F0E8D0D09098808080808081818083838385828282868080"},{"neut":"€À €ððððÐИ€€€€‚‚€ƒƒƒƒ‚‚‚†€€","label":"gord-n","flags":[],"word":"","gfx":"80C09090A080F0F0F0F0D0D09098808080808282818083838383828282868080"},{"neut":"€€€  €ððððÐа€€€€€ƒ…€‚‚†€€","label":"gord-e","flags":[],"word":"","gfx":"808080A0A080F0F0F0F0D0D090B0808080808181818081838581808282868080"},{"neut":"€€   €àðèàÐИ€€€€€€ƒƒƒƒ‚‚‚ƒ€€","label":"gord-w","flags":[],"word":"","gfx":"8080A0A0A080E0F0E8E0D0D09098808080808081818083838383828282838080"},{"neut":"€ˆ¨¨€ððø¸ÔÔÄÄ䆀€€€ŠˆˆŠª  ªˆœ€","label":"gord-sit","flags":[],"word":"","gfx":"0088A8A8047470F8B8D4D4C4C4E40600000C0A2A2A2A0A81812A2A0A081C1C00"},{"neut":"ÿù¹é¹é¹é¹é¹ùùÿÿàççåçåçåçåçççàÿ","label":"t-keyoff","flags":[],"word":"keypad","gfx":"FF81F9B9E9B9E9B9E9B9E9B9F9F981FFFFE0E7E7E5E7E5E7E5E7E5E7E7E7E0FF"},{"neut":"\u007f\u0001y9i9i9i9i9yy\u0001\u007f\u007f`ggegegegeggg`\u007f","label":"t-keyon","flags":[],"word":"keypad","gfx":"7F01793969396939693969397979017F7F60676765676567656765676767607F"},{"neut":"ߧǣ‰Ñ‰ƒ§Ç§ßßúðÄ’Š‘ÀñòÁ’ŠÂúú","label":"libb1","flags":[],"word":"","gfx":"FF8FA7C7A389D189838FA7C7A78FFFFFFFF0C4928A91C0F1F2C1928A90C7FFFF"}] \ No newline at end of file +[{"neut":"5F5F1F03090923436943230909031F5F7A7A784111104542174245101141787A","label":"neut1","flags":[],"word":"","gfx":"7F7F1F03090923436943230909031F7F7F7F784111104542174245101141787F"},{"neut":"5F1F03090923436943230909031F5F5F7A784111104542174245101141787A7A","label":"neut2","flags":[],"word":"","gfx":"7F1F03090923436943230909031F7F7F7F784111104542174245101141787F7F"},{"neut":"808080C0C0C0E0C0D0C8C04040404080808083058585828A9282820A08081980","label":"jaye-e","flags":[],"word":"","gfx":"808080C0C0C0E0C0D0C8C04040404080808083058585828A9282820A08081980"},{"neut":"8080C020A0A0C0C0D0C8C0501010188080808183838782828A8A920202020380","label":"jaye-w","flags":[],"word":"","gfx":"8080C020A0A0C0C0D0C8C0501010188080808183838782828A8A920202020380"},{"neut":"8080E030B0B098C0D0D0C840404060808080870D8D8D99828A8A920202020780","label":"jaye-s","flags":[],"word":"","gfx":"8080E030B0B098C0D0D0C840404060808080870D8D8D99828A8A920202020780"},{"neut":"8080C0E0E0E0B0C0D0C8C040404060808080838787878D828A92820202020780","label":"jaye-n","flags":[],"word":"","gfx":"8080C0E0E0E0B0C0D0C8C040404060808080838787878D828A92820202020780"},{"neut":"8080808080808080808080808080808080808080808080808080808080808080","label":"t-floor","flags":{"walkable":true},"word":"","gfx":"80808C8080808080B08080808C808080808C80808083B0808080808080868080"},{"neut":"80FC8C8C8C8CFC80FCFEFE8080808080809F989898989F809F8F878080808080","label":"termoff","flags":[],"word":"term","gfx":"007C0C0C0C0C7C007C7E7EAA88888800001F181818181F001F0F979584848400"},{"neut":"507C2C2C2C2C7C557D7D7E005F5F5F5F0A3F353535353F2A3F2F67707A7A7A7A","label":"termon","flags":{"neutable":true},"word":"term","gfx":"007C2C0C0C2C7C007C7E7EAA88888800001F18191C191F001F0F979584848400"},{"neut":"D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","label":"","flags":[],"word":"","gfx":"D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},{"neut":"D5D5D5D581F9F9F9F9C195D5D5D5D5D5AAAAAAAAAA809F9F9F9F80AAAAAAAAAA","label":"","flags":[],"word":"","gfx":"D5D5D5D5D5F5F5FDDDD5D5D5D5D5D5D5AAAAAAAAAEAEBFBFBFABAAAAAAAAAAAA"},{"neut":"5F5F5F5F5F5F57555555575F5F5F5F5F7A7A7A7A7A7A6A2A2A2A6A7A7A7A7A7A","label":"","flags":{"neutable":true},"word":"","gfx":"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"},{"neut":"8080F8F8F8F8F8F8F8F8F8F8F8F8808080808F8F8F8F8F8F8F8F8F8F8F8F8080","label":"doorclosed","flags":[],"word":"door","gfx":"FF8FA7B3B3B3B3B3B3B3B3B3B3B383FFFFF8F2E6E6E6E6E6E6E6E6E6E6E6E0FF"},{"neut":"8080FC8C8C8C8C8C8C8C8C8C8CFC808080809F989898989898989898989F8080","label":"dooropen","flags":{"walkable":true},"word":"door","gfx":"FF8F87838383838383838383838383FFFFF8F0E0E0E0E0E0E0E0E0E0E0E0E0FF"},{"neut":"5F5F5F5F0F0705050505070F5F5F5F5F7A7A7A7A70602020202060707A7A7A7A","label":"switchoff","flags":{"neutable":true},"word":"switch","gfx":"FFFFCFCFCFCF898183838787878FFFFFFFFCE4E4E4E4E0E0E0E0E0E0F0F8FFFF"},{"neut":"5F5F5F5F0F0725252525070F5F5F5F5F7A7A7A7A70602525252560707A7A7A7A","label":"switchon","flags":{"neutable":true},"word":"switch","gfx":"FFFFCFCFCFCF898123232727878FFFFFFFFCE4E4E4E0E0616565656571F8FFFF"},{"neut":"808080D0D0D0D0D0D0D0D0D0D08080808080808A8A8A8A8A8A8A8A8A8A808080","label":"","flags":[],"word":"","gfx":"FFFF83D3D3D3D3D3D3D3D3D3D383FFFFFFFFC0CACACECACBCACACACACAC0FFFF"},{"neut":"5F5F5F5F7F0F0D0D0D0D0F0F7F5F5F5F7A7A7A7A7F703030303070707F7A7A7A","label":"scanoff","flags":{"neutable":true},"word":"scan","gfx":"FFFFAFEBFBFBFBBBBBFBFBFBEBAFFFFFFFFFF5D7DFDFDFDDDDDFDFDFD7F5FFFF"},{"neut":"5F5F5F5F7F2F2D2D2D2D2F2F7F5F5F5F7A7A7A7A7F753535353575757F7A7A7A","label":"scanon","flags":{"neutable":true},"word":"scan","gfx":"FFFF2F2B2B2B6B6B6B6B2B2B2B2FFFFFFFFF755555555757575755555575FFFF"},{"neut":"9EF3C68CB3E7F88086BEE0E0B09898C6F8CFE1B18C8C988E868C99B0E6CE8F99","label":"","flags":[],"word":"","gfx":"FFF3C78FBFFCF98187BFFFFFBF9F9FC7FFCFE1F1FCFCF8FEFEFCF9F0E6CE8F9F"},{"neut":"8080808080D4848484D48484848480808080808080AAA0A1A0AAA0A0A0A08080","label":"","flags":[],"word":"","gfx":"80808C80808080A8AAAAAAA888888880808C8080808380859595958584848480"},{"neut":"8080808080D4808480D48084808480808085848581AA80A180AA80A080A08080","label":"broken-table","flags":{"debris":true},"word":"","gfx":"80808C8080A0A0A8AAAA8AA0A8808080808C8081919090848594959585858080"},{"neut":"808080D09090D0C0C0D48484D490B8808080808A88888A8282AAA0A0AA889C80","label":"t-chair","flags":{"sittable":true},"word":"","gfx":"00005054545450404054545010383800000C0A2A2A2A0A03032A2A0A081C1C00"},{"neut":"808080809080D080C0808480D480B8808085848589808A818280A080AA809C80","label":"","flags":{"debris":true},"word":"","gfx":"0000001C1C10545040606010545454000030070702020A0A0100020A080A0200"},{"neut":"8080808080D48484D48484D48484D48080808080808A88888A88888A88888A80","label":"","flags":[],"word":"","gfx":"80A0A8AA92D2D2AAC2C2AA92D2AA808080959595949494959494959494858080"},{"neut":"8080808080808480D48084808480D48080858485818089808A80888088808A80","label":"","flags":{"debris":true},"word":"","gfx":"80808C808080A8C292AAAAAAAA8AC0D0808C80808083959290959194948580A8"},{"neut":"8080D4C4D4C0D4C4D4C0C0D48484D48080808A888A808A888A80808A88888A80","label":"","flags":[],"word":"","gfx":"80806008282A0800202880A8A8A8A08080980000141501051511819595958580"},{"neut":"8080D4809480D480D480C0808480D4808085848589808A818A80808088808A80","label":"","flags":{"debris":true},"word":"","gfx":"80808C808080A0A8AAAA8AA2AAAAAA80808C0000000330010105051511010514"},{"neut":"80D0D0D0C0D4C4C4CECAC0E0A0808080808A8B8A82AAA2A2F2D2828785808080","label":"t-rexx","flags":[],"word":"rexx","gfx":"80D0D0D0C0D4C4C4CECAC0E0A0808080808A8B8A82AAA2A2F2D2828785808080"},{"neut":"F8989898BE8686868686BEB098F880809F989898FCE0E0E0E0E0FC8C989F8080","label":"t-rexxstop","flags":[],"word":"rexx","gfx":"F8989898BE8686868686BEB098F880809F989898FCE0E0E0E0E0FC8C989F8080"},{"neut":"8080808088A8A8E0E0F0C8C0C0C08080808080808080808183838282829A8080","label":"gord-ground","flags":[],"word":"","gfx":"80808C8088A8A8E0E0F0C8C0CCC08080808C80808080B08183838282829A8080"},{"neut":"808080A0A080F0F0F0E8D0D09098808080808081818083838385828282868080","label":"gord-s","flags":[],"word":"","gfx":"808080A0A080F0F0F0E8D0D09098808080808081818083838385828282868080"},{"neut":"80C09090A080F0F0F0F0D0D09098808080808282818083838383828282868080","label":"gord-n","flags":[],"word":"","gfx":"80C09090A080F0F0F0F0D0D09098808080808282818083838383828282868080"},{"neut":"808080A0A080F0F0F0F0D0D090B0808080808181818081838581808282868080","label":"gord-e","flags":[],"word":"","gfx":"808080A0A080F0F0F0F0D0D090B0808080808181818081838581808282868080"},{"neut":"8080A0A0A080E0F0E8E0D0D09098808080808081818083838383828282838080","label":"gord-w","flags":[],"word":"","gfx":"8080A0A0A080E0F0E8E0D0D09098808080808081818083838383828282838080"},{"neut":"8088A8A880F0F0F8B8D4D4C4C4E486808080808A88888A8181AAA0A0AA889C80","label":"gord-sit","flags":[],"word":"","gfx":"0088A8A8047470F8B8D4D4C4C4E40600000C0A2A2A2A0A81812A2A0A081C1C00"},{"neut":"FF81F9B9E9B9E9B9E9B9E9B9F9F981FFFFE0E7E7E5E7E5E7E5E7E5E7E7E7E0FF","label":"t-keyoff","flags":[],"word":"keypad","gfx":"FF81F9B9E9B9E9B9E9B9E9B9F9F981FFFFE0E7E7E5E7E5E7E5E7E5E7E7E7E0FF"},{"neut":"7F01793969396939693969397979017F7F60676765676567656765676767607F","label":"t-keyon","flags":[],"word":"keypad","gfx":"7F01793969396939693969397979017F7F60676765676567656765676767607F"},{"neut":"5F8FA7C7A389D189838FA7C7A70F5F5F7AF0C4928A91C0F1F2C1928A90427A7A","label":"libb1","flags":[],"word":"","gfx":"FF8FA7C7A389D189838FA7C7A78FFFFFFFF0C4928A91C0F1F2C1928A90C7FFFF"},{"neut":"5F5F8FA7C7A389D189838FA7C7A70F5F7A7AF0C4928A91C0F1F2C1928A90427A","label":"libb2","flags":[],"word":"","gfx":"FFFF8FA7C7A389D189838FA7C7A78FFFFFFFF0C4928A91C0F1F2C1928A90C7FF"}] \ No newline at end of file