Forum index VCMI Project - Heroes 3: WoG recreated
Forum of the project aiming to recreate best turn-based strategy ever!

FAQFAQ  SearchSearch  MemberlistMemberlist  UsergroupsUsergroups  StatisticsStatistics
RegisterRegister  Log inLog in  AlbumAlbum  DownloadDownload

Previous topic :: Next topic
Pluginy
Author Message
Vesim987 

Age: 19
Joined: 18 Jan 2012
Posts: 1
Posted: 2012-01-19, 21:21   Pluginy

Witam. Wiem że temat pluginów był już poruszany.
Proponował był dodanie pluginów załączanych w dll'kach. Dzięki temu będzie można pisać pluginy w wielu jeżykach.No i dzięki temu ktoś by mógł napisać plugin do obsługi jeżyków typu lua ,python itp
 
     
cromat 

Joined: 10 Dec 2011
Posts: 8
Location: Wrocław
Posted: 2012-01-19, 22:24   

Vcmi ma oficjalna wersje na linuxa, da sie zaladowac do takiej aplikacji dll? :shock:
 
     
Tow 
Project Lead
VCMI Programmer


Joined: 01 Feb 2008
Posts: 1407
Location: Kraków, Poland
Posted: 2012-01-19, 22:49   

Vesim987 wrote:
Proponował był dodanie pluginów załączanych w dll'kach. Dzięki temu będzie można pisać pluginy w wielu jeżykach.No i dzięki temu ktoś by mógł napisać plugin do obsługi jeżyków typu lua ,python itp

To nie tak różowo, bo taki DLL musi się jakimś interfejsem z VCMI komunikować. Jeśli interfejs jest w C++, to wtedy i DLL musi być w C++. Do tego trzeba go budować tym samym kompilatorem i z tymi samymi opcjami, co silnik (C++ nie ma ustandaryzowanego ABI). Robienie alternatywnego interfejsu w czystym C — mnóstwo roboty, a potem by trzeba i tak jeszcze raz interfejsować do „języka docelowego”.

Zalążek obsługi języków skryptowych, jaki jest obecnie zrealizowany w VCMI, faktycznie wykorzystuje ten mechanizm (pluginy w dll). Tyle, że takie pluginy muszą być częścią projektu (nie zaś niezależnym przedsięwzięciem), inaczej się będzie rozwalać przy każdym releasie. Tak więc jest to raczej wewnętrzny sposób organizacji kodu niż forma, w jakiej bym widział przyszłe, niezależne od jądra projektu, dodatki.

Quote:
Vcmi ma oficjalna wersje na linuxa, da sie zaladowac do takiej aplikacji dll? :shock:

Tak, tyle że na Linuksach się to nazywa biblioteką dzieloną i ma rozszerzenie .so. Niby inny mechanizm, ale w praktyce można używać identycznie. Przynajmniej w zakresie, jaki jest nam potrzebny.
_________________
VCMI is a work in progress.
VCMI is NOT an another mod.
 
     
majaczek 

Age: 28
Joined: 12 Jun 2008
Posts: 474
Posted: 2012-01-22, 16:00   

ja tam myślę że niektóre elementy serweraq można "upublicznić" i stworzsyć mechanizm pluginów podobny do tego w jakim jest zrealizowane AI w VCMI. to znaczy że przy niektórych zdarzeniach (niekoniecznie wszystkich) można przypiąć własny kod z tą samą klasą bazową. oczywiście taki mechanizm byłby średnio kompatybilny póki VCMI zamierza wprowadzić duże zmiany, ale opracowanie takiego mechanizmu pomogło by projektowi i byłoby bardzo użyteczne w "finalnej" wersji. Gdy już powstanie API dla pluginów, dodanie nowych języków skryptowych/interpretowanych nie będzie problemem - nic nie przeszkadza by plugin był wrapperem. natomiast dodanie innych języków kompilowanych będzie trudniejsze z powodu wnętrzności C++, choć nie wykluczone jest napisanie wrappera API w C++ na API w C, który umożliwi crosscompiling (tj. korzystanie z różnych kompilowanych języków programowania w jednym projekcie)
 
     
Display posts from previous:   
Reply to topic
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
Add this topic to your bookmarks
Printable version

Jump to:  

Powered by phpBB modified by Przemo © 2003 phpBB Group

Hosting provided by DigitalOcean
Page generated in 0.02 second. SQL queries: 12