summaryrefslogtreecommitdiffstats
path: root/src/text
diff options
context:
space:
mode:
authorSergeanur <s.anureev@yandex.ua>2020-04-26 21:03:15 +0200
committerSergeanur <s.anureev@yandex.ua>2020-04-26 21:03:15 +0200
commitf0890b11122291a22d6a65f349281cf1aed49bd0 (patch)
tree3b418b522c5fd097abac916693e59808ea4f5b4f /src/text
parentMore japanese (diff)
parentRemove little hack (diff)
downloadre3-f0890b11122291a22d6a65f349281cf1aed49bd0.tar
re3-f0890b11122291a22d6a65f349281cf1aed49bd0.tar.gz
re3-f0890b11122291a22d6a65f349281cf1aed49bd0.tar.bz2
re3-f0890b11122291a22d6a65f349281cf1aed49bd0.tar.lz
re3-f0890b11122291a22d6a65f349281cf1aed49bd0.tar.xz
re3-f0890b11122291a22d6a65f349281cf1aed49bd0.tar.zst
re3-f0890b11122291a22d6a65f349281cf1aed49bd0.zip
Diffstat (limited to 'src/text')
-rw-r--r--src/text/Messages.cpp41
-rw-r--r--src/text/Messages.h6
-rw-r--r--src/text/Pager.cpp18
-rw-r--r--src/text/Pager.h2
-rw-r--r--src/text/Text.cpp26
-rw-r--r--src/text/Text.h2
6 files changed, 19 insertions, 76 deletions
diff --git a/src/text/Messages.cpp b/src/text/Messages.cpp
index d429ee8a..8a667adb 100644
--- a/src/text/Messages.cpp
+++ b/src/text/Messages.cpp
@@ -1,8 +1,5 @@
-#define DIRECTINPUT_VERSION 0x0800
-#include "dinput.h"
-
#include "common.h"
-#include "patcher.h"
+
#include "Messages.h"
#include "RwHelper.h"
#include "Hud.h"
@@ -14,9 +11,9 @@
#include "Font.h"
-tMessage(&CMessages::BriefMessages)[NUMBRIEFMESSAGES] = *(tMessage(*)[NUMBRIEFMESSAGES])*(uintptr*)0x8786E0;
-tPreviousBrief(&CMessages::PreviousBriefs)[NUMPREVIOUSBRIEFS] = *(tPreviousBrief(*)[NUMPREVIOUSBRIEFS])*(uintptr*)0x713C08;
-tBigMessage(&CMessages::BIGMessages)[NUMBIGMESSAGES] = *(tBigMessage(*)[NUMBIGMESSAGES])*(uintptr*)0x773628;
+tMessage CMessages::BriefMessages[NUMBRIEFMESSAGES];
+tPreviousBrief CMessages::PreviousBriefs[NUMPREVIOUSBRIEFS];
+tBigMessage CMessages::BIGMessages[NUMBIGMESSAGES];
char CMessages::PreviousMissionTitle[16]; // unused
void
@@ -819,33 +816,3 @@ CMessages::ClearAllMessagesDisplayedByGame()
CHud::GetRidOfAllHudMessages();
CUserDisplay::Pager.ClearMessages();
}
-
-STARTPATCHES
- InjectHook(0x529310, CMessages::Init, PATCH_JUMP);
- InjectHook(0x529490, CMessages::GetWideStringLength, PATCH_JUMP);
- InjectHook(0x5294B0, CMessages::WideStringCopy, PATCH_JUMP);
- InjectHook(0x529510, CMessages::WideStringCompare, PATCH_JUMP);
- InjectHook(0x529580, CMessages::Process, PATCH_JUMP);
- InjectHook(0x529800, CMessages::Display, PATCH_JUMP);
- InjectHook(0x529900, CMessages::AddMessage, PATCH_JUMP);
- InjectHook(0x529A10, CMessages::AddMessageJumpQ, PATCH_JUMP);
- InjectHook(0x529AF0, CMessages::AddMessageSoon, PATCH_JUMP);
- InjectHook(0x529CE0, CMessages::ClearMessages, PATCH_JUMP);
- InjectHook(0x529E00, CMessages::ClearSmallMessagesOnly, PATCH_JUMP);
- InjectHook(0x529EB0, CMessages::AddBigMessage, PATCH_JUMP);
- InjectHook(0x529F60, CMessages::AddBigMessageQ, PATCH_JUMP);
- InjectHook(0x52A040, CMessages::AddToPreviousBriefArray, PATCH_JUMP);
- InjectHook(0x52A1A0, CMessages::InsertNumberInString, PATCH_JUMP);
- InjectHook(0x52A300, CMessages::InsertStringInString, PATCH_JUMP);
- InjectHook(0x52A490, CMessages::InsertPlayerControlKeysInString, PATCH_JUMP);
- InjectHook(0x52A850, CMessages::AddMessageWithNumber, PATCH_JUMP);
- InjectHook(0x52A9A0, CMessages::AddMessageJumpQWithNumber, PATCH_JUMP);
- InjectHook(0x52AAC0, CMessages::AddMessageSoonWithNumber, PATCH_JUMP);
- InjectHook(0x52AD10, CMessages::AddBigMessageWithNumber, PATCH_JUMP);
- InjectHook(0x52AE00, CMessages::AddBigMessageWithNumberQ, PATCH_JUMP);
- InjectHook(0x52AF30, CMessages::AddMessageWithString, PATCH_JUMP);
- InjectHook(0x52B050, CMessages::AddMessageJumpQWithString, PATCH_JUMP);
- InjectHook(0x52B140, CMessages::ClearThisPrint, PATCH_JUMP);
- InjectHook(0x52B3C0, CMessages::ClearThisBigPrint, PATCH_JUMP);
- InjectHook(0x52B670, CMessages::ClearAllMessagesDisplayedByGame, PATCH_JUMP);
-ENDPATCHES
diff --git a/src/text/Messages.h b/src/text/Messages.h
index 8044c626..e8ba1bf7 100644
--- a/src/text/Messages.h
+++ b/src/text/Messages.h
@@ -29,9 +29,9 @@ struct tPreviousBrief
class CMessages
{
public:
- static tMessage(&BriefMessages)[NUMBRIEFMESSAGES];
- static tBigMessage(&BIGMessages)[NUMBIGMESSAGES];
- static tPreviousBrief(&PreviousBriefs)[NUMPREVIOUSBRIEFS];
+ static tMessage BriefMessages[NUMBRIEFMESSAGES];
+ static tBigMessage BIGMessages[NUMBIGMESSAGES];
+ static tPreviousBrief PreviousBriefs[NUMPREVIOUSBRIEFS];
static char PreviousMissionTitle[16]; // unused
public:
static void Init(void);
diff --git a/src/text/Pager.cpp b/src/text/Pager.cpp
index 5c6b3ee2..609c6860 100644
--- a/src/text/Pager.cpp
+++ b/src/text/Pager.cpp
@@ -1,5 +1,5 @@
#include "common.h"
-#include "patcher.h"
+
#include "Pager.h"
#include "Timer.h"
#include "Messages.h"
@@ -98,7 +98,7 @@ CPager::AddMessage(wchar *str, uint16 speed, uint16 priority, uint16 a5)
m_messages[i].m_pText = str;
m_messages[i].m_nSpeedMs = speed;
m_messages[i].m_nPriority = priority;
- m_messages[i].field_10 = a5;
+ m_messages[i].unused = a5;
m_messages[i].m_nCurrentPosition = -(m_nNumDisplayLetters + 10);
m_messages[i].m_nTimeToChangePosition = CTimer::GetTimeInMilliseconds() + speed;
m_messages[i].m_nStringLength = size;
@@ -142,7 +142,7 @@ CPager::AddMessageWithNumber(wchar *str, int32 n1, int32 n2, int32 n3, int32 n4,
m_messages[i].m_pText = str;
m_messages[i].m_nSpeedMs = speed;
m_messages[i].m_nPriority = priority;
- m_messages[i].field_10 = a11;
+ m_messages[i].unused = a11;
m_messages[i].m_nCurrentPosition = -(m_nNumDisplayLetters + 10);
m_messages[i].m_nTimeToChangePosition = CTimer::GetTimeInMilliseconds() + speed;
m_messages[i].m_nStringLength = size;
@@ -181,14 +181,4 @@ CPager::RestartCurrentMessage()
m_messages[0].m_nCurrentPosition = -(m_nNumDisplayLetters + 10);
m_messages[0].m_nTimeToChangePosition = CTimer::GetTimeInMilliseconds() + m_messages[0].m_nSpeedMs;
}
-}
-
-STARTPATCHES
- InjectHook(0x52B6F0, &CPager::Init, PATCH_JUMP);
- InjectHook(0x52B740, &CPager::Process, PATCH_JUMP);
- InjectHook(0x52B890, &CPager::Display, PATCH_JUMP);
- InjectHook(0x52B940, &CPager::AddMessage, PATCH_JUMP);
- InjectHook(0x52BB50, &CPager::AddMessageWithNumber, PATCH_JUMP);
- InjectHook(0x52BE50, &CPager::RestartCurrentMessage, PATCH_JUMP);
- InjectHook(0x52BE00, &CPager::ClearMessages, PATCH_JUMP);
-ENDPATCHES \ No newline at end of file
+} \ No newline at end of file
diff --git a/src/text/Pager.h b/src/text/Pager.h
index a628be6f..16307971 100644
--- a/src/text/Pager.h
+++ b/src/text/Pager.h
@@ -7,7 +7,7 @@ struct PagerMessage {
uint16 m_nStringLength;
uint16 m_nPriority;
uint32 m_nTimeToChangePosition;
- int16 field_10;
+ int16 unused; // but still set in SCM. importance? ringtone?
int32 m_nNumber[6];
};
diff --git a/src/text/Text.cpp b/src/text/Text.cpp
index ca98c2a5..117ba9cf 100644
--- a/src/text/Text.cpp
+++ b/src/text/Text.cpp
@@ -1,5 +1,5 @@
#include "common.h"
-#include "patcher.h"
+
#include "FileMgr.h"
#include "Frontend.h"
#include "Messages.h"
@@ -7,7 +7,7 @@
static wchar WideErrorString[25];
-CText &TheText = *(CText*)0x941520;
+CText TheText;
CText::CText(void)
{
@@ -44,6 +44,9 @@ CText::Load(void)
sprintf(filename, "SPANISH.GXT");
break;
#ifdef MORE_LANGUAGES
+ case LANGUAGE_POLISH:
+ sprintf(filename, "POLISH.GXT");
+ break;
case LANGUAGE_RUSSIAN:
sprintf(filename, "RUSSIAN.GXT");
break;
@@ -311,21 +314,4 @@ TextCopy(wchar *dst, const wchar *src)
}
-STARTPATCHES
- InjectHook(0x52C3C0, &CText::Load, PATCH_JUMP);
- InjectHook(0x52C580, &CText::Unload, PATCH_JUMP);
- InjectHook(0x52C5A0, &CText::Get, PATCH_JUMP);
- InjectHook(0x52C220, &CText::GetUpperCase, PATCH_JUMP);
- InjectHook(0x52C2C0, &CText::UpperCase, PATCH_JUMP);
-
- InjectHook(0x52BE70, &CKeyArray::Load, PATCH_JUMP);
- InjectHook(0x52BF60, &CKeyArray::Unload, PATCH_JUMP);
- InjectHook(0x52BF80, &CKeyArray::Update, PATCH_JUMP);
- InjectHook(0x52C060, &CKeyArray::BinarySearch, PATCH_JUMP);
- InjectHook(0x52BFB0, &CKeyArray::Search, PATCH_JUMP);
-
- InjectHook(0x52C120, &CData::Load, PATCH_JUMP);
- InjectHook(0x52C200, &CData::Unload, PATCH_JUMP);
-
- InjectHook(0x52C2F0, &UnicodeToAscii, PATCH_JUMP);
-ENDPATCHES
+ InjectHook(0x52C2F0, &UnicodeToAscii, PATCH_JUMP); \ No newline at end of file
diff --git a/src/text/Text.h b/src/text/Text.h
index 6f39ba49..00d1c5e6 100644
--- a/src/text/Text.h
+++ b/src/text/Text.h
@@ -56,4 +56,4 @@ public:
void UpperCase(wchar *s);
};
-extern CText &TheText;
+extern CText TheText;