birkaç yıldır ortalarda görünmüyordu
@Alpyre meğer bununla uğraşıyormuş. Eski bir samcoupe'cu olduğu için onu da spectrumcu kabul ediyorum, birçok spectrumcu gibi o da kodlama ile barışık biri.
Amiga kodlaması yapıyordu ama görünüşe göre iyice ilerletmiş, bir oyun motoru ile çıkagelmiş. Çok gevşek bir lisans olan MIT lisansı ile yayınlamış.
Popüler tile editörü Tiled çıktılarını kullanabiliyormuş ama hangi özelliklere kadar destekliyor bilmiyorum.
guide dosyasında font, sprite, bob ve image editörlerinden bahsediliyor, henüz denemedim ama burada bir sıkıntı olacağını sanmıyorum.
Yani anladığım kadarıyla amos gibi kendi sprite bank'ı vs olan, C tabanlı olduğu için kolayca cross-develop yapabileceğiniz bir sdk geliştirmiş. Umarım aramızdan basit de olsa bir oyun yapan çıkar.
(https://camo.githubusercontent.com/020d532491aefa78ff0fcf634d75d0533feaae106fd2af10b4bbe7c932013f1c/68747470733a2f2f7331342e67696679752e636f6d2f696d616765732f627343656a2e676966)
Aminetten indirdiğim önceden compile edilmiş binary'ler benim sistemimde çalışmadı :D version 0 cybergraphics.library istiyor, benim sistemde cybergrapX kütüphaneleri kurulu fakat bir RTG kartım yok.
@Alpyre buna bir açıklık getirir mi acaba.
https://aminet.net/package/dev/c/Sevgi_Engine
https://github.com/alpyre/Sevgi_Engine
ChatGpt çevirisi:
Sevgi Engine, klasik Amiga bilgisayarlar için geliştirilmiş yeni bir açık kaynak video oyun motorudur. Sadece C programlama dili kullanarak yüksek performanslı Amiga oyunları oluşturmak için gerekli araçları sağlar ve temel (boilerplate) kodları üretir. Georg Steger tarafından geliştirilen mükemmel ScrollingTricks temeli üzerine inşa edilmiştir.
Özellikler
Performans
Tüm görüntüleme algoritmaları, tek tamponlu (single buffered) yerel Amiga yonga seti ekranında kilitli 50 fps hızında çalışacak şekilde tasarlanmıştır. ScrollingTricks'te yer alan Scroller_XYUnlimited2_64 algoritmasının optimize edilmiş bir sürümünü uygular. Fast RAM mevcut olduğunda büyük performans artışı sağlar.
Sistem Dostu
Tüm ROM sürümlerinde (2.0 ve üzeri) çalışmayı hedefler ve WHDLoad gerektirmeden temiz bir şekilde işletim sistemine geri dönmeyi sağlar.
AGA Desteği
AGA yonga setinin sunduğu tüm özellikleri destekler.
Kısıtlama Yok
Popüler Amiga video oyunlarında bilinen tüm görsel "trick"leri destekleyecek şekilde tasarlanmıştır ve daha deneysel efektlerin uygulanmasını da engellemez.
Kolay Geliştirme
Kod üretmek, oyun varlıklarını yönetmek, renk paletlerini düzenlemek vb. işlemler için Sevgi Editor adlı yerel bir editör programı sunulur. Oyun mantığı, animasyon ve olaylar gibi diğer bileşenler için C programlama bilgisi gerekir. Programlama ve derleme işlemleri Amiga OS üzerinde yerel olarak yapılabileceği gibi, Windows veya Linux bilgisayarlarda çapraz geliştirme araçları kullanılarak da yapılabilir. Sevgi Editor, Tiled ile oluşturulmuş haritaları içe aktarabilir.
Şablonlar
Hızlı başlangıç için derlenip çalıştırılmaya hazır oyun kodları üreten tür şablonları içerir. Bu şablonlar test varlıklarıyla birlikte gelir.
ptplayer
Müzik ve ses efektleri için Frank Wille tarafından geliştirilen harika ptplayer'ı uygular.
Üçüncü Taraf Bağımlılık Yok
Oyun çalıştırılabilir dosyası herhangi bir harici kütüphaneye ihtiyaç duymaz.
Dokümantasyon
Oyun motorunun kaynak kodu çok iyi yorumlanmış (commented) ve Amigaguide formatında detaylı şekilde belgelenmiştir.
Bak bu çok iyi oldu. Ben de buraya paylaşım hazırlayacaktım bugün. Teşekkürler
@Ref :)
Alıntı yapılan: Ref - 27 Mayıs 2025, 14:52:29
Aminetten indirdiğim önceden compile edilmiş binary'ler benim sistemimde çalışmadı :D version 0 cybergraphics.library istiyor, benim sistemde cybergrapX kütüphaneleri kurulu fakat bir RTG kartım yok. @Alpyre buna bir açıklık getirir mi acaba.
Editör'ün native ekranlara render ederken daha sade çizim yapmasını kodlamıştım ancak startup kodu cybergraphics.library'i her halükarda açmak isteyecektir. Sen bir CLI'den version cybergraphics.library yazsana bir hele? Gerçekten mevcut olmayabilir.
Alıntı yapılan: Ref - 27 Mayıs 2025, 14:52:29
Umarım aramızdan basit de olsa bir oyun yapan çıkar.
Çıkarsa bu başlık altında yardımlaşırız, tabi uygunsa.
yıllar sonra sahalara bu şekilde girişin de efsane oldu alpyre :D tekrar hoşgeldin.
Alıntı yapılan: Alpyre - 27 Mayıs 2025, 18:32:38
Editör'ün native ekranlara render ederken daha sade çizim yapmasını kodlamıştım ancak startup kodu cybergraphics.library'i her halükarda açmak isteyecektir. Sen bir CLI'den version cybergraphics.library yazsana bir hele? Gerçekten mevcut olmayabilir.
valla belgelerle geldim (ekte), şimdi bu çok eski bir harddisk, bu sürücü 10-20 senelik falan olabilir. fakat uae üzerinde bir mirror'u var bu diskin, şimdi ondaki kütüphaneyi aminetten yenisini çekerek güncelledim aynı hatayı veriyor. Belki benim sisteme özgü bir bozukluk olabilir. Üzerine temiz bir workbench kurdum (uae) mui falan kurduktan sonra yine cybergraphics.library hatası verdi. Son olarak yine uae üzerinde bir os3.5 + rtg (uae graphics) kurulumum vardı onda denedim çalıştı, fakat bu sefer proje açmak istediğimde "create" diyorum, hiçbirşey olmuyor, tekrar create butonuna basınca "proje zaten yaratıldı" diyor, sonra klasöre bakıyorum gerçekten yeni bir klasör oluşmuş, open project diyip o klasöre gidiyorum, aç diyince "bu klasörde proje yok" hatası veriyor :D sözü geçen klasörde anims.c anims.h dosyalarından başka dosya yok.
Sen en iyisi bize bir çalışan uae harddisk imajı hazırla, ya da imaj hazırlama rehberi hazırla, ordan bakalım
Alıntı yapılan: Ref - 27 Mayıs 2025, 20:30:16
Sen en iyisi bize bir çalışan uae harddisk imajı hazırla, ya da imaj hazırlama rehberi hazırla, ordan bakalım.
Çalışan imaj hazırlama kolay. Ben asıl o sistemde neden çalışmadığını meraktayım şu an. İçinde şahsi veri yoksa o imajı gönderebilir misin? Doğrudan üzerinde testler yapayım. Programımın her sistemde hatasız çalışabilmesini isterim. :)
Eline sağlık
@Alpyre.
Github'daki hem FRP, hem platform screenshot örneği, ikisinden birinin parallax içermesi gibi şeyler projeyi incelemeden "engine" lafını hak ettiğini gösteriyor.
Tiled benim de scripting sistemiyle birlikte kullandığım bir editör. Geçmişte bir kaç özellik eklettirmiştim. Hala da Discord development grubunu takip ediyorum. Böyle bir engine için bence de en doğru seçim olmuş. Sıfırdan tiledın özelliklerini kodlamak Amerika'yı baştan keşfetmek gibi oluyor.
Bunları henüz test edemeden ilk izlenim olarak yazıyorum. Umarım kısa sürede vakit bulup test edeceğim.
Alıntı yapılan: Alpyre - 27 Mayıs 2025, 21:02:57
Alıntı yapılan: Ref - 27 Mayıs 2025, 20:30:16
Sen en iyisi bize bir çalışan uae harddisk imajı hazırla, ya da imaj hazırlama rehberi hazırla, ordan bakalım.
Çalışan imaj hazırlama kolay. Ben asıl o sistemde neden çalışmadığını meraktayım şu an. İçinde şahsi veri yoksa o imajı gönderebilir misin? Doğrudan üzerinde testler yapayım. Programımın her sistemde hatasız çalışabilmesini isterim. :)
imaj 2GB ve içi 40 senelik amiga kodları, anılar irc logları ile dolu olduğundan göndermek istemiyorum :D ama neden çalışmadığını bulursam söylerim :D
şimdi birkaç sorum var, tabi ben yıllardır bu konu ile ilgilenmiyordum, retroskopta biraz konuşmuştuk ama bu kadar derine inmemiştik.
öncelikle cybergraphics sürücüleri hiçbir zaman ücretsiz hale getirilmemiş. Fakat satın alınabilecek biryer de bulamadım. Görünüşe göre herkes el altından install cd'sini birbirine kopyalıyor.
picasso96 (p96) de halen satılıyor, ama neyse ki o güncellenmeye devam ediyor, hatta bu sene başında yeni bir update çıkmış, yılda da en az 3 kere update görüyor bu güzel, konumuzla alakası yok ama legal cgx4 ararken bunu da öğrenmiş oldum.
elbette mui de hala sasg lisansı istiyor, onu da satın alacak yer yok. Keyfile elden ele geziyor.
Yani bu durumda legal olarak çalışan bir imaj paylaşmak da mümkün değil gibi. Bakımı yapılmayan ve satışı da olmayan sürücülerin dağıtılmasına bir itirazım yok ama ciddi bir kısıtlama gibi göründü bana.
cybergraphics.library'i ne için kullanıyordun sen
@Alpyre ?
not: intuition.library'nin de cybergraphics.library ile uyumlu versionda olması gerektiğini hatırladım, sendeki versionları söyler misin kontrol edeyim?
edit: ekte snoopdos log'u var. bilmem faydası olur mu? ENVironment variable'ları set edilmemiş gibi duruyor. Sanırım bir install sorunu var.
os35 snoopdos log'unda editör çalışıyor, önce default "proje" klasörüne yazmak istiyorum (ama öyle bir klasör yok tabi) o yüzden fail oluyor (ama program hiçbir hata vermiyor)
sonra ramdisk'e deneme yapıyorum, yine hiçbir hata-başarı mesajı yok.
sonra yeni proje penceresini kapatıp, menüden open seçiyorum, ram'deki klasörü seçiyorum. diski kontrol bile etmeden o klasörde proje yok gibi bir hata veriyor. (alttaki asl libraryler requester açıyor, (images/window olan girdiler bebim pencerelerin arka planındaki background imajları sanırım, her pencere açtığımda o girdiler çıkıyor.)
Alıntı yapılan: Ref - 27 Mayıs 2025, 23:30:30
cybergraphics.library'i ne için kullanıyordun sen @Alpyre ?
Lisanslı Picasso 96 kullanıyorum.
Alıntı yapılan: Ref - 27 Mayıs 2025, 23:30:30
elbette mui de hala sasg lisansı istiyor, onu da satın alacak yer yok. Keyfile elden ele geziyor.
Garip gelecek ancak MUI hala www.sasg.com (http://www.sasg.com) üzerinden satın alınabiliyor (PayPal lazım ama).
Alıntı yapılan: Ref - 27 Mayıs 2025, 20:30:16
fakat bu sefer proje açmak istediğimde "create" diyorum, hiçbirşey olmuyor,
Şimdi kaynak kodlarıma tekrar baktım da, burada verdiğin ipuçlarına dayanarak sorunun ne olduğu aşağı yukarı kafamda oluştu gibi. Nedense bazı sistemlerde (sanırım dosya sistemi ile alakalı) aynı dosya (veya dizini) mükerrer kilitlemek istediğinde Lock() başarısız dönüyor. Şimdi yeni proje oluştururken program dizin kopyalıyor ve alt dizinler ile karşılaştığında da rekürsiyon yapıyor. Haliyle üzerinde kilit bulunan dizin için yeni bir kilit isteniyor. Bunun başarısız olması koşulunu kodlamamışım :o. Yani tahminimce iki dosya kopyalıyor (anims.c ve anims.h), bir dizinle karşılaşıyor (muhtemelen assets dizini), Lock() başarısız dönüyor, bir hata koşulu yazılmadığı için hiçbir şey yapmadan o pencerede kalıyor. Tahminim bu tabi. İşin kötüsü bu hatadan nasıl kaçınılır aklıma bir fikir de gelmiyor.
Nasıl yapsam acaba? Biraz amatörce ama doğrudan C:'deki copy komutuyla mı kopyalatsam?
Şu ekteki deneysel Sevgi_Editor ile bir dener misin? Çalışırsa bu şekilde değiştireyim komple.
Alıntı yapılan: Alpyre - 28 Mayıs 2025, 00:21:39
Alıntı yapılan: Ref - 27 Mayıs 2025, 20:30:16
fakat bu sefer proje açmak istediğimde "create" diyorum, hiçbirşey olmuyor,
Şimdi kaynak kodlarıma tekrar baktım da, burada verdiğin ipuçlarına dayanarak sorunun ne olduğu aşağı yukarı kafamda oluştu gibi. Nedense bazı sistemlerde (sanırım dosya sistemi ile alakalı) aynı dosya (veya dizini) mükerrer kilitlemek istediğinde Lock() başarısız dönüyor. Şimdi yeni proje oluştururken program dizin kopyalıyor ve alt dizinler ile karşılaştığında da rekürsiyon yapıyor. Haliyle üzerinde kilit bulunan dizin için yeni bir kilit isteniyor. Bunun başarısız olması koşulunu kodlamamışım :o. Yani tahminimce iki dosya kopyalıyor (anims.c ve anims.h), bir dizinle karşılaşıyor (muhtemelen assets dizini), Lock() başarısız dönüyor, bir hata koşulu yazılmadığı için hiçbir şey yapmadan o pencerede kalıyor. Tahminim bu tabi. İşin kötüsü bu hatadan nasıl kaçınılır aklıma bir fikir de gelmiyor.
Nasıl yapsam acaba? Biraz amatörce ama doğrudan C:'deki copy komutuyla mı kopyalatsam?
Şu ekteki deneysel Sevgi_Editor ile bir dener misin? Çalışırsa bu şekilde değiştireyim komple.
Evet bu şekilde çalıştı sorun yok.
Sıradan kullanıcının ilk deneyimi çok önemli olduğu için (ömründen harcayacağı zamana değer mi diye tartar) hemen ilk karşılaştığım ui tuhaflıklarını yazayım:
Settings penceresinde cancel/Appy ya da en azından close butonu yok, halbuki yeri var, belki hidden kaldı?
game assets de aynı ama hadi o biraz sıkı bir pencere, bir de her pane'in kendi butonu var... tercihen bütün pencerelerin kapatma butonu olması iyi olurdu. Butonsuz pencerelerin dock edilmesi beklenir.
Text editör olduğunu tahmin ettiğim mürekkep-tüy ikonu ilk kullanımda çalışmıyor, yeni verdiğin dosyada "cubic ide" aranıyor (ve shell penceresinde fail oluyor) eskisinde (yeniyle proje açıp eskiyle yüklüyorum--) "cd failed return code 20" oluyor. Bunun sebebini settings'de aradım, sonra baktım pulldown menülerde ide settings varmış. Eski versionda bu boş geliyormuş, yeni versionda orada cubic ide yazılı. Bu benden kaynaklı olabilir mi diye düşündüm çünkü OS3.5 üzerinde deniyorum. Belki default editör boş ise bir uyarı gösterip otomatik olarak ide settings göstermek iyi olabilir.
templates klasöründe iki tane örnek dosya görüyorum platformer ve topdown şeklinde. Bunları açmayı denedim, şu anında dank etti, bir compiler olmadan bu pek işe yaramıyor.
Bu sebepten senin projen de açık kaynak olduğundan, en azından gcc'yi binary pakete eklemen iyi olabilir gibi geldi. Ayrıca bir compile butonu da iyi olurdu. böylece editörden çıkmadan oyunu deneme şansı olabilirdi. Ayrıca bunların adı templates yerine examples olsa daha iyi olurdu gibi, template olunca içi boş dosya bekliyorum. halbuki bunlarda sprite'tan arkaplana kadar herşey var(--bunları proje içinde göremedim belki klasörlerde unutuldu bilemiyorum, belki gerçekten templatedirler)
Yani kolay başlangıç ve müşteri toplamak için bence şu akış önemli: projeyi aç/yeni proje -> (editör seni bir şekilde examples çekmecesine yönlendirir-examples olduğu mutlaka görülür) -> compile butonuna bas -> oyun çalışır -> ekranda "esc to quit" yazısı görünür, esc'e bas oyun kapanır -> "hmm demek bu çalışıyor, bakayım nasıl yapmışlar?!"
Tabi söylemesi kolay :) bende sas/c kurulu ama şimdi evden çıkmak zorundayım, akşam tekrar göz atacağım.
Alıntı yapılan: Ref - 28 Mayıs 2025, 08:55:11
Alıntı yapılan: Alpyre - 28 Mayıs 2025, 00:21:39
Alıntı yapılan: Ref - 27 Mayıs 2025, 20:30:16
fakat bu sefer proje açmak istediğimde "create" diyorum, hiçbirşey olmuyor,
Şimdi kaynak kodlarıma tekrar baktım da, burada verdiğin ipuçlarına dayanarak sorunun ne olduğu aşağı yukarı kafamda oluştu gibi. Nedense bazı sistemlerde (sanırım dosya sistemi ile alakalı) aynı dosya (veya dizini) mükerrer kilitlemek istediğinde Lock() başarısız dönüyor. Şimdi yeni proje oluştururken program dizin kopyalıyor ve alt dizinler ile karşılaştığında da rekürsiyon yapıyor. Haliyle üzerinde kilit bulunan dizin için yeni bir kilit isteniyor. Bunun başarısız olması koşulunu kodlamamışım :o. Yani tahminimce iki dosya kopyalıyor (anims.c ve anims.h), bir dizinle karşılaşıyor (muhtemelen assets dizini), Lock() başarısız dönüyor, bir hata koşulu yazılmadığı için hiçbir şey yapmadan o pencerede kalıyor. Tahminim bu tabi. İşin kötüsü bu hatadan nasıl kaçınılır aklıma bir fikir de gelmiyor.
Nasıl yapsam acaba? Biraz amatörce ama doğrudan C:'deki copy komutuyla mı kopyalatsam?
Şu ekteki deneysel Sevgi_Editor ile bir dener misin? Çalışırsa bu şekilde değiştireyim komple.
Evet bu şekilde çalıştı sorun yok.
Tabi ya. Ben de niye kendi kopyalama rutinimi yazdıysam? Kimi dos.library özellikleri derleyicideki SDK sürümüne göre derleniyor sanırım. Tabi program farklı bir ROM sürümü üzerinde çalıştırılınca böyle beklenmedik şeyler olabilir. Ben Editör ve araçların tamamında tüm kopyalama işlemlerini mevcut sistemin copy komutuna yaptırayım en iyisi.
Alıntı yapılan: Ref - 28 Mayıs 2025, 08:55:11
Settings penceresinde cancel/Appy ya da en azından close butonu yok, halbuki yeri var, belki hidden kaldı?
game assets de aynı ama hadi o biraz sıkı bir pencere, bir de her pane'in kendi butonu var... tercihen bütün pencerelerin kapatma butonu olması iyi olurdu. Butonsuz pencerelerin dock edilmesi beklenir.
Editör arayüzünden ben de çok memnun değilim. Yığma inşaat gibi oldu biraz. Game Settings penceresinde Apply/Cancel'lik bir durum yok aslında, çünkü yapılan seçimler oyunun özelliklerini doğrudan belirliyor. Apply/Cancel mekaniğini için, pencere açıldığındaki ayar durumunu saklayıp, cancel'a basıldığında eski haline geri getirip pencereyi öyle kapatmam gerekecektir. Ayrıca pencerenin de modal olması gerekir (çünkü pencere açıkken de geliştirici oyunu derlemeye kalkabilir). Zor bir şey de değil aslında, yapılabilir. Esasında o penceredeki tüm içerik editörün ana penceresindeydi (direkt toolbar'ın altında). Assets ve Palettes pencereleri de ha keza. Çoğu zaman kısıtlı çözünürlüğü olan Workbench ekran alanını çok işgal etmemek için kendi kapatılabilir penceresine aldım ikisini de (aslında dediğin gibi dock'lanabilir pencereler olmalıydı bu ikisi, o tarz bir arayüz için MUI yeteneklerimi bayağı bir geliştirmem gerek). Bu pencerelerde yapılan değişiklikler toolbar'daki Save butonuyla doğrudan projeye kaydediliyor. Bilemedim ki şimdi nasıl yapsak?
Alıntı yapılan: Ref - 28 Mayıs 2025, 08:55:11
...en azından gcc'yi binary pakete eklemen iyi olabilir gibi geldi. Ayrıca bir compile butonu da iyi olurdu.
Amiga geliştiricileri derleyici tercihleri bakımından çok ayrışıyor. Oyunun kod tabanının derleyici agnostik kılmak için bayağı bir çaba sarfettim. O yüzden herhangi bir derleyici yeğleyerek kitlenin bir kısmını kaçırmak istemem. Ama compile butonu kesinlikle olmalı çok haklısın. Hatta hemen ekliyorum.
Alıntı yapılan: Ref - 28 Mayıs 2025, 08:55:11
template olunca içi boş dosya bekliyorum. halbuki bunlarda sprite'tan arkaplana kadar herşey var(--bunları proje içinde göremedim belki klasörlerde unutuldu bilemiyorum, belki gerçekten templatedirler)
Ya aslında onlar böyle üzerinde 1, 2, 3 yazan siyah beyaz tile'lar ve beyaz kutu şeklinde karakter sprite'ı olan template gibi template'ler olacaktı. Sonra baktım o şekilde motorun kapasitesini tam yansıtamıyor ve yazılması gereken animasyon kodlarını da iyi örneklendiremiyorum, piyasadaki ücretsiz asset'lerle biraz renklendireyim ortalığı dedim. Biraz fazla kaçtı sanırım.
Alıntı yapılan: Alpyre - 28 Mayıs 2025, 10:05:04
Ben Editör ve araçların tamamında tüm kopyalama işlemlerini mevcut sistemin copy komutuna yaptırayım en iyisi.
Lale savaşçılarını disassemble etmeye çalışırken görmüştüm ki, AMOS neredeyse her işlemi romda/sistemde yüklü kütüphaneler üzerinden yapıyor. Bu debugging'i çok zorlaştırıyordu ama sanırım birçok farklı konfigürasyonun olduğu bir ortamda yapılabilecek en doğru şey.
Alıntı Yap
Çoğu zaman kısıtlı çözünürlüğü olan Workbench ekran alanını çok işgal etmemek için kendi kapatılabilir penceresine aldım ikisini de (aslında dediğin gibi dock'lanabilir pencereler olmalıydı bu ikisi, o tarz bir arayüz için MUI yeteneklerimi bayağı bir geliştirmem gerek). Bu pencerelerde yapılan değişiklikler toolbar'daki Save butonuyla doğrudan projeye kaydediliyor. Bilemedim ki şimdi nasıl yapsak?
Docklama ile vakit harcama bence (ben örnek olarak bahsetmiştim). UI kaosunda yok olursun. Zaman içinde feedback gelirse not al, sana mantıklı gelen şeyleri implement et, mantıklı olmayanları da community'e açıkla ve geç derim ben.
Yani editördeki tüm değişikliklerin sadece save butonuyla kaydediliyor olması konusu açık değildi bence. Dediğin gibi, oraya biraz kafa yorup, ne yapsak diye düşünmen lazım :D
Alıntı Yap
Amiga geliştiricileri derleyici tercihleri bakımından çok ayrışıyor. Oyunun kod tabanının derleyici agnostik kılmak için bayağı bir çaba sarfettim. O yüzden herhangi bir derleyici yeğleyerek kitlenin bir kısmını kaçırmak istemem.
Burada c kodlayabilen ama daha önce amigada birşey yapmamış insanları hedeflediğini düşünüyorum. Buradaki en büyük avantaj insanlara yüksek performanslı bir geliştirme ortamını hazır olarak sunabilmekte gibi geliyor.
Şahsen ben o ortamı kurana kadar kodlama hevesimi kaçırdım en son :D Ama biri bunu önüme koysaydı bana yumuşak bir iniş yaratmış olurdu. Yani sadece bu değil, yanında sağlam bir dokümantasyon da gerekiyor. Biliyorum bunlar sıkıcı şeyler ama doküman olmadan giriş yapmak aşırı zorlaşıyor, çok iyi bir amigaguide dökmanı ile başlangıç yapmışsın, zaten altyapı hazır gibi. Keşke bu tür işleri chatgpt'ye falan yıkabilsek süper olurdu.
Selam
@Ref Önerdiğin geliştirmelerin bir kısmını uyguladım. Sisteminde SAS/C kurulu ise doğrudan editör üzerinde derleyip, çalıştırabilirsin artık.
Son sürümün linkini bırakıyorum:
https://aminet.net/dev/c/Sevgi_Engine.lha (https://aminet.net/dev/c/Sevgi_Engine.lha)
Alıntı yapılan: Alpyre - 30 Mayıs 2025, 13:43:11
Selam @Ref
Önerdiğin geliştirmelerin bir kısmını uyguladım. Sisteminde SAS/C kurulu ise doğrudan editör üzerinde derleyip, çalıştırabilirsin artık.
Son sürümün linkini bırakıyorum:
https://aminet.net/dev/c/Sevgi_Engine.lha (https://aminet.net/dev/c/Sevgi_Engine.lha)
Ok güzel olmuş. bu lha paketine bir dahaki sürümde boş bir projects/ çekmecesi ekleyebilir misin? yoksa default "yeni proje" penceresi hata veriyor, yeni kullanıcıyı ilk hamlesinde hata ile karşılamak iyi bir fikir gibi gelmedi. Ya da oraya girilen çekmece adını otomatik olarak yarat derdim ama recursive bir işlem gerek ona, gereksiz iş çıkarmak olabilir.
Şu cybergraphX gereksiniminden kurtulamıyor muyuz? giriş barajını yükselttiğini düşünüyorum. Emülasyonda bile gereksiz kompleks bir sistem kurmak gerekiyor, heryer kütüphane patch falan ile doluyor. Yani vanilla bir amiga 3.1 +mui olan sistemde bunun hata vermeden açılması mümkün olsa daha büyük bir kitleye ulaşabilir.
bir de gcc ile deniyim dedim, ama gcc'yi kurmayı başaramadım. Yani aminetten bir gcc buldum çektim çalışıyor ama sevgi makefile bulamayıp hata veriyor. Bunu nasıl aşacağız?
Alıntı yapılan: Ref - 31 Mayıs 2025, 17:16:23
Ok güzel olmuş. bu lha paketine bir dahaki sürümde boş bir projects/ çekmecesi ekleyebilir misin?
Garip. Çünkü arşiv zaten boş Projects dizini içeriyor. ???
Alıntı yapılan: Ref - 31 Mayıs 2025, 17:16:23
Şu cybergraphX gereksiniminden kurtulamıyor muyuz? giriş barajını yükselttiğini düşünüyorum. Emülasyonda bile gereksiz kompleks bir sistem kurmak gerekiyor, heryer kütüphane patch falan ile doluyor. Yani vanilla bir amiga 3.1 +mui olan sistemde bunun hata vermeden açılması mümkün olsa daha büyük bir kitleye ulaşabilir.
Bunun üzerinde çalışacağım. Custom startup kodu yazılmasını gerektirecek bir değişiklik bu. Aslında Picasso96 kurulması yeterli ama requirements'e de yazmayı unuttuğum bir şey. Sonraki upload'da düzeltmek lazım.
Alıntı yapılan: Ref - 31 Mayıs 2025, 17:16:23
bir de gcc ile deniyim dedim, ama gcc'yi kurmayı başaramadım. Yani aminetten bir gcc buldum çektim çalışıyor ama sevgi makefile bulamayıp hata veriyor. Bunu nasıl aşacağız?
makefile yeni proje oluşturulurken, settings'deki seçili compiler'a göre yaratılıyor. Sonradan değiştirmece yok. 🙂
Bu arada SAS/C varsa SAS/C ok. Çok daha verimli binary'ler veriyor. GCC'yi cross development için kolaylık olsun diye destekledim. Sırada bir de VBCC var. Onun da fan kitlesi geniş.
Tabi bunlar çıktığım bir haftalık tatilden dönünce. O zamana kadar idare edin böyle. 🤣
Alıntı yapılan: Alpyre - 31 Mayıs 2025, 21:36:09
Garip. Çünkü arşiv zaten boş Projects dizini içeriyor. ???
makefile yeni proje oluşturulurken, settings'deki seçili compiler'a göre yaratılıyor. Sonradan değiştirmece yok. 🙂
Bu arada SAS/C varsa SAS/C ok. Çok daha verimli binary'ler veriyor. GCC'yi cross development için kolaylık olsun diye destekledim. Sırada bir de VBCC var. Onun da fan kitlesi geniş.
Tabi bunlar çıktığım bir haftalık tatilden dönünce. O zamana kadar idare edin böyle. 🤣
[attachment=0,msg15383]
benim hatam..
ben bu dosyayı windows tarafında 7zip ile açmıştım, sanırım onda lha düzgün desteklenmiyor, "projects" çekmecesi yerine dosyası olarak extract etmiş. belki içi boş klasörleri ayırt edemiyordur.
projeden biraz uzaklaşmak aşırı faydalı oluyor doğrusu. İyi tatiller :D
edit:
bugün öğrendim ki amiga-gcc'yi maintain eden eleman github'a kafayı takıp tüm repolarını silmiş. amigadev discordunda birileri repoları yeniden yaratmaya çalışıyordu. Aminetteki 1987'den kalma gcc kullanmak istemiyorsak şu ara son sürümün nerede olduğunu ciddi bir safariye çıkarak bulmak gerekiyor :D
Alıntı yapılan: Alpyre - 31 Mayıs 2025, 21:36:09
Alıntı yapılan: Ref - 31 Mayıs 2025, 17:16:23
Şu cybergraphX gereksiniminden kurtulamıyor muyuz? giriş barajını yükselttiğini düşünüyorum. Emülasyonda bile gereksiz kompleks bir sistem kurmak gerekiyor, heryer kütüphane patch falan ile doluyor. Yani vanilla bir amiga 3.1 +mui olan sistemde bunun hata vermeden açılması mümkün olsa daha büyük bir kitleye ulaşabilir.
Bunun üzerinde çalışacağım. Custom startup kodu yazılmasını gerektirecek bir değişiklik bu. Aslında Picasso96 kurulması yeterli ama requirements'e de yazmayı unuttuğum bir şey. Sonraki upload'da düzeltmek lazım.
Custom startup yazmayı denedim ve crash yemeden DOSLibrary'yi bile açamadım asadadh ;D
Sonra dedim ki, bu cybergraphics.library'yi gcc toolchain'deki amigalib'in "autoopen" özelliği açıp kapatıyor zaten. Ben bunu kodumda, kendim açıp kapatmayı denesem, amigalib bunu algılar ve kendisi açmaktan vazgeçer mi acaba? Gerçekten vazgeçiyormuş, helal olsun be cahirwpz (https://github.com/cahirwpz). Böylece bir kaç satır ekleyerek halloluverdi:
https://aminet.net/package/dev/c/Sevgi_Engine (https://aminet.net/package/dev/c/Sevgi_Engine)
Yalnız ben yine de herkese en azından bir Picasso96 kurup öyle kullanmaları öneririm. Native Workbench ekranlarının planar doğası gereği gadget'ları kabaca çizebiliyorum ancak. Özellikle WinUAE veya FS-UAE üzerinde deneyecekler UAEGFX ile deneyimlemeli.
Alıntı yapılan: Ref - 01 Haziran 2025, 01:19:52
bugün öğrendim ki amiga-gcc'yi maintain eden eleman github'a kafayı takıp tüm repolarını silmiş. amigadev discordunda birileri repoları yeniden yaratmaya çalışıyordu. Aminetteki 1987'den kalma gcc kullanmak istemiyorsak şu ara son sürümün nerede olduğunu ciddi bir safariye çıkarak bulmak gerekiyor :D
Evet ya bebbo (https://github.com/bebbo). Kötü oldu. https://github.com/adtools/amigaos-cross-toolchain (http://adtools) üzerinden devam edebilirsiniz. Native olarak da ADE (https://aminet.net/package/dev/gcc/ADE) var. Gayet sorunsuz, stabil derleyiciler bunlar. Bebbo gcc 5'i, 6'yı falan Amiga kütüphanelerine adapte etmek gibi çılgın işler yapıyordu.
evet tamam, şimdi ekran kartsız, bol ram'li 3.1 bir amiga üzerinde, sorunsuz bir açılış gerçekleşti. Bir ufak bug var, o da editör exe'sini seçmek için gösterdiğin requester'de sadece klasörler görünüyor (düzeltiyorum, bu sanırım benim diskte bulunan asl kütüphanemle alakalı belki eski sürümdür, os35 sistemde sorun çıkmadı).
Ben senin durumunda gcc'yi özellikle önemsiyorum çünkü sasc yeni gelenlere büyük bir bariyer oluşturuyor. özellikle bebbo'nun arşivler geri gelirse, gcc hem modern, hem kolay bir giriş sağlayabilir.
Bebbo'nun neden github'a sinirlenip bizi cezalandırdığını da anlamadım hani. Umarım yakın zamanda başka bir yere yükler repoyu.
edit: bir ufak bug: image editör penceresinde, load butonuna bastık, bişey yükledik. sonra üzerinde + işareti olan save butonuna bastık requester başlığı hala "load bank" gözüküyor. iptal ettik tekrar aynı butona bastık, "save bank" çıktı bu sefer. şimdi "load bank" butonuna bastık bu sefer "save bank" kalmış orda. Sanki başlık pencere açıldıktan sonra set ediliyor gibi.
Alıntı yapılan: Ref - 09 Haziran 2025, 11:20:40
Bir ufak bug var, o da editör exe'sini seçmek için gösterdiğin requester'de sadece klasörler görünüyor.
Alıntı yapılan: Ref - 09 Haziran 2025, 11:20:40
edit: bir ufak bug: image editör penceresinde, load butonuna bastık, bişey yükledik. sonra üzerinde + işareti olan save butonuna bastık requester başlığı hala "load bank" gözüküyor. iptal ettik tekrar aynı butona bastık, "save bank" çıktı bu sefer. şimdi "load bank" butonuna bastık bu sefer "save bank" kalmış orda. Sanki başlık pencere açıldıktan sonra set ediliyor gibi.
OS3.1, OS3.9, OS3.2 üzerinde (hatta iyice zorlamak bir de MorphOS üzerinde) denedim, bu iki bug'ı da yeniden oluşturamadım. Sana şöyle temiz bir sistem kurma vakti gelmiş galiba. Zamanında bi' WinUAE imajı hazırlamıştım sanki. Onu bulabilirsem sana göndereyim.
Alıntı yapılan: Alpyre - 09 Haziran 2025, 12:58:01
OS3.1, OS3.9, OS3.2 üzerinde (hatta iyice zorlamak bir de MorphOS üzerinde) denedim, bu iki bug'ı da yeniden oluşturamadım. Sana şöyle temiz bir sistem kurma vakti gelmiş galiba. Zamanında bi' WinUAE imajı hazırlamıştım sanki. Onu bulabilirsem sana göndereyim.
evet bu sistemde flawless çalışıyor. işte en başında dedim bunu spesifik bir imaj ile kullanmak lazım diye :D Hoş halen boş projeyi derleyemedim ama fazla döküman okumadım henüz, dönem kapanıp yaz tatiline çıkınca buna daha fazla vakit ayıracağım.
Selam dostlar.
Bir ufak yardımınıza ihtiyacım var. Aranızda Amiga CD32 JoyPad'i olan var mı?
Sevgi Engine'ye CD32 JoyPad'i desteği eklemem gerekiyor. Gereken kodu güç bela (internetten bulduğum tüm bilgi ve dokümanlarda hep yanlışlar vardı) yazmayı başardım ve şu anda WinUAE üzerinde yaptığım testler çalışıyor. Ancak çalışma prensibi joystick portlarındaki bazı pinlerin voltaj değerlerini değiştirmeye dayandığı için gerçek donanımda da test etmeden yayınlamak istemiyorum. Ancak şöyle bir sıkıntı var CD32 JoyPad'im yok. Samsun'da da kimsede bulamadım.
Aramızda bu JoyPad'e sahip olan, Amiga'sı çalışır ve kurulu durumda bir arkadaşımız varsa şu gönderdiğim adf'yi benim için test edebilir mi acaba?
Varsa da, yoksa da peşinen teşekkür ederim.
Not: Adf önce SAS/C ile derlenmiş tester'ı açar, ondan çıkış yaptığınızda da gcc ile derlenmiş tester'ı açar. Kodda pinlerdeki voltajların kalkma süresini garanti etmek için busy wait'ler var. iki derleyicinin de bunları optimize edip kaldırmadığından emin olmalıyım. Bu yüzden iki test var.
Alıntı yapılan: Alpyre - 05 Ekim 2025, 16:20:29
Aramızda bu JoyPad'e sahip olan, Amiga'sı çalışır ve kurulu durumda bir arkadaşımız varsa şu gönderdiğim adf'yi benim için test edebilir mi acaba?
@Alpyre çok kişide vardır o kadar nadir değil ama o setup'ı çalışır tutacak kimse yoktur diye düşünüyorum, bu sebepten eğer hala yapmadıysan winuae ile denemen daha kolay olacaktır.
Eğer gözünden kaçtıysa diye hatırlatayım, WinUae'deki CD32 Pad emülasyonu "gameports" seçenekleri altında port 2'ye bir kontrolör seçtikten sonra (örneğin oraya bol butonlu bir usb joypad taktık diyelim büyük listeden onu seçiyoruz), sonra altta iki combobox daha var, soldaki "No autofire (normal)" yazıyor, sağdaki "Default" yazıyor. O sağdakinin içinde "CD32 Pad" emülasyonu mevcut. Buradan 7 butonlu cdtv pad'i emüle etmeyi deneyebilirsin.
WinUAE 6.0'da denedim senin tester'i çalıştı: default binding nümerik klavyede, 7,9,1,3 butonlar, (/) ve (-) rew ile ffd, 8462 yön butonları. Sıkıntı çıkmadı.
Bu arada attract screen çok hoş olmuş :)
Alıntı yapılan: Ref - 06 Ekim 2025, 15:45:08
Bu arada attract screen çok hoş olmuş :)
Teşekkürler. Bir şekilde biraz daha sıkıştırmam lazım. Executable'ı büyütüyor.
Hallettim bu arada. eab'de hemen test edebilen iki kişi çıktı. Çalışıyormuş. ;)
Alıntı yapılan: Alpyre - 09 Ekim 2025, 20:30:14
Teşekkürler. Bir şekilde biraz daha sıkıştırmam lazım. Executable'ı büyütüyor.
aa en sevdiğim işler :) size coding. metni falan çıkar ikon kalsın sadece, zoom yapma, normal ikon boyunda görünsün, zoom kodunu eklememiş olursun 20-30 byte, millet uğraşıp kod yazacak sonra senin logo adamınkinden büyükse şikayet eder :)
Haha! Zoom kodu çok dert değil. ROM'daki fonksiyonlara hallettiriyorum zaten. Asıl dert o yörüngede dönen boing ball. Onun animasyon kareleri raw bitmap data. Keşke bir algoritma ile çizdirebilecek kadar matematik bilseydim. Gerçi onu hallederim bi şekilde de anti-aliasing de lazım bu kadar iyi görünmesi için. Ya da en kolayı veriyi sıkıştırmanın bir yolunu bulmak lazım.
Alıntı yapılan: Ref - 01 Haziran 2025, 01:19:52
bugün öğrendim ki amiga-gcc'yi maintain eden eleman github'a kafayı takıp tüm repolarını silmiş.
Adam github'a kızıp kendi github'ını kurmuş. :P
Github'dan kaldırdığı bütün repo'lar artık burada:
https://franke.ms/git/bebbo