ezt mind forrás nélkül, visszafordítva, debuggolva? hogy csináltátok? én az enterprise-os last ninja működésére voltam kiváncsi de 1-2 napos debuggolással sem lettem okosabb. az érdekelt volna hogyan rajzolja ki a dolgokat. amit érdekesnek találtam, hogy minden mozgásnál, vagy még sűrűbben újragenerálja közel a teljes képet, de bizonyos dolgokat nem, pl. egy bokor. nem értettem meg miért generál majdnem mindent újra amit meg nem azt miért nem. de mivel ezt úgy kisérleteztem ki, hogy a másolandó területeket kifilleztem és néztem mi történik, az is lehet, hogy azt képrészletet valami nagyon más helyről vette. igazából azt szerettem volna megtalálni, hogyan van leprogramozva annak az érzékelése, hogy valami "ellenséges sprittal" találkoztunk össze, de nem sikerült. ez azért lett volna jó mert nem örökéletet akartam, hanem örök energiát, viszont az energia csökkentő kód minden egyes szobában máshol van, szerintem azért mert valójában minden szoba egy külön kis program. persze ezek csak tippek. olyan jó lenne nagy gyártók által kiadott programoknak a forráskódja. nagyon kiváncsi lennék hogyan csinálták a hőskorban.
kb 20 év távlatából emlékezem...
Debuggernek ott volt a MON, amivel bárhol megállítható a progi egy RST beírásával, még IM2 -ben is, ha a RST kiszolgáló visszaállítja IM1-be. Így kotorászható az egész. A képernyő címekre hivatkozó programrészek hasonlóan az attributum kezelőkhöz kikereshetők. Ezeket szorgosan leírva meg is érthetők (ha akrjuk), hogy mit is csinálnak.
Én az átírás első fázisában csak a grafikai rutinokat írtam át sima soros lores kétszínű bitmapra, az eredeti grafikus adatok békén hagyásával. Ez volt a grafikus rutinok és grafikus adatok feltérlépezése. Ezután már neki lehetett állni a négyszínű bitmapnak. A grafikus adatok kiemelendők,először kétszerezendők, a rutinok kétszeres adatmozgatásra bírandók. Ha minden jó, akkor a jöhet a grafika színezése.
A képadatok mindkét programnál soros módon voltak tárolva. A HoH esetén az eseményeket mutatókkal írja le a program, szó sincs grafikus "sprájt" ütközés figyelésről. A grafika igen helytakarékosan van tárolva, pl. munkaterületen állítja elő az egyes szobákban előfoduló álló és mozgó elemek tükörképeit és maszkjait rotálásokkal. Az egymást takaró elemeket ügyes rutinnokkal rakja össze egy komplett szobává. Ezért van egy kis szünet szoba váltásnál, mert ez időbe kerül. A játék során is csak a koordináták változnak, és ez alapján rajzolja újra a kép megváltozó részeit. Nekem olyan benyomásom volt, mintha zseplámpa csóvával pásztázna a képen. Csodálattal kellene adózni ezekért a megoldásokért a program eredeti kódolójának.
A Renta Kill Rita más módszert használ a szoba összeállításnál, a mozgások megvalósításánál, de erre kevésbbé emlékszem, mert nem ragadott meg annyira, mint a HoH. Látszik is, hogy ahogy fogy a szobában a mozgó dolog, illetve ahogy Rita helyzete a szobában változik, úgy változik Rita mozgási sebessége is. A HoH -nál ez szinte észrevehetetlen.
Hja! Mindenki másképp csinálja... A Last Ninja alkotója is biztosan.