Kullanıcı Aletleri

Site Aletleri


tr:m2:src:extern:start

Extern

Client ve server'in kullandığı 3.parti kütüphaneleri içeren kaynak klasörüdür.

Büyük ekiplerin birlikte çalıştığı projelerde 3.parti kütüphaneleri bir klasörde toplamak pratik bir davranıştır.

Bu sayede her ekip üyesi, projenin kurulumunu kolayca yapabilir ve bu harici kütüphaneler üzerinde düzenlemeler yapıldığında kolay bir şekilde tüm ekip üyeleri bu değişikliklerden haberdar olabilir.

Kullanılan tüm kütüphaneler 32 bit'tir. Günümüzde, kullanılan kütüphanelerin güncel versiyonları sızdırılmıştır. Bu sayede 64 bit çalışmalar yaygınlaşmaya başlamaktadır.

3.Parti Kütüphaneler

Boost (Client + Server)

https://www.boost.org/

Boost, bir çok C++ kütüphanesinin bir arada toplanması ile oluşturulmuş çok geniş bir kütüphane topluluğudur.

Client ve Server tarafında kullanılan boost kütüphaneleri tamamen header tabanlıdır. Bu yüzden boost kütüphanelerinin derlenmesine gerek yoktur.

Boost kütüphanesinde geliştirilen ve kullanımı yaygınlaşan kütüphaneler zaman içerisinde C++ diline dahil edilmektedir.

Oyunun geliştirildiği yıllarda kullanılan bazı container sınıfları için boost gerekliydi. Ancak günümüzde bu sınıflar C++ diline dahil edildiklerinden boost projeden tamamen kaldırılabilmektedir. Projenin dil standartları yükseltilirse boost tamamen kaldırılabilir.

CryptoPP (Client + Server)

https://www.cryptopp.com/

40k files'lerle birlikte dahil olan CryptoPP bir kriptoloji kütüphanesidir. Birçok bilinen kriptoloji algoritmasını içermektedir.

Güvenliği arttırmak için bazı algoritmaları m2'de kullanılmaktadır.

LZO (Client + Server)

http://www.oberhumer.com/opensource/lzo/

C dilinde yazılmış bir sıkıştırma kütüphanesidir.

Hem client hem server tarafında kullanılmaktadır.

DevIL (Client + Server)

https://openil.sourceforge.net/

DevIL güçlü görüntü yükleme özelliklerine sahip uygulamalar geliştirmek için kullanılan bir C++ kütüphanesidir. Birçok resim formatını desteklemektedir.

Lonca ikonlarının işlenmesinde hem client hem server tarafında bu kütüphane kullanılmaktadır.

LibJPEG (Client + Server)

http://www.ijg.org/

JPEG uzantısına sahip resim dosyalarını işlemeye yarayan bir C kütüphanesidir.

GoogleTest (Client + Server)

https://github.com/google/googletest

GoogleTest, xUnit mimarisine dayanan C++ birim test kütüphanesidir.

MySQL C Connector (Server)

https://dev.mysql.com/downloads/connector/c/

Server'in MySQL veritabanı ile iletişim kurmasını sağlayan C kütüphanesidir.

DirectX SDK (Client)

https://www.microsoft.com/en-us/download/details.aspx?id=6812

Client tarafında kullanılan grafik API'sidir. Ayrıca çeşitli girdi kontrollerinde de bu kütüphane kullanılmaktadır.

SpeedTree (Client)

https://store.speedtree.com/

Client tarafında kullanılan SpeedTree kütüphanesi, ağaç ve bitki modellerinin oluşturulmasını sağlayan bir kütüphanedir.

Kapalı kaynak bir kütüphanedir ve uzun yıllar client'i 32 bit'te tutmamızın sebeplerinden biridir.

Granny 3D (Client)

https://www.radgametools.com/granny.htm

Client tarafında kullanılan Granny 3D kütüphanesi, animasyon ve model işlenmesinde kullanılan kütüphanedir. Nacizane nineeee.

Lua (Server)

https://www.lua.org/

Server tarafında quest sisteminin yapı taşıdır. Lua entegre olarak kullanılan bir programlama dilidir.

Server içerisinde bulunan LibLua projesi orjinal lua kütüphanesidir.

Python (Client)

https://www.python.org/

Client tarafında script dili olarak kullanılmaktadır. C++ entegrasyonu sayesinde client üzerinde birçok işlemi bu kütüphane kullanılarak oluşturulan modül gerçekleştirir.

Lua gibi ayrı bir programlama dilidir. M2'de client tarafında C++ entegrasyonu üzerinden kullanılmaktadır.

Miles (Client)

http://www.radgametools.com/miles.htm

Granny gibi RAD Game Tools tarafından geliştirilen bir ses kütüphanesidir. Oyun içerisindeki tüm ses işlemlerinde bu kütüphane kullanılır.

RTFI Wiki'den alınmıştır. ===== EDİTÖR NOTLARI ===== BU WRAP'i SİLME Bu metin işlenen sayfada görünmeyecektir. Kendiniz ve diğer editörler için notlar bırakmak için kullanabilirsiniz.

tr/m2/src/extern/start.txt · Son değiştirilme: 2024/08/16 20:12 Değiştiren: 127.0.0.1