From b1c619c9be10091860f1c6773c3f34a61b1e9171 Mon Sep 17 00:00:00 2001 From: XProger Date: Sun, 17 Dec 2017 17:02:40 +0300 Subject: [PATCH] #11 fix black background on first inventory toggle --- src/inventory.h | 8 +++++++- src/level.h | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/inventory.h b/src/inventory.h index 4d1ffa2..e84e7d6 100644 --- a/src/inventory.h +++ b/src/inventory.h @@ -368,6 +368,8 @@ struct Inventory { } bool toggle(Page curPage = PAGE_INVENTORY, TR::Entity::Type type = TR::Entity::LARA) { + titleTimer = 0.0f; + if (phaseRing == 0.0f || phaseRing == 1.0f) { active = !active; vec3 p; @@ -751,7 +753,7 @@ struct Inventory { return false; } - void prepareBackground() { + Texture* getBackgroundTarget() { if (background[0] && (background[0]->origWidth != INVENTORY_BG_SIZE || background[0]->origHeight != INVENTORY_BG_SIZE)) { delete background[0]; background[0] = NULL; @@ -761,6 +763,10 @@ struct Inventory { if (!background[i]) background[i] = new Texture(INVENTORY_BG_SIZE, INVENTORY_BG_SIZE, Texture::RGBA, false); + return background[0]; + } + + void prepareBackground() { Core::setDepthTest(false); Core::setBlending(bmNone); diff --git a/src/level.h b/src/level.h index ca80be7..d588145 100644 --- a/src/level.h +++ b/src/level.h @@ -1250,7 +1250,7 @@ struct Level : IGame { } } - if (Input::state[cInventory] && !level.isTitle()) { + if (Input::state[cInventory] && !level.isTitle() && inventory.titleTimer < 1.0f) { if (lara->health <= 0.0f) inventory.toggle(Inventory::PAGE_OPTION, TR::Entity::INV_PASSPORT); else @@ -1936,7 +1936,7 @@ struct Level : IGame { } if (copyBg) { - Core::defaultTarget = inventory.background[0]; + Core::defaultTarget = inventory.getBackgroundTarget(); bool stereo = Core::settings.detail.stereo; Core::settings.detail.stereo = false; renderGame();