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