char *__thiscall Battle_GetBackgroundPcxName(_BattleMgr_ *this)
{
battleMgr = this;
if ( this->ShootTowers <= 0 )
{
SpecialGround = this->Special_Ground;
if ( SpecialGround != -1 && SpecialGround )
{
result = SpecialGroundNames[SpecialGround];
}
else
{
HeroA = battleMgr->Hero[LEFT];
if ( HeroA
&& LODWORD(HeroA->vizitedFlags) & HF_IN_BOAT
&& (HeroD = battleMgr->Hero[RIGHT]) != 0
&& LODWORD(HeroD->vizitedFlags) & HF_IN_BOAT )
{
result = aCmbkboat_pcx;
}
else if ( battleMgr->isWaterBank )
{
result = aCmbkdeck_pcx;
}
else if ( SpecialGround )
{
result = BattlePcxNames[AdvMgr_GetBattlefieldTerrian(o_AdvMgr, battleMgr->mapPoint)
+ 2 * battleMgr->combatTerrain
+ battleMgr->combatTerrain];
}
else
{
result = aCmbkbch_pcx;
}
}
}
else
{
result = TownSiegeBackground[this->Town->type];
}
battleMgr->iCombatCycleType = 1;
battleMgr->combatFringe = -1;
return result;
}