- Bugfix: ETA Travel Popup screen location was wrong (not initialized) in the new additional screen resolutions (by silversurfer)

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6184 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Wanne
2013-07-01 18:38:04 +00:00
parent 5089f24cba
commit c7f5dda4d7
2 changed files with 38 additions and 68 deletions
+10 -29
View File
@@ -102,6 +102,9 @@ extern BOOLEAN gfQueueRecreateMapInventoryFilterMenu;
extern UINT32 guiMapInvenFilterButton[ 9 ];
extern void CreateMapInventoryFilterMenu( );
// used for ETA border drawing
extern int CLOCK_ETA_X;
extern int CLOCK_Y_START;
// buttons & button images
// HEADROCK HAM 4: Increase both arrays by one to accomodate new Mobile Restrictions button
@@ -316,40 +319,18 @@ void RenderMapBorderEtaPopUp( void )
// get and blt ETA box
GetVideoObject(&hHandle, guiMapBorderEtaPopUp );
UINT16 offsetX = 0;
UINT16 offsetY = 0;
UINT16 offsetBorderY = 0;
UINT16 xVal = 215;
UINT16 yVal = 291;
// TODO.RW.ARSP: Check
if (iResolution >= _640x480 && iResolution < _800x600)
{
offsetX = xVal + xResOffset;
offsetY = yVal + yResOffset;
}
else if (iResolution < _1024x768)
{
offsetX = xVal + 80; // + xResOffset;
offsetY = yVal + 120; // + yResOffset;
}
else
{
offsetX = xVal + 180;// + xResOffset;
offsetY = yVal + 285;// + yResOffset;
}
offsetBorderY = offsetY + 19;
// coordinates should depend on the actual ETA display
UINT16 xVal = (CLOCK_ETA_X - 10) ;
UINT16 yVal = (CLOCK_Y_START - 7);
if (iResolution >= _640x480 && iResolution < _800x600)
BltVideoObject( FRAME_BUFFER , hHandle, 0, MAP_BORDER_X + MAP_BORDER_X_OFFSET + offsetX, MAP_BORDER_Y_OFFSET + offsetY, VO_BLT_SRCTRANSPARENCY,NULL );
BltVideoObject( FRAME_BUFFER , hHandle, 0, xVal, yVal, VO_BLT_SRCTRANSPARENCY,NULL );
else if (iResolution < _1024x768)
BltVideoObject( FRAME_BUFFER , hHandle, 1, MAP_BORDER_X + MAP_BORDER_X_OFFSET + offsetX, MAP_BORDER_Y_OFFSET + offsetY, VO_BLT_SRCTRANSPARENCY,NULL );
BltVideoObject( FRAME_BUFFER , hHandle, 1, xVal, yVal, VO_BLT_SRCTRANSPARENCY,NULL );
else
BltVideoObject( FRAME_BUFFER , hHandle, 2, MAP_BORDER_X + MAP_BORDER_X_OFFSET + offsetX, MAP_BORDER_Y_OFFSET + offsetY, VO_BLT_SRCTRANSPARENCY,NULL );
BltVideoObject( FRAME_BUFFER , hHandle, 2, xVal, yVal, VO_BLT_SRCTRANSPARENCY,NULL );
InvalidateRegion( MAP_BORDER_X + MAP_BORDER_X_OFFSET + offsetX, MAP_BORDER_Y_OFFSET + offsetY, MAP_BORDER_X + MAP_BORDER_X_OFFSET + offsetX + 100 , MAP_BORDER_Y_OFFSET + offsetBorderY);
InvalidateRegion( xVal, yVal, xVal + 100 , yVal + 19);
return;
}
+28 -39
View File
@@ -798,7 +798,7 @@ void PlotTemporaryPaths( void );
void PlotPermanentPaths( void );
void RenderHandPosItem( void );
void ContractListRegionBoxGlow( UINT16 usCount );
void DisplayDestinationOfCurrentDestMerc( void );
// void DisplayDestinationOfCurrentDestMerc( void );
void HandleCharBarRender( void );
// rebuild waypoints for selected character list
@@ -1544,40 +1544,6 @@ BOOLEAN InitializeInvPanelCoordsNew()
DEST_ETA_WIDTH = 33;
TIME_REMAINING_WIDTH = 28;
if (iResolution >= _640x480 && iResolution < _800x600)
{
CLOCK_Y_START = (MAP_BORDER_Y_OFFSET + 298);
DEST_PLOT_X = (MAP_BORDER_X_OFFSET + 463);
DEST_PLOT_Y = (MAP_BORDER_Y_OFFSET + 345);
CLOCK_ETA_X = (MAP_BORDER_X_OFFSET + 484);
CLOCK_HOUR_X_START = (MAP_BORDER_X_OFFSET + 518);
CLOCK_MIN_X_START = (MAP_BORDER_X_OFFSET + 538);
}
else if (iResolution < _1024x768)
{
CLOCK_Y_START = (MAP_BORDER_Y_OFFSET + 298 + 120);
DEST_PLOT_X = (MAP_BORDER_X_OFFSET + 463 + 80);
DEST_PLOT_Y = (MAP_BORDER_Y_OFFSET + 345 + 120);
CLOCK_ETA_X = (MAP_BORDER_X_OFFSET + 484 + 80) + xResOffset;
CLOCK_HOUR_X_START = (MAP_BORDER_X_OFFSET + 518 + 80) + xResOffset;
CLOCK_MIN_X_START = (MAP_BORDER_X_OFFSET + 538 + 80) + xResOffset;
}
else
{
CLOCK_Y_START = (MAP_BORDER_Y_OFFSET + 298 + 285);
DEST_PLOT_X = (MAP_BORDER_X_OFFSET + 463 + 180);
DEST_PLOT_Y = (MAP_BORDER_Y_OFFSET + 345 + 285);
CLOCK_ETA_X = (MAP_BORDER_X_OFFSET + 484 + 180) + xResOffset;
CLOCK_HOUR_X_START = (MAP_BORDER_X_OFFSET + 518 + 180) + xResOffset;
CLOCK_MIN_X_START = (MAP_BORDER_X_OFFSET + 538 + 180) + xResOffset;
}
// contract
CONTRACT_Y = 50;
@@ -1822,8 +1788,8 @@ BOOLEAN SetInfoChar( UINT8 ubID )
}
void DisplayDestinationOfCurrentDestMerc( void )
//silversurfer: not used anywhere
/*void DisplayDestinationOfCurrentDestMerc( void )
{
// will display the dest of the current dest merc
CHAR16 sString[ 32 ];
@@ -1842,7 +1808,7 @@ void DisplayDestinationOfCurrentDestMerc( void )
RestoreExternBackgroundRect( DEST_PLOT_X, DEST_PLOT_Y ,70 ,GetFontHeight( MAP_SCREEN_FONT ) );
mprintf( sX, sY, sString );
}
}*/
@@ -4595,7 +4561,6 @@ UINT32 MapScreenHandle(void)
//Disable all faces
SetAllAutoFacesInactive( );
if(fPreLoadedMapGraphics == FALSE )
{
vs_desc.fCreateFlags = VSURFACE_CREATE_FROMFILE | VSURFACE_SYSTEM_MEM_USAGE;
@@ -4637,6 +4602,14 @@ UINT32 MapScreenHandle(void)
ETA_FONT = BLOCKFONT2;
// standard ETA box
CLOCK_Y_START = 300;
DEST_PLOT_X = 420;
DEST_PLOT_Y = 345;
CLOCK_ETA_X = 440;
CLOCK_HOUR_X_START = 478;
CLOCK_MIN_X_START = 494;
// Helicopter ETA box
MAP_HELICOPTER_ETA_POPUP_X = (400 + iScreenWidthOffset);
MAP_HELICOPTER_ETA_POPUP_Y = (250 + iScreenHeightOffset) - yResOffset;
@@ -4681,6 +4654,14 @@ UINT32 MapScreenHandle(void)
ETA_FONT = BLOCKFONT2;
// standard ETA box
CLOCK_Y_START = (250 + iScreenHeightOffset + 108) - yResOffset;
DEST_PLOT_X = (400 + iScreenWidthOffset + 10);
DEST_PLOT_Y = (250 + iScreenHeightOffset + 148) - yResOffset;
CLOCK_ETA_X = (400 + iScreenWidthOffset + 30);
CLOCK_HOUR_X_START = (400 + iScreenWidthOffset + 68);
CLOCK_MIN_X_START = (400 + iScreenWidthOffset + 84);
// Helicopter ETA box
MAP_HELICOPTER_ETA_POPUP_X = (400 + iScreenWidthOffset);
MAP_HELICOPTER_ETA_POPUP_Y = (250 + iScreenHeightOffset + 58) - yResOffset;
@@ -4724,6 +4705,14 @@ UINT32 MapScreenHandle(void)
ETA_FONT = FONT12ARIAL;
// standard ETA box
CLOCK_Y_START = (250 + iScreenHeightOffset + 190) - yResOffset;
DEST_PLOT_X = (400 + iScreenWidthOffset + 10);
DEST_PLOT_Y = (250 + iScreenHeightOffset + 240) - yResOffset;
CLOCK_ETA_X = (400 + iScreenWidthOffset + 30);
CLOCK_HOUR_X_START = (400 + iScreenWidthOffset + 68);
CLOCK_MIN_X_START = (400 + iScreenWidthOffset + 84);
// Helicopter ETA box
MAP_HELICOPTER_ETA_POPUP_X = (400 + iScreenWidthOffset);
MAP_HELICOPTER_ETA_POPUP_Y = (250 + iScreenHeightOffset + 120) - yResOffset;