mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-04 10:26:16 -04:00
Reorganize library code into libs/ (#3119)
* Reorganize files into libs/{dolphin,JSystem,PowerPC_EABI_Support,revolution,TRK_MINNOW_DOLPHIN}
* Update configure.py and project.py for new libs structure
* Refactor `#include <dolphin/x.h>` -> `<x.h>`
* Remove `__REVOLUTION_SDK__` forwards from dolphin
* Fix dolphin/ references in revolution
* Wrap `#include <dolphin.h>` in `!__REVOLUTION_SDK__`
* Always build TRK against dolphin headers
* Resolve revolution SDK header resolution issues
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
/**
|
||||
* JMessage/control.cpp
|
||||
* JMessage Controller
|
||||
*/
|
||||
|
||||
#include "JSystem/JSystem.h" // IWYU pragma: keep
|
||||
|
||||
#include "JSystem/JMessage/control.h"
|
||||
|
||||
JMessage::TControl::TControl()
|
||||
: pSequenceProcessor_(NULL),
|
||||
pRenderingProcessor_(NULL),
|
||||
uMessageGroupID_(0xFFFF),
|
||||
uMessageID_(0xFFFF),
|
||||
pResourceCache_(NULL),
|
||||
pEntry_(NULL),
|
||||
pMessageText_begin_(NULL),
|
||||
pszText_update_current_(NULL),
|
||||
pMessageText_current_(NULL)
|
||||
{}
|
||||
|
||||
JMessage::TControl::~TControl() {}
|
||||
|
||||
void JMessage::TControl::reset() {
|
||||
pEntry_ = NULL;
|
||||
pMessageText_begin_ = NULL;
|
||||
pszText_update_current_ = NULL;
|
||||
pMessageText_current_ = NULL;
|
||||
oStack_renderingProcessor_.clear();
|
||||
|
||||
if (pSequenceProcessor_ != NULL) {
|
||||
pSequenceProcessor_->reset();
|
||||
}
|
||||
|
||||
if (pRenderingProcessor_ != NULL) {
|
||||
pRenderingProcessor_->reset();
|
||||
}
|
||||
}
|
||||
|
||||
int JMessage::TControl::update() {
|
||||
if (!isReady_update_()) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
pszText_update_current_ = pSequenceProcessor_->process(NULL);
|
||||
if (pszText_update_current_ == NULL) {
|
||||
pMessageText_begin_ = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
void JMessage::TControl::render() {
|
||||
if (isReady_render_()) {
|
||||
pRenderingProcessor_->setBegin_messageEntryText(pResourceCache_, pEntry_, pMessageText_current_);
|
||||
pRenderingProcessor_->oStack_ = oStack_renderingProcessor_;
|
||||
pRenderingProcessor_->process(pszText_update_current_);
|
||||
}
|
||||
}
|
||||
|
||||
int JMessage::TControl::setMessageCode(u16 u16GroupID, u16 u16Index) {
|
||||
TProcessor* pProcessor = getProcessor();
|
||||
JUT_ASSERT(120, pProcessor!=NULL);
|
||||
return setMessageCode_inReset_(pProcessor, u16GroupID, u16Index);
|
||||
}
|
||||
|
||||
int JMessage::TControl::setMessageID(u32 uMsgID, u32 param_1, bool* pbValid) {
|
||||
TProcessor* pProcessor = getProcessor();
|
||||
JUT_ASSERT(132, pProcessor!=NULL);
|
||||
|
||||
u32 uCode = pProcessor->toMessageCode_messageID(uMsgID, param_1, pbValid);
|
||||
if (uCode == 0xFFFFFFFF) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return setMessageCode_inReset_(pProcessor, uCode >> 16, uCode & 0xFFFF);
|
||||
}
|
||||
|
||||
bool JMessage::TControl::setMessageCode_inSequence_(JMessage::TProcessor const* pProcessor, u16 u16GroupID, u16 u16Index) {
|
||||
pEntry_ = pProcessor->getMessageEntry_messageCode(u16GroupID, u16Index);
|
||||
if (pEntry_ == NULL) {
|
||||
return false;
|
||||
}
|
||||
|
||||
uMessageGroupID_ = u16GroupID;
|
||||
uMessageID_ = u16Index;
|
||||
|
||||
pResourceCache_ = pProcessor->getResourceCache();
|
||||
JUT_ASSERT(155, pResourceCache_!=NULL);
|
||||
|
||||
pMessageText_begin_ = pResourceCache_->getMessageText_messageEntry(pEntry_);
|
||||
pMessageText_current_ = pMessageText_begin_;
|
||||
oStack_renderingProcessor_.clear();
|
||||
return true;
|
||||
}
|
||||
Reference in New Issue
Block a user