1
1
mirror of https://github.com/OpenDiablo2/OpenDiablo2 synced 2024-11-19 02:46:35 -05:00
OpenDiablo2/main.go

55 lines
1.3 KiB
Go
Raw Normal View History

2019-10-24 09:31:59 -04:00
package main
import (
"log"
"github.com/OpenDiablo2/OpenDiablo2/d2app"
2020-06-28 19:31:10 -04:00
ebiten2 "github.com/OpenDiablo2/OpenDiablo2/d2core/d2audio/ebiten"
2020-07-08 09:16:16 -04:00
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2config"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2input"
2020-07-08 09:16:16 -04:00
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2render/ebiten"
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2term"
"github.com/OpenDiablo2/OpenDiablo2/d2script"
2019-10-24 09:31:59 -04:00
)
2019-11-06 22:12:15 -05:00
// GitBranch is set by the CI build process to the name of the branch
//nolint:gochecknoglobals This is filled in by the build system
var GitBranch string
2019-11-06 22:12:15 -05:00
// GitCommit is set by the CI build process to the commit hash
//nolint:gochecknoglobals This is filled in by the build system
var GitCommit string
2019-10-24 09:31:59 -04:00
func main() {
log.SetFlags(log.Lshortfile)
log.Println("OpenDiablo2 - Open source Diablo 2 engine")
2020-07-08 09:16:16 -04:00
if err := d2config.Load(); err != nil {
panic(err)
}
2020-06-28 19:31:10 -04:00
// Initialize our providers
renderer, err := ebiten.CreateRenderer()
if err != nil {
panic(err)
}
audio, err := ebiten2.CreateAudio()
2020-06-28 19:31:10 -04:00
if err != nil {
panic(err)
}
2020-08-05 13:51:35 -04:00
inputManager := d2input.NewInputManager()
term, err := d2term.New(inputManager)
2020-02-08 21:02:37 -05:00
if err != nil {
log.Fatal(err)
}
scriptEngine := d2script.CreateScriptEngine()
app := d2app.Create(GitBranch, GitCommit, inputManager, term, scriptEngine, audio, renderer)
2020-07-08 09:16:16 -04:00
if err := app.Run(); err != nil {
log.Fatal(err)
}
}