horsegen: generate data per region
This commit is contained in:
@@ -15,12 +15,13 @@ import (
|
||||
|
||||
func main() {
|
||||
var (
|
||||
mdb string
|
||||
kkOut, goOut string
|
||||
mdb string
|
||||
out string
|
||||
region string
|
||||
)
|
||||
flag.StringVar(&mdb, "mdb", os.ExpandEnv(`$USERPROFILE\AppData\LocalLow\Cygames\Umamusume\master\master.mdb`), "`path` to Umamusume master.mdb")
|
||||
flag.StringVar(&kkOut, "kk", `.\horse`, "existing `dir`ectory for output Koka files")
|
||||
flag.StringVar(&goOut, "go", `.`, "existing `dir`ectory for output Go files")
|
||||
flag.StringVar(&out, "o", `.`, "root `dir`ectory for output files")
|
||||
flag.StringVar(®ion, "region", "global", "region the database is for (global, jp)")
|
||||
flag.Parse()
|
||||
|
||||
pctx, stop := signal.NotifyContext(context.Background(), os.Interrupt)
|
||||
@@ -85,35 +86,44 @@ func main() {
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
if err := os.MkdirAll(filepath.Join(out, "horse", region), 0775); err != nil {
|
||||
slog.Error("create koka output dir", slog.Any("err", err))
|
||||
os.Exit(1)
|
||||
}
|
||||
if err := os.MkdirAll(filepath.Join(out, "go", region), 0775); err != nil {
|
||||
slog.Error("create go output dir", slog.Any("err", err))
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
eg, ctx = errgroup.WithContext(pctx)
|
||||
eg.Go(func() error {
|
||||
cf, err := os.Create(filepath.Join(kkOut, "character.kk"))
|
||||
cf, err := os.Create(filepath.Join(out, "horse", region, "character.kk"))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
gf, err := os.Create(filepath.Join(goOut, "character.go"))
|
||||
gf, err := os.Create(filepath.Join(out, "go", region, "character.go"))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
slog.Info("write characters")
|
||||
return ExecCharacter(t, cf, gf, charas, pairs, trios)
|
||||
return ExecCharacter(t, region, cf, gf, charas, pairs, trios)
|
||||
})
|
||||
eg.Go(func() error {
|
||||
sf, err := os.Create(filepath.Join(kkOut, "skill.kk"))
|
||||
sf, err := os.Create(filepath.Join(out, "horse", region, "skill.kk"))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
gf, err := os.Create(filepath.Join(goOut, "skill_data.go"))
|
||||
gf, err := os.Create(filepath.Join(out, "go", region, "skill.go"))
|
||||
slog.Info("write skills")
|
||||
return ExecSkill(t, sf, gf, sg, skills)
|
||||
return ExecSkill(t, region, sf, gf, sg, skills)
|
||||
})
|
||||
eg.Go(func() error {
|
||||
sf, err := os.Create(filepath.Join(kkOut, "skill-group.kk"))
|
||||
sf, err := os.Create(filepath.Join(out, "horse", region, "skill-group.kk"))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
slog.Info("write skill groups")
|
||||
return ExecSkillGroupKK(t, sf, sg, skills)
|
||||
return ExecSkillGroupKK(t, region, sf, sg, skills)
|
||||
})
|
||||
if err := eg.Wait(); err != nil {
|
||||
slog.Error("generate", slog.Any("err", err))
|
||||
|
||||
Reference in New Issue
Block a user