英雄无敌3(跨平台含手机)

Vadim Markovtsev 2bfc8ec8cb Fix AI hero infinite move on the same tile пре 9 година
AI 2bfc8ec8cb Fix AI hero infinite move on the same tile пре 9 година
Mods c6f714db9c Fixed generation of CPU teams. пре 10 година
client 7c7bb39904 Enable right mouse button click emulation on MacOSX пре 9 година
cmake_modules 941dcee0f5 Fix AI and VCAI CMakeLists.txt пре 11 година
config e91d79414b PathfinderOptions: use settings and move all defaults into schema пре 10 година
debian c3ea9637dd Debian: change rules to use SDL2 and update changelog for 0.98 пре 10 година
editor b551bdb725 Final part of the merge пре 11 година
launcher faa7cbff18 Fixed gcc/clang warnings пре 10 година
lib 575a68d78b CRewardableObject: fix onVisited message duplication for Idol of Fortune пре 9 година
osx 145df56126 different data file locations for different iso files пре 11 година
rpm 0914bb3edf RPM: build with RelWithDebInfo instead of Release пре 10 година
scripting 9fd1cff090 Refactoring: always use std prefix for shared_ptr, unique_ptr and make_shared пре 9 година
server 4a05402c2f Revert 5cd4e852d49a988157d04349db6350322de59342 "Use portable cast in CTeleportDialogQuery also" пре 9 година
test 03a295f1a0 Added debug mingw64 build, minimum Windows version set to windows 7, SDL suffixes removed from Build Tagerts пре 10 година
.gitignore 460227ec23 GitIgnore пре 10 година
.travis.yml 93ebdb7893 [travis] drop unnecessary repository. пре 10 година
AUTHORS 9b2cc33f09 Added my contact email address пре 10 година
CCallback.cpp 9fd1cff090 Refactoring: always use std prefix for shared_ptr, unique_ptr and make_shared пре 9 година
CCallback.h 9fd1cff090 Refactoring: always use std prefix for shared_ptr, unique_ptr and make_shared пре 9 година
CMakeLists.txt 4124aacac8 CMake: add dbghelp to SYSTEM_LIBS for MiniDumpWriteDump. Fix issue 2312 пре 10 година
ChangeLog 676f078b2e RMG will now multiply Monolith defs to ensure there are at least 100 pairs avaiable for connections. пре 9 година
Global.h 9fd1cff090 Refactoring: always use std prefix for shared_ptr, unique_ptr and make_shared пре 9 година
README.linux aefe5923fd update sdl packages for Ubuntu/Debian to 2.0 пре 10 година
README.md a5998353c6 Update year to 2015 in readme пре 10 година
VCMI_VS10.sln b1428bcd24 - Compile fix for editor - Renamed /Editor to /editor and Scripting/ERM to scripting/erm - Removed unused ipch folder and format file - Removed ancient lua folder пре 12 година
VCMI_VS11.sln 9e7013de77 Backup for my own MVS project configuration пре 11 година
VCMI_global.props a50e9219c2 Launcher works for me. пре 12 година
VCMI_global_debug.props 6ac70d6a0b Partially reverting r3191: DLL_LINKAGE on registerTypes def breaks compilation for MSVC. The function definition cannot be marked as dll import (and that happened, when it was included in CGameHandler.cpp) пре 12 година
VCMI_global_release.props bcf8cab19a Project files update/cleanup. пре 13 година
VCMI_global_user.props a50e9219c2 Launcher works for me. пре 12 година
license.txt 645ed84978 * license (GPL v2 or later) пре 17 година
vcmi.workspace 877634b3a3 Define public interface of CDrawRoadsOperation пре 10 година
vcmibuilder c54dc4c847 Fix portability issues on MacOSX пре 10 година
vcmimanual.tex 9c0df68cb8 Fixing spelling mistakes. Patch from josch, fixes #1759 пре 11 година

README.linux

This readme covers VCMI compilation on Unix-like systems.

To run the game you will need:
1) Heroes 3 data files (SoD or Complete editions);
2) VCMI data pack (http://download.vcmi.eu/core.zip)
All of them can be installed manually or using vcmibuilder script

For complete installation instructions see VCMI wiki:
http://wiki.vcmi.eu/index.php?title=Installation_on_Linux#Preparing_data

I. Prerequisites

To compile, the following packages (and their development counterparts) are needed to build:
* libstdc++ devel
* CMake build system
* SDL and SDL-devel
* SDL_mixer and SDL_mixer-devel
* SDL_image and SDL_image-devel
* SDL_ttf and SDL_ttf-devel
* zlib and zlib-devel
* (optional) Qt 5, widget and network modules
* the ffmpeg libraries (libavformat and libswscale). Their name could be libavformat-devel and libswscale-devel, or ffmpeg-libs-devel or similar names.
* boost c++ libraries v1.50+ (www.boost.org):
- program-options
- filesystem
- system
- thread
- locale

On Debian-based systems (e.g. Ubuntu) run:
sudo apt-get install cmake g++ libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libsdl2-mixer-dev zlib1g-dev libavformat-dev libswscale-dev libboost-dev libboost-filesystem-dev libboost-system-dev libboost-thread-dev libboost-program-options-dev libboost-locale-dev qtbase5-dev

On RPM-based distributions (e.g. Fedora) run:
sudo yum install cmake gcc-c++ SDL2-devel SDL2_image-devel SDL2_ttf-devel SDL2_mixer-devel boost boost-devel boost-filesystem boost-system boost-thread boost-program-options boost-locale zlib-devel ffmpeg-devel ffmpeg-libs qt5-qtbase-devel

On Arch-based distributions, there is a development package available for VCMI on the AUR. It can be found at:
https://aur.archlinux.org/packages/vcmi-git/

Information about building packages from the Arch User Repository (AUR) can be
found at the Arch wiki.

II. Getting the sources

VCMI is still in development. We recommend the following initial directory structure:
trunk
trunk/vcmi -> contains sources and is under git control
trunk/build -> contains build output, makefiles, object files,...

You can get latest sources with subversion:
git clone https://github.com/vcmi/vcmi.git

III. Compilation

Run configure:
mkdir build && cd build
cmake ../vcmi

Additional options that you may want to use:
To enable debugging: -DCMAKE_BUILD_TYPE=Debug
To change installation directory: -DCMAKE_INSTALL_PREFIX=$absolute_path_to_directory

Notice:
The ../vcmi/ is not a typo, it will place makefile scripts into the build dir
as the build dir is your working dir when calling CMake.

Then build vcmi:
make -j2 (j2 = compile with 2 threads, you can specify any value)

That will generate vcmiclient, vcmiserver, vcmilauncher as well as 3 .so libraries.

III. Installing binaries

To install VCMI you can use "make install" command however generation of distribution-specific packages is usually a better idea. In most cases this can be achieved using tool called "checkinstall"

If you're compiling vcmi for development puposes, the easiest is to use cmake prefix and then make install:

# mkdir .../trunk/install
# cmake -DCMAKE_INSTALL_PREFIX=.../trunk/install ../vcmi
# make && make install
# .../trunk/install/bin/vcmiclient


it's better to use links instead.
Go to /BIN_PATH/, and type:

ln -s .../trunk/build/client/vcmiclient
ln -s .../trunk/build/server/vcmiserver
ln -s .../trunk/build/launcher/vcmilauncher

Go to /LIB_PATH/vcmi, and type:

ln -s .../trunk/build/lib/libvcmi.so libvcmi.so

Go to /LIB_PATH/vcmi/AI, and type:
ln -s .../trunk/build/AI/VCAI/VCAI.so
ln -s .../trunk/build/AI/StupidAI/StupidAI.so
ln -s .../trunk/build/AI/BattleAI/BattleAI.so

Go to /DATA_PATH/vcmi, and type:
ln -s .../trunk/source/config
ln -s .../trunk/source/Mods

IV. Compiling documentation

To compile using Doxygen, the UseDoxygen CMake module must be installed. It can
be fetched from: http://tobias.rautenkranz.ch/cmake/doxygen/

Once UseDoxygen is installed, run:
cmake .
make doc

The built documentation will be available from ./doc