Heroes 3 złota edycja

Problem najwyraźniej po mojej stronie bo

vcmiserver: /usr/include/boost/thread/pthread/condition_variable_fwd.hpp:52: boost::condition_variable::~condition_variable(): Assertion `!pthread_mutex_destroy(&internal_mutex)’ failed.

Kompilowałem źródła dla wydania 0.91. Jakiego libboost należy użyć?

A ja mam drobne pytanie, czy planujecie w najbliższym czasie (2-3 kolejnych wersji) możliwośc instalacji VCMI na goły H3 SoD/złotą edycję, bez WoGa? Ewentualnie czy istnieje możliwość by wymagane pliki woga były dołączane z instalką VCMI.

I kolejne pytanie czy planowane jest w czasie odległym zrobienie instalki VCMI z pełnym zestawem plików by instalować ją na czysto bez uprzedniej instalacji h3? (To już czysta ciekawość bo nie uważam tego za potrzebne)

I trzecie pytanie, czy planujecie w przyszłości zacieśnić współpracę z HoT’a Crew. Z zewnątrz patrząc wydaje się, że przyniosłoby to obopólne korzyści, ale nie wiem jak to wygląda od środka.

Tak. Wsparcie czystego H3 bez WoG-a to kwestia czasu, choć trochę zmian będzie trzeba. Liczymy, że to wyjdzie jako skutek uboczny systemu wsparcia modów.
Dystrybucja WoG-a razem z VCMI to kwestia przepakowania plików. Trudne to nie jest, ale nikomu się nie chce. A i transferu szkoda, aby ludzie w kółko ściągali WoG-a przy każdym apdejcie. :stuck_out_tongue:

Nie. Uważamy, takie postępowanie miałoby charakter piracki.

Nie prowadzimy regularnej współpracy z HotA Crew. Jako zespoły obraliśmy różne cele i odmienne środki ich realizacji. HotA to kompletny produkt przeznaczony dla graczy. Nie wspiera, a wręcz sabotuje potencjalne modowanie. VCMI ma na celu stworzenie nowej platformy, umożliwiającej łatwe modowanie. HotA opiera się na inżynierii wstecznej, w VCMI piszemy grę od zera. VCMI nie pomoże nikomu w inżynierii wstecznej, ani nam jej wyniki nie są (już) potrzebne.

Natomiast wierzę, że łącząc ze sobą elementy obu projektów można stworzyć coś fajnego, atrakcyjnego dla graczy. Przykładem niech będzie dystrybucja miasta Cove jako modu do VCMI. W miarę jak nasza platforma będzie coraz bardziej grywalna, zaś zespół Hoty będzie miał więcej zasobów gotowych do wsadzenia do gry, potencjał „synergii” między projektami będzie rósł.

Im nowszy, tym lepiej.
Dla Visuala 2012 minimum to 1.51, na Linuksach na pewno działa parę starszych. Nie potrafię powiedzieć, jak daleko, nie moja platforma. :frowning:

Jakiego GCC i jakiego Boosta używasz?
Może też być to błąd związany z instalacją, a nie bibliotekami — po prostu w niej crashuje. Jakbyś mógł tez pokazać log serwera?

Twój problem wygląda podobnie do tego: [forum.vcmi.eu/t/vcmi-and-boost-1-49/466/1)
Z tym, że tamto zostało naprawione…

dl.dropbox.com/u/2899105/server_log.txt.zip

logi. Nie ogarniam :frowning:

gcc w wersji 4.5.2, boost 1.50.0

O Boże, to. Zapomniałeś wspomnieć o najbardziej istotnym elemencie: crashują Ci oblężenia. To potworny, krytyczny bug z naszej strony.
Jeśli budujesz projekt ze źródeł, to albo użyj trunka (choć wtedy ryzykujesz bieżącymi bugami, choć są one zwykle w miarę na bieżąco łatane), albo nanieś tę jedną poprawkę na plik client/BattleInterface/CBattleAnimations.cpp:
sourceforge.net/apps/trac/vcmi/changeset/3147

A to ok, w wolnej chwili pobiorę ze svn i zrekompiluję. Dzięki za informacje, nie miałem pojęcia o co tu w zasadzie chodzi. :slight_smile:

Ale ja wcale nie zapomniałem o tym wspomnieć. :wink:

Przepraszam, czytałem temat od dołu do pierwszego twojego posta. :blush:

cześć, skompilowałem wersję z svn. Znacznie stabilniejsza, muszę przyznać. Ale miałem crasha w innych okolicznościach

Striving to goal of type VISIT TILE (28 19 1)
Considering goal VISIT TILE (28 19 1)
Decomposing goal of type VISIT TILE (28 19 1)
Attempting realizing goal with code VISIT TILE (28 19 1)
Adding query 118 - Hero Calh got level 2. Total queries count: 1
I’ll answer the query 118 giving the choice 0
Attempted answering query 118 - Hero Calh got level 2. Request id=12572. Waiting for results…
Adding query 119 - Commander Commando of Hero Calh got level 2. Total queries count: 2
vcmiclient: /usr/include/boost/thread/pthread/condition_variable_fwd.hpp:52: boost::condition_variable::~condition_variable(): Assertion `!pthread_mutex_destroy(&internal_mutex)’ failed.

AI wykrzaczyło grę. Chyba. Nie znam się :frowning:

A tak poza tym: czy obsługa wyglądu bohaterów w trakcie bitwy nie jest pełna czy może widzę błąd? wstaw.org/m/2013/02/06/zrzut_ekranu7.png Czasami też zdarza się, że jednostka przechodzi pod przeszkodami terenowymi (to jest przeszkoda jest w warstwie nad jednostką), nie zdarza się zawsze - potestuję i zrobie screena bo zapomniałem…

Trzeba też poprawić readme dla linuxa, nie ma żadnego katalogu src. Dobrze by było również uaktualnić stronę na sourceforge bo wciąż tam stoi informacja o wersji 0.88.0.

Poza tym świetnie się bawiłem. :slight_smile:

Nie trzeba kopiować plików od kolegi
wystarczy wykonac kilka prostych ruchów. miałem podobny problem i rozwiązałem go (zajęło mi to troche czasu, ale śledziłem co pisze terminal)

po 1. musisz wskazać KATALOG Z GRĄ! a nie ścieżkę do folderu DATA!!! błąd o którym piszesz wynikał z błednego wskazania ścieżki
po 2. musisz zmienić nazwę folderu mp3 na Mp3 (z dużą literą M), wielkośc liter ma znaczenie na linuksie. Jesli tego nie zrobisz nie będziesz miał muzyki

Pozdro

pozdrawiam

Witam,
podobnie jak osoby wyżej mam problemy z uruchomieniem VCMI. Kompilacja przebiegła pomyślnie (kompilacja z svn trunk), wywołałem vcmibuilder z --data i ścieżką do plików H3 (Złota Edycja) z WoG-iem (WoG+polonizacja+polskie czcionki) i --download. Niestety przy uruchomieniu pojawia się błąd, poniższy tekst to output z wywołania vcmiclient:

Starting... 
Creating console and logfile: 0  Initialization: 10
         Data loading: 70
        Mod handler: 0
Resource with name CONFIG/MODSETTINGS and type TEXT wasn't found.
terminate called after throwing an instance of 'std::runtime_error'
  what():  Resource with name CONFIG/MODSETTINGS and type TEXT wasn't found.
Przerwane (core dumped)

Pełen log znajdziecie tutaj
Zauważyłem też, że vcmibuilder źle obchodzi się ze ścieżkami, jeżeli kończą się one znakiem /. W końcowych ścieżkach pojawiają się wtedy ‘//’.

Czy VCMI ma możliwość pisania do folderu z configami?
Plik config/modsettings.json nie jest częścią dystrybucji, ale jest tworzony przy pierwszym uruchomieniu, tutaj wydaje się to zawodzić.

Nadmiarowe ukośniki są ignorowane. Ale gdyby nie było żadnego, to katastrofa. Dlatego czasem na wszelki wypadek lepiej zawsze dodać. :stuck_out_tongue:

Dziękuję za odpowiedź.

Nie potrafię jednoznacznie na to odpowiedzieć. Czy config/modsettings.json znajduje się, a przynajmniej powinien w ~/.vcmi? Jeżeli tak to odpowiedź jest twierdząca, jeżeli ten plik ma być w data directory, a vcmiclient -v wskazuje, że jest to /usr/share/vcmi, to też raczej tak (uprawnienia 744 w przypadku folderów i 633 w przypadku plików, wiem że to brzydka praktyka ale nawet zmieniłem uprawnienia na 777 w obydwu tych folderach). Uruchamianie jako sudo jak rozumiem nie ma sensu, gdyż wtedy zmienia się $HOME i nie znajdzie forderu ~/.vcmi?
Dodam na koniec, że używam Archa i VCMI zainstalowałem z aura, konkretnie chodzi o vcmi-svn.

Racja;)

Przepraszam, że piszę to w nowym poście, ale jako guest nie mogę edytować postów, mam założone konto, ale zapomniałem hasła, więc jest to prowizoryczne rozwiązanie.

Przeczytałem jeszcze raz Twój post i postanowiłem zobaczyć czy i gdzie znajduje się plik modsettings.json. Udało mi się go znaleźć w w ~/.vcmi/config, tylko że był bez rozszerzenia. Dodałem je więc i uruchomiłem vcmiclient. Pojawił się nowy błąd

Starting... 
Creating console and logfile: 0
         Initialization: 10
         Data loading: 70
        Mod handler: 0
File CONFIG/MODSETTINGS is not a valid JSON file!
At line 1, position 0 error: Unexpected end of file!
         Mod filesystems: 40
Basic initialization: 120
terminate called after throwing an instance of 'std::runtime_error'
  what():  Resource with name CONFIG/SETTINGS and type TEXT wasn't found.
Przerwane (core dumped)

W folderze config nie znalazłem żadnego pliku settings ani settings.json, więc go stworzyłem (settings.json) i chwilę później usłyszałem wspaniałą muzykę z głównego menu H3 :smiley:
Wygląda na to, że vcmibuilder nie dodał tych plików.
Dzięki za pomoc.

Dzięki za podzielenie się rozwiązaniem! :slight_smile:

Te pliki nei mają być dodawane przez vcmibuildera, VCMI powinno je tworzyć przy pierwszym uruchomieniu. Z jakiegoś powodu to zawodzi… Stawiam, że coś jednak jest nie tak w lokalnej konfiguracji. Niemniej z naszej strony na pewno poprawy wymagają informacje diagnostyczne, tak aby dało się dojść, co się dzieje i gdzie sprawy idą nie tak.

Też tak sądzę, gdyż nie udało mi się znaleźć na forum żadnych informacji na ten temat, a raczej trudno nie zauważyć podobnego błędu gdy gra się nie uruchamia :stuck_out_tongue_winking_eye: Jeżeli będziecie potrzebowali jakichś dodatkowych informacji chętnie ich udzielę, ale moja instalacja jest raczej standardowa.

W zasadzie to mi brakuje tylko ścieżki do (w tym przypadku) zasobu, którego nie udało się znaleźć. Sam komunikat służy głównie dla programistów, ale rzeczywiście CONFIG/MODSETTINGS może być nieco mylące gdyż można dojść do wniosku, że tak się nazywa ten plik, którego brakuje, a pominięto rozszerzenie (pod *niksami dochodzi dodatkowo kwestia wielkości liter). Nie jest to jakichś wielki problem.

Nawiasem mówiąc, testowałem VCMI dawno temu, gdy jeszcze więcej rzeczy nie działało niż działało i jestem pod wrażeniem aktualnego stanu rzeczy. Świetna robota!

Hej!

Mam podobny problem - instalacja z wersji Złota Edycja. VCMI wersja git 0.96 oraz dzisiejsza.

Instalacja poszła bezproblemowo (z wersją gitową).

# ./vcmibuilder --download --data /.../Heroes_win/ --validate

Pliki zostały umieszczone w ~/.local/share/vcmi.

Podczas uruchomienia, w obu wersjach mam ten sam problem:

# ./client/vcmiclient 
Starting... 
Creating console and configuring logger: 0
The log file will be saved to /home/rhn/.cache/vcmi/VCMI_Client_log.txt
         Initialization: 6
         Data loading: 49
        Mod handler: 0
File CONFIG/MODSETTINGS is not a valid JSON file!
At line 1, position 0 error: File is empty

         Mod filesystems: 27
Basic initialization: 83
File <unknown> is not a valid JSON file!
At line 1, position 0 error: File is empty

Initialized logging system based on settings successfully.
Error: VCMI mod was not found!
Killing console...
Killing console... done!

Logi nie pokazują nic interesującego - po dodaniu paru dodatkowych informacji w CFilesystemLoader:

13:52:29 TRACE global [7f1fc41e8880] - FSLoader  find DATA/HELP type TEXT
13:52:29 TRACE global [7f1fc41e8880] - FSLoader CONFIG/ find DATA/HELP type TEXT
13:52:29 TRACE global [7f1fc41e8880] - FSLoader DATA/ find DATA/HELP type TEXT
13:52:29 TRACE global [7f1fc41e8880] - FSLoader MODS/ find DATA/HELP type TEXT
13:52:29 TRACE global [7f1fc41e8880] - FSLoader CONFIG/ find DATA/HELP type TEXT
13:52:29 TRACE global [7f1fc41e8880] - FSLoader  find MODS/VCMI/MOD type TEXT
13:52:29 TRACE global [7f1fc41e8880] - FSLoader CONFIG/ find MODS/VCMI/MOD type TEXT
13:52:29 TRACE global [7f1fc41e8880] - FSLoader DATA/ find MODS/VCMI/MOD type TEXT
13:52:29 TRACE global [7f1fc41e8880] - FSLoader MODS/ find MODS/VCMI/MOD type TEXT
13:52:29 TRACE global [7f1fc41e8880] - FSLoader CONFIG/ find MODS/VCMI/MOD type TEXT
13:52:29 TRACE global [7f1fc41e8880] - FSLoader DATA/ find MODS/VCMI/MOD type TEXT
13:52:29 TRACE global [7f1fc41e8880] - FSLoader MAPS/ find MODS/VCMI/MOD type TEXT
13:52:29 TRACE global [7f1fc41e8880] - FSLoader MODS/ find MODS/VCMI/MOD type TEXT
13:52:29 TRACE global [7f1fc41e8880] - FSLoader SOUNDS/ find MODS/VCMI/MOD type TEXT
13:52:29 TRACE global [7f1fc41e8880] - FSLoader SAVES/ find MODS/VCMI/MOD type TEXT
13:52:29 TRACE global [7f1fc41e8880] - FSLoader CONFIG/ find MODS/VCMI/MOD type TEXT
13:52:29 ERROR global [7f1fc41e8880] - Error: VCMI mod was not found!

Wygląda na to, że w paczce VCMI brakuje pliku mod.json? Czy to kolejny plik, który powinien być generowany automaytycznie?

Rozwiązanie:

# cp GIT_VCMI/Mods/vcmi/mod.json ~/.local/share/vcmi/Mods/vcmi/

Teraz widzę menu - może komuś to pomoże :slight_smile:

Mogę popracować nad problemem, jeśli ktoś powie mi, gdzie i czego szukać.

Kolejna niedogodność - pliki MP3 nie zostały skopiowane. Nad tym też mogę popracować.

Nie wiem, czy to wina “dziwnej” wersji HOMM3, czy tego, że mam Fedorę (która “nie obsługuje” MP3), w każdym razie myślę, że instalacja MP3 powinna działać niezależnie od systemu, ewentualnie z jakąś flagą do vcmibuildera.

Mój pierwotny problem zniknął po przekompilowaniu VCMI z poprawnymi ścieżkami:

#cmake -DCMAKE_INSTALL_PREFIX=`pwd`/../install ../vcmi
#make install

Najwyraźniej VCMI nie działa uruchomione od razu po samym “make” - w zasadzie nie ma się czemu dziwić, ścieżki nie są znane. Myślę, że informacja o instalacji powinna znaleźć się na wiki. Jeśli starczy mi dziś czasu, to sama dodam.

Jeśli kogoś to zainteresuje, to mam patcha, który zmienia sposób konwersji plików MP3 z OGG na FLAC oraz dodaje wykrywanie plików FLAc. Może różnicy nie słychać, ale przy dzisiejszych wielkościach dysków kilka MB to nie problem.
Swoją droga, dlaczego ResourceID nie jest oparte na wykrywaniu typów MIME, np. za pomocą libfile? Rozszerzenia to niezbyt pewny sposób na sprawdzanie rodzaju pliku.

Pozdrawiam!

Obawiam się, że z polskich programistó ostałem się tylko ja. Nie używam Fedory. Pamiętam jednak, że konwersja na .ogg jest wymuszona przed brak bibliotek .mp3 we wszystkich systemach.

Dalsze posty sugeruję umieszczać .