Skip to content

Commit b61519f

Browse files
committed
Dashboard mods: default dash previews by Mark
1 parent 3fcd4c4 commit b61519f

File tree

4 files changed

+20
-5
lines changed

4 files changed

+20
-5
lines changed
89.7 KB
Loading
Loading
Loading

source/main/gui/DashBoardManager.cpp

+20-5
Original file line numberDiff line numberDiff line change
@@ -223,18 +223,33 @@ std::string DashBoardManager::determineLayoutFromDashboardMod(CacheEntryPtr& ent
223223
Ogre::FileInfoListPtr filelist
224224
= Ogre::ResourceGroupManager::getSingleton().findResourceFileInfo(entry->resource_group, fmt::format("{}*.layout", basename));
225225

226-
std::string layout;
226+
std::string match_xph, match_rpm;
227227
for (Ogre::FileInfo& fileinfo : *filelist)
228228
{
229229
if (m_actor->ar_driveable == TRUCK)
230230
{
231+
const int redlineRPM = (int)m_actor->ar_engine->getShiftUpRPM();
231232
const char desiredX = App::gfx_speedo_imperial->getBool() ? 'm' : 'k';
232-
layout = DashBestXPH(desiredX, layout, fileinfo.filename);
233-
const float redlineRPM = m_actor->ar_engine->getShiftUpRPM();
234-
layout = DashBestRPM(redlineRPM, layout, fileinfo.filename);
233+
if (DashRPM(fileinfo.filename) >= redlineRPM && DashXPH(fileinfo.filename) == desiredX)
234+
{
235+
return fileinfo.filename; // perfect match
236+
}
237+
else if (DashXPH(fileinfo.filename) == desiredX)
238+
{
239+
match_xph = fileinfo.filename;
240+
}
241+
else if (DashRPM(fileinfo.filename) >= redlineRPM)
242+
{
243+
match_rpm = fileinfo.filename;
244+
}
245+
}
246+
else // boat
247+
{
248+
return fileinfo.filename;
235249
}
236250
}
237-
return layout;
251+
// No ideal match? Return match we have.
252+
return (match_xph != "") ? match_xph : match_rpm;
238253
}
239254

240255
void DashBoardManager::loadDashBoard(std::string const& filename, BitMask_t flags)

0 commit comments

Comments
 (0)