Martysama Server Files v5.8 65-250 Alt Yapı Çalışma – Geliştirme Günlüğü

  • Konuyu açan Konuyu açan BOZOK
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 1
  • Gösterim Gösterim 127

BOZOK

𝐘 𝐌 𝐈 𝐑___𝐖 𝐎 𝐑 𝐊
Yardımsever Üye
Usta Üye
Mesaj
1.430
Çözümler
83
Beğeni
3.313
Puan
1.860
Ticaret Puanı
1
Amaç: Uzun vadede geliştirip, stabil hale getirip forum hediyesi olarak ücretsiz paylaşmak

Sürüm Bilgileri

  • FreeBSD 14.0
  • MariaDB 10.11
  • Visual Studio 2022 (v14x)
  • Files: Martysama Server Files v5.8
Bu Konuda Neler Paylaşacağım?

  • Sistem ekleme / sökme çalışmaları
  • Quest düzenlemeleri ve yeni questler
  • C++ ve Python hata fixleri
  • Files genel durumu ve test notları
  • Yol haritası ve ilerleme raporları
Hedef: Sorunsuz, stabil ve temiz bir files ortaya çıkarmak → ardından forum hediyesi olarak paylaşmak

Not: Proje tamamlandığında forum kurallarına uygun şekilde ücretsiz paylaşılacaktır.
Süreç boyunca yapılan tüm değişiklikler bu konu altında güncellenecektir.
 
Güncelleme #1 — Uyarı Temizliği:
Genişlet Daralt Kopyala
Güncelleme 1 - Uyarı Temizliği

Tarih: 23.10.2026
Files: Martysama Server Files v5.8
Sürüm bilgileri: FreeBSD 14.0, MariaDB 10.11, Visual Studio 2022 (v14x)

questlua_pc.cpp - C4244 temizliği
Lua'dan gelen sayılar static_cast<BYTE> ve static_cast<int> ile güvenli hale getirildi. text_file_loader.cpp tarafında atof() dönüşleri static_cast<float> yapıldı. Kod mantığı bozulmadı, sadece derleyici uyarıları giderildi.

questlua_party.cpp - uyarı temizliği
FRunCinematicSender ve FCinematicSender yapılarındaki size_t ve int'ten WORD'e olan dönüşümler static_cast ile güvenli hale getirildi (110 ve 159. satırlar). party_give_buff fonksiyonunda Lua'dan gelen double değerlerin DWORD, BYTE ve long değişkenlerine atanması sırasındaki uyarılar static_cast ile giderildi (388-393. satırlar). Veri boyutları oyun limitlerini aşmadığı için dönüşümler güvenli, derleme başarılı.

log.c - C4146 temizliği
log_file_delete_old fonksiyonunda (315. satır) unsigned int olan log_keep_days değişkenine uygulanan tekli eksi operatörü hatası giderildi. Değişken, eksi işareti uygulanmadan önce int türüne cast edilerek işaretli tam sayıya çevrildi ve olası bellek taşması / veri kaybı riski ortadan kaldırıldı. Mevcut tarih hesaplama mantığı korundu.

socket.c - C4996 temizliği
Dosya genelinde kullanılan inet_addr ve gethostbyname eski Windows API'lerinden kaynaklı C4996 uyarıları temizlendi. Sunucu ağ mimarisini ve IP çözümleme mantığını bozmamak için (IPv4/IPv6 çakışmalarını önlemek adına) fonksiyonlar değiştirilmedi. Uyarıları susturmak için dosyanın en üstüne #define _WINSOCK_DEPRECATED_NO_WARNINGS makrosu eklendi. Derleme çıktısı temizlendi, mevcut bağlantı performansı korundu.

attribute.cc - C4244 temizliği
CAttribute::Alloc ve CAttribute yapıcı fonksiyonlarında DWORD türündeki verilerin WORD ve BYTE dizi elemanlarına atanması sırasındaki C4244 uyarıları giderildi (satır 69, 82, 133, 139). Veri boyutları sınıf içindeki allAttr bit kontrolü ile zaten güvence altında olduğu için static_cast kullanımı veri kaybı yaşatmayacak şekilde uygulandı. Harita ve özellik okuma/yazma algoritması tamamen korundu.

Durum

Derleme başarılı.
C4244, C4146 ve C4996 uyarıları temizlendi.
Kod mantığı korundu, davranış değişmedi.
 
Son düzenleme:
Geri
Üst