mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
Merge branch 'master' into ExtraMercs
This commit is contained in:
@@ -1,6 +1,3 @@
|
||||
#ifdef PRECOMPILEDHEADERS
|
||||
#include "Strategic All.h"
|
||||
#else
|
||||
#include "Map Screen Interface.h"
|
||||
#include "string.h"
|
||||
#include "Map Screen Interface Map.h"
|
||||
@@ -56,7 +53,6 @@
|
||||
#include "Food.h"
|
||||
#include "Personnel.h"
|
||||
#include "mapscreen.h"
|
||||
#endif
|
||||
|
||||
#include "connect.h"
|
||||
|
||||
@@ -1938,7 +1934,7 @@ void UpdateCharRegionHelpText( void )
|
||||
pSoldier = MercPtrs[ gCharactersList[ bSelectedInfoChar ].usSolID ];
|
||||
|
||||
// health/energy/morale
|
||||
if( pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT )
|
||||
if( pSoldier->bAssignment != ASSIGNMENT_POW && pSoldier->bAssignment != ASSIGNMENT_MINIEVENT && pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND )
|
||||
{
|
||||
if ( pSoldier->stats.bLife != 0 )
|
||||
{
|
||||
@@ -2963,85 +2959,6 @@ void DisplayUserDefineHelpTextRegions( FASTHELPREGION *pRegion )
|
||||
|
||||
|
||||
|
||||
extern void DisplayHelpTokenizedString( const STR16 pStringA, INT16 sX, INT16 sY );
|
||||
extern INT16 GetNumberOfLinesInHeight( const STR16 pStringA );
|
||||
extern INT16 GetWidthOfString( const STR16 pStringA );
|
||||
|
||||
void DisplaySoldierToolTip( FASTHELPREGION *pRegion )
|
||||
{
|
||||
UINT16 usFillColor;
|
||||
INT32 iX,iY,iW,iH;
|
||||
UINT8 *pDestBuf;
|
||||
UINT32 uiDestPitchBYTES;
|
||||
|
||||
|
||||
// grab the color for the background region
|
||||
usFillColor = Get16BPPColor(FROMRGB(250, 240, 188));
|
||||
|
||||
|
||||
iX = pRegion->iX;
|
||||
iY = pRegion->iY;
|
||||
// get the width and height of the string
|
||||
//iW = (INT32)( pRegion->iW ) + 14;
|
||||
iW = (INT32)GetWidthOfString( pRegion->FastHelpText ) + 10;
|
||||
|
||||
//iH = IanWrappedStringHeight( ( UINT16 )iX, ( UINT16 )iY, ( UINT16 )( pRegion->iW ), 0, FONT10ARIAL, FONT_BLACK, pRegion->FastHelpText, FONT_BLACK, TRUE, 0 );
|
||||
iH = (INT32)( GetNumberOfLinesInHeight( pRegion->FastHelpText ) * (GetFontHeight(FONT10ARIAL)+1) + 8 );
|
||||
|
||||
// tack on the outer border
|
||||
iH += 14;
|
||||
|
||||
// gone not far enough?
|
||||
if ( iX < 0 )
|
||||
iX = 0;
|
||||
|
||||
// gone too far
|
||||
if ( ( pRegion->iX + iW ) >= SCREEN_WIDTH )
|
||||
iX = (SCREEN_WIDTH - iW - 4);
|
||||
|
||||
// what about the y value?
|
||||
iY = (INT32)pRegion->iY - ( iH * 3 / 4);
|
||||
|
||||
// not far enough
|
||||
if (iY < 0)
|
||||
iY = 0;
|
||||
|
||||
// too far
|
||||
if ( (iY + iH) >= SCREEN_HEIGHT )
|
||||
iY = (SCREEN_HEIGHT - iH - 15);
|
||||
|
||||
pDestBuf = LockVideoSurface( FRAME_BUFFER, &uiDestPitchBYTES );
|
||||
SetClippingRegionAndImageWidth( uiDestPitchBYTES, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT );
|
||||
RectangleDraw( TRUE, iX + 1, iY + 1, iX + iW - 1, iY + iH - 1, Get16BPPColor( FROMRGB( 65, 57, 15 ) ), pDestBuf );
|
||||
RectangleDraw( TRUE, iX, iY, iX + iW - 2, iY + iH - 2, Get16BPPColor( FROMRGB( 227, 198, 88 ) ), pDestBuf );
|
||||
UnLockVideoSurface( FRAME_BUFFER );
|
||||
ShadowVideoSurfaceRect( FRAME_BUFFER, iX + 2, iY + 2, iX + iW - 3, iY + iH - 3 );
|
||||
ShadowVideoSurfaceRect( FRAME_BUFFER, iX + 2, iY + 2, iX + iW - 3, iY + iH - 3 );
|
||||
|
||||
// fillt he video surface areas
|
||||
//ColorFillVideoSurfaceArea(FRAME_BUFFER, iX, iY, (iX + iW), (iY + iH), 0);
|
||||
//ColorFillVideoSurfaceArea(FRAME_BUFFER, (iX + 1), (iY + 1), (iX + iW - 1), (iY + iH - 1), usFillColor);
|
||||
|
||||
SetFont( FONT10ARIAL );
|
||||
SetFontForeground( FONT_BEIGE );
|
||||
|
||||
//iH = ( INT32 )DisplayWrappedString( ( INT16 )( iX + 10 ), ( INT16 )( iY + 6 ), ( INT16 )pRegion->iW, 0, FONT10ARIAL, FONT_BEIGE, pRegion->FastHelpText, FONT_NEARBLACK, TRUE, 0 );
|
||||
|
||||
DisplayHelpTokenizedString( pRegion->FastHelpText ,( INT16 )( iX + 5 ), ( INT16 )( iY + 5 ) );
|
||||
|
||||
iHeightOfInitFastHelpText = iH + 20;
|
||||
|
||||
InvalidateRegion( iX, iY, (iX + iW) , (iY + iH + 20 ) );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void DisplayFastHelpForInitialTripInToMapScreen( FASTHELPREGION *pRegion )
|
||||
{
|
||||
if( gTacticalStatus.fDidGameJustStart )
|
||||
@@ -3713,7 +3630,7 @@ void SetUpMovingListsForSector( INT16 sSectorX, INT16 sSectorY, INT16 sSectorZ )
|
||||
pSoldier = MercPtrs[ gCharactersList[ iCounter ].usSolID ];
|
||||
|
||||
if( ( pSoldier->bActive ) &&
|
||||
( pSoldier->bAssignment != IN_TRANSIT ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && !SPY_LOCATION( pSoldier->bAssignment ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) &&
|
||||
( pSoldier->bAssignment != IN_TRANSIT ) && ( pSoldier->bAssignment != ASSIGNMENT_POW ) && !SPY_LOCATION( pSoldier->bAssignment ) && ( pSoldier->bAssignment != ASSIGNMENT_MINIEVENT ) && ( pSoldier->bAssignment != ASSIGNMENT_REBELCOMMAND ) &&
|
||||
( pSoldier->sSectorX == sSectorX ) && ( pSoldier->sSectorY == sSectorY ) && ( pSoldier->bSectorZ == sSectorZ ) )
|
||||
{
|
||||
if ( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE )
|
||||
@@ -6097,8 +6014,8 @@ BOOLEAN CanCharacterMoveInStrategic( SOLDIERTYPE *pSoldier, INT8 *pbErrorNumber
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
// mini event?
|
||||
if ( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT )
|
||||
// mini event/rebel command?
|
||||
if ( pSoldier->bAssignment == ASSIGNMENT_MINIEVENT || pSoldier->bAssignment == ASSIGNMENT_REBELCOMMAND )
|
||||
{
|
||||
*pbErrorNumber = 29;
|
||||
return( FALSE );
|
||||
|
||||
Reference in New Issue
Block a user