JMessage work (#296)

* daalink / z2linkmgr wip

* first cleanup of JASGlobalInstance data

* fix sInstance stuff part 2

* more d_a_alink_swim work

* remove asm

* JMessage work

* remove asm
This commit is contained in:
TakaRikka
2023-02-19 10:40:57 -07:00
committed by GitHub
parent d024075910
commit e0a17187ad
66 changed files with 1038 additions and 2132 deletions
+35
View File
@@ -22,7 +22,15 @@ struct TNodeLinkList {
TLinkListNode* node;
};
struct const_iterator {
const_iterator(TLinkListNode* pNode) { node = pNode; }
const_iterator(const const_iterator& iter) { *this = iter; }
TLinkListNode* node;
};
TNodeLinkList() : ocObject_() { Initialize_(); }
void Initialize_() {
count = 0;
ocObject_.mNext = &ocObject_;
@@ -34,6 +42,11 @@ struct TNodeLinkList {
return iter;
}
iterator begin() {
iterator iter(ocObject_.mNext);
return iter;
}
/* 802DCA1C */ ~TNodeLinkList();
/* 802DCAA0 */ iterator erase(JGadget::TNodeLinkList::iterator, JGadget::TNodeLinkList::iterator);
/* 802DCA58 */ iterator erase(JGadget::TNodeLinkList::iterator);
@@ -73,12 +86,34 @@ struct TLinkList : public TNodeLinkList {
return iter;
}
TLinkList::iterator begin() {
TNodeLinkList::iterator node_iter = TNodeLinkList::begin();
TLinkList::iterator iter(node_iter);
return iter;
}
void Push_back(T* element) {
TLinkList::iterator iter(TLinkList::end());
this->Insert(iter, element);
}
};
template <typename T, int I>
struct TLinkList_factory : public TLinkList<T, I> {
virtual ~TLinkList_factory() {}
virtual T* Do_create() = 0;
virtual void Do_destroy(T*) = 0;
};
template <typename T, int I>
struct TEnumerator {
TLinkList<T, I> field_0x0;
TLinkList<T, I> field_0x4;
};
template <typename T, int I>
struct TContainerEnumerator_const : public TEnumerator<T, I> {};
}; // namespace JGadget
#endif /* LINKLIST_H */