diff options
| author | hatal175 <hatal175@users.noreply.github.com> | 2024-08-07 13:18:30 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-07 03:18:30 -0700 |
| commit | 106d72032c3c62fb5fd930a1044a38bf44cc1036 (patch) | |
| tree | 5b7c2dcddd96f9baaa24cd6df3a7f29efc6df81c /include/JSystem | |
| parent | 6bf2f3cc5578f3e3108df8337a462ee4c618915a (diff) | |
Work on d_msg_object (#2186)
Diffstat (limited to 'include/JSystem')
| -rw-r--r-- | include/JSystem/JGadget/linklist.h | 1 | ||||
| -rw-r--r-- | include/JSystem/JMessage/control.h | 11 | ||||
| -rw-r--r-- | include/JSystem/JMessage/processor.h | 9 | ||||
| -rw-r--r-- | include/JSystem/JStudio/JStudio/stb.h | 2 |
4 files changed, 23 insertions, 0 deletions
diff --git a/include/JSystem/JGadget/linklist.h b/include/JSystem/JGadget/linklist.h index 988a53cd1a..bb334f57f9 100644 --- a/include/JSystem/JGadget/linklist.h +++ b/include/JSystem/JGadget/linklist.h @@ -234,6 +234,7 @@ struct TLinkList : public TNodeLinkList { const_iterator end() const { return const_iterator(const_cast<TLinkList*>(this)->end()); } T& front() { return *begin(); } T& back() { return *--end(); } + void pop_front() { erase(TNodeLinkList::begin()); } void Push_front(T* element) { Insert(begin(), element); } void Push_back(T* element) { Insert(end(), element); } iterator Find(const T* element) { diff --git a/include/JSystem/JMessage/control.h b/include/JSystem/JMessage/control.h index 8bce73e824..f2c95d233b 100644 --- a/include/JSystem/JMessage/control.h +++ b/include/JSystem/JMessage/control.h @@ -28,6 +28,10 @@ struct TControl { (TProcessor*)pRenderingProcessor_; } + int setMessageCode(u32 code) { + return setMessageCode(code >> 16, code); + } + int setMessageCode_inReset_(TProcessor* pProcessor, u16 param_1, u16 param_2) { if (!setMessageCode_inSequence_(pProcessor, param_1, param_2)) { return 0; @@ -57,6 +61,13 @@ struct TControl { pResourceCache_ = NULL; } + void render_synchronize() { + if (isReady_render_()) { + field_0x20 = pszText_update_current_; + oStack_renderingProcessor_ = pRenderingProcessor_->oStack_; + } + } + /* 0x04 */ TSequenceProcessor* pSequenceProcessor_; /* 0x08 */ TRenderingProcessor* pRenderingProcessor_; /* 0x0C */ u16 messageCode_; diff --git a/include/JSystem/JMessage/processor.h b/include/JSystem/JMessage/processor.h index b636820ba7..0d55e8d00f 100644 --- a/include/JSystem/JMessage/processor.h +++ b/include/JSystem/JMessage/processor.h @@ -2,6 +2,7 @@ #define JMESSAGE_PROCESSOR_H #include "JSystem/JMessage/resource.h" +#include "algorithm.h" namespace JMessage { struct TResource; @@ -63,6 +64,14 @@ struct TProcessor { void pop() { upsz_--; } + TStack_& operator=(const TStack_& other) { + upsz_ = other.upsz_; + char** start = (char**)other.stack; + char** end = (char**)(other.stack + other.upsz_); + std::copy(start, end, stack); + return *this; + } + /* 0x0 */ u32 upsz_; // stack size /* 0x4 */ const char* stack[4]; }; // Size: 0x14 diff --git a/include/JSystem/JStudio/JStudio/stb.h b/include/JSystem/JStudio/JStudio/stb.h index 00b5e6fe17..fe32991cfe 100644 --- a/include/JSystem/JStudio/JStudio/stb.h +++ b/include/JSystem/JStudio/JStudio/stb.h @@ -143,6 +143,8 @@ public: TObject_control& referObject_control() { return mObject_control; } int getSuspend() const { return _54; } void setSuspend(s32 suspend) { mObject_control.setSuspend(suspend); } + void suspend(s32 param_0) { mObject_control.suspend(param_0); } + void unsuspend(s32 param_0) { suspend(-param_0); } private: /* 0x04 */ u32 _4; |
