itSimplify badge string (to my greatest regret…) - scoreboard - Interactive scoreboard for CTF-like games Err z3bra.org 70 hgit clone git://git.z3bra.org/scoreboard.git URL:git://git.z3bra.org/scoreboard.git z3bra.org 70 1Log /scm/scoreboard/log.gph z3bra.org 70 1Files /scm/scoreboard/files.gph z3bra.org 70 1Refs /scm/scoreboard/refs.gph z3bra.org 70 i--- Err z3bra.org 70 1commit 7c6f4cba8dd3a4237b4af377832f24c60c6c794d /scm/scoreboard/commit/7c6f4cba8dd3a4237b4af377832f24c60c6c794d.gph z3bra.org 70 1parent 15e1172af7fd542e618f506acb3610b7e55d9be5 /scm/scoreboard/commit/15e1172af7fd542e618f506acb3610b7e55d9be5.gph z3bra.org 70 hAuthor: Willy Goiffon URL:mailto:contact@z3bra.org z3bra.org 70 iDate: Tue, 1 Oct 2024 01:55:14 +0200 Err z3bra.org 70 i Err z3bra.org 70 iSimplify badge string (to my greatest regret…) Err z3bra.org 70 i Err z3bra.org 70 iUnfortunately, today's applications tend to not render emojis as Err z3bra.org 70 iunicode text, which means that setting their text color and attributes Err z3bra.org 70 ilike bold/italic/… is meaningless. Err z3bra.org 70 i Err z3bra.org 70 iThe badge string was pretty cool using black/white text emojis to show Err z3bra.org 70 iwhich badge was acquired or not, but unfortunately applications COULD Err z3bra.org 70 idisplay them as colorful items regardless, making it impossible to Err z3bra.org 70 iknow which badge has been earned or not. Err z3bra.org 70 i Err z3bra.org 70 iWhat a time to be alive, eh. Err z3bra.org 70 i Err z3bra.org 70 iDiffstat: Err z3bra.org 70 i M html.go | 4 ++-- Err z3bra.org 70 i M player.go | 19 +++++-------------- Err z3bra.org 70 i Err z3bra.org 70 i2 files changed, 7 insertions(+), 16 deletions(-) Err z3bra.org 70 i--- Err z3bra.org 70 1diff --git a/html.go b/html.go /scm/scoreboard/file/html.go.gph z3bra.org 70 it@@ -31,10 +31,10 @@ func (p *Player) BadgeHTML() string { Err z3bra.org 70 i } Err z3bra.org 70 i Err z3bra.org 70 i for n, f := range flags { Err z3bra.org 70 i- badges.WriteString(f.badge) Err z3bra.org 70 i- if n % 8 == 0 { Err z3bra.org 70 i+ if n > 0 && n % 8 == 0 { Err z3bra.org 70 i badges.WriteString("\n") Err z3bra.org 70 i } Err z3bra.org 70 i+ badges.WriteString(f.badge) Err z3bra.org 70 i } Err z3bra.org 70 i Err z3bra.org 70 i return badges.String() Err z3bra.org 70 1diff --git a/player.go b/player.go /scm/scoreboard/file/player.go.gph z3bra.org 70 it@@ -216,21 +216,12 @@ func (p *Player) BadgeStr() string { Err z3bra.org 70 i flags = append(flags, f) Err z3bra.org 70 i } Err z3bra.org 70 i Err z3bra.org 70 i- var hasflag = func(a []Flag, f Flag) bool { Err z3bra.org 70 i- for _, r := range a { Err z3bra.org 70 i- if f.value == r.value { Err z3bra.org 70 i- return true Err z3bra.org 70 i- } Err z3bra.org 70 i- } Err z3bra.org 70 i- return false Err z3bra.org 70 i- } Err z3bra.org 70 i- badges.WriteString("[-::-]") Err z3bra.org 70 i- for _, r := range scoreboard.flag_ref { Err z3bra.org 70 i- if hasflag(flags, r) { Err z3bra.org 70 i- badges.WriteString(fmt.Sprintf("%s", r.badge)) Err z3bra.org 70 i- } else { Err z3bra.org 70 i- badges.WriteString(fmt.Sprintf("[black::d]%s[-::-]", r.badge)) Err z3bra.org 70 i+ badges.WriteString("[-::-]\n") Err z3bra.org 70 i+ for n, f := range flags { Err z3bra.org 70 i+ if n > 0 && n % 8 == 0 { Err z3bra.org 70 i+ badges.WriteString("\n") Err z3bra.org 70 i } Err z3bra.org 70 i+ badges.WriteString(fmt.Sprintf("%s", f.badge)) Err z3bra.org 70 i } Err z3bra.org 70 i Err z3bra.org 70 i return badges.String(); Err z3bra.org 70 .