Dakle evo i male skole Angie++ kao sto sam obecao :)

Za sada ce biti obradjeno samo pravljenje map fajlova posto vam je to najvaznije, a kasnije cu da objasnim i kako sam Angie++ obradjuje rezultate, salje poteze, itd.

Dakle ovako, kako bi se napravio map fajl za neku varijantu, potrebno je da se nabave sledece stvari:

- Karta varijante (konvertovana u bmp ako to vec nije)
- map fajl koji se dobija od judge-a slanjem komande: get map.ime_varijante
- i eventualno info.imevarijante odakle bi se saznalo koje godine se pocinje, pocetne jedinice na karti itd.

Kada se ovo nabavi, sledeci potez je pravljenje map fajla (najlakse je kopirati neki postojeci map fajl i dati mu ime varijante pa ga preradjivati za novu varijantu, ali ja cu ovde poceti sa praznim fajlom).

Za potrebe ove male skole Angie++, nacrtao sam (vrlo ruznu) mapu na kojoj cu da zasnujem svoj primer. Varijanta nosi ime MSA++ (skraceno od mala skola Angie++), pa samim tim u direktorijumu Angie++\Maps pravim prazan fajl pod imenom msa++.map. Takodje u ovaj direktorijum snimam bmp fajl varijante, pod bilo kojim imenom! Ako cete da probate da radite uz ovo objasnjnje mozete downloadovati dve .bmp mape (jednu sa skracenicama i centrima i jednu praznu) kao i fajl map.msa++ koji bi trebalo da primite od judge-a (ovaj fajl naravno necete naci ni na jednom judge-u, jer je on samo primer za malu skolu Angie++) ako kliknete ovde.

U fajlu msa++.map sada treba upisati sledece:

[name]
MSA++ (2D map)

[bitmap]
Maps\MSA256c_2D.bmp
Prva stavka definise ime varijante i tip mape (ovaj deo trenutno nije bitan za Angie++, ali bolje da stavite sta treba).
Druga stavka odredjuje putanju do samog .bmp fajla koji ce se koristiti za prikazivanje u Angie++.

Posle ovog ide:

[powers]
First<F>='_red'
Second<S>='_blue'
Unowned<N>='_black'

Ovde se definisu imena drzava koje igraju, njihove skracenice, kao i boja kojom ce biti reprezentovane u Angie++. Ovde postoje samo tri drzave First(F), Second(S) i Unowned(N, sluzi za obelezavanje neutralnih centara). Ukoliko ste skinuli Chaos.map, pogledajte kako su tome definisane drzave, posto se koriste sve moguce boje i slova i ne postoje neutralni centri.

I jos ide definicja tipova jedinica koje se mogu naci na mapi:

[units]
A,Army,Armee
F,Fleet,Flotte
W,Wing

Mislim da je ovo prilicno jasno! Sada treba jos dodati dve stavke:

[positions]

[lineup]
Starting=S1901M
First:
Second:
Unowned:

Ove stavke mogu biti ovako prazne, ali vazno da su tu! Sada bi trebalo startovati Angie++ (ili ako je vec startovan da izadjete iz njega pa da ga ponovo startujete, kako bi registrovao postojanje nove varijatne), pa posle eventualnog logovanja, na glavnom meniju izabrati Variants, pa MSA++ (naravno za ovaj primer, a inace ime varijante koju preradjujete) i trebalo bi da Vam se pojavi ovako nesto:

Kada je ovo uradjeno, u fajl mas++.map treba prebaciti map.mas++ koji se dobija od judge-a (naravno za mas++ se ne dobija, ali za druge varijante), pa bi sada fajl msa++.map izgledao ovako:

[name]
MSA++ (2D map)

[bitmap]
Maps\MSA256c_2D.bmp

[powers]
First<F>='_red'
Second<S>='_blue'
Unowned<N>='_black'

[units]
A,Army,Armee
F,Fleet,Flotte

[positions]
Golf of Ad Astra,                        w goa gol gad
Ad Astra,                                F ada
Capricorn,                               l cap
Far East,                                x far fea
Lor,                                     l lor
Lio,                                     l lio
Icarus,                                  x ica
Sagitarius,                              l sag
Pisces Sea,                              w pis pse
Libra,                                   l lib
Taurus,                                  l tau
Cancer,                                  S can
Cancer Bay,                              w cab cba
-1
goa-xc: ada ica/nc lio lor pis
itd. itd. itd.........
-1
Center order for summary report:
   ada far ica can
#End of center ordering
-1
[lineup]
Starting=
First:
Second:
Unowned:

Od prve -1 do [lineup] se tekst moze obristati, posto je nevazan za Angie++! Zatim, sve skracenice koje se nalaze na kraju reda prebaciti na pocetak:

goa,gol,gad,Golf of Ad Astra
ada,Ad Astra
cap,Capricorn
far,fea,Far East
lor,Lor
lio,Lio
ica,Icarus
sag,Sagitarius
pis,pse,Pisces Sea
lib,Libra
tau,Taurus
can,Cancer
cab,cba,Cancer Bay

Jos mozete da stavite velika slova na skracenice kako bi u Angie++ lepse izgledalo, ali nije obavezno, i jos eliminisati one skracenice teritorija koje imaju samo tri slova u imenu (Lor, Lio):

GoA,Gol,GAd,Golf of Ad Astra
AdA,Ad Astra
Cap,Capricorn
Far,FEa,Far East
Lor
Lio
Ica,Icarus
Sag,Sagitarius
PiS,PSe,Pisces Sea
Lib,Libra
Tau,Taurus
Can,Cancer
CaB,CBa,Cancer Bay

I sada mozemo da krenemo da stavljamo pozicije centara i jedinica! U Angie++ prebacite se na MapMaker tab, obelezite bilo koju drzavu (za ovu varijantu ce se drzave jedva videti posto Angie++ ostavi vrlo malo mesta za radio buttons ako ima samo jedan red, ali to i nije bitno). Sada pogledate prvu teritoriju u map fajlu (ovde Golf of Ad Astra) pa je nadjete na mapi koju pokazuje Angie++. Posto je ovde to vodena povrsina, obelezite u MapMaker tabu flotu (mada moze bilo sta, ali tek da znate kako ce da izgleda) i postavite flotu tamo gde mislite da ce najlepse da izgleda:

Znaci stavi se flota u Golf of Ad Astra a na 'Position:' (u MapMaker tabu) se upisu koordinate koje treba preneti u msa++.map fajl, ali pre toga treba upisati tip teritorije (u ovom slucaju vodena teritorija = W):

GoA,Gol,GAd,Golf of Ad Astra#W#061,079

Dakle znakom '#' se odvoje sva moguca imena teritorija od tipa teritorije, pa opet '#' za upis koordinata. Da bi rad bio olaksan i da ne morate da pamtite koordinate, cim stavite nesto na mapu, pored upisa koordinata kod Position: automatski se koordinate stavljaju u clipboard, pa samim tim samo stanete iza '#' i lupite Ctrl-V (paste).

Ovo ponovite za sve vodene teritorije!

PiS,PSe,Pisces Sea#W#119,308
CaB,CBa,Cancer Bay#W#499,385

Sada sledi teritorija Ad Astra, koja je centar i pripada drzavi First, ona se upisuje ovako:

AdA,Ad Astra#CF#

Prvo slovo posle '#' oznacava tip teritorije (C = costal, izlazi na vodenu povrsinu, tj. mogu se u njoj naci flote). Drugo slovo oznacava ciji je to home centar (u ovom slucaju to je centar drzave First cija je skracenica F). Zatim se posle druge '#' upisuje koordinata centra (znaci iz MapMaker taba oznaci se slicica za centar i postavi na pravo mesto na mapi):

AdA,Ad Astra#CF#218,019

Ovime je oznaceno gde ce se crtati centar, ali ne i jedinica (bilo flota bilo armija) pa zato se sada uzima flota ili armija iz MapMakera i postavlja tamo gde bi trebalo da se pojavi ako se nalazi na teritoriji Ad Astra (ponovo razdvojena znakom '#'):

AdA,Ad Astra#CF#218,019#287,047

Ovaj postupak se ponovi za sve priobalske teritorije koje imaju izlaz samo jednom obalom na more, a jesu centri.

Can,Cancer#CS#680,274#605,265

Sada mapa izgleda ovako:

Sledeca teritorija je Capricorn. Ova teritorija nema izlaz na more, tako da je njen tip L = land, a posto nije centar, treba joj samo odrediti mesto gde ce se naci armija. Znaci u MapMaker se oznaci Armija i stavi na kartu (isto za Sagitarius):

Cap,Capricorn#L#487,055
Sag,Sagitarius#L#372,145

Far East je teritorija slicna Capricornu, samo sto je uz to i centar, pa je zato:

Far,FEa,Far East#LN#642,126#675,063

Dakle L = Land, N = Unowned, 642,126 = centar, 675,063 = jedinica

Lor, Lio, Libra i Taurus su priobalne teritorije, a nisu centri pa su:

Lor#C#058,161
Lio#C#098,143
Lib,Libra#C#219,215
Tau,Tausrus#C#458,290

Dakle C = costal, a koordinate pokazuju gde ce biti iscrtana jedinica.

Ostaje jos teritorija Ikarus koja ima dve obale. Ona je ocigledno primorska pa joj je prvo slovo C, drugo slovo je N kojim se oznacava da centar pripada drzavi Unowned (moze F ili S, ili ono slovo cije je drzave centar). Posle toga ide # a za njom koordinate mesta gde se nalazi centar. Zatim ponovo '#' pa koordinate armije (u slucaju da armija zauzima teritoriju), pa '#' pa (nc) pa koordinate za flotu, pa '#' pa (sc) pa koordinate za flotu:

Ica,Icarus#CN#270,169#301,221#(nc)209,075#(sc)378,356

Naravno redosled postavljanja obala je nebitan (moze prvo sc pa nc), vazno je staviti prave koordinate, a mogu se dopisati jos obala (ec)111,111#(wc)111,111#(ac)111,111 itd (ac je ovde izmisljeno i sluzi samo kao primer).

Sada bi slika trebalo da izgleda ovako:


Naravno, u slucaju da ima na karti teritorija kao Icarus, ali nema centar, zapis bi bio isti, samo sto ne bi bilo drugog slova posle C i koordinata za centar:

Ica,Icarus#C#301,221#(nc)209,075#(sc)378,356

Sada msa++.map izgleda ovako:

MSA++ (2D map)

[bitmap]
Maps\MSA256c_2D.bmp

[powers]
First<F>='_red'
Second<S>='_blue'
Unowned<N>='_black'

[units]
A,Army,Armee
F,Fleet,Flotte

[positions]
GoA,Gol,GAd,Golf of Ad Astra#W#061,079
AdA,Ad Astra#CF#218,019#287,047
Cap,Capricorn#L#487,055
Far,FEa,Far East#LN#642,126#675,063
Lor#C#058,161
Lio#C#098,143
Ica,Icarus#CN#270,169#301,221#(nc)209,075#(sc)378,356
Sag,Sagitarius#L#372,145
PiS,PSe,Pisces Sea#W#119,308
Lib,Libra#C#219,215
Tau,Taurus#C#458,290
Can,Cancer#CS#680,274#605,265
CaB,CBa,Cancer Bay#W#499,385

[lineup]
Starting=
First:
Second:
Unowned:

Dakle jos ostaje da se upisu pocetne pozicije! Za svaku jedinicu upisujemo po jedan red na ovaj nacin:

Starting=S1901M    (ili Starting=W1900B ako pocinje gradnjama)
First:Army Ad Astra
Second:Fleet Cancer
Unowned:Center Far East
Unowned:Center Icarus

Kao sto se odavde moze videti, dovoljno je napisati First:Army Ad Astra a Angie++ automatski doda i centar tj. nije potrebno jos napisati i First:Center Ad Astra. Ovo moze biti problem ukoliko pravite map fajlove za varijante kao hunderd3 gde se recimo francuska armija na pocetku nalazi na u Provance-i koja nije centar. Ukoliko bi tu stajalo France:Army Provence, Angie++ bi nacrtao i centar, ali teritorija Provence nije definisana kao centar, pa Angie++ ne bi znao gde da nacrta centar pa bi se on pojavio u gornjem levom uglu karte. Ovo je reseno na taj nacin sto se posle teritorije stavlja '*', pa Angie++ zna da ne treba da postavlja centar za tu teritoriju (pogledajte h31.map i h32.map fajlove).

Na kraju mozete promeniti mapu sa Maps\MSA256c_2D.bmp na Maps\MSA256_2D.bmp, ukoliko Vam se vise svidja da je mapa prazna, nego da su nacrtani centri i imena teritorija.

Nadam se da ovaj tekst pomaze da napravite sopstvene .map fajlove, pa da ne gnjavite vise sa: "Jao, meni se ne svidja mapa, ja bih to drugacije, bla, bla, bla...". I nemojte da ulepsavate .map fajlove dodavanjem space-eva posle zareza i dvotacki, jer ce to samo zbuniti Angie++ i sve ce da bude izbrkano!

Ako nesto nije jasno ni posle ovog objasnjenja, pitajte na: nightshade@diplomats.com ili bradaric@eunet.yu.