mirror of https://github.com/OpenRCT2/OpenRCT2.git
Process feedback from code review
This commit is contained in:
parent
1265913bdb
commit
9de2819cef
|
@ -432,7 +432,7 @@ static void window_editor_inventions_list_scrollmousedown(rct_window* w, int32_t
|
|||
return;
|
||||
|
||||
// Disallow picking up always-researched items
|
||||
if (researchItem->rawValue < RESEARCHED_ITEMS_END_2 || research_item_is_always_researched(researchItem))
|
||||
if (research_item_is_always_researched(researchItem))
|
||||
return;
|
||||
|
||||
w->Invalidate();
|
||||
|
@ -485,8 +485,7 @@ static void window_editor_inventions_list_cursor(
|
|||
|
||||
// Use the open hand as cursor for items that can be picked up
|
||||
researchItem = window_editor_inventions_list_get_item_from_scroll_y(scrollIndex, y);
|
||||
if (researchItem != nullptr && researchItem->rawValue >= RESEARCHED_ITEMS_END_2
|
||||
&& !research_item_is_always_researched(researchItem))
|
||||
if (researchItem != nullptr && !research_item_is_always_researched(researchItem))
|
||||
{
|
||||
*cursorId = CURSOR_HAND_OPEN;
|
||||
}
|
||||
|
|
|
@ -759,7 +759,7 @@ void research_fix()
|
|||
rct_ride_entry* rideEntry = get_ride_entry(researchItem.entryIndex);
|
||||
if (rideEntry == nullptr)
|
||||
{
|
||||
gResearchItemsInvented.erase(it);
|
||||
it = gResearchItemsInvented.erase(it);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -771,7 +771,7 @@ void research_fix()
|
|||
rct_scenery_group_entry* sceneryGroupEntry = get_scenery_group_entry(researchItem.rawValue);
|
||||
if (sceneryGroupEntry == nullptr)
|
||||
{
|
||||
gResearchItemsInvented.erase(it);
|
||||
it = gResearchItemsInvented.erase(it);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -787,7 +787,7 @@ void research_fix()
|
|||
rct_ride_entry* rideEntry = get_ride_entry(researchItem.entryIndex);
|
||||
if (rideEntry == nullptr)
|
||||
{
|
||||
gResearchItemsUninvented.erase(it);
|
||||
it = gResearchItemsUninvented.erase(it);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -799,7 +799,7 @@ void research_fix()
|
|||
rct_scenery_group_entry* sceneryGroupEntry = get_scenery_group_entry(researchItem.rawValue);
|
||||
if (sceneryGroupEntry == nullptr)
|
||||
{
|
||||
gResearchItemsUninvented.erase(it);
|
||||
it = gResearchItemsUninvented.erase(it);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -849,22 +849,16 @@ void research_fix()
|
|||
|
||||
void research_items_make_all_unresearched()
|
||||
{
|
||||
for (auto it = gResearchItemsInvented.begin(); it != gResearchItemsInvented.end();)
|
||||
{
|
||||
auto& researchItem = *it;
|
||||
gResearchItemsUninvented.push_back(researchItem);
|
||||
gResearchItemsInvented.erase(it);
|
||||
}
|
||||
gResearchItemsUninvented.insert(
|
||||
gResearchItemsUninvented.end(), std::make_move_iterator(gResearchItemsInvented.begin()),
|
||||
std::make_move_iterator(gResearchItemsInvented.end()));
|
||||
}
|
||||
|
||||
void research_items_make_all_researched()
|
||||
{
|
||||
for (auto it = gResearchItemsUninvented.begin(); it != gResearchItemsUninvented.end();)
|
||||
{
|
||||
auto& researchItem = *it;
|
||||
gResearchItemsInvented.push_back(researchItem);
|
||||
gResearchItemsUninvented.erase(it);
|
||||
}
|
||||
gResearchItemsInvented.insert(
|
||||
gResearchItemsInvented.end(), std::make_move_iterator(gResearchItemsUninvented.begin()),
|
||||
std::make_move_iterator(gResearchItemsUninvented.end()));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -873,20 +867,7 @@ void research_items_make_all_researched()
|
|||
*/
|
||||
void research_items_shuffle()
|
||||
{
|
||||
// Count non pre-researched items
|
||||
size_t numNonResearchedItems = gResearchItemsUninvented.size();
|
||||
|
||||
// Shuffle list
|
||||
for (size_t i = 0; i < numNonResearchedItems; i++)
|
||||
{
|
||||
size_t ri = util_rand() % numNonResearchedItems;
|
||||
if (ri == i)
|
||||
continue;
|
||||
|
||||
ResearchItem researchItemTemp = gResearchItemsUninvented[i];
|
||||
gResearchItemsUninvented[i] = gResearchItemsUninvented[ri];
|
||||
gResearchItemsUninvented[ri] = researchItemTemp;
|
||||
}
|
||||
std::shuffle(std::begin(gResearchItemsUninvented), std::end(gResearchItemsUninvented), std::default_random_engine{});
|
||||
}
|
||||
|
||||
bool research_item_is_always_researched(const ResearchItem* researchItem)
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
|
||||
struct rct_ride_entry;
|
||||
|
||||
#pragma pack(push, 1)
|
||||
struct ResearchItem
|
||||
{
|
||||
// Bit 16 (0: scenery entry, 1: ride entry)
|
||||
|
@ -36,8 +35,6 @@ struct ResearchItem
|
|||
bool Equals(const ResearchItem* otherItem) const;
|
||||
bool Exists() const;
|
||||
};
|
||||
assert_struct_size(ResearchItem, 5);
|
||||
#pragma pack(pop)
|
||||
|
||||
enum
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue