mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
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:
+3
-2
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
@@ -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 );
|
||||
|
||||
|
||||
@@ -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( );
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user