Skip to content

Commit 7276f03

Browse files
committed
updated replay outcome icons
1 parent 868aa8e commit 7276f03

File tree

10 files changed

+58
-179
lines changed

10 files changed

+58
-179
lines changed

.air.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ send_interrupt = true
77
stop_on_error = true
88

99
[proxy]
10-
enabled = true
10+
enabled = false
1111
proxy_port = 8080
12-
app_port = 9092
12+
app_port = 3000
1313

1414
[log]
1515
# Only show main log (silences watcher, build, runner)

cmd/discord/gateway/router.go

Lines changed: 0 additions & 137 deletions
This file was deleted.

internal/stats/render/replay/v1/blocks.go

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package replay
33
import (
44
"fmt"
55
"image"
6-
"image/color"
76
"math"
87

98
fetch "github.com/cufee/aftermath/internal/stats/fetch/v1/replay"
@@ -20,15 +19,17 @@ func newTitleBlock(replay replay.Cards, width float64) common.Block {
2019
style.JustifyContent = common.JustifyContentSpaceBetween
2120
style.Direction = common.DirectionHorizontal
2221
style.AlignItems = common.AlignItemsCenter
23-
style.PaddingX = playerCardPadding
22+
style.PaddingX = playerCardPadding + hpBarWidth/2
23+
24+
allyIcon, enemyIcon := outcomeIcons(replay.Header.Outcome)
2425

2526
return common.NewBlocksContent(style,
26-
outcomeIcon(replay.Header.Outcome),
27+
allyIcon,
2728
common.NewTextContent(common.Style{
2829
Font: common.FontLarge(),
2930
FontColor: common.TextPrimary,
3031
}, fmt.Sprintf("%s - %s", replay.Header.MapName, replay.Header.GameMode)),
31-
common.NewEmptyContent(outcomeIconSize, outcomeIconSize))
32+
enemyIcon)
3233
}
3334

3435
func newPlayerCard(style common.Style, sizes map[prepare.Tag]float64, card replay.Card, player fetch.Player, ally, protagonist bool) common.Block {
@@ -109,21 +110,26 @@ func playerNameBlock(player fetch.Player, protagonist bool) common.Block {
109110

110111
var outcomeIconCache image.Image
111112

112-
func outcomeIcon(outcome fetch.Outcome) common.Block {
113+
func outcomeIcons(outcome fetch.Outcome) (common.Block, common.Block) {
113114
if outcomeIconCache == nil {
114115
flagIcon, _ := assets.GetLoadedImage("flag")
115116
outcomeIconCache = imaging.Fit(flagIcon, int(outcomeIconSize), int(outcomeIconSize), imaging.Linear)
116117
}
117118

118-
iconColor := color.NRGBA{255, 240, 0, 180}
119+
allyIconColor := outcomeIconBgColorGreen
120+
enemyIconColor := outcomeIconBgColorRed
119121
if outcome == fetch.OutcomeVictory {
120-
iconColor = color.NRGBA{46, 204, 113, 180}
122+
allyIconColor = outcomeIconColorGreen
121123
}
122124
if outcome == fetch.OutcomeDefeat {
123-
iconColor = color.NRGBA{242, 38, 19, 180}
125+
enemyIconColor = outcomeIconColorRed
126+
}
127+
if outcome == fetch.OutcomeDraw {
128+
allyIconColor = outcomeIconColorYellow
129+
enemyIconColor = outcomeIconColorYellow
124130
}
125131

126-
return common.NewImageContent(common.Style{BackgroundColor: iconColor}, outcomeIconCache)
132+
return common.NewImageContent(common.Style{BackgroundColor: allyIconColor}, outcomeIconCache), common.NewImageContent(common.Style{BackgroundColor: enemyIconColor}, outcomeIconCache)
127133
}
128134

129135
func playerWN8Icon(value frame.Value) common.Block {

internal/stats/render/replay/v1/constants.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,15 @@ var (
1717
hpBarBgColorEnemies = color.NRGBA{R: 120, G: 80, B: 80, A: 120}
1818

1919
protagonistColor = color.NRGBA{255, 223, 0, 255}
20-
outcomeIconSize = 30.0
20+
21+
outcomeIconSize = 30.0
22+
outcomeIconColorRed = color.NRGBA{R: 255, G: 120, B: 120, A: 255}
23+
outcomeIconBgColorRed = color.NRGBA{R: 120, G: 80, B: 80, A: 120}
24+
25+
outcomeIconColorGreen = color.NRGBA{R: 120, G: 255, B: 120, A: 255}
26+
outcomeIconBgColorGreen = color.NRGBA{R: 80, G: 120, B: 80, A: 120}
27+
28+
outcomeIconColorYellow = color.NRGBA{255, 223, 0, 180}
2129

2230
playerWN8IconSize = 25.0
2331
playerCardPadding = (80 - hpBarHeight) / 2

render_test.go

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -155,51 +155,53 @@ func TestRenderReplay(t *testing.T) {
155155

156156
loadStaticAssets(static)
157157

158-
db, err := newDatabaseClientFromEnv()
159-
is.NoErr(err)
160-
158+
db := tests.StaticTestingDatabase()
161159
wg, _ := wargamingClientsFromEnv()
162160

163161
printer, err := localization.NewPrinterWithFallback("stats", language.English)
164162
is.NoErr(err)
165163

166-
file, err := os.ReadFile("tests/replay_2.wotbreplay")
167-
is.NoErr(err)
168-
169164
fetch, err := fetch.NewMultiSourceClient(wg, nil, db)
170165
is.NoErr(err)
171166

172-
replay, err := fetch.Replay(context.Background(), bytes.NewReader(file), int64(len(file)))
173-
is.NoErr(err)
167+
replayFiles := []string{"replay_defeat.wotbreplay", "replay_victory.wotbreplay", "replay_draw.wotbreplay"}
168+
for _, name := range replayFiles {
169+
file, err := os.ReadFile("tests/" + name)
170+
is.NoErr(err)
174171

175-
var vehicles []string
176-
for _, player := range append(replay.Teams.Allies, replay.Teams.Enemies...) {
177-
if id := player.VehicleID; !slices.Contains(vehicles, id) {
178-
vehicles = append(vehicles, id)
172+
replay, err := fetch.Replay(context.Background(), bytes.NewReader(file), int64(len(file)))
173+
is.NoErr(err)
174+
175+
var vehicles []string
176+
for _, player := range append(replay.Teams.Allies, replay.Teams.Enemies...) {
177+
if id := player.VehicleID; !slices.Contains(vehicles, id) {
178+
vehicles = append(vehicles, id)
179+
}
179180
}
180-
}
181181

182-
glossary, err := db.GetVehicles(context.Background(), vehicles)
183-
is.NoErr(err)
182+
glossary, err := db.GetVehicles(context.Background(), vehicles)
183+
is.NoErr(err)
184184

185-
gameModeNames, err := db.GetGameModeNames(context.Background(), replay.GameMode.String())
186-
is.NoErr(err)
185+
gameModeNames, err := db.GetGameModeNames(context.Background(), replay.GameMode.String())
186+
is.NoErr(err)
187187

188-
bgImage := "static://bg-default"
188+
bgImage := "static://bg-default"
189189

190-
{
191-
cards, err := prepare.NewCards(replay, glossary, gameModeNames, common.WithPrinter(printer, language.English))
192-
is.NoErr(err)
190+
{
191+
cards, err := prepare.NewCards(replay, glossary, gameModeNames, common.WithPrinter(printer, language.English))
192+
is.NoErr(err)
193193

194-
image, err := render.CardsToImage(replay, cards, rc.WithBackgroundURL(bgImage), rc.WithPrinter(printer))
195-
assert.NoError(t, err, "failed to render a replay image")
196-
assert.NotNil(t, image, "image is nil")
194+
image, err := render.CardsToImage(replay, cards, rc.WithBackgroundURL(bgImage), rc.WithPrinter(printer))
195+
assert.NoError(t, err, "failed to render a replay image")
196+
assert.NotNil(t, image, "image is nil")
197197

198-
f, err := os.Create("tmp/render_test_replay.png")
199-
assert.NoError(t, err, "failed to create a file")
200-
defer f.Close()
198+
out := "tmp/render_test_" + name + ".png"
199+
f, err := os.Create(out)
200+
assert.NoError(t, err, "failed to create a file")
201+
defer f.Close()
201202

202-
err = imaging.Save(image, "tmp/render_test_replay.png")
203-
assert.NoError(t, err, "failed to encode a png image")
203+
err = imaging.Save(image, out)
204+
assert.NoError(t, err, "failed to encode a png image")
205+
}
204206
}
205207
}

static/images/icons/flag.png

-11.1 KB
Loading

tests/replay_draw.wotbreplay

2.67 MB
Binary file not shown.

tests/static_database.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ func (c *staticTestingDatabase) CreateWidgetSettings(ctx context.Context, userID
276276
}
277277

278278
func (c *staticTestingDatabase) GetGameModeNames(ctx context.Context, id string) (map[language.Tag]string, error) {
279-
return nil, nil
279+
return map[language.Tag]string{}, nil
280280
}
281281
func (c *staticTestingDatabase) UpsertGameModes(ctx context.Context, modes map[string]map[language.Tag]string) (map[string]error, error) {
282282
return nil, nil

0 commit comments

Comments
 (0)