mirror of
https://github.com/1dot13/source.git
synced 2026-09-02 14:36:06 +02:00
Address review feedback
* Dialogue control.cpp * vsurface.cpp * Event pump.cpp
This commit is contained in:
@@ -1795,13 +1795,13 @@ BOOLEAN GetVSurfaceRegion( HVSURFACE hVSurface, UINT16 usIndex, VSURFACE_REGION
|
|||||||
{
|
{
|
||||||
Assert( hVSurface != NULL );
|
Assert( hVSurface != NULL );
|
||||||
|
|
||||||
if (usIndex < hVSurface->RegionList.size())
|
if (usIndex >= hVSurface->RegionList.size())
|
||||||
{
|
{
|
||||||
*aRegion = hVSurface->RegionList[usIndex];
|
return( FALSE );
|
||||||
return( TRUE );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return( FALSE );
|
*aRegion = hVSurface->RegionList[usIndex];
|
||||||
|
return( TRUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOLEAN GetVSurfaceRect( HVSURFACE hVSurface, RECT *pRect)
|
BOOLEAN GetVSurfaceRect( HVSURFACE hVSurface, RECT *pRect)
|
||||||
@@ -1823,13 +1823,13 @@ BOOLEAN ReplaceVSurfaceRegion( HVSURFACE hVSurface , UINT16 usIndex, VSURFACE_RE
|
|||||||
|
|
||||||
Assert( hVSurface != NULL );
|
Assert( hVSurface != NULL );
|
||||||
|
|
||||||
if (usIndex < hVSurface->RegionList.size())
|
if (usIndex >= hVSurface->RegionList.size())
|
||||||
{
|
{
|
||||||
hVSurface->RegionList[usIndex] = *aRegion;
|
return( FALSE );
|
||||||
return( TRUE );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return( FALSE );
|
hVSurface->RegionList[usIndex] = *aRegion;
|
||||||
|
return( TRUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOLEAN AddVSurfaceRegionAtIndex( HVSURFACE hVSurface, UINT16 usIndex, VSURFACE_REGION *pNewRegion )
|
BOOLEAN AddVSurfaceRegionAtIndex( HVSURFACE hVSurface, UINT16 usIndex, VSURFACE_REGION *pNewRegion )
|
||||||
@@ -1837,15 +1837,14 @@ BOOLEAN AddVSurfaceRegionAtIndex( HVSURFACE hVSurface, UINT16 usIndex, VSURFACE_
|
|||||||
Assert( hVSurface != NULL );
|
Assert( hVSurface != NULL );
|
||||||
Assert( pNewRegion != NULL );
|
Assert( pNewRegion != NULL );
|
||||||
|
|
||||||
// Add new region to list
|
if (usIndex >= hVSurface->RegionList.size())
|
||||||
if (usIndex < hVSurface->RegionList.size())
|
|
||||||
{
|
{
|
||||||
auto pos = hVSurface->RegionList.begin() + usIndex;
|
return(FALSE);
|
||||||
hVSurface->RegionList.insert(pos, *pNewRegion);
|
|
||||||
return(TRUE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return(FALSE);
|
auto pos = hVSurface->RegionList.begin() + usIndex;
|
||||||
|
hVSurface->RegionList.insert(pos, *pNewRegion);
|
||||||
|
return(TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
// *******************************************************************
|
// *******************************************************************
|
||||||
|
|||||||
@@ -361,7 +361,7 @@ void EmptyDialogueQueue( )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline BOOLEAN DialogueQueueIsEmpty( )
|
BOOLEAN DialogueQueueIsEmpty( )
|
||||||
{
|
{
|
||||||
return( ghDialogueQ.empty() );
|
return( ghDialogueQ.empty() );
|
||||||
}
|
}
|
||||||
@@ -1798,8 +1798,7 @@ void AdditionalTacticalCharacterDialogue_AllInSectorRadiusCall( UINT8 ausIgnoreP
|
|||||||
|
|
||||||
BOOLEAN CharacterDialogueWithSpecialEvent( UINT8 ubCharacterNum, UINT16 usQuoteNum, INT32 iFaceIndex, UINT8 bUIHandlerID, BOOLEAN fFromSoldier, BOOLEAN fDelayed, UINT32 uiFlag, UINT32 uiData1, UINT32 uiData2 )
|
BOOLEAN CharacterDialogueWithSpecialEvent( UINT8 ubCharacterNum, UINT16 usQuoteNum, INT32 iFaceIndex, UINT8 bUIHandlerID, BOOLEAN fFromSoldier, BOOLEAN fDelayed, UINT32 uiFlag, UINT32 uiData1, UINT32 uiData2 )
|
||||||
{
|
{
|
||||||
DIALOGUE_Q_STRUCT QItem;
|
DIALOGUE_Q_STRUCT QItem{};
|
||||||
memset(&QItem, 0, sizeof(DIALOGUE_Q_STRUCT));
|
|
||||||
QItem.ubCharacterNum = ubCharacterNum;
|
QItem.ubCharacterNum = ubCharacterNum;
|
||||||
QItem.usQuoteNum = usQuoteNum;
|
QItem.usQuoteNum = usQuoteNum;
|
||||||
QItem.iFaceIndex = iFaceIndex;
|
QItem.iFaceIndex = iFaceIndex;
|
||||||
@@ -1833,8 +1832,7 @@ BOOLEAN CharacterDialogueWithSpecialEvent( UINT8 ubCharacterNum, UINT16 usQuoteN
|
|||||||
|
|
||||||
BOOLEAN CharacterDialogueWithSpecialEventEx( UINT8 ubCharacterNum, UINT16 usQuoteNum, INT32 iFaceIndex, UINT8 bUIHandlerID, BOOLEAN fFromSoldier, BOOLEAN fDelayed, UINT32 uiFlag, UINT32 uiData1, UINT32 uiData2, UINT32 uiData3 )
|
BOOLEAN CharacterDialogueWithSpecialEventEx( UINT8 ubCharacterNum, UINT16 usQuoteNum, INT32 iFaceIndex, UINT8 bUIHandlerID, BOOLEAN fFromSoldier, BOOLEAN fDelayed, UINT32 uiFlag, UINT32 uiData1, UINT32 uiData2, UINT32 uiData3 )
|
||||||
{
|
{
|
||||||
DIALOGUE_Q_STRUCT QItem;
|
DIALOGUE_Q_STRUCT QItem{};
|
||||||
memset(&QItem, 0, sizeof(DIALOGUE_Q_STRUCT));
|
|
||||||
QItem.ubCharacterNum = ubCharacterNum;
|
QItem.ubCharacterNum = ubCharacterNum;
|
||||||
QItem.usQuoteNum = usQuoteNum;
|
QItem.usQuoteNum = usQuoteNum;
|
||||||
QItem.iFaceIndex = iFaceIndex;
|
QItem.iFaceIndex = iFaceIndex;
|
||||||
@@ -1863,8 +1861,7 @@ BOOLEAN CharacterDialogueWithSpecialEventEx( UINT8 ubCharacterNum, UINT16 usQuot
|
|||||||
|
|
||||||
BOOLEAN CharacterDialogue( UINT8 ubCharacterNum, UINT16 usQuoteNum, INT32 iFaceIndex, UINT8 bUIHandlerID, BOOLEAN fFromSoldier, BOOLEAN fDelayed )
|
BOOLEAN CharacterDialogue( UINT8 ubCharacterNum, UINT16 usQuoteNum, INT32 iFaceIndex, UINT8 bUIHandlerID, BOOLEAN fFromSoldier, BOOLEAN fDelayed )
|
||||||
{
|
{
|
||||||
DIALOGUE_Q_STRUCT QItem;
|
DIALOGUE_Q_STRUCT QItem{};
|
||||||
memset(&QItem, 0, sizeof(DIALOGUE_Q_STRUCT));
|
|
||||||
QItem.ubCharacterNum = ubCharacterNum;
|
QItem.ubCharacterNum = ubCharacterNum;
|
||||||
QItem.usQuoteNum = usQuoteNum;
|
QItem.usQuoteNum = usQuoteNum;
|
||||||
QItem.iFaceIndex = iFaceIndex;
|
QItem.iFaceIndex = iFaceIndex;
|
||||||
@@ -1914,8 +1911,7 @@ BOOLEAN SnitchCharacterDialogue( UINT8 ubCharacterNum, UINT16 usQuoteNum, INT32
|
|||||||
UINT32 uiSpecialEventData3, UINT32 uiSpecialEventData4,
|
UINT32 uiSpecialEventData3, UINT32 uiSpecialEventData4,
|
||||||
UINT8 bUIHandlerID, BOOLEAN fFromSoldier, BOOLEAN fDelayed )
|
UINT8 bUIHandlerID, BOOLEAN fFromSoldier, BOOLEAN fDelayed )
|
||||||
{
|
{
|
||||||
DIALOGUE_Q_STRUCT QItem;
|
DIALOGUE_Q_STRUCT QItem{};
|
||||||
memset(&QItem, 0, sizeof(DIALOGUE_Q_STRUCT));
|
|
||||||
QItem.ubCharacterNum = ubCharacterNum;
|
QItem.ubCharacterNum = ubCharacterNum;
|
||||||
QItem.usQuoteNum = usQuoteNum;
|
QItem.usQuoteNum = usQuoteNum;
|
||||||
QItem.uiSpecialEventFlag = uiSpecialEventFlag;
|
QItem.uiSpecialEventFlag = uiSpecialEventFlag;
|
||||||
@@ -1946,8 +1942,7 @@ BOOLEAN SnitchCharacterDialogue( UINT8 ubCharacterNum, UINT16 usQuoteNum, INT32
|
|||||||
|
|
||||||
BOOLEAN SpecialCharacterDialogueEvent( UINT32 uiSpecialEventFlag, UINT32 uiSpecialEventData1, UINT32 uiSpecialEventData2, UINT32 uiSpecialEventData3, INT32 iFaceIndex, UINT8 bUIHandlerID )
|
BOOLEAN SpecialCharacterDialogueEvent( UINT32 uiSpecialEventFlag, UINT32 uiSpecialEventData1, UINT32 uiSpecialEventData2, UINT32 uiSpecialEventData3, INT32 iFaceIndex, UINT8 bUIHandlerID )
|
||||||
{
|
{
|
||||||
DIALOGUE_Q_STRUCT QItem;
|
DIALOGUE_Q_STRUCT QItem{};
|
||||||
memset(&QItem, 0, sizeof(DIALOGUE_Q_STRUCT));
|
|
||||||
QItem.uiSpecialEventFlag = uiSpecialEventFlag;
|
QItem.uiSpecialEventFlag = uiSpecialEventFlag;
|
||||||
QItem.uiSpecialEventData = uiSpecialEventData1;
|
QItem.uiSpecialEventData = uiSpecialEventData1;
|
||||||
QItem.uiSpecialEventData2 = uiSpecialEventData2;
|
QItem.uiSpecialEventData2 = uiSpecialEventData2;
|
||||||
@@ -1972,8 +1967,7 @@ BOOLEAN SpecialCharacterDialogueEvent( UINT32 uiSpecialEventFlag, UINT32 uiSpeci
|
|||||||
|
|
||||||
BOOLEAN SpecialCharacterDialogueEventWithExtraParam( UINT32 uiSpecialEventFlag, UINT32 uiSpecialEventData1, UINT32 uiSpecialEventData2, UINT32 uiSpecialEventData3, UINT32 uiSpecialEventData4, INT32 iFaceIndex, UINT8 bUIHandlerID )
|
BOOLEAN SpecialCharacterDialogueEventWithExtraParam( UINT32 uiSpecialEventFlag, UINT32 uiSpecialEventData1, UINT32 uiSpecialEventData2, UINT32 uiSpecialEventData3, UINT32 uiSpecialEventData4, INT32 iFaceIndex, UINT8 bUIHandlerID )
|
||||||
{
|
{
|
||||||
DIALOGUE_Q_STRUCT QItem;
|
DIALOGUE_Q_STRUCT QItem{};
|
||||||
memset(&QItem, 0, sizeof(DIALOGUE_Q_STRUCT));
|
|
||||||
QItem.uiSpecialEventFlag = uiSpecialEventFlag;
|
QItem.uiSpecialEventFlag = uiSpecialEventFlag;
|
||||||
QItem.uiSpecialEventData = uiSpecialEventData1;
|
QItem.uiSpecialEventData = uiSpecialEventData1;
|
||||||
QItem.uiSpecialEventData2 = uiSpecialEventData2;
|
QItem.uiSpecialEventData2 = uiSpecialEventData2;
|
||||||
|
|||||||
+37
-48
@@ -11,8 +11,8 @@
|
|||||||
#include "Animation Control.h"
|
#include "Animation Control.h"
|
||||||
#include "opplist.h"
|
#include "opplist.h"
|
||||||
#include "Tactical Save.h"
|
#include "Tactical Save.h"
|
||||||
#include<vector>
|
#include <vector>
|
||||||
#include<queue>
|
#include <queue>
|
||||||
|
|
||||||
#ifdef NETWORKED
|
#ifdef NETWORKED
|
||||||
#include "Networking.h"
|
#include "Networking.h"
|
||||||
@@ -595,7 +595,7 @@ UINT8 gubEncryptionArray4[ BASE_NUMBER_OF_ROTATION_ARRAYS * 3 ][ NEW_ROTATION_AR
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct
|
struct EVENT
|
||||||
{
|
{
|
||||||
TIMER TimeStamp;
|
TIMER TimeStamp;
|
||||||
UINT32 uiFlags;
|
UINT32 uiFlags;
|
||||||
@@ -604,7 +604,25 @@ typedef struct
|
|||||||
UINT32 uiDataSize;
|
UINT32 uiDataSize;
|
||||||
BYTE* pData;
|
BYTE* pData;
|
||||||
|
|
||||||
} EVENT;
|
EVENT(UINT16 delay, UINT32 event, UINT32 dataSize, BYTE* eventData) :
|
||||||
|
TimeStamp(GetJA2Clock()),
|
||||||
|
uiFlags(0),
|
||||||
|
usDelay(delay),
|
||||||
|
uiEvent(event),
|
||||||
|
uiDataSize(dataSize),
|
||||||
|
pData{ eventData }
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
EVENT() :
|
||||||
|
TimeStamp(GetJA2Clock()),
|
||||||
|
uiFlags(0),
|
||||||
|
usDelay(0),
|
||||||
|
uiEvent(0),
|
||||||
|
uiDataSize(0),
|
||||||
|
pData{ nullptr }
|
||||||
|
{}
|
||||||
|
};
|
||||||
|
|
||||||
#define PRIMARY_EVENT_QUEUE 0
|
#define PRIMARY_EVENT_QUEUE 0
|
||||||
#define SECONDARY_EVENT_QUEUE 1
|
#define SECONDARY_EVENT_QUEUE 1
|
||||||
@@ -653,43 +671,15 @@ BOOLEAN AddEvent(UINT32 uiEvent, UINT16 usDelay, PTR pEventData, UINT32 uiDataSi
|
|||||||
switch (ubQueueID)
|
switch (ubQueueID)
|
||||||
{
|
{
|
||||||
case PRIMARY_EVENT_QUEUE:
|
case PRIMARY_EVENT_QUEUE:
|
||||||
//hEventQueue.push(*pEvent);
|
hEventQueue.emplace(usDelay, uiEvent, uiDataSize, pData);
|
||||||
hEventQueue.emplace(
|
|
||||||
EVENT{
|
|
||||||
GetJA2Clock(),
|
|
||||||
0,
|
|
||||||
usDelay,
|
|
||||||
uiEvent,
|
|
||||||
uiDataSize,
|
|
||||||
pData
|
|
||||||
}
|
|
||||||
);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SECONDARY_EVENT_QUEUE:
|
case SECONDARY_EVENT_QUEUE:
|
||||||
hDelayEventQueue.emplace_back(
|
hDelayEventQueue.emplace_back(usDelay, uiEvent, uiDataSize, pData);
|
||||||
EVENT{
|
|
||||||
GetJA2Clock(),
|
|
||||||
0,
|
|
||||||
usDelay,
|
|
||||||
uiEvent,
|
|
||||||
uiDataSize,
|
|
||||||
pData
|
|
||||||
}
|
|
||||||
);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DEMAND_EVENT_QUEUE:
|
case DEMAND_EVENT_QUEUE:
|
||||||
hDemandEventQueue.emplace(
|
hDemandEventQueue.emplace(usDelay, uiEvent, uiDataSize, pData);
|
||||||
EVENT{
|
|
||||||
GetJA2Clock(),
|
|
||||||
0,
|
|
||||||
usDelay,
|
|
||||||
uiEvent,
|
|
||||||
uiDataSize,
|
|
||||||
pData
|
|
||||||
}
|
|
||||||
);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -703,18 +693,18 @@ BOOLEAN AddEvent(UINT32 uiEvent, UINT16 usDelay, PTR pEventData, UINT32 uiDataSi
|
|||||||
|
|
||||||
static BOOLEAN RemoveEventFromSecondaryEventQueue(EVENT* ppEvent, UINT32 uiIndex)
|
static BOOLEAN RemoveEventFromSecondaryEventQueue(EVENT* ppEvent, UINT32 uiIndex)
|
||||||
{
|
{
|
||||||
if (uiIndex < hDelayEventQueue.size())
|
if (uiIndex >= hDelayEventQueue.size())
|
||||||
{
|
{
|
||||||
*ppEvent = hDelayEventQueue[uiIndex];
|
return(FALSE);
|
||||||
hDelayEventQueue.erase(hDelayEventQueue.begin() + uiIndex);
|
|
||||||
return(TRUE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return(FALSE);
|
*ppEvent = hDelayEventQueue[uiIndex];
|
||||||
|
hDelayEventQueue.erase(hDelayEventQueue.begin() + uiIndex);
|
||||||
|
return(TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
BOOLEAN PopEvent(EVENT* ppEvent, UINT8 ubQueueID)
|
static BOOLEAN PopEvent(EVENT* ppEvent, UINT8 ubQueueID)
|
||||||
{
|
{
|
||||||
// Get an event from queue, if one exists
|
// Get an event from queue, if one exists
|
||||||
//
|
//
|
||||||
@@ -756,11 +746,10 @@ BOOLEAN PopEvent(EVENT* ppEvent, UINT8 ubQueueID)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
BOOLEAN FreeEvent(EVENT* pEvent)
|
static BOOLEAN FreeEventData(EVENT* pEvent)
|
||||||
{
|
{
|
||||||
CHECKF(pEvent != NULL);
|
CHECKF(pEvent != NULL);
|
||||||
|
|
||||||
// Delete event
|
|
||||||
MemFree(pEvent->pData);
|
MemFree(pEvent->pData);
|
||||||
//MemFree(pEvent);
|
//MemFree(pEvent);
|
||||||
|
|
||||||
@@ -792,7 +781,7 @@ UINT32 EventQueueSize(UINT8 ubQueueID)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
BOOLEAN AddGameEventToQueue( UINT32 uiEvent, UINT16 usDelay, PTR pEventData, UINT8 ubQueueID )
|
static BOOLEAN AddGameEventToQueue( UINT32 uiEvent, UINT16 usDelay, PTR pEventData, UINT8 ubQueueID )
|
||||||
{
|
{
|
||||||
UINT32 uiDataSize;
|
UINT32 uiDataSize;
|
||||||
|
|
||||||
@@ -990,7 +979,7 @@ BOOLEAN DequeAllGameEvents( BOOLEAN fExecute )
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Delete event
|
// Delete event
|
||||||
FreeEvent( &pEvent );
|
FreeEventData( &pEvent );
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -1021,7 +1010,7 @@ BOOLEAN DequeAllGameEvents( BOOLEAN fExecute )
|
|||||||
if (pEventRef.uiFlags & EVENT_EXPIRED)
|
if (pEventRef.uiFlags & EVENT_EXPIRED)
|
||||||
{
|
{
|
||||||
RemoveEventFromSecondaryEventQueue(&pEventRef, i);
|
RemoveEventFromSecondaryEventQueue(&pEventRef, i);
|
||||||
FreeEvent(&pEventRef);
|
FreeEventData(&pEventRef);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1057,7 +1046,7 @@ BOOLEAN DequeueAllDemandGameEvents( BOOLEAN fExecute )
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Delete event
|
// Delete event
|
||||||
FreeEvent( &pEvent );
|
FreeEventData( &pEvent );
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1397,7 +1386,7 @@ BOOLEAN ClearEventQueue( void )
|
|||||||
{
|
{
|
||||||
return( FALSE );
|
return( FALSE );
|
||||||
}
|
}
|
||||||
FreeEvent(&pEvent);
|
FreeEventData(&pEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
return( TRUE );
|
return( TRUE );
|
||||||
|
|||||||
Reference in New Issue
Block a user