Module:FPS diff

From ALttP Speedrunning Wiki
Revision as of 11:26, 19 May 2019 by Kan (talk | contribs) (Created page with "local p = {} local SNES_fps = 60.0988 local frames_per_hour = 60 * 60 * 60 local color_lose = '#FF0000' local color_same = '#0000FF' local color_gain = '#00AA00' function p...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Documentation for this module may be created at diff/doc&action=edit&redlink=1 Module:FPS diff/doc

local p = {}

local SNES_fps = 60.0988
local frames_per_hour = 60 * 60 * 60

local color_lose = '#FF0000'
local color_same = '#0000FF'
local color_gain = '#00AA00'

function p.main(frame)
	local args = frame:getParent().args
	local fps = args.fps or nil

	if fps then
		fps = tonumber(fps, 10)
	else
		fps = SNES_fps
	end

	local SNES_fps = frames_per_hour * SNES_fps
	local this_fps = frames_per_hour * fps

	local diff = SNES_fps - this_fps
	local sign
	local color

	if diff > 0 then -- >0 means the snes has more frames per hour, so this system is losing
		sign = '−'
		color = color_lose
	elseif diff < 0 then
		sign = '+'
		color = color_gain
	else
		sign = '±'
		color = color_same
	end

	local ret = mw.html.create('span')
					:css({
							color = color
						})
					:wikitext(sign..diff)

	return ret
end

return p