2019-05-30 21:24:47 +02:00
|
|
|
#pragma once
|
|
|
|
|
2019-06-15 01:34:19 +02:00
|
|
|
struct tMessage
|
2019-05-30 21:24:47 +02:00
|
|
|
{
|
2019-06-15 01:34:19 +02:00
|
|
|
wchar *m_pText;
|
|
|
|
uint16 m_nFlag;
|
|
|
|
uint32 m_nTime;
|
|
|
|
uint32 m_nStartTime;
|
|
|
|
int32 m_nNumber[6];
|
|
|
|
wchar *m_pString;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct tBigMessage
|
|
|
|
{
|
2019-10-21 00:08:26 +02:00
|
|
|
tMessage m_Stack[4];
|
2019-06-15 01:34:19 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
struct tPreviousBrief
|
|
|
|
{
|
|
|
|
wchar *m_pText;
|
|
|
|
int32 m_nNumber[6];
|
|
|
|
wchar *m_pString;
|
|
|
|
};
|
|
|
|
|
2019-10-21 00:08:26 +02:00
|
|
|
#define NUMBRIEFMESSAGES 8
|
|
|
|
#define NUMBIGMESSAGES 6
|
|
|
|
#define NUMPREVIOUSBRIEFS 5
|
|
|
|
|
2019-06-15 01:34:19 +02:00
|
|
|
class CMessages
|
|
|
|
{
|
|
|
|
public:
|
2019-10-21 00:08:26 +02:00
|
|
|
static tMessage(&BriefMessages)[NUMBRIEFMESSAGES];
|
|
|
|
static tBigMessage(&BIGMessages)[NUMBIGMESSAGES];
|
|
|
|
static tPreviousBrief(&PreviousBriefs)[NUMPREVIOUSBRIEFS];
|
2019-10-21 00:27:30 +02:00
|
|
|
static char PreviousMissionTitle[16]; // unused
|
2019-05-30 21:24:47 +02:00
|
|
|
public:
|
2019-10-21 00:08:26 +02:00
|
|
|
static void Init(void);
|
|
|
|
static uint16 GetWideStringLength(wchar *src);
|
|
|
|
static void WideStringCopy(wchar *dst, wchar *src, uint16 size);
|
|
|
|
static bool WideStringCompare(wchar *str1, wchar *str2, uint16 size);
|
|
|
|
static void Process(void);
|
2019-05-30 21:24:47 +02:00
|
|
|
static void Display(void);
|
2019-10-21 00:08:26 +02:00
|
|
|
static void AddMessage(wchar *key, uint32 time, uint16 pos);
|
|
|
|
static void AddMessageJumpQ(wchar *key, uint32 time, uint16 pos);
|
|
|
|
static void AddMessageSoon(wchar *key, uint32 time, uint16 pos);
|
|
|
|
static void ClearMessages(void);
|
|
|
|
static void ClearSmallMessagesOnly(void);
|
|
|
|
static void AddBigMessage(wchar *key, uint32 time, uint16 pos);
|
|
|
|
static void AddBigMessageQ(wchar *key, uint32 time, uint16 pos);
|
|
|
|
static void AddToPreviousBriefArray(wchar *text, int32 n1, int32 n2, int32 n3, int32 n4, int32 n5, int32 n6, wchar *string);
|
|
|
|
static void InsertNumberInString(wchar *src, int32 n1, int32 n2, int32 n3, int32 n4, int32 n5, int32 n6, wchar *dst);
|
|
|
|
static void InsertStringInString(wchar *str1, wchar *str2);
|
|
|
|
static void InsertPlayerControlKeysInString(wchar *src);
|
|
|
|
static void AddMessageWithNumber(wchar *key, uint32 time, uint16 pos, int32 n1, int32 n2, int32 n3, int32 n4, int32 n5, int32 n6);
|
|
|
|
static void AddMessageJumpQWithNumber(wchar *key, uint32 time, uint16 pos, int32 n1, int32 n2, int32 n3, int32 n4, int32 n5, int32 n6);
|
|
|
|
static void AddMessageSoonWithNumber(wchar *key, uint32 time, uint16 pos, int32 n1, int32 n2, int32 n3, int32 n4, int32 n5, int32 n6);
|
|
|
|
static void AddBigMessageWithNumber(wchar *key, uint32 time, uint16 pos, int32 n1, int32 n2, int32 n3, int32 n4, int32 n5, int32 n6);
|
|
|
|
static void AddBigMessageWithNumberQ(wchar *key, uint32 time, uint16 pos, int32 n1, int32 n2, int32 n3, int32 n4, int32 n5, int32 n6);
|
|
|
|
static void AddMessageWithString(wchar *text, uint32 time, uint16 flag, wchar *str);
|
|
|
|
static void AddMessageJumpQWithString(wchar *text, uint32 time, uint16 flag, wchar *str);
|
|
|
|
static void ClearThisPrint(wchar *str);
|
|
|
|
static void ClearThisBigPrint(wchar *str);
|
2019-05-30 23:00:00 +02:00
|
|
|
static void ClearAllMessagesDisplayedByGame(void);
|
2019-10-21 00:27:30 +02:00
|
|
|
|
|
|
|
// unused or cut
|
|
|
|
//static void AddMessageSoonWithString(wchar*, uint32, uint16, wchar*);
|
|
|
|
//static void CutString(int16, char*, char**);
|
|
|
|
//static void PrintString(char*, int16, int16, int16);
|
2019-05-30 21:24:47 +02:00
|
|
|
};
|