diff --git a/src/announcer.lua b/src/announcer.lua index 3eeba4f..971848d 100644 --- a/src/announcer.lua +++ b/src/announcer.lua @@ -1,6 +1,6 @@ local gfx = playdate.graphics -local AnnouncementFont = playdate.graphics.font.new("assets/fonts/Roobert-20-Medium.pft") +local AnnouncementFont = Roobert20Medium local AnnouncementTransitionMs = 300 local AnnouncerMarginX = 26 diff --git a/src/assets.lua b/src/assets.lua index 6888438..542db41 100644 --- a/src/assets.lua +++ b/src/assets.lua @@ -132,6 +132,27 @@ MenuMusic = playdate.sound.sampleplayer.new("assets/music/MenuMusic.wav") TinnyBackground = playdate.sound.sampleplayer.new("assets/music/TinnyBackground.wav") +-- luacheck: ignore +---@type pd_font +AshevilleSans14Bold = playdate.graphics.font.new("assets/fonts/Asheville-Sans-14-Bold.fnt") + +-- luacheck: ignore +---@type pd_font +FontFullCircle = playdate.graphics.font.new("assets/fonts/Font-Full-Circle.fnt") + +-- luacheck: ignore +---@type pd_font +NanoSans = playdate.graphics.font.new("assets/fonts/Nano Sans.fnt") + +-- luacheck: ignore +---@type pd_font +Roobert11Medium = playdate.graphics.font.new("assets/fonts/Roobert-11-Medium.fnt") + +-- luacheck: ignore +---@type pd_font +Roobert20Medium = playdate.graphics.font.new("assets/fonts/Roobert-20-Medium.fnt") + + Logos = { { name = "Base", image = playdate.graphics.image.new("assets/images/game/logos/Base.png") }, diff --git a/src/assets.lua2p b/src/assets.lua2p index dfb11bf..9be9266 100644 --- a/src/assets.lua2p +++ b/src/assets.lua2p @@ -28,6 +28,9 @@ end)!!(generatedFileWarning()) !!(dirLookup('assets/images/game', 'png', 'playdate.graphics.image.new', 'pd_image')) !!(dirLookup('assets/sounds', 'wav', 'playdate.sound.sampleplayer.new', 'pd_sampleplayer')) !!(dirLookup('assets/music', 'wav', 'playdate.sound.sampleplayer.new', 'pd_sampleplayer')) +!!(dirLookup('assets/fonts', 'fnt', 'playdate.graphics.font.new', 'pd_font', nil, nil, function(varName, value) + return varName:gsub("[- ]", "") .. " = " .. value +end)) Logos = { { name = "Base", image = playdate.graphics.image.new("assets/images/game/logos/Base.png") }, diff --git a/src/assets/fonts/font-full-circle-table-12-15.png b/src/assets/fonts/Font-Full-Circle-table-12-15.png similarity index 100% rename from src/assets/fonts/font-full-circle-table-12-15.png rename to src/assets/fonts/Font-Full-Circle-table-12-15.png diff --git a/src/assets/fonts/font-full-circle.fnt b/src/assets/fonts/Font-Full-Circle.fnt similarity index 100% rename from src/assets/fonts/font-full-circle.fnt rename to src/assets/fonts/Font-Full-Circle.fnt diff --git a/src/assets/fonts/Roobert-11-Medium-table-22-22.png b/src/assets/fonts/Roobert-11-Medium-table-22-22.png new file mode 100644 index 0000000..098808f Binary files /dev/null and b/src/assets/fonts/Roobert-11-Medium-table-22-22.png differ diff --git a/src/assets/fonts/Roobert-11-Medium.fnt b/src/assets/fonts/Roobert-11-Medium.fnt new file mode 100644 index 0000000..2e9c59d --- /dev/null +++ b/src/assets/fonts/Roobert-11-Medium.fnt @@ -0,0 +1,242 @@ +--metrics={"baseline":0,"xHeight":0,"capHeight":0,"pairs":{"ac":[0,0],"ad":[0,0],"ae":[0,0],"af":[-1,0,0,0],"ag":[0,0],"ap":[0,0],"ar":[1,0,0,0],"at":[-1,0,0,0],"au":[0,0],"av":[-1,0,0,0],"aw":[-1,0,0,0],"ay":[-1,0,0,0],"b,":[-1,0,0,0],"b.":[-1,0,0,0],"bl":[0,0],"br":[0,0],"bu":[0,0],"by":[-1,0,0,0],"ca":[0,0],"ch":[0,0],"ck":[0,0],"d,":[-1,0,0,0],"d.":[0,0],"da":[0,0],"dc":[0,0],"de":[0,0],"dg":[0,0],"do":[0,0],"dt":[0,0],"du":[0,0],"dv":[0,0],"dw":[0,0],"dy":[0,0],"e,":[-1,0,0,0],"e.":[-1,0,0,0],"ea":[0,0],"ei":[0,0],"el":[0,0],"em":[0,0],"en":[0,0],"ep":[0,0],"er":[0,0],"et":[-1,0,0,0],"eu":[0,0],"ev":[-1,0,0,0],"ew":[-1,0,0,0],"ey":[-1,0,0,0],"f,":[-2,0,0,0],"f.":[-2,0,0,0],"fa":[-1,0,0,0],"fe":[-1,0,0,0],"ff":[-2,0,0,0],"fi":[0,0],"fl":[-1,0,0,0],"fo":[-2,0,0,0],"g,":[0,0],"g.":[0,0],"ga":[0,0],"ge":[0,0],"gg":[0,0],"gh":[0,0],"gl":[0,0],"go":[0,0],"hc":[0,0],"hd":[0,0],"he":[0,0],"hg":[0,0],"ho":[0,0],"hp":[0,0],"ht":[-1,0,0,0],"hu":[0,0],"hv":[-1,0,0,0],"hw":[-1,0,0,0],"hy":[-1,0,0,0],"ic":[-1,0,0,0],"id":[-1,0,0,0],"ie":[-1,0,0,0],"ig":[-1,0,0,0],"io":[-1,0,0,0],"ip":[-1,0,0,0],"it":[-2,0,0,0],"iu":[-1,0,0,0],"iv":[-1,0,0,0],"j,":[0,0],"j.":[0,0],"ja":[0,0],"je":[0,0],"jo":[0,0],"ju":[0,0],"ka":[-2,0,0,0],"kc":[-2,0,0,0],"kd":[-2,0,0,0],"ke":[-2,0,0,0],"kg":[-2,0,0,0],"ko":[-2,0,0,0],"la":[0,0],"lc":[0,0],"ld":[0,0],"le":[0,0],"lf":[0,0],"lg":[0,0],"lo":[0,0],"Lo":[-1,0,0,0],"lp":[0,0],"lq":[0,0],"lu":[0,0],"lv":[0,0],"lw":[0,0],"ly":[0,0],"ma":[0,0],"mc":[0,0],"md":[0,0],"me":[0,0],"mg":[0,0],"mn":[0,0],"mo":[0,0],"mp":[0,0],"mt":[-1,0,0,0],"mu":[0,0],"mv":[-1,0,0,0],"my":[-1,0,0,0],"nc":[0,0],"nd":[0,0],"ne":[0,0],"ng":[0,0],"no":[0,0],"np":[0,0],"nt":[-1,0,0,0],"nu":[0,0],"nv":[-1,0,0,0],"nw":[-1,0,0,0],"ny":[-1,0,0,0],"o,":[-2,0,0,0],"o.":[-1,0,0,0],"ob":[0,0],"of":[-2,0,0,0],"oh":[0,0],"oj":[-2,0,0,0],"ok":[0,0],"ol":[0,0],"om":[0,0],"on":[0,0],"op":[0,0],"or":[0,0],"ou":[0,0],"ov":[-1,0,0,0],"ow":[-1,0,0,0],"ox":[-1,0,0,0],"oy":[-1,0,0,0],"p,":[-1,0,0,0],"p.":[-1,0,0,0],"pa":[0,0],"ph":[0,0],"pi":[0,0],"pl":[0,0],"pp":[0,0],"pu":[0,0],"qu":[0,0],"r,":[-3,0,0,0],"r.":[-2,0,0,0],"ra":[-1,0,0,0],"rd":[-1,0,0,0],"re":[-1,0,0,0],"rg":[-1,0,0,0],"rk":[0,0],"rl":[0,0],"rm":[0,0],"rn":[0,0],"ro":[-2,0,0,0],"rq":[-1,0,0,0],"rr":[0,0],"rt":[-1,0,0,0],"rv":[0,0],"ry":[0,0],"s,":[-1,0,0,0],"s.":[-1,0,0,0],"sh":[0,0],"st":[-1,0,0,0],"su":[0,0],"t,":[0,0],"t.":[1,0,0,0],"ta":[1,0,0,0],"td":[0,0],"te":[0,0],"th":[0,0],"ti":[1,0,0,0],"tl":[1,0,0,0],"to":[0,0],"ua":[0,0],"uc":[0,0],"ud":[0,0],"ue":[0,0],"ug":[0,0],"uo":[0,0],"up":[1,0,0,0],"uq":[0,0],"ur":[1,0,0,0],"ut":[0,0],"uv":[0,0],"uw":[0,0],"uy":[0,0],"v,":[-2,0,0,0],"v.":[-2,0,0,0],"va":[0,0],"vb":[0,0],"vc":[-1,0,0,0],"vd":[-1,0,0,0],"ve":[-1,0,0,0],"vg":[-1,0,0,0],"vo":[-1,0,0,0],"vv":[0,0],"vy":[-1,0,0,0],"w,":[-2,0,0,0],"w.":[-1,0,0,0],"wa":[-1,0,0,0],"wd":[-1,0,0,0],"we":[-1,0,0,0],"wg":[-1,0,0,0],"wh":[0,0],"wo":[-1,0,0,0],"wx":[-1,0,0,0],"xa":[-1,0,0,0],"xe":[-1,0,0,0],"xo":[-1,0,0,0],"y,":[-3,0,0,0],"y.":[-2,0,0,0],"ya":[-1,0,0,0],"yc":[-1,0,0,0],"yd":[-1,0,0,0],"ye":[-1,0,0,0],"Yo":[-2,0,0,0],"yo":[-1,0,0,0],"LO":[-2,0,0,0],"AT":[-3,0,0,0],"AY":[-3,0,0,0],"//":[-4,0,0,0],"/d":[-2,0,0,0],"/p":[-1,0,0,0],"tp":[1,0,0,0],"t:":[1,0,0,0],"/w":[-1,0,0,0],"ot":[-1,0,0,0],"Wo":[-2,0,0,0],"Fo":[-2,0,0,0],"Fu":[-2,0,0,0],"Vu":[-1,0,0,0],"Tu":[-2,0,0,0],"To":[-3,0,0,0],"Vo":[-2,0,0,0],"Yu":[-1,0,0,0],"Zo":[-1,0,0,0],"ty":[-1,0,0,0],"is":[-1,0,0,0]},"left":[],"right":[]} +tracking=1 + +0 12 +1 5 +2 11 +3 12 +4 12 +5 11 +6 12 +7 11 +8 11 +9 12 +space 3 +! 2 +" 6 +# 14 +$ 11 +% 15 +& 13 +' 2 +( 5 +) 5 +* 8 ++ 10 +, 3 +- 8 +. 2 +/ 9 +: 2 +; 4 +< 9 += 11 +> 9 +? 9 +@ 18 +A 13 +B 11 +C 14 +D 12 +E 10 +F 10 +G 14 +H 12 +I 2 +J 5 +K 12 +L 9 +M 15 +N 11 +O 15 +P 10 +Q 15 +R 10 +S 11 +T 12 +U 12 +V 12 +W 18 +X 11 +Y 10 +Z 11 +[ 5 +\ 9 +] 5 +^ 7 +_ 11 +` 3 +a 9 +b 10 +c 10 +d 10 +e 10 +f 7 +g 10 +h 9 +i 3 +j 4 +k 10 +l 2 +m 16 +n 9 +o 11 +p 10 +q 10 +r 6 +s 8 +t 7 +u 9 +v 8 +w 14 +x 9 +y 10 +z 9 +{ 6 +| 2 +} 6 +~ 10 +¥ 10 +… 12 +™ 16 +‼ 6 +© 15 +® 15 +� 15 +Ⓐ 18 +Ⓑ 18 +🌐 18 +› 14 +▸ 12 +⊙ 18 +‘ 3 +’ 3 +“ 6 +” 6 + +af -1 +ar 1 +at -1 +av -1 +aw -1 +ay -1 +b, -1 +b. -1 +by -1 +d, -1 +e, -1 +e. -1 +et -1 +ev -1 +ew -1 +ey -1 +f, -2 +f. -2 +fa -1 +fe -1 +ff -2 +fl -1 +fo -2 +ht -1 +hv -1 +hw -1 +hy -1 +ic -1 +id -1 +ie -1 +ig -1 +io -1 +ip -1 +it -2 +iu -1 +iv -1 +ka -2 +kc -2 +kd -2 +ke -2 +kg -2 +ko -2 +Lo -1 +mt -1 +mv -1 +my -1 +nt -1 +nv -1 +nw -1 +ny -1 +o, -2 +o. -1 +of -2 +oj -2 +ov -1 +ow -1 +ox -1 +oy -1 +p, -1 +p. -1 +r, -3 +r. -2 +ra -1 +rd -1 +re -1 +rg -1 +ro -2 +rq -1 +rt -1 +s, -1 +s. -1 +st -1 +t. 1 +ta 1 +ti 1 +tl 1 +up 1 +ur 1 +v, -2 +v. -2 +vc -1 +vd -1 +ve -1 +vg -1 +vo -1 +vy -1 +w, -2 +w. -1 +wa -1 +wd -1 +we -1 +wg -1 +wo -1 +wx -1 +xa -1 +xe -1 +xo -1 +y, -3 +y. -2 +ya -1 +yc -1 +yd -1 +ye -1 +Yo -2 +yo -1 +LO -2 +AT -3 +AY -3 +// -4 +/d -2 +/p -1 +tp 1 +t: 1 +/w -1 +ot -1 +Wo -2 +Fo -2 +Fu -2 +Vu -1 +Tu -2 +To -3 +Vo -2 +Yu -1 +Zo -1 +ty -1 +is -1 diff --git a/src/control-screen.lua b/src/control-screen.lua index f677f05..9a224e3 100644 --- a/src/control-screen.lua +++ b/src/control-screen.lua @@ -1,7 +1,7 @@ local gfx = playdate.graphics -local HeaderFont = playdate.graphics.font.new("assets/fonts/Roobert-11-Medium.pft") -local DetailFont = playdate.graphics.font.new("assets/fonts/font-full-circle.pft") +local HeaderFont = Roobert11Medium +local DetailFont = FontFullCircle ---@alias TextObject { text: string, font: pd_font } diff --git a/src/draw/box-score.lua b/src/draw/box-score.lua index 38d4bd6..2dc1391 100644 --- a/src/draw/box-score.lua +++ b/src/draw/box-score.lua @@ -1,7 +1,7 @@ local MarginY = 70 -local SmallFont = playdate.graphics.font.new("assets/fonts/font-full-circle.pft") -local ScoreFont = playdate.graphics.font.new("assets/fonts/Asheville-Sans-14-Bold.pft") +local SmallFont = FontFullCircle +local ScoreFont = AshevilleSans14Bold local NumWidth = ScoreFont:getTextWidth("0") local NumHeight = ScoreFont:getHeight() local AwayWidth = ScoreFont:getTextWidth("AWAY") diff --git a/src/draw/overlay.lua b/src/draw/overlay.lua index 828aba6..a510e60 100644 --- a/src/draw/overlay.lua +++ b/src/draw/overlay.lua @@ -1,7 +1,7 @@ -- selene: allow(shadowing) local gfx = playdate.graphics -local ScoreFont = playdate.graphics.font.new("assets/fonts/font-full-circle.pft") +local ScoreFont = FontFullCircle local MinimapSizeX, MinimapSizeY = Minimap:getSize() local MinimapPosX, MinimapPosY = C.Screen.W - MinimapSizeX, C.Screen.H - MinimapSizeY diff --git a/src/graphics.lua b/src/graphics.lua index e48ca06..1a158f4 100644 --- a/src/graphics.lua +++ b/src/graphics.lua @@ -1,6 +1,6 @@ local gfx = playdate.graphics -local ButtonFont = gfx.font.new("assets/fonts/font-full-circle.pft") +local ButtonFont = FontFullCircle --- Assumes that background image is of size: --- diff --git a/src/main-menu.lua b/src/main-menu.lua index 6cb1aae..f64e036 100644 --- a/src/main-menu.lua +++ b/src/main-menu.lua @@ -9,8 +9,8 @@ MainMenu = { } local gfx = playdate.graphics -local ScoreFont = playdate.graphics.font.new("assets/fonts/font-full-circle.pft") -local TinyFont = gfx.font.new("assets/fonts/Nano Sans.pft") +local ScoreFont = FontFullCircle +local TinyFont = NanoSans --- Take control of playdate.update --- Will replace playdate.update when the menu is done.