void PlayerInventoryHud::update() { if(player.Interface & INTER_INVENTORY) { if((player.Interface & INTER_COMBATMODE) || player.doingmagic >= 2) { long t = Original_framedelay * (1.f/5) + 2; InventoryY += t; if(InventoryY > 110) { InventoryY = 110; } } else { if(bInventoryClosing) { long t = Original_framedelay * (1.f/5) + 2; InventoryY += t; if(InventoryY > 110) { InventoryY = 110; bInventoryClosing = false; player.Interface &=~ INTER_INVENTORY; if(bInventorySwitch) { bInventorySwitch = false; ARX_SOUND_PlayInterface(SND_BACKPACK, Random::getf(0.9f, 1.1f)); player.Interface |= INTER_INVENTORYALL; ARX_INTERFACE_NoteClose(); InventoryY = 121 * player.bag; lOldInterface=INTER_INVENTORYALL; } } } else if(InventoryY > 0) { InventoryY -= long((Original_framedelay * (1.f/5)) + 2.f); if(InventoryY < 0) { InventoryY = 0; } } } } else if((player.Interface & INTER_INVENTORYALL) || bInventoryClosing) { float fSpeed = (1.f/3); if((player.Interface & INTER_COMBATMODE) || player.doingmagic >= 2) { if(InventoryY < 121 * player.bag) { InventoryY += long((Original_framedelay * fSpeed) + 2.f); } } else { if(bInventoryClosing) { InventoryY += long((Original_framedelay * fSpeed) + 2.f); if(InventoryY > 121 * player.bag) { bInventoryClosing = false; if(player.Interface & INTER_INVENTORYALL) { player.Interface &= ~INTER_INVENTORYALL; } lOldInterface=0; } } else if(InventoryY > 0) { InventoryY -= long((Original_framedelay * fSpeed) + 2.f); if(InventoryY < 0) { InventoryY = 0; } } } } }
void BackpackIconGui::updateInput() { static PlatformInstant flDelay = 0; // Check for backpack Icon if(m_rect.contains(Vec2f(DANAEMouse))) { if(eeMouseUp1() && playerInventory.insert(DRAGINTER)) { ARX_SOUND_PlayInterface(SND_INVSTD); Set_DragInter(NULL); } } if(m_rect.contains(Vec2f(DANAEMouse)) || flDelay != 0) { eMouseState = MOUSE_IN_INVENTORY_ICON; cursorSetInteraction(); if(eeMouseDoubleClick1()) { ARX_SOUND_PlayInterface(SND_BACKPACK, Random::getf(0.9f, 1.1f)); playerInventory.optimize(); flDelay = 0; } else if(eeMouseDown1() || flDelay != 0) { if(flDelay == 0) { flDelay = g_platformTime.frameStart(); return; } else { if(g_platformTime.frameStart() - flDelay < PlatformDurationMs(300)) { return; } else { flDelay = 0; } } if(player.Interface & INTER_INVENTORYALL) { ARX_SOUND_PlayInterface(SND_BACKPACK, Random::getf(0.9f, 1.1f)); g_playerInventoryHud.close(); } else { bInverseInventory = !bInverseInventory; lOldTruePlayerMouseLook = TRUE_PLAYER_MOUSELOOK_ON; } } else if(eeMouseDown2()) { g_playerBook.close(); ARX_INVENTORY_OpenClose(NULL); if(player.Interface & INTER_INVENTORYALL) { g_playerInventoryHud.close(); } else { if(player.Interface & INTER_INVENTORY) { ARX_SOUND_PlayInterface(SND_BACKPACK, Random::getf(0.9f, 1.1f)); g_playerInventoryHud.close(); bInventorySwitch = true; } else { ARX_SOUND_PlayInterface(SND_BACKPACK, Random::getf(0.9f, 1.1f)); player.Interface |= INTER_INVENTORYALL; g_playerInventoryHud.resetPos(); ARX_INTERFACE_NoteClose(); if(TRUE_PLAYER_MOUSELOOK_ON) { WILLRETURNTOFREELOOK = true; } } } TRUE_PLAYER_MOUSELOOK_ON = false; } if(DRAGINTER == NULL) return; } }