Volt egy kis szabadidőm vasárnap délután, pihenésképp elővettem a LEVELS.DAT-ot újra.
Sikerült újabb eredményeket elérni a levels.dat elemzése terén. A pályákat elrendező 96 bájt utáni 255 bájtot elemeztem. Ez a rész sok FF-ről, 00-ról meg 01-ekről ismerhető meg.
A szerkezet fő vonalakban (a pontos bájt-számokat ellenőrizni kéne, itt-ott 1-1 bájt eltérést tapasztaltam):
72 bájt: ismeretlen (jellemző kódok: 18, 19, 10, 11, 0A, FF, stb.)
24 bájt: az őrök helye (j.k.: 1E, 00-1D)
24 bájt: az őrök iránya (00, FF)
24 bájt: többnyire FF, felsőbb szinteken 1-2 érdekes szám [*]
24 bájt: átvezetés? (FF vagy 00, 8-asával)
24 bájt: az őrök játékereje (FF, 00, 00-0A)
24 bájt: többnyire FF, de ahol a [*]-gal jelölt részben nem FF van, ott itt 00
24 bájt: az őrök színe (FF, 01-07)
16 bájt: lezárás (FF vagy 00, 8-asával)
ezután a következő pálya (0F 09) következik...
Szóval a nagy ötlet, hogy minden képernyőn 1 őr lehet, így a 24 bájt a 24 kérenyőt jelenti!
Az őrök helyének definiálásakor 1E jelzi, ha a képernyőn nincs őr, ha pedig van, akkor a helyet kell hexa kódban megadni: a bal felső sarokelem a 00, a jobb alsó az 1D. Az őrök irányának meghatározásakor a 24 bájt össze-vissza tartalmaz hol FF-et, hol 00-t, de ha az előző 24 bájtban őrt definiáltunk arra a képernyőre, akkor itt a 00-val jobbra, az FF-fel pedig balra fordítjuk. Érdekesség, hogy amikor jobbra néz az őr, úgy látszik, mintha eggyel jobbrább állna, mint ahova definiálták, persze a kardjának a vége már a "jó" helyen van.
A [*]-gal jelölt rész talán speciális képernyőváltozásokat (csontváz feléledése?) definiál, csak néhány pályánál alakul érdekesen.
Az őrök játékerejét is képernyőre vonatkozóan adják meg. Ugyanakkor egy kivétellel az életek számát nem itt definiálják. Az őrtípusokkal nem sokat kísérleteztem, talán rutinosabb játékosok jobban le tudnák írni a stílusokat, én ennyit tudnék mondani:
00: level1 szintű
01, 02, 03: level 2 szintű
04: ez nagyon érdekes, 4 élete van!
05: talán ez lehet a kövér őr stílusa
06: de ez is hasonló a kövér stílusához, viszont ilyen a level2 utolsó őre is
07: "kiváró" stílus
08: "nem csatázó típus" - ez vicces, mert csak akkor használja a kardját, ha te elteszed a kardod, egyébként a világért nem bántana
09: nagy csatázó
0A: még nagyobb csatázó?
0B: ez is elég csatázó (?)
0C, 0D, 0E, 0F: ezek elég gyengék
Érdemes lenne megnézni, melyik a kövér, melyik Jaffar stílusa, meg egyéb érdekességeket.
Az őrök színe 01-07-ig változik, ezzel igazából nem kísérleteztem. Az FF színnel érdekes "árnyéklovagot" hozhatunk létre, sajnos azonban kiszíneződik, ha másik (színes) őrrel találkozunk útközben.
Lényeges, hogy az őrre vonatkozó fenti 4 tényező megadásával új őröket is betehetünk a pályára! Az életek száma azonban továbbra is kérdés. Nem tudom, hogy a csontváz és a tükörkép is "őrnek számít-e".
Na, gyerünk tovább!