Trunk discussion / complains


There is no specific way, usually people just ask about every feature in related thread or just start a new one - that’s not common either way. For objects, see [ and wait until Ivan comes back.


I cann’t build commit 7289dbafa996a8d9ebfd2cb5d30519f47ecb122a:

/usr/bin/cmake -E cmake_progress_report /mnt/anythings/game.src/vcmi/build-gcc-release/CMakeFiles 
 40%] Building CXX object AI/FuzzyLite/fuzzylite/CMakeFiles/fl-static.dir/src/Console.cpp.o
cd /mnt/anythings/game.src/vcmi/build-gcc-release/AI/FuzzyLite/fuzzylite && /usr/bin/c++   -DFL_BACKTRACE_OFF -DFL_BUILD_PATH=\"/mnt/anythings/game.src/vcmi\" -DFL_DATE=\"1408\" -DFL_UNIX -DFL_VERSION=\"5.0\" -DM_BIN_DIR=\"/mnt/anythings/games/vcmi/bin\" -DM_DATA_DIR=\"/mnt/anythings/games/vcmi/share/vcmi\" -DM_LIB_DIR=\"/mnt/anythings/games/vcmi/lib64/vcmi\" -DUSE_SYSTEM_MINIZIP -pedantic -Werror -Wall -Wextra -O3 -DNDEBUG -I/mnt/anythings/game.src/vcmi/AI/FuzzyLite/fuzzylite/.    -o CMakeFiles/fl-static.dir/src/Console.cpp.o -c /mnt/anythings/game.src/vcmi/AI/FuzzyLite/fuzzylite/src/Console.cpp
In file included from /mnt/anythings/game.src/vcmi/AI/FuzzyLite/fuzzylite/./fl/Console.h:28:0,
                 from /mnt/anythings/game.src/vcmi/AI/FuzzyLite/fuzzylite/src/Console.cpp:25:
/mnt/anythings/game.src/vcmi/AI/FuzzyLite/fuzzylite/./fl/fuzzylite.h:33:26: fatal error: ../../Global.h: No such file or directory
 #include "../../Global.h"
compilation terminated.
AI/FuzzyLite/fuzzylite/CMakeFiles/fl-static.dir/build.make:57: recipe for target 'AI/FuzzyLite/fuzzylite/CMakeFiles/fl-static.dir/src/Console.cpp.o' failed
make[2]: *** [AI/FuzzyLite/fuzzylite/CMakeFiles/fl-static.dir/src/Console.cpp.o] Error 1
make[2]: Leaving directory '/mnt/anythings/game.src/vcmi/build-gcc-release'
CMakeFiles/Makefile2:495: recipe for target 'AI/FuzzyLite/fuzzylite/CMakeFiles/fl-static.dir/all' failed
make[1]: *** [AI/FuzzyLite/fuzzylite/CMakeFiles/fl-static.dir/all] Error 2
make[1]: Leaving directory '/mnt/anythings/game.src/vcmi/build-gcc-release'
Makefile:136: recipe for target 'all' failed
make: *** [all] Error 2

How to install wog and vcmi core files? According to this … n_on_Linux, vcmibuilder may help, but it doesn’t seem to have options --vcmi --wog and --download. I tried to install them manually, but inside WoG archive file I don’t see mod.json file. Is it OK? Yet I don’t see any sings inside game that WoG is installed.


@eternal_sorrow: The --vcmi, --wog and --download options were removed by Ivan in this commit. They were responsible for download and install wog ( and vcmi data files ( which contains graphics for new resolutions). Now wog you can install through vcmilauncher (mod manager). As for the installation of here is the solution. I presume that in the future it will also be available to download through mod manager.


Launcher requires qt5, but I don’t have it on my system.


Yeah. I know that - not much can be done here except for rewriting Launcher.

However if you just want to install mods you can always do this manually:
This is text file which you can open to see things like mod descriptions and direct download links.

To install mod from archive simply extract it into /Mods directory (usually - ~/.local/share/vcmi/Mods). Run “vcmiclient -v” to see location of that directory. You should end up having files like Mods//mod.json

By default, all new mods are enabled. If you want to turn mod on or off - check /modSetttings.json (user config is usually ~/.config/vcmi)


I just found out there are very elaborate functions IObjectInfo::minGuard(), maxGuard(), which are used nowhere but in FuzzyHelper. However, this is not the logic I need or used before.


The ugly major AI bug was just fixed in trunk, so everybody interested in AI may continue their work.


I build 0.97. but run error.

Is this about video playback problem?


Just woner do you get same error with pre-built version or it’s only occur in your build?

PS: My first guess was problem may be related to Chinese characters in path, but looks like VCMI works just fine with them on Windows 8.1

UPD: Found this error in my logs on Linux so likely it’s not related to your crash.


SXX wrote:

I’ll check Chinese characters in path again.

So it maybe not related to my crash. Thanks.


I remember this PR:
And was happy and sure I won’t see this problem anymore, but had crash with “pure virtual method called” several days ago. No stacktrace, will try to catch it next time.


That’s really strange, even 0.97b which was supposed to fix bugs and problems, is still very very buggy. :confused:


I think we can expert good work only for 1.0 or higher versions.
Because there are still many things to be made for modding (like finally map objects converted to good for modding format etc).


Nope, I was talking about stability in general: with 0.96 or 0.95 (don’t remember properly) I was able to complete a set of missions without any crash. Now I can’t complete even one mission without segfaults.


that’s because very big refactoring of map objects, spells and AI

  • Adventure AI got update to fuzzy engine, which was completely bugged, but is already fixed
  • Spells were refactored in 0.97b, but in fact a number of old bugs were fixed or storted out.
  • As to adventure map objects, that was indeed huge task, but hopefuly everything works again in 0.97b. If not, stalk Ivan :stuck_out_tongue:

But yes, in general, we get tons of bugs from various rewrites and project / library updates. This is very huge issue I don’t know how to deal with.


Yep, I ally like how AI works now: very fast and stable. And AI indeed does something, instead of just lurking around. :slight_smile:

Not sure about adventure objects, but Ivan seems to be busy with his own stuff, so whom to ask?

Regarding bugs, they do seem like regressions and probably it’s a good idea to use some unit-testing for that purposes.


Afaik Necromants are supposed not to have “-1” morale in case they have undeads in their slot, am I right? For me Sandro has -1 for this reason.


Btw, sometimes it seems like at exit vcmi tried to log some info, but crashes because er… “write: Broken pipe”. Like trying to log to the place which doesn’t exsist anymore. Just wanted to make a ticket on Mantis about it, but pretty sure there is one there. :slight_smile: