Batch #5114 by SapitoSucio: 1 byte-identical, 0 confirmed by peer review. - fn_03886 UIChangeMaterialWnd_List::Slot27: byte-identical Merged automatically: every function is byte-identical to the original.
66 lines
1.9 KiB
C++
66 lines
1.9 KiB
C++
#include "UI/UIChangeMaterialWnd.h"
|
|
|
|
// OFFSET: 0x005E1080
|
|
// FUNCTION: fn_03871
|
|
void UIChangeMaterialWnd_List::sub_5E1080(int delta) {
|
|
int64_t newIndex = this->m_selectedIndex + delta;
|
|
const int count = static_cast<int>(this->m_items.size());
|
|
const int maxIndex = count - 1;
|
|
|
|
if (newIndex >= static_cast<uint32_t>(maxIndex)) {
|
|
newIndex = maxIndex;
|
|
}
|
|
|
|
int targetIndex = static_cast<int>(newIndex);
|
|
if (targetIndex < this->m_scrollOffset || targetIndex >= this->m_scrollOffset + this->m_pageSize) {
|
|
int newOffset = this->m_previousScrollOffset;
|
|
if (targetIndex < newOffset || targetIndex >= newOffset + this->m_pageSize) {
|
|
const int candidate = targetIndex - this->m_pageSize + 1;
|
|
const int limit = count - this->m_pageSize;
|
|
newOffset = static_cast<unsigned int>(candidate) < static_cast<unsigned int>(limit) ? candidate : limit;
|
|
}
|
|
|
|
this->m_scrollOffset = newOffset;
|
|
this->sub_5E2A70();
|
|
this->m_previousScrollOffset = this->m_scrollOffset;
|
|
}
|
|
|
|
this->sub_5E3B80(targetIndex);
|
|
}
|
|
|
|
// OFFSET: 0x005E1120
|
|
// FUNCTION: fn_03872
|
|
ITEM_INFO* UIChangeMaterialWnd::GetItemAt(int x, int y) {
|
|
if (this->m_resultX <= x && x <= this->m_resultX + 24 && this->m_resultY <= y && y <= this->m_resultY + 24) {
|
|
return &this->m_resultItem;
|
|
}
|
|
|
|
for (unsigned int i = 0; i < this->m_materials.size(); ++i) {
|
|
const MaterialSlotPos& pos = this->m_materialPos[i];
|
|
if (pos.x <= x && x <= pos.x + 24 && pos.y <= y && y <= pos.y + 24) {
|
|
return &this->m_materials[i];
|
|
}
|
|
}
|
|
return nullptr;
|
|
}
|
|
|
|
// OFFSET: 0x005E1300
|
|
// FUNCTION: fn_03874
|
|
bool UIChangeMaterialWnd::Slot02() {
|
|
return true;
|
|
}
|
|
|
|
// OFFSET: 0x005E1310
|
|
// FUNCTION: fn_03875
|
|
void UIChangeMaterialWnd_List::Move(int x, int y) {
|
|
UIWindow::Move(x, y);
|
|
}
|
|
|
|
// OFFSET: 0x005E2840
|
|
// FUNCTION: fn_03886
|
|
void UIChangeMaterialWnd_List::Slot27(int x, int y) {
|
|
}
|
|
|
|
// OFFSET: 0x005E2A30
|
|
|
|
// OFFSET: 0x005E44C0
|