mirror of
https://github.com/vcmi/vcmi.git
synced 2024-11-28 08:48:48 +02:00
Made all paths dependent on DATA_DIR, USER_DIR, BIN_DIR or LIB_DIR. Data access can now be separated from saved games and binaries.
Fixed a file handle leak. Bumped revision to 0.74b (linux). Reworked the build system to remove uneeded dependencies (linux). Removed use of PATHSEPARATOR since Windows can use / too.
This commit is contained in:
parent
8d34b602b3
commit
1609b8fdb9
@ -1,5 +1,5 @@
|
|||||||
pkglib_LTLIBRARIES = EmptyAI.la
|
pkglib_LTLIBRARIES = EmptyAI.la
|
||||||
EmptyAI_la_LIBADD = $(top_builddir)/lib/libvcmi.la @BOOST_SYSTEM_LIB@ @BOOST_FILESYSTEM_LIB@ @BOOST_THREAD_LIB@
|
EmptyAI_la_LIBADD = $(top_builddir)/lib/libvcmi.la
|
||||||
EmptyAI_la_LDFLAGS = -L$(top_builddir)/lib -module
|
EmptyAI_la_LDFLAGS = -L$(top_builddir)/lib -module
|
||||||
EmptyAI_la_SOURCES = \
|
EmptyAI_la_SOURCES = \
|
||||||
CEmptyAI.cpp \
|
CEmptyAI.cpp \
|
||||||
|
@ -218,7 +218,7 @@ top_build_prefix = @top_build_prefix@
|
|||||||
top_builddir = @top_builddir@
|
top_builddir = @top_builddir@
|
||||||
top_srcdir = @top_srcdir@
|
top_srcdir = @top_srcdir@
|
||||||
pkglib_LTLIBRARIES = EmptyAI.la
|
pkglib_LTLIBRARIES = EmptyAI.la
|
||||||
EmptyAI_la_LIBADD = $(top_builddir)/lib/libvcmi.la @BOOST_SYSTEM_LIB@ @BOOST_FILESYSTEM_LIB@ @BOOST_THREAD_LIB@
|
EmptyAI_la_LIBADD = $(top_builddir)/lib/libvcmi.la
|
||||||
EmptyAI_la_LDFLAGS = -L$(top_builddir)/lib -module
|
EmptyAI_la_LDFLAGS = -L$(top_builddir)/lib -module
|
||||||
EmptyAI_la_SOURCES = \
|
EmptyAI_la_SOURCES = \
|
||||||
CEmptyAI.cpp \
|
CEmptyAI.cpp \
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
pkglib_LTLIBRARIES = GeniusAI.la
|
pkglib_LTLIBRARIES = GeniusAI.la
|
||||||
GeniusAI_la_LIBADD = $(top_builddir)/lib/libvcmi.la @BOOST_SYSTEM_LIB@ @BOOST_FILESYSTEM_LIB@ @BOOST_THREAD_LIB@
|
GeniusAI_la_LIBADD = $(top_builddir)/lib/libvcmi.la
|
||||||
GeniusAI_la_LDFLAGS = -L$(top_builddir)/lib -module
|
GeniusAI_la_LDFLAGS = -L$(top_builddir)/lib -module
|
||||||
GeniusAI_la_SOURCES = \
|
GeniusAI_la_SOURCES = \
|
||||||
AIPriorities.cpp \
|
AIPriorities.cpp \
|
||||||
|
@ -220,7 +220,7 @@ top_build_prefix = @top_build_prefix@
|
|||||||
top_builddir = @top_builddir@
|
top_builddir = @top_builddir@
|
||||||
top_srcdir = @top_srcdir@
|
top_srcdir = @top_srcdir@
|
||||||
pkglib_LTLIBRARIES = GeniusAI.la
|
pkglib_LTLIBRARIES = GeniusAI.la
|
||||||
GeniusAI_la_LIBADD = $(top_builddir)/lib/libvcmi.la @BOOST_SYSTEM_LIB@ @BOOST_FILESYSTEM_LIB@ @BOOST_THREAD_LIB@
|
GeniusAI_la_LIBADD = $(top_builddir)/lib/libvcmi.la
|
||||||
GeniusAI_la_LDFLAGS = -L$(top_builddir)/lib -module
|
GeniusAI_la_LDFLAGS = -L$(top_builddir)/lib -module
|
||||||
GeniusAI_la_SOURCES = \
|
GeniusAI_la_SOURCES = \
|
||||||
AIPriorities.cpp \
|
AIPriorities.cpp \
|
||||||
|
@ -39,7 +39,7 @@ CGlobalAI * CAIHandler::getNewAI(CCallback * cb, std::string dllname)
|
|||||||
getName = (void(*)(char*))GetProcAddress(dll,"GetAiName");
|
getName = (void(*)(char*))GetProcAddress(dll,"GetAiName");
|
||||||
getAI = (CGlobalAI*(*)())GetProcAddress(dll,"GetNewAI");
|
getAI = (CGlobalAI*(*)())GetProcAddress(dll,"GetNewAI");
|
||||||
#else
|
#else
|
||||||
dllPath = "AI/"+dllname+".so";
|
dllPath = LIB_DIR "/" + dllname + ".so";
|
||||||
void *dll = dlopen(dllPath.c_str(), RTLD_LOCAL | RTLD_LAZY);
|
void *dll = dlopen(dllPath.c_str(), RTLD_LOCAL | RTLD_LAZY);
|
||||||
if (!dll)
|
if (!dll)
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
ACLOCAL_AMFLAGS = -I aclocal/m4
|
ACLOCAL_AMFLAGS = -I aclocal/m4
|
||||||
EXTRA_DIST = aclocal/m4
|
EXTRA_DIST = aclocal/m4 README.linux
|
||||||
AM_CXXFLAGS = @BOOST_CPPFLAGS@
|
|
||||||
AM_LDFLAGS = @BOOST_LDFLAGS@
|
|
||||||
SUBDIRS = lib client server AI
|
SUBDIRS = lib client server AI
|
||||||
|
|
||||||
|
|
||||||
|
@ -206,9 +206,7 @@ top_build_prefix = @top_build_prefix@
|
|||||||
top_builddir = @top_builddir@
|
top_builddir = @top_builddir@
|
||||||
top_srcdir = @top_srcdir@
|
top_srcdir = @top_srcdir@
|
||||||
ACLOCAL_AMFLAGS = -I aclocal/m4
|
ACLOCAL_AMFLAGS = -I aclocal/m4
|
||||||
EXTRA_DIST = aclocal/m4
|
EXTRA_DIST = aclocal/m4 README.linux
|
||||||
AM_CXXFLAGS = @BOOST_CPPFLAGS@
|
|
||||||
AM_LDFLAGS = @BOOST_LDFLAGS@
|
|
||||||
SUBDIRS = lib client server AI
|
SUBDIRS = lib client server AI
|
||||||
all: all-recursive
|
all: all-recursive
|
||||||
|
|
||||||
|
55
README.linux
55
README.linux
@ -24,20 +24,19 @@ To compile, at least the following packages (and their development counterparts)
|
|||||||
On Ubuntu 9.04, run:
|
On Ubuntu 9.04, run:
|
||||||
sudo apt-get install g++ libsdl1.2debian-all libsdl-image1.2-dev libsdl-ttf2.0-dev libsdl-mixer1.2-dev zlib1g-dev libavformat-dev libswscale-dev libboost1.37-dev
|
sudo apt-get install g++ libsdl1.2debian-all libsdl-image1.2-dev libsdl-ttf2.0-dev libsdl-mixer1.2-dev zlib1g-dev libavformat-dev libswscale-dev libboost1.37-dev
|
||||||
|
|
||||||
|
Create a directory /YOUR_INSTALL_PATH/vcmi (such as
|
||||||
|
/usr/local/share/games/vcmi) that will contain the game data files. The /vcmi at the end is necessary.
|
||||||
|
|
||||||
Then do the usual
|
Then run configure:
|
||||||
./configure
|
./configure --datadir=/YOUR_INSTALL_PATH/ --bindir=/YOUR_INSTALL_PATH/vcmi --libdir=/YOUR_INSTALL_PATH/
|
||||||
|
|
||||||
Note that on 64 bits linux, if the boost libraries are installed in /usr/lib64, configure will not find them and will fail. Until this is fixed, use:
|
On 64 bits linux (such as OpenSUSE but not Ubuntu), if the boost
|
||||||
./configure --with-boost-libdir=/usr/lib64
|
libraries are installed in /usr/lib64, configure will not find them
|
||||||
|
and will fail. Until this is fixed, add the following option to
|
||||||
|
./configure: --with-boost-libdir=/usr/lib64
|
||||||
|
|
||||||
Note: if you've not installed everything, some files will be missing, and you may want to hack your system (don't) such as:
|
If you want to use the Intel C++ compiler, add the following option to ./configure:
|
||||||
=============
|
CXX="icc -diag-disable 383,981,1418,869,1563,2259,1782,444,271,1,10156,1419"
|
||||||
Another note on ubuntu(posible others to) - create symlincs to correct libnames in /usr/lib
|
|
||||||
eg:
|
|
||||||
sudo ln -s libswscale.so.0.7.1 libswscale.so
|
|
||||||
sudo ln -s libavformat.so.52 libavformat.so
|
|
||||||
=============
|
|
||||||
|
|
||||||
Then build vcmi:
|
Then build vcmi:
|
||||||
make
|
make
|
||||||
@ -47,37 +46,45 @@ That will generate vcmiclient, vcmiserver as well as 3 .so libraries.
|
|||||||
|
|
||||||
II. Installing Heroes of Might and Magic 3
|
II. Installing Heroes of Might and Magic 3
|
||||||
|
|
||||||
VCMI needs an installed version of Heroes III as well as WoG on top of it.
|
VCMI needs an installed version of Heroes III as well as WoG on top of
|
||||||
The version of Heroes needed is (I think!) Shadow of Death or Complete.
|
it. The version of Heroes needed is (I think!) either Shadow of Death
|
||||||
|
or Complete.
|
||||||
|
|
||||||
Wog can be downloaded from: http://www.maps4heroes.com/heroes3/files/allinone_358f.zip
|
Wog can be downloaded from: http://www.maps4heroes.com/heroes3/files/allinone_358f.zip
|
||||||
|
|
||||||
Wine can be used to install both.
|
Wine can be used to install both.
|
||||||
|
|
||||||
|
Install Heroes 3 and Wog. Then move all the installed files into
|
||||||
|
/YOUR_INSTALL_PATH/vcmi. For instance that will create
|
||||||
|
/YOUR_INSTALL_PATH/vcmi/Data.
|
||||||
|
|
||||||
Once both programs are installed, you can install VCMI.
|
Once both programs are installed, you can install VCMI.
|
||||||
|
|
||||||
Download the windows VCMI release (at time of writing: http://vcmi.antypika.aplus.pl/forum/dload.php?action=download&id=11) and extract it in a private directory. Then move some files to your Heroes3 directory:
|
Download the windows VCMI release (at time of writing:
|
||||||
mv sprites /PATH_TO_H3_DIR/Sprites
|
http://vcmi.antypika.aplu...=download&id=14)
|
||||||
mv Data/* /PATH_TO_H3_DIR/Data
|
and extract it in a private directory. Populate /YOUR_INSTALL_PATH/vcmi:
|
||||||
mv Fonts Games /PATH_TO_H3_DIR/
|
|
||||||
|
mv sprites /YOUR_INSTALL_PATH/vcmi/Sprites
|
||||||
|
mv Data/* /YOUR_INSTALL_PATH/vcmi/Data
|
||||||
|
mv Fonts Games /YOUR_INSTALL_PATH/vcmi/
|
||||||
|
|
||||||
If you also have the original linux version of Heroes, you can also install the videos:
|
If you also have the original linux version of Heroes, you can also install the videos:
|
||||||
cp -a /PATH_TO_CDROM/data/video /PATH_TO_H3_DIR/Data
|
cp -a /PATH_TO_CDROM/data/video /YOUR_INSTALL_PATH/vcmi/Data
|
||||||
|
|
||||||
|
|
||||||
III. Installing VCMI
|
III. Installing VCMI
|
||||||
|
|
||||||
Since VCMI is still in development, there's no install procedure, although something like
|
Since VCMI is still in development, there's no install procedure, although something like
|
||||||
DESTDIR=/path/to/heroes3 make install
|
DESTDIR=/path/to/heroes3 make install
|
||||||
might work.
|
will work.
|
||||||
|
|
||||||
|
For development puposes, it's better to use links. Go
|
||||||
|
to /YOUR_INSTALL_PATH/vcmi, and type:
|
||||||
|
|
||||||
For development puposes, it's better to use links. Go to your new Heroes3 directory, and type:
|
|
||||||
ln -s /PATH_TO_VCMI/client/vcmiclient
|
ln -s /PATH_TO_VCMI/client/vcmiclient
|
||||||
ln -s /PATH_TO_VCMI/server/vcmiserver
|
ln -s /PATH_TO_VCMI/server/vcmiserver
|
||||||
ln -s /PATH_TO_VCMI/config
|
ln -s /PATH_TO_VCMI/config
|
||||||
ln -s /PATH_TO_VCMI/AI/GeniusAI/.libs AI
|
ln -s /PATH_TO_VCMI/AI/GeniusAI/.libs/GeniusAI.so
|
||||||
|
|
||||||
|
|
||||||
And start ./vcmiclient
|
And start ./vcmiclient
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -85,7 +85,7 @@ CMinimap::CMinimap(bool draw)
|
|||||||
SDL_SetColorKey(radar,SDL_SRCCOLORKEY,SDL_MapRGB(radar->format,0,255,255));
|
SDL_SetColorKey(radar,SDL_SRCCOLORKEY,SDL_MapRGB(radar->format,0,255,255));
|
||||||
|
|
||||||
//radar = CDefHandler::giveDef("RADAR.DEF");
|
//radar = CDefHandler::giveDef("RADAR.DEF");
|
||||||
std::ifstream is("config/minimap.txt",std::ifstream::in);
|
std::ifstream is(DATA_DIR "/config/minimap.txt",std::ifstream::in);
|
||||||
for (int i=0;i<TERRAIN_TYPES;i++)
|
for (int i=0;i<TERRAIN_TYPES;i++)
|
||||||
{
|
{
|
||||||
std::pair<int,SDL_Color> vinya;
|
std::pair<int,SDL_Color> vinya;
|
||||||
|
@ -187,7 +187,7 @@ SDL_Surface * BitmapHandler::loadBitmap(std::string fname, bool setKey)
|
|||||||
if(e->offset<0)
|
if(e->offset<0)
|
||||||
{
|
{
|
||||||
fname.replace(fname.find_first_of('.'),fname.find_first_of('.')+4,".BMP");
|
fname.replace(fname.find_first_of('.'),fname.find_first_of('.')+4,".BMP");
|
||||||
fname = "Data/"+fname;
|
fname = DATA_DIR "/Data/" + fname;
|
||||||
FILE * f = fopen(fname.c_str(),"r");
|
FILE * f = fopen(fname.c_str(),"r");
|
||||||
if(f)
|
if(f)
|
||||||
{
|
{
|
||||||
|
@ -344,7 +344,7 @@ CConfigHandler::~CConfigHandler(void)
|
|||||||
void config::CConfigHandler::init()
|
void config::CConfigHandler::init()
|
||||||
{
|
{
|
||||||
std::vector<char> settings;
|
std::vector<char> settings;
|
||||||
std::ifstream ifs("config/settings.txt");
|
std::ifstream ifs(DATA_DIR "/config/settings.txt");
|
||||||
if(!ifs)
|
if(!ifs)
|
||||||
{
|
{
|
||||||
tlog1 << "Cannot open config/settings.txt !\n";
|
tlog1 << "Cannot open config/settings.txt !\n";
|
||||||
|
@ -92,11 +92,11 @@ void init()
|
|||||||
|
|
||||||
TTF_Init();
|
TTF_Init();
|
||||||
atexit(TTF_Quit);
|
atexit(TTF_Quit);
|
||||||
TNRB16 = TTF_OpenFont("Fonts" PATHSEPARATOR "tnrb.ttf",16);
|
TNRB16 = TTF_OpenFont(DATA_DIR "/Fonts/tnrb.ttf",16);
|
||||||
GEOR13 = TTF_OpenFont("Fonts" PATHSEPARATOR "georgia.ttf",13);
|
GEOR13 = TTF_OpenFont(DATA_DIR "/Fonts/georgia.ttf",13);
|
||||||
GEOR16 = TTF_OpenFont("Fonts" PATHSEPARATOR "georgia.ttf",16);
|
GEOR16 = TTF_OpenFont(DATA_DIR "/Fonts/georgia.ttf",16);
|
||||||
GEORXX = TTF_OpenFont("Fonts" PATHSEPARATOR "tnrb.ttf",22);
|
GEORXX = TTF_OpenFont(DATA_DIR "/Fonts/tnrb.ttf",22);
|
||||||
GEORM = TTF_OpenFont("Fonts" PATHSEPARATOR "georgia.ttf",10);
|
GEORM = TTF_OpenFont(DATA_DIR "/Fonts/georgia.ttf",10);
|
||||||
if(! (TNRB16 && GEOR16 && GEORXX && GEORM))
|
if(! (TNRB16 && GEOR16 && GEORXX && GEORM))
|
||||||
{
|
{
|
||||||
tlog1 << "One of the fonts couldn't be loaded!\n";
|
tlog1 << "One of the fonts couldn't be loaded!\n";
|
||||||
@ -106,7 +106,7 @@ void init()
|
|||||||
|
|
||||||
{
|
{
|
||||||
//read system options
|
//read system options
|
||||||
CLoadFile settings("config" PATHSEPARATOR "sysopts.bin");
|
CLoadFile settings(DATA_DIR "/config/sysopts.bin");
|
||||||
if(settings.sfile)
|
if(settings.sfile)
|
||||||
{
|
{
|
||||||
settings >> GDefaultOptions;
|
settings >> GDefaultOptions;
|
||||||
@ -326,7 +326,7 @@ void processCommand(const std::string &message)
|
|||||||
boost::filesystem::create_directory("Extracted_txts");
|
boost::filesystem::create_directory("Extracted_txts");
|
||||||
tlog0<<"Command accepted. Opening .lod file...\t";
|
tlog0<<"Command accepted. Opening .lod file...\t";
|
||||||
CLodHandler * txth = new CLodHandler;
|
CLodHandler * txth = new CLodHandler;
|
||||||
txth->init(std::string(DATA_DIR "Data" PATHSEPARATOR "H3bitmap.lod"),"");
|
txth->init(std::string(DATA_DIR "/Data/H3bitmap.lod"),"");
|
||||||
tlog0<<"done.\nScanning .lod file\n";
|
tlog0<<"done.\nScanning .lod file\n";
|
||||||
int curp=0;
|
int curp=0;
|
||||||
std::string pattern = ".TXT", pom;
|
std::string pattern = ".TXT", pom;
|
||||||
@ -335,7 +335,7 @@ void processCommand(const std::string &message)
|
|||||||
pom = txth->entries[i].nameStr;
|
pom = txth->entries[i].nameStr;
|
||||||
if(boost::algorithm::find_last(pom,pattern))
|
if(boost::algorithm::find_last(pom,pattern))
|
||||||
{
|
{
|
||||||
txth->extractFile(std::string("Extracted_txts" PATHSEPARATOR)+pom,pom);
|
txth->extractFile(std::string(DATA_DIR "/Extracted_txts/")+pom,pom);
|
||||||
}
|
}
|
||||||
if(i%8) continue;
|
if(i%8) continue;
|
||||||
int p2 = ((float)i/(float)txth->entries.size())*(float)100;
|
int p2 = ((float)i/(float)txth->entries.size())*(float)100;
|
||||||
|
@ -1563,12 +1563,12 @@ void SystemOptions::setMapScrollingSpeed( int newSpeed )
|
|||||||
|
|
||||||
void SystemOptions::settingsChanged()
|
void SystemOptions::settingsChanged()
|
||||||
{
|
{
|
||||||
CSaveFile settings("config" PATHSEPARATOR "sysopts.bin");
|
CSaveFile settings(DATA_DIR "/config/sysopts.bin");
|
||||||
|
|
||||||
if(settings.sfile)
|
if(settings.sfile)
|
||||||
settings << *this;
|
settings << *this;
|
||||||
else
|
else
|
||||||
tlog1 << "Cannot save settings to config" PATHSEPARATOR "sysopts.bin!\n";
|
tlog1 << "Cannot save settings to config/sysopts.bin!\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
void SystemOptions::apply()
|
void SystemOptions::apply()
|
||||||
|
@ -418,7 +418,7 @@ void SelectionTab::getFiles(std::vector<FileInfo> &out, const std::string &dirna
|
|||||||
{
|
{
|
||||||
tlog1 << "Cannot find " << dirname << " directory!\n";
|
tlog1 << "Cannot find " << dirname << " directory!\n";
|
||||||
}
|
}
|
||||||
fs::path tie( (fs::initial_path<fs::path>())/dirname );
|
fs::path tie(dirname);
|
||||||
fs::directory_iterator end_iter;
|
fs::directory_iterator end_iter;
|
||||||
for ( fs::directory_iterator file (tie); file!=end_iter; ++file )
|
for ( fs::directory_iterator file (tie); file!=end_iter; ++file )
|
||||||
{
|
{
|
||||||
@ -497,14 +497,14 @@ SelectionTab::SelectionTab(EState Type, const boost::function<void(CMapInfo *)>
|
|||||||
switch(type)
|
switch(type)
|
||||||
{
|
{
|
||||||
case newGame:
|
case newGame:
|
||||||
getFiles(toParse, "Maps", "h3m");
|
getFiles(toParse, DATA_DIR "/Maps", "h3m");
|
||||||
parseMaps(toParse);
|
parseMaps(toParse);
|
||||||
positions = 18;
|
positions = 18;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case loadGame:
|
case loadGame:
|
||||||
case saveGame:
|
case saveGame:
|
||||||
getFiles(toParse, "Games", "vlgm1");
|
getFiles(toParse, USER_DIR "/Games", "vlgm1");
|
||||||
parseGames(toParse);
|
parseGames(toParse);
|
||||||
if(type == loadGame)
|
if(type == loadGame)
|
||||||
{
|
{
|
||||||
@ -548,7 +548,7 @@ SelectionTab::SelectionTab(EState Type, const boost::function<void(CMapInfo *)>
|
|||||||
switch(type)
|
switch(type)
|
||||||
{
|
{
|
||||||
case newGame:
|
case newGame:
|
||||||
selectFName("Maps/Arrogance.h3m");
|
selectFName(DATA_DIR "Maps/Arrogance.h3m");
|
||||||
break;
|
break;
|
||||||
case loadGame:
|
case loadGame:
|
||||||
select(0);
|
select(0);
|
||||||
|
@ -160,7 +160,7 @@ void Graphics::loadPaletteAndColors()
|
|||||||
|
|
||||||
neutralColorPalette = new SDL_Color[32];
|
neutralColorPalette = new SDL_Color[32];
|
||||||
std::ifstream ncp;
|
std::ifstream ncp;
|
||||||
ncp.open("config/NEUTRAL.PAL", std::ios::binary);
|
ncp.open(DATA_DIR "/config/NEUTRAL.PAL", std::ios::binary);
|
||||||
for(int i=0; i<32; ++i)
|
for(int i=0; i<32; ++i)
|
||||||
{
|
{
|
||||||
ncp.read((char*)&neutralColorPalette[i].r,1);
|
ncp.read((char*)&neutralColorPalette[i].r,1);
|
||||||
@ -182,7 +182,7 @@ void Graphics::loadPaletteAndColors()
|
|||||||
}
|
}
|
||||||
neutralColor->r = 0x84; neutralColor->g = 0x84; neutralColor->b = 0x84; neutralColor->unused = 0x0;//gray
|
neutralColor->r = 0x84; neutralColor->g = 0x84; neutralColor->b = 0x84; neutralColor->unused = 0x0;//gray
|
||||||
|
|
||||||
std::ifstream bback("config/mageBg.txt");
|
std::ifstream bback(DATA_DIR "/config/mageBg.txt");
|
||||||
while(!bback.eof())
|
while(!bback.eof())
|
||||||
{
|
{
|
||||||
bback >> pals;
|
bback >> pals;
|
||||||
@ -193,7 +193,7 @@ void Graphics::loadPaletteAndColors()
|
|||||||
|
|
||||||
void Graphics::initializeBattleGraphics()
|
void Graphics::initializeBattleGraphics()
|
||||||
{
|
{
|
||||||
std::ifstream bback("config/battleBack.txt");
|
std::ifstream bback(DATA_DIR "/config/battleBack.txt");
|
||||||
battleBacks.resize(26);
|
battleBacks.resize(26);
|
||||||
for(int i=1; i<26; ++i) //25 - number of terrains battle can be fought on
|
for(int i=1; i<26; ++i) //25 - number of terrains battle can be fought on
|
||||||
{
|
{
|
||||||
@ -207,7 +207,7 @@ void Graphics::initializeBattleGraphics()
|
|||||||
}
|
}
|
||||||
|
|
||||||
//initializing battle hero animation
|
//initializing battle hero animation
|
||||||
std::ifstream bher("config/battleHeroes.txt");
|
std::ifstream bher(DATA_DIR "/config/battleHeroes.txt");
|
||||||
int numberofh;
|
int numberofh;
|
||||||
bher>>numberofh;
|
bher>>numberofh;
|
||||||
battleHeroes.resize(numberofh);
|
battleHeroes.resize(numberofh);
|
||||||
@ -218,7 +218,7 @@ void Graphics::initializeBattleGraphics()
|
|||||||
|
|
||||||
//initialization of AC->def name mapping
|
//initialization of AC->def name mapping
|
||||||
std::ifstream acd;
|
std::ifstream acd;
|
||||||
acd.open("config/AC_desc.txt", std::ios::binary);
|
acd.open(DATA_DIR "/config/AC_desc.txt", std::ios::binary);
|
||||||
if(!acd.is_open())
|
if(!acd.is_open())
|
||||||
{
|
{
|
||||||
tlog1<<"lack of config/AC_desc.txt file!"<<std::endl;
|
tlog1<<"lack of config/AC_desc.txt file!"<<std::endl;
|
||||||
@ -292,7 +292,7 @@ Graphics::Graphics()
|
|||||||
tasks += GET_DEF_ESS(abils82,"SECSK82.DEF");
|
tasks += GET_DEF_ESS(abils82,"SECSK82.DEF");
|
||||||
tasks += GET_DEF_ESS(spellscr,"SPELLSCR.DEF");
|
tasks += GET_DEF_ESS(spellscr,"SPELLSCR.DEF");
|
||||||
|
|
||||||
std::ifstream ifs("config/cr_bgs.txt");
|
std::ifstream ifs(DATA_DIR "/config/cr_bgs.txt");
|
||||||
int id;
|
int id;
|
||||||
std::string name;
|
std::string name;
|
||||||
while(!ifs.eof())
|
while(!ifs.eof())
|
||||||
@ -322,7 +322,7 @@ Graphics::Graphics()
|
|||||||
}
|
}
|
||||||
void Graphics::loadHeroPortraits()
|
void Graphics::loadHeroPortraits()
|
||||||
{
|
{
|
||||||
std::ifstream of("config/portrety.txt");
|
std::ifstream of(DATA_DIR "/config/portrety.txt");
|
||||||
int numberOfPortraits;
|
int numberOfPortraits;
|
||||||
of>>numberOfPortraits;
|
of>>numberOfPortraits;
|
||||||
for (int j=0; j<numberOfPortraits; j++)
|
for (int j=0; j<numberOfPortraits; j++)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
bin_PROGRAMS = vcmiclient
|
bin_PROGRAMS = vcmiclient
|
||||||
|
|
||||||
vcmiclient_LDADD = $(top_builddir)/lib/libvcmi.la @SDL_LIBS@ @BOOST_SYSTEM_LIB@ @BOOST_FILESYSTEM_LIB@ @BOOST_THREAD_LIB@ @BOOST_IOSTREAMS_LIB@ @FFMPEG_LIBS@
|
vcmiclient_LDADD = $(top_builddir)/lib/libvcmi.la @SDL_LIBS@ @FFMPEG_LIBS@
|
||||||
vcmiclient_CXXFLAGS = @CXXFLAGS@ @SDL_CXXFLAGS@ @FFMPEG_CXXFLAGS@
|
vcmiclient_CXXFLAGS = @SDL_CXXFLAGS@ @FFMPEG_CXXFLAGS@
|
||||||
vcmiclient_LDFLAGS = -L$(top_builddir)/lib
|
vcmiclient_LDFLAGS = -L$(top_builddir)/lib
|
||||||
vcmiclient_SOURCES = \
|
vcmiclient_SOURCES = \
|
||||||
../AI_Base.h \
|
../AI_Base.h \
|
||||||
|
@ -238,8 +238,8 @@ target_alias = @target_alias@
|
|||||||
top_build_prefix = @top_build_prefix@
|
top_build_prefix = @top_build_prefix@
|
||||||
top_builddir = @top_builddir@
|
top_builddir = @top_builddir@
|
||||||
top_srcdir = @top_srcdir@
|
top_srcdir = @top_srcdir@
|
||||||
vcmiclient_LDADD = $(top_builddir)/lib/libvcmi.la @SDL_LIBS@ @BOOST_SYSTEM_LIB@ @BOOST_FILESYSTEM_LIB@ @BOOST_THREAD_LIB@ @BOOST_IOSTREAMS_LIB@ @FFMPEG_LIBS@
|
vcmiclient_LDADD = $(top_builddir)/lib/libvcmi.la @SDL_LIBS@ @FFMPEG_LIBS@
|
||||||
vcmiclient_CXXFLAGS = @CXXFLAGS@ @SDL_CXXFLAGS@ @FFMPEG_CXXFLAGS@
|
vcmiclient_CXXFLAGS = @SDL_CXXFLAGS@ @FFMPEG_CXXFLAGS@
|
||||||
vcmiclient_LDFLAGS = -L$(top_builddir)/lib
|
vcmiclient_LDFLAGS = -L$(top_builddir)/lib
|
||||||
vcmiclient_SOURCES = \
|
vcmiclient_SOURCES = \
|
||||||
../AI_Base.h \
|
../AI_Base.h \
|
||||||
|
@ -541,7 +541,7 @@ void YourTurn::applyCl( CClient *cl )
|
|||||||
|
|
||||||
void SaveGame::applyCl(CClient *cl)
|
void SaveGame::applyCl(CClient *cl)
|
||||||
{
|
{
|
||||||
CSaveFile save("Games" PATHSEPARATOR + fname + ".vcgm1");
|
CSaveFile save("Games/" + fname + ".vcgm1");
|
||||||
save << *cl;
|
save << *cl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
22
configure
vendored
22
configure
vendored
@ -1,6 +1,6 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.63 for vcmi 0.73b.
|
# Generated by GNU Autoconf 2.63 for vcmi 0.74b.
|
||||||
#
|
#
|
||||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
||||||
# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
||||||
@ -743,8 +743,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
|
|||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='vcmi'
|
PACKAGE_NAME='vcmi'
|
||||||
PACKAGE_TARNAME='vcmi'
|
PACKAGE_TARNAME='vcmi'
|
||||||
PACKAGE_VERSION='0.73b'
|
PACKAGE_VERSION='0.74b'
|
||||||
PACKAGE_STRING='vcmi 0.73b'
|
PACKAGE_STRING='vcmi 0.74b'
|
||||||
PACKAGE_BUGREPORT=''
|
PACKAGE_BUGREPORT=''
|
||||||
|
|
||||||
# Factoring default headers for most tests.
|
# Factoring default headers for most tests.
|
||||||
@ -1490,7 +1490,7 @@ if test "$ac_init_help" = "long"; then
|
|||||||
# Omit some internal or obsolete options to make the list less imposing.
|
# Omit some internal or obsolete options to make the list less imposing.
|
||||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
\`configure' configures vcmi 0.73b to adapt to many kinds of systems.
|
\`configure' configures vcmi 0.74b to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
@ -1560,7 +1560,7 @@ fi
|
|||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
short | recursive ) echo "Configuration of vcmi 0.73b:";;
|
short | recursive ) echo "Configuration of vcmi 0.74b:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
@ -1687,7 +1687,7 @@ fi
|
|||||||
test -n "$ac_init_help" && exit $ac_status
|
test -n "$ac_init_help" && exit $ac_status
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
vcmi configure 0.73b
|
vcmi configure 0.74b
|
||||||
generated by GNU Autoconf 2.63
|
generated by GNU Autoconf 2.63
|
||||||
|
|
||||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
||||||
@ -1701,7 +1701,7 @@ cat >config.log <<_ACEOF
|
|||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
It was created by vcmi $as_me 0.73b, which was
|
It was created by vcmi $as_me 0.74b, which was
|
||||||
generated by GNU Autoconf 2.63. Invocation command line was
|
generated by GNU Autoconf 2.63. Invocation command line was
|
||||||
|
|
||||||
$ $0 $@
|
$ $0 $@
|
||||||
@ -2417,7 +2417,7 @@ fi
|
|||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE='vcmi'
|
PACKAGE='vcmi'
|
||||||
VERSION='0.73b'
|
VERSION='0.74b'
|
||||||
|
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
cat >>confdefs.h <<_ACEOF
|
||||||
@ -15237,6 +15237,8 @@ if test "x$GXX" = "xyes" -a "x$enable_debug" = "xyes" ; then
|
|||||||
CXXFLAGS="-O0 -ggdb -Wall -Wcast-align -Wpointer-arith"
|
CXXFLAGS="-O0 -ggdb -Wall -Wcast-align -Wpointer-arith"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
CXXFLAGS="$CXXFLAGS -DDATA_DIR=\\\"\$(pkgdatadir)\\\" -DBIN_DIR=\\\"\$(bindir)\\\" -DLIB_DIR=\\\"\$(pkglibdir)\\\""
|
||||||
|
|
||||||
# Check for Boost libraries
|
# Check for Boost libraries
|
||||||
|
|
||||||
|
|
||||||
@ -18598,7 +18600,7 @@ exec 6>&1
|
|||||||
# report actual input values of CONFIG_FILES etc. instead of their
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
ac_log="
|
||||||
This file was extended by vcmi $as_me 0.73b, which was
|
This file was extended by vcmi $as_me 0.74b, which was
|
||||||
generated by GNU Autoconf 2.63. Invocation command line was
|
generated by GNU Autoconf 2.63. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
@ -18652,7 +18654,7 @@ Report bugs to <bug-autoconf@gnu.org>."
|
|||||||
_ACEOF
|
_ACEOF
|
||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
vcmi config.status 0.73b
|
vcmi config.status 0.74b
|
||||||
configured by $0, generated by GNU Autoconf 2.63,
|
configured by $0, generated by GNU Autoconf 2.63,
|
||||||
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
|
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
# Process this file with autoconf to produce a configure script.
|
# Process this file with autoconf to produce a configure script.
|
||||||
|
|
||||||
AC_PREREQ(2.60)
|
AC_PREREQ(2.60)
|
||||||
AC_INIT(vcmi, 0.73b) # Follow NAME_VER in global.h
|
AC_INIT(vcmi, 0.74b) # Follow NAME_VER in global.h
|
||||||
AM_INIT_AUTOMAKE
|
AM_INIT_AUTOMAKE
|
||||||
AC_CONFIG_MACRO_DIR([aclocal/m4])
|
AC_CONFIG_MACRO_DIR([aclocal/m4])
|
||||||
|
|
||||||
@ -25,6 +25,8 @@ if test "x$GXX" = "xyes" -a "x$enable_debug" = "xyes" ; then
|
|||||||
CXXFLAGS="-O0 -ggdb -Wall -Wcast-align -Wpointer-arith"
|
CXXFLAGS="-O0 -ggdb -Wall -Wcast-align -Wpointer-arith"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
CXXFLAGS="$CXXFLAGS -DDATA_DIR=\\\"\$(pkgdatadir)\\\" -DBIN_DIR=\\\"\$(bindir)\\\" -DLIB_DIR=\\\"\$(pkglibdir)\\\""
|
||||||
|
|
||||||
# Check for Boost libraries
|
# Check for Boost libraries
|
||||||
AX_BOOST_BASE([1.36])
|
AX_BOOST_BASE([1.36])
|
||||||
AX_BOOST_SYSTEM
|
AX_BOOST_SYSTEM
|
||||||
|
24
global.h
24
global.h
@ -26,14 +26,28 @@ extern std::string NAME_AFFIX; //client / server
|
|||||||
#define CONSOLE_LOGGING_LEVEL 5
|
#define CONSOLE_LOGGING_LEVEL 5
|
||||||
#define FILE_LOGGING_LEVEL 6
|
#define FILE_LOGGING_LEVEL 6
|
||||||
|
|
||||||
|
/*
|
||||||
|
* DATA_DIR contains the game data (Data/, MP3/, ...).
|
||||||
|
* USER_DIR is where to save games (Games/).
|
||||||
|
* BIN_DIR is where the vcmiclient/vcmiserver binaries reside (linux only)
|
||||||
|
* LIB_DIR is where the AI libraries reside (linux only)
|
||||||
|
*/
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
#define PATHSEPARATOR "\\"
|
#define DATA_DIR "."
|
||||||
#define DATA_DIR ""
|
#define USER_DIR "."
|
||||||
#define SERVER_NAME "VCMI_server.exe"
|
#define SERVER_NAME "VCMI_server.exe"
|
||||||
#else
|
#else
|
||||||
#define PATHSEPARATOR "/"
|
#ifndef DATA_DIR
|
||||||
#define DATA_DIR ""
|
#error DATA_DIR undefined.
|
||||||
#define SERVER_NAME "./vcmiserver"
|
#endif
|
||||||
|
#ifndef BIN_DIR
|
||||||
|
#error BIN_DIR undefined.
|
||||||
|
#endif
|
||||||
|
#ifndef LIB_DIR
|
||||||
|
#error LIB_DIR undefined.
|
||||||
|
#endif
|
||||||
|
#define USER_DIR DATA_DIR // TODO: should be $HOME/.vcmi
|
||||||
|
#define SERVER_NAME BIN_DIR "/vcmiserver"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -99,7 +99,7 @@ void CBuildingHandler::loadBuildings()
|
|||||||
/////done reading BUILDING.TXT*****************************
|
/////done reading BUILDING.TXT*****************************
|
||||||
|
|
||||||
char line[100]; //bufor
|
char line[100]; //bufor
|
||||||
std::ifstream ofs("config/hall.txt");
|
std::ifstream ofs(DATA_DIR "/config/hall.txt");
|
||||||
int castles;
|
int castles;
|
||||||
ofs>>castles;
|
ofs>>castles;
|
||||||
for(int i=0;i<castles;i++)
|
for(int i=0;i<castles;i++)
|
||||||
|
@ -172,7 +172,7 @@ void CCreatureHandler::loadCreatures()
|
|||||||
bool useCreAbilsFromZCRTRAIT = true;
|
bool useCreAbilsFromZCRTRAIT = true;
|
||||||
|
|
||||||
////////////reading cr_abils.txt ///////////////////
|
////////////reading cr_abils.txt ///////////////////
|
||||||
std::ifstream abils("config" PATHSEPARATOR "cr_abils.txt", std::ios::in | std::ios::binary); //this file is not in lod
|
std::ifstream abils(DATA_DIR "/config/cr_abils.txt", std::ios::in | std::ios::binary); //this file is not in lod
|
||||||
const int MAX_LINE_SIZE = 1000;
|
const int MAX_LINE_SIZE = 1000;
|
||||||
char abilLine[MAX_LINE_SIZE+1];
|
char abilLine[MAX_LINE_SIZE+1];
|
||||||
for(int i=0; i<5; ++i) //removing 5 comment lines
|
for(int i=0; i<5; ++i) //removing 5 comment lines
|
||||||
@ -402,7 +402,7 @@ void CCreatureHandler::loadCreatures()
|
|||||||
|
|
||||||
tlog5 << "\t\tReading config/crerefnam.txt" << std::endl;
|
tlog5 << "\t\tReading config/crerefnam.txt" << std::endl;
|
||||||
//loading reference names
|
//loading reference names
|
||||||
std::ifstream ifs("config/crerefnam.txt");
|
std::ifstream ifs(DATA_DIR "/config/crerefnam.txt");
|
||||||
int tempi;
|
int tempi;
|
||||||
std::string temps;
|
std::string temps;
|
||||||
for (;;)
|
for (;;)
|
||||||
@ -419,7 +419,7 @@ void CCreatureHandler::loadCreatures()
|
|||||||
levelCreatures.insert(std::pair<int,std::vector<CCreature*> >(i,std::vector<CCreature*>()));
|
levelCreatures.insert(std::pair<int,std::vector<CCreature*> >(i,std::vector<CCreature*>()));
|
||||||
|
|
||||||
tlog5 << "\t\tReading config/monsters.txt" << std::endl;
|
tlog5 << "\t\tReading config/monsters.txt" << std::endl;
|
||||||
ifs.open("config/monsters.txt");
|
ifs.open(DATA_DIR "/config/monsters.txt");
|
||||||
{
|
{
|
||||||
while(!ifs.eof())
|
while(!ifs.eof())
|
||||||
{
|
{
|
||||||
@ -436,7 +436,7 @@ void CCreatureHandler::loadCreatures()
|
|||||||
ifs.clear();
|
ifs.clear();
|
||||||
|
|
||||||
tlog5 << "\t\tReading config/cr_factions.txt" << std::endl;
|
tlog5 << "\t\tReading config/cr_factions.txt" << std::endl;
|
||||||
ifs.open("config/cr_factions.txt");
|
ifs.open(DATA_DIR "/config/cr_factions.txt");
|
||||||
while(!ifs.eof())
|
while(!ifs.eof())
|
||||||
{
|
{
|
||||||
int id, fact;
|
int id, fact;
|
||||||
@ -447,7 +447,7 @@ void CCreatureHandler::loadCreatures()
|
|||||||
ifs.clear();
|
ifs.clear();
|
||||||
|
|
||||||
tlog5 << "\t\tReading config/cr_upgrade_list.txt" << std::endl;
|
tlog5 << "\t\tReading config/cr_upgrade_list.txt" << std::endl;
|
||||||
ifs.open("config/cr_upgrade_list.txt");
|
ifs.open(DATA_DIR "/config/cr_upgrade_list.txt");
|
||||||
while(!ifs.eof())
|
while(!ifs.eof())
|
||||||
{
|
{
|
||||||
int id, up;
|
int id, up;
|
||||||
@ -459,7 +459,7 @@ void CCreatureHandler::loadCreatures()
|
|||||||
|
|
||||||
//loading unit animation def names
|
//loading unit animation def names
|
||||||
tlog5 << "\t\tReading config/CREDEFS.TXT" << std::endl;
|
tlog5 << "\t\tReading config/CREDEFS.TXT" << std::endl;
|
||||||
std::ifstream inp("config/CREDEFS.TXT", std::ios::in | std::ios::binary); //this file is not in lod
|
std::ifstream inp(DATA_DIR "/config/CREDEFS.TXT", std::ios::in | std::ios::binary); //this file is not in lod
|
||||||
inp.seekg(0,std::ios::end); // na koniec
|
inp.seekg(0,std::ios::end); // na koniec
|
||||||
int andame2 = inp.tellg(); // read length
|
int andame2 = inp.tellg(); // read length
|
||||||
inp.seekg(0,std::ios::beg); // wracamy na poczatek
|
inp.seekg(0,std::ios::beg); // wracamy na poczatek
|
||||||
@ -507,7 +507,7 @@ void CCreatureHandler::loadCreatures()
|
|||||||
//loading id to projectile mapping
|
//loading id to projectile mapping
|
||||||
|
|
||||||
tlog5 << "\t\tReading config/cr_shots.txt" << std::endl;
|
tlog5 << "\t\tReading config/cr_shots.txt" << std::endl;
|
||||||
std::ifstream inp2("config" PATHSEPARATOR "cr_shots.txt", std::ios::in | std::ios::binary); //this file is not in lod
|
std::ifstream inp2(DATA_DIR "/config/cr_shots.txt", std::ios::in | std::ios::binary); //this file is not in lod
|
||||||
char dump [200];
|
char dump [200];
|
||||||
inp2.getline(dump, 200);
|
inp2.getline(dump, 200);
|
||||||
while(true)
|
while(true)
|
||||||
@ -529,7 +529,7 @@ void CCreatureHandler::loadCreatures()
|
|||||||
//reading factionToTurretCreature
|
//reading factionToTurretCreature
|
||||||
|
|
||||||
tlog5 << "\t\tReading config/cr_to_turret.txt" << std::endl;
|
tlog5 << "\t\tReading config/cr_to_turret.txt" << std::endl;
|
||||||
std::ifstream inp3("config" PATHSEPARATOR "cr_to_turret.txt", std::ios::in | std::ios::binary); //this file is not in lod
|
std::ifstream inp3(DATA_DIR "/config/cr_to_turret.txt", std::ios::in | std::ios::binary); //this file is not in lod
|
||||||
std::string dump2;
|
std::string dump2;
|
||||||
inp3 >> dump2 >> dump2;
|
inp3 >> dump2 >> dump2;
|
||||||
for(int g=0; g<F_NUMBER; ++g)
|
for(int g=0; g<F_NUMBER; ++g)
|
||||||
|
@ -134,7 +134,7 @@ CHeroHandler::CHeroHandler()
|
|||||||
void CHeroHandler::loadWallPositions()
|
void CHeroHandler::loadWallPositions()
|
||||||
{
|
{
|
||||||
std::ifstream inp;
|
std::ifstream inp;
|
||||||
inp.open("config" PATHSEPARATOR "wall_pos.txt", std::ios_base::in|std::ios_base::binary);
|
inp.open(DATA_DIR "/config/wall_pos.txt", std::ios_base::in|std::ios_base::binary);
|
||||||
if(!inp.is_open())
|
if(!inp.is_open())
|
||||||
{
|
{
|
||||||
tlog1<<"missing file: config/wall_pos.txt"<<std::endl;
|
tlog1<<"missing file: config/wall_pos.txt"<<std::endl;
|
||||||
@ -164,7 +164,7 @@ void CHeroHandler::loadWallPositions()
|
|||||||
void CHeroHandler::loadObstacles()
|
void CHeroHandler::loadObstacles()
|
||||||
{
|
{
|
||||||
std::ifstream inp;
|
std::ifstream inp;
|
||||||
inp.open("config" PATHSEPARATOR "obstacles.txt", std::ios_base::in|std::ios_base::binary);
|
inp.open(DATA_DIR "/config/obstacles.txt", std::ios_base::in|std::ios_base::binary);
|
||||||
if(!inp.is_open())
|
if(!inp.is_open())
|
||||||
{
|
{
|
||||||
tlog1<<"missing file: config/obstacles.txt"<<std::endl;
|
tlog1<<"missing file: config/obstacles.txt"<<std::endl;
|
||||||
@ -197,7 +197,7 @@ void CHeroHandler::loadObstacles()
|
|||||||
void CHeroHandler::loadPuzzleInfo()
|
void CHeroHandler::loadPuzzleInfo()
|
||||||
{
|
{
|
||||||
std::ifstream inp;
|
std::ifstream inp;
|
||||||
inp.open("config" PATHSEPARATOR "puzzle_map.txt", std::ios_base::in|std::ios_base::binary);
|
inp.open(DATA_DIR "/config/puzzle_map.txt", std::ios_base::in|std::ios_base::binary);
|
||||||
if(!inp.is_open())
|
if(!inp.is_open())
|
||||||
{
|
{
|
||||||
tlog1<<"missing file: config/puzzle_map.txt"<<std::endl;
|
tlog1<<"missing file: config/puzzle_map.txt"<<std::endl;
|
||||||
@ -306,7 +306,7 @@ void CHeroHandler::loadHeroes()
|
|||||||
//loading initial secondary skills
|
//loading initial secondary skills
|
||||||
{
|
{
|
||||||
std::ifstream inp;
|
std::ifstream inp;
|
||||||
inp.open("config" PATHSEPARATOR "heroes_sec_skills.txt", std::ios_base::in|std::ios_base::binary);
|
inp.open(DATA_DIR "/config/heroes_sec_skills.txt", std::ios_base::in|std::ios_base::binary);
|
||||||
if(!inp.is_open())
|
if(!inp.is_open())
|
||||||
{
|
{
|
||||||
tlog1<<"missing file: config/heroes_sec_skills.txt"<<std::endl;
|
tlog1<<"missing file: config/heroes_sec_skills.txt"<<std::endl;
|
||||||
@ -338,7 +338,7 @@ void CHeroHandler::loadHeroes()
|
|||||||
std::ifstream inp;
|
std::ifstream inp;
|
||||||
std::istringstream iss;
|
std::istringstream iss;
|
||||||
dump.clear();
|
dump.clear();
|
||||||
inp.open("config" PATHSEPARATOR "hero_spells.txt");
|
inp.open(DATA_DIR "/config/hero_spells.txt");
|
||||||
while(inp)
|
while(inp)
|
||||||
{
|
{
|
||||||
getline(inp, dump);
|
getline(inp, dump);
|
||||||
@ -517,7 +517,7 @@ ui64 CHeroHandler::reqExp (unsigned int level)
|
|||||||
void CHeroHandler::initTerrainCosts()
|
void CHeroHandler::initTerrainCosts()
|
||||||
{
|
{
|
||||||
std::ifstream inp;
|
std::ifstream inp;
|
||||||
inp.open("config" PATHSEPARATOR "TERCOSTS.TXT", std::ios_base::in|std::ios_base::binary);
|
inp.open(DATA_DIR "/config/TERCOSTS.TXT", std::ios_base::in|std::ios_base::binary);
|
||||||
|
|
||||||
if(!inp.is_open())
|
if(!inp.is_open())
|
||||||
{
|
{
|
||||||
@ -544,7 +544,7 @@ void CHeroHandler::initTerrainCosts()
|
|||||||
void CHeroHandler::loadNativeTerrains()
|
void CHeroHandler::loadNativeTerrains()
|
||||||
{
|
{
|
||||||
std::ifstream inp;
|
std::ifstream inp;
|
||||||
inp.open("config" PATHSEPARATOR "native_terrains.txt", std::ios_base::in|std::ios_base::binary);
|
inp.open(DATA_DIR "/config/native_terrains.txt", std::ios_base::in|std::ios_base::binary);
|
||||||
|
|
||||||
if(!inp.is_open())
|
if(!inp.is_open())
|
||||||
{
|
{
|
||||||
|
@ -55,12 +55,11 @@ unsigned char * CLodHandler::giveFile(std::string defName, int * length)
|
|||||||
if (ourEntry->offset<0) //file is in the sprites/ folder; no compression
|
if (ourEntry->offset<0) //file is in the sprites/ folder; no compression
|
||||||
{
|
{
|
||||||
unsigned char * outp = new unsigned char[ourEntry->realSize];
|
unsigned char * outp = new unsigned char[ourEntry->realSize];
|
||||||
char name[30];memset(name,0,30);
|
char name[30];
|
||||||
strcat(name, myDir.c_str());
|
sprintf(name, "%s/%s/%s", DATA_DIR, myDir.c_str(), ourEntry->nameStr.c_str());
|
||||||
strcat(name, PATHSEPARATOR);
|
|
||||||
strcat(name,ourEntry->nameStr.c_str());
|
|
||||||
FILE * f = fopen(name,"rb");
|
FILE * f = fopen(name,"rb");
|
||||||
int result = fread(outp,1,ourEntry->realSize,f);
|
int result = fread(outp,1,ourEntry->realSize,f);
|
||||||
|
fclose(f);
|
||||||
mutex->unlock();
|
mutex->unlock();
|
||||||
if(result<0) {tlog1<<"Error in file reading: "<<name<<std::endl;delete[] outp; return NULL;}
|
if(result<0) {tlog1<<"Error in file reading: "<<name<<std::endl;delete[] outp; return NULL;}
|
||||||
else
|
else
|
||||||
|
@ -88,7 +88,7 @@ void CSoundHandler::init()
|
|||||||
|
|
||||||
if (initialized)
|
if (initialized)
|
||||||
// Load sounds
|
// Load sounds
|
||||||
sndh = new CSndHandler(std::string(DATA_DIR "Data" PATHSEPARATOR "Heroes3.snd"));
|
sndh = new CSndHandler(std::string(DATA_DIR "/Data/Heroes3.snd"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSoundHandler::release()
|
void CSoundHandler::release()
|
||||||
@ -151,7 +151,7 @@ soundBase::soundID CSoundHandler::getSoundID(std::string &fileName)
|
|||||||
void CSoundHandler::initCreaturesSounds(std::vector<CCreature> &creatures)
|
void CSoundHandler::initCreaturesSounds(std::vector<CCreature> &creatures)
|
||||||
{
|
{
|
||||||
tlog5 << "\t\tReading config/cr_sounds.txt" << std::endl;
|
tlog5 << "\t\tReading config/cr_sounds.txt" << std::endl;
|
||||||
std::ifstream ifs("config/cr_sounds.txt");
|
std::ifstream ifs(DATA_DIR "/config/cr_sounds.txt");
|
||||||
std::string line;
|
std::string line;
|
||||||
|
|
||||||
while(getline(ifs, line))
|
while(getline(ifs, line))
|
||||||
@ -225,7 +225,7 @@ void CSoundHandler::initCreaturesSounds(std::vector<CCreature> &creatures)
|
|||||||
void CSoundHandler::initSpellsSounds(std::vector<CSpell> &spells)
|
void CSoundHandler::initSpellsSounds(std::vector<CSpell> &spells)
|
||||||
{
|
{
|
||||||
tlog5 << "\t\tReading config/sp_sounds.txt" << std::endl;
|
tlog5 << "\t\tReading config/sp_sounds.txt" << std::endl;
|
||||||
std::ifstream ifs("config/sp_sounds.txt");
|
std::ifstream ifs(DATA_DIR "/config/sp_sounds.txt");
|
||||||
std::string line;
|
std::string line;
|
||||||
|
|
||||||
while(getline(ifs, line))
|
while(getline(ifs, line))
|
||||||
@ -345,7 +345,7 @@ void CMusicHandler::playMusic(musicBase::musicID musicID, int loop)
|
|||||||
if (!initialized)
|
if (!initialized)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
std::string filename = DATA_DIR "Mp3" PATHSEPARATOR;
|
std::string filename = DATA_DIR "/Mp3/";
|
||||||
filename += musics[musicID];
|
filename += musics[musicID];
|
||||||
|
|
||||||
musicMutex.lock();
|
musicMutex.lock();
|
||||||
|
@ -132,7 +132,7 @@ void CObjectHandler::loadObjects()
|
|||||||
{
|
{
|
||||||
cregens[i]=-1;
|
cregens[i]=-1;
|
||||||
}
|
}
|
||||||
std::ifstream ifs("config/cregens.txt");
|
std::ifstream ifs(DATA_DIR "/config/cregens.txt");
|
||||||
while(!ifs.eof())
|
while(!ifs.eof())
|
||||||
{
|
{
|
||||||
int dw, cr;
|
int dw, cr;
|
||||||
@ -143,7 +143,7 @@ void CObjectHandler::loadObjects()
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::ifstream istr;
|
std::ifstream istr;
|
||||||
istr.open("config/bankconfig.txt", std::ios_base::binary);
|
istr.open(DATA_DIR "/config/bankconfig.txt", std::ios_base::binary);
|
||||||
if(!istr.is_open())
|
if(!istr.is_open())
|
||||||
{
|
{
|
||||||
tlog1 << "No config/bankconfig.txt file !!!\n";
|
tlog1 << "No config/bankconfig.txt file !!!\n";
|
||||||
|
@ -267,7 +267,7 @@ void CSpellHandler::loadSpells()
|
|||||||
}
|
}
|
||||||
//loading of additional spell traits
|
//loading of additional spell traits
|
||||||
std::ifstream ast;
|
std::ifstream ast;
|
||||||
ast.open("config/spell_info.txt", std::ios::binary);
|
ast.open(DATA_DIR "/config/spell_info.txt", std::ios::binary);
|
||||||
if(!ast.is_open())
|
if(!ast.is_open())
|
||||||
{
|
{
|
||||||
tlog1<<"lack of config/spell_info.txt file!"<<std::endl;
|
tlog1<<"lack of config/spell_info.txt file!"<<std::endl;
|
||||||
|
@ -49,7 +49,7 @@ void CTownHandler::loadNames()
|
|||||||
for(int x=0;x<towns.size();x++)
|
for(int x=0;x<towns.size();x++)
|
||||||
towns[x].basicCreatures.resize(7);
|
towns[x].basicCreatures.resize(7);
|
||||||
|
|
||||||
of.open("config/basicCres.txt");
|
of.open(DATA_DIR "/config/basicCres.txt");
|
||||||
while(!of.eof())
|
while(!of.eof())
|
||||||
{
|
{
|
||||||
int tid, lid, cid; //town,level,creature
|
int tid, lid, cid; //town,level,creature
|
||||||
@ -63,7 +63,7 @@ void CTownHandler::loadNames()
|
|||||||
for(int x=0;x<towns.size();x++)
|
for(int x=0;x<towns.size();x++)
|
||||||
towns[x].upgradedCreatures.resize(7);
|
towns[x].upgradedCreatures.resize(7);
|
||||||
|
|
||||||
of.open("config/creatures_upgr.txt");
|
of.open(DATA_DIR "/config/creatures_upgr.txt");
|
||||||
while(!of.eof())
|
while(!of.eof())
|
||||||
{
|
{
|
||||||
int tid, lid, cid; //town,level,creature
|
int tid, lid, cid; //town,level,creature
|
||||||
@ -74,7 +74,7 @@ void CTownHandler::loadNames()
|
|||||||
of.close();
|
of.close();
|
||||||
of.clear();
|
of.clear();
|
||||||
|
|
||||||
of.open("config/building_horde.txt");
|
of.open(DATA_DIR "/config/building_horde.txt");
|
||||||
while(!of.eof())
|
while(!of.eof())
|
||||||
{
|
{
|
||||||
int tid, lid, cid; //town,horde serial,creature level
|
int tid, lid, cid; //town,horde serial,creature level
|
||||||
@ -84,7 +84,7 @@ void CTownHandler::loadNames()
|
|||||||
of.close();
|
of.close();
|
||||||
of.clear();
|
of.clear();
|
||||||
|
|
||||||
of.open("config/mageLevel.txt");
|
of.open(DATA_DIR "/config/mageLevel.txt");
|
||||||
of >> si;
|
of >> si;
|
||||||
for(itr=0; itr<si; itr++)
|
for(itr=0; itr<si; itr++)
|
||||||
{
|
{
|
||||||
@ -93,7 +93,7 @@ void CTownHandler::loadNames()
|
|||||||
of.close();
|
of.close();
|
||||||
of.clear();
|
of.clear();
|
||||||
|
|
||||||
of.open("config/requirements.txt");
|
of.open(DATA_DIR "/config/requirements.txt");
|
||||||
while(!of.eof())
|
while(!of.eof())
|
||||||
{
|
{
|
||||||
int ile, town, build, pom;
|
int ile, town, build, pom;
|
||||||
@ -125,7 +125,7 @@ void CTownHandler::loadNames()
|
|||||||
void CTownHandler::loadStructures()
|
void CTownHandler::loadStructures()
|
||||||
{
|
{
|
||||||
//read buildings coords
|
//read buildings coords
|
||||||
std::ifstream of("config/buildings.txt");
|
std::ifstream of(DATA_DIR "/config/buildings.txt");
|
||||||
while(!of.eof())
|
while(!of.eof())
|
||||||
{
|
{
|
||||||
Structure *vinya = new Structure;
|
Structure *vinya = new Structure;
|
||||||
@ -143,7 +143,7 @@ void CTownHandler::loadStructures()
|
|||||||
of.clear();
|
of.clear();
|
||||||
|
|
||||||
//read building priorities
|
//read building priorities
|
||||||
of.open("config/buildings2.txt");
|
of.open(DATA_DIR "/config/buildings2.txt");
|
||||||
int format, idt;
|
int format, idt;
|
||||||
std::string s;
|
std::string s;
|
||||||
of >> format >> idt;
|
of >> format >> idt;
|
||||||
@ -176,7 +176,7 @@ void CTownHandler::loadStructures()
|
|||||||
of.clear();
|
of.clear();
|
||||||
|
|
||||||
//read borders and areas names
|
//read borders and areas names
|
||||||
of.open("config/buildings3.txt");
|
of.open(DATA_DIR "/config/buildings3.txt");
|
||||||
while(!of.eof())
|
while(!of.eof())
|
||||||
{
|
{
|
||||||
std::map<int,std::map<int, Structure*> >::iterator i;
|
std::map<int,std::map<int, Structure*> >::iterator i;
|
||||||
@ -202,7 +202,7 @@ void CTownHandler::loadStructures()
|
|||||||
|
|
||||||
//read groups
|
//read groups
|
||||||
int itr = 0;
|
int itr = 0;
|
||||||
of.open("config/buildings4.txt");
|
of.open(DATA_DIR "/config/buildings4.txt");
|
||||||
of >> format;
|
of >> format;
|
||||||
if(format!=1)
|
if(format!=1)
|
||||||
{
|
{
|
||||||
|
@ -359,7 +359,7 @@ void CSmackPlayer::redraw( int x, int y, SDL_Surface *dst, bool update )
|
|||||||
|
|
||||||
CVideoPlayer::CVideoPlayer()
|
CVideoPlayer::CVideoPlayer()
|
||||||
{
|
{
|
||||||
vidh = new CVidHandler(std::string(DATA_DIR "Data" PATHSEPARATOR "VIDEO.VID"));
|
vidh = new CVidHandler(std::string(DATA_DIR "/Data/VIDEO.VID"));
|
||||||
current = NULL;
|
current = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -573,7 +573,7 @@ CVideoPlayer::CVideoPlayer()
|
|||||||
// Register our protocol 'lod' so we can directly read from mmaped memory
|
// Register our protocol 'lod' so we can directly read from mmaped memory
|
||||||
av_register_protocol(&lod_protocol);
|
av_register_protocol(&lod_protocol);
|
||||||
|
|
||||||
vidh = new CVidHandler(std::string(DATA_DIR "Data" PATHSEPARATOR "VIDEO.VID"));
|
vidh = new CVidHandler(std::string(DATA_DIR "/Data/VIDEO.VID"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// loop = to loop through the video
|
// loop = to loop through the video
|
||||||
@ -600,8 +600,8 @@ bool CVideoPlayer::open(std::string fname, bool loop, bool useOverlay)
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// File is not in a container
|
// File is not in a container
|
||||||
if (av_open_input_file(&format, (DATA_DIR "Data/video/" + fname).c_str(), NULL, 0, NULL)!=0) {
|
if (av_open_input_file(&format, (DATA_DIR "/Data/video/" + fname).c_str(), NULL, 0, NULL)!=0) {
|
||||||
// tlog1 << "Video file not found: " DATA_DIR "Data/video/" + fname << std::endl;
|
// tlog1 << "Video file not found: " DATA_DIR "/Data/video/" + fname << std::endl;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1302,7 +1302,7 @@ void CGameState::init(StartInfo * si, Mapa * map, int Seed)
|
|||||||
/******************RESOURCES****************************************************/
|
/******************RESOURCES****************************************************/
|
||||||
//TODO: computer player should receive other amount of resource than computer (depending on difficulty)
|
//TODO: computer player should receive other amount of resource than computer (depending on difficulty)
|
||||||
std::vector<int> startres;
|
std::vector<int> startres;
|
||||||
std::ifstream tis("config/startres.txt");
|
std::ifstream tis(DATA_DIR "/config/startres.txt");
|
||||||
int k;
|
int k;
|
||||||
for (int j=0;j<scenarioOps->difficulty;j++)
|
for (int j=0;j<scenarioOps->difficulty;j++)
|
||||||
{
|
{
|
||||||
@ -1325,7 +1325,7 @@ void CGameState::init(StartInfo * si, Mapa * map, int Seed)
|
|||||||
(*i).second.resources[x] = startres[x];
|
(*i).second.resources[x] = startres[x];
|
||||||
}
|
}
|
||||||
|
|
||||||
tis.open("config/resources.txt");
|
tis.open(DATA_DIR "/config/resources.txt");
|
||||||
tis >> k;
|
tis >> k;
|
||||||
int pom;
|
int pom;
|
||||||
for(int i=0;i<k;i++)
|
for(int i=0;i<k;i++)
|
||||||
|
@ -174,7 +174,7 @@ void CConnection::close()
|
|||||||
}
|
}
|
||||||
|
|
||||||
CSaveFile::CSaveFile( const std::string &fname )
|
CSaveFile::CSaveFile( const std::string &fname )
|
||||||
:sfile(new std::ofstream(fname.c_str(),std::ios::binary))
|
:sfile(new std::ofstream((USER_DIR "/" + fname).c_str(),std::ios::binary))
|
||||||
{
|
{
|
||||||
registerTypes(*this);
|
registerTypes(*this);
|
||||||
if(!(*sfile))
|
if(!(*sfile))
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
pkglib_LTLIBRARIES = libvcmi.la
|
pkglib_LTLIBRARIES = libvcmi.la
|
||||||
|
libvcmi_la_LIBADD = @BOOST_SYSTEM_LIB@ @BOOST_FILESYSTEM_LIB@ @BOOST_THREAD_LIB@ @BOOST_IOSTREAMS_LIB@ -lz -lpthread
|
||||||
libvcmi_la_CXXFLAGS = @SDL_CXXFLAGS@
|
libvcmi_la_CXXFLAGS = @SDL_CXXFLAGS@
|
||||||
libvcmi_la_SOURCES = \
|
libvcmi_la_SOURCES = \
|
||||||
../CConsoleHandler.cpp \
|
../CConsoleHandler.cpp \
|
||||||
|
@ -59,7 +59,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
|
|||||||
am__installdirs = "$(DESTDIR)$(pkglibdir)"
|
am__installdirs = "$(DESTDIR)$(pkglibdir)"
|
||||||
pkglibLTLIBRARIES_INSTALL = $(INSTALL)
|
pkglibLTLIBRARIES_INSTALL = $(INSTALL)
|
||||||
LTLIBRARIES = $(pkglib_LTLIBRARIES)
|
LTLIBRARIES = $(pkglib_LTLIBRARIES)
|
||||||
libvcmi_la_LIBADD =
|
libvcmi_la_DEPENDENCIES =
|
||||||
am_libvcmi_la_OBJECTS = libvcmi_la-CConsoleHandler.lo \
|
am_libvcmi_la_OBJECTS = libvcmi_la-CConsoleHandler.lo \
|
||||||
libvcmi_la-CArtHandler.lo libvcmi_la-CBuildingHandler.lo \
|
libvcmi_la-CArtHandler.lo libvcmi_la-CBuildingHandler.lo \
|
||||||
libvcmi_la-CCreatureHandler.lo \
|
libvcmi_la-CCreatureHandler.lo \
|
||||||
@ -228,6 +228,7 @@ top_build_prefix = @top_build_prefix@
|
|||||||
top_builddir = @top_builddir@
|
top_builddir = @top_builddir@
|
||||||
top_srcdir = @top_srcdir@
|
top_srcdir = @top_srcdir@
|
||||||
pkglib_LTLIBRARIES = libvcmi.la
|
pkglib_LTLIBRARIES = libvcmi.la
|
||||||
|
libvcmi_la_LIBADD = @BOOST_SYSTEM_LIB@ @BOOST_FILESYSTEM_LIB@ @BOOST_THREAD_LIB@ @BOOST_IOSTREAMS_LIB@ -lz -lpthread
|
||||||
libvcmi_la_CXXFLAGS = @SDL_CXXFLAGS@
|
libvcmi_la_CXXFLAGS = @SDL_CXXFLAGS@
|
||||||
libvcmi_la_SOURCES = \
|
libvcmi_la_SOURCES = \
|
||||||
../CConsoleHandler.cpp \
|
../CConsoleHandler.cpp \
|
||||||
|
@ -239,9 +239,9 @@ LibClasses::LibClasses()
|
|||||||
//load .lod archives
|
//load .lod archives
|
||||||
timeHandler pomtime;
|
timeHandler pomtime;
|
||||||
spriteh = new CLodHandler();
|
spriteh = new CLodHandler();
|
||||||
spriteh->init("Data" PATHSEPARATOR "H3sprite.lod","Sprites");
|
spriteh->init(DATA_DIR "/Data/H3sprite.lod", DATA_DIR "/Sprites");
|
||||||
bitmaph = new CLodHandler;
|
bitmaph = new CLodHandler;
|
||||||
bitmaph->init("Data" PATHSEPARATOR "H3bitmap.lod","Data");
|
bitmaph->init(DATA_DIR "/Data/H3bitmap.lod", DATA_DIR "/Data");
|
||||||
tlog0<<"Loading .lod files: "<<pomtime.getDif()<<std::endl;
|
tlog0<<"Loading .lod files: "<<pomtime.getDif()<<std::endl;
|
||||||
|
|
||||||
//init pointers to handlers
|
//init pointers to handlers
|
||||||
|
@ -23,7 +23,7 @@ static std::set<si32> convertBuildings(const std::set<si32> h3m, int castleID)
|
|||||||
{
|
{
|
||||||
std::map<int,int> mapa;
|
std::map<int,int> mapa;
|
||||||
std::set<si32> ret;
|
std::set<si32> ret;
|
||||||
std::ifstream b5("config/buildings5.txt");
|
std::ifstream b5(DATA_DIR "/config/buildings5.txt");
|
||||||
while(!b5.eof())
|
while(!b5.eof())
|
||||||
{
|
{
|
||||||
int a, b;
|
int a, b;
|
||||||
|
@ -442,7 +442,7 @@ void CMapHandler::init()
|
|||||||
offsetX = (mapW - (2*frameW+1)*32)/2;
|
offsetX = (mapW - (2*frameW+1)*32)/2;
|
||||||
offsetY = (mapH - (2*frameH+1)*32)/2;
|
offsetY = (mapH - (2*frameH+1)*32)/2;
|
||||||
|
|
||||||
std::ifstream ifs("config/townsDefs.txt");
|
std::ifstream ifs(DATA_DIR "/config/townsDefs.txt");
|
||||||
int ccc;
|
int ccc;
|
||||||
ifs>>ccc;
|
ifs>>ccc;
|
||||||
for(int i=0;i<ccc*2;i++)
|
for(int i=0;i<ccc*2;i++)
|
||||||
|
@ -996,7 +996,7 @@ void CGameHandler::setupBattle( BattleInfo * curB, int3 tile, const CCreatureSet
|
|||||||
|
|
||||||
//reading battleStartpos
|
//reading battleStartpos
|
||||||
std::ifstream positions;
|
std::ifstream positions;
|
||||||
positions.open("config" PATHSEPARATOR "battleStartpos.txt", std::ios_base::in|std::ios_base::binary);
|
positions.open(DATA_DIR "/config/battleStartpos.txt", std::ios_base::in|std::ios_base::binary);
|
||||||
if(!positions.is_open())
|
if(!positions.is_open())
|
||||||
{
|
{
|
||||||
tlog1<<"Unable to open battleStartpos.txt!"<<std::endl;
|
tlog1<<"Unable to open battleStartpos.txt!"<<std::endl;
|
||||||
@ -1840,14 +1840,14 @@ void CGameHandler::save( const std::string &fname )
|
|||||||
|
|
||||||
{
|
{
|
||||||
tlog0 << "Serializing game info...\n";
|
tlog0 << "Serializing game info...\n";
|
||||||
CSaveFile save(std::string("Games") + PATHSEPARATOR + fname + ".vlgm1");
|
CSaveFile save(std::string("Games/") + fname + ".vlgm1");
|
||||||
char hlp[8] = "VCMISVG";
|
char hlp[8] = "VCMISVG";
|
||||||
save << hlp << static_cast<CMapHeader&>(*gs->map) << gs->scenarioOps->difficulty << *VLC << gs;
|
save << hlp << static_cast<CMapHeader&>(*gs->map) << gs->scenarioOps->difficulty << *VLC << gs;
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
tlog0 << "Serializing server info...\n";
|
tlog0 << "Serializing server info...\n";
|
||||||
CSaveFile save(std::string("Games") + PATHSEPARATOR + fname + ".vsgm1");
|
CSaveFile save(std::string("Games/") + fname + ".vsgm1");
|
||||||
save << *this;
|
save << *this;
|
||||||
}
|
}
|
||||||
tlog0 << "Game has been succesfully saved!\n";
|
tlog0 << "Game has been succesfully saved!\n";
|
||||||
|
@ -246,7 +246,7 @@ int main(int argc, char** argv)
|
|||||||
}
|
}
|
||||||
tlog0 << "Port " << port << " will be used." << std::endl;
|
tlog0 << "Port " << port << " will be used." << std::endl;
|
||||||
CLodHandler h3bmp;
|
CLodHandler h3bmp;
|
||||||
h3bmp.init("Data" PATHSEPARATOR "H3bitmap.lod","Data");
|
h3bmp.init(DATA_DIR "/Data/H3bitmap.lod", DATA_DIR "/Data");
|
||||||
initDLL(console,logfile);
|
initDLL(console,logfile);
|
||||||
srand ( (unsigned int)time(NULL) );
|
srand ( (unsigned int)time(NULL) );
|
||||||
try
|
try
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
bin_PROGRAMS = vcmiserver
|
bin_PROGRAMS = vcmiserver
|
||||||
|
|
||||||
vcmiserver_LDADD = $(top_builddir)/lib/libvcmi.la @BOOST_SYSTEM_LIB@ @BOOST_FILESYSTEM_LIB@ @BOOST_THREAD_LIB@ -lz
|
vcmiserver_LDADD = $(top_builddir)/lib/libvcmi.la
|
||||||
vcmiserver_LDFLAGS = -L$(top_builddir)/lib
|
vcmiserver_LDFLAGS = -L$(top_builddir)/lib
|
||||||
vcmiserver_SOURCES = \
|
vcmiserver_SOURCES = \
|
||||||
CGameHandler.cpp \
|
CGameHandler.cpp \
|
||||||
|
@ -213,7 +213,7 @@ target_alias = @target_alias@
|
|||||||
top_build_prefix = @top_build_prefix@
|
top_build_prefix = @top_build_prefix@
|
||||||
top_builddir = @top_builddir@
|
top_builddir = @top_builddir@
|
||||||
top_srcdir = @top_srcdir@
|
top_srcdir = @top_srcdir@
|
||||||
vcmiserver_LDADD = $(top_builddir)/lib/libvcmi.la @BOOST_SYSTEM_LIB@ @BOOST_FILESYSTEM_LIB@ @BOOST_THREAD_LIB@ -lz
|
vcmiserver_LDADD = $(top_builddir)/lib/libvcmi.la
|
||||||
vcmiserver_LDFLAGS = -L$(top_builddir)/lib
|
vcmiserver_LDFLAGS = -L$(top_builddir)/lib
|
||||||
vcmiserver_SOURCES = \
|
vcmiserver_SOURCES = \
|
||||||
CGameHandler.cpp \
|
CGameHandler.cpp \
|
||||||
|
Loading…
Reference in New Issue
Block a user