1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-08-11 17:51:04 +00:00

just savin'

This commit is contained in:
Perttu Ahola 2010-12-22 11:29:06 +02:00
parent 4ec61b0ccd
commit 2e41a5e304
7 changed files with 346 additions and 114 deletions

View file

@ -149,46 +149,19 @@ void GUIInventoryMenu::resizeGui()
return;
m_screensize_old = screensize;
for(u32 i=0; i<m_slots.size(); i++)
{
m_slots[i]->remove();
}
m_slots.clear();
core::rect<s32> rect(
screensize.X/2 - 560/2,
screensize.Y/2 - 300/2,
screensize.Y/2 - 480/2,
screensize.X/2 + 560/2,
screensize.Y/2 + 300/2
screensize.Y/2 + 480/2
);
DesiredRect = rect;
recalculateAbsolutePosition(false);
//v2s32 size = rect.getSize();
core::rect<s32> imgsize(0,0,48,48);
v2s32 basepos(30, 30);
for(s32 i=0; i<PLAYER_INVENTORY_SIZE; i++)
{
s32 x = (i%8) * 64;
s32 y = (i/8) * 64;
v2s32 p(x,y);
core::rect<s32> rect = imgsize + basepos + p;
GUIInventorySlot *item =
new GUIInventorySlot(Environment, this, -1, rect);
m_slots.push_back(item);
}
update();
}
void GUIInventoryMenu::update()
{
for(s32 i=0; i<PLAYER_INVENTORY_SIZE; i++)
{
m_slots[i]->setItem(m_inventory->getItem(i));
}
}
void GUIInventoryMenu::draw()
@ -204,6 +177,51 @@ void GUIInventoryMenu::draw()
video::SColor bgcolor(140,0,0,0);
driver->draw2DRectangle(bgcolor, AbsoluteRect, &AbsoluteClippingRect);
/*
Draw items
*/
{
InventoryList *ilist = m_inventory->getList("main");
if(ilist != NULL)
{
core::rect<s32> imgsize(0,0,48,48);
v2s32 basepos(30, 210);
basepos += AbsoluteRect.UpperLeftCorner;
for(s32 i=0; i<PLAYER_INVENTORY_SIZE; i++)
{
s32 x = (i%8) * 64;
s32 y = (i/8) * 64;
v2s32 p(x,y);
core::rect<s32> rect = imgsize + basepos + p;
drawInventoryItem(Environment, ilist->getItem(i),
rect, &AbsoluteClippingRect);
}
}
}
{
InventoryList *ilist = m_inventory->getList("craft");
if(ilist != NULL)
{
core::rect<s32> imgsize(0,0,48,48);
v2s32 basepos(30, 30);
basepos += AbsoluteRect.UpperLeftCorner;
for(s32 i=0; i<9; i++)
{
s32 x = (i%3) * 64;
s32 y = (i/3) * 64;
v2s32 p(x,y);
core::rect<s32> rect = imgsize + basepos + p;
drawInventoryItem(Environment, ilist->getItem(i),
rect, &AbsoluteClippingRect);
}
}
}
/*
Call base class
*/
gui::IGUIElement::draw();
}