diff --git a/Minecraft.Client/AbstractContainerScreen.cpp b/Minecraft.Client/AbstractContainerScreen.cpp index 2b3e08374..6fd632428 100644 --- a/Minecraft.Client/AbstractContainerScreen.cpp +++ b/Minecraft.Client/AbstractContainerScreen.cpp @@ -33,7 +33,7 @@ void AbstractContainerScreen::init() void AbstractContainerScreen::render(int xm, int ym, float a) { // 4J Stu - Not used -#if 0 +//#if 0 renderBackground(); int xo = (width - imageWidth) / 2; int yo = (height - imageHeight) / 2; @@ -53,8 +53,8 @@ void AbstractContainerScreen::render(int xm, int ym, float a) Slot *hoveredSlot = NULL; - AUTO_VAR(itEnd, menu->slots->end()); - for (AUTO_VAR(it, menu->slots->begin()); it != itEnd; it++) + AUTO_VAR(itEnd, menu->slots.end()); + for (AUTO_VAR(it, menu->slots.begin()); it != itEnd; it++) { Slot *slot = *it; //menu->slots->at(i); @@ -96,17 +96,17 @@ void AbstractContainerScreen::render(int xm, int ym, float a) if (inventory->getCarried() == NULL && hoveredSlot != NULL && hoveredSlot->hasItem()) { - wstring elementName = trimString(Language::getInstance()->getElementName(hoveredSlot->getItem()->getDescriptionId())); - - if (elementName.length() > 0) - { - int x = xm - xo + 12; - int y = ym - yo - 12; - int width = font->width(elementName); - fillGradient(x - 3, y - 3, x + width + 3, y + 8 + 3, 0xc0000000, 0xc0000000); - - font->drawShadow(elementName, x, y, 0xffffffff); - } + //wstring elementName = trimString(Language::getInstance()->getElementName(hoveredSlot->getItem()->getDescriptionId())); + // + //if (elementName.length() > 0) + //{ + // int x = xm - xo + 12; + // int y = ym - yo - 12; + // int width = font->width(elementName); + // fillGradient(x - 3, y - 3, x + width + 3, y + 8 + 3, 0xc0000000, 0xc0000000); + // + // font->drawShadow(elementName, x, y, 0xffffffff); + //} } @@ -115,7 +115,7 @@ void AbstractContainerScreen::render(int xm, int ym, float a) Screen::render(xm, ym, a); glEnable(GL_LIGHTING); glEnable(GL_DEPTH_TEST); -#endif +//#endif } void AbstractContainerScreen::renderLabels() @@ -125,33 +125,33 @@ void AbstractContainerScreen::renderLabels() void AbstractContainerScreen::renderSlot(Slot *slot) { // 4J Unused -#if 0 +//#if 0 int x = slot->x; int y = slot->y; shared_ptr item = slot->getItem(); if (item == NULL) { - int icon = slot->getNoItemIcon(); - if (icon >= 0) - { - glDisable(GL_LIGHTING); - minecraft->textures->bind(minecraft->textures->loadTexture(TN_GUI_ITEMS));//L"/gui/items.png")); - blit(x, y, icon % 16 * 16, icon / 16 * 16, 16, 16); - glEnable(GL_LIGHTING); - return; - } + //int icon = slot->getNoItemIcon(); + //if (icon >= 0) + //{ + // glDisable(GL_LIGHTING); + // minecraft->textures->bind(minecraft->textures->loadTexture(TN_GUI_ITEMS));//L"/gui/items.png")); + // blit(x, y, icon % 16 * 16, icon / 16 * 16, 16, 16); + // glEnable(GL_LIGHTING); + // return; + //} } itemRenderer->renderGuiItem(font, minecraft->textures, item, x, y); itemRenderer->renderGuiItemDecorations(font, minecraft->textures, item, x, y); -#endif +//#endif } Slot *AbstractContainerScreen::findSlot(int x, int y) { - AUTO_VAR(itEnd, menu->slots->end()); - for (AUTO_VAR(it, menu->slots->begin()); it != itEnd; it++) + AUTO_VAR(itEnd, menu->slots.end()); + for (AUTO_VAR(it, menu->slots.begin()); it != itEnd; it++) { Slot *slot = *it; //menu->slots->at(i); if (isHovering(slot, x, y)) return slot; @@ -186,12 +186,12 @@ void AbstractContainerScreen::mouseClicked(int x, int y, int buttonNum) if (clickedOutside) { - slotId = AbstractContainerMenu::CLICKED_OUTSIDE; + slotId = AbstractContainerMenu::SLOT_CLICKED_OUTSIDE; } if (slotId != -1) { - bool quickKey = slotId != AbstractContainerMenu::CLICKED_OUTSIDE && (Keyboard::isKeyDown(Keyboard::KEY_LSHIFT) || Keyboard::isKeyDown(Keyboard::KEY_RSHIFT)); + bool quickKey = slotId != AbstractContainerMenu::SLOT_CLICKED_OUTSIDE && (Keyboard::isKeyDown(Keyboard::KEY_LSHIFT) || Keyboard::isKeyDown(Keyboard::KEY_RSHIFT)); minecraft->gameMode->handleInventoryMouseClick(menu->containerId, slotId, buttonNum, quickKey, minecraft->player); } } diff --git a/Minecraft.Client/InventoryScreen.cpp b/Minecraft.Client/InventoryScreen.cpp index 726a5e8dc..71b80a208 100644 --- a/Minecraft.Client/InventoryScreen.cpp +++ b/Minecraft.Client/InventoryScreen.cpp @@ -38,8 +38,8 @@ void InventoryScreen::render(int xm, int ym, float a) void InventoryScreen::renderBg(float a) { // 4J Unused -#if 0 - int tex = minecraft->textures->loadTexture(L"/gui/inventory.png"); +//#if 0 + int tex = minecraft->textures->loadTexture(TN_GUI_INVENTORY); glColor4f(1, 1, 1, 1); minecraft->textures->bind(tex); int xo = (width - imageWidth) / 2; @@ -80,7 +80,7 @@ void InventoryScreen::renderBg(float a) glPopMatrix(); Lighting::turnOff(); glDisable(GL_RESCALE_NORMAL); -#endif +//#endif } void InventoryScreen::buttonClicked(Button *button) diff --git a/Minecraft.Client/ItemRenderer.cpp b/Minecraft.Client/ItemRenderer.cpp index 49e25060c..995e14c3f 100644 --- a/Minecraft.Client/ItemRenderer.cpp +++ b/Minecraft.Client/ItemRenderer.cpp @@ -351,6 +351,9 @@ void ItemRenderer::renderGuiItem(Font *font, Textures *textures, shared_ptr item, float x, float y, float fScaleX,float fScaleY, float fAlpha, bool useCompiled) { + if (!item) + return; + int itemId = item->id; int itemAuxValue = item->getAuxValue(); Icon *itemIcon = item->getIcon(); diff --git a/Minecraft.Client/Minecraft.Client.vcxproj b/Minecraft.Client/Minecraft.Client.vcxproj index fd776f4f5..8b104c8dc 100644 --- a/Minecraft.Client/Minecraft.Client.vcxproj +++ b/Minecraft.Client/Minecraft.Client.vcxproj @@ -5564,62 +5564,62 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false @@ -8860,123 +8860,123 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false @@ -10615,62 +10615,62 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false @@ -10692,62 +10692,62 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false @@ -20834,62 +20834,62 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false @@ -20909,62 +20909,62 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false @@ -28297,62 +28297,62 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false @@ -32237,123 +32237,123 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false @@ -33681,62 +33681,62 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false @@ -33762,62 +33762,62 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false @@ -38081,62 +38081,62 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false @@ -38156,62 +38156,62 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true - true + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false diff --git a/Minecraft.Client/Minecraft.cpp b/Minecraft.Client/Minecraft.cpp index c9f0e481e..fbe2610c1 100644 --- a/Minecraft.Client/Minecraft.cpp +++ b/Minecraft.Client/Minecraft.cpp @@ -501,6 +501,7 @@ void Minecraft::setScreen(Screen *screen) if (this->screen != NULL) { this->screen->removed(); + delete this->screen; } //4J Gordon: Do not force a stats save here @@ -2293,7 +2294,7 @@ void Minecraft::tick(bool bFirst, bool bUpdateTextures) } } - if (screen == NULL && (player && !ui.GetMenuDisplayed(iPad)) ) + if ((screen == NULL || screen->passEvents) && (player && !ui.GetMenuDisplayed(iPad)) ) { // 4J-PB - add some tooltips if required int iA=-1, iB=-1, iX, iY=IDS_CONTROLS_INVENTORY, iLT=-1, iRT=-1, iLB=-1, iRB=-1, iLS=-1, iRS=-1; @@ -3688,7 +3689,18 @@ void Minecraft::tick(bool bFirst, bool bUpdateTextures) } else { - app.LoadInventoryMenu(iPad,player); + static bool inventoryOpen = false; + //app.LoadInventoryMenu(iPad,player); + if (!inventoryOpen) + { + setScreen(new InventoryScreen(player)); + inventoryOpen = true; + } + else + { + setScreen(NULL); + inventoryOpen = false; + } } } @@ -3776,8 +3788,9 @@ void Minecraft::tick(bool bFirst, bool bUpdateTextures) } else { + InputManager.SetMenuDisplayed(iPad, false); // 4J-PB - if (gameMode && InputManager.GetValue(iPad, ACTION_MENU_CANCEL) > 0 && gameMode->isInputAllowed(ACTION_MENU_CANCEL)) + if (InputManager.GetValue(iPad, ACTION_MENU_CANCEL) > 0)// && gameMode->isInputAllowed(ACTION_MENU_CANCEL)) { setScreen(NULL); } diff --git a/Minecraft.Client/Textures.cpp b/Minecraft.Client/Textures.cpp index f1b0b5522..2e162749d 100644 --- a/Minecraft.Client/Textures.cpp +++ b/Minecraft.Client/Textures.cpp @@ -37,6 +37,7 @@ wchar_t *Textures::preLoaded[TN_COUNT] = L"gui/gui", L"gui/background", L"gui/icons", + L"gui/inventory", L"title/mclogo", L"item/arrows", L"item/boat", diff --git a/Minecraft.Client/Textures.h b/Minecraft.Client/Textures.h index 479279a5e..af762635c 100644 --- a/Minecraft.Client/Textures.h +++ b/Minecraft.Client/Textures.h @@ -28,6 +28,7 @@ typedef enum _TEXTURE_NAME TN_GUI_GUI, TN_GUI_BACKGROUND, TN_GUI_ICONS, + TN_GUI_INVENTORY, TN_TITLE_MCLOGO, TN_ITEM_ARROWS, TN_ITEM_BOAT,