horsegen: generate races

This commit is contained in:
2026-01-30 23:25:44 -05:00
parent 9dd18ed972
commit 34edcf97a7
11 changed files with 4316 additions and 646 deletions

View File

@@ -50,6 +50,7 @@ func main() {
trios []AffinityRelation
sg []NamedID[SkillGroup]
skills []Skill
races []Race
)
eg.Go(func() error {
slog.Info("get characters")
@@ -81,6 +82,12 @@ func main() {
skills = r
return err
})
eg.Go(func() error {
slog.Info("get races")
r, err := Races(ctx, db)
races = r
return err
})
if err := eg.Wait(); err != nil {
slog.Error("load", slog.Any("err", err))
os.Exit(1)
@@ -116,8 +123,21 @@ func main() {
slog.Info("write skills")
return ExecSkill(t, region, sf, gf, sg, skills)
})
eg.Go(func() error {
kf, err := os.Create(filepath.Join(out, region, "race.kk"))
if err != nil {
return err
}
gf, err := os.Create(filepath.Join(out, region, "race.go"))
if err != nil {
return err
}
slog.Info("write races")
return ExecRace(t, region, kf, gf, races)
})
if err := eg.Wait(); err != nil {
slog.Error("generate", slog.Any("err", err))
os.Exit(1)
} else {
slog.Info("done")
}