fix Messages.cpp
This commit is contained in:
parent
ff02fc1a19
commit
649aea7bf7
@ -1,58 +1,58 @@
|
|||||||
#define DIRECTINPUT_VERSION 0x0800
|
#define DIRECTINPUT_VERSION 0x0800
|
||||||
#include "dinput.h"
|
#include "dinput.h"
|
||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "patcher.h"
|
#include "patcher.h"
|
||||||
#include "Messages.h"
|
#include "Messages.h"
|
||||||
#include "RwHelper.h"
|
#include "RwHelper.h"
|
||||||
#include "Hud.h"
|
#include "Hud.h"
|
||||||
#include "User.h"
|
#include "User.h"
|
||||||
#include "Timer.h"
|
#include "Timer.h"
|
||||||
#include "Text.h"
|
#include "Text.h"
|
||||||
|
|
||||||
#include "ControllerConfig.h"
|
#include "ControllerConfig.h"
|
||||||
|
|
||||||
tMessage(&CMessages::BriefMessages)[NUMBRIEFMESSAGES] = *(tMessage(*)[NUMBRIEFMESSAGES])*(uintptr*)0x8786E0;
|
tMessage(&CMessages::BriefMessages)[NUMBRIEFMESSAGES] = *(tMessage(*)[NUMBRIEFMESSAGES])*(uintptr*)0x8786E0;
|
||||||
tPreviousBrief(&CMessages::PreviousBriefs)[NUMPREVIOUSBRIEFS] = *(tPreviousBrief(*)[NUMPREVIOUSBRIEFS])*(uintptr*)0x713C08;
|
tPreviousBrief(&CMessages::PreviousBriefs)[NUMPREVIOUSBRIEFS] = *(tPreviousBrief(*)[NUMPREVIOUSBRIEFS])*(uintptr*)0x713C08;
|
||||||
tBigMessage(&CMessages::BIGMessages)[NUMBIGMESSAGES] = *(tBigMessage(*)[NUMBIGMESSAGES])*(uintptr*)0x773628;
|
tBigMessage(&CMessages::BIGMessages)[NUMBIGMESSAGES] = *(tBigMessage(*)[NUMBIGMESSAGES])*(uintptr*)0x773628;
|
||||||
char CMessages::PreviousMissionTitle[16]; // unused
|
char CMessages::PreviousMissionTitle[16]; // unused
|
||||||
|
|
||||||
void
|
void
|
||||||
CMessages::Init()
|
CMessages::Init()
|
||||||
{
|
{
|
||||||
ClearMessages();
|
ClearMessages();
|
||||||
|
|
||||||
for (int32 i = 0; i < NUMPREVIOUSBRIEFS; i++) {
|
for (int32 i = 0; i < NUMPREVIOUSBRIEFS; i++) {
|
||||||
PreviousBriefs[i].m_pText = nil;
|
PreviousBriefs[i].m_pText = nil;
|
||||||
PreviousBriefs[i].m_pString = nil;
|
PreviousBriefs[i].m_pString = nil;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
uint16
|
uint16
|
||||||
CMessages::GetWideStringLength(wchar *src)
|
CMessages::GetWideStringLength(wchar *src)
|
||||||
{
|
{
|
||||||
uint16 length = 0;
|
uint16 length = 0;
|
||||||
while (*(src++)) length++;
|
while (*(src++)) length++;
|
||||||
return length;
|
return length;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CMessages::WideStringCopy(wchar *dst, wchar *src, uint16 size)
|
CMessages::WideStringCopy(wchar *dst, wchar *src, uint16 size)
|
||||||
{
|
{
|
||||||
int32 i = 0;
|
int32 i = 0;
|
||||||
if (src) {
|
if (src) {
|
||||||
while (i < size - 1) {
|
while (i < size - 1) {
|
||||||
if (!src[i]) break;
|
if (!src[i]) break;
|
||||||
dst[i] = src[i];
|
dst[i] = src[i];
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
while (i < size - 1)
|
while (i < size - 1)
|
||||||
dst[i++] = '\0';
|
dst[i++] = '\0';
|
||||||
}
|
}
|
||||||
dst[i] = '\0';
|
dst[i] = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
CMessages::WideStringCompare(wchar *str1, wchar *str2, uint16 size)
|
CMessages::WideStringCompare(wchar *str1, wchar *str2, uint16 size)
|
||||||
{
|
{
|
||||||
@ -251,11 +251,11 @@ CMessages::AddMessageSoon(wchar *msg, uint32 time, uint16 flag)
|
|||||||
void
|
void
|
||||||
CMessages::ClearMessages()
|
CMessages::ClearMessages()
|
||||||
{
|
{
|
||||||
for (int32 i = 0; i < NUMBIGMESSAGES; i++) {
|
for (int32 i = 0; i < NUMBIGMESSAGES; i++) {
|
||||||
for (int32 j = 0; j < 4; j++) {
|
for (int32 j = 0; j < 4; j++) {
|
||||||
BIGMessages[i].m_Stack[j].m_pText = nil;
|
BIGMessages[i].m_Stack[j].m_pText = nil;
|
||||||
BIGMessages[i].m_Stack[j].m_pString = nil;
|
BIGMessages[i].m_Stack[j].m_pString = nil;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ClearSmallMessagesOnly();
|
ClearSmallMessagesOnly();
|
||||||
}
|
}
|
||||||
@ -442,7 +442,7 @@ CMessages::InsertPlayerControlKeysInString(wchar *str)
|
|||||||
for (i = 0; i < strSize;) {
|
for (i = 0; i < strSize;) {
|
||||||
if (str[i] == '~' && str[i + 1] == 'k' && str[i + 2] == '~') {
|
if (str[i] == '~' && str[i + 1] == 'k' && str[i + 2] == '~') {
|
||||||
i += 4;
|
i += 4;
|
||||||
for (int32 cont = 0; cont < TOTAL_CONTROL_ACTIONS; cont++) {
|
for (int32 cont = 0; cont < MAX_CONTROLLERACTIONS; cont++) {
|
||||||
uint16 contSize = GetWideStringLength(ControlsManager.m_aActionNames[cont]);
|
uint16 contSize = GetWideStringLength(ControlsManager.m_aActionNames[cont]);
|
||||||
if (contSize != 0) {
|
if (contSize != 0) {
|
||||||
if (WideStringCompare(&str[i], ControlsManager.m_aActionNames[cont], contSize)) {
|
if (WideStringCompare(&str[i], ControlsManager.m_aActionNames[cont], contSize)) {
|
||||||
@ -832,4 +832,4 @@ STARTPATCHES
|
|||||||
InjectHook(0x52B140, CMessages::ClearThisPrint, PATCH_JUMP);
|
InjectHook(0x52B140, CMessages::ClearThisPrint, PATCH_JUMP);
|
||||||
InjectHook(0x52B3C0, CMessages::ClearThisBigPrint, PATCH_JUMP);
|
InjectHook(0x52B3C0, CMessages::ClearThisBigPrint, PATCH_JUMP);
|
||||||
InjectHook(0x52B670, CMessages::ClearAllMessagesDisplayedByGame, PATCH_JUMP);
|
InjectHook(0x52B670, CMessages::ClearAllMessagesDisplayedByGame, PATCH_JUMP);
|
||||||
ENDPATCHES
|
ENDPATCHES
|
||||||
|
Loading…
Reference in New Issue
Block a user