Trunk discussion / complains

To compile Lancuher under MSVS, you need to run the compilation twice for the first time.

Can somebody accept those two 9-day-old pulls on github? Both look OK for me.
github.com/vcmi/vcmi/pull/42
github.com/vcmi/vcmi/pull/43

Done.

Hi guys
is there a place I’m missing where we can ask how / what specific part of the code does?
THere are some stuff I’d like to refactor but I can’t understand what some stuff is supposed to accomplish.
For instance ObjectTemplate.setSize() is called twice during the loading of the objects and I cant tell if that’s intended or not, because setSize has a different effect depending whether the size is moved up or down

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 [forum.vcmi.eu/t/making-adventure-map-objects-more-configurable/805/1) 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 wiki.vcmi.eu/index.php?title=Ins … 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 (wog.zip) and vcmi data files (core.zip which contains graphics for new resolutions). Now wog you can install through vcmilauncher (mod manager). As for the installation of core.zip 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:
download.vcmi.eu/mods/repository/repository.json
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.
http://a.picphotos.baidu.com/album/s%3D1100%3Bq%3D90/sign=7c039c8d1ad8bc3ec20802cbb2bb9d6f/63d0f703918fa0ec18784dba259759ee3c6ddbcd.jpg

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: github.com/vcmi/vcmi/pull/54
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