Match ~list (in CScriptTrigger)

This commit is contained in:
Henrique Gemignani Passos Lima 2022-10-20 17:25:08 +03:00
parent 16cb68c709
commit 8f29934c36
No known key found for this signature in database
GPG Key ID: E224F951761145F8
2 changed files with 15 additions and 5 deletions

View File

@ -338,7 +338,7 @@ public:
// 000c0ec8 00001c 801711a8 4 GetUseInSortedLists__6CActorCFv CActor.o
// 000c0ee4 000014 801711c4 4 SetUseInSortedLists__6CActorFb CActor.o
// 000c0ef8 00001c 801711d8 4 GetCallTouch__6CActorCFv CActor.o
// 000c0f14 000014 801711f4 4 SetCallTouch__6CActorFb CActor.o
void SetCallTouch(bool);
// GetOrbitDistanceCheck__6CActorCFv
// GetCalculateLighting__6CActorCFv
// GetDrawShadow__6CActorCFv

View File

@ -28,9 +28,11 @@ public:
~list() {
node* cur = x4_start;
while (cur != x8_end) {
cur->get_value()->~T();
x0_allocator.deallocate(cur->get_value());
cur = cur->get_next();
node* it = cur;
node* next = cur->get_next();
cur = next;
destroy(it);
x0_allocator.deallocate(it);
}
}
void push_back(const T& val) { do_insert_before(x8_end, val); }
@ -57,6 +59,9 @@ private:
uchar x8_item[sizeof(T)];
node(node* prev, node* next) : x0_prev(prev), x4_next(next) {}
~node() {
get_value()->~T();
}
node* get_prev() const { return x0_prev; }
node* get_next() const { return x4_next; }
@ -104,6 +109,8 @@ public:
bool operator==(const const_iterator& other) const { return current == other.current; }
bool operator!=(const const_iterator& other) const { return current != other.current; }
const node* get_node() const { return current; }
protected:
const node* current;
};
@ -118,7 +125,10 @@ public:
this->current = this->current->x4_next;
return *this;
}
iterator operator++(int) { return const_iterator(this->current->x4_next;
iterator operator++(int) {
node* cur = this->current;
this->current = this->current->x4_next;
return cur;
}
iterator& operator--() {
this->current = this->current->x0_prev;