KristalENGINE 2 Setup v2.2 (Windows .exe) #1
kristalsoft-software
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
KristalBASIC 2.2 Güncelleme Notları (20.06.2026)
Planlanan ve Uygulanan Güncellemeler
=> Tamamen Bağımsız Çekirdek (Core Decoupling):
Derleyici çekirdeği (Lexer, Parser, CodeGen) içerisine hardcoded
olarak gömülmüş olan oyun motoru (Raylib) bağımlılıkları tamamen
temizlendi. KristalBASIC artık genel amaçlı, modüler ve bağımsız
bir programlama diline dönüştürüldü.
=> Modüler Direktifler ve Standart Kütüphane (@object):
Önceden planlanan @include yapısı yerine, harici .kbas dosyalarını
derleme sürecine tam entegre eden @object direktifi eklendi.
Pencere, çizim ve 3D kamera gibi Raylib fonksiyonları dilden
tamamen sökülüp "lib/raylib.kbas" adı altında resmi bir standart
kütüphane modülü haline getirildi.
=> C Kodlarını Doğrudan Entegre Etme (external C / H):
Harici kütüphaneleri bağlamak için izole "external C" ve
"external H" blokları desteklendi. Üçlü kesme işareti (""")
kullanılarak çok satırlı raw metin blokları (C/C++ başlık ve
kaynak kodları) doğrudan KBas koduna yazılabiliyor.
=> Yeni Dil Özellikleri (const ve Hexadecimal):
Dilin çekirdeğine "const" anahtar kelimesi eklendi. Sabit atamaları
doğal olarak C tabanına aktarılıyor. Ayrıca (0xFFFFFF gibi) onaltılık
(Hexadecimal) sayı desteği eklenerek renk ve bayt atamaları
kolaylaştırıldı. C kütüphaneleri ile olan makro isim çakışmalarını
önlemek için izole ortamlar oluşturuldu.
=> void Desteği:
Dilin veri tiplerine void eklendi. Artık geriye değer döndürmeyen
fonksiyonlarda standart bir şekilde kullanılabilecek. Parser ve
Codegen void tipini tanıyıp C karşılığını doğru üretecek.
=> OOP (new, this) ve Statik Sınıf Çözümü:
C'ye çeviri sırasında statik sınıfların (static class) global bir
C struct nesnesi (instance) olarak oluşturulması sağlandı. Böylece
PlayerState.pitch = ... şeklindeki kullanımlar doğrudan bu global
nesne üzerinden işleyecek.
"new" anahtar kelimesinin dinamik bellek tahsisi (kbc_alloc)
kod üretimi düzeltildi.
"this" anahtar kelimesi kullanıldığında metotlara gizli geçilen
THIS pointer'ına doğru referans vermesi sağlandı.
=> Kapsamlı Bellek Yöneticisi ve Scope (Garbage Collector) Optimizasyonları:
KristalBASIC'in bellek yönetim mimarisi (Scope Manager) köklü bir
şekilde iyileştirildi. Döngü bloklarında (
while,if) statik olaraktahsis edilmiş C dizgilerinin
kbc_scope_popsırasında hatalı birşekilde
free()edilip ölümcül Heap Corruption (0xC0000374) hatalarınayol açması engellendi. Artık KBC bellek yöneticisi, dinamik
kbc_allocile üretilmemiş göstericileri güvenle izole edebiliyor ve
kbc_str_dupentegrasyonu sayesinde harici Win32 API çağrılarından gelen stringler
bellek sızıntısı yapmadan otomatik temizleniyor.
=> Native Windows API (Win32) Entegrasyonu:
Dışarıdan hiçbir ek DLL veya C kütüphanesi gerektirmeden, KristalBASIC
ile Windows işletim sistemine tam erişim sağlayan
lib/win32/win32api.kbasçekirdek kütüphanesi yazıldı.
Desteklenen Native Modüller:
ve Şeffaf Katmanlı (Layered/Transparent) pencere yetenekleri eklendi!
=> KristalENGINE IDE & I/O Yönlendirme (Pipe) Uyumluluğu:
Uygulamaların geliştirme ortamından (KristalENGINE IDE) çalıştırılması
durumunda standart G/Ç kanallarının Pipe (Boru) hatlarına yönlendirilmiş
olduğu tespit edildi.
WriteConsoleveReadConsolekomutlarınınIDE ortamında sonsuz döngüye girmesi engellendi; otomatik olarak
WriteFileveReadFilefallback (yedek) fonksiyonlarına düşerek,oyunların IDE'nin log panelinde güvenle çalışması sağlandı.
Ek olarak, terminal isteyen oyunlar için IDE bağlarını zorla koparıp
yepyeni, temiz bir konsol penceresi açabilen bağımsızlaştırılmış
bir
CON_OPENyeteneği geliştirildi.=> Güvenli Dizgi (String) Karşılaştırma Mimarisi:
KristalBASIC'in operatör mantığı genişletilerek
STR_EQyerleşik(native) karşılaştırma fonksiyonu eklendi. Döngüsel koşullarda
(örn.
if (STR_EQ(secim, "1"))) C tarafındakistrcmpkomutunagüvenli köprüleme (binding) kurularak pointer belirsizlikleri giderildi.
=> Scene Yapısının Temizlenmesi:
Proje ve derleyici içerisinden scene ile alakalı mantıksal tüm
kurgular şimdilik askıya alındı ve temizlendi.
=> AST Düzeyi Parametre Güvenliği:
InputSystem.playerInput(PlayerState);gibi hatalı kullanımların(fonksiyon 0 parametre beklerken 1 parametre gönderilmesi)
C derleyicisi yerine doğrudan
kbc.exetarafından yakalanıpkullanıcıya mantıklı bir hata mesajı vermesi için AST düzeyinde
güvenlik artırıldı.
KristalBASIC Reddit => REDDIT TOPLULUĞU
developed by EREN KOÇAKGÖL.
This discussion was created from the release KristalENGINE 2 Setup v2.2 (Windows .exe).
Beta Was this translation helpful? Give feedback.
All reactions