I wanted to run VCMI 0.95 on my OSX Mavericks, but during the installation process it shows a message: “Failed to extract game data using unshield”. What could cause this problem? Is it invalid ISO file or something?
Hi, sorry for late response. Yes, there are probably some problems with the ISO. Could you upload your ISO somewhere so I can test it?
Thanks for your response.
Well, I checked the installer with two other ISO files downloaded from different Internet source and both failed, so I just gave up for now
Could you please provide links to those other iso images?
By the way OS X prebuilt libraries link seems to be broken: download.vcmi.eu/xcode-pack.zip
Fixed. Sorry for delay.
It turns out that different Heroes 3 ISO files can have different internal file layout. I’ll apply fix for your ISO but it will be released only with 0.96 version. For now I suggest to use installer from gog.com. It should be working
Fixed in master
Hey, sorry to bother guys,
when I want to compile the vcmi in my air following the build note:
and get this error, sorry I am not very familiar with C++ and make build script, but I start to learn it.
it seems missing sparkle path, where should i put the path?
Hi. Can’t tell OSX specifics but normally you need to either:
a) Pass paths via call to cmake, like this:
cmake -DSPARKLE_FRAMEWORK=“path/to/sparkle” -DSPARKLE_INCLUDE_DIR=“path/to/include”
(cmake remembers all variables so you only need to set them once)
b) Set variables via cmake-gui tool - start tool, search for sparkle paths, set them to correct values. Don’t know if this tool is available on OSX or this is something Linux-specific.
On OS X sdl2 doesn’t link for me, although I have sdl2 installed with homebrew. Any help would be appreciated.
laptop% cmake -G Xcode .. -DENABLE_LAUNCHER=OFF -- The C compiler identification is AppleClang 184.108.40.20600051 -- The CXX compiler identification is AppleClang 220.127.116.1100051 CMake Warning at /usr/local/Cellar/cmake/3.0.2/share/cmake/Modules/Platform/Darwin.cmake:179 (message): Ignoring CMAKE_OSX_SYSROOT value: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk because the directory does not exist. Call Stack (most recent call first): /usr/local/Cellar/cmake/3.0.2/share/cmake/Modules/CMakeSystemSpecificInformation.cmake:36 (include) CMakeLists.txt:1 (project) -- Check for working C compiler using: Xcode -- Check for working C compiler using: Xcode -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler using: Xcode -- Check for working CXX compiler using: Xcode -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Looking for shm_open in rt -- Looking for shm_open in rt - not found -- Looking for dlopen in dl -- Looking for dlopen in dl - found -- Boost version: 1.51.0 -- Found the following Boost libraries: -- filesystem -- locale -- program_options -- system -- thread -- Found ZLIB: /usr/lib/libz.dylib (found version "1.2.5") -- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.28") -- checking for module 'libavcodec' -- found libavcodec, version 56.1.100 -- checking for module 'libavformat' -- found libavformat, version 56.4.101 -- checking for module 'libavdevice' -- found libavdevice, version 56.0.100 -- checking for module 'libavutil' -- found libavutil, version 54.7.100 -- checking for module 'libswscale' -- found libswscale, version 3.0.100 -- checking for module 'libpostproc' -- found libpostproc, version 53.0.100 -- Found FFmpeg: /Volumes/kuglee/vcmi/lib/libavcodec.a;/Volumes/kuglee/vcmi/lib/libavformat.a;/Volumes/kuglee/vcmi/lib/libavutil.a;/Volumes/kuglee/vcmi/lib/libswscale.a;-framework VideoDecodeAcceleration -framework CoreVideo -lbz2 -- checking for module 'minizip' -- found minizip, version 1.2.8 -- Found MINIZIP: /usr/local/Cellar/minizip/1.1/lib/libminizip.dylib (found version "1.2.8") -- checking for module 'sdl2' -- found sdl2, version 2.0.3 -- Found SDL2: /usr/local/lib/libSDL2.dylib;-framework Cocoa (found version "2.0.3") -- checking for module 'SDL2_image' -- found SDL2_image, version 2.0.0 -- Found SDL2_image: /usr/local/lib/libSDL2_image.dylib (found version "2.0.0") -- checking for module 'SDL2_mixer' -- found SDL2_mixer, version 2.0.0 -- Found SDL2_mixer: /usr/local/lib/libSDL2_mixer.dylib -- checking for module 'SDL2_ttf' -- found SDL2_ttf, version 2.0.12 -- Found SDL2_ttf: /usr/local/lib/libSDL2_ttf.dylib (found version "2.0.12") -- cotire 1.6.6 loaded. -- CXX target vcmi cotired without unity build. -- C CXX target vcmiclient cotired without unity build and precompiled header. Exclusion of source files not supported for generator Xcode. -- CXX target vcmiserver cotired without unity build. -- CXX target BattleAI cotired without unity build. -- CXX target StupidAI cotired without unity build. -- CXX target VCAI cotired without unity build. -- Configuring done CMake Warning (dev) at client/CMakeLists.txt:79 (add_dependencies): Policy CMP0046 is not set: Error on non-existent dependency in add_dependencies. Run "cmake --help-policy CMP0046" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The dependency target "minizip" of target "vcmiclient" does not exist. This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev): Policy CMP0042 is not set: MACOSX_RPATH is enabled by default. Run "cmake --help-policy CMP0042" for policy details. Use the cmake_policy command to set the policy and suppress this warning. MACOSX_RPATH is not specified for the following targets: BattleAI EmptyAI StupidAI VCAI vcmi This warning is for project developers. Use -Wno-dev to suppress it. -- Generating done -- Build files have been written to: /Volumes/kuglee/vcmi/vcmi/build
Undefined symbols for architecture x86_64: "_SDL_CreateYUVOverlay", referenced from: CVideoPlayer::open(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, bool, bool) in CVideoHandler.o "_SDL_DisplayYUVOverlay", referenced from: CVideoPlayer::playVideo(int, int, SDL_Surface*, bool) in CVideoHandler.o "_SDL_EnableKeyRepeat", referenced from: setScreenRes(int, int, int, bool, bool) in CMT.o "_SDL_EnableUNICODE", referenced from: setScreenRes(int, int, int, bool, bool) in CMT.o "_SDL_FreeYUVOverlay", referenced from: CVideoPlayer::close() in CVideoHandler.o "_SDL_GetKeyState", referenced from: isShiftKeyDown() in CPlayerInterface.o isAltKeyDown() in CPlayerInterface.o isCtrlKeyDown() in CPlayerInterface.o isCtrlKeyDown() in CAdvmapInterface.o "_SDL_LockYUVOverlay", referenced from: CVideoPlayer::nextFrame() in CVideoHandler.o "_SDL_SetAlpha", referenced from: CPicture::setAlpha(int) in Images.o "_SDL_SetColors", referenced from: Graphics::blueToPlayersAdv(SDL_Surface*, PlayerColor) in Graphics.o SDLImageLoader::init(Point, Point, Point, SDL_Color*) in CAnimation.o CSDL_Ext::setPlayerColor(SDL_Surface*, PlayerColor) in SDL_Extensions.o shiftColors(SDL_Surface*, int, int) in mapHandler.o CBuildingRect::show(SDL_Surface*) in CCastleInterface.o "_SDL_SetVideoMode", referenced from: setScreenRes(int, int, int, bool, bool) in CMT.o fullScreenChanged() in CMT.o "_SDL_UnlockYUVOverlay", referenced from: CVideoPlayer::nextFrame() in CVideoHandler.o "_SDL_UpdateRect", referenced from: CVideoPlayer::show(int, int, SDL_Surface*, bool) in CVideoHandler.o CSDL_Ext::update(SDL_Surface*) in SDL_Extensions.o "_SDL_VideoModeOK", referenced from: setScreenRes(int, int, int, bool, bool) in CMT.o fullScreenChanged() in CMT.o "_SDL_WM_SetCaption", referenced from: setScreenRes(int, int, int, bool, bool) in CMT.o "_SDL_WarpMouse", referenced from: CCursorHandler::centerCursor() in CCursorHandler.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
I’ve figured it out, sdl1 was provided in the xcode-pack. I’ve replaced the frameworks with sdl2. It builds now. (I had to copy libminizip.dylib to the bin directory and the WoG files from 0.95 OS X build because xcode-pack doesn’t have them.)
The game loads, everything is fine until I start a game, when vcmi crashes.
I have same problem with Kuglee, every thing goes well until I clicked the Begin to start a new game. server log is attached below.
16:09:09.109644 DEBUG global [0x7fff70fb4300] - Fog of war 16:09:09.111351 DEBUG global [0x7fff70fb4300] - Checking objectives 16:09:09.111411 INFO global [0x7fff70fb4300] - Seed after init is 1120231476 (before was 1414224548) 16:09:09.111538 INFO global [0x7fff70fb4300] - Gamestate initialized! 16:09:09.114354 TRACE global [0x7fff70fb4300] - Entering void CGameHandler::run(bool): resume=0. 16:09:09.223966 INFO global [0x7fff70fb4300] - Connection 1 will handle 5 player: 0 1 5 6 255 16:09:09.224721 TRACE global [0x7fff70fb4300] - Turn 1 16:09:09.226067 TRACE global [0x7fff70fb4300] - Sending to all clients a package of type 11318SetAvailableHeroes 16:09:09.226167 ERROR network [0x7fff70fb4300] - CPack serialized... this should not happen! 16:09:09.226581 ERROR global [0x7fff70fb4300] - Error: signal 11: 16:09:09.238271 ERROR global [0x7fff70fb4300] - 0 vcmiserver 0x0000000100235be6 _Z17handleLinuxSignali + 38 16:09:09.238545 ERROR global [0x7fff70fb4300] - 1 libsystem_platform.dylib 0x00007fff811b4f1a _sigtramp + 26 16:09:09.238687 ERROR global [0x7fff70fb4300] - 2 ??? 0x00007fff5fbfb7a8 0x0 + 140734799787944 16:09:09.238863 ERROR global [0x7fff70fb4300] - 3 vcmiserver 0x0000000100033848 _ZN12CGameHandler12sendAndApplyEP14CPackForClient + 72 16:09:09.239058 ERROR global [0x7fff70fb4300] - 4 vcmiserver 0x0000000100019b0f _ZN12CGameHandler7newTurnEv + 7583 16:09:09.239260 ERROR global [0x7fff70fb4300] - 5 vcmiserver 0x00000001000227d3 _ZN12CGameHandler3runEb + 10947 16:09:09.239428 ERROR global [0x7fff70fb4300] - 6 vcmiserver 0x0000000100233f8a _ZN11CVCMIServer7newGameEv + 170 16:09:09.239623 ERROR global [0x7fff70fb4300] - 7 vcmiserver 0x00000001002350a5 _ZN11CVCMIServer5startEv + 2965 16:09:09.239814 ERROR global [0x7fff70fb4300] - 8 vcmiserver 0x0000000100236130 main + 816 16:09:09.240000 ERROR global [0x7fff70fb4300] - 9 libdyld.dylib 0x00007fff905b85c9 start + 1 16:09:09.240154 ERROR global [0x7fff70fb4300] - 10 ??? 0x0000000000000002 0x0 + 2
This is related to 2306. As soon as we sort out what’s going on, vcmi will become playable on MacOSX.
Here is a prebuilt package from ff3896b6fe080aabeca59551434e9bc52289579c:
I followed instructions and It’s work well, but is there a way to use launcher ?
Where all prebuilt stable releases are? Couldn’t find one for version 0.99, so I created it by myself. This package maybe useful for people with «App Transport Security» error.
0.99 dmg for OS X (no launcher, compiled on El Capitan 10.11.6): dl.dropbox.com/s/tzb91n8nuvhsle5/vcmi-0.99.dmg?dl=1
But before you open app, you must install dependencies in Terminal:
brew install smpeg2 innoextract libpng freetype brew install sdl sdl2 sdl2_ttf sdl2_image boost brew install sdl2_mixer --with-smpeg2
After the VCMI installation is complete, perhaps you’d like to change screen resolution. It’s hard without a launcher, but possible to do in a number of ways:
enable «Extra resolutions» mod in launcher on Windows and then copy configuration files from Windows to Mac;
or just download and unzip my packed config: dl.dropbox.com/s/ictmw380ubifkf4/MacOsX_Resolutions.zip?dl=1
Then open VCMI home dir using Terminal:
cd "$HOME/Library/Application Support/vcmi" open .
and overwrite «config», «downloads», «Mods» folders with unzipped ones.