Merged from revision: 7099

Minor fixes/improvements for existing features (by Sevenfm)
1) Slightly reduced the size of merc's healthbar to fit general ja visual style.
2) Removed some unnecessary options for SHOW_HEALTHBARSOVERHEAD, SHOW_COVER_INDICATOR.
3) Several minor fixes.
4) New option: ENEMY_CLOCK_SPEED_PERCENT - set clock speed during enemy turns.
With this option, player can set default speed to comfortable value (100-120) and set increased speed for enemy turns (150-200).

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7100 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Wanne
2014-03-20 09:17:39 +00:00
parent 51f2eaff78
commit 9734b094fc
6 changed files with 27 additions and 15 deletions
+3 -2
View File
@@ -1054,13 +1054,13 @@ void LoadGameExternalOptions()
//gGameExternalOptions.fHideEnemyHealthText = iniReader.ReadBoolean("Tactical Interface Settings","HIDE_ENEMY_HEALTH_TEXT", FALSE);
// Flugente: show health an fatigue bars over currently selected mercs and those we hover our mouse over
gGameExternalOptions.ubShowHealthBarsOnHead = iniReader.ReadInteger("Tactical Interface Settings","SHOW_HEALTHBARSOVERHEAD", 1, 0, 5);
gGameExternalOptions.ubShowHealthBarsOnHead = iniReader.ReadInteger("Tactical Interface Settings","SHOW_HEALTHBARSOVERHEAD", 1, 0, 3);
// sevenfm: show health over enemy
gGameExternalOptions.ubShowEnemyHealth = iniReader.ReadInteger("Tactical Interface Settings","SHOW_ENEMY_HEALTH", 1, 0, 6);
// sevenfm: show cover indicator
gGameExternalOptions.ubShowCoverIndicator = iniReader.ReadInteger("Tactical Interface Settings","SHOW_COVER_INDICATOR", 0, 0, 4);
gGameExternalOptions.ubShowCoverIndicator = iniReader.ReadInteger("Tactical Interface Settings","SHOW_COVER_INDICATOR", 0, 0, 2);
// WANNE: Hide the hit count when enemy gets hit
gGameExternalOptions.ubEnemyHitCount = iniReader.ReadInteger("Tactical Interface Settings","ENEMY_HIT_COUNT", 0, 0, 4);
@@ -2208,6 +2208,7 @@ void LoadGameExternalOptions()
gGameExternalOptions.iFastForwardKey = ParseKeyString(sFFKeyBuffer);
gGameExternalOptions.iFastForwardPeriod = (FLOAT)iniReader.ReadDouble("Clock Settings","FAST_FORWARD_PERIOD", 500, 1, 10000);
gGameExternalOptions.fClockSpeedPercent = (FLOAT)iniReader.ReadDouble("Clock Settings","CLOCK_SPEED_PERCENT", 150, 100, 300);
gGameExternalOptions.fEnemyClockSpeedPercent = (FLOAT)iniReader.ReadDouble("Clock Settings","ENEMY_CLOCK_SPEED_PERCENT", 150, 100, 300);
gGameExternalOptions.iNotifyFrequency = iniReader.ReadInteger("Clock Settings","UPDATE_FREQUENCY", 16000, 1000, 20000);
// sevenfm: improved auto fast forwarding
+1
View File
@@ -1283,6 +1283,7 @@ typedef struct
INT32 iNotifyFrequency;
// Frequency that the screen is updated
FLOAT fClockSpeedPercent;
FLOAT fEnemyClockSpeedPercent;
// sevenfm: improved auto fast forwarding
UINT8 ubAutoFastForwardEnemies;
+1
View File
@@ -4383,6 +4383,7 @@ BOOLEAN LoadSavedGame( int ubSavedGameID )
ShutdownNPCQuotes();
SetFastForwardMode(FALSE); // FF can sometimes be active if quick-load during AI turn transition
SetClockSpeedPercent(gGameExternalOptions.fClockSpeedPercent); // sevenfm: set default clock speed
//very small TODO
//Bugfix = Stop the chopter sound
+15 -13
View File
@@ -1908,8 +1908,8 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
BOOLEAN bStealth = pSoldier->bStealthMode || pSoldier->bSoldierFlagMask & ( SOLDIER_COVERT_CIV | SOLDIER_COVERT_SOLDIER );
// sevenfm: for mercs use name color as cover indicator
if( pSoldier->bTeam == OUR_TEAM && ! ( pSoldier->flags.uiStatusFlags & ( SOLDIER_VEHICLE | SOLDIER_ROBOT) ) &&
( ( gGameExternalOptions.ubShowCoverIndicator == 2 && ( bInCombat || bStealth ) ) ||
( gGameExternalOptions.ubShowCoverIndicator == 4 && bStealth ) ) )
( ( gGameExternalOptions.ubShowCoverIndicator == 1 && ( bInCombat || bStealth ) ) ||
( gGameExternalOptions.ubShowCoverIndicator == 2 && bStealth ) ) )
{
INT8 cover = 3; // MAX_COVER
BOOLEAN showCover;
@@ -2094,17 +2094,17 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
if( gGameExternalOptions.ubShowHealthBarsOnHead > 1 )
{
INT16 interval = gGameExternalOptions.ubShowHealthBarsOnHead;
if( interval > 3 )
interval -= 2;
sXPos += 25;
//if( interval > 3 )
// interval -= 2;
sXPos += 27;
sYPos += 7;
iBack = RegisterBackgroundRect(BGND_FLAG_SINGLE, NULL, sXPos, sYPos-1, (INT16)(sXPos + 40 ), (INT16)(sYPos + 3 + interval*3 ) );
iBack = RegisterBackgroundRect(BGND_FLAG_SINGLE, NULL, sXPos, sYPos-1, (INT16)(sXPos + 24 ), (INT16)(sYPos + 3 + interval*3 ) );
if ( iBack != -1 )
SetBackgroundRectFilled( iBack );
DrawBarsInUIBox( pSoldier, (INT16)(sXPos), (INT16)(sYPos), 25, interval - 1, interval );
DrawBarsInUIBox( pSoldier, (INT16)(sXPos), (INT16)(sYPos), 20, 1, 2 );
// show AP only in turnbased combat, only during our turn
if( gGameExternalOptions.ubShowHealthBarsOnHead > 3 &&
if( gGameExternalOptions.ubShowHealthBarsOnHead > 2 &&
(gTacticalStatus.uiFlags & TURNBASED ) && (gTacticalStatus.uiFlags & INCOMBAT) &&
gTacticalStatus.ubCurrentTeam == OUR_TEAM)
{
@@ -2462,7 +2462,7 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
if( gGameExternalOptions.ubShowEnemyHealth > 1 && gTacticalStatus.ubCurrentTeam == OUR_TEAM )
{
UINT8 ubLines = gGameExternalOptions.ubShowEnemyHealth - 1;
INT32 iBarWidth = 26;
INT32 iBarWidth = 24;
INT32 iBarHeight;
iBarHeight = 2 + 3 * ubLines - 1;
@@ -3653,7 +3653,7 @@ void DrawBarsInUIBox( SOLDIERTYPE *pSoldier , INT16 sXPos, INT16 sYPos, INT16 sW
// sevenfm: draw background for alt bar
if( gGameExternalOptions.ubShowHealthBarsOnHead > 1 )
{
DrawBar( sXPos+2, sYPos, 28, 1 + interval*3, COLOR_BLACK, Get16BPPColor( FROMRGB( 0, 0, 0 ) ), pDestBuf );
DrawBar( sXPos+2, sYPos, sWidth + 2, 1 + interval*3, COLOR_BLACK, Get16BPPColor( FROMRGB( 0, 0, 0 ) ), pDestBuf );
// draw border: light brown for stealth mode, grey for regular
if(pSoldier->bStealthMode)
{
@@ -3667,9 +3667,9 @@ void DrawBarsInUIBox( SOLDIERTYPE *pSoldier , INT16 sXPos, INT16 sYPos, INT16 sW
if ( pSoldier->ubID == gusSelectedSoldier )
{
if(gbPixelDepth==16)
RectangleDraw( TRUE, sXPos+1, sYPos-1, sXPos+30, sYPos+1+interval*3, color16, pDestBuf);
RectangleDraw( TRUE, sXPos+1, sYPos-1, sXPos+sWidth+3, sYPos+1+interval*3, color16, pDestBuf);
else
RectangleDraw8( TRUE, sXPos+1, sYPos-1, sXPos+30, sYPos+1+interval*3, color8, pDestBuf);
RectangleDraw8( TRUE, sXPos+1, sYPos-1, sXPos+sWidth+3, sYPos+1+interval*3, color8, pDestBuf);
}
}
@@ -3752,10 +3752,11 @@ void DrawBarsInUIBox( SOLDIERTYPE *pSoldier , INT16 sXPos, INT16 sYPos, INT16 sW
if( gGameExternalOptions.ubShowHealthBarsOnHead > 1 )
{
dPercentage = (FLOAT)( __min(100, ( (FLOAT)100 * CalcEffectiveShockLevel( pSoldier ) ) / CalcSuppressionTolerance( pSoldier ) ) ) / (FLOAT)100;
dWidth = dPercentage * 25;
dWidth = dPercentage * sWidth;
DrawBar( sXPos+3, sYPos+1+2*interval, (INT32)dWidth, sHeight, COLOR_ORANGE, Get16BPPColor( FROMRGB( 220, 140, 0 ) ), pDestBuf );
}
/*
BOOLEAN bDisguised = pSoldier->bSoldierFlagMask & (SOLDIER_COVERT_CIV | SOLDIER_COVERT_SOLDIER);
BOOLEAN bStealth = pSoldier->bStealthMode;
// draw cover indicators
@@ -3788,6 +3789,7 @@ void DrawBarsInUIBox( SOLDIERTYPE *pSoldier , INT16 sXPos, INT16 sYPos, INT16 sW
DrawBar( sXPos+33, sYPos+1, 1+sHeight , (interval==3 ? 2 : 3 )*interval-1, color8, color16, pDestBuf );
}
}
*/
UnLockVideoSurface( FRAME_BUFFER );
+1
View File
@@ -148,6 +148,7 @@ void HandleTacticalEndTurn( )
// Every few turns......
SetFastForwardMode(FALSE); // Cancel FF at end of battle
SetClockSpeedPercent(gGameExternalOptions.fClockSpeedPercent); // sevenfm: set default clock speed
// Get time elasped
uiTime = GetWorldTotalSeconds( );
+6
View File
@@ -167,6 +167,7 @@ void StartPlayerTeamTurn( BOOLEAN fDoBattleSnd, BOOLEAN fEnteringCombatMode )
// EV_S_BEGINTURN SBeginTurn;
SetFastForwardMode(FALSE);
SetClockSpeedPercent(gGameExternalOptions.fClockSpeedPercent); // sevenfm: set default clock speed
gTacticalStatus.ubDisablePlayerInterrupts = FALSE;
@@ -527,6 +528,8 @@ void BeginTeamTurn( UINT8 ubTeam )
SetFastForwardMode( (ubTeam != OUR_TEAM) );
}
}
if( !is_networked && ubTeam != OUR_TEAM )
SetClockSpeedPercent(gGameExternalOptions.fEnemyClockSpeedPercent); // sevenfm: set clock speed for enemy turn
while( 1 )
{
@@ -855,6 +858,7 @@ void StartInterrupt( void )
// disable ff mode
SetFastForwardMode(FALSE);
SetClockSpeedPercent(gGameExternalOptions.fClockSpeedPercent); // sevenfm: set default clock speed
// build string for display of who gets interrupt
//while( 1 )
@@ -1489,6 +1493,8 @@ void EndInterrupt( BOOLEAN fMarkInterruptOccurred )
SetFastForwardMode( (gTacticalStatus.ubCurrentTeam != OUR_TEAM) );
}
}
if( !is_networked && gTacticalStatus.ubCurrentTeam != OUR_TEAM )
SetClockSpeedPercent(gGameExternalOptions.fEnemyClockSpeedPercent); // sevenfm: set clock speed for enemy turn
}