summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/tilereg-inv.cc
diff options
context:
space:
mode:
authorChris West <therealchriswest@hotmail.com>2013-01-02 13:13:15 +0000
committerChris West <therealchriswest@hotmail.com>2013-01-05 16:25:24 +0000
commit2b19d870620b82f5585edb6d892aa9f679e2daf4 (patch)
tree53cdede6264fa55fd7c603a35410c907fde2b57c /crawl-ref/source/tilereg-inv.cc
parent357ccb23bde7aa1c92f4047ef9201b95e7355cf9 (diff)
downloadcrawl-ref-2b19d870620b82f5585edb6d892aa9f679e2daf4.tar.gz
crawl-ref-2b19d870620b82f5585edb6d892aa9f679e2daf4.zip
final attempt at fixing inventory paging; added tooltip messages for prev/next icons
Diffstat (limited to 'crawl-ref/source/tilereg-inv.cc')
-rw-r--r--crawl-ref/source/tilereg-inv.cc26
1 files changed, 19 insertions, 7 deletions
diff --git a/crawl-ref/source/tilereg-inv.cc b/crawl-ref/source/tilereg-inv.cc
index 3d6fadce2b..2a60e5cec4 100644
--- a/crawl-ref/source/tilereg-inv.cc
+++ b/crawl-ref/source/tilereg-inv.cc
@@ -36,7 +36,7 @@ InventoryRegion::InventoryRegion(const TileRegionInit &init) : GridRegion(init)
void InventoryRegion::pack_buffers()
{
// Pack base separately, as it comes from a different texture...
- unsigned int i = 0 + (m_grid_page*mx*my);// - m_grid_page); @@CW: how should these tie in????
+ unsigned int i = 0 + (m_grid_page*mx*my - m_grid_page*2); // this has to match the logic in cursor_index()
for (int y = 0; y < my; y++)
{
for (int x = 0; x < mx; x++)
@@ -67,7 +67,7 @@ void InventoryRegion::pack_buffers()
}
}
- i = 0 + (m_grid_page*mx*my);// - m_grid_page);
+ i = 0 + (m_grid_page*mx*my - m_grid_page*2); // this also has to match the logic in cursor_index()
for (int y = 0; y < my; y++)
{
for (int x = 0; x < mx; x++)
@@ -295,6 +295,18 @@ bool InventoryRegion::update_tip_text(string& tip)
if (item_idx >= m_items.size() || m_items[item_idx].empty())
return false;
+ // page next/prev
+ if( _is_next_button(item_idx) )
+ {
+ tip = "Next page\n[L-Click] Show next page of items";
+ return true;
+ }
+ else if( _is_prev_button(item_idx) )
+ {
+ tip = "Previous page\n[L-Click] Show previous page of items";
+ return true;
+ }
+
int idx = m_items[item_idx].idx;
// TODO enne - consider subclassing this class, rather than depending
@@ -595,12 +607,12 @@ bool InventoryRegion::update_alt_text(string &alt)
if (_is_next_button(item_idx))
{
// alt text for next page button
- inf.title = "Next Page";
+ inf.title = "Next page";
}
else if (_is_prev_button(item_idx))
{
// alt text for prev page button
- inf.title = "Previous Page";
+ inf.title = "Previous page";
}
else
get_item_desc(*item, inf, true);
@@ -627,9 +639,9 @@ void InventoryRegion::draw_tag()
bool floor = m_items[curs_index].flag & TILEI_FLAG_FLOOR;
if (_is_next_button(curs_index))
- draw_desc("Next Page");
+ draw_desc("Next page");
else if (_is_prev_button(curs_index))
- draw_desc("Previous Page");
+ draw_desc("Previous page");
else if (floor && mitm[idx].defined())
draw_desc(mitm[idx].name(DESC_PLAIN).c_str());
else if (!floor && you.inv[idx].defined())
@@ -852,7 +864,7 @@ void InventoryRegion::update()
bool InventoryRegion::_is_prev_button(int idx)
{
// idx is an index in m_items as returned by cursor_index()
- return (m_grid_page>0 && idx == mx*my*m_grid_page-1);
+ return (m_grid_page>0 && idx == mx*my*m_grid_page-2*m_grid_page);
}
bool InventoryRegion::_is_next_button(int idx)