mirror of
https://github.com/1dot13/source.git
synced 2026-08-05 14:00:23 +02:00
Merged from revision: 7344
Fixes (by Buggler) - Centered strategic screen in non-standard resolutions - Fixed message log disappearing when clicking map border buttons - Minor fix for increased MAX_BUILDINGS limit git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7345 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -451,7 +451,7 @@ void InitPreBattleInterface( GROUP *pBattleGroup, BOOLEAN fPersistantPBI )
|
||||
}
|
||||
|
||||
//Define the blanket region to cover all of the other regions used underneath the panel.
|
||||
MSYS_DefineRegion( &PBInterfaceBlanket, 0 + xResOffset, 0, 261 + xResOffset, 359, MSYS_PRIORITY_HIGHEST - 5, 0, 0, 0 );
|
||||
MSYS_DefineRegion( &PBInterfaceBlanket, 0 + xResOffset, 0 + yResOffset, 261 + xResOffset, 359 + yResOffset, MSYS_PRIORITY_HIGHEST - 5, 0, 0, 0 );
|
||||
|
||||
//Create the panel
|
||||
VObjectDesc.fCreateFlags = VOBJECT_CREATE_FROMFILE;
|
||||
@@ -465,9 +465,9 @@ void InitPreBattleInterface( GROUP *pBattleGroup, BOOLEAN fPersistantPBI )
|
||||
AssertMsg( 0, "Failed to load interface\\PreBattleButton.sti" );
|
||||
iPBButtonImage[1] = UseLoadedButtonImage( iPBButtonImage[ 0 ], -1, 0, -1, 1, -1 );
|
||||
iPBButtonImage[2] = UseLoadedButtonImage( iPBButtonImage[ 0 ], -1, 0, -1, 1, -1 );
|
||||
iPBButton[0] = QuickCreateButton( iPBButtonImage[0], 27 + xResOffset, 54, BUTTON_NO_TOGGLE, MSYS_PRIORITY_HIGHEST - 2, DEFAULT_MOVE_CALLBACK, AutoResolveBattleCallback );
|
||||
iPBButton[1] = QuickCreateButton( iPBButtonImage[1], 98 + xResOffset, 54, BUTTON_NO_TOGGLE, MSYS_PRIORITY_HIGHEST - 2, DEFAULT_MOVE_CALLBACK, GoToSectorCallback );
|
||||
iPBButton[2] = QuickCreateButton( iPBButtonImage[2], 169 + xResOffset, 54, BUTTON_NO_TOGGLE, MSYS_PRIORITY_HIGHEST - 2, DEFAULT_MOVE_CALLBACK, RetreatMercsCallback );
|
||||
iPBButton[0] = QuickCreateButton( iPBButtonImage[0], 27 + xResOffset, 54 + yResOffset, BUTTON_NO_TOGGLE, MSYS_PRIORITY_HIGHEST - 2, DEFAULT_MOVE_CALLBACK, AutoResolveBattleCallback );
|
||||
iPBButton[1] = QuickCreateButton( iPBButtonImage[1], 98 + xResOffset, 54 + yResOffset, BUTTON_NO_TOGGLE, MSYS_PRIORITY_HIGHEST - 2, DEFAULT_MOVE_CALLBACK, GoToSectorCallback );
|
||||
iPBButton[2] = QuickCreateButton( iPBButtonImage[2], 169 + xResOffset, 54 + yResOffset, BUTTON_NO_TOGGLE, MSYS_PRIORITY_HIGHEST - 2, DEFAULT_MOVE_CALLBACK, RetreatMercsCallback );
|
||||
|
||||
SpecifyGeneralButtonTextAttributes( iPBButton[0], gpStrategicString[ STR_PB_AUTORESOLVE_BTN ], BLOCKFONT, FONT_BEIGE, 141 );
|
||||
SpecifyGeneralButtonTextAttributes( iPBButton[1], gpStrategicString[ STR_PB_GOTOSECTOR_BTN ], BLOCKFONT, FONT_BEIGE, 141 );
|
||||
@@ -912,9 +912,9 @@ void DoTransitionFromMapscreenToPreBattleInterface()
|
||||
PauseTime( FALSE );
|
||||
|
||||
PBIRect.iLeft = 0 + xResOffset;
|
||||
PBIRect.iTop = 0;
|
||||
PBIRect.iTop = 0 + yResOffset;
|
||||
PBIRect.iRight = 261 + xResOffset;
|
||||
PBIRect.iBottom = 359;
|
||||
PBIRect.iBottom = 359 + yResOffset;
|
||||
iWidth = 261;
|
||||
iHeight = 359;
|
||||
|
||||
@@ -926,7 +926,7 @@ void DoTransitionFromMapscreenToPreBattleInterface()
|
||||
sStartLeft += MAP_GRID_X / 2;
|
||||
sStartTop += MAP_GRID_Y / 2;
|
||||
sEndLeft = 131 + xResOffset;
|
||||
sEndTop = 180;
|
||||
sEndTop = 180 + yResOffset;
|
||||
|
||||
//save the mapscreen buffer
|
||||
BlitBufferToBuffer( FRAME_BUFFER, guiEXTRABUFFER, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT );
|
||||
@@ -948,13 +948,13 @@ void DoTransitionFromMapscreenToPreBattleInterface()
|
||||
gfEnterAutoResolveMode = TRUE;
|
||||
}
|
||||
|
||||
BlitBufferToBuffer( guiSAVEBUFFER, FRAME_BUFFER, 27 + xResOffset, 54, 209, 32 );
|
||||
BlitBufferToBuffer( guiSAVEBUFFER, FRAME_BUFFER, 27 + xResOffset, 54 + yResOffset, 209, 32 );
|
||||
RenderButtons();
|
||||
BlitBufferToBuffer( FRAME_BUFFER, guiSAVEBUFFER, 27 + xResOffset, 54, 209, 32 );
|
||||
BlitBufferToBuffer( FRAME_BUFFER, guiSAVEBUFFER, 27 + xResOffset, 54 + yResOffset, 209, 32 );
|
||||
gfRenderPBInterface = TRUE;
|
||||
|
||||
//hide the prebattle interface
|
||||
BlitBufferToBuffer( guiEXTRABUFFER, FRAME_BUFFER, 0 + xResOffset, 0, 261 + xResOffset, 359 );
|
||||
BlitBufferToBuffer( guiEXTRABUFFER, FRAME_BUFFER, 0 + xResOffset, 0 + yResOffset, 261 + xResOffset, 359 + yResOffset );
|
||||
PlayJA2SampleFromFile( "SOUNDS\\Laptop power up (8-11).wav", RATE_11025, HIGHVOLUME, 1, MIDDLEPAN );
|
||||
InvalidateScreen();
|
||||
RefreshScreen( NULL );
|
||||
@@ -1037,7 +1037,7 @@ void KillPreBattleInterface()
|
||||
//Enable the options button when the auto resolve screen comes up
|
||||
EnableDisAbleMapScreenOptionsButton( TRUE );
|
||||
|
||||
ColorFillVideoSurfaceArea( guiSAVEBUFFER, 0, 0, 261 + xResOffset, 359, 0 );
|
||||
ColorFillVideoSurfaceArea( guiSAVEBUFFER, 0, 0, 261 + xResOffset, 359 + yResOffset, 0 );
|
||||
|
||||
EnableTeamInfoPanels();
|
||||
if( ButtonList[ giMapContractButton ] )
|
||||
@@ -1110,8 +1110,8 @@ void RenderPBHeader( INT32 *piX, INT32 *piWidth)
|
||||
}
|
||||
width = StringPixLength( str, FONT10ARIALBOLD );
|
||||
x = 130 - width / 2;
|
||||
mprintf( x + xResOffset, 4, str );
|
||||
InvalidateRegion( 0, 0, 231 + xResOffset, 12 );
|
||||
mprintf( x + xResOffset, 4 + yResOffset, str );
|
||||
InvalidateRegion( 0, 0, 231 + xResOffset, 12 + yResOffset );
|
||||
*piX = x;
|
||||
*piWidth = width;
|
||||
}
|
||||
@@ -1170,22 +1170,22 @@ void RenderPreBattleInterface()
|
||||
gfRenderPBInterface = FALSE;
|
||||
GetVideoObject( &hVObject, uiInterfaceImages );
|
||||
//main panel
|
||||
BltVideoObject( guiSAVEBUFFER, hVObject, MAINPANEL, xResOffset, 0, VO_BLT_SRCTRANSPARENCY, NULL );
|
||||
BltVideoObject( guiSAVEBUFFER, hVObject, MAINPANEL, xResOffset, yResOffset, VO_BLT_SRCTRANSPARENCY, NULL );
|
||||
//main title
|
||||
|
||||
RenderPBHeader( &x, &width );
|
||||
//now draw the title bars up to the text.
|
||||
for( i = x - 12; i > 20; i -= 10 )
|
||||
{
|
||||
BltVideoObject( guiSAVEBUFFER, hVObject, TITLE_BAR_PIECE, i + xResOffset, 6, VO_BLT_SRCTRANSPARENCY, NULL );
|
||||
BltVideoObject( guiSAVEBUFFER, hVObject, TITLE_BAR_PIECE, i + xResOffset, 6 + yResOffset, VO_BLT_SRCTRANSPARENCY, NULL );
|
||||
}
|
||||
for( i = x + width + 2; i < 231; i += 10 )
|
||||
{
|
||||
BltVideoObject( guiSAVEBUFFER, hVObject, TITLE_BAR_PIECE, i + xResOffset, 6, VO_BLT_SRCTRANSPARENCY, NULL );
|
||||
BltVideoObject( guiSAVEBUFFER, hVObject, TITLE_BAR_PIECE, i + xResOffset, 6 + yResOffset, VO_BLT_SRCTRANSPARENCY, NULL );
|
||||
}
|
||||
|
||||
y = BOTTOM_Y - ACTUAL_HEIGHT - ROW_HEIGHT * max( guiNumUninvolved, 1 );
|
||||
BltVideoObject( guiSAVEBUFFER, hVObject, UNINVOLVED_HEADER, 8 + xResOffset, y, VO_BLT_SRCTRANSPARENCY, NULL );
|
||||
BltVideoObject( guiSAVEBUFFER, hVObject, UNINVOLVED_HEADER, 8 + xResOffset, y + yResOffset, VO_BLT_SRCTRANSPARENCY, NULL );
|
||||
|
||||
SetFont( BLOCKFONT );
|
||||
SetFontForeground( FONT_BEIGE );
|
||||
@@ -1196,7 +1196,7 @@ void RenderPreBattleInterface()
|
||||
SetFont( BLOCKFONTNARROW );
|
||||
width = StringPixLength( str, BLOCKFONTNARROW );
|
||||
}
|
||||
mprintf( 65 - width + xResOffset , 17, str );
|
||||
mprintf( 65 - width + xResOffset , 17 + yResOffset, str );
|
||||
|
||||
SetFont( BLOCKFONT );
|
||||
if( gubEnemyEncounterCode != CREATURE_ATTACK_CODE )
|
||||
@@ -1217,7 +1217,7 @@ void RenderPreBattleInterface()
|
||||
SetFont( BLOCKFONTNARROW );
|
||||
width = StringPixLength( str, BLOCKFONTNARROW );
|
||||
}
|
||||
mprintf( 54 + xResOffset - width , 38, str );
|
||||
mprintf( 54 + xResOffset - width , 38 + yResOffset, str );
|
||||
|
||||
SetFont( BLOCKFONT );
|
||||
swprintf( str, gpStrategicString[ STR_PB_MERCS ] );
|
||||
@@ -1227,7 +1227,7 @@ void RenderPreBattleInterface()
|
||||
SetFont( BLOCKFONTNARROW );
|
||||
width = StringPixLength( str, BLOCKFONTNARROW );
|
||||
}
|
||||
mprintf( 139 + xResOffset - width , 38, str );
|
||||
mprintf( 139 + xResOffset - width , 38 + yResOffset, str );
|
||||
|
||||
SetFont( BLOCKFONT );
|
||||
swprintf( str, gpStrategicString[ STR_PB_MILITIA ] );
|
||||
@@ -1237,20 +1237,20 @@ void RenderPreBattleInterface()
|
||||
SetFont( BLOCKFONTNARROW );
|
||||
width = StringPixLength( str, BLOCKFONTNARROW );
|
||||
}
|
||||
mprintf( 224 + xResOffset - width , 38, str );
|
||||
mprintf( 224 + xResOffset - width , 38 + yResOffset, str );
|
||||
|
||||
//Draw the bottom columns
|
||||
for( i = 0; i < (INT32)max( guiNumUninvolved, 1 ); i++ )
|
||||
{
|
||||
y = BOTTOM_Y - ROW_HEIGHT * (i+1) + 1;
|
||||
BltVideoObject( guiSAVEBUFFER, hVObject, BOTTOM_COLUMN, 161 + xResOffset, y, VO_BLT_SRCTRANSPARENCY, NULL );
|
||||
BltVideoObject( guiSAVEBUFFER, hVObject, BOTTOM_COLUMN, 161 + xResOffset, y + yResOffset, VO_BLT_SRCTRANSPARENCY, NULL );
|
||||
}
|
||||
|
||||
// WDS - make number of mercenaries, etc. be configurable
|
||||
for( i = 0; i < (INT32)(/*21*/3+ OUR_TEAM_SIZE_NO_VEHICLE - max( guiNumUninvolved, 1 )); i++ )
|
||||
{
|
||||
y = TOP_Y + ROW_HEIGHT * i;
|
||||
BltVideoObject( guiSAVEBUFFER, hVObject, TOP_COLUMN, 186 + xResOffset, y, VO_BLT_SRCTRANSPARENCY, NULL );
|
||||
BltVideoObject( guiSAVEBUFFER, hVObject, TOP_COLUMN, 186 + xResOffset, y + yResOffset, VO_BLT_SRCTRANSPARENCY, NULL );
|
||||
}
|
||||
|
||||
//location
|
||||
@@ -1259,7 +1259,7 @@ void RenderPreBattleInterface()
|
||||
SetFontShadow( FONT_NEARBLACK );
|
||||
|
||||
GetSectorIDString( gubPBSectorX, gubPBSectorY, gubPBSectorZ, pSectorName, TRUE );
|
||||
mprintf( 70 + xResOffset, 17, L"%s %s", gpStrategicString[ STR_PB_SECTOR ], pSectorName );
|
||||
mprintf( 70 + xResOffset, 17 + yResOffset, L"%s %s", gpStrategicString[ STR_PB_SECTOR ], pSectorName );
|
||||
|
||||
//enemy
|
||||
SetFont( FONT14ARIAL );
|
||||
@@ -1281,15 +1281,15 @@ void RenderPreBattleInterface()
|
||||
}
|
||||
x = 57 + (27 - StringPixLength( str, FONT14ARIAL )) / 2;
|
||||
y = 36;
|
||||
mprintf( x + xResOffset, y, str );
|
||||
mprintf( x + xResOffset, y + yResOffset, str );
|
||||
//player
|
||||
swprintf( str, L"%d", guiNumInvolved );
|
||||
x = 142 + (27 - StringPixLength( str, FONT14ARIAL )) / 2;
|
||||
mprintf( x + xResOffset, y, str );
|
||||
mprintf( x + xResOffset, y + yResOffset, str );
|
||||
//militia
|
||||
swprintf( str, L"%d", CountAllMilitiaInSector( gubPBSectorX, gubPBSectorY ) );
|
||||
x = 227 + (27 - StringPixLength( str, FONT14ARIAL )) / 2;
|
||||
mprintf( x + xResOffset, y, str );
|
||||
mprintf( x + xResOffset, y + yResOffset, str );
|
||||
SetFontShadow( FONT_NEARBLACK );
|
||||
|
||||
SetFont( BLOCKFONT2 );
|
||||
@@ -1312,25 +1312,25 @@ void RenderPreBattleInterface()
|
||||
//NAME
|
||||
wcscpy( str, MercPtrs[ i ]->name );
|
||||
x = 17 + (52-StringPixLength( str, BLOCKFONT2)) / 2;
|
||||
mprintf( x + xResOffset , y, str );
|
||||
mprintf( x + xResOffset , y + yResOffset, str );
|
||||
//ASSIGN
|
||||
GetMapscreenMercAssignmentString( MercPtrs[ i ], str );
|
||||
x = 72 + (54-StringPixLength( str, BLOCKFONT2)) / 2;
|
||||
mprintf( x + xResOffset, y, str );
|
||||
mprintf( x + xResOffset, y + yResOffset, str );
|
||||
//COND
|
||||
GetSoldierConditionInfo( MercPtrs[ i ], str, &ubHPPercent, &ubBPPercent );
|
||||
x = 129 + (58-StringPixLength( str, BLOCKFONT2)) / 2;
|
||||
mprintf( x + xResOffset, y, str );
|
||||
mprintf( x + xResOffset, y + yResOffset, str );
|
||||
//HP
|
||||
swprintf( str, L"%d%%", ubHPPercent );
|
||||
x = 189 + (25-StringPixLength( str, BLOCKFONT2)) / 2;
|
||||
wcscat( str, sSpecialCharacters[0] );
|
||||
mprintf( x + xResOffset, y, str );
|
||||
mprintf( x + xResOffset, y + yResOffset, str );
|
||||
//BP
|
||||
swprintf( str, L"%d%%", ubBPPercent );
|
||||
x = 217 + (25-StringPixLength( str, BLOCKFONT2)) / 2;
|
||||
wcscat( str, sSpecialCharacters[0] );
|
||||
mprintf( x + xResOffset, y, str );
|
||||
mprintf( x + xResOffset, y + yResOffset, str );
|
||||
|
||||
line++;
|
||||
y += ROW_HEIGHT;
|
||||
@@ -1346,7 +1346,7 @@ void RenderPreBattleInterface()
|
||||
wcscpy( str, gpStrategicString[ STR_PB_NONE ] );
|
||||
x = 17 + (52-StringPixLength( str, BLOCKFONT2)) / 2;
|
||||
y = BOTTOM_Y - ROW_HEIGHT + 2;
|
||||
mprintf( x + xResOffset, y, str );
|
||||
mprintf( x + xResOffset, y + yResOffset, str );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1366,26 +1366,26 @@ void RenderPreBattleInterface()
|
||||
//NAME
|
||||
wcscpy( str, MercPtrs[ i ]->name );
|
||||
x = 17 + (52-StringPixLength( str, BLOCKFONT2)) / 2;
|
||||
mprintf( x + xResOffset, y, str );
|
||||
mprintf( x + xResOffset, y + yResOffset, str );
|
||||
//ASSIGN
|
||||
GetMapscreenMercAssignmentString( MercPtrs[ i ], str );
|
||||
x = 72 + (54-StringPixLength( str, BLOCKFONT2)) / 2;
|
||||
mprintf( x + xResOffset, y, str );
|
||||
mprintf( x + xResOffset, y + yResOffset, str );
|
||||
//LOC
|
||||
GetMapscreenMercLocationString( MercPtrs[ i ], str );
|
||||
x = 128 + (33-StringPixLength( str, BLOCKFONT2)) / 2;
|
||||
mprintf( x + xResOffset, y, str );
|
||||
mprintf( x + xResOffset, y + yResOffset, str );
|
||||
//DEST
|
||||
GetMapscreenMercDestinationString( MercPtrs[ i ], str );
|
||||
if( wcslen( str ) > 0 )
|
||||
{
|
||||
x = 164 + (41-StringPixLength( str, BLOCKFONT2)) / 2;
|
||||
mprintf( x + xResOffset, y, str );
|
||||
mprintf( x + xResOffset, y + yResOffset, str );
|
||||
}
|
||||
//DEP
|
||||
GetMapscreenMercDepartureString( MercPtrs[ i ], str, &ubJunk );
|
||||
x = 208 + (34-StringPixLength( str, BLOCKFONT2)) / 2;
|
||||
mprintf( x + xResOffset, y, str );
|
||||
mprintf( x + xResOffset, y + yResOffset, str );
|
||||
line++;
|
||||
y += ROW_HEIGHT;
|
||||
}
|
||||
@@ -1397,9 +1397,9 @@ void RenderPreBattleInterface()
|
||||
MarkAllBoxesAsAltered( );
|
||||
|
||||
if( !guiNumUninvolved || gfZoomDone == FALSE )
|
||||
RestoreExternBackgroundRect( 0 + xResOffset, 0, 261 + xResOffset, 359 );
|
||||
RestoreExternBackgroundRect( 0 + xResOffset, 0 + yResOffset, 261 + xResOffset, 359 + yResOffset );
|
||||
else
|
||||
RestoreExternBackgroundRect( 0 + xResOffset, 0, 261 + xResOffset, y );
|
||||
RestoreExternBackgroundRect( 0 + xResOffset, 0 + yResOffset, 261 + xResOffset, y + yResOffset );
|
||||
|
||||
// restore font destinanation buffer to the frame buffer
|
||||
SetFontDestBuffer( FRAME_BUFFER, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, FALSE );
|
||||
|
||||
Reference in New Issue
Block a user