CSortedLists: Remove use of const_cast in AddToLinkedList()

Same behavior, but nicer to read.
This commit is contained in:
Lioncash 2020-03-29 21:09:30 -04:00
parent 6d2ef0360f
commit eecd03428d
2 changed files with 8 additions and 6 deletions

View File

@ -30,17 +30,19 @@ void CSortedListManager::Reset() {
}
}
void CSortedListManager::AddToLinkedList(s16 nodeId, s16& headId, s16& tailId) const {
void CSortedListManager::AddToLinkedList(s16 nodeId, s16& headId, s16& tailId) {
if (headId == -1) {
const_cast<SNode&>(AccessElement(x0_nodes, nodeId)).x28_next = headId;
AccessElement(x0_nodes, nodeId).x28_next = headId;
headId = nodeId;
tailId = nodeId;
} else {
if (AccessElement(x0_nodes, nodeId).x28_next != -1)
if (AccessElement(x0_nodes, nodeId).x28_next != -1) {
return;
if (tailId == nodeId)
}
if (tailId == nodeId) {
return;
const_cast<SNode&>(AccessElement(x0_nodes, nodeId)).x28_next = headId;
}
AccessElement(x0_nodes, nodeId).x28_next = headId;
headId = nodeId;
}
}

View File

@ -31,7 +31,7 @@ class CSortedListManager {
std::array<SNode, 1024> x0_nodes;
std::array<SSortedList, 6> xb000_sortedLists;
void Reset();
void AddToLinkedList(s16 a, s16& b, s16& c) const;
void AddToLinkedList(s16 a, s16& b, s16& c);
void RemoveFromList(ESortedList, s16);
void MoveInList(ESortedList, s16);
void InsertInList(ESortedList, SNode& node);