Prevent one-frame blips + improve how scale hotkey interacts with lower refresh rate
This commit is contained in:
1 parent
3aa0bf5685
commit
c950244858
1 file changed
+25
-23
@@ -1153,19 +1153,19 @@ local function onRender(t)
|
|||||||
EID:resumeCoroutines()
|
EID:resumeCoroutines()
|
||||||
ArrowSprite:Update()
|
ArrowSprite:Update()
|
||||||
EID:setPlayer()
|
EID:setPlayer()
|
||||||
if REPENTANCE then
|
|
||||||
local hasBag, bagPlayer = EID:PlayersHaveCollectible(710)
|
|
||||||
if hasBag then
|
|
||||||
EID.bagPlayer = bagPlayer
|
|
||||||
EID:handleBagOfCraftingUpdating()
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
EID.isDisplaying = false
|
EID.isDisplaying = false
|
||||||
EID.descriptionsToPrint = {}
|
EID.descriptionsToPrint = {}
|
||||||
EID.entitiesToPrint = {}
|
EID.entitiesToPrint = {}
|
||||||
alwaysUseLocalMode = false
|
alwaysUseLocalMode = false
|
||||||
-- Do not check our hotkeys while a tab that can modify the hotkey is open
|
if EID:RefreshThisFrame() then
|
||||||
|
EID.CachedIcons = {}
|
||||||
|
EID.CachedStrings = {}
|
||||||
|
EID.CachedRenderPoses = {}
|
||||||
|
EID.CachedIndicators = {}
|
||||||
|
EID.previousDescs = {}
|
||||||
|
end
|
||||||
|
-- Do not check our hide or scale hotkeys while a tab that can modify them is open
|
||||||
if EID.MCMCompat_isDisplayingEIDTab ~= "Visuals" then
|
if EID.MCMCompat_isDisplayingEIDTab ~= "Visuals" then
|
||||||
-- scale key must be handled before resetting to non-local mode
|
-- scale key must be handled before resetting to non-local mode
|
||||||
handleScaleKey()
|
handleScaleKey()
|
||||||
@@ -1180,6 +1180,22 @@ local function onRender(t)
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if REPENTANCE then
|
||||||
|
local hasBag, bagPlayer = EID:PlayersHaveCollectible(710)
|
||||||
|
if hasBag then
|
||||||
|
EID.bagPlayer = bagPlayer
|
||||||
|
EID:handleBagOfCraftingUpdating()
|
||||||
|
-- If we're in the Crafting options tab, the only rendering we want to happen is the Bag of Crafting preview
|
||||||
|
if ModConfigMenu and ModConfigMenu.IsVisible and EID.MCMCompat_isDisplayingEIDTab == "Crafting" then
|
||||||
|
local craftingSuccess = EID:handleBagOfCraftingRendering()
|
||||||
|
if craftingSuccess then
|
||||||
|
EID:printDescription(EID.descriptionsToPrint[#EID.descriptionsToPrint])
|
||||||
|
end
|
||||||
|
return
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- Handle descriptions that display regardless of player position
|
-- Handle descriptions that display regardless of player position
|
||||||
checkStartOfRunWarnings()
|
checkStartOfRunWarnings()
|
||||||
checkPosModifiers()
|
checkPosModifiers()
|
||||||
@@ -1200,13 +1216,11 @@ local function onRender(t)
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- This is not a frame we should check for new descriptions; just print our cached ones
|
-- This is not a frame we should check for new descriptions; just print our cached ones
|
||||||
if not EID:RefreshThisFrame() then
|
if not EID:RefreshThisFrame() and not EID.MCM_OptionChanged then
|
||||||
EID:printDescriptions(true)
|
EID:printDescriptions(true)
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
EID.CachedIndicators = {}
|
|
||||||
|
|
||||||
if EID.Config["EnableMouseControls"] then
|
if EID.Config["EnableMouseControls"] then
|
||||||
local hudDescription = EID:handleHoverHUD()
|
local hudDescription = EID:handleHoverHUD()
|
||||||
if hudDescription then
|
if hudDescription then
|
||||||
@@ -1236,18 +1250,6 @@ local function onRender(t)
|
|||||||
displayedDesc = true
|
displayedDesc = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
-- If we're in the Crafting options tab, the only rendering we want to happen is the Bag of Crafting preview
|
|
||||||
if EID.MCMCompat_isDisplayingEIDTab == "Crafting" then
|
|
||||||
if craftingSuccess then
|
|
||||||
EID:printDescription(EID.descriptionsToPrint[#EID.descriptionsToPrint])
|
|
||||||
return
|
|
||||||
else
|
|
||||||
-- fix blinking bug after using "clear bag" option button
|
|
||||||
EID.previousDescs = {}
|
|
||||||
EID.CachedIndicators = {}
|
|
||||||
end
|
|
||||||
if i == #playerSearch then return end
|
|
||||||
end
|
|
||||||
|
|
||||||
if not displayedDesc or EID.Config["DisplayAllNearby"] then
|
if not displayedDesc or EID.Config["DisplayAllNearby"] then
|
||||||
-- Searching for the closest describable entity to this player
|
-- Searching for the closest describable entity to this player
|
||||||
|
|||||||
Reference in new issue
Block a user