Kompilacja

Chciałbym podziękować za wszelką udzieloną pomoc. Szczególnie Warmongerowi.

krystian1995, czy ustawiłeś working directory we właściwościach klienta? wiki.vcmi.eu/index.php?title=How … I_from_IDE ]

Folder config z tym plikiem musi być w folderze roboczym. Gdy uruchamiasz program przez dwuklik, folderem roboczym jest jego folder (tj ten, w którym exek się znajduje), ale jak uruchamiasz program debuggerem, to chyba domyślnie jest to folder projektu (tj. klienta), co w naszym przypadku nie jest dobre.

Dziękuję.Pomogło

cstdio to “C STanDard IO library” (daje między innymi funkcję scanf) co oznacza że prawdopodobnie brakuje ci domyślnego folderu w ścieżkach (zawierające biblioteki standardowe i domyślne nagłówki. Tylko zgaduje ale prawdopodobnie mam rację :P.

Witam przybywam znów problemami.
Po pierwsze dlaczego nie mogę zaaktualizować VCMI ?
SVN tortoise pokazuje błąd, że folder trunk jest zablokowany (is locked).

Drugi błąd, wycinek z loga:

Reading config/commanders.json
	Creature handler: 597
At line 25, position 86 error: Separator expected
At line 25, position 86 warning: Not all file was parsed!
At town_type/	 Error: Null entry without default entry!
	Town handler: 16
		Reading cregens 
		Done loading cregens!
		Reading resources prices 
		Done loading resource prices!
		Reading banks configs 
		Done loading banks configs 
	Object handler: 152
	Def information handler: 810
At line 25, position 86 error: Separator expected
At line 25, position 86 warning: Not all file was parsed!
At town_type/	 Error: Null entry without default entry!
	Building handler: 63
	Spell handler: 165
		Reading config/cr_sounds.json

Nie wiem o jaki plik chodzi, w którym jest błąd.

Zablokować folder możesz chyba tylko Ty sam na swoim komputerze.

Radzę zaktualizować wszystkie pliki w folderze config. Zapewne chodzi o buildings.json z tej rewizji:
sourceforge.net/apps/trac/vcmi/changeset/2824

Ok, dziękuję. Miałem zablokowany folder config, ale nie wiedziałem jak go odblokować, więc po prostu go usunąłem i pobrałem, wraz z aktualizacją.

Nie chciałem zakładać nowego tematu.
Co jeżeli przerobiłem pewne skrypty, czy aktualizacja może mi je zamienić/odnowić?
Wprowadziłem kilka modyfikacji i teraz nie wiem czy moja praca pójdzie na marne.

Chodzi o komendę update w kliencie SVN? Ona nigdy nie wyrzuca twoich zmian, może jednak pozostawić konflikty scalania, które będziesz musiał rozwiązać przed dalszą pracą.

Podepnę się…

Dzisiaj po raz pierwszy spróbowałem skompilować źródło z svn, bo podoba mi się wersja 0.91, ale wywalało mnie niemal zawsze przy oblężeniach. Kierując się poradnikiem z Wiki, po trudach i znoju wreszcie kompilacja zakończyła się powodzeniem. Problem jednak w tym, że skompilowana wersja z svn działa mi tragicznie wolno (gotowa 0.91 chodziła jak błyskawica). Gra jest praktycznie niegrywalna. Już po samych rozmiarach utworzonych plików wydawało mi się, że coś jest nie tak, są wszak kilkakrotnie większe, niż te z gotowej paczki. To normalne, czy coś robię źle?

Przy okazji chciałem zapytać o dwie rzeczy związane z moddingiem, bowiem próbowałem dziś dodać swoich bohaterów i jednostki, lecz natknąłem się na drobne problemy:

  1. Specjalizacja “specjalne ulepszenia jednostek” (jak ma np. Gelu) bohaterów jest zabugowana, czy nie została jeszcze wprowadzona? Próbowałem dodać nowemu herosowi takąż specjalność, ale możliwość ulepszenia jednostek się nie pojawiła. Użyty kod (tą drugą, docelową jednostkę mam oczywiście zrobioną i działa poprawnie w grze):
    {
    “type”: “SPECIAL_UPGRADE”,
    “subtype” : “creature.woodElf”,
    “addInfo”: “creature.elfHunter”
    },

  2. Nowo dodanym jednostkom chciałem dać umiejętność “MAGIC_RESISTANCE”, dokładnie taką, jaka jest u krasnoludów. Podczas gry widziałem, że umiejętność działa, ale w okienku jednostki, przy opisie umiejętności były jakieś dziwne wartości (ujemne, kilkumilionowe…). Na wersji z svn jedyne co się zmieniło, to to, że teraz zawsze widzę przy opisie 100% odporności na magię, nieważne jakie wartości przy “MAGIC_RESISTANCE” ustawię.

A tak w ogóle, to cieszę się, że trwacie przy projekcie i prace cały czas idą naprzód. Świetna robota, chłopaki. :slight_smile:

Najpewniej zbudowałeś wersję debug. Przełącz konfigurację z “Debug” na “RD”, przebuduj i powinno śmigać szybko (hmm…?) jak wersja z releasu.

Możesz chcieć ustawić folder, do którego będą generowane wyjściowe binarki, by nie kopiowac ich każdorazowo:
Property manager -> rozwiń którykolwiek projekt -> rozwiń cokolwiek z RD -> VCMI_global_release. Tu r-klik, properties, User Macros. W polu value ustawiasz ścieżkę.
Jeżeli twoja wyjściowa ścieżka nie jest trunkiem z repozytorium, to jeszcze możesz chcieć podlinkować folder config, żeby zmiany z SVN się przenosiły na miejsce instalacji.

  1. Wszystkie specjalności powinny działać, jeśli jest inaczej, to bug.

  2. Działać… tak, powinno. :stuck_out_tongue: Jesli mi pokażesz, co zrobiłeś, to będę mógł sprawdzić, co idzie nie tak.

Dzięki. Faktycznie był Debug. Już kompiluję RD…

Ad1. Jednak wszystko działa jak trzeba. Nie zauważyłem, że macie dwa formaty zapisu dla specjalności - “specialty” i stare “specialties”.

Ad2. Używam przy jednostkach kodu:

	"abilities" :
	
		{
			"type" : "MAGIC_RESISTANCE",
			"subtype" : 0,
			"value" : 20,
			"addInfo" : 0
		},
	],

W aktualnej wersji zarówno odporność krasnoludów, jak i umiejętność drugorzędna bohatera działają poprawnie. Błąd może być bardziej subtelny.

Po drugie - odsyłam do nowego tematu.