mirror of https://github.com/zeldaret/tp.git
JMessage work (#1951)
This commit is contained in:
parent
9fb99d923c
commit
02e093fc76
|
|
@ -1,36 +0,0 @@
|
|||
lbl_802A8BAC:
|
||||
/* 802A8BAC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802A8BB0 7C 08 02 A6 */ mflr r0
|
||||
/* 802A8BB4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802A8BB8 54 80 86 3E */ rlwinm r0, r4, 0x10, 0x18, 0x1f
|
||||
/* 802A8BBC 54 87 04 3E */ clrlwi r7, r4, 0x10
|
||||
/* 802A8BC0 2C 00 00 FF */ cmpwi r0, 0xff
|
||||
/* 802A8BC4 41 82 00 1C */ beq lbl_802A8BE0
|
||||
/* 802A8BC8 40 80 00 48 */ bge lbl_802A8C10
|
||||
/* 802A8BCC 2C 00 00 FD */ cmpwi r0, 0xfd
|
||||
/* 802A8BD0 40 80 00 40 */ bge lbl_802A8C10
|
||||
/* 802A8BD4 2C 00 00 F7 */ cmpwi r0, 0xf7
|
||||
/* 802A8BD8 40 80 00 3C */ bge lbl_802A8C14
|
||||
/* 802A8BDC 48 00 00 34 */ b lbl_802A8C10
|
||||
lbl_802A8BE0:
|
||||
/* 802A8BE0 2C 07 00 06 */ cmpwi r7, 6
|
||||
/* 802A8BE4 40 80 00 18 */ bge lbl_802A8BFC
|
||||
/* 802A8BE8 2C 07 00 04 */ cmpwi r7, 4
|
||||
/* 802A8BEC 40 80 00 1C */ bge lbl_802A8C08
|
||||
/* 802A8BF0 2C 07 00 00 */ cmpwi r7, 0
|
||||
/* 802A8BF4 40 80 00 20 */ bge lbl_802A8C14
|
||||
/* 802A8BF8 48 00 00 10 */ b lbl_802A8C08
|
||||
lbl_802A8BFC:
|
||||
/* 802A8BFC 2C 07 00 08 */ cmpwi r7, 8
|
||||
/* 802A8C00 40 80 00 08 */ bge lbl_802A8C08
|
||||
/* 802A8C04 48 00 00 10 */ b lbl_802A8C14
|
||||
lbl_802A8C08:
|
||||
/* 802A8C08 4B FF F4 89 */ bl do_tag___Q28JMessage10TProcessorFUlPCvUl
|
||||
/* 802A8C0C 48 00 00 08 */ b lbl_802A8C14
|
||||
lbl_802A8C10:
|
||||
/* 802A8C10 4B FF F4 81 */ bl do_tag___Q28JMessage10TProcessorFUlPCvUl
|
||||
lbl_802A8C14:
|
||||
/* 802A8C14 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802A8C18 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A8C1C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802A8C20 4E 80 00 20 */ blr
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
lbl_802A7C54:
|
||||
/* 802A7C54 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802A7C58 7C 08 02 A6 */ mflr r0
|
||||
/* 802A7C5C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802A7C60 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802A7C64 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802A7C68 38 C0 00 00 */ li r6, 0
|
||||
/* 802A7C6C 80 63 00 08 */ lwz r3, 8(r3)
|
||||
/* 802A7C70 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802A7C74 41 82 00 1C */ beq lbl_802A7C90
|
||||
/* 802A7C78 80 A3 00 0C */ lwz r5, 0xc(r3)
|
||||
/* 802A7C7C A0 A5 00 0C */ lhz r5, 0xc(r5)
|
||||
/* 802A7C80 54 80 04 3E */ clrlwi r0, r4, 0x10
|
||||
/* 802A7C84 7C 00 28 40 */ cmplw r0, r5
|
||||
/* 802A7C88 40 82 00 08 */ bne lbl_802A7C90
|
||||
/* 802A7C8C 38 C0 00 01 */ li r6, 1
|
||||
lbl_802A7C90:
|
||||
/* 802A7C90 54 C0 06 3F */ clrlwi. r0, r6, 0x18
|
||||
/* 802A7C94 41 82 00 08 */ beq lbl_802A7C9C
|
||||
/* 802A7C98 48 00 00 28 */ b lbl_802A7CC0
|
||||
lbl_802A7C9C:
|
||||
/* 802A7C9C 80 7F 00 04 */ lwz r3, 4(r31)
|
||||
/* 802A7CA0 80 63 00 04 */ lwz r3, 4(r3)
|
||||
/* 802A7CA4 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802A7CA8 40 82 00 0C */ bne lbl_802A7CB4
|
||||
/* 802A7CAC 38 60 00 00 */ li r3, 0
|
||||
/* 802A7CB0 48 00 00 0C */ b lbl_802A7CBC
|
||||
lbl_802A7CB4:
|
||||
/* 802A7CB4 38 63 00 08 */ addi r3, r3, 8
|
||||
/* 802A7CB8 48 00 12 B5 */ bl Get_groupID__Q38JMessage18TResourceContainer10TCResourceFUs
|
||||
lbl_802A7CBC:
|
||||
/* 802A7CBC 90 7F 00 08 */ stw r3, 8(r31)
|
||||
lbl_802A7CC0:
|
||||
/* 802A7CC0 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802A7CC4 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802A7CC8 7C 08 03 A6 */ mtlr r0
|
||||
/* 802A7CCC 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802A7CD0 4E 80 00 20 */ blr
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
lbl_802A8358:
|
||||
/* 802A8358 80 A3 00 30 */ lwz r5, 0x30(r3)
|
||||
/* 802A835C 80 85 00 00 */ lwz r4, 0(r5)
|
||||
/* 802A8360 38 05 00 04 */ addi r0, r5, 4
|
||||
/* 802A8364 90 03 00 30 */ stw r0, 0x30(r3)
|
||||
/* 802A8368 80 03 00 2C */ lwz r0, 0x2c(r3)
|
||||
/* 802A836C 7C 60 22 14 */ add r3, r0, r4
|
||||
/* 802A8370 4E 80 00 20 */ blr
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
lbl_802A833C:
|
||||
/* 802A833C 80 A3 00 30 */ lwz r5, 0x30(r3)
|
||||
/* 802A8340 A0 85 00 00 */ lhz r4, 0(r5)
|
||||
/* 802A8344 38 05 00 02 */ addi r0, r5, 2
|
||||
/* 802A8348 90 03 00 30 */ stw r0, 0x30(r3)
|
||||
/* 802A834C 80 03 00 2C */ lwz r0, 0x2c(r3)
|
||||
/* 802A8350 7C 60 22 14 */ add r3, r0, r4
|
||||
/* 802A8354 4E 80 00 20 */ blr
|
||||
|
|
@ -31,6 +31,12 @@ struct TNodeLinkList {
|
|||
struct const_iterator {
|
||||
const_iterator(TLinkListNode* pNode) { node = pNode; }
|
||||
const_iterator(const const_iterator& iter) { *this = iter; }
|
||||
const_iterator(iterator iter) { *this = iter; }
|
||||
TLinkListNode* operator->() const { return node; }
|
||||
const_iterator& operator++() {
|
||||
node = node->getNext();
|
||||
return *this;
|
||||
}
|
||||
|
||||
TLinkListNode* node;
|
||||
};
|
||||
|
|
@ -74,11 +80,25 @@ struct TLinkList : public TNodeLinkList {
|
|||
iterator(TNodeLinkList::iterator iter) : TNodeLinkList::iterator(iter) {}
|
||||
};
|
||||
|
||||
TLinkListNode* Element_toNode(T* element) const { return &element->ocObject_; }
|
||||
struct const_iterator : TNodeLinkList::const_iterator {
|
||||
const_iterator(TNodeLinkList::const_iterator iter) : TNodeLinkList::const_iterator(iter) {}
|
||||
const_iterator(iterator iter) : TNodeLinkList::const_iterator(iter) {}
|
||||
const T* operator->() const {
|
||||
return Element_toValue(TNodeLinkList::const_iterator::operator->());
|
||||
}
|
||||
const T& operator*() const { return *operator->();}
|
||||
const_iterator& operator++() {
|
||||
TNodeLinkList::const_iterator::operator++();
|
||||
return *this;
|
||||
}
|
||||
};
|
||||
|
||||
void Insert(TLinkList::iterator iter, T* element) {
|
||||
TLinkListNode* Element_toNode(T* element) const { return &element->ocObject_; }
|
||||
static T* Element_toValue(TLinkListNode* node) { return (T*)node; }
|
||||
|
||||
iterator Insert(TLinkList::iterator iter, T* element) {
|
||||
TLinkListNode* node = Element_toNode(element);
|
||||
TNodeLinkList::Insert(iter, node);
|
||||
return TNodeLinkList::Insert(iter, node);
|
||||
}
|
||||
|
||||
iterator Erase(T* element) {
|
||||
|
|
@ -92,18 +112,36 @@ struct TLinkList : public TNodeLinkList {
|
|||
return iter;
|
||||
}
|
||||
|
||||
TLinkList::const_iterator end() const {
|
||||
return TLinkList::const_iterator(((TLinkList*)this)->end());
|
||||
}
|
||||
|
||||
TLinkList::iterator begin() {
|
||||
TNodeLinkList::iterator node_iter = TNodeLinkList::begin();
|
||||
TLinkList::iterator iter(node_iter);
|
||||
return iter;
|
||||
}
|
||||
|
||||
TLinkList::const_iterator begin() const {
|
||||
return TLinkList::const_iterator(((TLinkList*)this)->begin());
|
||||
}
|
||||
|
||||
void Push_back(T* element) {
|
||||
TLinkList::iterator iter(TLinkList::end());
|
||||
this->Insert(iter, element);
|
||||
}
|
||||
};
|
||||
|
||||
template<typename T, int I>
|
||||
bool operator==(const typename TLinkList<T, I>::const_iterator iter1, const typename TLinkList<T, I>::const_iterator iter2) {
|
||||
return iter1->node == iter2->node;
|
||||
}
|
||||
|
||||
template<typename T, int I>
|
||||
bool operator!=(const typename TLinkList<T, I>::const_iterator iter1, const typename TLinkList<T, I>::const_iterator iter2) {
|
||||
return !(iter1 == iter2);
|
||||
}
|
||||
|
||||
template <typename T, int I>
|
||||
struct TLinkList_factory : public TLinkList<T, I> {
|
||||
virtual ~TLinkList_factory() {}
|
||||
|
|
@ -113,12 +151,27 @@ struct TLinkList_factory : public TLinkList<T, I> {
|
|||
|
||||
template <typename T, int I>
|
||||
struct TEnumerator {
|
||||
TLinkList<T, I> field_0x0;
|
||||
TLinkList<T, I> field_0x4;
|
||||
inline TEnumerator(typename TLinkList<T,I>::const_iterator _current, typename TLinkList<T,I>::const_iterator _end) :
|
||||
current(_current), end(_end)
|
||||
{}
|
||||
|
||||
bool isEnd() const { return current.node == end.node; }
|
||||
operator bool() const { return isEnd(); }
|
||||
T& operator*() {
|
||||
T& rv = (T&)*current;
|
||||
++current;
|
||||
return rv;
|
||||
}
|
||||
|
||||
TLinkList<T, I>::const_iterator current;
|
||||
TLinkList<T, I>::const_iterator end;
|
||||
};
|
||||
|
||||
template <typename T, int I>
|
||||
struct TContainerEnumerator_const : public TEnumerator<T, I> {};
|
||||
struct TContainerEnumerator_const : public TEnumerator<T, I> {
|
||||
inline TContainerEnumerator_const(const T* param_0) : TEnumerator<T,I>(param_0->begin(), param_0->end())
|
||||
{}
|
||||
};
|
||||
|
||||
}; // namespace JGadget
|
||||
|
||||
|
|
|
|||
|
|
@ -43,8 +43,8 @@ struct data {
|
|||
TParse_TBlock_color(const void* data) : TParse_TBlock(data) {}
|
||||
};
|
||||
|
||||
static u16 getTagCode(u32 tag) { return tag & 0xFFFF; }
|
||||
static u8 getTagGroup(u32 tag) { return (tag >> 0x10) & 0xFF; }
|
||||
static u32 getTagCode(u32 tag) { return tag & 0xFFFF; }
|
||||
static u32 getTagGroup(u32 tag) { return (tag >> 0x10) & 0xFF; }
|
||||
|
||||
static u32 ga4cSignature;
|
||||
|
||||
|
|
|
|||
|
|
@ -24,6 +24,8 @@ struct TReference {
|
|||
return pcResource_->getResource_groupID(groupID);
|
||||
}
|
||||
|
||||
TResourceContainer* getResourceContainer() const { return pcResource_; }
|
||||
|
||||
/* 0x4 */ TResourceContainer* pcResource_;
|
||||
};
|
||||
|
||||
|
|
@ -192,6 +194,14 @@ struct TProcessor {
|
|||
return pResourceCache_ != NULL && groupID == pResourceCache_->getGroupID();
|
||||
}
|
||||
|
||||
TResourceContainer* getResourceContainer() const {
|
||||
if (pReference_ == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return pReference_->getResourceContainer();
|
||||
}
|
||||
|
||||
/* 0x04 */ const TReference* pReference_;
|
||||
/* 0x08 */ const TResource* pResourceCache_;
|
||||
/* 0x0C */ const char* pszCurrent_;
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@
|
|||
#include "JSystem/JStudio/JStudio/fvb-data.h"
|
||||
|
||||
namespace JMessage {
|
||||
struct TResource : public JGadget::TLinkListNode {
|
||||
struct TResource {
|
||||
TResource()
|
||||
: field_0x8(NULL), field_0xc(NULL), field_0x10(NULL), field_0x14(0), field_0x18(NULL) {}
|
||||
|
||||
/* 802A8CDC */ void toMessageIndex_messageID(u32, u32, bool*) const;
|
||||
/* 802A8CDC */ u16 toMessageIndex_messageID(u32, u32, bool*) const;
|
||||
|
||||
bool isContained_messageIndex(u16 messageIndex) const {
|
||||
return messageIndex < getMessageEntryNumber();
|
||||
|
|
@ -46,7 +46,7 @@ struct TResource : public JGadget::TLinkListNode {
|
|||
void setData_header(const void* pData) {
|
||||
field_0x8.setRaw(pData);
|
||||
}
|
||||
|
||||
JGadget::TLinkListNode ocObject_;
|
||||
/* 0x08 */ data::TParse_THeader field_0x8;
|
||||
/* 0x0C */ data::TParse_TBlock_info field_0xc;
|
||||
/* 0x10 */ char* field_0x10;
|
||||
|
|
@ -81,7 +81,8 @@ struct TResourceContainer {
|
|||
TResource* getResource_groupID(u16 groupID) { return resContainer_.Get_groupID(groupID); }
|
||||
TResource* getResource_groupID(u16 groupID) const { return getResource_groupID(groupID); }
|
||||
|
||||
bool isEncodingSettable(u8 e) const { return mEncodingType == e || e == 0; }
|
||||
bool isEncodingSettable(u8 e) const { return mEncodingType == e || mEncodingType == 0; }
|
||||
const TCResource* getResourceContainer() const { return &resContainer_; }
|
||||
|
||||
static JMessage::locale::parseCharacter_function sapfnParseCharacter_[5];
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
#include "JSystem/JMessage/processor.h"
|
||||
#include "JSystem/JMessage/control.h"
|
||||
#include "JSystem/JUtility/JUTAssert.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
|
|
@ -139,28 +140,45 @@ void JMessage::TProcessor::stack_popCurrent() {
|
|||
|
||||
/* 802A7C54-802A7CD4 2A2594 0080+00 1/1 1/1 0/0 .text
|
||||
* getResource_groupID__Q28JMessage10TProcessorCFUs */
|
||||
#ifdef NONMATCHING
|
||||
const JMessage::TResource* JMessage::TProcessor::getResource_groupID(u16 groupID) const {
|
||||
if (isResourceCache_groupID(groupID)) {
|
||||
return pResourceCache_;
|
||||
}
|
||||
|
||||
pResourceCache_ = getResource_groupID_uncached(groupID);
|
||||
// Is there another way to do this?
|
||||
((JMessage::TProcessor*)this)->pResourceCache_ = getResource_groupID_uncached(groupID);
|
||||
return pResourceCache_;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm const JMessage::TResource* JMessage::TProcessor::getResource_groupID(u16 param_0) const {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JMessage/processor/getResource_groupID__Q28JMessage10TProcessorCFUs.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802A7CD4-802A7E38 2A2614 0164+00 0/0 1/1 0/0 .text
|
||||
* toMessageCode_messageID__Q28JMessage10TProcessorCFUlUlPb */
|
||||
// TContainerEnumerator_const inline issues + while condition
|
||||
#ifdef NONMATCHING
|
||||
u32 JMessage::TProcessor::toMessageCode_messageID(u32 param_0, u32 param_1,
|
||||
bool* param_2) const {
|
||||
const TResource* this_00 = getResourceCache();
|
||||
u16 uVar4;
|
||||
if (this_00 != NULL && (uVar4 = this_00->toMessageIndex_messageID(param_0, param_1, param_2)) != 0xffff) {
|
||||
return uVar4 | (this_00->getGroupID() << 16);
|
||||
}
|
||||
TResourceContainer* this_01 = getResourceContainer();
|
||||
if (this_01 == NULL) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
JGadget::TContainerEnumerator_const<TResourceContainer::TCResource, 0> enumerator(this_01->getResourceContainer());
|
||||
const TResource* this_02;
|
||||
while (!enumerator) {
|
||||
this_02 = (const TResource*)&(*enumerator);
|
||||
if (this_02 == this_00 || (uVar4 = this_02->toMessageIndex_messageID(param_0, param_1, param_2)) == 0xffff) {
|
||||
continue;
|
||||
}
|
||||
((JMessage::TProcessor*)this)->pResourceCache_ = this_02;
|
||||
return uVar4 | (this_02->getGroupID() << 0x10);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -170,6 +188,7 @@ asm u32 JMessage::TProcessor::toMessageCode_messageID(u32 param_0, u32 param_1,
|
|||
#include "asm/JSystem/JMessage/processor/toMessageCode_messageID__Q28JMessage10TProcessorCFUlUlPb.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802A7E38-802A7EDC 2A2778 00A4+00 1/1 0/0 0/0 .text
|
||||
* on_select_begin__Q28JMessage10TProcessorFPFPQ28JMessage10TProcessor_PCcPCvPCcUl */
|
||||
|
|
@ -265,8 +284,8 @@ bool JMessage::TProcessor::do_setBegin_isReady_() const {
|
|||
|
||||
/* 802A8090-802A81EC 2A29D0 015C+00 2/2 0/0 0/0 .text do_tag___Q28JMessage10TProcessorFUlPCvUl */
|
||||
void JMessage::TProcessor::do_tag_(u32 uTag, void const* data, u32 uSize) {
|
||||
u8 group = data::getTagGroup(uTag);
|
||||
u16 code = data::getTagCode(uTag);
|
||||
u32 group = data::getTagGroup(uTag);
|
||||
u32 code = data::getTagCode(uTag);
|
||||
|
||||
switch (group) {
|
||||
case 0xFF:
|
||||
|
|
@ -345,38 +364,25 @@ bool JMessage::TProcessor::process_onCharacterEnd_select_(JMessage::TProcessor*
|
|||
|
||||
/* 802A833C-802A8358 2A2C7C 001C+00 1/1 0/0 0/0 .text
|
||||
* process_onSelect_limited___Q28JMessage10TProcessorFPQ28JMessage10TProcessor */
|
||||
// r4 vs r5
|
||||
#ifdef NONMATCHING
|
||||
const char* JMessage::TProcessor::process_onSelect_limited_(JMessage::TProcessor* pThis) {
|
||||
u16* ptr = (u16*)pThis->oProcess_.rData.pOffset;
|
||||
u16 data = *ptr;
|
||||
u16 data = JGadget::binary::TParseValue<u16, TParseValue_endian_big_>::parse((u16*)pThis->oProcess_.rData.pOffset);
|
||||
|
||||
pThis->oProcess_.rData.pOffset =
|
||||
JGadget::binary::TParseValue<u16, TParseValue_endian_big_>::parse(ptr) + 2;
|
||||
(void*)((u8*)pThis->oProcess_.rData.pOffset + 2);
|
||||
|
||||
return &pThis->oProcess_.rData.pcBase[data];
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm const char* JMessage::TProcessor::process_onSelect_limited_(JMessage::TProcessor* param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JMessage/processor/process_onSelect_limited___Q28JMessage10TProcessorFPQ28JMessage10TProcessor.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802A8358-802A8374 2A2C98 001C+00 1/1 0/0 0/0 .text
|
||||
* process_onSelect___Q28JMessage10TProcessorFPQ28JMessage10TProcessor */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm const char* JMessage::TProcessor::process_onSelect_(JMessage::TProcessor* param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JMessage/processor/process_onSelect___Q28JMessage10TProcessorFPQ28JMessage10TProcessor.s"
|
||||
const char* JMessage::TProcessor::process_onSelect_(JMessage::TProcessor* pThis) {
|
||||
u32 data = JGadget::binary::TParseValue<u32, TParseValue_endian_big_>::parse((u32*)pThis->oProcess_.rData.pOffset);
|
||||
|
||||
pThis->oProcess_.rData.pOffset =
|
||||
(void*)((u8*)pThis->oProcess_.rData.pOffset + 4);
|
||||
|
||||
return &pThis->oProcess_.rData.pcBase[data];
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802A8374-802A83B8 2A2CB4 0044+00 0/0 2/2 0/0 .text
|
||||
* __ct__Q28JMessage18TSequenceProcessorFPCQ28JMessage10TReferencePQ28JMessage8TControl */
|
||||
|
|
@ -559,8 +565,8 @@ void JMessage::TSequenceProcessor::do_end_() {
|
|||
* do_tag___Q28JMessage18TSequenceProcessorFUlPCvUl */
|
||||
void JMessage::TSequenceProcessor::do_tag_(u32 uTag, void const* data, u32 uSize) {
|
||||
char* temp = (char*)data;
|
||||
u8 group = data::getTagGroup(uTag);
|
||||
u16 code = data::getTagCode(uTag);
|
||||
u32 group = data::getTagGroup(uTag);
|
||||
u32 code = data::getTagCode(uTag);
|
||||
|
||||
switch (group) {
|
||||
case 0xFF:
|
||||
|
|
@ -613,9 +619,10 @@ void JMessage::TSequenceProcessor::do_tag_(u32 uTag, void const* data, u32 uSize
|
|||
* process_setMessageIndex_reserved___Q28JMessage18TSequenceProcessorFUs */
|
||||
#ifdef NONMATCHING
|
||||
void JMessage::TSequenceProcessor::process_setMessageIndex_reserved_(u16 u16Index) {
|
||||
JUT_ASSERT(890, u16Index >= 0xff00);
|
||||
if (u16Index != -1) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
|
|
@ -711,11 +718,9 @@ void JMessage::TRenderingProcessor::do_end_() {}
|
|||
|
||||
/* 802A8BAC-802A8C24 2A34EC 0078+00 1/0 4/0 0/0 .text
|
||||
* do_tag___Q28JMessage19TRenderingProcessorFUlPCvUl */
|
||||
// r0 / r7 swapped
|
||||
#ifdef NONMATCHING
|
||||
void JMessage::TRenderingProcessor::do_tag_(u32 uTag, void const* data, u32 uSize) {
|
||||
u8 group = data::getTagGroup(uTag);
|
||||
u16 code = data::getTagCode(uTag);
|
||||
u32 group = data::getTagGroup(uTag);
|
||||
u32 code = data::getTagCode(uTag);
|
||||
|
||||
switch (group) {
|
||||
case 0xFF:
|
||||
|
|
@ -746,16 +751,6 @@ void JMessage::TRenderingProcessor::do_tag_(u32 uTag, void const* data, u32 uSiz
|
|||
break;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JMessage::TRenderingProcessor::do_tag_(u32 param_0, void const* param_1, u32 param_2) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JMessage/processor/do_tag___Q28JMessage19TRenderingProcessorFUlPCvUl.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802A8C24-802A8C44 2A3564 0020+00 1/1 0/0 0/0 .text on_message__Q28JMessage10TProcessorCFUl */
|
||||
const char* JMessage::TProcessor::on_message(u32 param_0) const {
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ extern "C" f32 ga4cSignature__Q28JMessage4data[1 + 1 /* padding */];
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JMessage::TResource::toMessageIndex_messageID(u32 param_0, u32 param_1,
|
||||
asm u16 JMessage::TResource::toMessageIndex_messageID(u32 param_0, u32 param_1,
|
||||
bool* param_2) const {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JMessage/resource/toMessageIndex_messageID__Q28JMessage9TResourceCFUlUlPb.s"
|
||||
|
|
@ -230,16 +230,13 @@ bool JMessage::TParse::parseHeader_next(void const** ppData_inout, u32* puBlock_
|
|||
return 1;
|
||||
}
|
||||
|
||||
pResource_ = pContainer_->resContainer_.Do_create();
|
||||
TResourceContainer::TCResource* resContainer = &pContainer_->resContainer_;
|
||||
pResource_ = resContainer->Do_create();
|
||||
|
||||
if (pResource_ == NULL) {
|
||||
if (param_2 & 0x20) {
|
||||
return 0;
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
return param_2 & 0x20;
|
||||
} else {
|
||||
pContainer_->resContainer_.Push_back_hack(pResource_);
|
||||
resContainer->Push_back(pResource_);
|
||||
pResource_->setData_header(header.getRaw());
|
||||
return 1;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue