-
-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy pathmetadata.go
More file actions
64 lines (59 loc) · 1.8 KB
/
Copy pathmetadata.go
File metadata and controls
64 lines (59 loc) · 1.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package cfw
import (
"grout/cfw/batocera"
"grout/cfw/knulli"
"grout/cfw/muos"
"grout/cfw/retrodeck"
"grout/cfw/rocknix"
"grout/internal/emulationstation"
"grout/internal/gamelist"
gaba "github.com/BrandonKowalski/gabagool/v2/pkg/gabagool"
)
func scheduleESRestart() {
err := emulationstation.ScheduleESRestart()
if err != nil {
gaba.GetLogger().Debug("Unable to schedule ES restart", "error", err)
}
}
func AddGroutToGamelist(c CFW) {
switch c {
case Knulli:
gamelist.AddGroutEntry(knulli.GetGroutGamelist(), "./Grout/Grout.sh")
case ROCKNIX:
gamelist.AddGroutEntry(rocknix.GetGroutGamelist(), "./Grout.sh")
case Batocera:
gamelist.AddGroutEntry(batocera.GetGroutGamelist(), "./Grout/Grout.sh")
default:
return
}
scheduleESRestart()
}
func FillGamesMetadata(entries []gamelist.RomGameEntry) {
logger := gaba.GetLogger()
switch GetCFW() {
case Knulli, ROCKNIX, Batocera:
if err := gamelist.AddRomGamesToGamelist(entries, gamelist.GameListFileName, nil); err != nil {
logger.Warn("Failed to add games to ES gamelist.xml", "error", err)
}
scheduleESRestart()
case RetroDECK:
options := &gamelist.AddRomGamesToGamelistOptions{
PathResolver: func(entry gamelist.RomGameEntry, filename gamelist.FileName) string {
return retrodeck.GetGamelistPath(entry.RomDirectory, string(filename))
},
}
if err := gamelist.AddRomGamesToGamelist(entries, gamelist.GameListFileName, options); err != nil {
logger.Warn("Failed to add games to ES gamelist.xml", "error", err)
}
case Spruce, Allium, Onion, Koriki:
if err := gamelist.AddRomGamesToGamelist(entries, gamelist.MiyooGameListFileName, nil); err != nil {
logger.Warn("Failed to add games to miyoogamelist.xml", "error", err)
}
case MuOS:
for _, entry := range entries {
muos.AddGameDescription(entry)
}
default:
return
}
}