Files
source/Laptop/IMPVideoObjects.cpp
T
Asdow 1f095b7d31 Implemented new IMP gear selection interface to replace the dropdown menus. Requires GameDir rev 2652.
Enrico's letter is forced to the first hired merc in old inventory, similar to new inventory in case a free item pocket is not found.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9391 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2022-08-01 21:15:34 +00:00

1561 lines
34 KiB
C++

#ifdef PRECOMPILEDHEADERS
#include "Laptop All.h"
#else
#include "IMPVideoObjects.h"
#include "Utilities.h"
#include "WCheck.h"
#include "Debug.h"
#include "WordWrap.h"
#include "Encrypted File.h"
#include "laptop.h"
#include "Multi Language Graphic Utils.h"
#include "IMP Attribute Selection.h"
#endif
// globals
// video object handles
UINT32 guiBACKGROUND;
UINT32 guiIMPSYMBOL;
UINT32 guiBEGININDENT;
UINT32 guiACTIVATIONINDENT;
UINT32 guiFRONTPAGEINDENT;
UINT32 guiFULLNAMEINDENT;
UINT32 guiNAMEINDENT;
UINT32 guiNICKNAMEINDENT;
UINT32 guiGENDERINDENT;
UINT32 guiSMALLFRAME;
UINT32 guiANALYSE;
UINT32 guiATTRIBUTEGRAPH;
UINT32 guiATTRIBUTEGRAPHBAR;
UINT32 guiSMALLSILHOUETTE;
UINT32 guiLARGESILHOUETTE;
UINT32 guiPORTRAITFRAME;
UINT32 guiSLIDERBAR;
UINT32 guiATTRIBUTEFRAME;
UINT32 guiATTRIBUTESCREENINDENT1;
UINT32 guiATTRIBUTESCREENINDENT2;
UINT32 guiATTRIBUTEBAR;
UINT32 guiBUTTON2IMAGE;
UINT32 guiBUTTON1IMAGE;
UINT32 guiBUTTON4IMAGE;
UINT32 guiMAININDENT;
UINT32 guiLONGINDENT;
UINT32 guiSHORTINDENT;
UINT32 guiSHORTHINDENT;
UINT32 guiSHORT2INDENT;
UINT32 guiLONGHINDENT;
UINT32 guiQINDENT;
UINT32 guiA1INDENT;
UINT32 guiA2INDENT;
UINT32 guiAVGMERCINDENT;
UINT32 guiABOUTUSINDENT;
UINT32 guiSHORT2HINDENT;
// These 2 added - SANDRO
UINT32 guiASTARTLEVEL;
UINT32 guiCOLORCHOICEFRAME;
UINT32 gIMPINVENTORY;
SGPRectangle gIMPGearLayout;
SGPRectangle gIMPInvPoolLayout;
// position defines
#define CHAR_PROFILE_BACKGROUND_TILE_WIDTH 125
#define CHAR_PROFILE_BACKGROUND_TILE_HEIGHT 100
extern void DrawBonusPointsRemaining( void );
BOOLEAN LoadProfileBackGround( void )
{
VOBJECT_DESC VObjectDesc;
// this procedure will load in the graphics for the generic background
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\MetalBackGround.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiBACKGROUND));
return (TRUE) ;
}
void RemoveProfileBackGround( void )
{
// remove background
DeleteVideoObjectFromIndex( guiBACKGROUND );
return;
}
void RenderProfileBackGround( void )
{
HVOBJECT hHandle;
INT32 iCounter = 0;
// this procedure will render the generic backgound to the screen
// get the video object
GetVideoObject(&hHandle, guiBACKGROUND);
// render each row 5 times wide, 5 tiles high
for(iCounter = 0; iCounter < 4; iCounter++)
{
// blt background to screen from left to right
BltVideoObject(FRAME_BUFFER, hHandle, 0,LAPTOP_SCREEN_UL_X + 0 * CHAR_PROFILE_BACKGROUND_TILE_WIDTH, LAPTOP_SCREEN_WEB_UL_Y + iCounter * CHAR_PROFILE_BACKGROUND_TILE_HEIGHT, VO_BLT_SRCTRANSPARENCY,NULL);
BltVideoObject(FRAME_BUFFER, hHandle, 0,LAPTOP_SCREEN_UL_X + 1 * CHAR_PROFILE_BACKGROUND_TILE_WIDTH, LAPTOP_SCREEN_WEB_UL_Y + iCounter * CHAR_PROFILE_BACKGROUND_TILE_HEIGHT, VO_BLT_SRCTRANSPARENCY,NULL);
BltVideoObject(FRAME_BUFFER, hHandle, 0,LAPTOP_SCREEN_UL_X + 2 * CHAR_PROFILE_BACKGROUND_TILE_WIDTH, LAPTOP_SCREEN_WEB_UL_Y + iCounter * CHAR_PROFILE_BACKGROUND_TILE_HEIGHT, VO_BLT_SRCTRANSPARENCY,NULL);
BltVideoObject(FRAME_BUFFER, hHandle, 0,LAPTOP_SCREEN_UL_X + 3 * CHAR_PROFILE_BACKGROUND_TILE_WIDTH, LAPTOP_SCREEN_WEB_UL_Y + iCounter * CHAR_PROFILE_BACKGROUND_TILE_HEIGHT, VO_BLT_SRCTRANSPARENCY,NULL);
}
// dirty buttons
MarkButtonsDirty( );
// force refresh of screen
InvalidateRegion( LAPTOP_SCREEN_UL_X, LAPTOP_SCREEN_WEB_UL_Y, SCREEN_WIDTH, SCREEN_HEIGHT );
return;
}
BOOLEAN LoadIMPSymbol( void )
{
// this procedure will load the IMP main symbol into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
GetMLGFilename( VObjectDesc.ImageFile, MLG_IMPSYMBOL );
CHECKF(AddVideoObject(&VObjectDesc, &guiIMPSYMBOL));
return (TRUE) ;
}
void DeleteIMPSymbol( void )
{
// remove IMP symbol
DeleteVideoObjectFromIndex( guiIMPSYMBOL );
return;
}
void RenderIMPSymbol(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiIMPSYMBOL);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadBeginIndent( void )
{
// this procedure will load the indent main symbol into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\BeginScreenIndent.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiBEGININDENT));
return (TRUE) ;
}
void DeleteBeginIndent( void )
{
// remove indent symbol
DeleteVideoObjectFromIndex( guiBEGININDENT );
return;
}
void RenderBeginIndent(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiBEGININDENT);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadActivationIndent( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\ActivationIndent.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiACTIVATIONINDENT));
return (TRUE) ;
}
void DeleteActivationIndent( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiACTIVATIONINDENT );
return;
}
void RenderActivationIndent(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiACTIVATIONINDENT);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadFrontPageIndent( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\FrontPageIndent.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiFRONTPAGEINDENT));
return (TRUE) ;
}
void DeleteFrontPageIndent( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiFRONTPAGEINDENT );
return;
}
void RenderFrontPageIndent(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiFRONTPAGEINDENT);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadAnalyse( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\Analyze.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiANALYSE));
return (TRUE) ;
}
void DeleteAnalyse( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiANALYSE );
return;
}
void RenderAnalyse(INT16 sX, INT16 sY, INT8 bImageNumber)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiANALYSE);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, bImageNumber, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadAttributeGraph( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\Attributegraph.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiATTRIBUTEGRAPH));
return (TRUE) ;
}
void DeleteAttributeGraph( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiATTRIBUTEGRAPH );
return;
}
void RenderAttributeGraph(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiATTRIBUTEGRAPH);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadAttributeGraphBar( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\AttributegraphBar.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiATTRIBUTEGRAPHBAR));
return (TRUE) ;
}
void DeleteAttributeBarGraph( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiATTRIBUTEGRAPHBAR );
return;
}
void RenderAttributeBarGraph(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiATTRIBUTEGRAPHBAR);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadFullNameIndent( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\FullNameIndent.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiFULLNAMEINDENT));
return (TRUE);
}
void DeleteFullNameIndent( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiFULLNAMEINDENT );
return;
}
void RenderFullNameIndent(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiFULLNAMEINDENT);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadNickNameIndent( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\NickName.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiNICKNAMEINDENT));
return (TRUE);
}
void DeleteNickNameIndent( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiNICKNAMEINDENT );
return;
}
void RenderNickNameIndent(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiNICKNAMEINDENT);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadNameIndent( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\NameIndent.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiNAMEINDENT));
return (TRUE);
}
void DeleteNameIndent( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiNAMEINDENT );
return;
}
void RenderNameIndent(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiNAMEINDENT);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadGenderIndent( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\GenderIndent.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiGENDERINDENT));
return (TRUE);
}
void DeleteGenderIndent( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiGENDERINDENT );
return;
}
void RenderGenderIndent(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiGENDERINDENT);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadSmallFrame( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\SmallFrame.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiSMALLFRAME));
return (TRUE);
}
void DeleteSmallFrame( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiSMALLFRAME );
return;
}
void RenderSmallFrame(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiSMALLFRAME);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadSmallSilhouette( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\SmallSilhouette.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiSMALLSILHOUETTE));
return (TRUE);
}
void DeleteSmallSilhouette( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiSMALLSILHOUETTE );
return;
}
void RenderSmallSilhouette(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiSMALLSILHOUETTE);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadLargeSilhouette( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\largesilhouette.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiLARGESILHOUETTE));
return (TRUE);
}
void DeleteLargeSilhouette( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiLARGESILHOUETTE );
return;
}
void RenderLargeSilhouette(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiLARGESILHOUETTE);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadAttributeFrame( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\attributeframe.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiATTRIBUTEFRAME));
return (TRUE);
}
void DeleteAttributeFrame( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiATTRIBUTEFRAME );
return;
}
void RenderAttributeFrame(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
INT32 iCounter = 0;
INT16 sCurrentY = 0;
// get the video object
GetVideoObject(&hHandle, guiATTRIBUTEFRAME);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
sCurrentY += 10;
for( iCounter = 0; iCounter < 10; iCounter++ )
{
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 2, LAPTOP_SCREEN_UL_X + sX + 134, LAPTOP_SCREEN_WEB_UL_Y + sY + sCurrentY, VO_BLT_SRCTRANSPARENCY,NULL);
BltVideoObject(FRAME_BUFFER, hHandle, 1, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY + sCurrentY, VO_BLT_SRCTRANSPARENCY,NULL);
BltVideoObject(FRAME_BUFFER, hHandle, 3, LAPTOP_SCREEN_UL_X + sX + 368, LAPTOP_SCREEN_WEB_UL_Y + sY + sCurrentY, VO_BLT_SRCTRANSPARENCY,NULL);
sCurrentY += 20;
}
BltVideoObject(FRAME_BUFFER, hHandle, 4, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY + sCurrentY, VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
void RenderAttributeFrameForIndex( INT16 sX, INT16 sY, INT32 iIndex )
{
INT16 sCurrentY = 0;
HVOBJECT hHandle;
// valid index?
if( iIndex == -1 )
{
return;
}
sCurrentY = ( INT16 )( 10 + ( iIndex * 20 ) );
// get the video object
GetVideoObject(&hHandle, guiATTRIBUTEFRAME);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 2, LAPTOP_SCREEN_UL_X + sX + 134, LAPTOP_SCREEN_WEB_UL_Y + sY + sCurrentY, VO_BLT_SRCTRANSPARENCY,NULL);
RenderAttrib2IndentFrame(350, 42 );
// amt of bonus pts
DrawBonusPointsRemaining( );
// render attribute boxes
RenderAttributeBoxes( );
InvalidateRegion( LAPTOP_SCREEN_UL_X + sX + 134, LAPTOP_SCREEN_WEB_UL_Y + sY + sCurrentY, LAPTOP_SCREEN_UL_X + sX + 400, LAPTOP_SCREEN_WEB_UL_Y + sY + sCurrentY + 21 );
return;
}
BOOLEAN LoadSliderBar( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\attributeslider.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiSLIDERBAR));
return (TRUE);
}
void DeleteSliderBar( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiSLIDERBAR );
return;
}
void RenderSliderBar(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiSLIDERBAR);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadButton2Image( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\button_2.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiBUTTON2IMAGE));
return (TRUE);
}
void DeleteButton2Image( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiBUTTON2IMAGE );
return;
}
void RenderButton2Image(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiBUTTON2IMAGE);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadButton4Image( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\button_4.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiBUTTON4IMAGE));
return (TRUE);
}
void DeleteButton4Image( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiBUTTON4IMAGE );
return;
}
void RenderButton4Image(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiBUTTON4IMAGE);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadButton1Image( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\button_1.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiBUTTON1IMAGE));
return (TRUE);
}
void DeleteButton1Image( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiBUTTON1IMAGE );
return;
}
void RenderButton1Image(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiBUTTON1IMAGE);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadPortraitFrame( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\Voice_PortraitFrame.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiPORTRAITFRAME));
return (TRUE);
}
void DeletePortraitFrame( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiPORTRAITFRAME );
return;
}
void RenderPortraitFrame(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiPORTRAITFRAME);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadMainIndentFrame( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\mainprofilepageindent.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiMAININDENT));
return (TRUE);
}
void DeleteMainIndentFrame( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiMAININDENT );
return;
}
void RenderMainIndentFrame(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiMAININDENT);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadQtnLongIndentFrame( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\longindent.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiLONGINDENT));
return (TRUE);
}
void DeleteQtnLongIndentFrame( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiLONGINDENT );
return;
}
void RenderQtnLongIndentFrame(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiLONGINDENT);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadQtnShortIndentFrame( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\shortindent.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiSHORTINDENT));
return (TRUE);
}
void DeleteQtnShortIndentFrame( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiSHORTINDENT );
return;
}
void RenderQtnShortIndentFrame(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiSHORTINDENT);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadQtnLongIndentHighFrame( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\longindenthigh.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiLONGHINDENT));
return (TRUE);
}
void DeleteQtnLongIndentHighFrame( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiLONGHINDENT );
return;
}
void RenderQtnLongIndentHighFrame(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiLONGHINDENT);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadQtnShortIndentHighFrame( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\shortindenthigh.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiSHORTHINDENT));
return (TRUE);
}
void DeleteQtnShortIndentHighFrame( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiSHORTHINDENT );
return;
}
void RenderQtnShortIndentHighFrame(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiSHORTHINDENT);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadQtnIndentFrame( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\questionindent.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiQINDENT));
return (TRUE);
}
void DeleteQtnIndentFrame( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiQINDENT );
return;
}
void RenderQtnIndentFrame(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiQINDENT);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadAttrib1IndentFrame( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\attributescreenindent_1.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiA1INDENT));
return (TRUE);
}
void DeleteAttrib1IndentFrame( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiA1INDENT );
return;
}
void RenderAttrib1IndentFrame(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiA1INDENT);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadAttrib2IndentFrame( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\attributescreenindent_2.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiA2INDENT));
return (TRUE);
}
void DeleteAttrib2IndentFrame( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiA2INDENT );
return;
}
void RenderAttrib2IndentFrame(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiA2INDENT);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadAvgMercIndentFrame( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\anaveragemercindent.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiAVGMERCINDENT));
return (TRUE);
}
void DeleteAvgMercIndentFrame( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiAVGMERCINDENT );
return;
}
void RenderAvgMercIndentFrame(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiAVGMERCINDENT);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadAboutUsIndentFrame( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\aboutusindent.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiABOUTUSINDENT));
return (TRUE);
}
void DeleteAboutUsIndentFrame( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiABOUTUSINDENT );
return;
}
void RenderAboutUsIndentFrame(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiABOUTUSINDENT);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadQtnShort2IndentFrame( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\shortindent2.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiSHORT2INDENT));
return (TRUE);
}
void DeleteQtnShort2IndentFrame( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiSHORT2INDENT );
return;
}
void RenderQtnShort2IndentFrame(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiSHORT2INDENT);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadQtnShort2IndentHighFrame( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\shortindent2High.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiSHORT2HINDENT));
return (TRUE);
}
void DeleteQtnShort2IndentHighFrame( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiSHORT2HINDENT );
return;
}
void RenderQtnShort2IndentHighFrame(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiSHORT2HINDENT);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
// Following procedures added - SANDRO
BOOLEAN LoadAttribStartingLevelFrame( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\STARTINGLEVELBAR.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiASTARTLEVEL));
return (TRUE);
}
void DeleteAttribStartingLevelFrame( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiASTARTLEVEL );
return;
}
void RenderAttribStartingLevelFrame(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiASTARTLEVEL);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadColorChoiceFrame( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\COLORCHOICEFRAME.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiCOLORCHOICEFRAME));
return (TRUE);
}
void DeleteColorChoiceFrame( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiCOLORCHOICEFRAME );
return;
}
void RenderColorChoiceFrame(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiCOLORCHOICEFRAME);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, sX, sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadImpGearSelection(void)
{
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags = VOBJECT_CREATE_FROMFILE;
//if (UsingNewInventorySystem())
{
FilenameForBPP("INTERFACE\\ImpGearSelection.sti", VObjectDesc.ImageFile);
}
CHECKF(AddVideoObject(&VObjectDesc, &gIMPINVENTORY));
gIMPGearLayout = { LAPTOP_SCREEN_UL_X + 37, LAPTOP_SCREEN_WEB_UL_Y + 48, 429, 257 };
if (!UsingNewInventorySystem())
{
gIMPGearLayout = { LAPTOP_SCREEN_UL_X + 118, LAPTOP_SCREEN_WEB_UL_Y + 48, 261, 249 };
}
gIMPInvPoolLayout = { LAPTOP_SCREEN_UL_X + 57, LAPTOP_SCREEN_WEB_UL_Y + 68, 389, 217};
return (TRUE);
}
void DeleteImpGearSelection(void)
{
DeleteVideoObjectFromIndex(gIMPINVENTORY);
return;
}
extern BOOLEAN Blt8BPPDataTo16BPPBufferTransparent(UINT16* pBuffer, UINT32 uiDestPitchBYTES, HVOBJECT hSrcVObject, INT32 iX, INT32 iY, UINT16 usIndex);
void RenderImpGearSelection(void)
{
UINT32 uiDestPitchBYTES;
UINT16* pDestBuf;
HVOBJECT hCharListHandle;
UINT8 stiIndex = 0;
if (!UsingNewInventorySystem())
{
stiIndex = 5;
}
pDestBuf = (UINT16*)LockVideoSurface(FRAME_BUFFER, &uiDestPitchBYTES);
GetVideoObject(&hCharListHandle, gIMPINVENTORY);
Blt8BPPDataTo16BPPBufferTransparent(pDestBuf, uiDestPitchBYTES, hCharListHandle, gIMPGearLayout.x, gIMPGearLayout.y, stiIndex);
UnLockVideoSurface(FRAME_BUFFER);
}
void RenderImpGearSelectionGrid(void)
{
UINT32 uiDestPitchBYTES;
UINT16* pDestBuf;
HVOBJECT hCharListHandle;
UINT8 stiIndex = 1;
pDestBuf = (UINT16*)LockVideoSurface(FRAME_BUFFER, &uiDestPitchBYTES);
GetVideoObject(&hCharListHandle, gIMPINVENTORY);
Blt8BPPDataTo16BPPBufferTransparent(pDestBuf, uiDestPitchBYTES, hCharListHandle, gIMPInvPoolLayout.x, gIMPInvPoolLayout.y, stiIndex);
UnLockVideoSurface(FRAME_BUFFER);
}