mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-24 22:14:36 +02:00
Patch from Dikamilo:
* compatibility fixes for MinGW * Code::Blocks project files
This commit is contained in:
parent
fb4ee65d0e
commit
dd36cfce50
@ -14,7 +14,7 @@ using namespace boost::lambda;
|
|||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace GeniusAI;
|
using namespace GeniusAI;
|
||||||
|
|
||||||
#if defined (_MSC_VER) && (_MSC_VER >= 1020)
|
#if defined (_MSC_VER) && (_MSC_VER >= 1020) && (__MINGW32__)
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -184,10 +184,10 @@ void CGeniusAI::battleStackIsAttacked(int ID, int dmg, int killed, int IDby, boo
|
|||||||
/**
|
/**
|
||||||
* called when it's turn of that stack
|
* called when it's turn of that stack
|
||||||
*/
|
*/
|
||||||
BattleAction CGeniusAI::activeStack(int stackID)
|
BattleAction CGeniusAI::activeStack(int stackID)
|
||||||
{
|
{
|
||||||
std::string message("\t\t\tCGeniusAI::activeStack stackID(");
|
std::string message("\t\t\tCGeniusAI::activeStack stackID(");
|
||||||
|
|
||||||
message += boost::lexical_cast<std::string>(stackID);
|
message += boost::lexical_cast<std::string>(stackID);
|
||||||
message += ")";
|
message += ")";
|
||||||
MsgBox(message.c_str());
|
MsgBox(message.c_str());
|
||||||
@ -198,17 +198,17 @@ BattleAction CGeniusAI::activeStack(int stackID)
|
|||||||
/*
|
/*
|
||||||
ui8 side; //who made this action: false - left, true - right player
|
ui8 side; //who made this action: false - left, true - right player
|
||||||
ui32 stackNumber;//stack ID, -1 left hero, -2 right hero,
|
ui32 stackNumber;//stack ID, -1 left hero, -2 right hero,
|
||||||
ui8 actionType; //
|
ui8 actionType; //
|
||||||
0 = Cancel BattleAction
|
0 = Cancel BattleAction
|
||||||
1 = Hero cast a spell
|
1 = Hero cast a spell
|
||||||
2 = Walk
|
2 = Walk
|
||||||
3 = Defend
|
3 = Defend
|
||||||
4 = Retreat from the battle
|
4 = Retreat from the battle
|
||||||
5 = Surrender
|
5 = Surrender
|
||||||
6 = Walk and Attack
|
6 = Walk and Attack
|
||||||
7 = Shoot
|
7 = Shoot
|
||||||
8 = Wait
|
8 = Wait
|
||||||
9 = Catapult
|
9 = Catapult
|
||||||
10 = Monster casts a spell (i.e. Faerie Dragons)
|
10 = Monster casts a spell (i.e. Faerie Dragons)
|
||||||
ui16 destinationTile;
|
ui16 destinationTile;
|
||||||
si32 additionalInfo; // e.g. spell number if type is 1 || 10; tile to attack if type is 6
|
si32 additionalInfo; // e.g. spell number if type is 1 || 10; tile to attack if type is 6
|
||||||
@ -249,7 +249,7 @@ CBattleHelper::CBattleHelper():
|
|||||||
boost::algorithm::trim(parts[1]);
|
boost::algorithm::trim(parts[1]);
|
||||||
if (parts[0].compare("m_voteForDistance") == 0)
|
if (parts[0].compare("m_voteForDistance") == 0)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
m_voteForDistance = boost::lexical_cast<int>(parts[1]);
|
m_voteForDistance = boost::lexical_cast<int>(parts[1]);
|
||||||
}
|
}
|
||||||
@ -258,7 +258,7 @@ CBattleHelper::CBattleHelper():
|
|||||||
}
|
}
|
||||||
else if (parts[0].compare("m_voteForDistanceFromShooters") == 0)
|
else if (parts[0].compare("m_voteForDistanceFromShooters") == 0)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
m_voteForDistanceFromShooters = boost::lexical_cast<int>(parts[1]);
|
m_voteForDistanceFromShooters = boost::lexical_cast<int>(parts[1]);
|
||||||
}
|
}
|
||||||
@ -267,7 +267,7 @@ CBattleHelper::CBattleHelper():
|
|||||||
}
|
}
|
||||||
else if (parts[0].compare("m_voteForHitPoints") == 0)
|
else if (parts[0].compare("m_voteForHitPoints") == 0)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
m_voteForHitPoints = boost::lexical_cast<int>(parts[1]);
|
m_voteForHitPoints = boost::lexical_cast<int>(parts[1]);
|
||||||
}
|
}
|
||||||
@ -276,7 +276,7 @@ CBattleHelper::CBattleHelper():
|
|||||||
}
|
}
|
||||||
else if (parts[0].compare("m_voteForMaxDamage") == 0)
|
else if (parts[0].compare("m_voteForMaxDamage") == 0)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
m_voteForMaxDamage = boost::lexical_cast<int>(parts[1]);
|
m_voteForMaxDamage = boost::lexical_cast<int>(parts[1]);
|
||||||
}
|
}
|
||||||
@ -285,7 +285,7 @@ CBattleHelper::CBattleHelper():
|
|||||||
}
|
}
|
||||||
else if (parts[0].compare("m_voteForMaxSpeed") == 0)
|
else if (parts[0].compare("m_voteForMaxSpeed") == 0)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
m_voteForMaxSpeed = boost::lexical_cast<int>(parts[1]);
|
m_voteForMaxSpeed = boost::lexical_cast<int>(parts[1]);
|
||||||
}
|
}
|
||||||
@ -294,7 +294,7 @@ CBattleHelper::CBattleHelper():
|
|||||||
}
|
}
|
||||||
else if (parts[0].compare("m_voteForMinDamage") == 0)
|
else if (parts[0].compare("m_voteForMinDamage") == 0)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
m_voteForMinDamage = boost::lexical_cast<int>(parts[1]);
|
m_voteForMinDamage = boost::lexical_cast<int>(parts[1]);
|
||||||
}
|
}
|
||||||
@ -375,7 +375,7 @@ CBattleLogic::CBattleLogic(ICallback *cb, CCreatureSet *army1, CCreatureSet *ar
|
|||||||
const int max_enemy_creatures = 12;
|
const int max_enemy_creatures = 12;
|
||||||
m_statMaxDamage.reserve(max_enemy_creatures);
|
m_statMaxDamage.reserve(max_enemy_creatures);
|
||||||
m_statMinDamage.reserve(max_enemy_creatures);
|
m_statMinDamage.reserve(max_enemy_creatures);
|
||||||
|
|
||||||
m_statMaxSpeed.reserve(max_enemy_creatures);
|
m_statMaxSpeed.reserve(max_enemy_creatures);
|
||||||
m_statDistance.reserve(max_enemy_creatures);
|
m_statDistance.reserve(max_enemy_creatures);
|
||||||
m_statDistanceFromShooters.reserve(max_enemy_creatures);
|
m_statDistanceFromShooters.reserve(max_enemy_creatures);
|
||||||
@ -400,7 +400,7 @@ void CBattleLogic::MakeStatistics(int currentCreatureId)
|
|||||||
std::for_each(allStacks.begin(), allStacks.end(),
|
std::for_each(allStacks.begin(), allStacks.end(),
|
||||||
if_(bind<ui8>(&CStack::attackerOwned, bind<CStack>(&map_stacks::value_type::second, _1)) == m_bIsAttacker)
|
if_(bind<ui8>(&CStack::attackerOwned, bind<CStack>(&map_stacks::value_type::second, _1)) == m_bIsAttacker)
|
||||||
[
|
[
|
||||||
var(enemy)[ret<int>(bind<int>(&map_stacks::value_type::first, _1))] =
|
var(enemy)[ret<int>(bind<int>(&map_stacks::value_type::first, _1))] =
|
||||||
ret<CStack>(bind<CStack>(&map_stacks::value_type::second, _1))
|
ret<CStack>(bind<CStack>(&map_stacks::value_type::second, _1))
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
@ -408,13 +408,13 @@ void CBattleLogic::MakeStatistics(int currentCreatureId)
|
|||||||
// max damage
|
// max damage
|
||||||
std::for_each(enemy.begin(), enemy.end(),
|
std::for_each(enemy.begin(), enemy.end(),
|
||||||
var(m_statMaxDamage)[ret<int>(bind<int>(&map_stacks::value_type::first, _1))] =
|
var(m_statMaxDamage)[ret<int>(bind<int>(&map_stacks::value_type::first, _1))] =
|
||||||
ret<int>(bind<int>(&CCreature::damageMax, bind<CCreature*>(&CStack::creature,
|
ret<int>(bind<int>(&CCreature::damageMax, bind<CCreature*>(&CStack::creature,
|
||||||
bind<CStack>(&map_stacks::value_type::second, _1))))
|
bind<CStack>(&map_stacks::value_type::second, _1))))
|
||||||
);
|
);
|
||||||
// min damage
|
// min damage
|
||||||
std::for_each(enemy.begin(), enemy.end(),
|
std::for_each(enemy.begin(), enemy.end(),
|
||||||
var(m_statMinDamage)[ret<int>(bind<int>(&map_stacks::value_type::first, _1))] =
|
var(m_statMinDamage)[ret<int>(bind<int>(&map_stacks::value_type::first, _1))] =
|
||||||
ret<int>(bind<int>(&CCreature::damageMax, bind<CCreature*>(&CStack::creature,
|
ret<int>(bind<int>(&CCreature::damageMax, bind<CCreature*>(&CStack::creature,
|
||||||
bind<CStack>(&map_stacks::value_type::second, _1))))
|
bind<CStack>(&map_stacks::value_type::second, _1))))
|
||||||
);
|
);
|
||||||
*/
|
*/
|
||||||
@ -452,19 +452,19 @@ void CBattleLogic::MakeStatistics(int currentCreatureId)
|
|||||||
m_statMinDamage.push_back(std::pair<int, int>(id, st->creature->damageMin * st->amount));
|
m_statMinDamage.push_back(std::pair<int, int>(id, st->creature->damageMin * st->amount));
|
||||||
m_statHitPoints.push_back(std::pair<int, int>(id, hitPoints));
|
m_statHitPoints.push_back(std::pair<int, int>(id, hitPoints));
|
||||||
m_statMaxSpeed.push_back(std::pair<int, int>(id, st->creature->speed));
|
m_statMaxSpeed.push_back(std::pair<int, int>(id, st->creature->speed));
|
||||||
|
|
||||||
totalEnemyDamage += (st->creature->damageMax + st->creature->damageMin) * st->amount / 2;
|
totalEnemyDamage += (st->creature->damageMax + st->creature->damageMin) * st->amount / 2;
|
||||||
totalEnemyHitPoints += hitPoints;
|
totalEnemyHitPoints += hitPoints;
|
||||||
|
|
||||||
// calculate casualties
|
// calculate casualties
|
||||||
SCreatureCasualties cs;
|
SCreatureCasualties cs;
|
||||||
// hp * amount - damage * ( (att - def)>=0 )
|
// hp * amount - damage * ( (att - def)>=0 )
|
||||||
// hit poionts
|
// hit poionts
|
||||||
assert(hitPoints >= 0 && "CGeniusAI - creature cannot have hit points less than zero");
|
assert(hitPoints >= 0 && "CGeniusAI - creature cannot have hit points less than zero");
|
||||||
|
|
||||||
CGHeroInstance *attackerHero = (m_side)? m_hero1 : m_hero2;
|
CGHeroInstance *attackerHero = (m_side)? m_hero1 : m_hero2;
|
||||||
CGHeroInstance *defendingHero = (m_side)? m_hero2 : m_hero1;
|
CGHeroInstance *defendingHero = (m_side)? m_hero2 : m_hero1;
|
||||||
|
|
||||||
int attackDefenseBonus = currentStack->creature->attack + (attackerHero ? attackerHero->getPrimSkillLevel(0) : 0) - (st->creature->defence + (defendingHero ? defendingHero->getPrimSkillLevel(1) : 0));
|
int attackDefenseBonus = currentStack->creature->attack + (attackerHero ? attackerHero->getPrimSkillLevel(0) : 0) - (st->creature->defence + (defendingHero ? defendingHero->getPrimSkillLevel(1) : 0));
|
||||||
float damageFactor = 1.0f;
|
float damageFactor = 1.0f;
|
||||||
if(attackDefenseBonus < 0) //decreasing dmg
|
if(attackDefenseBonus < 0) //decreasing dmg
|
||||||
@ -509,7 +509,7 @@ void CBattleLogic::MakeStatistics(int currentCreatureId)
|
|||||||
cs.leftHitPoint_for_min = (hitPoints - cs.damage_min) % st->creature->hitPoints;
|
cs.leftHitPoint_for_min = (hitPoints - cs.damage_min) % st->creature->hitPoints;
|
||||||
|
|
||||||
m_statCasualties.push_back(std::pair<int, SCreatureCasualties>(id, cs));
|
m_statCasualties.push_back(std::pair<int, SCreatureCasualties>(id, cs));
|
||||||
|
|
||||||
if (st->creature->isShooting() && st->shots > 0)
|
if (st->creature->isShooting() && st->shots > 0)
|
||||||
{
|
{
|
||||||
m_statDistanceFromShooters.push_back(std::pair<int, int>(id, m_battleHelper.GetShortestDistance(currentStack->position, st->position)));
|
m_statDistanceFromShooters.push_back(std::pair<int, int>(id, m_battleHelper.GetShortestDistance(currentStack->position, st->position)));
|
||||||
@ -524,7 +524,7 @@ void CBattleLogic::MakeStatistics(int currentCreatureId)
|
|||||||
m_statDistance.push_back(std::pair<int, int>(id, m_battleHelper.GetDistanceWithObstacles(currentStack->position, st->position)));
|
m_statDistance.push_back(std::pair<int, int>(id, m_battleHelper.GetDistanceWithObstacles(currentStack->position, st->position)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (st->amount < 1)
|
if (st->amount < 1)
|
||||||
{
|
{
|
||||||
@ -547,25 +547,25 @@ void CBattleLogic::MakeStatistics(int currentCreatureId)
|
|||||||
m_bEnemyDominates = false;
|
m_bEnemyDominates = false;
|
||||||
}
|
}
|
||||||
// sort max damage
|
// sort max damage
|
||||||
std::sort(m_statMaxDamage.begin(), m_statMaxDamage.end(),
|
std::sort(m_statMaxDamage.begin(), m_statMaxDamage.end(),
|
||||||
bind(&creature_stat::value_type::second, _1) > bind(&creature_stat::value_type::second, _2));
|
bind(&creature_stat::value_type::second, _1) > bind(&creature_stat::value_type::second, _2));
|
||||||
// sort min damage
|
// sort min damage
|
||||||
std::sort(m_statMinDamage.begin(), m_statMinDamage.end(),
|
std::sort(m_statMinDamage.begin(), m_statMinDamage.end(),
|
||||||
bind(&creature_stat::value_type::second, _1) > bind(&creature_stat::value_type::second, _2));
|
bind(&creature_stat::value_type::second, _1) > bind(&creature_stat::value_type::second, _2));
|
||||||
// sort max speed
|
// sort max speed
|
||||||
std::sort(m_statMaxSpeed.begin(), m_statMaxSpeed.end(),
|
std::sort(m_statMaxSpeed.begin(), m_statMaxSpeed.end(),
|
||||||
bind(&creature_stat::value_type::second, _1) > bind(&creature_stat::value_type::second, _2));
|
bind(&creature_stat::value_type::second, _1) > bind(&creature_stat::value_type::second, _2));
|
||||||
// sort distance
|
// sort distance
|
||||||
std::sort(m_statDistance.begin(), m_statDistance.end(),
|
std::sort(m_statDistance.begin(), m_statDistance.end(),
|
||||||
bind(&creature_stat::value_type::second, _1) < bind(&creature_stat::value_type::second, _2));
|
bind(&creature_stat::value_type::second, _1) < bind(&creature_stat::value_type::second, _2));
|
||||||
// sort distance from shooters
|
// sort distance from shooters
|
||||||
std::sort(m_statDistanceFromShooters.begin(), m_statDistanceFromShooters.end(),
|
std::sort(m_statDistanceFromShooters.begin(), m_statDistanceFromShooters.end(),
|
||||||
bind(&creature_stat::value_type::second, _1) < bind(&creature_stat::value_type::second, _2));
|
bind(&creature_stat::value_type::second, _1) < bind(&creature_stat::value_type::second, _2));
|
||||||
// sort hit points
|
// sort hit points
|
||||||
std::sort(m_statHitPoints.begin(), m_statHitPoints.end(),
|
std::sort(m_statHitPoints.begin(), m_statHitPoints.end(),
|
||||||
bind(&creature_stat::value_type::second, _1) > bind(&creature_stat::value_type::second, _2));
|
bind(&creature_stat::value_type::second, _1) > bind(&creature_stat::value_type::second, _2));
|
||||||
// sort casualties
|
// sort casualties
|
||||||
std::sort(m_statCasualties.begin(), m_statCasualties.end(),
|
std::sort(m_statCasualties.begin(), m_statCasualties.end(),
|
||||||
bind(&creature_stat_casualties::value_type::second_type::damage_max, bind(&creature_stat_casualties::value_type::second, _1))
|
bind(&creature_stat_casualties::value_type::second_type::damage_max, bind(&creature_stat_casualties::value_type::second, _1))
|
||||||
>
|
>
|
||||||
bind(&creature_stat_casualties::value_type::second_type::damage_max, bind(&creature_stat_casualties::value_type::second, _2)));
|
bind(&creature_stat_casualties::value_type::second_type::damage_max, bind(&creature_stat_casualties::value_type::second, _2)));
|
||||||
@ -577,7 +577,7 @@ BattleAction CBattleLogic::MakeDecision(int stackID)
|
|||||||
|
|
||||||
list<int> creatures;
|
list<int> creatures;
|
||||||
int additionalInfo;
|
int additionalInfo;
|
||||||
|
|
||||||
if (m_bEnemyDominates)
|
if (m_bEnemyDominates)
|
||||||
{
|
{
|
||||||
creatures = PerformBerserkAttack(stackID, additionalInfo);
|
creatures = PerformBerserkAttack(stackID, additionalInfo);
|
||||||
@ -664,7 +664,7 @@ std::vector<int> CBattleLogic::GetAvailableHexesForAttacker(CStack *defender, CS
|
|||||||
}
|
}
|
||||||
candidates.push_back(hexPoint(x - 2, y));
|
candidates.push_back(hexPoint(x - 2, y));
|
||||||
candidates.push_back(hexPoint(x + 1, y));
|
candidates.push_back(hexPoint(x + 1, y));
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -719,7 +719,7 @@ std::vector<int> CBattleLogic::GetAvailableHexesForAttacker(CStack *defender, CS
|
|||||||
candidates.push_back(hexPoint(x + 1, y));
|
candidates.push_back(hexPoint(x + 1, y));
|
||||||
candidates.push_back(hexPoint(x - 1, y));
|
candidates.push_back(hexPoint(x - 1, y));
|
||||||
}
|
}
|
||||||
|
|
||||||
// remove fields which are out of bounds or obstacles
|
// remove fields which are out of bounds or obstacles
|
||||||
for (std::list<hexPoint>::iterator it = candidates.begin(); it != candidates.end(); ++it)
|
for (std::list<hexPoint>::iterator it = candidates.begin(); it != candidates.end(); ++it)
|
||||||
{
|
{
|
||||||
@ -732,7 +732,7 @@ std::vector<int> CBattleLogic::GetAvailableHexesForAttacker(CStack *defender, CS
|
|||||||
}
|
}
|
||||||
|
|
||||||
int new_pos = m_battleHelper.GetBattleFieldPosition(it->first, it->second);
|
int new_pos = m_battleHelper.GetBattleFieldPosition(it->first, it->second);
|
||||||
CStack *st = m_cb->battleGetStackByPos(new_pos);
|
CStack *st = m_cb->battleGetStackByPos(new_pos);
|
||||||
|
|
||||||
if (st == NULL || st->amount < 1)
|
if (st == NULL || st->amount < 1)
|
||||||
{
|
{
|
||||||
@ -764,9 +764,9 @@ std::vector<int> CBattleLogic::GetAvailableHexesForAttacker(CStack *defender, CS
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fields.push_back(new_pos);
|
fields.push_back(new_pos);
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (attacker)
|
else if (attacker)
|
||||||
{
|
{
|
||||||
@ -783,7 +783,7 @@ std::vector<int> CBattleLogic::GetAvailableHexesForAttacker(CStack *defender, CS
|
|||||||
|
|
||||||
BattleAction CBattleLogic::MakeDefend(int stackID)
|
BattleAction CBattleLogic::MakeDefend(int stackID)
|
||||||
{
|
{
|
||||||
BattleAction ba;
|
BattleAction ba;
|
||||||
ba.side = 1;
|
ba.side = 1;
|
||||||
ba.actionType = action_defend;
|
ba.actionType = action_defend;
|
||||||
ba.stackNumber = stackID;
|
ba.stackNumber = stackID;
|
||||||
@ -793,7 +793,7 @@ BattleAction CBattleLogic::MakeDefend(int stackID)
|
|||||||
|
|
||||||
BattleAction CBattleLogic::MakeWait(int stackID)
|
BattleAction CBattleLogic::MakeWait(int stackID)
|
||||||
{
|
{
|
||||||
BattleAction ba;
|
BattleAction ba;
|
||||||
ba.side = 1;
|
ba.side = 1;
|
||||||
ba.actionType = action_wait;
|
ba.actionType = action_wait;
|
||||||
ba.stackNumber = stackID;
|
ba.stackNumber = stackID;
|
||||||
@ -806,7 +806,7 @@ BattleAction CBattleLogic::MakeAttack(int attackerID, int destinationID)
|
|||||||
if (m_cb->battleCanShoot(attackerID, m_cb->battleGetPos(destinationID)))
|
if (m_cb->battleCanShoot(attackerID, m_cb->battleGetPos(destinationID)))
|
||||||
{
|
{
|
||||||
// shoot
|
// shoot
|
||||||
BattleAction ba;
|
BattleAction ba;
|
||||||
ba.side = 1;
|
ba.side = 1;
|
||||||
ba.additionalInfo = -1;
|
ba.additionalInfo = -1;
|
||||||
ba.actionType = action_shoot; // shoot
|
ba.actionType = action_shoot; // shoot
|
||||||
@ -823,7 +823,7 @@ BattleAction CBattleLogic::MakeAttack(int attackerID, int destinationID)
|
|||||||
{
|
{
|
||||||
return MakeDefend(attackerID);
|
return MakeDefend(attackerID);
|
||||||
}
|
}
|
||||||
|
|
||||||
// get the best tile - now the nearest
|
// get the best tile - now the nearest
|
||||||
|
|
||||||
int prev_distance = m_battleHelper.InfiniteDistance;
|
int prev_distance = m_battleHelper.InfiniteDistance;
|
||||||
@ -845,20 +845,20 @@ BattleAction CBattleLogic::MakeAttack(int attackerID, int destinationID)
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::vector<int> fields = m_cb->battleGetAvailableHexes(attackerID, false);
|
std::vector<int> fields = m_cb->battleGetAvailableHexes(attackerID, false);
|
||||||
BattleAction ba;
|
BattleAction ba;
|
||||||
ba.side = 1;
|
ba.side = 1;
|
||||||
//ba.actionType = 6; // go and attack
|
//ba.actionType = 6; // go and attack
|
||||||
ba.stackNumber = attackerID;
|
ba.stackNumber = attackerID;
|
||||||
ba.destinationTile = (ui16)dest_tile;
|
ba.destinationTile = (ui16)dest_tile;
|
||||||
ba.additionalInfo = m_cb->battleGetPos(destinationID);
|
ba.additionalInfo = m_cb->battleGetPos(destinationID);
|
||||||
|
|
||||||
int nearest_dist = m_battleHelper.InfiniteDistance;
|
int nearest_dist = m_battleHelper.InfiniteDistance;
|
||||||
int nearest_pos = -1;
|
int nearest_pos = -1;
|
||||||
|
|
||||||
// if double wide calculate tail
|
// if double wide calculate tail
|
||||||
CStack *attackerStack = m_cb->battleGetStackByID(attackerID);
|
CStack *attackerStack = m_cb->battleGetStackByID(attackerID);
|
||||||
assert(attackerStack != NULL);
|
assert(attackerStack != NULL);
|
||||||
|
|
||||||
int tail_pos = -1;
|
int tail_pos = -1;
|
||||||
if (attackerStack->creature->isDoubleWide())
|
if (attackerStack->creature->isDoubleWide())
|
||||||
{
|
{
|
||||||
@ -963,7 +963,7 @@ list<int> CBattleLogic::PerformDefaultAction(int stackID, int &additionalInfo)
|
|||||||
|
|
||||||
votes[m_statMaxDamage.begin()->first] += m_battleHelper.GetVoteForMaxDamage();
|
votes[m_statMaxDamage.begin()->first] += m_battleHelper.GetVoteForMaxDamage();
|
||||||
votes[m_statMinDamage.begin()->first] += m_battleHelper.GetVoteForMinDamage();
|
votes[m_statMinDamage.begin()->first] += m_battleHelper.GetVoteForMinDamage();
|
||||||
if (m_statDistanceFromShooters.size())
|
if (m_statDistanceFromShooters.size())
|
||||||
{
|
{
|
||||||
votes[m_statDistanceFromShooters.begin()->first] += m_battleHelper.GetVoteForDistanceFromShooters();
|
votes[m_statDistanceFromShooters.begin()->first] += m_battleHelper.GetVoteForDistanceFromShooters();
|
||||||
}
|
}
|
||||||
@ -1056,7 +1056,7 @@ void CBattleLogic::PrintBattleAction(const BattleAction &action) // for debug pu
|
|||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
|
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
|
||||||
|
|
||||||
CONSOLE_SCREEN_BUFFER_INFO csbi;
|
CONSOLE_SCREEN_BUFFER_INFO csbi;
|
||||||
GetConsoleScreenBufferInfo(hConsole, &csbi);
|
GetConsoleScreenBufferInfo(hConsole, &csbi);
|
||||||
SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN | FOREGROUND_INTENSITY);
|
SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN | FOREGROUND_INTENSITY);
|
||||||
@ -1066,7 +1066,7 @@ void CBattleLogic::PrintBattleAction(const BattleAction &action) // for debug pu
|
|||||||
color = "\x1b[1;40;32m";
|
color = "\x1b[1;40;32m";
|
||||||
std::cout << color;
|
std::cout << color;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
std::cout << message.c_str() << std::flush;
|
std::cout << message.c_str() << std::flush;
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
74
AI/GeniusAI/genius.cbp
Normal file
74
AI/GeniusAI/genius.cbp
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||||
|
<CodeBlocks_project_file>
|
||||||
|
<FileVersion major="1" minor="6" />
|
||||||
|
<Project>
|
||||||
|
<Option title="AI" />
|
||||||
|
<Option platforms="Windows;" />
|
||||||
|
<Option pch_mode="2" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Build>
|
||||||
|
<Target title="Debug Win32">
|
||||||
|
<Option platforms="Windows;" />
|
||||||
|
<Option output="..\..\..\..\..\Install\Heroes3\AI\GeniusAI" prefix_auto="1" extension_auto="1" />
|
||||||
|
<Option working_dir="..\..\..\..\..\Install\Heroes3\AI" />
|
||||||
|
<Option object_output="Debug Win32" />
|
||||||
|
<Option type="3" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Option createDefFile="1" />
|
||||||
|
<Option createStaticLib="1" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-g" />
|
||||||
|
<Add option="-O0" />
|
||||||
|
<Add option="-DWIN32" />
|
||||||
|
<Add option="-D_DEBUG" />
|
||||||
|
<Add option="-D_WINDOWS" />
|
||||||
|
<Add option="-D_USRDLL" />
|
||||||
|
<Add option="-DGENIUS_EXPORTS" />
|
||||||
|
</Compiler>
|
||||||
|
</Target>
|
||||||
|
<Target title="Release Win32">
|
||||||
|
<Option platforms="Windows;" />
|
||||||
|
<Option output="..\..\..\..\..\Install\Heroes3\AI\GeniusAI" prefix_auto="1" extension_auto="1" />
|
||||||
|
<Option working_dir="..\..\..\..\..\Install\Heroes3\AI" />
|
||||||
|
<Option object_output="Release Win32" />
|
||||||
|
<Option type="3" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Option createDefFile="1" />
|
||||||
|
<Option createStaticLib="1" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-fexpensive-optimizations" />
|
||||||
|
<Add option="-Os" />
|
||||||
|
<Add option="-O3" />
|
||||||
|
<Add option="-O2" />
|
||||||
|
<Add option="-O1" />
|
||||||
|
<Add option="-O" />
|
||||||
|
<Add option="-W" />
|
||||||
|
<Add option="-DWIN32" />
|
||||||
|
<Add option="-DNDEBUG" />
|
||||||
|
<Add option="-D_WINDOWS" />
|
||||||
|
<Add option="-D_USRDLL" />
|
||||||
|
<Add option="-DGENIUS_EXPORTS" />
|
||||||
|
</Compiler>
|
||||||
|
<Linker>
|
||||||
|
<Add option="-s" />
|
||||||
|
</Linker>
|
||||||
|
</Target>
|
||||||
|
</Build>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-D_WIN32" />
|
||||||
|
<Add directory="$(#boost.include)" />
|
||||||
|
</Compiler>
|
||||||
|
<Linker>
|
||||||
|
<Add library="..\..\..\..\..\Install\Heroes3\libVCMI_lib.a" />
|
||||||
|
<Add directory="$(#boost.lib)" />
|
||||||
|
</Linker>
|
||||||
|
<Unit filename="CGeniusAI.cpp" />
|
||||||
|
<Unit filename="CGeniusAI.h" />
|
||||||
|
<Unit filename="DLLMain.cpp" />
|
||||||
|
<Extensions>
|
||||||
|
<code_completion />
|
||||||
|
<envvars />
|
||||||
|
<debugger />
|
||||||
|
</Extensions>
|
||||||
|
</Project>
|
||||||
|
</CodeBlocks_project_file>
|
9
CMT.cpp
9
CMT.cpp
@ -43,6 +43,9 @@
|
|||||||
#include "lib/VCMI_Lib.h"
|
#include "lib/VCMI_Lib.h"
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
|
||||||
|
#if __MINGW32__
|
||||||
|
#undef main
|
||||||
|
#endif
|
||||||
std::string NAME = NAME_VER + std::string(" (client)");
|
std::string NAME = NAME_VER + std::string(" (client)");
|
||||||
DLL_EXPORT void initDLL(CLodHandler *b);
|
DLL_EXPORT void initDLL(CLodHandler *b);
|
||||||
SDL_Surface * screen, * screen2;
|
SDL_Surface * screen, * screen2;
|
||||||
@ -56,7 +59,7 @@ int _tmain(int argc, _TCHAR* argv[])
|
|||||||
#else
|
#else
|
||||||
int main(int argc, char** argv)
|
int main(int argc, char** argv)
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
tlog0 << "Starting... " << std::endl;
|
tlog0 << "Starting... " << std::endl;
|
||||||
THC timeHandler tmh, total, pomtime;
|
THC timeHandler tmh, total, pomtime;
|
||||||
CClient *client = NULL;
|
CClient *client = NULL;
|
||||||
@ -113,7 +116,7 @@ int main(int argc, char** argv)
|
|||||||
CGI->setFromLib();
|
CGI->setFromLib();
|
||||||
tlog0<<"Initializing VCMI_Lib: "<<tmh.getDif()<<std::endl;
|
tlog0<<"Initializing VCMI_Lib: "<<tmh.getDif()<<std::endl;
|
||||||
pomtime.getDif();
|
pomtime.getDif();
|
||||||
cgi->curh = new CCursorHandler;
|
cgi->curh = new CCursorHandler;
|
||||||
cgi->curh->initCursor();
|
cgi->curh->initCursor();
|
||||||
cgi->curh->show();
|
cgi->curh->show();
|
||||||
tlog0<<"\tScreen handler: "<<pomtime.getDif()<<std::endl;
|
tlog0<<"\tScreen handler: "<<pomtime.getDif()<<std::endl;
|
||||||
@ -150,7 +153,7 @@ int main(int argc, char** argv)
|
|||||||
if(options->mode == 0) //new game
|
if(options->mode == 0) //new game
|
||||||
{
|
{
|
||||||
tmh.getDif();
|
tmh.getDif();
|
||||||
char portc[10];
|
char portc[10];
|
||||||
SDL_itoa(conf.cc.port,portc,10);
|
SDL_itoa(conf.cc.port,portc,10);
|
||||||
CClient::runServer(portc);
|
CClient::runServer(portc);
|
||||||
tlog0<<"Preparing shared memory and starting server: "<<tmh.getDif()<<std::endl;
|
tlog0<<"Preparing shared memory and starting server: "<<tmh.getDif()<<std::endl;
|
||||||
|
@ -27,15 +27,7 @@ bool isItIn(const SDL_Rect * rect, int x, int y)
|
|||||||
return true;
|
return true;
|
||||||
else return false;
|
else return false;
|
||||||
}
|
}
|
||||||
inline SDL_Rect genRect(const int & hh, const int & ww, const int & xx, const int & yy)
|
|
||||||
{
|
|
||||||
SDL_Rect ret;
|
|
||||||
ret.h=hh;
|
|
||||||
ret.w=ww;
|
|
||||||
ret.x=xx;
|
|
||||||
ret.y=yy;
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
void blitAtWR(SDL_Surface * src, int x, int y, SDL_Surface * dst)
|
void blitAtWR(SDL_Surface * src, int x, int y, SDL_Surface * dst)
|
||||||
{
|
{
|
||||||
SDL_Rect pom = genRect(src->h,src->w,x,y);
|
SDL_Rect pom = genRect(src->h,src->w,x,y);
|
||||||
@ -248,16 +240,7 @@ inline void CSDL_Ext::SDL_PutPixel(SDL_Surface *ekran, const int & x, const int
|
|||||||
SDL_UpdateRect(ekran, x, y, 1, 1);
|
SDL_UpdateRect(ekran, x, y, 1, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void CSDL_Ext::SDL_PutPixelWithoutRefresh(SDL_Surface *ekran, const int & x, const int & y, const Uint8 & R, const Uint8 & G, const Uint8 & B, Uint8 A)
|
|
||||||
{
|
|
||||||
Uint8 *p = (Uint8 *)ekran->pixels + y * ekran->pitch + x * ekran->format->BytesPerPixel;
|
|
||||||
|
|
||||||
p[0] = B;
|
|
||||||
p[1] = G;
|
|
||||||
p[2] = R;
|
|
||||||
if(ekran->format->BytesPerPixel==4)
|
|
||||||
p[3] = A;
|
|
||||||
}
|
|
||||||
|
|
||||||
///**************/
|
///**************/
|
||||||
///Reverses the toRot surface by the vertical axis
|
///Reverses the toRot surface by the vertical axis
|
||||||
@ -431,7 +414,7 @@ Uint32 CSDL_Ext::SDL_GetPixel(SDL_Surface *surface, const int & x, const int & y
|
|||||||
return *(Uint32 *)p;
|
return *(Uint32 *)p;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return 0; // shouldn't happen, but avoids warnings
|
return 0; // shouldn't happen, but avoids warnings
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -658,7 +641,7 @@ int CSDL_Ext::blit8bppAlphaTo24bpp(SDL_Surface * src, SDL_Rect * srcRect, SDL_Su
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* clip the source rectangle to the source surface */
|
/* clip the source rectangle to the source surface */
|
||||||
if(srcRect)
|
if(srcRect)
|
||||||
{
|
{
|
||||||
int maxw, maxh;
|
int maxw, maxh;
|
||||||
|
|
||||||
@ -686,8 +669,8 @@ int CSDL_Ext::blit8bppAlphaTo24bpp(SDL_Surface * src, SDL_Rect * srcRect, SDL_Su
|
|||||||
if(maxh < h)
|
if(maxh < h)
|
||||||
h = maxh;
|
h = maxh;
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
srcx = srcy = 0;
|
srcx = srcy = 0;
|
||||||
w = src->w;
|
w = src->w;
|
||||||
|
@ -20,12 +20,32 @@ template <typename T> int getIndexOf(const std::vector<T> & v, const T & val)
|
|||||||
return i;
|
return i;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
inline SDL_Rect genRect(const int & hh, const int & ww, const int & xx, const int & yy);
|
inline SDL_Rect genRect(const int & hh, const int & ww, const int & xx, const int & yy)
|
||||||
|
{
|
||||||
|
SDL_Rect ret;
|
||||||
|
ret.h=hh;
|
||||||
|
ret.w=ww;
|
||||||
|
ret.x=xx;
|
||||||
|
ret.y=yy;
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
namespace CSDL_Ext
|
namespace CSDL_Ext
|
||||||
{
|
{
|
||||||
extern SDL_Surface * std32bppSurface;
|
extern SDL_Surface * std32bppSurface;
|
||||||
inline void SDL_PutPixel(SDL_Surface *ekran, const int & x, const int & y, const Uint8 & R, const Uint8 & G, const Uint8 & B, Uint8 A = 255); //myC influences the start of reading pixels
|
inline void SDL_PutPixel(SDL_Surface *ekran, const int & x, const int & y, const Uint8 & R, const Uint8 & G, const Uint8 & B, Uint8 A = 255); //myC influences the start of reading pixels
|
||||||
inline void SDL_PutPixelWithoutRefresh(SDL_Surface *ekran, const int & x, const int & y, const Uint8 & R, const Uint8 & G, const Uint8 & B, Uint8 A = 255); //myC influences the start of reading pixels ; without refreshing
|
//inline void SDL_PutPixelWithoutRefresh(SDL_Surface *ekran, const int & x, const int & y, const Uint8 & R, const Uint8 & G, const Uint8 & B, Uint8 A = 255); //myC influences the start of reading pixels ; without refreshing
|
||||||
|
|
||||||
|
inline void SDL_PutPixelWithoutRefresh(SDL_Surface *ekran, const int & x, const int & y, const Uint8 & R, const Uint8 & G, const Uint8 & B, Uint8 A = 255)
|
||||||
|
{
|
||||||
|
Uint8 *p = (Uint8 *)ekran->pixels + y * ekran->pitch + x * ekran->format->BytesPerPixel;
|
||||||
|
|
||||||
|
p[0] = B;
|
||||||
|
p[1] = G;
|
||||||
|
p[2] = R;
|
||||||
|
if(ekran->format->BytesPerPixel==4)
|
||||||
|
p[3] = A;
|
||||||
|
}
|
||||||
|
|
||||||
SDL_Surface * rotate01(SDL_Surface * toRot); //vertical flip
|
SDL_Surface * rotate01(SDL_Surface * toRot); //vertical flip
|
||||||
SDL_Surface * hFlip(SDL_Surface * toRot); //horizontal flip
|
SDL_Surface * hFlip(SDL_Surface * toRot); //horizontal flip
|
||||||
SDL_Surface * rotate02(SDL_Surface * toRot); //rotate 90 degrees left
|
SDL_Surface * rotate02(SDL_Surface * toRot); //rotate 90 degrees left
|
||||||
|
142
client/VCMI_client.cbp
Normal file
142
client/VCMI_client.cbp
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||||
|
<CodeBlocks_project_file>
|
||||||
|
<FileVersion major="1" minor="6" />
|
||||||
|
<Project>
|
||||||
|
<Option title="Client" />
|
||||||
|
<Option platforms="Windows;" />
|
||||||
|
<Option pch_mode="2" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Build>
|
||||||
|
<Target title="Debug Win32">
|
||||||
|
<Option platforms="Windows;" />
|
||||||
|
<Option output="..\..\..\..\Install\Heroes3\VCMI_client" prefix_auto="1" extension_auto="1" />
|
||||||
|
<Option working_dir="..\..\..\..\Install\Heroes3" />
|
||||||
|
<Option object_output="Debug Win32" />
|
||||||
|
<Option type="1" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Option use_console_runner="0" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-g" />
|
||||||
|
<Add option="-D_DEBUG" />
|
||||||
|
</Compiler>
|
||||||
|
</Target>
|
||||||
|
<Target title="Release Win32">
|
||||||
|
<Option platforms="Windows;" />
|
||||||
|
<Option output="..\..\..\..\Install\Heroes3\VCMI_client" prefix_auto="1" extension_auto="1" />
|
||||||
|
<Option working_dir="..\..\..\..\Install\Heroes3" />
|
||||||
|
<Option object_output="Release Win32" />
|
||||||
|
<Option type="1" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Option use_console_runner="0" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-fexpensive-optimizations" />
|
||||||
|
<Add option="-Os" />
|
||||||
|
<Add option="-O3" />
|
||||||
|
<Add option="-O2" />
|
||||||
|
<Add option="-O1" />
|
||||||
|
<Add option="-O" />
|
||||||
|
</Compiler>
|
||||||
|
<Linker>
|
||||||
|
<Add option="-s" />
|
||||||
|
</Linker>
|
||||||
|
</Target>
|
||||||
|
</Build>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-D_WIN32" />
|
||||||
|
<Add option="-D_WIN32_WINDOWS" />
|
||||||
|
<Add directory="$(#boost.include)" />
|
||||||
|
<Add directory="$(#sdl.include)" />
|
||||||
|
<Add directory="$(#zlib.include)" />
|
||||||
|
</Compiler>
|
||||||
|
<Linker>
|
||||||
|
<Add option="-lSDL" />
|
||||||
|
<Add option="-lSDL_image" />
|
||||||
|
<Add option="-lSDL_ttf" />
|
||||||
|
<Add option="-lSDL_mixer" />
|
||||||
|
<Add option="-lzlib1" />
|
||||||
|
<Add option="-llibboost_thread-mgw43-mt-1_37" />
|
||||||
|
<Add option="-llibboost_system-mgw43-mt-1_37" />
|
||||||
|
<Add option="-llibboost_filesystem-mgw43-mt-1_37" />
|
||||||
|
<Add library="..\..\..\..\Install\Heroes3\libVCMI_lib.a" />
|
||||||
|
<Add directory="$(#sdl.lib)" />
|
||||||
|
<Add directory="$(#boost.lib)" />
|
||||||
|
<Add directory="$(#zlib.lib)" />
|
||||||
|
</Linker>
|
||||||
|
<Unit filename="..\AI_Base.h" />
|
||||||
|
<Unit filename="..\AdventureMapButton.cpp" />
|
||||||
|
<Unit filename="..\AdventureMapButton.h" />
|
||||||
|
<Unit filename="..\CAdvmapInterface.cpp" />
|
||||||
|
<Unit filename="..\CAdvmapInterface.h" />
|
||||||
|
<Unit filename="..\CBattleInterface.cpp" />
|
||||||
|
<Unit filename="..\CBattleInterface.h" />
|
||||||
|
<Unit filename="..\CCallback.cpp" />
|
||||||
|
<Unit filename="..\CCallback.h" />
|
||||||
|
<Unit filename="..\CCastleInterface.cpp" />
|
||||||
|
<Unit filename="..\CCastleInterface.h" />
|
||||||
|
<Unit filename="..\CCursorHandler.cpp" />
|
||||||
|
<Unit filename="..\CCursorHandler.h" />
|
||||||
|
<Unit filename="..\CGameInfo.cpp" />
|
||||||
|
<Unit filename="..\CGameInfo.h" />
|
||||||
|
<Unit filename="..\CGameInterface.cpp" />
|
||||||
|
<Unit filename="..\CGameInterface.h" />
|
||||||
|
<Unit filename="..\CHeroWindow.cpp" />
|
||||||
|
<Unit filename="..\CHeroWindow.h" />
|
||||||
|
<Unit filename="..\CMT.cpp" />
|
||||||
|
<Unit filename="..\CMessage.cpp" />
|
||||||
|
<Unit filename="..\CMessage.h" />
|
||||||
|
<Unit filename="..\CPathfinder.cpp" />
|
||||||
|
<Unit filename="..\CPathfinder.h" />
|
||||||
|
<Unit filename="..\CPlayerInterface.cpp" />
|
||||||
|
<Unit filename="..\CPlayerInterface.h" />
|
||||||
|
<Unit filename="..\CPreGame.cpp" />
|
||||||
|
<Unit filename="..\CPreGame.h" />
|
||||||
|
<Unit filename="..\CThreadHelper.cpp" />
|
||||||
|
<Unit filename="..\CThreadHelper.h" />
|
||||||
|
<Unit filename="..\ChangeLog" />
|
||||||
|
<Unit filename="..\SDL_Extensions.cpp" />
|
||||||
|
<Unit filename="..\SDL_Extensions.h" />
|
||||||
|
<Unit filename="..\SDL_framerate.cpp" />
|
||||||
|
<Unit filename="..\SDL_framerate.h" />
|
||||||
|
<Unit filename="..\StartInfo.h" />
|
||||||
|
<Unit filename="CBitmapHandler.cpp" />
|
||||||
|
<Unit filename="CBitmapHandler.h" />
|
||||||
|
<Unit filename="CConfigHandler.cpp" />
|
||||||
|
<Unit filename="CConfigHandler.h" />
|
||||||
|
<Unit filename="CCreatureAnimation.cpp" />
|
||||||
|
<Unit filename="CCreatureAnimation.h" />
|
||||||
|
<Unit filename="CSpellWindow.cpp" />
|
||||||
|
<Unit filename="CSpellWindow.h" />
|
||||||
|
<Unit filename="Client.cpp" />
|
||||||
|
<Unit filename="Client.h" />
|
||||||
|
<Unit filename="FunctionList.h" />
|
||||||
|
<Unit filename="Graphics.cpp" />
|
||||||
|
<Unit filename="Graphics.h" />
|
||||||
|
<Unit filename="..\global.h" />
|
||||||
|
<Unit filename="..\hch\CAbilityHandler.cpp" />
|
||||||
|
<Unit filename="..\hch\CAbilityHandler.h" />
|
||||||
|
<Unit filename="..\hch\CAmbarCendamo.h" />
|
||||||
|
<Unit filename="..\hch\CArtHandler.h" />
|
||||||
|
<Unit filename="..\hch\CBuildingHandler.h" />
|
||||||
|
<Unit filename="..\hch\CDefHandler.cpp" />
|
||||||
|
<Unit filename="..\hch\CDefHandler.h" />
|
||||||
|
<Unit filename="..\hch\CHeroHandler.h" />
|
||||||
|
<Unit filename="..\hch\CMusicHandler.cpp" />
|
||||||
|
<Unit filename="..\hch\CMusicHandler.h" />
|
||||||
|
<Unit filename="..\hch\CObjectHandler.h" />
|
||||||
|
<Unit filename="..\hch\CSndHandler.cpp" />
|
||||||
|
<Unit filename="..\hch\CSndHandler.h" />
|
||||||
|
<Unit filename="..\int3.h" />
|
||||||
|
<Unit filename="..\map.h" />
|
||||||
|
<Unit filename="..\mapHandler.cpp" />
|
||||||
|
<Unit filename="..\mapHandler.h" />
|
||||||
|
<Unit filename="..\nodrze.h" />
|
||||||
|
<Unit filename="..\stdafx.h" />
|
||||||
|
<Unit filename="..\timeHandler.h" />
|
||||||
|
<Extensions>
|
||||||
|
<code_completion />
|
||||||
|
<envvars />
|
||||||
|
<debugger />
|
||||||
|
<lib_finder disable_auto="1" />
|
||||||
|
</Extensions>
|
||||||
|
</Project>
|
||||||
|
</CodeBlocks_project_file>
|
111
lib/VCMI_lib.cbp
Normal file
111
lib/VCMI_lib.cbp
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||||
|
<CodeBlocks_project_file>
|
||||||
|
<FileVersion major="1" minor="6" />
|
||||||
|
<Project>
|
||||||
|
<Option title="Lib" />
|
||||||
|
<Option platforms="Windows;" />
|
||||||
|
<Option pch_mode="2" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Build>
|
||||||
|
<Target title="Debug Win32">
|
||||||
|
<Option platforms="Windows;" />
|
||||||
|
<Option output="..\..\..\..\Install\Heroes3\VCMI_lib" prefix_auto="1" extension_auto="1" />
|
||||||
|
<Option working_dir="..\..\..\..\Install\Heroes3" />
|
||||||
|
<Option object_output="Debug Win32" />
|
||||||
|
<Option type="3" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Option createDefFile="1" />
|
||||||
|
<Option createStaticLib="1" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-g" />
|
||||||
|
<Add option="-D_DEBUG" />
|
||||||
|
</Compiler>
|
||||||
|
</Target>
|
||||||
|
<Target title="Release Win32">
|
||||||
|
<Option platforms="Windows;" />
|
||||||
|
<Option output="..\..\..\..\Install\Heroes3\VCMI_lib" prefix_auto="1" extension_auto="1" />
|
||||||
|
<Option working_dir="..\..\..\..\Install\Heroes3" />
|
||||||
|
<Option object_output="Release Win32" />
|
||||||
|
<Option type="3" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Option createDefFile="1" />
|
||||||
|
<Option createStaticLib="1" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-fexpensive-optimizations" />
|
||||||
|
<Add option="-Os" />
|
||||||
|
<Add option="-O3" />
|
||||||
|
<Add option="-O2" />
|
||||||
|
<Add option="-O1" />
|
||||||
|
<Add option="-O" />
|
||||||
|
</Compiler>
|
||||||
|
<Linker>
|
||||||
|
<Add option="-s" />
|
||||||
|
</Linker>
|
||||||
|
</Target>
|
||||||
|
</Build>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-std=c++98" />
|
||||||
|
<Add option="-Wfatal-errors" />
|
||||||
|
<Add option="-Wextra" />
|
||||||
|
<Add option="-D_WIN32" />
|
||||||
|
<Add option="-D_WIN32_WINNT" />
|
||||||
|
<Add directory="$(#boost.include)" />
|
||||||
|
<Add directory="$(#sdl.include)" />
|
||||||
|
<Add directory="$(#zlib.include)" />
|
||||||
|
</Compiler>
|
||||||
|
<Linker>
|
||||||
|
<Add option="-lzlib1" />
|
||||||
|
<Add option="-llibboost_thread-mgw43-mt-1_37" />
|
||||||
|
<Add option="-llibboost_system-mgw43-mt-1_37" />
|
||||||
|
<Add option="-llibboost_filesystem-mgw43-mt-1_37" />
|
||||||
|
<Add option="-lwsock32" />
|
||||||
|
<Add option="-lws2_32" />
|
||||||
|
<Add library="..\..\..\mingw\lib\libws2_32.a" />
|
||||||
|
<Add directory="$(#boost.lib)" />
|
||||||
|
<Add directory="$(#sdl.lib)" />
|
||||||
|
<Add directory="$(#zlib.lib)" />
|
||||||
|
</Linker>
|
||||||
|
<Unit filename="..\CConsoleHandler.cpp" />
|
||||||
|
<Unit filename="..\CConsoleHandler.h" />
|
||||||
|
<Unit filename="..\CGameState.cpp" />
|
||||||
|
<Unit filename="..\CGameState.h" />
|
||||||
|
<Unit filename="..\hch\CArtHandler.cpp" />
|
||||||
|
<Unit filename="..\hch\CArtHandler.h" />
|
||||||
|
<Unit filename="..\hch\CBuildingHandler.cpp" />
|
||||||
|
<Unit filename="..\hch\CBuildingHandler.h" />
|
||||||
|
<Unit filename="..\hch\CCreatureHandler.cpp" />
|
||||||
|
<Unit filename="..\hch\CCreatureHandler.h" />
|
||||||
|
<Unit filename="..\hch\CDefObjInfoHandler.cpp" />
|
||||||
|
<Unit filename="..\hch\CDefObjInfoHandler.h" />
|
||||||
|
<Unit filename="..\hch\CGeneralTextHandler.cpp" />
|
||||||
|
<Unit filename="..\hch\CGeneralTextHandler.h" />
|
||||||
|
<Unit filename="..\hch\CHeroHandler.cpp" />
|
||||||
|
<Unit filename="..\hch\CHeroHandler.h" />
|
||||||
|
<Unit filename="..\hch\CLodHandler.cpp" />
|
||||||
|
<Unit filename="..\hch\CLodHandler.h" />
|
||||||
|
<Unit filename="..\hch\CObjectHandler.cpp" />
|
||||||
|
<Unit filename="..\hch\CObjectHandler.h" />
|
||||||
|
<Unit filename="..\hch\CSpellHandler.cpp" />
|
||||||
|
<Unit filename="..\hch\CSpellHandler.h" />
|
||||||
|
<Unit filename="..\hch\CTownHandler.cpp" />
|
||||||
|
<Unit filename="..\hch\CTownHandler.h" />
|
||||||
|
<Unit filename="BattleAction.h" />
|
||||||
|
<Unit filename="CondSh.h" />
|
||||||
|
<Unit filename="Connection.cpp" />
|
||||||
|
<Unit filename="Connection.h" />
|
||||||
|
<Unit filename="IGameCallback.cpp" />
|
||||||
|
<Unit filename="IGameCallback.h" />
|
||||||
|
<Unit filename="Interprocess.h" />
|
||||||
|
<Unit filename="NetPacks.h" />
|
||||||
|
<Unit filename="VCMI_Lib.cpp" />
|
||||||
|
<Unit filename="VCMI_Lib.h" />
|
||||||
|
<Unit filename="..\map.cpp" />
|
||||||
|
<Unit filename="..\map.h" />
|
||||||
|
<Unit filename="..\stdafx.cpp" />
|
||||||
|
<Extensions>
|
||||||
|
<code_completion />
|
||||||
|
<envvars />
|
||||||
|
<debugger />
|
||||||
|
</Extensions>
|
||||||
|
</Project>
|
||||||
|
</CodeBlocks_project_file>
|
68
server/VCMI_server.cbp
Normal file
68
server/VCMI_server.cbp
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||||
|
<CodeBlocks_project_file>
|
||||||
|
<FileVersion major="1" minor="6" />
|
||||||
|
<Project>
|
||||||
|
<Option title="Server" />
|
||||||
|
<Option platforms="Windows;" />
|
||||||
|
<Option pch_mode="2" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Build>
|
||||||
|
<Target title="Debug Win32">
|
||||||
|
<Option platforms="Windows;" />
|
||||||
|
<Option output="..\..\..\..\Install\Heroes3\VCMI_server" prefix_auto="1" extension_auto="1" />
|
||||||
|
<Option working_dir="..\..\..\..\Install\Heroes3" />
|
||||||
|
<Option object_output="Debug Win32" />
|
||||||
|
<Option type="1" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Option use_console_runner="0" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-g" />
|
||||||
|
</Compiler>
|
||||||
|
</Target>
|
||||||
|
<Target title="Release Win32">
|
||||||
|
<Option platforms="Windows;" />
|
||||||
|
<Option output="..\..\..\..\Install\Heroes3\VCMI_server" prefix_auto="1" extension_auto="1" />
|
||||||
|
<Option working_dir="..\..\..\..\Install\Heroes3" />
|
||||||
|
<Option object_output="Release Win32" />
|
||||||
|
<Option type="1" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Option use_console_runner="0" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-fexpensive-optimizations" />
|
||||||
|
<Add option="-Os" />
|
||||||
|
<Add option="-O3" />
|
||||||
|
<Add option="-O2" />
|
||||||
|
<Add option="-O1" />
|
||||||
|
<Add option="-O" />
|
||||||
|
</Compiler>
|
||||||
|
<Linker>
|
||||||
|
<Add option="-s" />
|
||||||
|
</Linker>
|
||||||
|
</Target>
|
||||||
|
</Build>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-D_WIN32" />
|
||||||
|
<Add directory="$(#zlib.include)" />
|
||||||
|
<Add directory="$(#boost.include)" />
|
||||||
|
</Compiler>
|
||||||
|
<Linker>
|
||||||
|
<Add option="-llibboost_thread-mgw43-mt-1_37" />
|
||||||
|
<Add option="-llibboost_system-mgw43-mt-1_37" />
|
||||||
|
<Add option="-llibboost_filesystem-mgw43-mt-1_37" />
|
||||||
|
<Add option="-lwsock32" />
|
||||||
|
<Add option="-lws2_32" />
|
||||||
|
<Add library="..\..\..\..\Install\Heroes3\libVCMI_lib.a" />
|
||||||
|
<Add directory="$(#zlib.lib)" />
|
||||||
|
<Add directory="$(#boost.lib)" />
|
||||||
|
</Linker>
|
||||||
|
<Unit filename="CGameHandler.cpp" />
|
||||||
|
<Unit filename="CGameHandler.h" />
|
||||||
|
<Unit filename="CVCMIServer.cpp" />
|
||||||
|
<Unit filename="CVCMIServer.h" />
|
||||||
|
<Extensions>
|
||||||
|
<code_completion />
|
||||||
|
<envvars />
|
||||||
|
<debugger />
|
||||||
|
</Extensions>
|
||||||
|
</Project>
|
||||||
|
</CodeBlocks_project_file>
|
9
vcmi.workspace
Normal file
9
vcmi.workspace
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||||
|
<CodeBlocks_workspace_file>
|
||||||
|
<Workspace title="VCMI">
|
||||||
|
<Project filename="client\VCMI_client.cbp" />
|
||||||
|
<Project filename="server\VCMI_server.cbp" />
|
||||||
|
<Project filename="lib\VCMI_lib.cbp" active="1" />
|
||||||
|
<Project filename="AI\GeniusAI\genius.cbp" />
|
||||||
|
</Workspace>
|
||||||
|
</CodeBlocks_workspace_file>
|
Loading…
Reference in New Issue
Block a user