1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

F1 toggles HUD, F2 toggles chat, F5 toggles debug info, F6 toggles profiler pages

This commit is contained in:
Kahrl 2012-02-01 00:56:30 +01:00
parent 0e8bd531c2
commit 0c3d39357b
4 changed files with 326 additions and 106 deletions

View file

@ -1757,6 +1757,50 @@ protected:
float m_accumulator;
};
/*
Splits a list into "pages". For example, the list [1,2,3,4,5] split
into two pages would be [1,2,3],[4,5]. This function computes the
minimum and maximum indices of a single page.
length: Length of the list that should be split
page: Page number, 1 <= page <= pagecount
pagecount: The number of pages, >= 1
minindex: Receives the minimum index (inclusive).
maxindex: Receives the maximum index (exclusive).
Ensures 0 <= minindex <= maxindex <= length.
*/
inline void paging(u32 length, u32 page, u32 pagecount, u32 &minindex, u32 &maxindex)
{
if(length < 1 || pagecount < 1 || page < 1 || page > pagecount)
{
// Special cases or invalid parameters
minindex = maxindex = 0;
}
else if(pagecount <= length)
{
// Less pages than entries in the list:
// Each page contains at least one entry
minindex = (length * (page-1) + (pagecount-1)) / pagecount;
maxindex = (length * page + (pagecount-1)) / pagecount;
}
else
{
// More pages than entries in the list:
// Make sure the empty pages are at the end
if(page < length)
{
minindex = page-1;
maxindex = page;
}
else
{
minindex = 0;
maxindex = 0;
}
}
}
std::string translatePassword(std::string playername, std::wstring password);
enum PointedThingType