diff options
| author | hatal175 <hatal175@users.noreply.github.com> | 2024-01-03 05:37:15 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-02 19:37:15 -0800 |
| commit | d5d59471ea885faeb3ca0909e1329082b67a9b90 (patch) | |
| tree | 45a20bec694afc4762cd0f4655dca4506e48b07d /include/JSystem/JMessage | |
| parent | be10df47608afc4c346e7dba2aac56eca59c45b6 (diff) | |
Match most of d_msg_string_base (#2021)
Diffstat (limited to 'include/JSystem/JMessage')
| -rw-r--r-- | include/JSystem/JMessage/control.h | 13 | ||||
| -rw-r--r-- | include/JSystem/JMessage/processor.h | 4 | ||||
| -rw-r--r-- | include/JSystem/JMessage/resource.h | 14 |
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]; |
