horsegen: generate sparks

This commit is contained in:
2026-02-13 13:41:04 -05:00
parent 8fb29a953c
commit db3e18e586
16 changed files with 25951 additions and 19 deletions

View File

@@ -45,14 +45,16 @@ func main() {
eg, ctx := errgroup.WithContext(pctx)
var (
charas []NamedID[Character]
pairs []AffinityRelation
trios []AffinityRelation
sg []NamedID[SkillGroup]
skills []Skill
races []Race
saddles []Saddle
scens []Scenario
charas []NamedID[Character]
pairs []AffinityRelation
trios []AffinityRelation
sg []NamedID[SkillGroup]
skills []Skill
races []Race
saddles []Saddle
scens []Scenario
sparks []Spark
sparkeff map[int]map[int][]SparkEffect
)
eg.Go(func() error {
slog.Info("get characters")
@@ -102,6 +104,18 @@ func main() {
scens = r
return err
})
eg.Go(func() error {
slog.Info("get sparks")
r, err := Sparks(ctx, db)
sparks = r
return err
})
eg.Go(func() error {
slog.Info("get spark effects")
r, err := SparkEffects(ctx, db)
sparkeff = r
return err
})
if err := eg.Wait(); err != nil {
slog.Error("load", slog.Any("err", err))
os.Exit(1)
@@ -173,6 +187,18 @@ func main() {
slog.Info("write scenarios")
return ExecScenario(t, region, kf, gf, scens)
})
eg.Go(func() error {
kf, err := os.Create(filepath.Join(out, region, "spark.kk"))
if err != nil {
return err
}
gf, err := os.Create(filepath.Join(out, region, "spark.go"))
if err != nil {
return err
}
slog.Info("write sparks")
return ExecSparks(t, region, kf, gf, sparks, sparkeff)
})
if err := eg.Wait(); err != nil {
slog.Error("generate", slog.Any("err", err))
os.Exit(1)