Oficjalny projekt biblioteki funkcji na GitHubie : https://github.com/shoter/OriginalWar_Library
Narazie zrobiłem jedynie 1 funkcje biblioteczną której celem jest uzyskanie mechanizmu wywołań zwrotnych w original war.
Tutorial użycia funkcji callback (W języku angielskim) jest dostępny w odpowiednim folderze.
Ja zaś umieszcze to co dzisiaj testowałem :
Main.src :
Code: Select all
Starting
begin
OWL_Shoter_Callback_init;
OWL_Shoter_Callback_Add('pojaw_skrzynke', [3,4], 1, 5 );
OWL_Shoter_Callback_Add('pojaw_sojusznika', [], 4, 3 );
end;
export function pojaw_skrzynke( params );
begin
CreateCratesAnywhere(Rand(params[1],params[2]),true);
end;
export function pojaw_sojusznika( params );
var postac;
begin
uc_side=1;
uc_nation=nation_american;
hc_name=''; //losowe imię
hc_basic_skills=[0, 0, 0, 0];
hc_skills=[0, 0, 0, 0];
postac=CreateHuman;
PlaceUnitAnywhere(postac, true);
end;
Code: Select all
case function_name of
'pojaw_skrzynke' :
begin pojaw_skrzynke( parameters ); end;
'pojaw_sojusznika' :
begin pojaw_sojusznika( parameters ); end;
end;
Wywołania zwrotne miałem zamiar oprzeć na wskaźnikach na funkcje, jednakże takowej funkcjonalnośći w SAILu nie znalazłem.
W planach mam własny system zdarzeń który będzie podpięty pod oryginalne zdarzenia OW + możliwość deklarowania własnych zdarzeń.