diff --git a/descriptions/rep/en_us.lua b/descriptions/rep/en_us.lua index 4f3de277..c141ec21 100644 --- a/descriptions/rep/en_us.lua +++ b/descriptions/rep/en_us.lua @@ -670,6 +670,6 @@ EID.descriptions["en_us"].horsepills={ EID.descriptions["en_us"].CraftingBagContent = "Bag:" EID.descriptions["en_us"].CraftingRoomContent = "Room:" EID.descriptions["en_us"].CraftingFloorContent = "Floor:" -EID.descriptions["en_us"].CraftingResults = "Results:#(Scroll: Hold TAB + Shoot △/▽)" +EID.descriptions["en_us"].CraftingResults = "Results:#(Scroll: hold {{ButtonSelect}} + {{ButtonY}} {{ButtonA}})" EID.descriptions["en_us"].CraftingBagModError = "!!! {{ColorRed}}ERROR:#{{ColorRed}}This feature currently does not support games with modded items installed" diff --git a/eid_api.lua b/eid_api.lua index 868ab2e9..518f39c1 100644 --- a/eid_api.lua +++ b/eid_api.lua @@ -598,7 +598,7 @@ function EID:renderInlineIcons(spriteTable, posX, posY) for _, sprite in ipairs(spriteTable) do local Xoffset = sprite[1][5] or -1 local Yoffset = sprite[1][6] or 0 - local spriteObj = sprite[1][7] or EID.InlineIconSprite + local spriteObj = (type(sprite[1][7]) == "function" and sprite[1][7]()) or sprite[1][7] or EID.InlineIconSprite if sprite[1][2] >=0 then spriteObj:SetFrame(sprite[1][1], sprite[1][2]) elseif not spriteObj:IsPlaying(sprite[1][1]) or spriteObj:IsFinished(sprite[1][1]) then diff --git a/eid_bagOfCrafting.lua b/eid_bagOfCrafting.lua index c1b31aa5..196d0fde 100644 --- a/eid_bagOfCrafting.lua +++ b/eid_bagOfCrafting.lua @@ -486,7 +486,7 @@ local function shiftBagContent() end local function detectBagContentShift() - if Input.IsActionTriggered(ButtonAction.ACTION_DROP, 0) or Input.IsActionTriggered(ButtonAction.ACTION_DROP, 1) then + if Input.IsActionTriggered(ButtonAction.ACTION_DROP, EID.player.ControllerIndex) then shiftBagContent() end end @@ -671,9 +671,9 @@ function EID:handleBagOfCraftingRendering() EID:appendToDescription(customDescObj, resultDesc) if Input.IsActionPressed(ButtonAction.ACTION_MAP, 0) or Input.IsActionPressed(ButtonAction.ACTION_MAP, 1) then - if Input.IsActionTriggered(ButtonAction.ACTION_SHOOTDOWN, 0) or Input.IsActionTriggered(ButtonAction.ACTION_SHOOTDOWN, 1) then + if Input.IsActionTriggered(ButtonAction.ACTION_SHOOTDOWN, EID.player.ControllerIndex) then EID.bagOfCraftingOffset = math.min(#results-(#results%EID.Config["BagOfCraftingResults"]), EID.bagOfCraftingOffset + EID.Config["BagOfCraftingResults"]) - elseif Input.IsActionTriggered(ButtonAction.ACTION_SHOOTUP, 0) or Input.IsActionTriggered(ButtonAction.ACTION_SHOOTUP, 1) then + elseif Input.IsActionTriggered(ButtonAction.ACTION_SHOOTUP, EID.player.ControllerIndex) then EID.bagOfCraftingOffset = math.max(0, EID.bagOfCraftingOffset - EID.Config["BagOfCraftingResults"]) end toggleControls(false) diff --git a/eid_data.lua b/eid_data.lua index 5f62ae35..b0de85e1 100644 --- a/eid_data.lua +++ b/eid_data.lua @@ -88,6 +88,11 @@ EID.TextReplacementPairs = { {"{{CR}}", "{{ColorReset}}"}, -- Shortcut for Color Resetting {"{{EthernalHeart}}", "{{EternalHeart}}"} -- fix spelling error } +local controllerSprites = Sprite() +controllerSprites:Load("gfx/ui/buttons.anm2", true) +local function getControllerSprite() + return (EID.player.ControllerIndex > 0 and controllerSprites) or EID.InlineIconSprite +end --Format: [SHORTCUT]= {Animationname, Frame, Width, Height, LeftOffset [Default: -1], TopOffset [Default: 0], SpriteObject [Default: EID.InlineIconSprite]} EID.InlineIcons = { @@ -210,6 +215,24 @@ EID.InlineIcons = { ["Quality2"] = {"Quality", 2, 10, 10, 0, 0}, ["Quality3"] = {"Quality", 3, 10, 10, 0, 0}, ["Quality4"] = {"Quality", 4, 10, 10, 0, 0}, + -- Controller Button Icons (XBox based) + ["ButtonY"] = {"XboxOne", 0, 9, 8, 3, 4, function(_) return getControllerSprite() end}, + ["ButtonA"] = {"XboxOne", 1, 9, 8, 3, 4, function(_) return getControllerSprite() end}, + ["ButtonB"] = {"XboxOne", 2, 9, 8, 3, 4, function(_) return getControllerSprite() end}, + ["ButtonX"] = {"XboxOne", 3, 9, 8, 3, 4, function(_) return getControllerSprite() end}, + ["ButtonDDown"] = {"XboxOne", 4, 9, 8, 3, 4, function(_) return getControllerSprite() end}, + ["ButtonDUp"] = {"XboxOne", 5, 8, 9, 3, 4, function(_) return getControllerSprite() end}, + ["ButtonDRight"] = {"XboxOne", 6, 9, 8, 3, 4, function(_) return getControllerSprite() end}, + ["ButtonDLeft"] = {"XboxOne", 7, 9, 8, 3, 4, function(_) return getControllerSprite() end}, + ["ButtonLStick"] = {"XboxOne", 8, 8, 8, 3, 4, controllerSprites}, + ["ButtonRStick"] = {"XboxOne", 9, 8, 8, 3, 4, controllerSprites}, + ["ButtonLB"] = {"XboxOne", 10, 8, 8, 3, 4, function(_) return getControllerSprite() end}, + ["ButtonRB"] = {"XboxOne", 11, 8, 8, 3, 4, function(_) return getControllerSprite() end}, + ["ButtonLT"] = {"XboxOne", 12, 8, 8, 3, 4, function(_) return getControllerSprite() end}, + ["ButtonRT"] = {"XboxOne", 13, 8, 8, 3, 4, function(_) return getControllerSprite() end}, + ["ButtonSelect"] = {"XboxOne", 14, 8, 8, 3, 4, function(_) return getControllerSprite() end}, + ["ButtonMenu"] = {"XboxOne", 15, 8, 8, 3, 4, function(_) return getControllerSprite() end}, + -- Crafting ["Crafting0"] = {"Crafting", 0, 14, 16, -2, -3}, diff --git a/resources/gfx/eid_inline_icons.anm2 b/resources/gfx/eid_inline_icons.anm2 index c78e9982..635e0558 100644 --- a/resources/gfx/eid_inline_icons.anm2 +++ b/resources/gfx/eid_inline_icons.anm2 @@ -1,5 +1,5 @@ - + @@ -330,5 +330,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/gfx/eid_inline_icons.png b/resources/gfx/eid_inline_icons.png index e20261e9..e89e78da 100644 Binary files a/resources/gfx/eid_inline_icons.png and b/resources/gfx/eid_inline_icons.png differ