Gönderen Konu: Lale Savaşçıları'nı yeniden yazalım  (Okunma sayısı 594 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimiçi Ref

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 2966
  • Advanced User Simulator
    • ae unutmadan
Ynt: Lale Savaşçıları'nı yeniden yazalım
« Yanıtla #15 : 03 Nisan 2025, 20:46:59 »
Eline sağlık, level data benim verdiğim text dosyası olarak gidiyor galiba. Eğer txt olarak kullanmaya devam edeceksen benim level data programına bir export özelliği koyayım, diğer levelları da text olarak çıkartalım.

Alıntı
Oyunun remake'inde ihtiyaçların başında senaryoların decode edilmesi geliyor.
ben o senaryoları haritadaki son 4-5 pixelde saklanan datalarla örtüştürmeye çalışıyordum ama başka işlerimin deadlinelar yaklaşınca onu rafa kaldırdım. ama tekrar dönebilirim.
Tabii bir başkası yaparsa daha iyi olur :D

Bu arada sistem belli, level data'da her satırın sonundaki 4-5 pixeldeki rakamı senaryodaki girdi indeksine göre alıyor, onu kontrol ettim, fakat senaryodaki array/tablo her ne ise ilk bakışta belirli bir pattern izlemiyor, datayı extract etmek için biraz kafa yormak gerekecek.

Belki leveldata-storyevent arasındaki bağlantıyı daha kolay çözerim diye exe'yi incelemek istedim. Exe'yi hunklarına ayırıp exe içine gömülen abk dosyalarını extract eden bir program yazdım, bankları amosa yükleyip test ettim, müziği ve intro grafiklerini exeye gömmüşler, bize faydası yok. Ayrıca duvar/yer grafikleri hala kayıp. Birkaç bank simsiyah olarak açılıyor, belki palet datası yoktur, orada da biraz araştırma geliştirme gerekiyor. Fakat iki bank data bank, tahminim burada copyprotection dataları tutuluyor, yine bize lazım olan birşey değil. Sonuncu hunk compiled oyun kodu. Bunu da 68k asm bilen biri tarafından trace edilmesi güzel olur. Bir ara ghidra'ya besleyip loop'ları falan analiz etmeyi düşünüyorum ama dediğim gibi benim girişmem yazı bulabilir.


Çevrimdışı Skate

  • RAAT
  • Retro Meraklısı
  • *
  • İleti: 186
Ynt: Lale Savaşçıları'nı yeniden yazalım
« Yanıtla #16 : 03 Nisan 2025, 23:48:26 »
Bu arada ben de bu paylaşımı gördüm ama biraz yoğun olduğum için henüz repoyu inceleyemedim. Henüz detaylı inceleyememiş olsam da şu ana kadarki çalışman için tebrik ederim, eline sağlık. Manual da çok güzel olmuş, el altında dijital formatta bulunması çok iyi.

Ben arada Gökhan San'a ulaşmaya çalıştım ama kontağını henüz bulamadım. Gökhan zamanında PC versiyonunda 3d gezinme efektini, yani 90 derece smooth dönüş efektini yazan kişidir. O yüzden bu içinde gezinilebilen haritayı görmek eminim çok hoşuna gider. Gökhan ile hala kontağı olan varsa, foruma ve bu başlığa davet ederse sevinirim.

Projeyle ilgili gelişmeleri takip ediyorum.

Çevrimdışı dashersw

  • Retromanik
  • *****
  • İleti: 13
Ynt: Lale Savaşçıları'nı yeniden yazalım
« Yanıtla #17 : Dün, 02:47:58 »
@Ref senin gönderdiğin txt'i biraz temizleyip sadece sayı olan şu formata getirdim, öyle kullanıyorum:

0 0 0 0 10 10 0 0 2 3 9 3 2 13 13 13 13 13 13 13 13 1 1 1 1 0 5 0 0 0 0 0 0
0 0 0 0 2 1 0 0 3 2 2 1 2 4 0 0 0 0 0
0 0 0 0 2 1 0 0 0 0 0 0 2 4 0 0 0 0 0
0 0 0 0 2 1 2 1 3 2 0 0 2 4 0 1 1 1 1
0 0 0 0 2 1 0 0 0 0 2 1 2 4 0 0 0 0 0
0 0 0 0 2 1 4 1 0 0 0 0 2 4 0 0 0 0 0
0 0 0 0 2 1 0 0 0 0 4 2 2 3 0 0 0 0 0
0 0 0 0 2 1 2 1 0 0 0 0 2 3 0 0 0 0 0

...

evet, senaryo dosyalarında da biraz metadata var. Bir şekilde oyun state'inde belli field'ların olup olmadığını da kontrol ediyor—örneğin ilk ekranda köpekle savaşmadan önce "dışarıdan hırıltılar geliyor" yazıyor, sonrasında yazmıyor. Köpeği öldürdükten sonra "burada ölü bir köpek yatıyor" yazıyor. Burada biraz reverse engineering gerekiyor, evet :)

Ambk olan dosyalarin hepsini export ettim, savaş sesleri ve resimler var. Bir de yine bitmap seklinde bir seyler var ama ne oldugunu cozemedim. Siyah çıkan resimleri de başka bir formatta export edebildim, siyah beyaz/mask gibi resimler var. Örneğin battle/tab şu ekran:


battle/vec şu ekran:


Bunun dışında ikonlarda da karakter / yaratık ikonları var yine böyle siyah beyaz şekilde export edebildiğim. Bunların belki palet datası dediğin gibi binary'nin içinde olabilir...

Binary'ye gelince, olduğu haliyle ghidra'ya yükledim ama bir şey çıkmıyor tabii. O yüzden ben de memory dump aldım oyun esnasında. Onu yükleyince bir sürü şey çıkıyor :) Karakterlerin / ırkların isimleri, aktif senaryo filan hep içerisinde mevcut.

Onu da şöyle ekleyeyim: 

Eğer sen kodun hunk'ını paylaşabilirsen onu analiz etmeye çalışırım.

@Skate Gökhan San'ın izini ararken bak neye denk geldim :))) https://eksisozluk.com/entry/9409508 neredeyse 20 sene önce yazmışım...

Çevrimiçi Ref

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 2966
  • Advanced User Simulator
    • ae unutmadan
Ynt: Lale Savaşçıları'nı yeniden yazalım
« Yanıtla #18 : Dün, 05:11:47 »
Lale hunk'larını ekliyorum, bir tane 250k'lık hunk var, compile edilmiş ana program o. son hunklar ses müzik falan. 10kb civarında olanlar genelde grafik oluyor. Ama küçükler de var. neyse bir göz atın bakalım ne çıkacak.

Lale map dosyalarını *umarım* senin formatta olacak şekilde çıktı aldım. 18 adet, onlar da ekte. Dediğim gibi senaryo eşleşmesine başlamıştım ama onun daha yolu var.

Hunk viewer'i de ekliyorum ama listeleme işlemleri biraz bug'lı. ama extract ettiği parçalar sorunsuz. düzgün extract alınca üzerinde çalışmayı bıraktım. Belki birine ya da gelecekteki bana lazım olur. Kodları da paylaşabilirim lazım olursa, üşendiğim için uğraşmadım.
 



siyahbeyaz resimler aslında siyah beyaz değiller, onlar palet indeksleri. Oralara doğru renkleri koyunca görünür hale geliyorlardır. tabii indeks numarasına göre renklendirince siyahbeyaz görünüyor. O paletleri dosyalar içinde orda burda gördüm. Amosta bir paleti alıp başka yere kopyalıyorsunuz, yani paletler ve imajlar ayrı kaydedilebiliyor, yani neden öyle yapmışlar bilemiyorum, kazanacakları yer miktarı 32 byte işte. edit: şöyle bir ihtimal geldi aklıma, bunlar o pencereleri siyahtan fade in yapıyorlarsa ve picture hide/show olayını bilmiyorlarsa tüm paleti sıfırlayıp kaydetmişlerdir ki başta siyah olarak yüklensin, sonra onlar açsınlar palet renklerini diye. Aslında gerek yok buna ama bir sebepten öyle aternatif bir çözüm bulmuş olabilirler.

Çevrimiçi Ref

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 2966
  • Advanced User Simulator
    • ae unutmadan
Ynt: Lale Savaşçıları'nı yeniden yazalım
« Yanıtla #19 : Dün, 16:49:02 »
@Skate Gökhan San'ın izini ararken bak neye denk geldim :))) https://eksisozluk.com/entry/9409508 neredeyse 20 sene önce yazmışım...

"orjinal kutusuna, parşömen haritalarına sahip olduğum için de kendimi şanslı addediyorum." demişsin ve yakalanmışsın:

@dashersw belki biliyorsundur, ben dijital miras çalışmaları yapıyorum uzun yıllardır (20-25 sene oldu, bir yere vardığımı söyleyemem TYVT). Malesef türk oyunları konusunda 100% sınıfta kalmış durumdayız, durumun vehametini göstermek adına listeleyeyim:

keloğlan: sadece oyunun c64 prg dosyası var, kasedi, kitabı, kabı vs yok. orjinal spectrum versionu toptan kayıp.
umut tarlaları: berbat bir kılavuz ocr'ı ve cracked adf imajları dışında hiçbir şey yok. kutusu, disket resimleri, orjinal kılavuz fotoları vb. hiçbirşey yok
lale savaşçıları: berbat ötesi bir scan, cracked adf imajları ve cd imajı dışında hiçbirşey yok.
para ve güç: çalışır durumda bir imaj yok, kutu ve disket fotografı var.
hançer: 3 disketin sadece 2'sinin adf imajı var. kılavuzun 90'larda taranmış rezil bir scan'i var. kutu imajları, disket fotoları vb. kayıp.
okey: sadece disk imajı var.
5-10 oyun daha var, hepsi böyle.

Bu mesajı okuyan tüm koleksiyoncu arkadaşlara tekrar hatırlatıyorum. Elinde bu disketler ve kutuları olanların bunları adam gibi dökümante etmek, en azından dijital ortamda korumak ve yaşatmak için birer kopyasını oluşturmak gibi vatandaşlık görevleri var. En azından Lale Savaşçıları gibi birkaç kanaldan pazarlanmış bir oyunun kaybolup tamamen yitirilmesini engellemek gerekiyor.

Yıllardır türk retro forumlarında geziyorum, bu oyunlara sahip olduğunu söyleyen kişilere denk geldim, ama türlü sebepten bu işleri yapmaktan geri durdular hep. Fakat kritik aşamaya geldik, disketler bozuldu, küflendi, çatladı, renkleri attı. şu anda herkes her ne yapıyorsa bırakıp bu oyunların arşivlenmesini sağlaması gerekiyor. Bunları paylaştığınızda elinizdeki materyaller değer kaybetmeyecek, aksine değerlenecek. Çünkü haberi olup arayan insan sayısı artacak.

Neyse sonuç olarak, vakit bulduğunda elindeki tüm materyalleri fotograflayıp internetlere yayarsan (benden başka umursayan yok galiba) kişisel olarak sevinirim. Gelecek nesiller de sevinir eminim.

Çevrimdışı ZeroSkillProdigy

  • Ön Kayıt
  • *****
  • İleti: 1
Ynt: Lale Savaşçıları'nı yeniden yazalım
« Yanıtla #20 : Dün, 20:31:11 »
Vallahi bu iki dosyayı da bu thread'i görmeden önce geçtiğimiz aylarda bir takım GenAI araçlarıyla oynarken yaptım. Yapıldıkları tool'larda, köşede duruyordu, eğer bir gün bir yerde paylaşılacaklarsa muhtemelen buradan daha iyi bir yer denk gelmez.

Çevrimdışı unay

  • Retro Meraklısı
  • ***
  • İleti: 182
  • CPC6128 / CPC464 / GTM640
Ynt: Lale Savaşçıları'nı yeniden yazalım
« Yanıtla #21 : Dün, 22:26:47 »
Vallahi bu iki dosyayı da bu thread'i görmeden önce geçtiğimiz aylarda bir takım GenAI araçlarıyla oynarken yaptım. Yapıldıkları tool'larda, köşede duruyordu, eğer bir gün bir yerde paylaşılacaklarsa muhtemelen buradan daha iyi bir yer denk gelmez.

Grafik fenaymış, elinize sağlık.
Amstrad CPC az anlar, çok sever.