Update All of the mods to the latest versions

This commit is contained in:
hlfstr
2022-12-23 01:26:54 -06:00
parent 15c7f6d92b
commit 5d5972ec3b
164 changed files with 185630 additions and 445 deletions

View File

@@ -618,6 +618,10 @@ end
-- Adapted from: https://www.rosettacode.org/wiki/Word_wrap#Lua
SpiffUI.textwrap = function(text, linewidth)
-- if its already wrapped, do nothing
if text:contains("\n") then
return text
end
local function splittokens(s)
local res = {}
for w in s:gmatch("%S+") do
@@ -646,6 +650,7 @@ SpiffUI.textwrap = function(text, linewidth)
end
table.insert(res, table.concat(line, ' '))
return table.concat(res, '\n')
end

View File

@@ -0,0 +1,22 @@
------------------------------------------
-- SpiffUI Radials
---- ISEmoteRadial SpiffUI
------------------------------------------
SpiffUI = SpiffUI or {}
-- Register our Radials
local spiff = SpiffUI:Register("radials")
local _ISEmoteRadialMenu_fillMenu = ISEmoteRadialMenu.fillMenu
function ISEmoteRadialMenu:fillMenu(submenu)
local menu = getPlayerRadialMenu(self.playerNum)
if not submenu then
menu:setRadialImage(ISEmoteRadialMenu.icons["wavehi"])
menu:setRadialText(getText("UI_SpiffUI_EmoteWheel"))
else
menu:setRadialImage(ISEmoteRadialMenu.icons[submenu])
menu:setRadialText(ISEmoteRadialMenu.menu[submenu].name)
end
_ISEmoteRadialMenu_fillMenu(self, submenu)
end

View File

@@ -1,6 +1,6 @@
------------------------------------------
-- SpiffUI Radials
---- ISFirearmRadialMenu getWeapon hack
---- ISFirearmRadialMenu SpiffUI
------------------------------------------
SpiffUI = SpiffUI or {}
@@ -31,5 +31,11 @@ function ISFirearmRadialMenu:display()
o:fillMenu()
end
local weapon = self:getWeapon()
if not weapon then return end
local menu = getPlayerRadialMenu(self.playerNum)
menu:setRadialImage(weapon:getTexture())
menu:setRadialText(weapon:getName())
_ISFirearmRadialMenu_display(self)
end

View File

@@ -285,10 +285,15 @@ function ISRadialMenu:getSliceTooltipMouse(x, y)
end
function ISRadialMenu:getSliceText(sliceIndex)
if sliceIndex < 1 or sliceIndex > #self.slices then return "" end
if sliceIndex < 1 or sliceIndex > #self.slices then return end
return self.slices[sliceIndex].text
end
function ISRadialMenu:getSliceTexture(sliceIndex)
if sliceIndex < 1 or sliceIndex > #self.slices then return end
return self.slices[sliceIndex].texture
end
function ISRadialMenu:showTooltip(item)
if item and spiff.config.showTooltips then
if self.prev == item and (self.toolRender:getIsVisible()
@@ -403,6 +408,7 @@ end
local _ISRadialMenu_undisplay = ISRadialMenu.undisplay
function ISRadialMenu:undisplay()
_ISRadialMenu_undisplay(self)
if self.toolRender and self.toolRender:getIsVisible() then
self.toolRender:removeFromUIManager()
self.toolRender:setVisible(false)
@@ -419,13 +425,70 @@ function ISRadialMenu:undisplay()
self.activeMenu:undisplay()
self.activeMenu = nil
end
self.clock = nil
end
function ISRadialMenu:RadialTick()
if self:isReallyVisible() then
if JoypadState.players[self.playerNum+1] then
self:showTooltip(self:getSliceTooltipJoyPad())
end
local _ISRadialMenu_addSlice = ISRadialMenu.addSlice
function ISRadialMenu:addSlice(text, texture, command, arg1, arg2, arg3, arg4, arg5, arg6)
local slice = {}
slice.text = text
slice.texture = texture
slice.command = { command, arg1, arg2, arg3, arg4, arg5, arg6 }
table.insert(self.slices, slice)
-- we don't actually wan't to pass the string in here anymore.
if self.javaObject then
self.javaObject:addSlice(nil, texture)
end
end
function ISRadialMenu:setRadialText(text)
self.radText = text
end
function ISRadialMenu:setRadialImage(img)
self.radImg = img
end
function ISRadialMenu:setImgChange(state)
self.radImgChange = state
end
function ISRadialMenu:getClock()
return self.clock
end
function ISRadialMenu:setClock(clock, clockSpiff)
self.clock = clock
end
local SUIRadialMenuOverlay = require("SUI/SUI_RadialMenuOverlay")
local _ISRadialMenu_instantiate = ISRadialMenu.instantiate
function ISRadialMenu:instantiate()
_ISRadialMenu_instantiate(self)
if not self.spiff then
self.spiff = SUIRadialMenuOverlay:new(self)
end
end
-- Apparently, I am unable to add a child to the RadialMenu. I think its something to do with it being part Java object?
---- So, instead here is a little hack to bring that parent/child relationship
function ISRadialMenu:addToUIManager()
ISUIElement.addToUIManager(self)
if self.spiff then
self.spiff:display()
end
end
function ISRadialMenu:removeFromUIManager()
ISUIElement.removeFromUIManager(self)
self.radText = nil
self.radImg = nil
self.radImgChange = true
if self.spiff then
self.spiff:undisplay()
end
end
@@ -433,6 +496,10 @@ local _ISRadialMenu_new = ISRadialMenu.new
function ISRadialMenu:new(...)
local o = _ISRadialMenu_new(self, ...)
o:makeToolTip()
return o
end
o.radText = nil
o.radImg = nil
o.radImgChange = true
return o
end

View File

@@ -50,7 +50,7 @@ end
function SpiffUIRadialCommand:fillMenu()
if self.texture then
self.rmenu:addSlice("", self.texture, self.invoke, self)
self.rmenu:addSlice(self.text, self.texture, self.invoke, self)
else -- add a blank
self.rmenu:addSlice(nil, nil, nil)
end
@@ -159,14 +159,22 @@ function SpiffUIRadialMenu:show()
end
if count > 0 then
if self.btmText[self.page] then
self.rmenu:setRadialText(self.btmText[self.page])
end
if self.centerImg[self.page] then
self.rmenu:setRadialImage(self.centerImg[self.page])
end
if self.cImgChange[self.page] ~= nil then
self.rmenu:setImgChange(self.cImgChange[self.page])
end
self.rmenu:center()
self:center()
self.rmenu:addToUIManager()
self:addToUIManager()
self.rmenu:setVisible(true)
self:setVisible(true)
self:bringToTop()
self.rmenu.activeMenu = self
SpiffUI.action.wasVisible = true
if JoypadState.players[self.playerNum+1] then
self.rmenu:setHideWhenButtonReleased(Joypad.DPadUp)
@@ -179,113 +187,7 @@ function SpiffUIRadialMenu:show()
end
end
function SpiffUIRadialMenu:center()
local x = getPlayerScreenLeft(self.playerNum)
local y = getPlayerScreenTop(self.playerNum)
local w = getPlayerScreenWidth(self.playerNum)
local h = getPlayerScreenHeight(self.playerNum)
x = x + w / 2
y = y + h / 2
if self.cmdText then
local cH = getTextManager():getFontHeight(UIFont.Medium)
local cW = getTextManager():MeasureStringX(UIFont.Medium, self.cmdText)
self.cTX = (x - cW / 2)
self.cTY = (y - cH / 2)
self.bTY = (y - cH / 2) + (cH * 2)
end
if self.btmText[self.page] then
local bh = getTextManager():getFontHeight(UIFont.Medium)
local bw = getTextManager():MeasureStringX(UIFont.Medium, self.btmText[self.page])
self.bTX = (x - bw / 2)
self.bTY = (y - bh / 2) + (bh * 2)
end
self.imgH = self.rmenu.innerRadius/2
self.imgW = self.imgH
self.imgX = (x - self.imgW / 2)
self.imgY = (y - self.imgH / 2)
self.cenX = x
self.cenY = y
end
function SpiffUIRadialMenu:render()
local index = -1
-- This is a better way to handle this. :D
if self.cIndex then -- force show
index = -1
elseif JoypadState.players[self.playerNum+1] then
index = self.rmenu.javaObject:getSliceIndexFromJoypad(self.rmenu.joyfocus.id)
else
index = self.rmenu.javaObject:getSliceIndexFromMouse(self.rmenu:getMouseX(), self.rmenu:getMouseY())
end
self.cmdText = nil
self.cmdImg = nil
if index > -1 then
if self.rmenu:getSliceCommand(index+1) and self.rmenu:getSliceCommand(index+1)[2] then
self.cmdText = SpiffUI.textwrap(self.rmenu:getSliceCommand(index+1)[2].text,20)
self.cmdImg = self.rmenu:getSliceCommand(index+1)[2].texture
end
end
self:center()
if index == -1 then
if self.centerImg[self.page] then
self:drawTextureScaledAspect(self.centerImg[self.page], self.imgX, self.imgY, self.imgW, self.imgH, 1, 1, 1, 1)
end
if self.btmText[self.page] then
self:drawText(self.btmText[self.page], self.bTX, self.bTY, 1,1,1,1, UIFont.Medium)
end
else
if self.cImgChange[self.page] then
if self.cmdImg then
self:drawTextureScaledAspect(self.cmdImg, self.imgX, self.imgY, self.imgW, self.imgH, 1, 1, 1, 1)
else
if self.centerImg[self.page] then
self:drawTextureScaledAspect(self.centerImg[self.page], self.imgX, self.imgY, self.imgW, self.imgH, 1, 1, 1, 1)
end
end
else
if self.centerImg[self.page] then
self:drawTextureScaledAspect(self.centerImg[self.page], self.imgX, self.imgY, self.imgW, self.imgH, 1, 1, 1, 1)
end
end
if self.cmdText then
if self.centerImg[self.page] or self.cImgChange[self.page] then
-- Draw cmdText at bottom
self:drawText(self.cmdText, self.cTX, self.bTY, 1,1,1,1, UIFont.Medium)
else
if self.btmText[self.page] then
-- Draw btmText
self:drawText(self.btmText[self.page], self.bTX, self.bTY, 1,1,1,1, UIFont.Medium)
end
-- Draw cmdText at middle
self:drawText(self.cmdText, self.cTX, self.cTY, 1,1,1,1, UIFont.Medium)
end
else
if self.btmText[self.page] then
self:drawText(self.btmText[self.page], self.bTX, self.bTY, 1,1,1,1, UIFont.Medium)
end
end
if JoypadState.players[self.playerNum+1] then
self.rmenu:showTooltip(self.rmenu:getSliceTooltipJoyPad())
end
end
end
function SpiffUIRadialMenu:undisplay()
self:removeFromUIManager()
end
function SpiffUIRadialMenu:AddCommand(command)
@@ -322,10 +224,10 @@ function SpiffUIRadialMenu:new(player, prev, centerImg, btmText)
o.prevTex = getTexture("media/spifcons/prevpage.png")
o.centerImg = {
[o.page] = centerImg
[1] = centerImg
}
o.btmText = {
[o.page] = btmText
[1] = btmText
}
o.cmdText = nil

View File

@@ -38,16 +38,16 @@ function SpiffUIAlarmRadialCommand:new(menu, mode, alarm)
local tex
local label = ""
if mode == 1 then
tex = menu.icons["silence"]
tex = menu.aicons["silence"]
label = getText("UI_alarm_SpiffUI_Silence")
elseif mode == 2 then
tex = menu.icons["enable"]
tex = menu.aicons["enable"]
label = getText("UI_alarm_SpiffUI_Enable")
elseif mode == 3 then
tex = alarm:getTexture()
label = getText("UI_alarm_SpiffUI_Reset")
elseif mode == 4 then
tex = menu.icons["stop"]
tex = menu.aicons["stop"]
label = getText("ContextMenu_StopAlarm")
end
local o = spiff.radialcommand.new(self, menu, label, tex, nil)
@@ -64,7 +64,7 @@ function SpiffUIAlarmRadialCommandHour:Action()
end
function SpiffUIAlarmRadialCommandHour:new(menu, hour)
local o = spiff.radialcommand.new(self, menu, "", menu.icons[hour], nil)
local o = spiff.radialcommand.new(self, menu, getText("UI_alarm_SpiffUI_SetHourF", string.format("%02d", hour), getText("UI_alarm_SpiffUI_MM")), menu.aicons[hour], nil)
o.hour = hour
return o
end
@@ -81,14 +81,19 @@ function SpiffUIAlarmRadialCommandMinute:Action()
self.menu:start()
end
function SpiffUIAlarmRadialCommandMinute:new(menu, minute)
local o = spiff.radialcommand.new(self, menu, "", menu.icons[minute], nil)
function SpiffUIAlarmRadialCommandMinute:new(menu, minute, hText)
local o = spiff.radialcommand.new(self, menu, getText("UI_alarm_SpiffUI_SetMinuteF", hText, string.format("%02d", minute)), menu.aicons[minute], nil)
o.minute = minute
return o
end
------------------------------------------
function SpiffUIAlarmRadial:show()
spiff.radialmenu.show(self)
self.rmenu:setClock(self.alarm)
end
function SpiffUIAlarmRadial:start()
self:prepareCmds()
@@ -107,7 +112,6 @@ function SpiffUIAlarmRadial:start()
end
self.btmText[self.page] = getText("UI_alarm_SpiffUI_CurrentF", hText, mText)
self.btmText[self.page] = self.btmText[self.page]:gsub('\\n', '\n')
if self.alarm:isRinging() then
self:AddCommand(SpiffUIAlarmRadialCommand:new(self,4,self.alarm))
@@ -123,7 +127,7 @@ function SpiffUIAlarmRadial:hourRadial()
self:prepareCmds()
self.btmText[self.page] = getText("UI_alarm_SpiffUI_SetHourF", getText("UI_alarm_SpiffUI_HH"), getText("UI_alarm_SpiffUI_MM"))
self.btmText[self.page] = self.btmText[self.page]:gsub('\\n', '\n')
self.cImgChange[self.page] = false
for i = 0, 23 do
table.insert(self.commands[self.page], SpiffUIAlarmRadialCommandHour:new(self, i))
@@ -143,26 +147,15 @@ function SpiffUIAlarmRadial:minuteRadial()
end
self.btmText[self.page] = getText("UI_alarm_SpiffUI_SetMinuteF", hText, getText("UI_alarm_SpiffUI_MM"))
self.btmText[self.page] = self.btmText[self.page]:gsub('\\n', '\n')
self.cImgChange[self.page] = false
for i = 0, 5 do
table.insert(self.commands[self.page], SpiffUIAlarmRadialCommandMinute:new(self, i*10))
table.insert(self.commands[self.page], SpiffUIAlarmRadialCommandMinute:new(self, i*10, hText))
end
self:show()
end
function SpiffUIAlarmRadial:initialise()
if self.init then
-- This is called by "onSetAlarm"
-- We'll just override this to show the radial instead
self:display()
else
ISUIElement.initialise(self)
self.init = true
end
end
function SpiffUIAlarmRadial:new(player, alarm, prev)
local o = spiff.radialmenu.new(self, player, prev)
o.alarm = alarm
@@ -170,7 +163,7 @@ function SpiffUIAlarmRadial:new(player, alarm, prev)
o.minute = o.alarm:getMinute()
-- Alarm icons
o.icons = {
o.aicons = {
[30] = getTexture("media/spifcons/alarm/30.png"),
[40] = getTexture("media/spifcons/alarm/40.png"),
[50] = getTexture("media/spifcons/alarm/50.png"),
@@ -180,15 +173,39 @@ function SpiffUIAlarmRadial:new(player, alarm, prev)
}
-- Do the rest
for i=0,23 do
o.icons[i] = getTexture("media/spifcons/alarm/" .. string.format("%02d", i) .. ".png")
o.aicons[i] = getTexture("media/spifcons/alarm/" .. string.format("%02d", i) .. ".png")
end
o.icons = {
["mid"] = getTexture("media/spifcons/clock/mid.png"),
["silence"] = getTexture("media/ui/ClockAssets/ClockAlarmLargeSet.png"),
["enable"] = getTexture("media/ui/ClockAssets/ClockAlarmLargeSound.png"),
}
for i=0,9 do
o.icons[i] = getTexture(string.format("media/spifcons/clock/%d.png", i))
end
return o
end
-- later when i get the inventory to dismiss/reappear for controllers. i've delayed release enough for now
-- local _ISAlarmClockDialog_new = ISAlarmClockDialog.new
-- function ISAlarmClockDialog:new(x, y, width, height, player, alarm)
-- --return _ISAlarmClockDialog_new(self, x, y, width, height, player, alarm)
-- return SpiffUIAlarmRadial:new(getSpecificPlayer(player), alarm)
-- end
local _ISAlarmClockDialog_new = ISAlarmClockDialog.new
function ISAlarmClockDialog:new(x, y, width, height, player, alarm)
if JoypadState.players[player+1] then
return _ISAlarmClockDialog_new(self, x, y, width, height, player, alarm)
else
return SpiffUIAlarmRadial:new(getSpecificPlayer(player), alarm)
end
end
function SpiffUIAlarmRadial:initialise()
if self.init then
-- This is called again by "onSetAlarm"
-- We'll just override this to show the radial instead
self:display()
else
ISUIElement.initialise(self)
self.init = true
end
end

View File

@@ -99,7 +99,7 @@ local function getItems(packs, player)
-- the only real difference between food and drinks is if there is a custom menu option/animation it seems.
return item:isWaterSource()
or (instanceof(item, "Food") and not player:isKnownPoison(item) and not item:getScriptItem():isCantEat())
and (item:getThirstChange() < 0 and item:getCustomMenuOption() == getText("ContextMenu_Drink"))
and (item:getCustomMenuOption() == getText("ContextMenu_Drink"))
end)
if ps and ps:size() > 0 then
for i = 0, ps:size() - 1 do
@@ -167,7 +167,7 @@ function SpiffUIDrinkRadial:start()
hasCmd = true
end
self.centerImg[self.page] = InventoryItemFactory.CreateItem("Base.WaterBottleFull"):getTexture()
self.btmText[self.page] = getText("UI_SpiffUI_Radial_Drink")
self.btmText[self.page] = "<RGB:1,0,0> "..getText("UI_SpiffUI_Radial_Drink")
self.cImgChange[self.page] = true
end

View File

@@ -344,7 +344,7 @@ function SpiffUIEquipmentRadial:itemOptions(item)
if not item then return end
-- Get Hotbar & loot
local hotbar = getPlayerHotbar(self.player:getPlayerNum())
local hotbar = getPlayerHotbar(self.playerNum)
local loot = getPlayerLoot(self.playerNum)
self.btmText[self.page] = SpiffUI.textwrap(item:getName(), 20) -- some names are just too long :/

View File

@@ -29,244 +29,62 @@ function SpiffUIOneRadialCommand:new(menu, name, texture, mode)
return o
end
local tickWatch = ISUIElement:derive("tickWatch")
-- local tickWatch = ISUIElement:derive("tickWatch")
function tickWatch:render()
local hour = getGameTime():getHour()
minutes = getGameTime():getMinutes()
-- function tickWatch:render()
-- local hour = getGameTime():getHour()
-- minutes = getGameTime():getMinutes()
hour = hour + (minutes/60)
-- hour = hour + (minutes/60)
local endX = self.cenX + ( (self.hrLen) * (math.sin(2 * math.pi * hour / 12 ) ) )
local endY = self.cenY + ( (-self.hrLen) * (math.cos(2 * math.pi * hour / 12 ) ) )
-- local endX = self.cenX + ( (self.hrLen) * (math.sin(2 * math.pi * hour / 12 ) ) )
-- local endY = self.cenY + ( (-self.hrLen) * (math.cos(2 * math.pi * hour / 12 ) ) )
self:drawLine2(self.cenX, self.cenY, endX, endY, 1, 1, 1, 1)
-- self:drawLine2(self.cenX, self.cenY, endX, endY, 1, 1, 1, 1)
endX = self.cenX + ( (self.minLen) * (math.sin(2 * math.pi * minutes / 60 ) ) )
endY = self.cenY + ( (-self.minLen) * (math.cos(2 * math.pi * minutes / 60 ) ) )
-- endX = self.cenX + ( (self.minLen) * (math.sin(2 * math.pi * minutes / 60 ) ) )
-- endY = self.cenY + ( (-self.minLen) * (math.cos(2 * math.pi * minutes / 60 ) ) )
self:drawLine2(self.cenX, self.cenY, endX, endY, 1, 1, 1, 1)
end
-- self:drawLine2(self.cenX, self.cenY, endX, endY, 1, 1, 1, 1)
-- end
function tickWatch:center()
local x = getPlayerScreenLeft(self.playerNum)
local y = getPlayerScreenTop(self.playerNum)
local w = getPlayerScreenWidth(self.playerNum)
local h = getPlayerScreenHeight(self.playerNum)
-- function tickWatch:center()
-- local x = getPlayerScreenLeft(self.playerNum)
-- local y = getPlayerScreenTop(self.playerNum)
-- local w = getPlayerScreenWidth(self.playerNum)
-- local h = getPlayerScreenHeight(self.playerNum)
x = x + w / 2
y = y + h / 2
-- x = x + w / 2
-- y = y + h / 2
self:setX(x - self.rad / 2)
self:setY(y - self.rad / 2)
-- self:setX(x - self.rad / 2)
-- self:setY(y - self.rad / 2)
self.cenX = x
self.cenY = y
end
-- self.cenX = x
-- self.cenY = y
-- end
function tickWatch:new(playerNum, radius, clock, menu)
local o = ISUIElement.new(self, 0, 0, radius, radius/3)
o:initialise()
-- function tickWatch:new(playerNum, radius, clock, menu)
-- local o = ISUIElement.new(self, 0, 0, radius, radius/3)
-- o:initialise()
o.clock = clock
o.rad = radius
-- o.clock = clock
-- o.rad = radius
o.playerNum = playerNum
-- o.playerNum = playerNum
o.imgW = o.rad
o.imgH= o.rad
-- o.imgW = o.rad
-- o.imgH= o.rad
o.hrLen = o.rad*0.5
o.minLen = o.rad*0.8
-- o.hrLen = o.rad*0.5
-- o.minLen = o.rad*0.8
self.menu = menu
-- self.menu = menu
o:center()
-- o:center()
return o
end
local timeImg = ISUIElement:derive("timeImg")
function timeImg:render()
local time = getGameTime():getHour()
local h1 = 0
local h2 = 0
if time > 9 then
h1 = math.floor(time/10)
end
h2 = time - (h1*10)
self:drawTextureScaledAspect(self.menu.icons[h1], self.X[1], 0, self.secW, self.imgH, 1,1,1,1)
self:drawTextureScaledAspect(self.menu.icons[h2], self.X[2], 0, self.secW, self.imgH, 1,1,1,1)
self:drawTextureScaledAspect(self.menu.icons["mid"], self.X[3], 0, self.midW, self.imgH, 1,1,1,1)
time = getGameTime():getMinutes()
h1 = 0
h2 = 0
if time > 9 then
h1 = math.floor(time/10)
end
h2 = time - (h1*10)
self:drawTextureScaledAspect(self.menu.icons[h1], self.X[4], 0, self.secW, self.imgH, 1,1,1,1)
self:drawTextureScaledAspect(self.menu.icons[h2], self.X[5], 0, self.secW, self.imgH, 1,1,1,1)
end
function timeImg:center()
local x = getPlayerScreenLeft(self.playerNum)
local y = getPlayerScreenTop(self.playerNum)
local w = getPlayerScreenWidth(self.playerNum)
local h = getPlayerScreenHeight(self.playerNum)
x = x + w / 2
y = y + h / 2
self:setX(x - self.imgW / 2)
self:setY(y - self.rad / 2)
self.cenX = x
self.cenY = y
end
function timeImg:new(playerNum, radius, clock, menu)
local o = ISUIElement.new(self, 0, 0, radius, radius/3)
o:initialise()
o.clock = clock
o.rad = radius
o.playerNum = playerNum
o.imgW = o.rad
o.imgH= o.rad/3
o.secW = o.rad/4
o.midW = o.rad/8
o.X = {
[1] = 0,
[2] = o.secW,
[3] = o.secW + o.secW,
[4] = o.secW + o.secW + o.midW,
[5] = o.secW + o.secW + o.midW + o.secW
}
o.imgW = o.X[5] + o.secW
self.menu = menu
o:center()
return o
end
local dateImg = ISUIElement:derive("dateImg")
local function round(num)
return math.floor(num * 10) / 10;
end
function dateImg:render()
local time = getGameTime():getMonth()+1
local h1 = 0
local h2 = 0
if time > 9 then
h1 = math.floor(time/10)
end
h2 = time - (h1*10)
self:drawTextureScaledAspect(self.menu.icons[h1], self.X[1], 0, self.secW, self.imgH, 1,1,1,1)
self:drawTextureScaledAspect(self.menu.icons[h2], self.X[2], 0, self.secW, self.imgH, 1,1,1,1)
self:drawTextureScaledAspect(self.menu.icons["date"], self.X[3], 0, self.secW, self.imgH, 1,1,1,1)
time = getGameTime():getDay()+1
h1 = 0
h2 = 0
if time > 9 then
h1 = math.floor(time/10)
end
h2 = time - (h1*10)
self:drawTextureScaledAspect(self.menu.icons[h1], self.X[4], 0, self.secW, self.imgH, 1,1,1,1)
self:drawTextureScaledAspect(self.menu.icons[h2], self.X[5], 0, self.secW, self.imgH, 1,1,1,1)
-------------------------------------
local temp = round(self.climate:getAirTemperatureForCharacter(self.player))
time = math.floor(temp)
h1 = 0
h2 = 0
if time > 9 then
h1 = math.floor(time/10)
end
h2 = time - (h1*10)
self:drawTextureScaledAspect(self.menu.icons[h1], self.X[6], 0, self.secW, self.imgH, 1,1,1,1)
self:drawTextureScaledAspect(self.menu.icons[h2], self.X[7], 0, self.secW, self.imgH, 1,1,1,1)
self:drawTextureScaledAspect(self.menu.icons["dot"], self.X[8], 5, self.midW, self.imgH, 1,1,1,1)
h1 = math.floor((temp - time) * 10)
self:drawTextureScaledAspect(self.menu.icons[h1], self.X[9], 0, self.secW, self.imgH, 1,1,1,1)
self:drawTextureScaledAspect(self.menu.icons["C"], self.X[10], 0, self.secW, self.imgH, 1,1,1,1)
end
function dateImg:center()
local x = getPlayerScreenLeft(self.playerNum)
local y = getPlayerScreenTop(self.playerNum)
local w = getPlayerScreenWidth(self.playerNum)
local h = getPlayerScreenHeight(self.playerNum)
x = x + w / 2
y = y + h / 2
self:setX(x - self.imgW / 2)
self:setY((y - self.rad / 2) + (self.rad * 0.4))
end
function dateImg:new(playerNum, player, radius, clock, menu)
local o = ISUIElement.new(self, 0, 0, radius, radius/3)
o:initialise()
o.clock = clock
o.climate = getClimateManager()
o.rad = radius
o.playerNum = playerNum
o.player = player
o.imgW = o.rad
o.imgH= o.rad/6
o.secW = (o.rad/8)
o.midW = (o.rad/10)
o.X ={
[1] = 0,
[2] = o.secW,
[3] = 2*o.secW,
[4] = 3*o.secW,
[5] = 4*o.secW,
[6] = 6*o.secW,
[7] = 7*o.secW,
[8] = 8*o.secW-2,
[9] = 8*o.secW+(o.midW/2)+2,
[10] = 9*o.secW+(o.midW/2)+2,
}
o.imgW = 10*o.secW+(o.midW/2)
self.menu = menu
o:center()
return o
end
-- return o
-- end
local function getBestClock(player)
local watch = nil
@@ -295,25 +113,31 @@ local function getBestClock(player)
return watch
end
function SpiffUIOneRadial:show()
spiff.radialmenu.show(self)
self.rmenu:setClock(getBestClock(self.player))
end
function SpiffUIOneRadial:start()
self.clock = getBestClock(self.player)
if self.clock then
self.cFace = nil
if spiff.config.experimental and (not self.clock:isDigital() or instanceof(self.clock, "AlarmClock")) then
-- hand clock or non-digital watch
self.cFace = tickWatch:new(self.playerNum, self.rmenu.innerRadius, self.clock, self)
else
self.cFace = timeImg:new(self.playerNum, self.rmenu.innerRadius, self.clock, self)
end
--self.clock =
-- if self.clock then
-- self.cFace = nil
-- if spiff.config.experimental and (not self.clock:isDigital() or instanceof(self.clock, "AlarmClock")) then
-- -- hand clock or non-digital watch
-- self.cFace = tickWatch:new(self.playerNum, self.rmenu.innerRadius, self.clock, self)
-- else
-- self.cFace = timeImg:new(self.playerNum, self.rmenu.innerRadius, self.clock, self)
-- end
self:addChild(self.cFace)
-- show date/temp
if self.clock:isDigital() and instanceof(self.clock, "AlarmClockClothing") then
self.dFace = dateImg:new(self.playerNum, self.player, self.rmenu.innerRadius, self.clock, self)
self:addChild(self.dFace)
end
end
-- self:addChild(self.cFace)
-- -- show date/temp
-- if self.clock:isDigital() and instanceof(self.clock, "AlarmClockClothing") then
-- self.dFace = dateImg:new(self.playerNum, self.player, self.rmenu.innerRadius, self.clock, self)
-- self:addChild(self.dFace)
-- end
-- end
-- Crafting
self:AddCommand(SpiffUIOneRadialCommand:new(self, getText("UI_SpiffUI_Radial_Crafting"), getTexture("media/spifcons/crafting.png"), 0))
@@ -345,7 +169,7 @@ function SpiffUIOneRadial:start()
self:AddCommand(SpiffUIOneRadialCommand:new(self, getText("UI_SpiffUI_Radial_SmokeCraft"), icon, 7))
end
if spiff.config.showSmokingRadial then
if spiff.config.showSmokeRadial then
-- Smoke
self:AddCommand(SpiffUIOneRadialCommand:new(self, getText("UI_SpiffUI_Radial_Smoke"), InventoryItemFactory.CreateItem("Base.Cigarettes"):getTexture(), 8))
end
@@ -359,45 +183,6 @@ function SpiffUIOneRadial:start()
end
end
function SpiffUIOneRadial:render()
local index = -1
if self.cIndex then -- force show
index = -1
elseif JoypadState.players[self.playerNum+1] then
index = self.rmenu.javaObject:getSliceIndexFromJoypad(self.rmenu.joyfocus.id)
else
index = self.rmenu.javaObject:getSliceIndexFromMouse(self.rmenu:getMouseX(), self.rmenu:getMouseY())
end
self.cmdText = nil
if index > -1 then
if self.rmenu:getSliceCommand(index+1) and self.rmenu:getSliceCommand(index+1)[2] then
self.cmdText = SpiffUI.textwrap(self.rmenu:getSliceCommand(index+1)[2].text,20)
end
end
self:center()
if index > -1 then
if self.cmdText then
-- Draw cmdText at bottom
self:drawText(self.cmdText, self.cTX, self.bTY, 1,1,1,1, UIFont.Medium)
end
end
if self.clock and self.clock:isAlarmSet() then
local sz = self.rmenu.innerRadius/3
local y = self.cFace:getY() - (sz*1.15)
local x = self.cenX - sz/2
if self.clock:isRinging() then
self:drawTextureScaledAspect(self.icons["enable"], x, y, sz, sz, 1,1,1,1)
else
self:drawTextureScaledAspect(self.icons["silence"], x, y, sz, sz, 1,1,1,1)
end
end
end
function SpiffUIOneRadial:new(player)
local o = spiff.radialmenu.new(self, player)

View File

@@ -0,0 +1,405 @@
SpiffUI = SpiffUI or {}
-- Register our Radials
local spiff = SpiffUI:Register("radials")
-- RadialMenuOverlay
local SUIRadialMenuOverlay = ISUIElement:derive("SUIRadialMenuOverlay")
local timeImg = ISUIElement:derive("timeImg")
function timeImg:center()
local x = getPlayerScreenLeft(self.playerNum)
local y = getPlayerScreenTop(self.playerNum)
local w = getPlayerScreenWidth(self.playerNum)
local h = getPlayerScreenHeight(self.playerNum)
x = x + w / 2
y = y + h / 2
self:setX(x - self.imgW / 2)
self:setY(y - self.rad / 2)
self.cenX = x
self.cenY = y
end
function timeImg:render(one)
self:center()
local time = getGameTime():getHour()
local h1 = 0
local h2 = 0
if time > 9 then
h1 = math.floor(time/10)
end
h2 = time - (h1*10)
self:drawTextureScaledAspect(one.icons[h1], self.X[1], 0, self.secW, self.imgH, 1,1,1,1)
self:drawTextureScaledAspect(one.icons[h2], self.X[2], 0, self.secW, self.imgH, 1,1,1,1)
self:drawTextureScaledAspect(one.icons["mid"], self.X[3], 0, self.midW, self.imgH, 1,1,1,1)
time = getGameTime():getMinutes()
h1 = 0
h2 = 0
if time > 9 then
h1 = math.floor(time/10)
end
h2 = time - (h1*10)
self:drawTextureScaledAspect(one.icons[h1], self.X[4], 0, self.secW, self.imgH, 1,1,1,1)
self:drawTextureScaledAspect(one.icons[h2], self.X[5], 0, self.secW, self.imgH, 1,1,1,1)
end
function timeImg:new(playerNum, menu)
local o = ISUIElement.new(self, 0, 0, menu.innerRadius, menu.innerRadius/3)
o:initialise()
o:instantiate()
o.playerNum = playerNum
o.menu = menu
o.rad = menu.innerRadius
o.imgW = o.rad
o.imgH= o.rad/3
o.secW = o.rad/4
o.midW = o.rad/8
o.X = {
[1] = 0,
[2] = o.secW,
[3] = o.secW + o.secW,
[4] = o.secW + o.secW + o.midW,
[5] = o.secW + o.secW + o.midW + o.secW
}
o.imgW = o.X[5] + o.secW
return o
end
local dateImg = ISUIElement:derive("dateImg")
local function round(num)
return math.floor(num * 10) / 10;
end
function dateImg:center()
local x = getPlayerScreenLeft(self.playerNum)
local y = getPlayerScreenTop(self.playerNum)
local w = getPlayerScreenWidth(self.playerNum)
local h = getPlayerScreenHeight(self.playerNum)
x = x + w / 2
y = y + h / 2
self:setX(x - self.imgW / 2)
self:setY((y - self.rad / 2) + (self.rad * 0.4))
end
function dateImg:render(one)
self:center()
local time = getGameTime():getMonth()+1
local h1 = 0
local h2 = 0
if time > 9 then
h1 = math.floor(time/10)
end
h2 = time - (h1*10)
self:drawTextureScaledAspect(one.icons[h1], self.X[1], 0, self.secW, self.imgH, 1,1,1,1)
self:drawTextureScaledAspect(one.icons[h2], self.X[2], 0, self.secW, self.imgH, 1,1,1,1)
self:drawTextureScaledAspect(one.icons["date"], self.X[3], 0, self.secW, self.imgH, 1,1,1,1)
time = getGameTime():getDay()+1
h1 = 0
h2 = 0
if time > 9 then
h1 = math.floor(time/10)
end
h2 = time - (h1*10)
self:drawTextureScaledAspect(one.icons[h1], self.X[4], 0, self.secW, self.imgH, 1,1,1,1)
self:drawTextureScaledAspect(one.icons[h2], self.X[5], 0, self.secW, self.imgH, 1,1,1,1)
-------------------------------------
local temp = round(self.climate:getAirTemperatureForCharacter(self.player))
time = math.floor(temp)
h1 = 0
h2 = 0
if time > 9 then
h1 = math.floor(time/10)
end
h2 = time - (h1*10)
self:drawTextureScaledAspect(one.icons[h1], self.X[6], 0, self.secW, self.imgH, 1,1,1,1)
self:drawTextureScaledAspect(one.icons[h2], self.X[7], 0, self.secW, self.imgH, 1,1,1,1)
self:drawTextureScaledAspect(one.icons["dot"], self.X[8], 5, self.midW, self.imgH, 1,1,1,1)
h1 = math.floor((temp - time) * 10)
self:drawTextureScaledAspect(one.icons[h1], self.X[9], 0, self.secW, self.imgH, 1,1,1,1)
self:drawTextureScaledAspect(one.icons["C"], self.X[10], 0, self.secW, self.imgH, 1,1,1,1)
end
function dateImg:new(playerNum, menu)
local o = ISUIElement.new(self, 0, 0, menu.innerRadius, menu.innerRadius/3)
o:initialise()
o:instantiate()
o.menu = menu
o.climate = getClimateManager()
o.rad = menu.innerRadius
o.playerNum = playerNum
o.player = getSpecificPlayer(o.playerNum)
o.imgW = o.rad
o.imgH= o.rad/6
o.secW = (o.rad/8)
o.midW = (o.rad/10)
o.X ={
[1] = 0,
[2] = o.secW,
[3] = 2*o.secW,
[4] = 3*o.secW,
[5] = 4*o.secW,
[6] = 6*o.secW,
[7] = 7*o.secW,
[8] = 8*o.secW-2,
[9] = 8*o.secW+(o.midW/2)+2,
[10] = 9*o.secW+(o.midW/2)+2,
}
o.imgW = 10*o.secW+(o.midW/2)
return o
end
function SUIRadialMenuOverlay:center()
local x = getPlayerScreenLeft(self.playerNum)
local y = getPlayerScreenTop(self.playerNum)
local w = getPlayerScreenWidth(self.playerNum)
local h = getPlayerScreenHeight(self.playerNum)
x = x + w / 2
y = y + h / 2
self.imgH = self.rmenu.innerRadius*0.6
self.imgW = self.imgH
self.imgX = (x - self.imgW / 2)
self.imgY = (y - self.imgH / 2) - getTextManager():getFontHeight(UIFont.Medium)
if self.text then
self.textPanel:setWidth(self.rmenu.innerRadius*1.5)
self.textPanel:paginate()
self.textPanel:setX(x - self.textPanel:getWidth()/2)
self.tpY = (y - self.textPanel:getHeight() / 2)
self.btpY = self.imgY + self.imgH + getTextManager():getFontHeight(UIFont.Medium)
else
self.textPanel.lines = nil
end
self.cenX = x
self.cenY = y
end
function SUIRadialMenuOverlay:renderClock()
local clock = self.rmenu:getClock()
local one = self.rmenu.activeMenu
self.cFace:render(one)
if clock:isDigital() and instanceof(clock, "AlarmClockClothing") and not one.alarm then
self.dFace:render(one)
end
if clock:isAlarmSet() then
local sz = self.rmenu.innerRadius/3
local y = self.cFace:getY() - (sz*1.15)
local x = self.cenX - sz/2
if clock:isRinging() then
self:drawTextureScaledAspect(one.icons["enable"], x, y, sz, sz, 1,1,1,1)
else
self:drawTextureScaledAspect(one.icons["silence"], x, y, sz, sz, 1,1,1,1)
end
end
end
function SUIRadialMenuOverlay:render()
if not self.rmenu:isReallyVisible() then
self:setVisible(false)
return
end
local hasClock = false
if self.rmenu:getClock() then
hasClock = true
end
local index = -1
if JoypadState.players[self.playerNum+1] then
index = self.rmenu.javaObject:getSliceIndexFromJoypad(self.rmenu.joyfocus.id)
else
index = self.rmenu.javaObject:getSliceIndexFromMouse(self.rmenu:getMouseX(), self.rmenu:getMouseY())
end
self.cmdText = nil
self.cmdImg = nil
if index > -1 then
local obj = self.rmenu:getSliceText(index+1)
if obj then
self.cmdText = obj
end
obj = self.rmenu:getSliceTexture(index+1)
if obj then
self.cmdImg = obj
end
end
if self.btmText then
self.text = "<CENTRE> "..self.btmText
end
if index > -1 then
if self.cmdText then
self.text = "<CENTRE> "..self.cmdText
elseif self.btmText then
self.text = "<CENTRE> "..self.btmText
else
self.text = " "
end
end
if self.text == "" then
self.text = nil
self.textPanel.text = ""
else
self.textPanel.text = self.text
end
self:center()
if hasClock then
self:renderClock()
end
if index == -1 then
if self.centerImg and not hasClock then
self:drawTextureScaledAspect(self.centerImg, self.imgX, self.imgY, self.imgW, self.imgH, 1, 1, 1, 1)
end
if self.btmText then
self.textPanel:setY(self.btpY)
end
else
if self.cImgChange then
if self.cmdImg then
if not hasClock then
self:drawTextureScaledAspect(self.cmdImg, self.imgX, self.imgY, self.imgW, self.imgH, 1, 1, 1, 1)
end
else
if self.centerImg and not hasClock then
self:drawTextureScaledAspect(self.centerImg, self.imgX, self.imgY, self.imgW, self.imgH, 1, 1, 1, 1)
end
end
else
if self.centerImg and not hasClock then
self:drawTextureScaledAspect(self.centerImg, self.imgX, self.imgY, self.imgW, self.imgH, 1, 1, 1, 1)
end
end
if self.cmdText then
if self.centerImg or self.cmdImg or hasClock then
-- Draw cmdText at bottom
self.textPanel:setY(self.btpY)
else
if self.btmText then
-- Draw btmText
self.textPanel:setY(self.btpY)
end
-- Draw cmdText at middle like default
self.textPanel:setY(self.tpY)
end
else
if self.btmText then
self.textPanel:setY(self.btpY)
end
end
if JoypadState.players[self.playerNum+1] then
self.rmenu:showTooltip(self.rmenu:getSliceTooltipJoyPad())
end
end
self.textPanel:prerender()
self.textPanel:render()
self.text = ""
end
function SUIRadialMenuOverlay:undisplay()
self:removeFromUIManager()
self:setVisible(false)
self.btmText = nil
self.centerImg = nil
self.cImgChange = true
end
function SUIRadialMenuOverlay:display()
self:addToUIManager()
self:setVisible(true)
self:bringToTop()
if self.rmenu.radText then
self.btmText = self.rmenu.radText
--print("Bottom Text!")
end
if self.rmenu.radImg then
self.centerImg = self.rmenu.radImg
--print("centerImg!")
end
if self.rmenu.radImgChange ~= nil then
self.cImgChange = self.rmenu.radImgChange
--print("cImgChange!")
end
end
function SUIRadialMenuOverlay:new(menu)
local o = ISUIElement.new(self, 0,0,0,0)
o.rmenu = menu
o.playerNum = menu.playerNum
o.btmText = nil
o.centerImg = nil
o.cImgChange = true
o.textPanel = ISRichTextPanel:new(0, 0, 0, 0)
o.textPanel.marginLeft = 0
o.textPanel.marginRight = 0
o.textPanel:initialise()
o.textPanel:instantiate()
o.textPanel:noBackground()
o.textPanel.backgroundColor = {r=0, g=0, b=0, a=0.3}
o.textPanel.borderColor = {r=1, g=1, b=1, a=0.1}
o.textPanel.defaultFont = UIFont.Medium
o.cFace = timeImg:new(o.playerNum, o.rmenu)
o.dFace = dateImg:new(o.playerNum, o.rmenu)
return o
end
return SUIRadialMenuOverlay

View File

@@ -402,8 +402,8 @@ local function SpiffUIBoot()
OnApplyMainMenu = apply,
OnApplyInGame = apply
},
showSmokingRadial = {
name = "UI_ModOptions_SpiffUI_showSmokingRadial",
showSmokeRadial = {
name = "UI_ModOptions_SpiffUI_showSmokeRadial",
default = true,
OnApplyMainMenu = apply,
OnApplyInGame = apply

View File

@@ -131,15 +131,13 @@ UI_EN = {
-- These next few include formatting so that the text lines up more or less.
---- EX: Current Alarm
---- HH:MM
-- I can't do this with richtext, and there's only one label (for simplicity) so brute force it is
-- Sorry to all translators for any tweaks or weirdness you may have to do
-- Hour:Minutes or HH:MM if no alarm
UI_alarm_SpiffUI_CurrentF = "Current Alarm \n %1:%2",
UI_alarm_SpiffUI_CurrentF = "Current Alarm <br> %1:%2",
-- HH:MM
UI_alarm_SpiffUI_SetHourF = "SET HOUR \n %1:%2",
UI_alarm_SpiffUI_SetHourF = "SET HOUR <br> %1:%2",
-- Hour:MM
UI_alarm_SpiffUI_SetMinuteF = "SET MINUTE \n %1:%2",
UI_alarm_SpiffUI_SetMinuteF = "SET MINUTE <br> %1:%2",
UI_equip_SpiffUI_FirearmRadial = "Firearm Radial",
@@ -170,5 +168,7 @@ UI_EN = {
UI_ModOptions_SpiffUI_equipShowTransfer = "Show Transfer Action (Equipment)",
UI_ModOptions_SpiffUI_showSmokeCraftRadial = "Show Smoke Craft Radial (SpiffUI)",
UI_ModOptions_SpiffUI_showSmokingRadial = "Show Smoking Radial (SpiffUI)"
UI_ModOptions_SpiffUI_showSmokeRadial = "Show Smoking Radial (SpiffUI)",
UI_SpiffUI_EmoteWheel = "Emotes"
}

View File

Before

Width:  |  Height:  |  Size: 1022 B

After

Width:  |  Height:  |  Size: 1022 B

View File

Before

Width:  |  Height:  |  Size: 829 B

After

Width:  |  Height:  |  Size: 829 B

View File

Before

Width:  |  Height:  |  Size: 1021 B

After

Width:  |  Height:  |  Size: 1021 B

View File

Before

Width:  |  Height:  |  Size: 953 B

After

Width:  |  Height:  |  Size: 953 B

View File

Before

Width:  |  Height:  |  Size: 998 B

After

Width:  |  Height:  |  Size: 998 B

View File

Before

Width:  |  Height:  |  Size: 1018 B

After

Width:  |  Height:  |  Size: 1018 B

View File

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

Before

Width:  |  Height:  |  Size: 890 B

After

Width:  |  Height:  |  Size: 890 B

View File

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

Before

Width:  |  Height:  |  Size: 834 B

After

Width:  |  Height:  |  Size: 834 B

View File

Before

Width:  |  Height:  |  Size: 561 B

After

Width:  |  Height:  |  Size: 561 B

View File

Before

Width:  |  Height:  |  Size: 817 B

After

Width:  |  Height:  |  Size: 817 B

View File

Before

Width:  |  Height:  |  Size: 809 B

After

Width:  |  Height:  |  Size: 809 B

View File

Before

Width:  |  Height:  |  Size: 741 B

After

Width:  |  Height:  |  Size: 741 B

View File

Before

Width:  |  Height:  |  Size: 843 B

After

Width:  |  Height:  |  Size: 843 B

View File

Before

Width:  |  Height:  |  Size: 872 B

After

Width:  |  Height:  |  Size: 872 B

View File

Before

Width:  |  Height:  |  Size: 704 B

After

Width:  |  Height:  |  Size: 704 B

View File

Before

Width:  |  Height:  |  Size: 910 B

After

Width:  |  Height:  |  Size: 910 B

View File

Before

Width:  |  Height:  |  Size: 801 B

After

Width:  |  Height:  |  Size: 801 B

View File

Before

Width:  |  Height:  |  Size: 1007 B

After

Width:  |  Height:  |  Size: 1007 B

View File

Before

Width:  |  Height:  |  Size: 809 B

After

Width:  |  Height:  |  Size: 809 B

View File

Before

Width:  |  Height:  |  Size: 1005 B

After

Width:  |  Height:  |  Size: 1005 B

View File

Before

Width:  |  Height:  |  Size: 967 B

After

Width:  |  Height:  |  Size: 967 B

View File

Before

Width:  |  Height:  |  Size: 1021 B

After

Width:  |  Height:  |  Size: 1021 B

View File

Before

Width:  |  Height:  |  Size: 1003 B

After

Width:  |  Height:  |  Size: 1003 B

View File

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 480 B

After

Width:  |  Height:  |  Size: 480 B

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 782 B

After

Width:  |  Height:  |  Size: 782 B

View File

Before

Width:  |  Height:  |  Size: 861 B

After

Width:  |  Height:  |  Size: 861 B

View File

Before

Width:  |  Height:  |  Size: 461 B

After

Width:  |  Height:  |  Size: 461 B

View File

Before

Width:  |  Height:  |  Size: 794 B

After

Width:  |  Height:  |  Size: 794 B

View File

Before

Width:  |  Height:  |  Size: 718 B

After

Width:  |  Height:  |  Size: 718 B

View File

Before

Width:  |  Height:  |  Size: 708 B

After

Width:  |  Height:  |  Size: 708 B

View File

Before

Width:  |  Height:  |  Size: 795 B

After

Width:  |  Height:  |  Size: 795 B

View File

Before

Width:  |  Height:  |  Size: 834 B

After

Width:  |  Height:  |  Size: 834 B

View File

Before

Width:  |  Height:  |  Size: 625 B

After

Width:  |  Height:  |  Size: 625 B

View File

Before

Width:  |  Height:  |  Size: 818 B

After

Width:  |  Height:  |  Size: 818 B

View File

Before

Width:  |  Height:  |  Size: 800 B

After

Width:  |  Height:  |  Size: 800 B

View File

Before

Width:  |  Height:  |  Size: 694 B

After

Width:  |  Height:  |  Size: 694 B

View File

Before

Width:  |  Height:  |  Size: 710 B

After

Width:  |  Height:  |  Size: 710 B

View File

Before

Width:  |  Height:  |  Size: 309 B

After

Width:  |  Height:  |  Size: 309 B

View File

Before

Width:  |  Height:  |  Size: 442 B

After

Width:  |  Height:  |  Size: 442 B

View File

Before

Width:  |  Height:  |  Size: 841 B

After

Width:  |  Height:  |  Size: 841 B

View File

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

0
SpiffUI-Radials/Contents/mods/SpiffUI-Radials/mod.info Normal file → Executable file
View File

View File

Before

Width:  |  Height:  |  Size: 188 KiB

After

Width:  |  Height:  |  Size: 188 KiB

0
SpiffUI-Radials/README.md Normal file → Executable file
View File

0
SpiffUI-Radials/preview.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

20
SpiffUI-Radials/workshop.txt Normal file → Executable file
View File

@@ -4,7 +4,7 @@ title=SpiffUI - Radials
description=[h1]Supports B41+. Works in Multiplayer[/h1]
description=[h3]A new save is not required[/h3]
description=
description=SpiffUI (pronounced "Spiffy") Radials adds 10 new Radial Menus for easy interactions with the objects that are in your inventories and the world. If a Radial is unavailable, your character will Say something. Items return to their original location when used.
description=SpiffUI (pronounced "Spiffy") Radials adds new Radial Menus for easy interactions with the objects that are in your inventories and the world. If a Radial is unavailable, your character will Say something. Items return to their original location when used.
description=
description=[b]Included Radials:[/b]
description=[list]
@@ -17,17 +17,16 @@ description=[*]Food Radial
description=[*]Pill Radial
description=[*]Repair Radial
description=[*]Smoke Radial
description=[*]Alarm Radial
description=[*]Game Speed Radial -- Single Player Only!
description=[*]SpiffUI Radial -- A quick way to access ALL of the Radials!
description=[/list]
description=
description=Please see the Discussion [url=https://steamcommunity.com/workshop/filedetails/discussion/2802525922/3273564019257617796]SpiffUI Radials and their Configurations[/url] for further information on each Radial, including each keybind.
description=
description=[b]Possibly Next:[/b]
description=[list]
description=[*]Medical Radial - Would allow for quick access to any injuries.
description=[*]Inspect Radial - Port the Inspect Window to a Radial (I have this somewhat working)
description=[*]More Mod Compatibility
description=[/list]
description=[b]Update 07/17/2022[/b]
description=Please see the Discussion [url=https://steamcommunity.com/workshop/filedetails/discussion/2802525922/5696507684094607742]SpiffUI Radials v8 - Release Notes and Discussion
description=[/url] for more information on the latest release!
description=
description=Got an idea for a Radial or any features I missed? Let me know!
description=
@@ -72,7 +71,7 @@ description=[h3]Radial Pages[/h3]
description=The Radials will automatically paginate if enough items or recipes are available. "Next" and "Previous" buttons will become available when applicable.
description=
description=[h3]Tooltips[/h3]
description=The Tooltips have been ported to show in these Radials for all Recipes, Items, and Repairs. When enabled, the item name does not appear in the middle of the Radial anymore. This was a design decision as often the name is too long. Besides, the name is in the Tooltip! The Tooltips can be disabled, but are recommended.
description=The Tooltips have been ported to show in these Radials for all Recipes, Items, and Repairs. The Tooltips can be disabled, but are recommended.
description=
description=[b]Known issue for the Recipe Tooltip:[/b] I modified this from the default to prevent the lag from having too many items. One side-effect of this is that sometimes an ingredient will be duplicated or listed in the wrong category. This ONLY affects the Tooltip, the Recipe works as intended.
description=
@@ -126,6 +125,11 @@ description=[td]Hide Crafting Button[/td]
description=[td]True[/td]
description=[td]Hides the Crafting button in the left sidemenu[/td]
description=[/tr]
description=[tr]
description=[td]Hide Vanilla Clock[/td]
description=[td]False[/td]
description=[td]RECOMMENDED! Hides the Clock, which is now present in the SpiffUI Radial[/td]
description=[/tr]
description=[/table]
description=
description=Each Radial has its own Configuration as well. This is expanded upon in the Discussion [url=https://steamcommunity.com/workshop/filedetails/discussion/2802525922/3273564019257617796]SpiffUI Radials and their Configurations[/url].