Фармат картаў RPG Maker 2000 (lmu)

Гэты дакумент апісвае фармат картаў у гульнях, створаных RPG Maker 2000. Для напісання гэтага дакументу выкарыстоўваліся выключна законныя метады: я глядзеў толькі фармат карт, і ніколі не займаўся дэзасэмбліяваннем коду самой праграмы. Па гэтай жа прычыне дакумент у прынцыпе не можа быць поўным: я імкнуся толькі да таго, каб ён быў досыць поўным. Гэты файл распаўсюджваецца па ліцэнзіі CC0 (то бок я аддаю яго ў грамадскую ўласнасць, калі гэта магчыма, ці, калі не магчыма, адмаўляюся ад усіх правоў на яго, насколькі гэта магчыма).

Загаловак

Спачатку ідуць такія адзінаццаць байтаў:
0A — даўжыня радка, які ідзе далей
4C 63 66 4D 61 70 55 6E 69 74 — тэкст LcfMapUnit

Далей ідуць блокі (гл. ніжэй).

У канцы файла — адзін нулявы байт (00). Калі яго не будзе, карту не прачытае інтэрпрэтатар (RPG_RT.exe), але рэдактар прачытае.

Фармат блокаў

Кожны блок мае такую структуру:

Лікі зменнай даўжыні

Лікі зменнай даўжыні кадуюцца так: лік разбіваецца на групы па 7 біт, кожная група кадуецца адным байтам. Першы біт гэтага байта паказвае, ці закончыўся лік: калі 1, значыць, далей працягваецца; калі 0, значыць, закончыўся.

Вось паясненне:

Такім чынам, кожны лік можна «дацягнуць» да большага памеру, дапісваючы 1000000b (г. зн. 80h / 128d) перад ўласна лікам. RPG Maker 2000 правільна разумее такія неаптымальныя лікі (прынамсі ў полі памеру).

Тыпы блокаў

Код тыпу блока Значэнне Калі блок адсутнічае
01h Нумар чыпсэту (лік зменнай шырыні ад 1 і вышэй) Чыпсэт №1
02h Шырыня карты ў клетках (лік зменнай даўжыні ад 30) 30 клетак
03h Вышыня карты ў клетках (лік зменнай даўжыні ад 15) 15 клетак
0Bh Зацыкленасць (0 — няма зацыкленасці, 1 — вертыкальная, 2 — гарызантальная, 3 — абодве) RPG Maker 2000 заўсёды запісвае гэты байт.
1Fh Даступнасць фонавага малюнка (0 — адключаны, 1 — ёсць) Адключаны (0)
20h Радок з назвай фонавага малюнка карты (без расшырэння файла). Не мае сэнсу, калі фонавы малюнак адключаны (гл. 1Fh).
21h Фон рухаецца па гарызанталі (0 — не рухаецца, 1 — рухаецца) Не рухаецца (0)
22h Фон рухаецца па вертыкалі (0 — не рухаецца, 1 — рухаецца) Не рухаецца (0)
23h Фон рухаецца па гарызанталі сам па сябе (0 — сам па сябе не рухаецца [толькі з героям], 1 — рухаецца сам па сябе), не мае сэнсу без 21h. Не рухаецца (0)
24h Хуткасць руху фону па гарызаналі самога па сябе (лік), не мае сэнсу без 23h. Пры хуткасці 1 фон праходзіць каля 4 пікселяў за секунду, пры хуткасці 1 — каля 6 [64/11?] пікселяў за секунду... 0
25h Фон рухаецца па вертыкалі сам па сябе (0 — сам па сябе не рухаецца [толькі з героям], 1 — рухаецца сам па сябе), не мае сэнсу без 22h. Не рухаецца (0)
26h Хуткасць руху фону па вертыкалі самога па сябе (лік), не мае сэнсу без 25h. 0
47h Блок ніжняга слоя (масіў радкоў, кожны радок — масіў клетак, кожная клетка — 2 байты; пра яго я напішу пазней) Увесь слой лічыцца запоўненым клеткамі 00 00.
48h Блок верхняга слоя (масіў радкоў, кожны радок — масіў клетак, кожная клетка — 2 байты; пра яго я напішу пазней) Увесь слой лічыцца запоўненым клеткамі 10 23.
51h Слой падзей/NPC (events). Калі падзей няма, то запісваецца адзін нулявы байт (00). RPG Maker 2000 заўсёды запісвае гэты блок.
5Bh Нумар рэвізіі (проста лік, які павялічваецца на адзінку з кожным запісам карты). RPG Maker 2000 заўсёды запісвае гэты блок.

Наступныя звесткі не зберагаюцца ў файле карты (lmu):

Фармат ніжняга слоя

Ніжні слой зберагаецца ў выглядзе масіва радоў, а кожны рад — масіў клетак, вось у такім парадку: клетка (x=0, y=0), клетка (x=0, y=1), клетка (x=0, y=2), ..., клетка (x=0, y=y_max), клетка (x=1, y=0), клетка (x=1, y=1), ..., клетка (x=x_max, y=0), ..., клетка (x=x_max, y=y_max).

Кожная клетка — двохбайтавы лік (слова), байты размяшчаюцца ў інтэлаўскім парадку (гэта значыць лік 4660 / 1234h будзе запісаны байтамі 34 12). Не ўсе клеткі запоўненыя: некаторыя клеткі некаторыя ствараюць незразумелы эфект (лес і горы з недарэчнай анімацыяй), некаторыя выклікаюць розны эфект у рэдактары і ў гульні, некаторыя не даюць загрузіць карту ўвогуле.

Ёсць як мінімум наступныя клеткі (АРК значыць «аўтаматычна размеркаваныя клеткі», пра іх ніжэй; для многіх клетак даецца значэнне для стандартных чыпсэтаў — гэта толькі для зручнасці: насамрэч клеткі будуць тым, чым вы намалюеце):

Звярніце ўвагу, тут ёсць логіка: спачатку аўтаматычыя анімаваныя клеткі, потым неаўтаматычныя анімаваныя (3000, 3050, 3100), потым аўтаматычныя неанімаваныя, потым неаўтаматычныя неанімаваныя.

Файл чыпсэта

Блокі 47h, 48h (а таксама у некаторай меры блок падзей) выкарыстоўваюць графіку з файла чыпсэта. Таму для далейшага разгляда трэба паглядзець на тое, як арганізаваны файл чыпсэта.

Файл чыпсэта — гэта файл памерам 480 на 256 пікселяў. Як і іншыя графічныя файлы ў RPG Maker 2000, ён мусіць мець палітру (да 256 каляроў), і першы колер палітры лічыцца празрыстым. Калі празрысты колер сустракаецца на ніжнім слоі, праз яго відна фон (гл. блокі 1Fh—26h). Калі празрысты колер сустракаецца на верхнім слоі, праз яго бачны ніжні слой.

Для зручнасці мы падзелім файл чыпсэта на 5 слупкоў памерам 96x256 пікселяў, і пранумеруем іх I, II, III, IV, V. У слупку I размяшчаюцца анімаваныя клеткі ніжняга слоя (у верхняй палове) і неанімаваныя аўтаматычна размеркаваныя клеткі ніжняга слоя (у ніжняй палове). У слупку II размяшчаюцца неанімаваныя аўтаматычна размеркаваныя клеткі ніжняга слоя. У слупку III і ў верхняй палове слупка IV размяшчаюцца неанімаваныя неаўтаматычныя клеткі ніжняга слоя, у ніжняй частцы слупка IV і ў слупку V — клеткі верхняга слоя.

Групы аўтаматычна размеркаваных клетак

Аўтаматычна размеркаваныя клеткі (АРК) дзеляцца на групы. Клеткі кожнай групы паказваюць пэўны тып зямлі/будынку/і г.д. і яго пераход да іншага тыпу зямлі. Іншы тып зямлі (таксама АРК) будзем называць базавым тыпам. Калі АРК размяшчаюцца поруч с клеткамі базавага тыпу, то суседнія клеткі мяняюцца адным чынам (напрыклад, калі размясціць снежныя горы ля снега, то горы будуць лічыцца працягам снегу), калі АРК размяшчаюцца ля клетак небазавага АРК — суседнія клеткі мяняюцца іншым чынам (калі размясцьці горы без снегу ля снегу, то паміж імі створацца пераход да базавага тыпу снегу і гор — да зямлі).

У кожнай групе аўтаматычна размеркаваных клетак ёсць 48 клетак, але гэтыя клеткі не зберагаюцца ў файле чыпсэта напрамую. Яны зберагаюцца як масіў кусочкаў клетак 8x8 пікселяў, які потым збіраецца ў 48 клетак 16x16 пікселяў. Складнасць у тым, што асобныя кусочкі клетак па-рознаму зберагаюцца для анімаваных і неанімаваных АРК.

Мы будзем лічыць базавым фарматам менавіта неанімаваныя АРК, бо менавіта гэты фармат будзе выкарыстоўвацца ў наступнай версіі RPG Maker, RPG Maker XP. Акрамя таго, фармат неанімаваных АРК з RPG Maker 2000 выкарыстоўваецца ў вольным рухавіку для гульняў RPG.JS: калі вам лягчэй чытаць код, ніж апісання, вы можаце паглядзець, як рэалізаваныя АРК (autotiles) у RPG.JS.

Неанімаваныя АРК

Усяго ёсць 12 груп неанімаваных АРК. Кожная група пачынаецца з клеткі 4000 + 50*(i-1), где i — нумар АРК ад 1 да 12.

У кожнай групе клетак ёсць 48 клетак, пранумеруем іх 0—47. Каб атрымаць нумар клеткі на карце, трэба скласці нумар першай клеткі ў групе і нумар клеткі. То бок нулявая клетка травы (АРК №1) будзе 4000 (4000+0), першая клетка травы будзе 4001 (4000+1), пятая клетка АРК №2 будзе 4055 (4050+4), і гэтак далей.

Клеткі для неанімаваных АРК складаюцца з кусочкаў, а кусочкі размешчаныя ў файле чыпсэта ў выглядзе прамакутніка 48x64 пікселяў. На файле чыпсэта графіка для АРК займае другую палову першага слупка (АРК №1—4) і ўвесь другі слупок (АРК №5—12), нумерацыя ідзе такім чынам (кожны прамакутнік на схеме — 48x64 пікселяў):

            Cлупок I                           Слупок II              ...
 _________________________________ _________________________________ ____
|                                 |                |                |
|                                 |                |                |
|      (Анімаваныя АРК)           | Неанім. АРК №5 | Неанім. АРК №6 |
|                                 |                |                |
|                 ________________|________________|________________|
|                |                |                |                |
|                |                |                |                |
|  (Анім. АРК.)  | (Анім. не-АРК) | Неанім. АРК №7 | Неанім. АРК №8 |
|                |                |                |                |
|________________|________________|________________|________________| ...
|                |                |                |                |
|                |                |                |                |
| Неанім. АРК №1 | Неанім. АРК №2 | Неанім. АРК №9 | Неанім. АРК №10|
|                |                |                |                |
|________________|________________|________________|________________|
|                |                |                |                |
|                |                |                |                |
| Неанім. АРК №3 | Неанім. АРК №4 | Неанім. АРК №11| Неанім. АРК №12|
|                |                |                |                |
|________________|________________|________________|________________|____

Кожная група неамнімаваных АР клетак апісваецца 40 кусочкамі 8x8. Акрамя таго, дзве клеткі 16x16 выкарыстоўваюцца толькі ў рэдактары: першая клетка і базавая клетка. Першая клетка 16x16 паказваецца ў рэдактары ў палітры клетак. А другая клетка вызначае базавы тып: калі базавым тыпам для снежных гор з’яўляецца снег, то для снежных гор другая клетка павінна даслоўна паўтараць першую клетку снега.

Усё астатняе месца займаюць кусочкі. Умоўна пранумеруем іх такім чынам (гэта нумарацыя умоўная, толькі для палякшэння апісання ў гэтым файле):

 ___________ ___________ _____ _____
|           |           |     |     |
|           |           |  1  |  2  |
|  Першая   |  Базавая  |_____|_____|
|  клетка   |  клетка   |     |     |
|           |           |  3  |  4  |
|_____ _____|_____ _____|_____|_____|
|     |     |     |     |     |     |
|  5  |  6  |  7  |  8  |  9  |  10 |
|_____|_____|_____|_____|_____|_____|
|     |     |     |     |     |     |
|  11 |  12 |  13 |  14 |  15 |  16 |
|_____|_____|_____|_____|_____|_____|
|     |     |     |     |     |     |
|  17 |  18 |  19 |  20 |  21 |  22 |
|_____|_____|_____|_____|_____|_____|
|     |     |     |     |     |     |
|  23 |  24 |  25 |  26 |  27 |  28 |
|_____|_____|_____|_____|_____|_____|
|     |     |     |     |     |     |
|  29 |  30 |  31 |  32 |  33 |  34 |
|_____|_____|_____|_____|_____|_____|
|     |     |     |     |     |     |
|  35 |  36 |  37 |  38 |  39 |  40 |
|_____|_____|_____|_____|_____|_____|

Кожная з 48 аўтаматычна размеркаваных клетак складаецца з чатырох такіх кусочкаў. Дамовімся, что запіс [а, б, в, г] апісвае клетку, у якой злева зверху кусочак а, справа зверху кусочак б, злева знізу кусочак в і справа знізу кусочак г, то бок такую:

 [а, б, в, г]
 ___________
|     |     |
|  а  |  б  |
|_____|_____|
|     |     |
|  в  |  г  |
|_____|_____|

Карыстаючыся гэтай натацыяй ([а, б, в, г]), апішам усе 48 клетак з кожнай групы (нумарацыю пачынаем з 0, то бок 0—47):

/*  №0 */ [19, 20, 25, 26], /*  №1 */ [ 1, 20, 25, 26], /*  №2 */ [19,  2, 25, 26],
/*  №3 */ [ 1,  2, 25, 26], /*  №4 */ [19, 20, 25,  4], /*  №5 */ [ 1, 20, 25,  4],

/*  №6 */ [19,  2, 25,  4], /*  №7 */ [ 1,  2, 25,  4], /*  №8 */ [19, 20,  3, 26],
/*  №9 */ [ 1, 20,  3, 26], /* №10 */ [19,  2,  3, 26], /* №11 */ [ 1,  2,  3, 26],

/* №12 */ [19, 20,  3,  4], /* №13 */ [ 1, 20,  3,  4], /* №14 */ [19,  2,  3,  4],
/* №15 */ [ 1,  2,  3,  4], /* №16 */ [17, 18, 23, 24], /* №17 */ [17,  2, 23, 24],

/* №18 */ [17, 18, 23,  4], /* №19 */ [17,  2, 23,  4], /* №20 */ [ 7,  8, 13, 14],
/* №21 */ [ 7,  8, 13,  4], /* №22 */ [ 7,  8,  3, 14], /* №23 */ [ 7,  8,  3,  4],

/* №24 */ [21, 22, 27, 28], /* №25 */ [21, 22,  3, 28], /* №26 */ [ 1, 22, 27, 28],
/* №27 */ [ 1, 22,  3, 28], /* №28 */ [31, 32, 37, 38], /* №29 */ [ 1, 32, 37, 38],

/* №30 */ [31,  2, 37, 38], /* №31 */ [ 1,  2, 37, 38], /* №32 */ [17, 22, 23, 28],
/* №33 */ [ 7,  8, 37, 38], /* №34 */ [ 5,  6, 11, 12], /* №35 */ [ 5,  6, 11,  4],

/* №36 */ [ 9, 10, 15, 16], /* №37 */ [ 9, 10,  3, 16], /* №38 */ [33, 34, 39, 40],
/* №39 */ [ 1, 34, 39, 40], /* №40 */ [29, 30, 35, 36], /* №41 */ [29,  2, 35, 36],

/* №42 */ [ 5, 10, 11, 16], /* №43 */ [ 5,  6, 35, 36], /* №44 */ [29, 34, 35, 40],
/* №45 */ [ 9, 10, 39, 40], /* №46 */ [ 5, 10, 35, 40], /* №47 */ [19, 20, 25, 26]

Такім чынам, клетка №5 у кожнай групе неанімаваных АРК (то бок клеткі з кодам 4005, 4055, 4105, 4155, 4205...) будзе складацца з паўклетак 1, 20 (зверху), 25 і 4 (знізу). Нумар групы ж АРК (4005 — №1, 4055 — №2, 4105 — №3, 4155 — №4, і г.д.) будзе вызначаць, якая канкрэтна графіка выкарыстоўваецца.

Анімаваныя АРК

Анімаваныя АРК для пераходу ад зямлі ці снегу (ці іншых базавых тыпаў) да вады выкарыстоўваюць тыя ж 48 клетак, што і неанімаваныя. Але для гэтых клетак выкарыстоўваецца меней кусочкаў, і яны інакш распаложаныя ў файле чыпсэта. У кожнага кусочка, з якога складаюцца анімаваныя АРК, ёсць тры варыянты, і пераход ад аднаго варыянту да другога стварае анімацыю. Акрамя таго, замест вады можа выкарыстоўвацца глыбокая вада, але я пакуль што не вызначыў прынцыпаў яе размяшчэння.

У анімаваных АРК няма базвай і першай клеткі, толькі асобныя кусочкі 8*8. Усе клеткі анімаваных АРК зберагаюцца ў верхняй палове слупка I.

Пранумеруем кусочкі 8x8 у адным слупку графікі, каб потым магчы да іх звяртацца:

0     8     16
 _____ _____ 
|     |     |
|  1  |  2  |
|_____|_____|
|     |     |
|  3  |  4  |
|_____|_____|
|     |     |
|  5  |  6  |
|_____|_____|
|     |     |
|  7  |  8  |
|_____|_____|
|     |     |
|  9  |  10 |
|_____|_____|
|     |     |
|  11 |  12 |
|_____|_____|
|     |     |
|  13 |  14 |
|_____|_____|
|     |     |
|  15 |  16 |
|_____|_____|
|     |     |
|  17 |  18 |
|_____|_____|
|     |     |
|  19 |  20 |
|_____|_____|
|     |     |
| (21)| (22)|
|_____|_____|
|     |     |
| (23)| (24)|
|_____|_____|
|     |     |
| (25)| (26)|
|_____|_____|
|     |     |
| (27)| (28)|
|_____|_____|
|     |     |
| (29)| (30)|
|_____|_____|
|     |     |
| (31)| (32)|
|_____|_____|

Для клетак 0000—0047 выкарыстоўваюцца кусочкі 1—20 ў такім парадку, як пазначана. Для клетак 1000—1047 таксама выкарыстоўваюцца кусочкі 1—20, але замест кусочкаў 1—16 з першага слупочка выкарыстоўваюцца іх адпаведнікі на 48 пікселяў правей (з пераходам да альтэрнатыўнага тыпу, г. зн. да снегу). Для клетак 3000—3047 выкарыстоўваюцца клеткі 1—16, а замест 17—20 выкарыстоўваюцца 29—32; у наступных за імі групах (3050, 3100 і г.д.) іх ідуць пераходы ад звычайнай вады да глыбокай, але я пакуль што не зразумеў прынцыпаў іх размяшчэння.

Карыстаючыся той жа натацыяй, што і для неанімаваных АРК, апішам усе 48 клетак для анімаваных:

/*  №0 */ [17, 18, 19, 20], /*  №1 */ [13, 18, 19, 20], /*  №2 */ [17, 14, 19, 20],
/*  №3 */ [13, 14, 19, 20], /*  №4 */ [17, 18, 19, 16], /*  №5 */ [13, 18, 19, 16],

/*  №6 */ [17, 14, 19, 16], /*  №7 */ [13, 14, 19, 16], /*  №8 */ [17, 18, 15, 20],
/*  №9 */ [13, 18, 15, 20], /* №10 */ [17, 14, 15, 20], /* №11 */ [13, 14, 15, 20],

/* №12 */ [17, 18, 15, 16], /* №13 */ [13, 18, 15, 16], /* №14 */ [17, 14, 15, 16],
/* №15 */ [13, 14, 15, 16], /* №16 */ [ 5, 18,  7, 20], /* №17 */ [ 5, 14,  7, 20],

/* №18 */ [ 5, 18,  7, 16], /* №19 */ [ 5, 14,  7, 16], /* №20 */ [ 9, 10, 19, 20],
/* №21 */ [ 9, 10, 19, 16], /* №22 */ [ 9, 10, 15, 20], /* №23 */ [ 9, 10, 15, 16],

/* №24 */ [17,  6, 19,  8], /* №25 */ [17,  6, 15,  8], /* №26 */ [13,  6, 19,  8],
/* №27 */ [13,  6, 15,  8], /* №28 */ [17, 18, 11, 12], /* №29 */ [13, 18, 11, 12],

/* №30 */ [17, 14, 11, 12], /* №31 */ [13, 14, 11, 12], /* №32 */ [ 5,  6,  7,  8],
/* №33 */ [ 9, 10, 11, 12], /* №34 */ [ 1, 10,  7, 20], /* №35 */ [ 1, 10,  7, 16],

/* №36 */ [ 9,  2, 19,  8], /* №37 */ [ 9,  2, 15,  8], /* №38 */ [17,  6, 11,  4],
/* №39 */ [13,  6, 11,  4], /* №40 */ [ 5, 18,  3, 12], /* №41 */ [ 5, 14,  3, 12],

/* №42 */ [ 1,  2,  7,  8], /* №43 */ [ 1, 10,  3, 12], /* №44 */ [ 5,  6,  3,  4],
/* №45 */ [ 9,  2, 11,  4], /* №46 */ [ 1,  2,  3,  4], /* №47 */ [17, 18, 19, 20]

Неанімаваныя неаўтаматычныя клеткі ніжняга слоя

Неанімаваных неаўтаматычных клетак у ніжнім слоі 144, іх коды — ад 5000 да 5143 (клетка 5143 звычайна пакідаецца цалкам пустой, каб праз яе было бачна панараму). Такія клеткі займаюць увесь слупок 3 (клеткі 5000—5095) і частку слупка 4 (клеткі 5096—5143).

У слупках клеткі ідуць злева направа, зверху ўніз. Вось схема:

 ...  /              Cлупок III              \    /           Слупок IV                \ ... 
____ __________________________________________ __________________________________________ ____
    |      |      |      |      |      |       |      |      |      |      |      |       |
    | 5000 | 5001 | 5002 | 5003 | 5004 | 5005  | 5096 | 5097 | 5098 | 5099 | 5100 | 5101  |
    |______|______|______|______|______|_______|______|______|______|______|______|_______|
    |      |      |      |      |      |       |      |      |      |      |      |       |
    | 5006 | 5007 | 5008 | 5009 | 5010 | 5011  | 5102 | 5103 | 5104 | 5105 | 5106 | 5107  |
    |______|______|______|______|______|_______|______|______|______|______|______|_______|
    |      |      |      |      |      |       |      |      |      |      |      |       |
    | 5012 | 5013 | 5014 | 5015 | 5016 | 5017  | 5108 | 5109 | 5110 | 5111 | 5112 | 5113  |
    |______|______|______|______|______|_______|______|______|______|______|______|_______|
    |      |      |      |      |      |       |      |      |      |      |      |       |
    | 5018 | 5019 | 5020 | 5021 | 5022 | 5023  | 5114 | 5115 | 5116 | 5117 | 5118 | 5119  |
    |______|______|______|______|______|_______|______|______|______|______|______|_______|
    |      |      |      |      |      |       |      |      |      |      |      |       |
    | 5024 | 5025 | 5026 | 5027 | 5028 | 5029  | 5120 | 5121 | 5122 | 5123 | 5124 | 5125  |
    |______|______|______|______|______|_______|______|______|______|______|______|_______|
    |      |      |      |      |      |       |      |      |      |      |      |       |
    | 5030 | 5031 | 5032 | 5033 | 5034 | 5035  | 5126 | 5127 | 5128 | 5129 | 5130 | 5131  |
    |______|______|______|______|______|_______|______|______|______|______|______|_______|
    |      |      |      |      |      |       |      |      |      |      |      |       |
    | 5036 | 5037 | 5038 | 5039 | 5040 | 5041  | 5132 | 5133 | 5134 | 5135 | 5136 | 5137  |
    |______|______|______|______|______|_______|______|______|______|______|______|_______|
    |      |      |      |      |      |       |      |      |      |      |      |       |
    | 5042 | 5043 | 5044 | 5045 | 5046 | 5047  | 5138 | 5139 | 5140 | 5141 | 5142 | 5143  |
    |______|______|______|______|______|_______|______|______|______|______|______|_______|
    |      |      |      |      |      |       |                                          |
    | 5048 | 5049 | 5050 | 5051 | 5052 | 5053  |                                          |
    |______|______|______|______|______|_______|                                          |
    |      |      |      |      |      |       |                                          |
    | 5054 | 5055 | 5056 | 5057 | 5058 | 5059  |                                          |
    |______|______|______|______|______|_______|                                          |
    |      |      |      |      |      |       |                                          |
    | 5060 | 5061 | 5062 | 5063 | 5064 | 5065  |                                          |
    |______|______|______|______|______|_______|                                          |
    |      |      |      |      |      |       |                  Клеткі                  |
    | 5066 | 5067 | 5068 | 5069 | 5070 | 5071  |               верхняга слоя              |
    |______|______|______|______|______|_______|                                          |
    |      |      |      |      |      |       |                                          |
    | 5072 | 5073 | 5074 | 5075 | 5076 | 5077  |                                          |
    |______|______|______|______|______|_______|                                          |
    |      |      |      |      |      |       |                                          |
    | 5078 | 5079 | 5080 | 5081 | 5082 | 5083  |                                          |
    |______|______|______|______|______|_______|                                          |
    |      |      |      |      |      |       |                                          |
    | 5084 | 5085 | 5086 | 5087 | 5088 | 5089  |                                          |
    |______|______|______|______|______|_______|                                          |
    |      |      |      |      |      |       |                                          |
    | 5090 | 5091 | 5092 | 5093 | 5094 | 5095  |                                          |
____|______|______|______|______|______|_______|__________________________________________|____

Фармат верхняга слоя

Верхні слой зберагаецца у тым жа парадку і фармаце, як і ніжні. На верхнім слоі могуць быць толькі звычайныя, не анімаваныя і не размеркаваныя аўтаматычна клеткі, таму ён нашмат прасцейшы за ніжні слой. Даступныя клеткі — ад 10000 да 10143. Яны зберагаюцца ў слупках IV і V графічнага файла. Клеткі з слупка IV маюць коды 10000 — 10047, клеткі з слупка V — коды ад 10048 да 10143 адпаведна. Клетка 10000 звычайна пакідаецца пустой.

Блок падзей

Блок падзей зберагаюцца як масіў асобных падзей.

Ён запісваецца так: спачатку ідзе колькасць падзей як лік зменнай даўжыні. Потым кожная падзея апісваецца наступным чынам:

Нумар падзеі не можа быць роўны 0, таму нулявым байтам яўна пазначаееца канец падзеі.

Кожны блок падзей мае такі ж фармат, як і блокі знешняга ўзроўня: спачатку ідзе нумар блока, потым памер, потым столькі байтаў, колькі ў пазначаным памеры.

Нумары блокаў у розных кантэкстах супадаюць. Напрыклад, пры апісанні падзеі 2 — гэта яе каардынаты па восі X, а пры апісанні карты — шырыня.