summaryrefslogtreecommitdiff
path: root/include/JSystem/JMessage
diff options
context:
space:
mode:
authorhatal175 <hatal175@users.noreply.github.com>2024-01-03 05:37:15 +0200
committerGitHub <noreply@github.com>2024-01-02 19:37:15 -0800
commitd5d59471ea885faeb3ca0909e1329082b67a9b90 (patch)
tree45a20bec694afc4762cd0f4655dca4506e48b07d /include/JSystem/JMessage
parentbe10df47608afc4c346e7dba2aac56eca59c45b6 (diff)
Match most of d_msg_string_base (#2021)
Diffstat (limited to 'include/JSystem/JMessage')
-rw-r--r--include/JSystem/JMessage/control.h13
-rw-r--r--include/JSystem/JMessage/processor.h4
-rw-r--r--include/JSystem/JMessage/resource.h14
3 files changed, 31 insertions, 0 deletions
diff --git a/include/JSystem/JMessage/control.h b/include/JSystem/JMessage/control.h
index b94516abe5..36fbebfc47 100644
--- a/include/JSystem/JMessage/control.h
+++ b/include/JSystem/JMessage/control.h
@@ -39,6 +39,19 @@ struct TControl {
const char* getMessageText_begin() const { return pMessageText_begin_; }
void* getMessageEntry() const { return pEntry_; }
+ void setSequenceProcessor(TSequenceProcessor* processor) { pSequenceProcessor_ = processor; }
+ void setRenderingProcessor(TRenderingProcessor* processor) { pRenderingProcessor_ = processor; }
+ void resetResourceCache() {
+ if (pSequenceProcessor_ != NULL) {
+ pSequenceProcessor_->resetResourceCache();
+ }
+
+ if (pRenderingProcessor_ != NULL) {
+ pRenderingProcessor_->resetResourceCache();
+ }
+
+ pResourceCache_ = NULL;
+ }
/* 0x04 */ TSequenceProcessor* pSequenceProcessor_;
/* 0x08 */ TRenderingProcessor* pRenderingProcessor_;
diff --git a/include/JSystem/JMessage/processor.h b/include/JSystem/JMessage/processor.h
index a01572c19c..6cd21e08bc 100644
--- a/include/JSystem/JMessage/processor.h
+++ b/include/JSystem/JMessage/processor.h
@@ -25,6 +25,7 @@ struct TReference {
}
TResourceContainer* getResourceContainer() const { return pcResource_; }
+ void setResourceContainer(TResourceContainer* container) { pcResource_ = container; }
/* 0x4 */ TResourceContainer* pcResource_;
};
@@ -208,6 +209,9 @@ struct TProcessor {
return pReference_->getResourceContainer();
}
+ void setResourceCache(TResource* cache) { pResourceCache_ = cache; }
+ void resetResourceCache() { setResourceCache(NULL); }
+
/* 0x04 */ const TReference* pReference_;
/* 0x08 */ const TResource* pResourceCache_;
/* 0x0C */ const char* pszCurrent_;
diff --git a/include/JSystem/JMessage/resource.h b/include/JSystem/JMessage/resource.h
index 61c2bb2fad..66c1e0d002 100644
--- a/include/JSystem/JMessage/resource.h
+++ b/include/JSystem/JMessage/resource.h
@@ -56,6 +56,10 @@ struct TResource {
struct TResource_color {
TResource_color() : field_0x0(NULL), field_0x4(NULL) {}
+ void reset() {
+ field_0x0.setRaw(NULL);
+ field_0x4.setRaw(NULL);
+ }
/* 0x0 */ data::TParse_THeader field_0x0;
/* 0x4 */ data::TParse_TBlock_color field_0x4;
@@ -83,6 +87,16 @@ struct TResourceContainer {
bool isEncodingSettable(u8 e) const { return mEncodingType == e || mEncodingType == 0; }
const TCResource* getResourceContainer() const { return &resContainer_; }
+ void destroyResource() {
+ resContainer_.Clear_destroy();
+ }
+ void destroyResource_color() {
+ resColor_.reset();
+ }
+ void destroyResource_all() {
+ destroyResource();
+ destroyResource_color();
+ }
static JMessage::locale::parseCharacter_function sapfnParseCharacter_[5];