Re3/src/text/Messages.h

70 lines
2.8 KiB
C
Raw Normal View History

#pragma once
2019-06-14 19:34:19 -04:00
struct tMessage
{
2019-06-14 19:34:19 -04:00
wchar *m_pText;
uint16 m_nFlag;
uint32 m_nTime;
uint32 m_nStartTime;
int32 m_nNumber[6];
wchar *m_pString;
};
struct tBigMessage
{
2019-10-20 18:08:26 -04:00
tMessage m_Stack[4];
2019-06-14 19:34:19 -04:00
};
struct tPreviousBrief
{
wchar *m_pText;
int32 m_nNumber[6];
wchar *m_pString;
};
2019-10-20 18:08:26 -04:00
#define NUMBRIEFMESSAGES 8
#define NUMBIGMESSAGES 6
#define NUMPREVIOUSBRIEFS 5
2019-06-14 19:34:19 -04:00
class CMessages
{
public:
2020-04-16 04:50:45 -04:00
static tMessage BriefMessages[NUMBRIEFMESSAGES];
static tBigMessage BIGMessages[NUMBIGMESSAGES];
static tPreviousBrief PreviousBriefs[NUMPREVIOUSBRIEFS];
2019-10-20 18:27:30 -04:00
static char PreviousMissionTitle[16]; // unused
public:
2019-10-20 18:08:26 -04: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);
static void Display(void);
2019-10-20 18:08:26 -04: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 17:00:00 -04:00
static void ClearAllMessagesDisplayedByGame(void);
2019-10-20 18:27:30 -04:00
// unused or cut
//static void AddMessageSoonWithString(wchar*, uint32, uint16, wchar*);
//static void CutString(int16, char*, char**);
//static void PrintString(char*, int16, int16, int16);
};