mirror of
https://github.com/1dot13/source.git
synced 2026-08-19 14:20:30 +02:00
Merged from revision: 7258
- Translated russian source code comments (by Sevenfm) git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7259 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -1466,10 +1466,10 @@ void InitAnimationSurfacesPerBodytype( )
|
||||
gubAnimSurfaceIndex[ REGMALE ][ SWATTING_WK ] = RGMSWKNIFE;
|
||||
gubAnimSurfaceIndex[ REGMALE ][ SWAT_BACKWARDS_WK ] = RGMSWKNIFE;
|
||||
gubAnimSurfaceIndex[ REGMALE ][ SWAT_BACKWARDS_NOTHING ] = RGMNOTHING_SWAT;
|
||||
//кидание гранаты
|
||||
//grenade throwing
|
||||
gubAnimSurfaceIndex[ REGMALE ][ THROW_GRENADE_STANCE ] = RGMSTHRG;
|
||||
gubAnimSurfaceIndex[ REGMALE ][ LOB_GRENADE_STANCE ] = RGMSLOBG;
|
||||
//перекат
|
||||
//roll over
|
||||
gubAnimSurfaceIndex[ REGMALE ][ ROLL_PRONE_L ] = RGMROLL_PR;
|
||||
gubAnimSurfaceIndex[ REGMALE ][ ROLL_PRONE_R ] = RGMROLL_PR;
|
||||
|
||||
|
||||
@@ -488,16 +488,16 @@ AnimationSurfaceType gAnimSurfaceDatabase[ NUMANIMATIONSURFACETYPES ] =
|
||||
RGFSWKNIFE , "ANIMS\\F_MERC\\F_K_SWAT_K.sti", C_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
|
||||
RGMSWKNIFE , "ANIMS\\S_MERC\\S_K_SWAT.sti", C_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
|
||||
|
||||
//êèäàíèå ãðàíàòû ñòîÿ ñ âûäåðãèâàíèåì ÷åêè 2 âàðèàíòà
|
||||
// grenade throwing when standing (pull the pin out of a grenade), 2 variants
|
||||
BGMSTHRG, "ANIMS\\M_MERC\\M_THROW_G.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
|
||||
//äëÿ áàáû ïîêà ñòàíäàðòíàÿ àíèìàöèÿ
|
||||
//for woman - standart animation
|
||||
RGFSTHRG, "ANIMS\\F_MERC\\F_THROW.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
|
||||
RGMSTHRG, "ANIMS\\S_MERC\\S_THROW_G.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
|
||||
|
||||
BGMSLOBG, "ANIMS\\M_MERC\\M_THROW_GLOB.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
|
||||
RGFSLOBG, "ANIMS\\F_MERC\\F_LOB.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
|
||||
RGMSLOBG, "ANIMS\\S_MERC\\S_THROW_GLOB.sti", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
|
||||
//ïåðåêàò
|
||||
//roll over
|
||||
RGMROLL_PR, "ANIMS\\S_MERC\\S_ROLL_N.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
|
||||
BGMROLL_PR, "ANIMS\\M_MERC\\M_ROLL_N.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
|
||||
RGFROLL_PR, "ANIMS\\F_MERC\\F_ROLL_N.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
|
||||
|
||||
@@ -85,12 +85,12 @@
|
||||
#include "Map Information.h"
|
||||
#include "Soldier Control.h"
|
||||
#include "DisplayCover.h"
|
||||
//ddd îïòèìèçàöèÿ äëÿ õîäà äðàíèêîâ
|
||||
//ddd optimization of enemy turn
|
||||
#include "aiinternals.h"
|
||||
//#include "los.h"
|
||||
//#include "structure wrap.h"
|
||||
//#include "DisplayCover.h"
|
||||
//ddd îïòèìèçàöèÿ äëÿ õîäà äðàíèêîâ
|
||||
//ddd optimization of enemy turn
|
||||
#endif
|
||||
|
||||
#include "teamturns.h"
|
||||
@@ -1252,14 +1252,14 @@ UINT32 UIHandleEndTurn( UI_EVENT *pUIEvent )
|
||||
|
||||
// Flugente: this stuff is only ever used in AStar pathing and is a unnecessary waste of resources otherwise, so I'm putting an end to this
|
||||
#ifdef USE_ASTAR_PATHS
|
||||
////ddd îïòèìèçàöèÿ äëÿ õîäà äðàíèêîâ
|
||||
////ddd enemy turn optimization
|
||||
if ( (gTacticalStatus.uiFlags & TURNBASED) && (gTacticalStatus.uiFlags & INCOMBAT ) )
|
||||
{
|
||||
memset( gubWorldTileInLight, FALSE, sizeof( gubWorldTileInLight ) );
|
||||
memset( gubIsCorpseThere, FALSE, sizeof( gubIsCorpseThere ) );
|
||||
memset( gubMerkCanSeeThisTile, FALSE, sizeof( gubMerkCanSeeThisTile ) );
|
||||
|
||||
//ðàçâåðòêà öèêëà. ïðè èçìåíåíèè WORLD_MAX íà äð.çíà÷. íåîáõîäèìî áóäåò ïîä÷èùàòü õâîñòû! èáî îïàñíûé êîä!!! ;)
|
||||
//sevenfm translated: unwinding of loop. When changing WORLD_MAX to another value will need some cleaning! dangerous code! ;)
|
||||
|
||||
// WANNE: We had a custom user map (Tixa, J9), where the following loop caused an unhandled exception.
|
||||
// The crash occurd at ~index 16000 when calling the method IsCorpseAtGridNo() ...
|
||||
@@ -1316,7 +1316,7 @@ UINT32 UIHandleEndTurn( UI_EVENT *pUIEvent )
|
||||
}//if
|
||||
}
|
||||
}
|
||||
//ddd îïòèìèçàöèÿ äëÿ õîäà äðàíèêîâ**
|
||||
//ddd enemy turn optimization**
|
||||
#endif
|
||||
|
||||
// End our turn!
|
||||
|
||||
@@ -121,7 +121,7 @@ INT32 giMenuAnchorX, giMenuAnchorY;
|
||||
//#define PROG_BAR_START_Y 2
|
||||
|
||||
//**ddd{
|
||||
//ïîñòàâèòü äåôàéí â 0 åñëè èñïîëüçîâàòü áîëüøîé ïðîãðåññ áàð
|
||||
//assign 0 to define if using large progress bar
|
||||
//#define fSmallSizeProgressbar 1
|
||||
INT32 HEIGHT_PROGRESSBAR, PROG_BAR_START_Y;
|
||||
//ddd}
|
||||
|
||||
+2
-2
@@ -278,11 +278,11 @@ extern UINT8 gubGlobalPathFlags;
|
||||
#define TRAVELCOST_WALL 254
|
||||
#define TRAVELCOST_EXITGRID 255
|
||||
|
||||
///ddd{okno
|
||||
///ddd { window
|
||||
#define TRAVELCOST_JUMPABLEWINDOW 46
|
||||
#define TRAVELCOST_JUMPABLEWINDOW_N 47
|
||||
#define TRAVELCOST_JUMPABLEWINDOW_W 48
|
||||
///dddokno}
|
||||
///ddd window }
|
||||
|
||||
#define TRAVELCOST_TRAINTRACKS 30
|
||||
#define TRAVELCOST_DIRTROAD 9
|
||||
|
||||
+7
-7
@@ -508,7 +508,7 @@ void AStarPathfinder::ResetAStarList()
|
||||
//ddd{
|
||||
|
||||
INT32 node;
|
||||
for (node = 0; node < (WORLD_MAX & ~3); node+=4) //ddd разворот цикла
|
||||
for (node = 0; node < (WORLD_MAX & ~3); node+=4) //ddd loop unwinding
|
||||
{
|
||||
AStarData[node].status = AStarData[node+1].status
|
||||
= AStarData[node+2].status = AStarData[node+3].status = AStar_Init;
|
||||
@@ -1119,7 +1119,7 @@ void AStarPathfinder::ExecuteAStarLogic()
|
||||
continue;
|
||||
}
|
||||
|
||||
//dddokno здесь можно запретить вставать на оконные клетки ;)
|
||||
//ddd: window. we can forbid standing on tiles with windows
|
||||
//if (gubWorldMovementCosts[CurrentNode][direction][pSoldier->pathing.bLevel] == TRAVELCOST_JUMPABLEWINDOW)
|
||||
// continue;
|
||||
|
||||
@@ -1516,8 +1516,8 @@ int AStarPathfinder::CalcG(int* pPrevCost)
|
||||
}
|
||||
}
|
||||
|
||||
//dddokno { проверить 2 условия 1 если след. тайл окно и надо будет перелезать через него
|
||||
//2. если тек. тайл окно и надо перейти на другой тайл через окно.
|
||||
//ddd: window. { check 2 conditions: 1. if next tile is a window and we will have to hump through it
|
||||
//2. if current tile is a window and we should jump through the window to reach another tile
|
||||
else if ( nextCost == TRAVELCOST_JUMPABLEWINDOW
|
||||
|| nextCost == TRAVELCOST_JUMPABLEWINDOW_N
|
||||
|| nextCost == TRAVELCOST_JUMPABLEWINDOW_W)
|
||||
@@ -1531,7 +1531,7 @@ int AStarPathfinder::CalcG(int* pPrevCost)
|
||||
nextCost = gTileTypeMovementCost[ gpWorldLevelData[ CurrentNode ].ubTerrainID ];//?
|
||||
|
||||
}
|
||||
//dddokno }
|
||||
//ddd: window }
|
||||
|
||||
else if ( nextCost == TRAVELCOST_FENCE && fNonFenceJumper )
|
||||
{
|
||||
@@ -2325,7 +2325,7 @@ bool AStarPathfinder::WantToTraverse()
|
||||
///ddd{
|
||||
if(gGameExternalOptions.bNewTacticalAIBehavior)
|
||||
{
|
||||
// по трупам не бегаем . ТОДО: в 80% случаев не бегаем?
|
||||
// don't walk over corpses. TODO: only avoid in 80% ?
|
||||
if ( ( (gTacticalStatus.uiFlags & TURNBASED) && (gTacticalStatus.uiFlags & INCOMBAT) )
|
||||
&& pSoldier->bTeam == ENEMY_TEAM
|
||||
//&& IsCorpseAtGridNo( CurrentNode, pSoldier->pathing.bLevel )
|
||||
@@ -2333,7 +2333,7 @@ bool AStarPathfinder::WantToTraverse()
|
||||
)
|
||||
return false;
|
||||
|
||||
//from niht ops //элита AI не ходит по освещённым участкам, которые просматриваются противником
|
||||
//from NightOps // elite AI will not walk on illuminated tiles, which are seen by the enemy
|
||||
if( ( (gTacticalStatus.uiFlags & TURNBASED) && (gTacticalStatus.uiFlags & INCOMBAT) )
|
||||
&& pSoldier->bTeam == ENEMY_TEAM && pSoldier->ubProfile == NO_PROFILE
|
||||
&& pSoldier->aiData.bAction != AI_ACTION_LEAVE_WATER_GAS
|
||||
|
||||
+6
-6
@@ -80,7 +80,7 @@ INT16 TerrainActionPoints( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bDir, INT8
|
||||
}
|
||||
}
|
||||
}
|
||||
//dddokno
|
||||
//ddd window
|
||||
if ( sSwitchValue == TRAVELCOST_JUMPABLEWINDOW
|
||||
|| sSwitchValue == TRAVELCOST_JUMPABLEWINDOW_N
|
||||
|| sSwitchValue == TRAVELCOST_JUMPABLEWINDOW_W)
|
||||
@@ -89,8 +89,8 @@ INT16 TerrainActionPoints( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bDir, INT8
|
||||
return -1;
|
||||
|
||||
}
|
||||
//ddd ^^^^^^если не ставить здесь условие, то при подходе к клетке с окном ,когда расст до клетки с окном 1
|
||||
//получим милое сообщение, что путь заблокирован
|
||||
//ddd if we don't check this condition, then when we approach to the tile with a window, when the distance to that tile will be 1
|
||||
//we'll get nice message, that the way is blocked
|
||||
if ( sSwitchValue == TRAVELCOST_NOT_STANDING)// || sSwitchValue == TRAVELCOST_JUMPABLEWINDOW)
|
||||
{
|
||||
// use the cost of the terrain!
|
||||
@@ -169,11 +169,11 @@ INT16 TerrainActionPoints( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bDir, INT8
|
||||
|
||||
// cost for jumping a fence REPLACES all other AP costs!
|
||||
case TRAVELCOST_FENCE :
|
||||
//dddokno{
|
||||
//ddd window{
|
||||
case TRAVELCOST_JUMPABLEWINDOW:
|
||||
case TRAVELCOST_JUMPABLEWINDOW_N:
|
||||
case TRAVELCOST_JUMPABLEWINDOW_W:
|
||||
//dddokno}
|
||||
//ddd window}
|
||||
if (!IS_MERC_BODY_TYPE( pSoldier ))
|
||||
{
|
||||
return -1;
|
||||
@@ -4268,7 +4268,7 @@ INT32 GetBPCostPer10APsForGunHolding( SOLDIERTYPE * pSoldier, BOOLEAN fEstimate
|
||||
// Alternative weapon holding?
|
||||
if (( gAnimControl[ pSoldier->usAnimState ].uiFlags & ANIM_ALT_WEAPON_HOLDING ) || (fEstimate && pSoldier->bScopeMode == USE_ALT_WEAPON_HOLD) )
|
||||
{
|
||||
if ( Item[pSoldier->inv[pSoldier->ubAttackingHand].usItem].twohanded ) // firing from hip is not nearly бn effort
|
||||
if ( Item[pSoldier->inv[pSoldier->ubAttackingHand].usItem].twohanded ) // firing from hip is not nearly ?n effort
|
||||
dModifier += 80; // only 20% cost if on hip
|
||||
else // holding pistol in one hand is worse in this case
|
||||
dModifier -= 25; // increased cost by 25%
|
||||
|
||||
@@ -1674,8 +1674,8 @@ void GetRTMousePositionInput( UINT32 *puiNewEvent )
|
||||
}
|
||||
}
|
||||
|
||||
//***13.02.2008*** постановка в тактике мешков с песком
|
||||
//usSubIndex может быть от 1 до 10
|
||||
//***13.02.2008*** place sandbags in tactics
|
||||
//usSubIndex may be [ 1 .. 10 ]
|
||||
//void PlaceSandbag (UINT16 usSubIndex)
|
||||
//{
|
||||
// INT16 sGridNo;
|
||||
@@ -1727,20 +1727,20 @@ void GetRTMousePositionInput( UINT32 *puiNewEvent )
|
||||
// // return;
|
||||
//
|
||||
// //pSector = &SectorInfo[ SECTOR(gWorldSectorX, gWorldSectorY) ];
|
||||
// //if( pSector->bUSUSED <= 0 ) //проверяем число доступных мешков
|
||||
// //if( pSector->bUSUSED <= 0 ) //check the number of available sandbags
|
||||
// //{
|
||||
// // ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"No Sandbags");
|
||||
// //}
|
||||
//usIndex =1;
|
||||
// //GetTileIndexFromTypeSubIndex( SECONDLARGEEXPDEBRIS, usSubIndex, &usIndex ); //только для 0 тайлсета
|
||||
//GetTileIndexFromTypeSubIndex( 150, usSubIndex, &usIndex ); //только для 0 тайлсета
|
||||
// //GetTileIndexFromTypeSubIndex( SECONDLARGEEXPDEBRIS, usSubIndex, &usIndex ); //only for tileset 0
|
||||
//GetTileIndexFromTypeSubIndex( 150, usSubIndex, &usIndex ); //only for tileset 0
|
||||
//ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"No Sandbags");
|
||||
// //GetTileIndexFromTypeSubIndex( SECONDLARGEEXPDEBRIS, usSubIndex, &usIndex );
|
||||
// ApplyMapChangesToMapTempFile( TRUE );
|
||||
// AddStructToHead( sGridNo, usIndex);
|
||||
// //if( pSector->bUSUSED <= 0 || !AddStructToHead( sGridNo, usIndex ) )
|
||||
// //{
|
||||
// //перебор для удаления всех видов мешков
|
||||
// //loop to delete all sandbags
|
||||
// // for(cnt = 1; cnt <= 10; cnt++)
|
||||
// // {
|
||||
// // GetTileIndexFromTypeSubIndex( uiType, cnt, &usIndex );
|
||||
@@ -1832,7 +1832,7 @@ void QueryRTWheels( UINT32 *puiNewEvent )
|
||||
case TALKCURSOR_MODE:
|
||||
case MENU_MODE:
|
||||
break;
|
||||
case CONFIRM_ACTION_MODE: //стрелять здесь. но до сюда не доходит ;)
|
||||
case CONFIRM_ACTION_MODE: //shoot here. but is never gets here :)
|
||||
break;
|
||||
}//switch
|
||||
}//if ( gusSelectedSoldier != NOBODY )
|
||||
@@ -2048,7 +2048,7 @@ void HandleMouseRTWheel( void )
|
||||
if ( !( gTacticalStatus.uiFlags & ENGAGED_IN_CONV ) &&
|
||||
( ( gsCurInterfacePanel != SM_PANEL ) || ( ButtonList[ iSMPanelButtons[ NEXTMERC_BUTTON ] ]->uiFlags & BUTTON_ENABLED ) ) )
|
||||
{
|
||||
if ( gViewportRegion.WheelState > 0 ) //колесо от себя
|
||||
if ( gViewportRegion.WheelState > 0 ) //wheel up
|
||||
{
|
||||
//change stance ->DOWN
|
||||
if ( _KeyDown( ALT ) )
|
||||
|
||||
@@ -835,7 +835,7 @@ BOOLEAN TurnSoldierIntoCorpse( SOLDIERTYPE *pSoldier, BOOLEAN fRemoveMerc, BOOLE
|
||||
Corpse.dYPos = pSoldier->dYPos;
|
||||
Corpse.bLevel = pSoldier->pathing.bLevel;
|
||||
Corpse.ubProfile = pSoldier->ubProfile;
|
||||
///ddd{ для обнаружения трупов драниками.
|
||||
///ddd{ for the enemy to be able to detect corpses
|
||||
if ( pSoldier->bTeam != gbPlayerNum )
|
||||
Corpse.ubAIWarningValue = 1;
|
||||
//def.ubAIWarningValue = 1; //not used value!
|
||||
|
||||
@@ -958,10 +958,10 @@ BOOLEAN AdjustToNextAnimationFrame( SOLDIERTYPE *pSoldier )
|
||||
//CODE: BEGINHOPFENCE
|
||||
// MOVE TWO FACGIN GRIDNOS
|
||||
sNewGridNo = NewGridNo( pSoldier->sGridNo, (UINT16)( DirectionInc( pSoldier->ubDirection ) ) );
|
||||
//dddokno{
|
||||
//ddd window{
|
||||
if ( gubWorldMovementCosts[ sNewGridNo ][ (UINT8)pSoldier->pathing.usPathingData[ pSoldier->pathing.usPathIndex ] ][ pSoldier->pathing.bLevel ] == TRAVELCOST_FENCE )
|
||||
sNewGridNo = NewGridNo( sNewGridNo, (UINT16)( DirectionInc( pSoldier->ubDirection ) ) );
|
||||
//dddokno}
|
||||
//ddd window}
|
||||
|
||||
//comm by ddd
|
||||
//sNewGridNo = NewGridNo( sNewGridNo, (UINT16)( DirectionInc( pSoldier->ubDirection ) ) );
|
||||
|
||||
@@ -3422,7 +3422,7 @@ BOOLEAN SOLDIERTYPE::EVENT_InitNewSoldierAnim( UINT16 usNewState, UINT16 usStart
|
||||
usNewState = SWAT_BACKWARDS;
|
||||
else
|
||||
usNewState = SWAT_BACKWARDS_NOTHING;
|
||||
// движение назад вприсядку с ножом ;)
|
||||
// move backward crouching, with a knife
|
||||
if( this->inv[ HANDPOS ].exists() == true &&
|
||||
//(this->ubBodyType == BIGMALE || this->ubBodyType == REGFEMALE )&&
|
||||
(Item[ usItem ].usItemClass == IC_BLADE || Item[ usItem ].usItemClass == IC_THROWING_KNIFE) )
|
||||
@@ -3436,7 +3436,7 @@ BOOLEAN SOLDIERTYPE::EVENT_InitNewSoldierAnim( UINT16 usNewState, UINT16 usStart
|
||||
}
|
||||
}
|
||||
}
|
||||
//***08.12.2008*** добавлена анимация переката -стырено ;) ddd
|
||||
//***08.12.2008*** added roll animation ;) ddd
|
||||
else if( usNewState == CRAWLING
|
||||
&& this->ubDirection ==
|
||||
gPurpendicularDirection[ this->ubDirection ][ this->pathing.usPathingData
|
||||
@@ -4638,12 +4638,12 @@ void SOLDIERTYPE::SetSoldierGridNo( INT32 sNewGridNo, BOOLEAN fForceRemove )
|
||||
}
|
||||
*/
|
||||
|
||||
//dddokno{ ???????
|
||||
//ddd window{ ???????
|
||||
//if ( IsOknoFencePresentAtGridno( sNewGridNo ) )
|
||||
//{
|
||||
// this->sZLevelOverride = TOPMOST_Z_LEVEL;
|
||||
//}
|
||||
//dddokno}
|
||||
//ddd window}
|
||||
|
||||
// Add/ remove tree if we are near it
|
||||
// CheckForFullStructures( this );
|
||||
@@ -5321,7 +5321,7 @@ UINT16 SOLDIERTYPE::GetMoveStateBasedOnStance( UINT8 ubStanceHeight )
|
||||
else
|
||||
{
|
||||
//***ddd
|
||||
// т.к. пока отрисован 1 бодитайп, остальные добавить
|
||||
// only 1 bodytime is ready (drawn) currently, the rest need to be added
|
||||
UINT16 usItem = this->inv[ HANDPOS ].usItem;
|
||||
if( this->inv[ HANDPOS ].exists() == true &&
|
||||
//(this->ubBodyType == BIGMALE || this->ubBodyType == REGFEMALE )&&
|
||||
|
||||
@@ -1242,7 +1242,7 @@ void GetTBMousePositionInput( UINT32 *puiNewEvent )
|
||||
if ( MercPtrs[ gusUIFullTargetID ]->bTeam != gbPlayerNum )
|
||||
{
|
||||
fOnValidGuy = TRUE;
|
||||
//ddd сброс флажка, отвечающего за режим прицеливания\регулировки очереди (прицельная очередь)
|
||||
//ddd turn off flag that indicates aim/autofire mode adjustment (aimed burst/auto)
|
||||
brstmode = 0;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -3163,7 +3163,7 @@ UINT32 ChanceToHitApproximation( SOLDIERTYPE * pSoldier, UINT32 uiChance )
|
||||
}
|
||||
|
||||
|
||||
/* //ïî÷òè îòëàæåííûé õåäðîêîâñêèé êîä. äîäåëàòü ïðèöåëû äëÿ êóëàêà è íîæûãà
|
||||
/* //nearly debugged Headrock code, need to finish aiming for fist and knife
|
||||
void HandleWheelAdjustCursor( SOLDIERTYPE *pSoldier, INT16 sMapPos, INT16 sDelta )
|
||||
{
|
||||
UINT16 usInHand;
|
||||
@@ -3434,7 +3434,7 @@ void HandleWheelAdjustCursor( SOLDIERTYPE *pSoldier, INT32 sMapPos, INT32 sDelta
|
||||
{
|
||||
case TARGETCURS:
|
||||
{
|
||||
if(pSoldier->bDoAutofire && (gfKeyState[ ALT ] || brstmode) ) //íàêðóòêà êîë-âà ïóëåé â î÷åðåäè // Flugente: how the fuck is this comment useful?
|
||||
if(pSoldier->bDoAutofire && (gfKeyState[ ALT ] || brstmode) ) //add bullets to autofire
|
||||
{
|
||||
INT16 sCurAPCosts;
|
||||
|
||||
|
||||
@@ -2514,7 +2514,7 @@ BOOLEAN UseGun( SOLDIERTYPE *pSoldier , INT32 sTargetGridNo )
|
||||
}
|
||||
fCalculateCTHDuringGunfire = FALSE;
|
||||
|
||||
//ddd{èçíîñ îáúåêòîâ ñ ìóççëå ôëàø. silencer
|
||||
//ddd{ muzzle flash objects wearing. silencer
|
||||
if ( (Item[ usUBItem ].usItemClass == IC_GUN) && gGameExternalOptions.bAllowWearSuppressor )
|
||||
{
|
||||
if ( IsFlashSuppressor(pObjUsed, pSoldier ) )
|
||||
@@ -5115,9 +5115,9 @@ void WindowHit( INT32 sGridNo, UINT16 usStructureID, BOOLEAN fBlowWindowSouth, B
|
||||
AniParams.uiFlags = ANITILE_FORWARD;
|
||||
|
||||
pNode = CreateAnimationTile( &AniParams );
|
||||
//dddokno{
|
||||
//ddd window{
|
||||
CompileWorldMovementCosts();
|
||||
//dddokno}
|
||||
//ddd window}
|
||||
PlayJA2Sample( GLASS_SHATTER1 + Random(2), RATE_11025, MIDVOLUME, 1, SoundDir( sGridNo ) );
|
||||
|
||||
}
|
||||
|
||||
@@ -6247,7 +6247,7 @@ UINT8 CalcEffVolume(SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bLevel, UINT8 ubN
|
||||
// effective volume fades over distance beyond 1 tile away
|
||||
iEffVolume -= (iDistance - 1);
|
||||
|
||||
//ddd{ цивилы плохо слышат ;)
|
||||
//ddd{ civilians have bad hearing ;)
|
||||
if(gGameExternalOptions.bLazyCivilians)
|
||||
if (pSoldier->bTeam == CIV_TEAM && pSoldier->ubBodyType != CROW )
|
||||
if (pSoldier->ubCivilianGroup == 0 && pSoldier->ubProfile == NO_PROFILE)
|
||||
|
||||
Reference in New Issue
Block a user