mirror of
https://github.com/1dot13/source.git
synced 2026-07-29 13:52:17 +02:00
Merged New Inventory Project into main branch
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@1871 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -68,7 +68,7 @@ typedef struct VOBJECT_NODE
|
||||
{
|
||||
HVOBJECT hVObject;
|
||||
UINT32 uiIndex;
|
||||
struct VOBJECT_NODE *next, *prev;
|
||||
struct VOBJECT_NODE *next, *prev;
|
||||
|
||||
#ifdef SGP_VIDEO_DEBUGGING
|
||||
STR8 pName;
|
||||
@@ -77,8 +77,8 @@ typedef struct VOBJECT_NODE
|
||||
|
||||
}VOBJECT_NODE;
|
||||
|
||||
VOBJECT_NODE *gpVObjectHead = NULL;
|
||||
VOBJECT_NODE *gpVObjectTail = NULL;
|
||||
VOBJECT_NODE *gpVObjectHead = NULL;
|
||||
VOBJECT_NODE *gpVObjectTail = NULL;
|
||||
UINT32 guiVObjectIndex = 1;
|
||||
UINT32 guiVObjectSize = 0;
|
||||
UINT32 guiVObjectTotalAdded = 0;
|
||||
@@ -111,19 +111,19 @@ void CheckValidVObjectIndex( UINT32 uiIndex );
|
||||
//
|
||||
// **************************************************************
|
||||
|
||||
int filter(unsigned int code, struct _EXCEPTION_POINTERS *ep)
|
||||
int filter(unsigned int code, struct _EXCEPTION_POINTERS *ep)
|
||||
{
|
||||
puts("in filter.");
|
||||
if (code == EXCEPTION_ACCESS_VIOLATION) {
|
||||
puts("caught AV as expected.");
|
||||
return EXCEPTION_EXECUTE_HANDLER;
|
||||
}
|
||||
puts("in filter.");
|
||||
if (code == EXCEPTION_ACCESS_VIOLATION) {
|
||||
puts("caught AV as expected.");
|
||||
return EXCEPTION_EXECUTE_HANDLER;
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
puts("didn't catch AV, unexpected.");
|
||||
return EXCEPTION_CONTINUE_SEARCH;
|
||||
};
|
||||
else
|
||||
{
|
||||
puts("didn't catch AV, unexpected.");
|
||||
return EXCEPTION_CONTINUE_SEARCH;
|
||||
};
|
||||
}
|
||||
|
||||
BOOLEAN InitializeVideoObjectManager( )
|
||||
@@ -277,7 +277,7 @@ BOOLEAN GetVideoObject( HVOBJECT *hVObject, UINT32 uiIndex )
|
||||
|
||||
BOOLEAN BltVideoObjectFromIndex(UINT32 uiDestVSurface, UINT32 uiSrcVObject, UINT16 usRegionIndex, INT32 iDestX, INT32 iDestY, UINT32 fBltFlags, blt_fx *pBltFx )
|
||||
{
|
||||
UINT16 *pBuffer;
|
||||
UINT16 *pBuffer;
|
||||
UINT32 uiPitch;
|
||||
HVOBJECT hSrcVObject;
|
||||
|
||||
@@ -302,7 +302,7 @@ BOOLEAN BltVideoObjectFromIndex(UINT32 uiDestVSurface, UINT32 uiSrcVObject, UINT
|
||||
// Now we have the video object and surface, call the VO blitter function
|
||||
if ( !BltVideoObjectToBuffer( pBuffer, uiPitch, hSrcVObject, usRegionIndex, iDestX, iDestY, fBltFlags, pBltFx ) )
|
||||
{
|
||||
UnLockVideoSurface( uiDestVSurface );
|
||||
UnLockVideoSurface( uiDestVSurface );
|
||||
// VO Blitter will set debug messages for error conditions
|
||||
return FALSE;
|
||||
}
|
||||
@@ -312,7 +312,7 @@ BOOLEAN BltVideoObjectFromIndex(UINT32 uiDestVSurface, UINT32 uiSrcVObject, UINT
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN DeleteVideoObjectFromIndex( UINT32 uiVObject )
|
||||
BOOLEAN DeleteVideoObjectFromIndex( UINT32 uiVObject )
|
||||
{
|
||||
VOBJECT_NODE *curr;
|
||||
|
||||
@@ -347,7 +347,7 @@ BOOLEAN DeleteVideoObjectFromIndex( UINT32 uiVObject )
|
||||
{ //Make the next node point to the prev
|
||||
curr->prev->next = curr->next;
|
||||
}
|
||||
//The node is now detached. Now deallocate it.
|
||||
//The node is now detached. Now deallocate it.
|
||||
#ifdef SGP_VIDEO_DEBUGGING
|
||||
if( curr->pName )
|
||||
MemFree( curr->pName );
|
||||
@@ -376,13 +376,13 @@ BOOLEAN DeleteVideoObjectFromIndex( UINT32 uiVObject )
|
||||
// Based on flags, blit accordingly
|
||||
// There are two types, a BltFast and a Blt. BltFast is 10% faster, uses no
|
||||
// clipping lists
|
||||
BOOLEAN BltVideoObject( UINT32 uiDestVSurface,
|
||||
HVOBJECT hSrcVObject,
|
||||
UINT16 usRegionIndex,
|
||||
INT32 iDestX,
|
||||
INT32 iDestY,
|
||||
UINT32 fBltFlags,
|
||||
blt_fx *pBltFx )
|
||||
BOOLEAN BltVideoObject( UINT32 uiDestVSurface,
|
||||
HVOBJECT hSrcVObject,
|
||||
UINT16 usRegionIndex,
|
||||
INT32 iDestX,
|
||||
INT32 iDestY,
|
||||
UINT32 fBltFlags,
|
||||
blt_fx *pBltFx )
|
||||
{
|
||||
|
||||
UINT16 *pBuffer;
|
||||
@@ -507,7 +507,7 @@ HVOBJECT CreateVideoObject( VOBJECT_DESC *VObjectDesc )
|
||||
// while( FALSE );
|
||||
|
||||
// All is well
|
||||
// DbgMessage( TOPIC_VIDEOOBJECT, DBG_LEVEL_3, String("Success in Creating Video Object" ) );
|
||||
// DbgMessage( TOPIC_VIDEOOBJECT, DBG_LEVEL_3, String("Success in Creating Video Object" ) );
|
||||
|
||||
return( hVObject );
|
||||
}
|
||||
@@ -548,7 +548,7 @@ BOOLEAN SetVideoObjectPalette( HVOBJECT hVObject, SGPPaletteEntry *pSrcPalette )
|
||||
hVObject->p16BPPPalette = Create16BPPPalette( pSrcPalette );
|
||||
hVObject->pShadeCurrent = hVObject->p16BPPPalette;
|
||||
|
||||
// DbgMessage(TOPIC_VIDEOOBJECT, DBG_LEVEL_3, String("Video Object Palette change successfull" ));
|
||||
// DbgMessage(TOPIC_VIDEOOBJECT, DBG_LEVEL_3, String("Video Object Palette change successfull" ));
|
||||
return( TRUE );
|
||||
}
|
||||
|
||||
@@ -727,7 +727,7 @@ BOOLEAN BltVideoObjectToBuffer( UINT16 *pBuffer, UINT32 uiDestPitchBYTES, HVOBJE
|
||||
|
||||
if ( hSrcVObject == NULL )
|
||||
{
|
||||
int i=0;
|
||||
//int breakpoint=0;
|
||||
}
|
||||
|
||||
Assert( hSrcVObject != NULL );
|
||||
@@ -756,7 +756,7 @@ BOOLEAN BltVideoObjectToBuffer( UINT16 *pBuffer, UINT32 uiDestPitchBYTES, HVOBJE
|
||||
}
|
||||
else
|
||||
#endif
|
||||
if ( fBltFlags & VO_BLT_SRCTRANSPARENCY )
|
||||
if ( fBltFlags & VO_BLT_SRCTRANSPARENCY )
|
||||
{
|
||||
if(BltIsClipped(hSrcVObject, iDestX, iDestY, usIndex, &ClippingRect))
|
||||
Blt8BPPDataTo16BPPBufferTransparentClip( pBuffer, uiDestPitchBYTES, hSrcVObject, iDestX, iDestY, usIndex, &ClippingRect);
|
||||
@@ -764,7 +764,7 @@ BOOLEAN BltVideoObjectToBuffer( UINT16 *pBuffer, UINT32 uiDestPitchBYTES, HVOBJE
|
||||
Blt8BPPDataTo16BPPBufferTransparent( pBuffer, uiDestPitchBYTES, hSrcVObject, iDestX, iDestY, usIndex );
|
||||
break;
|
||||
}
|
||||
else if ( fBltFlags & VO_BLT_SHADOW )
|
||||
else if ( fBltFlags & VO_BLT_SHADOW )
|
||||
{
|
||||
if(BltIsClipped(hSrcVObject, iDestX, iDestY, usIndex, &ClippingRect))
|
||||
Blt8BPPDataTo16BPPBufferShadowClip( pBuffer, uiDestPitchBYTES, hSrcVObject, iDestX, iDestY, usIndex, &ClippingRect);
|
||||
@@ -776,7 +776,7 @@ BOOLEAN BltVideoObjectToBuffer( UINT16 *pBuffer, UINT32 uiDestPitchBYTES, HVOBJE
|
||||
}
|
||||
else if(gbPixelDepth==8)
|
||||
{
|
||||
if ( fBltFlags & VO_BLT_SRCTRANSPARENCY )
|
||||
if ( fBltFlags & VO_BLT_SRCTRANSPARENCY )
|
||||
{
|
||||
if(BltIsClipped(hSrcVObject, iDestX, iDestY, usIndex, &ClippingRect))
|
||||
Blt8BPPDataTo8BPPBufferTransparentClip( pBuffer, uiDestPitchBYTES, hSrcVObject, iDestX, iDestY, usIndex, &ClippingRect);
|
||||
@@ -784,7 +784,7 @@ BOOLEAN BltVideoObjectToBuffer( UINT16 *pBuffer, UINT32 uiDestPitchBYTES, HVOBJE
|
||||
Blt8BPPDataTo8BPPBufferTransparent( pBuffer, uiDestPitchBYTES, hSrcVObject, iDestX, iDestY, usIndex );
|
||||
break;
|
||||
}
|
||||
else if ( fBltFlags & VO_BLT_SHADOW )
|
||||
else if ( fBltFlags & VO_BLT_SHADOW )
|
||||
{
|
||||
if(BltIsClipped(hSrcVObject, iDestX, iDestY, usIndex, &ClippingRect))
|
||||
Blt8BPPDataTo8BPPBufferShadowClip( pBuffer, uiDestPitchBYTES, hSrcVObject, iDestX, iDestY, usIndex, &ClippingRect);
|
||||
@@ -809,11 +809,11 @@ BOOLEAN BltVideoObjectToBuffer( UINT16 *pBuffer, UINT32 uiDestPitchBYTES, HVOBJE
|
||||
}
|
||||
}
|
||||
|
||||
BOOLEAN PixelateVideoObjectRect( UINT32 uiDestVSurface, INT32 X1, INT32 Y1, INT32 X2, INT32 Y2)
|
||||
BOOLEAN PixelateVideoObjectRect( UINT32 uiDestVSurface, INT32 X1, INT32 Y1, INT32 X2, INT32 Y2)
|
||||
{
|
||||
UINT16 *pBuffer;
|
||||
UINT32 uiPitch;
|
||||
SGPRect area;
|
||||
SGPRect area;
|
||||
UINT8 uiPattern[8][8]={ {0,1,0,1,0,1,0,1},
|
||||
{1,0,1,0,1,0,1,0},
|
||||
{0,1,0,1,0,1,0,1},
|
||||
@@ -911,7 +911,7 @@ UINT16 SetObjectShade(HVOBJECT pObj, UINT32 uiShade)
|
||||
|
||||
if(pObj->pShades[uiShade]==NULL)
|
||||
{
|
||||
DbgMessage(TOPIC_VIDEOOBJECT, DBG_LEVEL_2, String("Attempt to set shade level to NULL table"));
|
||||
DbgMessage(TOPIC_VIDEOOBJECT, DBG_LEVEL_2, String("Attempt to set shade level to NULL table"));
|
||||
return(FALSE);
|
||||
}
|
||||
|
||||
@@ -928,7 +928,7 @@ UINT16 SetObjectHandleShade(UINT32 uiHandle, UINT32 uiShade)
|
||||
#endif
|
||||
if(!GetVideoObject(&hObj, uiHandle))
|
||||
{
|
||||
DbgMessage(TOPIC_VIDEOOBJECT, DBG_LEVEL_2, String("Invalid object handle for setting shade level"));
|
||||
DbgMessage(TOPIC_VIDEOOBJECT, DBG_LEVEL_2, String("Invalid object handle for setting shade level"));
|
||||
return(FALSE);
|
||||
}
|
||||
return(SetObjectShade(hObj, uiShade));
|
||||
@@ -1259,7 +1259,7 @@ BOOLEAN ConvertVObjectRegionTo16BPP( HVOBJECT hVObject, UINT16 usRegionIndex, UI
|
||||
pInput++;
|
||||
//uiDataLoop++;
|
||||
if(uiLen!=p16BPPObject->usWidth)
|
||||
DbgMessage(TOPIC_VIDEOOBJECT, DBG_LEVEL_1, String( "Actual pixel width different from header width" ));
|
||||
DbgMessage(TOPIC_VIDEOOBJECT, DBG_LEVEL_1, String( "Actual pixel width different from header width" ));
|
||||
uiLen=0;
|
||||
}
|
||||
|
||||
@@ -1296,7 +1296,7 @@ BOOLEAN ConvertVObjectRegionTo16BPP( HVOBJECT hVObject, UINT16 usRegionIndex, UI
|
||||
|
||||
BOOLEAN BltVideoObjectOutlineFromIndex(UINT32 uiDestVSurface, UINT32 uiSrcVObject, UINT16 usIndex, INT32 iDestX, INT32 iDestY, INT16 s16BPPColor, BOOLEAN fDoOutline )
|
||||
{
|
||||
UINT16 *pBuffer;
|
||||
UINT16 *pBuffer;
|
||||
UINT32 uiPitch;
|
||||
HVOBJECT hSrcVObject;
|
||||
|
||||
@@ -1316,11 +1316,11 @@ BOOLEAN BltVideoObjectOutlineFromIndex(UINT32 uiDestVSurface, UINT32 uiSrcVObjec
|
||||
|
||||
if( BltIsClipped( hSrcVObject, iDestX, iDestY, usIndex, &ClippingRect) )
|
||||
{
|
||||
Blt8BPPDataTo16BPPBufferOutlineClip((UINT16*)pBuffer, uiPitch, hSrcVObject, iDestX, iDestY, usIndex, s16BPPColor, fDoOutline, &ClippingRect );
|
||||
Blt8BPPDataTo16BPPBufferOutlineClip((UINT16*)pBuffer, uiPitch, hSrcVObject, iDestX, iDestY, usIndex, s16BPPColor, fDoOutline, &ClippingRect );
|
||||
}
|
||||
else
|
||||
{
|
||||
Blt8BPPDataTo16BPPBufferOutline((UINT16*)pBuffer, uiPitch, hSrcVObject, iDestX, iDestY, usIndex, s16BPPColor, fDoOutline );
|
||||
Blt8BPPDataTo16BPPBufferOutline((UINT16*)pBuffer, uiPitch, hSrcVObject, iDestX, iDestY, usIndex, s16BPPColor, fDoOutline );
|
||||
}
|
||||
|
||||
// Now we have the video object and surface, call the VO blitter function
|
||||
@@ -1331,7 +1331,7 @@ BOOLEAN BltVideoObjectOutlineFromIndex(UINT32 uiDestVSurface, UINT32 uiSrcVObjec
|
||||
|
||||
BOOLEAN BltVideoObjectOutline(UINT32 uiDestVSurface, HVOBJECT hSrcVObject, UINT16 usIndex, INT32 iDestX, INT32 iDestY, INT16 s16BPPColor, BOOLEAN fDoOutline )
|
||||
{
|
||||
UINT16 *pBuffer;
|
||||
UINT16 *pBuffer;
|
||||
UINT32 uiPitch;
|
||||
// Lock video surface
|
||||
pBuffer = (UINT16*)LockVideoSurface( uiDestVSurface, &uiPitch );
|
||||
@@ -1343,11 +1343,11 @@ BOOLEAN BltVideoObjectOutline(UINT32 uiDestVSurface, HVOBJECT hSrcVObject, UINT1
|
||||
|
||||
if( BltIsClipped( hSrcVObject, iDestX, iDestY, usIndex, &ClippingRect) )
|
||||
{
|
||||
Blt8BPPDataTo16BPPBufferOutlineClip((UINT16*)pBuffer, uiPitch, hSrcVObject, iDestX, iDestY, usIndex, s16BPPColor, fDoOutline, &ClippingRect );
|
||||
Blt8BPPDataTo16BPPBufferOutlineClip((UINT16*)pBuffer, uiPitch, hSrcVObject, iDestX, iDestY, usIndex, s16BPPColor, fDoOutline, &ClippingRect );
|
||||
}
|
||||
else
|
||||
{
|
||||
Blt8BPPDataTo16BPPBufferOutline((UINT16*)pBuffer, uiPitch, hSrcVObject, iDestX, iDestY, usIndex, s16BPPColor, fDoOutline );
|
||||
Blt8BPPDataTo16BPPBufferOutline((UINT16*)pBuffer, uiPitch, hSrcVObject, iDestX, iDestY, usIndex, s16BPPColor, fDoOutline );
|
||||
}
|
||||
|
||||
// Now we have the video object and surface, call the VO blitter function
|
||||
@@ -1360,7 +1360,7 @@ BOOLEAN BltVideoObjectOutline(UINT32 uiDestVSurface, HVOBJECT hSrcVObject, UINT1
|
||||
|
||||
BOOLEAN BltVideoObjectOutlineShadowFromIndex(UINT32 uiDestVSurface, UINT32 uiSrcVObject, UINT16 usIndex, INT32 iDestX, INT32 iDestY )
|
||||
{
|
||||
UINT16 *pBuffer;
|
||||
UINT16 *pBuffer;
|
||||
UINT32 uiPitch;
|
||||
HVOBJECT hSrcVObject;
|
||||
|
||||
@@ -1380,11 +1380,11 @@ BOOLEAN BltVideoObjectOutlineShadowFromIndex(UINT32 uiDestVSurface, UINT32 uiSrc
|
||||
|
||||
if( BltIsClipped( hSrcVObject, iDestX, iDestY, usIndex, &ClippingRect) )
|
||||
{
|
||||
Blt8BPPDataTo16BPPBufferOutlineShadowClip((UINT16*)pBuffer, uiPitch, hSrcVObject, iDestX, iDestY, usIndex, &ClippingRect );
|
||||
Blt8BPPDataTo16BPPBufferOutlineShadowClip((UINT16*)pBuffer, uiPitch, hSrcVObject, iDestX, iDestY, usIndex, &ClippingRect );
|
||||
}
|
||||
else
|
||||
{
|
||||
Blt8BPPDataTo16BPPBufferOutlineShadow((UINT16*)pBuffer, uiPitch, hSrcVObject, iDestX, iDestY, usIndex );
|
||||
Blt8BPPDataTo16BPPBufferOutlineShadow((UINT16*)pBuffer, uiPitch, hSrcVObject, iDestX, iDestY, usIndex );
|
||||
}
|
||||
|
||||
// Now we have the video object and surface, call the VO blitter function
|
||||
@@ -1395,7 +1395,7 @@ BOOLEAN BltVideoObjectOutlineShadowFromIndex(UINT32 uiDestVSurface, UINT32 uiSrc
|
||||
|
||||
BOOLEAN BltVideoObjectOutlineShadow(UINT32 uiDestVSurface, HVOBJECT hSrcVObject, UINT16 usIndex, INT32 iDestX, INT32 iDestY )
|
||||
{
|
||||
UINT16 *pBuffer;
|
||||
UINT16 *pBuffer;
|
||||
UINT32 uiPitch;
|
||||
// Lock video surface
|
||||
pBuffer = (UINT16*)LockVideoSurface( uiDestVSurface, &uiPitch );
|
||||
@@ -1407,11 +1407,11 @@ BOOLEAN BltVideoObjectOutlineShadow(UINT32 uiDestVSurface, HVOBJECT hSrcVObject,
|
||||
|
||||
if( BltIsClipped( hSrcVObject, iDestX, iDestY, usIndex, &ClippingRect) )
|
||||
{
|
||||
Blt8BPPDataTo16BPPBufferOutlineShadowClip((UINT16*)pBuffer, uiPitch, hSrcVObject, iDestX, iDestY, usIndex, &ClippingRect );
|
||||
Blt8BPPDataTo16BPPBufferOutlineShadowClip((UINT16*)pBuffer, uiPitch, hSrcVObject, iDestX, iDestY, usIndex, &ClippingRect );
|
||||
}
|
||||
else
|
||||
{
|
||||
Blt8BPPDataTo16BPPBufferOutlineShadow((UINT16*)pBuffer, uiPitch, hSrcVObject, iDestX, iDestY, usIndex );
|
||||
Blt8BPPDataTo16BPPBufferOutlineShadow((UINT16*)pBuffer, uiPitch, hSrcVObject, iDestX, iDestY, usIndex );
|
||||
}
|
||||
|
||||
// Now we have the video object and surface, call the VO blitter function
|
||||
@@ -1599,3 +1599,4 @@ void PerformVideoInfoDumpIntoFile( const STR8 filename, BOOLEAN fAppend )
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user