mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-08 20:20:04 -04:00
574 lines
18 KiB
C++
574 lines
18 KiB
C++
//
|
|
// Generated by dtk
|
|
// Translation Unit: processor.cpp
|
|
//
|
|
|
|
#include "JSystem/JMessage/processor.h"
|
|
#include "JSystem/JMessage/control.h"
|
|
|
|
namespace JMessage {
|
|
|
|
namespace {
|
|
|
|
/* 8029EDA4-8029EDCC .text process_setMessageIndex_reserved___Q28JMessage23@unnamed@processor_cpp@FUs */
|
|
bool process_setMessageIndex_reserved_(u16 messageIndex) {
|
|
switch (messageIndex) {
|
|
case 0xFFFF:
|
|
return false;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/* 8029EDCC-8029EE18 .text process_setMessage_index___Q28JMessage23@unnamed@processor_cpp@FPQ28JMessage8TControlUs */
|
|
bool process_setMessage_index_(TControl* control, u16 index) {
|
|
if (index >= 0xFF00) {
|
|
return process_setMessageIndex_reserved_(index);
|
|
} else {
|
|
control->mMessageIndex = index;
|
|
return !!control->setMessageCode_flush_();
|
|
}
|
|
}
|
|
|
|
/* 8029EE18-8029EE6C .text process_setMessage_code___Q28JMessage23@unnamed@processor_cpp@FPQ28JMessage8TControlUl */
|
|
bool process_setMessage_code_(TControl* control, u32 code) {
|
|
if ((u16)code >= 0xFF00) {
|
|
return process_setMessageIndex_reserved_(code);
|
|
} else {
|
|
return !!control->setMessageCode(code);
|
|
}
|
|
}
|
|
|
|
}; // namespace
|
|
|
|
/* 8029EE6C-8029EEA4 .text pushCurrent__Q28JMessage10TProcessorFPCc */
|
|
void TProcessor::pushCurrent(const char* v) {
|
|
if (v == NULL)
|
|
return;
|
|
|
|
if (!mStack.IsStorable())
|
|
return;
|
|
|
|
mStack.push(getCurrent());
|
|
setCurrent_(v);
|
|
}
|
|
|
|
/* 8029EEA4-8029EEC8 .text popCurrent__Q28JMessage10TProcessorFv */
|
|
const char* TProcessor::popCurrent() {
|
|
setCurrent_(mStack.top());
|
|
mStack.pop();
|
|
}
|
|
|
|
struct SelectCallBackWork {
|
|
/* 0x00 */ TProcessor::OnSelectBeginCallBack mCallBack;
|
|
/* 0x04 */ const char* mBase;
|
|
/* 0x08 */ const void* mTable;
|
|
/* 0x0C */ u32 mRest;
|
|
};
|
|
|
|
/* 8029EEC8-8029EF54 .text on_select_begin__Q28JMessage10TProcessorFPFPQ28JMessage10TProcessor_PCcPCvPCcUl */
|
|
void TProcessor::on_select_begin(OnSelectBeginCallBack callback, const void* offs, const char* base, u32 rest) {
|
|
if (mStack.IsStorable()) {
|
|
mStatusData.mCallBack = process_onCharacterEnd_select_;
|
|
SelectCallBackWork* work = (SelectCallBackWork*)&mStatusData.mCallBackWork;
|
|
work->mCallBack = callback;
|
|
work->mBase = base;
|
|
work->mTable = offs;
|
|
work->mRest = rest;
|
|
|
|
const char *v = work->mCallBack(this);
|
|
pushCurrent(v);
|
|
do_select_begin(rest);
|
|
}
|
|
}
|
|
|
|
/* 8029EF54-8029EFA0 .text on_select_end__Q28JMessage10TProcessorFv */
|
|
void TProcessor::on_select_end() {
|
|
mStatusData.mCallBack = process_onCharacterEnd_normal_;
|
|
popCurrent();
|
|
do_select_end();
|
|
}
|
|
|
|
/* 8029EFA0-8029EFFC .text on_select_separate__Q28JMessage10TProcessorFv */
|
|
void TProcessor::on_select_separate() {
|
|
popCurrent();
|
|
SelectCallBackWork* work = (SelectCallBackWork*)&mStatusData.mCallBackWork;
|
|
const char *v = work->mCallBack(this);
|
|
pushCurrent(v);
|
|
do_select_separate();
|
|
}
|
|
|
|
/* 8029EFFC-8029F000 .text do_character__Q28JMessage10TProcessorFi */
|
|
void TProcessor::do_character(int) {
|
|
}
|
|
|
|
/* 8029F000-8029F008 .text do_tag__Q28JMessage10TProcessorFUlPCvUl */
|
|
bool TProcessor::do_tag(u32, const void*, u32) {
|
|
return false;
|
|
}
|
|
|
|
/* 8029F008-8029F010 .text do_systemTagCode__Q28JMessage10TProcessorFUsPCvUl */
|
|
bool TProcessor::do_systemTagCode(u16, const void*, u32) {
|
|
return false;
|
|
}
|
|
|
|
/* 8029F010-8029F014 .text do_select_begin__Q28JMessage10TProcessorFUl */
|
|
void TProcessor::do_select_begin(u32) {
|
|
}
|
|
|
|
/* 8029F014-8029F018 .text do_select_end__Q28JMessage10TProcessorFv */
|
|
void TProcessor::do_select_end() {
|
|
}
|
|
|
|
/* 8029F018-8029F01C .text do_select_separate__Q28JMessage10TProcessorFv */
|
|
void TProcessor::do_select_separate() {
|
|
}
|
|
|
|
/* 8029F01C-8029F064 .text __dt__Q28JMessage10TProcessorFv */
|
|
TProcessor::~TProcessor() {
|
|
}
|
|
|
|
/* 8029F064-8029F080 .text reset___Q28JMessage10TProcessorFPCc */
|
|
void TProcessor::reset_(const char* v) {
|
|
setCurrent_(v);
|
|
mStack.clear();
|
|
mStatusData.mCallBack = process_onCharacterEnd_normal_;
|
|
}
|
|
|
|
/* 8029F080-8029F120 .text on_tag___Q28JMessage10TProcessorFv */
|
|
void TProcessor::on_tag_() {
|
|
u32 size;
|
|
const u8* current = (const u8*)getCurrent();
|
|
size = current[1];
|
|
|
|
setCurrent_((const char*)current + size);
|
|
u32 tag = (current[2] << 16 | (u8)current[3] << 8);
|
|
tag |= current[4];
|
|
|
|
on_tag(tag, ¤t[5], size - 5);
|
|
}
|
|
|
|
/* 8029F120-8029F248 .text do_tag___Q28JMessage10TProcessorFUlPCvUl */
|
|
bool TProcessor::do_tag_(u32 tag, const void* data, u32 size) {
|
|
u16 code = data::getTagCode(tag);
|
|
u8 group = data::getTagGroup(tag);
|
|
|
|
switch (group) {
|
|
case 0xFF:
|
|
if (!do_systemTagCode(code, data, size)) {
|
|
do_systemTagCode_(code, data, size);
|
|
}
|
|
break;
|
|
case 0xFE:
|
|
pushCurrent(mControl->on_word(code));
|
|
break;
|
|
case 0xFD:
|
|
pushCurrent(mControl->on_message_limited(code));
|
|
break;
|
|
case 0xF6:
|
|
on_select_begin(process_select_limited_, data, (char*)data + size, code);
|
|
break;
|
|
case 0xF5:
|
|
on_select_begin(process_select_, data, (char*)data + size, code);
|
|
break;
|
|
}
|
|
}
|
|
|
|
/* 8029F248-8029F2A0 .text do_systemTagCode___Q28JMessage10TProcessorFUsPCvUl */
|
|
void TProcessor::do_systemTagCode_(u16 code, const void* data, u32 size) {
|
|
switch (code) {
|
|
case 0x05:
|
|
pushCurrent(mControl->on_message(JGadget::binary::TParseValue<u32, JGadget::binary::TParseValue_endian_big_>::parse(data)));
|
|
break;
|
|
}
|
|
}
|
|
|
|
/* 8029F2A0-8029F37C .text process_character___Q28JMessage10TProcessorFv */
|
|
bool TProcessor::process_character_() {
|
|
const u8* current = (const u8*)getCurrent();
|
|
u32 character = current[0];
|
|
switch (current[0]) {
|
|
case 0:
|
|
if (!mStatusData.mCallBack(this))
|
|
return false;
|
|
break;
|
|
case 0x1A:
|
|
on_tag_();
|
|
break;
|
|
default:
|
|
if (mControl->mResourceContainer->IsLeadByte(character)) {
|
|
character <<= 8;
|
|
mCurrent++;
|
|
current = (const u8*)getCurrent();
|
|
character |= current[0];
|
|
}
|
|
mCurrent++;
|
|
on_character(character);
|
|
break;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
/* 8029F37C-8029F3C4 .text process_onCharacterEnd_normal___Q28JMessage10TProcessorFPQ28JMessage10TProcessor */
|
|
bool TProcessor::process_onCharacterEnd_normal_(TProcessor* proc) {
|
|
if (!proc->mStack.empty()) {
|
|
proc->popCurrent();
|
|
return true;
|
|
} else {
|
|
proc->do_end_();
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/* 8029F3C4-8029F40C .text process_onCharacterEnd_select___Q28JMessage10TProcessorFPQ28JMessage10TProcessor */
|
|
bool TProcessor::process_onCharacterEnd_select_(TProcessor* proc) {
|
|
SelectCallBackWork* work = (SelectCallBackWork*) &proc->mStatusData.mCallBackWork;
|
|
work->mRest--;
|
|
if (work->mRest != 0) {
|
|
proc->on_select_separate();
|
|
return true;
|
|
} else {
|
|
proc->on_select_end();
|
|
return true;
|
|
}
|
|
}
|
|
|
|
/* 8029F40C-8029F428 .text process_select_limited___Q28JMessage10TProcessorFPQ28JMessage10TProcessor */
|
|
const char* TProcessor::process_select_limited_(TProcessor* proc) {
|
|
SelectCallBackWork* work = (SelectCallBackWork*) &proc->mStatusData.mCallBackWork;
|
|
u16 offs = ((const u16*)work->mTable)[0];
|
|
work->mTable = (const char*)work->mTable + sizeof(offs);
|
|
return &work->mBase[offs];
|
|
}
|
|
|
|
/* 8029F428-8029F444 .text process_select___Q28JMessage10TProcessorFPQ28JMessage10TProcessor */
|
|
const char* TProcessor::process_select_(TProcessor* proc) {
|
|
/* Nonmatching */
|
|
SelectCallBackWork* work = (SelectCallBackWork*) &proc->mStatusData.mCallBackWork;
|
|
u32 offs = ((const u32*)work->mTable)[0];
|
|
work->mTable = (const char*)work->mTable + sizeof(offs);
|
|
return &work->mBase[offs];
|
|
}
|
|
|
|
struct JumpCallBackWork {
|
|
/* 0x00 */ u32 mTarget;
|
|
};
|
|
|
|
struct BranchCallBackWork {
|
|
/* 0x00 */ const void* mTable;
|
|
/* 0x04 */ u32 mTarget;
|
|
};
|
|
|
|
/* 8029F444-8029F480 .text __ct__Q28JMessage18TSequenceProcessorFPQ28JMessage8TControl */
|
|
TSequenceProcessor::TSequenceProcessor(TControl* control) : TProcessor(control) {
|
|
mStatus = kStatus_Begin;
|
|
}
|
|
|
|
/* 8029F480-8029F4E0 .text __dt__Q28JMessage18TSequenceProcessorFv */
|
|
TSequenceProcessor::~TSequenceProcessor() {
|
|
}
|
|
|
|
/* 8029F4E0-8029F658 .text process__Q28JMessage18TSequenceProcessorFPCc */
|
|
const char* TSequenceProcessor::process(const char* stop) {
|
|
/* Nonmatching */
|
|
do {
|
|
switch (mStatus) {
|
|
case kStatus_Normal:
|
|
break;
|
|
case kStatus_Jump:
|
|
if (!on_jump_isReady())
|
|
return mCurrent;
|
|
|
|
mStatus = kStatus_Normal;
|
|
if (mStatusData.mCallBack(this))
|
|
on_jump(mControl->getMessageEntry(), mControl->getMessageData_begin());
|
|
break;
|
|
case kStatus_Branch:
|
|
{
|
|
BranchCallBackWork* work = (BranchCallBackWork*) &mStatusData.mCallBackWork;
|
|
u32 rt = on_branch_queryResult();
|
|
|
|
if (rt > 0xFFFF) {
|
|
switch (rt) {
|
|
case -1:
|
|
return mCurrent;
|
|
case -2:
|
|
mStatus = kStatus_Normal;
|
|
break;
|
|
}
|
|
} else {
|
|
mStatus = kStatus_Normal;
|
|
if (rt < work->mTarget && mStatusData.mCallBack(this))
|
|
on_branch(mControl->getMessageEntry(), mControl->getMessageData_begin());
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
|
|
if (mCurrent == stop) {
|
|
on_end();
|
|
return NULL;
|
|
}
|
|
|
|
if (!on_isReady())
|
|
return mCurrent;
|
|
} while (process_character_());
|
|
|
|
return NULL;
|
|
}
|
|
|
|
/* 8029F658-8029F684 .text on_isReady__Q28JMessage18TSequenceProcessorFv */
|
|
bool TSequenceProcessor::on_isReady() {
|
|
return do_isReady();
|
|
}
|
|
|
|
/* 8029F684-8029F698 .text on_jump_register__Q28JMessage18TSequenceProcessorFPFPQ28JMessage18TSequenceProcessor_bUl */
|
|
void TSequenceProcessor::on_jump_register(OnJumpRegisterCallBack callback, u32 target) {
|
|
mStatus = kStatus_Jump;
|
|
mStatusData.mCallBack = (ProcessorCallBack)callback;
|
|
JumpCallBackWork* work = (JumpCallBackWork*) &mStatusData.mCallBackWork;
|
|
work->mTarget = target;
|
|
}
|
|
|
|
/* 8029F698-8029F6C4 .text on_jump_isReady__Q28JMessage18TSequenceProcessorFv */
|
|
bool TSequenceProcessor::on_jump_isReady() {
|
|
return do_jump_isReady();
|
|
}
|
|
|
|
/* 8029F6C4-8029F720 .text on_jump__Q28JMessage18TSequenceProcessorFPCvPCc */
|
|
void TSequenceProcessor::on_jump(const void* target, const char* v) {
|
|
reset_(v);
|
|
do_jump(target, v);
|
|
}
|
|
|
|
/* 8029F720-8029F730 .text on_branch_register__Q28JMessage18TSequenceProcessorFPFPQ28JMessage18TSequenceProcessorUl_bPCvUl */
|
|
void TSequenceProcessor::on_branch_register(OnBranchRegisterCallBack callback, const void* offset, u32 target) {
|
|
mStatusData.mCallBack = (ProcessorCallBack)callback;
|
|
BranchCallBackWork* work = (BranchCallBackWork*) &mStatusData.mCallBackWork;
|
|
work->mTable = offset;
|
|
work->mTarget = target;
|
|
}
|
|
|
|
/* 8029F730-8029F764 .text on_branch_query__Q28JMessage18TSequenceProcessorFUs */
|
|
void TSequenceProcessor::on_branch_query(u16 branch) {
|
|
mStatus = kStatus_Branch;
|
|
do_branch_query(branch);
|
|
}
|
|
|
|
/* 8029F764-8029F790 .text on_branch_queryResult__Q28JMessage18TSequenceProcessorFv */
|
|
int TSequenceProcessor::on_branch_queryResult() {
|
|
return do_branch_queryResult();
|
|
}
|
|
|
|
/* 8029F790-8029F7EC .text on_branch__Q28JMessage18TSequenceProcessorFPCvPCc */
|
|
void TSequenceProcessor::on_branch(const void* target, const char* v) {
|
|
reset_(v);
|
|
do_branch(target, v);
|
|
}
|
|
|
|
/* 8029F7EC-8029F7F0 .text do_begin__Q28JMessage18TSequenceProcessorFPCvPCc */
|
|
void TSequenceProcessor::do_begin(const void*, const char*) {
|
|
}
|
|
|
|
/* 8029F7F0-8029F7F4 .text do_end__Q28JMessage18TSequenceProcessorFv */
|
|
void TSequenceProcessor::do_end() {
|
|
}
|
|
|
|
/* 8029F7F4-8029F7FC .text do_isReady__Q28JMessage18TSequenceProcessorFv */
|
|
bool TSequenceProcessor::do_isReady() {
|
|
return true;
|
|
}
|
|
|
|
/* 8029F7FC-8029F804 .text do_jump_isReady__Q28JMessage18TSequenceProcessorFv */
|
|
bool TSequenceProcessor::do_jump_isReady() {
|
|
return true;
|
|
}
|
|
|
|
/* 8029F804-8029F808 .text do_jump__Q28JMessage18TSequenceProcessorFPCvPCc */
|
|
void TSequenceProcessor::do_jump(const void*, const char*) {
|
|
}
|
|
|
|
/* 8029F808-8029F80C .text do_branch_query__Q28JMessage18TSequenceProcessorFUs */
|
|
void TSequenceProcessor::do_branch_query(u16) {
|
|
}
|
|
|
|
/* 8029F80C-8029F814 .text do_branch_queryResult__Q28JMessage18TSequenceProcessorFv */
|
|
int TSequenceProcessor::do_branch_queryResult() {
|
|
return -2;
|
|
}
|
|
|
|
/* 8029F814-8029F818 .text do_branch__Q28JMessage18TSequenceProcessorFPCvPCc */
|
|
void TSequenceProcessor::do_branch(const void*, const char*) {
|
|
}
|
|
|
|
/* 8029F818-8029F868 .text reset___Q28JMessage18TSequenceProcessorFPCc */
|
|
void TSequenceProcessor::reset_(const char* v) {
|
|
TProcessor::reset_(v);
|
|
mStatus = kStatus_Begin;
|
|
if (v != NULL)
|
|
mStatus = kStatus_Normal;
|
|
}
|
|
|
|
/* 8029F868-8029F894 .text do_begin___Q28JMessage18TSequenceProcessorFPCvPCc */
|
|
void TSequenceProcessor::do_begin_(const void* target, const char* v) {
|
|
do_begin(target, v);
|
|
}
|
|
|
|
/* 8029F894-8029F8C8 .text do_end___Q28JMessage18TSequenceProcessorFv */
|
|
void TSequenceProcessor::do_end_() {
|
|
mStatus = kStatus_End;
|
|
do_end();
|
|
}
|
|
|
|
/* 8029F8C8-8029F9D4 .text do_tag___Q28JMessage18TSequenceProcessorFUlPCvUl */
|
|
bool TSequenceProcessor::do_tag_(u32 tag, const void* data, u32 size) {
|
|
const char* datap = (const char*)data;
|
|
u16 code = data::getTagCode(tag);
|
|
u8 group = data::getTagGroup(tag);
|
|
|
|
switch (group) {
|
|
case 0xFC:
|
|
on_jump_register(process_jump_limited_, code);
|
|
break;
|
|
case 0xFB:
|
|
on_branch_register(process_branch_limited_, datap, code);
|
|
break;
|
|
case 0xFA:
|
|
on_branch_register(process_branch_, datap, code);
|
|
break;
|
|
case 0xF9:
|
|
on_branch_query(code);
|
|
break;
|
|
case 0xF8:
|
|
on_branch_register(process_branch_limited_, datap + 2, JGadget::binary::TParseValue<u16, JGadget::binary::TParseValue_endian_big_>::parse(datap));
|
|
on_branch_query(code);
|
|
break;
|
|
case 0xF7:
|
|
on_branch_register(process_branch_, datap + 2, JGadget::binary::TParseValue<u16, JGadget::binary::TParseValue_endian_big_>::parse(datap));
|
|
on_branch_query(code);
|
|
break;
|
|
default:
|
|
TProcessor::do_tag_(tag, data, size);
|
|
break;
|
|
}
|
|
}
|
|
|
|
/* 8029F9D4-8029FA2C .text do_systemTagCode___Q28JMessage18TSequenceProcessorFUsPCvUl */
|
|
void TSequenceProcessor::do_systemTagCode_(u16 code, const void* data, u32 size) {
|
|
switch (code) {
|
|
case 0:
|
|
case 1:
|
|
case 2:
|
|
case 3:
|
|
break;
|
|
case 6: {
|
|
u32 target = JGadget::binary::TParseValue<u32, JGadget::binary::TParseValue_endian_big_>::parse(data);
|
|
on_jump_register(process_jump_, target);
|
|
break;
|
|
}
|
|
case 4:
|
|
case 5:
|
|
default:
|
|
TProcessor::do_systemTagCode_(code, data, size);
|
|
break;
|
|
}
|
|
}
|
|
|
|
/* 8029FA2C-8029FA5C .text process_jump_limited___Q28JMessage18TSequenceProcessorFPQ28JMessage18TSequenceProcessor */
|
|
bool TSequenceProcessor::process_jump_limited_(TSequenceProcessor* proc) {
|
|
JumpCallBackWork* work = (JumpCallBackWork*) &proc->mStatusData.mCallBackWork;
|
|
return process_setMessage_index_(proc->mControl, work->mTarget);
|
|
}
|
|
|
|
/* 8029FA5C-8029FA88 .text process_jump___Q28JMessage18TSequenceProcessorFPQ28JMessage18TSequenceProcessor */
|
|
bool TSequenceProcessor::process_jump_(TSequenceProcessor* proc) {
|
|
JumpCallBackWork* work = (JumpCallBackWork*) &proc->mStatusData.mCallBackWork;
|
|
return process_setMessage_code_(proc->mControl, work->mTarget);
|
|
}
|
|
|
|
/* 8029FA88-8029FAB8 .text process_branch_limited___Q28JMessage18TSequenceProcessorFPQ28JMessage18TSequenceProcessorUl */
|
|
bool TSequenceProcessor::process_branch_limited_(TSequenceProcessor* proc, u32 choice) {
|
|
/* Nonmatching */
|
|
BranchCallBackWork* work = (BranchCallBackWork*) &proc->mStatusData.mCallBackWork;
|
|
process_setMessage_index_(proc->mControl, ((u16*)work->mTable)[choice]);
|
|
}
|
|
|
|
/* 8029FAB8-8029FAE8 .text process_branch___Q28JMessage18TSequenceProcessorFPQ28JMessage18TSequenceProcessorUl */
|
|
bool TSequenceProcessor::process_branch_(TSequenceProcessor* proc, u32 choice) {
|
|
/* Nonmatching */
|
|
BranchCallBackWork* work = (BranchCallBackWork*) &proc->mStatusData.mCallBackWork;
|
|
process_setMessage_code_(proc->mControl, ((u32*)work->mTable)[choice]);
|
|
}
|
|
|
|
/* 8029FAE8-8029FB20 .text __ct__Q28JMessage19TRenderingProcessorFPQ28JMessage8TControl */
|
|
TRenderingProcessor::TRenderingProcessor(TControl* control) : TProcessor(control) {
|
|
}
|
|
|
|
/* 8029FB20-8029FB80 .text __dt__Q28JMessage19TRenderingProcessorFv */
|
|
TRenderingProcessor::~TRenderingProcessor() {
|
|
}
|
|
|
|
/* 8029FB80-8029FBF0 .text process__Q28JMessage19TRenderingProcessorFPCc */
|
|
const char* TRenderingProcessor::process(const char* stop) {
|
|
do {
|
|
if (mCurrent == stop) {
|
|
on_end();
|
|
return NULL;
|
|
}
|
|
} while(process_character_());
|
|
return NULL;
|
|
}
|
|
|
|
/* 8029FBF0-8029FBF4 .text do_begin__Q28JMessage19TRenderingProcessorFPCvPCc */
|
|
void TRenderingProcessor::do_begin(const void*, const char*) {
|
|
}
|
|
|
|
/* 8029FBF4-8029FBF8 .text do_end__Q28JMessage19TRenderingProcessorFv */
|
|
void TRenderingProcessor::do_end() {
|
|
}
|
|
|
|
/* 8029FBF8-8029FC24 .text do_begin___Q28JMessage19TRenderingProcessorFPCvPCc */
|
|
void TRenderingProcessor::do_begin_(const void* entry, const char* data) {
|
|
do_begin(entry, data);
|
|
}
|
|
|
|
/* 8029FC24-8029FC50 .text do_end___Q28JMessage19TRenderingProcessorFv */
|
|
void TRenderingProcessor::do_end_() {
|
|
do_end();
|
|
}
|
|
|
|
/* 8029FC50-8029FC84 .text do_tag___Q28JMessage19TRenderingProcessorFUlPCvUl */
|
|
bool TRenderingProcessor::do_tag_(u32 tag, const void* data, u32 size) {
|
|
u8 group = data::getTagGroup(tag);
|
|
|
|
switch (group) {
|
|
case 0xFC:
|
|
case 0xFB:
|
|
case 0xFA:
|
|
case 0xF9:
|
|
case 0xF8:
|
|
case 0xF7:
|
|
break;
|
|
default:
|
|
TProcessor::do_tag_(tag, data, size);
|
|
break;
|
|
}
|
|
}
|
|
|
|
/* 8029FC84-8029FCC4 .text do_systemTagCode___Q28JMessage19TRenderingProcessorFUsPCvUl */
|
|
void TRenderingProcessor::do_systemTagCode_(u16 code, const void* data, u32 size) {
|
|
switch (code) {
|
|
case 0x06:
|
|
case 0x03:
|
|
case 0x02:
|
|
case 0x01:
|
|
case 0x00:
|
|
break;
|
|
default:
|
|
TProcessor::do_systemTagCode_(code, data, size);
|
|
break;
|
|
}
|
|
}
|
|
|
|
}; // namespace JMessage
|