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:
Wanne
2014-06-03 18:13:23 +00:00
parent b118cf07b7
commit fa29d9be26
20 changed files with 64 additions and 64 deletions
+3 -3
View File
@@ -8,7 +8,7 @@
#elif defined( WIZ8_PRECOMPILED_HEADERS ) #elif defined( WIZ8_PRECOMPILED_HEADERS )
#include "WIZ8 SGP ALL.H" #include "WIZ8 SGP ALL.H"
#else #else
//** dd äëÿ ïîäêëþ÷åíèÿ äåôàéíîâ äîï. êíîïîê ìûøè //** dd for defines that needed for additional mouse buttons
#define _WIN32_WINNT 0x500 #define _WIN32_WINNT 0x500
//** //**
@@ -159,7 +159,7 @@ LRESULT CALLBACK MouseHandler(int Code, WPARAM wParam, LPARAM lParam)
switch (wParam) switch (wParam)
{ {
case WM_XBUTTONDOWN://** êîä ðàáî÷èé case WM_XBUTTONDOWN://** code is working
if( p_mhs->mouseData== (XBUTTON1<<16) ) //MessageBeep(-1); if( p_mhs->mouseData== (XBUTTON1<<16) ) //MessageBeep(-1);
{ {
gfX1ButtonState = TRUE; gfX1ButtonState = TRUE;
@@ -173,7 +173,7 @@ LRESULT CALLBACK MouseHandler(int Code, WPARAM wParam, LPARAM lParam)
QueueEvent(X2_BUTTON_DOWN, 0, uiParam); QueueEvent(X2_BUTTON_DOWN, 0, uiParam);
} }
break; break;
case WM_XBUTTONUP://** êîä ðàáî÷èé case WM_XBUTTONUP://** code is working
if( p_mhs->mouseData== (XBUTTON1<<16) ) if( p_mhs->mouseData== (XBUTTON1<<16) )
{ {
gfX1ButtonState = FALSE; gfX1ButtonState = FALSE;
+2 -2
View File
@@ -1466,10 +1466,10 @@ void InitAnimationSurfacesPerBodytype( )
gubAnimSurfaceIndex[ REGMALE ][ SWATTING_WK ] = RGMSWKNIFE; gubAnimSurfaceIndex[ REGMALE ][ SWATTING_WK ] = RGMSWKNIFE;
gubAnimSurfaceIndex[ REGMALE ][ SWAT_BACKWARDS_WK ] = RGMSWKNIFE; gubAnimSurfaceIndex[ REGMALE ][ SWAT_BACKWARDS_WK ] = RGMSWKNIFE;
gubAnimSurfaceIndex[ REGMALE ][ SWAT_BACKWARDS_NOTHING ] = RGMNOTHING_SWAT; gubAnimSurfaceIndex[ REGMALE ][ SWAT_BACKWARDS_NOTHING ] = RGMNOTHING_SWAT;
//кидание гранаты //grenade throwing
gubAnimSurfaceIndex[ REGMALE ][ THROW_GRENADE_STANCE ] = RGMSTHRG; gubAnimSurfaceIndex[ REGMALE ][ THROW_GRENADE_STANCE ] = RGMSTHRG;
gubAnimSurfaceIndex[ REGMALE ][ LOB_GRENADE_STANCE ] = RGMSLOBG; gubAnimSurfaceIndex[ REGMALE ][ LOB_GRENADE_STANCE ] = RGMSLOBG;
//перекат //roll over
gubAnimSurfaceIndex[ REGMALE ][ ROLL_PRONE_L ] = RGMROLL_PR; gubAnimSurfaceIndex[ REGMALE ][ ROLL_PRONE_L ] = RGMROLL_PR;
gubAnimSurfaceIndex[ REGMALE ][ ROLL_PRONE_R ] = RGMROLL_PR; gubAnimSurfaceIndex[ REGMALE ][ ROLL_PRONE_R ] = RGMROLL_PR;
+3 -3
View File
@@ -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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, RGFROLL_PR, "ANIMS\\F_MERC\\F_ROLL_N.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
+5 -5
View File
@@ -85,12 +85,12 @@
#include "Map Information.h" #include "Map Information.h"
#include "Soldier Control.h" #include "Soldier Control.h"
#include "DisplayCover.h" #include "DisplayCover.h"
//ddd îïòèìèçàöèÿ äëÿ õîäà äðàíèêîâ //ddd optimization of enemy turn
#include "aiinternals.h" #include "aiinternals.h"
//#include "los.h" //#include "los.h"
//#include "structure wrap.h" //#include "structure wrap.h"
//#include "DisplayCover.h" //#include "DisplayCover.h"
//ddd îïòèìèçàöèÿ äëÿ õîäà äðàíèêîâ //ddd optimization of enemy turn
#endif #endif
#include "teamturns.h" #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 // 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 #ifdef USE_ASTAR_PATHS
////ddd îïòèìèçàöèÿ äëÿ õîäà äðàíèêîâ ////ddd enemy turn optimization
if ( (gTacticalStatus.uiFlags & TURNBASED) && (gTacticalStatus.uiFlags & INCOMBAT ) ) if ( (gTacticalStatus.uiFlags & TURNBASED) && (gTacticalStatus.uiFlags & INCOMBAT ) )
{ {
memset( gubWorldTileInLight, FALSE, sizeof( gubWorldTileInLight ) ); memset( gubWorldTileInLight, FALSE, sizeof( gubWorldTileInLight ) );
memset( gubIsCorpseThere, FALSE, sizeof( gubIsCorpseThere ) ); memset( gubIsCorpseThere, FALSE, sizeof( gubIsCorpseThere ) );
memset( gubMerkCanSeeThisTile, FALSE, sizeof( gubMerkCanSeeThisTile ) ); 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. // 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() ... // The crash occurd at ~index 16000 when calling the method IsCorpseAtGridNo() ...
@@ -1316,7 +1316,7 @@ UINT32 UIHandleEndTurn( UI_EVENT *pUIEvent )
}//if }//if
} }
} }
//ddd îïòèìèçàöèÿ äëÿ õîäà äðàíèêîâ** //ddd enemy turn optimization**
#endif #endif
// End our turn! // End our turn!
+1 -1
View File
@@ -121,7 +121,7 @@ INT32 giMenuAnchorX, giMenuAnchorY;
//#define PROG_BAR_START_Y 2 //#define PROG_BAR_START_Y 2
//**ddd{ //**ddd{
//поставить дефайн в 0 если использовать большой прогресс бар //assign 0 to define if using large progress bar
//#define fSmallSizeProgressbar 1 //#define fSmallSizeProgressbar 1
INT32 HEIGHT_PROGRESSBAR, PROG_BAR_START_Y; INT32 HEIGHT_PROGRESSBAR, PROG_BAR_START_Y;
//ddd} //ddd}
+2 -2
View File
@@ -278,11 +278,11 @@ extern UINT8 gubGlobalPathFlags;
#define TRAVELCOST_WALL 254 #define TRAVELCOST_WALL 254
#define TRAVELCOST_EXITGRID 255 #define TRAVELCOST_EXITGRID 255
///ddd{okno ///ddd { window
#define TRAVELCOST_JUMPABLEWINDOW 46 #define TRAVELCOST_JUMPABLEWINDOW 46
#define TRAVELCOST_JUMPABLEWINDOW_N 47 #define TRAVELCOST_JUMPABLEWINDOW_N 47
#define TRAVELCOST_JUMPABLEWINDOW_W 48 #define TRAVELCOST_JUMPABLEWINDOW_W 48
///dddokno} ///ddd window }
#define TRAVELCOST_TRAINTRACKS 30 #define TRAVELCOST_TRAINTRACKS 30
#define TRAVELCOST_DIRTROAD 9 #define TRAVELCOST_DIRTROAD 9
+7 -7
View File
@@ -508,7 +508,7 @@ void AStarPathfinder::ResetAStarList()
//ddd{ //ddd{
INT32 node; 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].status = AStarData[node+1].status
= AStarData[node+2].status = AStarData[node+3].status = AStar_Init; = AStarData[node+2].status = AStarData[node+3].status = AStar_Init;
@@ -1119,7 +1119,7 @@ void AStarPathfinder::ExecuteAStarLogic()
continue; continue;
} }
//dddokno здесь можно запретить вставать на оконные клетки ;) //ddd: window. we can forbid standing on tiles with windows
//if (gubWorldMovementCosts[CurrentNode][direction][pSoldier->pathing.bLevel] == TRAVELCOST_JUMPABLEWINDOW) //if (gubWorldMovementCosts[CurrentNode][direction][pSoldier->pathing.bLevel] == TRAVELCOST_JUMPABLEWINDOW)
// continue; // continue;
@@ -1516,8 +1516,8 @@ int AStarPathfinder::CalcG(int* pPrevCost)
} }
} }
//dddokno { проверить 2 условия 1 если след. тайл окно и надо будет перелезать через него //ddd: window. { check 2 conditions: 1. if next tile is a window and we will have to hump through it
//2. если тек. тайл окно и надо перейти на другой тайл через окно. //2. if current tile is a window and we should jump through the window to reach another tile
else if ( nextCost == TRAVELCOST_JUMPABLEWINDOW else if ( nextCost == TRAVELCOST_JUMPABLEWINDOW
|| nextCost == TRAVELCOST_JUMPABLEWINDOW_N || nextCost == TRAVELCOST_JUMPABLEWINDOW_N
|| nextCost == TRAVELCOST_JUMPABLEWINDOW_W) || nextCost == TRAVELCOST_JUMPABLEWINDOW_W)
@@ -1531,7 +1531,7 @@ int AStarPathfinder::CalcG(int* pPrevCost)
nextCost = gTileTypeMovementCost[ gpWorldLevelData[ CurrentNode ].ubTerrainID ];//? nextCost = gTileTypeMovementCost[ gpWorldLevelData[ CurrentNode ].ubTerrainID ];//?
} }
//dddokno } //ddd: window }
else if ( nextCost == TRAVELCOST_FENCE && fNonFenceJumper ) else if ( nextCost == TRAVELCOST_FENCE && fNonFenceJumper )
{ {
@@ -2325,7 +2325,7 @@ bool AStarPathfinder::WantToTraverse()
///ddd{ ///ddd{
if(gGameExternalOptions.bNewTacticalAIBehavior) if(gGameExternalOptions.bNewTacticalAIBehavior)
{ {
// по трупам не бегаем . ТОДО: в 80% случаев не бегаем? // don't walk over corpses. TODO: only avoid in 80% ?
if ( ( (gTacticalStatus.uiFlags & TURNBASED) && (gTacticalStatus.uiFlags & INCOMBAT) ) if ( ( (gTacticalStatus.uiFlags & TURNBASED) && (gTacticalStatus.uiFlags & INCOMBAT) )
&& pSoldier->bTeam == ENEMY_TEAM && pSoldier->bTeam == ENEMY_TEAM
//&& IsCorpseAtGridNo( CurrentNode, pSoldier->pathing.bLevel ) //&& IsCorpseAtGridNo( CurrentNode, pSoldier->pathing.bLevel )
@@ -2333,7 +2333,7 @@ bool AStarPathfinder::WantToTraverse()
) )
return false; 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) ) if( ( (gTacticalStatus.uiFlags & TURNBASED) && (gTacticalStatus.uiFlags & INCOMBAT) )
&& pSoldier->bTeam == ENEMY_TEAM && pSoldier->ubProfile == NO_PROFILE && pSoldier->bTeam == ENEMY_TEAM && pSoldier->ubProfile == NO_PROFILE
&& pSoldier->aiData.bAction != AI_ACTION_LEAVE_WATER_GAS && pSoldier->aiData.bAction != AI_ACTION_LEAVE_WATER_GAS
+6 -6
View File
@@ -80,7 +80,7 @@ INT16 TerrainActionPoints( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bDir, INT8
} }
} }
} }
//dddokno //ddd window
if ( sSwitchValue == TRAVELCOST_JUMPABLEWINDOW if ( sSwitchValue == TRAVELCOST_JUMPABLEWINDOW
|| sSwitchValue == TRAVELCOST_JUMPABLEWINDOW_N || sSwitchValue == TRAVELCOST_JUMPABLEWINDOW_N
|| sSwitchValue == TRAVELCOST_JUMPABLEWINDOW_W) || sSwitchValue == TRAVELCOST_JUMPABLEWINDOW_W)
@@ -89,8 +89,8 @@ INT16 TerrainActionPoints( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bDir, INT8
return -1; 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) if ( sSwitchValue == TRAVELCOST_NOT_STANDING)// || sSwitchValue == TRAVELCOST_JUMPABLEWINDOW)
{ {
// use the cost of the terrain! // 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! // cost for jumping a fence REPLACES all other AP costs!
case TRAVELCOST_FENCE : case TRAVELCOST_FENCE :
//dddokno{ //ddd window{
case TRAVELCOST_JUMPABLEWINDOW: case TRAVELCOST_JUMPABLEWINDOW:
case TRAVELCOST_JUMPABLEWINDOW_N: case TRAVELCOST_JUMPABLEWINDOW_N:
case TRAVELCOST_JUMPABLEWINDOW_W: case TRAVELCOST_JUMPABLEWINDOW_W:
//dddokno} //ddd window}
if (!IS_MERC_BODY_TYPE( pSoldier )) if (!IS_MERC_BODY_TYPE( pSoldier ))
{ {
return -1; return -1;
@@ -4268,7 +4268,7 @@ INT32 GetBPCostPer10APsForGunHolding( SOLDIERTYPE * pSoldier, BOOLEAN fEstimate
// Alternative weapon holding? // Alternative weapon holding?
if (( gAnimControl[ pSoldier->usAnimState ].uiFlags & ANIM_ALT_WEAPON_HOLDING ) || (fEstimate && pSoldier->bScopeMode == USE_ALT_WEAPON_HOLD) ) 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 dModifier += 80; // only 20% cost if on hip
else // holding pistol in one hand is worse in this case else // holding pistol in one hand is worse in this case
dModifier -= 25; // increased cost by 25% dModifier -= 25; // increased cost by 25%
+8 -8
View File
@@ -1674,8 +1674,8 @@ void GetRTMousePositionInput( UINT32 *puiNewEvent )
} }
} }
//***13.02.2008*** постановка в тактике мешков с песком //***13.02.2008*** place sandbags in tactics
//usSubIndex может быть от 1 до 10 //usSubIndex may be [ 1 .. 10 ]
//void PlaceSandbag (UINT16 usSubIndex) //void PlaceSandbag (UINT16 usSubIndex)
//{ //{
// INT16 sGridNo; // INT16 sGridNo;
@@ -1727,20 +1727,20 @@ void GetRTMousePositionInput( UINT32 *puiNewEvent )
// // return; // // return;
// //
// //pSector = &SectorInfo[ SECTOR(gWorldSectorX, gWorldSectorY) ]; // //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"); // // ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"No Sandbags");
// //} // //}
//usIndex =1; //usIndex =1;
// //GetTileIndexFromTypeSubIndex( SECONDLARGEEXPDEBRIS, usSubIndex, &usIndex ); //только для 0 тайлсета // //GetTileIndexFromTypeSubIndex( SECONDLARGEEXPDEBRIS, usSubIndex, &usIndex ); //only for tileset 0
//GetTileIndexFromTypeSubIndex( 150, usSubIndex, &usIndex ); //только для 0 тайлсета //GetTileIndexFromTypeSubIndex( 150, usSubIndex, &usIndex ); //only for tileset 0
//ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"No Sandbags"); //ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"No Sandbags");
// //GetTileIndexFromTypeSubIndex( SECONDLARGEEXPDEBRIS, usSubIndex, &usIndex ); // //GetTileIndexFromTypeSubIndex( SECONDLARGEEXPDEBRIS, usSubIndex, &usIndex );
// ApplyMapChangesToMapTempFile( TRUE ); // ApplyMapChangesToMapTempFile( TRUE );
// AddStructToHead( sGridNo, usIndex); // AddStructToHead( sGridNo, usIndex);
// //if( pSector->bUSUSED <= 0 || !AddStructToHead( sGridNo, usIndex ) ) // //if( pSector->bUSUSED <= 0 || !AddStructToHead( sGridNo, usIndex ) )
// //{ // //{
// //перебор для удаления всех видов мешков // //loop to delete all sandbags
// // for(cnt = 1; cnt <= 10; cnt++) // // for(cnt = 1; cnt <= 10; cnt++)
// // { // // {
// // GetTileIndexFromTypeSubIndex( uiType, cnt, &usIndex ); // // GetTileIndexFromTypeSubIndex( uiType, cnt, &usIndex );
@@ -1832,7 +1832,7 @@ void QueryRTWheels( UINT32 *puiNewEvent )
case TALKCURSOR_MODE: case TALKCURSOR_MODE:
case MENU_MODE: case MENU_MODE:
break; break;
case CONFIRM_ACTION_MODE: //стрелять здесь. но до сюда не доходит ;) case CONFIRM_ACTION_MODE: //shoot here. but is never gets here :)
break; break;
}//switch }//switch
}//if ( gusSelectedSoldier != NOBODY ) }//if ( gusSelectedSoldier != NOBODY )
@@ -2048,7 +2048,7 @@ void HandleMouseRTWheel( void )
if ( !( gTacticalStatus.uiFlags & ENGAGED_IN_CONV ) && if ( !( gTacticalStatus.uiFlags & ENGAGED_IN_CONV ) &&
( ( gsCurInterfacePanel != SM_PANEL ) || ( ButtonList[ iSMPanelButtons[ NEXTMERC_BUTTON ] ]->uiFlags & BUTTON_ENABLED ) ) ) ( ( gsCurInterfacePanel != SM_PANEL ) || ( ButtonList[ iSMPanelButtons[ NEXTMERC_BUTTON ] ]->uiFlags & BUTTON_ENABLED ) ) )
{ {
if ( gViewportRegion.WheelState > 0 ) //колесо от себя if ( gViewportRegion.WheelState > 0 ) //wheel up
{ {
//change stance ->DOWN //change stance ->DOWN
if ( _KeyDown( ALT ) ) if ( _KeyDown( ALT ) )
+1 -1
View File
@@ -835,7 +835,7 @@ BOOLEAN TurnSoldierIntoCorpse( SOLDIERTYPE *pSoldier, BOOLEAN fRemoveMerc, BOOLE
Corpse.dYPos = pSoldier->dYPos; Corpse.dYPos = pSoldier->dYPos;
Corpse.bLevel = pSoldier->pathing.bLevel; Corpse.bLevel = pSoldier->pathing.bLevel;
Corpse.ubProfile = pSoldier->ubProfile; Corpse.ubProfile = pSoldier->ubProfile;
///ddd{ для обнаружения трупов драниками. ///ddd{ for the enemy to be able to detect corpses
if ( pSoldier->bTeam != gbPlayerNum ) if ( pSoldier->bTeam != gbPlayerNum )
Corpse.ubAIWarningValue = 1; Corpse.ubAIWarningValue = 1;
//def.ubAIWarningValue = 1; //not used value! //def.ubAIWarningValue = 1; //not used value!
+2 -2
View File
@@ -958,10 +958,10 @@ BOOLEAN AdjustToNextAnimationFrame( SOLDIERTYPE *pSoldier )
//CODE: BEGINHOPFENCE //CODE: BEGINHOPFENCE
// MOVE TWO FACGIN GRIDNOS // MOVE TWO FACGIN GRIDNOS
sNewGridNo = NewGridNo( pSoldier->sGridNo, (UINT16)( DirectionInc( pSoldier->ubDirection ) ) ); 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 ) if ( gubWorldMovementCosts[ sNewGridNo ][ (UINT8)pSoldier->pathing.usPathingData[ pSoldier->pathing.usPathIndex ] ][ pSoldier->pathing.bLevel ] == TRAVELCOST_FENCE )
sNewGridNo = NewGridNo( sNewGridNo, (UINT16)( DirectionInc( pSoldier->ubDirection ) ) ); sNewGridNo = NewGridNo( sNewGridNo, (UINT16)( DirectionInc( pSoldier->ubDirection ) ) );
//dddokno} //ddd window}
//comm by ddd //comm by ddd
//sNewGridNo = NewGridNo( sNewGridNo, (UINT16)( DirectionInc( pSoldier->ubDirection ) ) ); //sNewGridNo = NewGridNo( sNewGridNo, (UINT16)( DirectionInc( pSoldier->ubDirection ) ) );
+5 -5
View File
@@ -3422,7 +3422,7 @@ BOOLEAN SOLDIERTYPE::EVENT_InitNewSoldierAnim( UINT16 usNewState, UINT16 usStart
usNewState = SWAT_BACKWARDS; usNewState = SWAT_BACKWARDS;
else else
usNewState = SWAT_BACKWARDS_NOTHING; usNewState = SWAT_BACKWARDS_NOTHING;
// движение назад вприсядку с ножом ;) // move backward crouching, with a knife
if( this->inv[ HANDPOS ].exists() == true && if( this->inv[ HANDPOS ].exists() == true &&
//(this->ubBodyType == BIGMALE || this->ubBodyType == REGFEMALE )&& //(this->ubBodyType == BIGMALE || this->ubBodyType == REGFEMALE )&&
(Item[ usItem ].usItemClass == IC_BLADE || Item[ usItem ].usItemClass == IC_THROWING_KNIFE) ) (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 else if( usNewState == CRAWLING
&& this->ubDirection == && this->ubDirection ==
gPurpendicularDirection[ this->ubDirection ][ this->pathing.usPathingData gPurpendicularDirection[ this->ubDirection ][ this->pathing.usPathingData
@@ -4638,12 +4638,12 @@ void SOLDIERTYPE::SetSoldierGridNo( INT32 sNewGridNo, BOOLEAN fForceRemove )
} }
*/ */
//dddokno{ ??????? //ddd window{ ???????
//if ( IsOknoFencePresentAtGridno( sNewGridNo ) ) //if ( IsOknoFencePresentAtGridno( sNewGridNo ) )
//{ //{
// this->sZLevelOverride = TOPMOST_Z_LEVEL; // this->sZLevelOverride = TOPMOST_Z_LEVEL;
//} //}
//dddokno} //ddd window}
// Add/ remove tree if we are near it // Add/ remove tree if we are near it
// CheckForFullStructures( this ); // CheckForFullStructures( this );
@@ -5321,7 +5321,7 @@ UINT16 SOLDIERTYPE::GetMoveStateBasedOnStance( UINT8 ubStanceHeight )
else else
{ {
//***ddd //***ddd
// т.к. пока отрисован 1 бодитайп, остальные добавить // only 1 bodytime is ready (drawn) currently, the rest need to be added
UINT16 usItem = this->inv[ HANDPOS ].usItem; UINT16 usItem = this->inv[ HANDPOS ].usItem;
if( this->inv[ HANDPOS ].exists() == true && if( this->inv[ HANDPOS ].exists() == true &&
//(this->ubBodyType == BIGMALE || this->ubBodyType == REGFEMALE )&& //(this->ubBodyType == BIGMALE || this->ubBodyType == REGFEMALE )&&
+1 -1
View File
@@ -1242,7 +1242,7 @@ void GetTBMousePositionInput( UINT32 *puiNewEvent )
if ( MercPtrs[ gusUIFullTargetID ]->bTeam != gbPlayerNum ) if ( MercPtrs[ gusUIFullTargetID ]->bTeam != gbPlayerNum )
{ {
fOnValidGuy = TRUE; fOnValidGuy = TRUE;
//ddd сброс флажка, отвечающего за режим прицеливания\регулировки очереди (прицельная очередь) //ddd turn off flag that indicates aim/autofire mode adjustment (aimed burst/auto)
brstmode = 0; brstmode = 0;
} }
else else
+2 -2
View File
@@ -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 ) void HandleWheelAdjustCursor( SOLDIERTYPE *pSoldier, INT16 sMapPos, INT16 sDelta )
{ {
UINT16 usInHand; UINT16 usInHand;
@@ -3434,7 +3434,7 @@ void HandleWheelAdjustCursor( SOLDIERTYPE *pSoldier, INT32 sMapPos, INT32 sDelta
{ {
case TARGETCURS: 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; INT16 sCurAPCosts;
+3 -3
View File
@@ -2514,7 +2514,7 @@ BOOLEAN UseGun( SOLDIERTYPE *pSoldier , INT32 sTargetGridNo )
} }
fCalculateCTHDuringGunfire = FALSE; fCalculateCTHDuringGunfire = FALSE;
//ddd{èçíîñ îáúåêòîâ ñ ìóççëå ôëàø. silencer //ddd{ muzzle flash objects wearing. silencer
if ( (Item[ usUBItem ].usItemClass == IC_GUN) && gGameExternalOptions.bAllowWearSuppressor ) if ( (Item[ usUBItem ].usItemClass == IC_GUN) && gGameExternalOptions.bAllowWearSuppressor )
{ {
if ( IsFlashSuppressor(pObjUsed, pSoldier ) ) if ( IsFlashSuppressor(pObjUsed, pSoldier ) )
@@ -5115,9 +5115,9 @@ void WindowHit( INT32 sGridNo, UINT16 usStructureID, BOOLEAN fBlowWindowSouth, B
AniParams.uiFlags = ANITILE_FORWARD; AniParams.uiFlags = ANITILE_FORWARD;
pNode = CreateAnimationTile( &AniParams ); pNode = CreateAnimationTile( &AniParams );
//dddokno{ //ddd window{
CompileWorldMovementCosts(); CompileWorldMovementCosts();
//dddokno} //ddd window}
PlayJA2Sample( GLASS_SHATTER1 + Random(2), RATE_11025, MIDVOLUME, 1, SoundDir( sGridNo ) ); PlayJA2Sample( GLASS_SHATTER1 + Random(2), RATE_11025, MIDVOLUME, 1, SoundDir( sGridNo ) );
} }
+1 -1
View File
@@ -6247,7 +6247,7 @@ UINT8 CalcEffVolume(SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bLevel, UINT8 ubN
// effective volume fades over distance beyond 1 tile away // effective volume fades over distance beyond 1 tile away
iEffVolume -= (iDistance - 1); iEffVolume -= (iDistance - 1);
//ddd{ цивилы плохо слышат ;) //ddd{ civilians have bad hearing ;)
if(gGameExternalOptions.bLazyCivilians) if(gGameExternalOptions.bLazyCivilians)
if (pSoldier->bTeam == CIV_TEAM && pSoldier->ubBodyType != CROW ) if (pSoldier->bTeam == CIV_TEAM && pSoldier->ubBodyType != CROW )
if (pSoldier->ubCivilianGroup == 0 && pSoldier->ubProfile == NO_PROFILE) if (pSoldier->ubCivilianGroup == 0 && pSoldier->ubProfile == NO_PROFILE)
+1 -1
View File
@@ -145,7 +145,7 @@ void ResetWeaponMode( SOLDIERTYPE * pSoldier )
pSoldier->aiData.bShownAimTime = REFINE_AIM_1; pSoldier->aiData.bShownAimTime = REFINE_AIM_1;
//!pSoldier->aiData.ubBurstAP = 0; //SB reset long burst length //!pSoldier->aiData.ubBurstAP = 0; //SB reset long burst length
//^^^^такого свойства нет, добавлять в солжер контрол.х //^^^^no such property, add to soldier control
// gfDisplayFullCountRing = FALSE; // gfDisplayFullCountRing = FALSE;
// gfDisplayFullCountRingBurst = FALSE; // gfDisplayFullCountRingBurst = FALSE;
//</DR> //</DR>
+3 -3
View File
@@ -902,9 +902,9 @@ INT8 DecideActionGreen(SOLDIERTYPE *pSoldier)
if ( pCorpse->fActivated && pCorpse->def.ubAIWarningValue > 0 ) if ( pCorpse->fActivated && pCorpse->def.ubAIWarningValue > 0 )
{ {
if ( PythSpacesAway( pSoldier->sGridNo, pCorpse->def.sGridNo ) <= 5 )//приделать сравнение переменно дальности видения (smaxvid ?) if ( PythSpacesAway( pSoldier->sGridNo, pCorpse->def.sGridNo ) <= 5 )//add check(comparison) of sight range variable (smaxvid ?)
{ {
//проверить, находится ли труп в поле зрения драника.мента? //check if the corpse is in the enemny/militia field of view?
//CHRISL: Shouldn't we be using the corpse's bLevel? Otherwise a soldier inside a building can see a corpse on the roof of that building //CHRISL: Shouldn't we be using the corpse's bLevel? Otherwise a soldier inside a building can see a corpse on the roof of that building
//if ( SoldierTo3DLocationLineOfSightTest( pSoldier, pCorpse->def.sGridNo, pSoldier->pathing.bLevel, 3, TRUE, CALC_FROM_WANTED_DIR ) ) //if ( SoldierTo3DLocationLineOfSightTest( pSoldier, pCorpse->def.sGridNo, pSoldier->pathing.bLevel, 3, TRUE, CALC_FROM_WANTED_DIR ) )
if ( SoldierTo3DLocationLineOfSightTest( pSoldier, pCorpse->def.sGridNo, pCorpse->def.bLevel, 3, TRUE, CALC_FROM_WANTED_DIR ) ) if ( SoldierTo3DLocationLineOfSightTest( pSoldier, pCorpse->def.sGridNo, pCorpse->def.bLevel, 3, TRUE, CALC_FROM_WANTED_DIR ) )
@@ -3165,7 +3165,7 @@ INT8 DecideActionRed(SOLDIERTYPE *pSoldier, UINT8 ubUnconsciousOK)
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
if ( ubCanMove && InLightAtNight( pSoldier->sGridNo, pSoldier->pathing.bLevel ) && pSoldier->aiData.bOrders != STATIONARY ) if ( ubCanMove && InLightAtNight( pSoldier->sGridNo, pSoldier->pathing.bLevel ) && pSoldier->aiData.bOrders != STATIONARY )
{ {
//ddd чтобы убегали, когда подсветят фальшвейером ночью //ddd for the enemy to run away from lighht
if(gGameExternalOptions.bNewTacticalAIBehavior) if(gGameExternalOptions.bNewTacticalAIBehavior)
pSoldier->aiData.bAction = AI_ACTION_LEAVE_WATER_GAS; pSoldier->aiData.bAction = AI_ACTION_LEAVE_WATER_GAS;
//ddd //ddd
+1 -1
View File
@@ -209,7 +209,7 @@ void ExportTilesets(vfs::Path const& filename)
// Set into database // Set into database
strcpy( gTilesets[ cnt ].TileSurfaceFilenames[ cnt2 ], zName ); strcpy( gTilesets[ cnt ].TileSurfaceFilenames[ cnt2 ], zName );
//ddd{ добавляем в индекс 250 файл окоп. //ddd{ add trench to index 250
// if((cnt==0)&&(cnt2+1 == uiNumFiles)) // if((cnt==0)&&(cnt2+1 == uiNumFiles))
// { strcpy( gTilesets[ cnt ].TileSurfaceFilenames[ 151 ], "okop.sti" ); // { strcpy( gTilesets[ cnt ].TileSurfaceFilenames[ 151 ], "okop.sti" );
// xmlw.AddAttributeToNextValue("index",(int)151); //for exp in xml // xmlw.AddAttributeToNextValue("index",(int)151); //for exp in xml
+7 -7
View File
@@ -97,7 +97,7 @@
//<SB> variable map size //<SB> variable map size
INT32 guiWorldCols = OLD_WORLD_COLS; INT32 guiWorldCols = OLD_WORLD_COLS;
INT32 guiWorldRows = OLD_WORLD_ROWS; INT32 guiWorldRows = OLD_WORLD_ROWS;
// размеры должны быть произведением 8
// size must be multiple of 8 // size must be multiple of 8
//SB: resize all service array due to tactical map size change //SB: resize all service array due to tactical map size change
extern UINT8 *gubGridNoMarkers; extern UINT8 *gubGridNoMarkers;
@@ -168,7 +168,7 @@ UINT8 (*gubWorldMovementCosts)[MAXDIR][2] = NULL;//dnl ch43 260909
// 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 // 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 #ifdef USE_ASTAR_PATHS
//ddd для убыстрения поиска освещенных участков в патхаи. //ddd to speed up search of illuminated tiles in PATH AI
BOOLEAN gubWorldTileInLight[ MAX_ALLOWED_WORLD_MAX ]; BOOLEAN gubWorldTileInLight[ MAX_ALLOWED_WORLD_MAX ];
BOOLEAN gubIsCorpseThere[ MAX_ALLOWED_WORLD_MAX ]; BOOLEAN gubIsCorpseThere[ MAX_ALLOWED_WORLD_MAX ];
INT32 gubMerkCanSeeThisTile[ MAX_ALLOWED_WORLD_MAX ]; INT32 gubMerkCanSeeThisTile[ MAX_ALLOWED_WORLD_MAX ];
@@ -859,8 +859,8 @@ BOOLEAN IsNotRestrictedWindow(STRUCTURE * pStructure)
&& (pStructure->fFlags & STRUCTURE_OPEN) && (pStructure->fFlags & STRUCTURE_OPEN)
&& (pStructure->pDBStructureRef->pDBStructure->bPartnerDelta == NO_PARTNER_STRUCTURE) ) && (pStructure->pDBStructureRef->pDBStructure->bPartnerDelta == NO_PARTNER_STRUCTURE) )
{ {
//ручная проверка на заколоченые окна ;( { //manual check for closed (unbreakable?) windows
//build_13.sti - заколоченные окна ндекс: //build_13.sti - closed ( shielded ) windows index:
LEVELNODE *pNode = NULL;// STRUCTURE *pBase=NULL; LEVELNODE *pNode = NULL;// STRUCTURE *pBase=NULL;
UINT32 uiTileType=0; UINT32 uiTileType=0;
@@ -875,11 +875,11 @@ BOOLEAN IsNotRestrictedWindow(STRUCTURE * pStructure)
Assert(pNode); Assert(pNode);
GetSubIndexFromTileIndex( pNode->usIndex, (UINT16 *)&RestrSubIndex ); GetSubIndexFromTileIndex( pNode->usIndex, (UINT16 *)&RestrSubIndex );
//этот тип окон не содержится в 0 тайлсете, проверка нулевого тайлсета в этом случае не нужна //this type of window is not present in tileset 0, checking tileset 0 is not necessary in this case
if ( _stricmp( gTilesets[ giCurrentTilesetID ].TileSurfaceFilenames[ uiTileType ], "build_13.sti" ) == 0 if ( _stricmp( gTilesets[ giCurrentTilesetID ].TileSurfaceFilenames[ uiTileType ], "build_13.sti" ) == 0
//&& ( pNode->usIndex == 814 || pNode->usIndex == 816 || pNode->usIndex == 817 || pNode->usIndex == 823) -запрещает только в конкретном тайлсете ;( в другом не сработает //&& ( pNode->usIndex == 814 || pNode->usIndex == 816 || pNode->usIndex == 817 || pNode->usIndex == 823) - restricts only in particular tileset, doesn't work with others
&& (RestrSubIndex == 40 || RestrSubIndex == 41 || RestrSubIndex == 37 || RestrSubIndex == 38 && (RestrSubIndex == 40 || RestrSubIndex == 41 || RestrSubIndex == 37 || RestrSubIndex == 38
|| RestrSubIndex == 43 || RestrSubIndex == 44 || RestrSubIndex == 46 || RestrSubIndex == 47) //номера фреймов в стишке || RestrSubIndex == 43 || RestrSubIndex == 44 || RestrSubIndex == 46 || RestrSubIndex == 47) //frame numbers in STI
) )
return FALSE; return FALSE;