summaryrefslogtreecommitdiff
path: root/engine/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'engine/main.go')
-rw-r--r--engine/main.go32
1 files changed, 25 insertions, 7 deletions
diff --git a/engine/main.go b/engine/main.go
index 7f5e1bd..0ee6fec 100644
--- a/engine/main.go
+++ b/engine/main.go
@@ -2,6 +2,7 @@ package main
import (
"encoding/json"
+ "fmt"
"log"
"os"
@@ -14,22 +15,39 @@ import (
ui "github.com/DegustatorPonos/RuinesOfRafdolon/UI"
)
+const CorePackageName string = "core"
+
func main() {
settings.ReadSettings()
components.InitManager()
- dynamic.Init()
+ dynamic.ReadPackages()
+
+ // The core package contains the main menu and necessary logic.
+ // It should be loaded for the game to boot
+ if (!dynamic.Manager.IsPackageAvaliable(CorePackageName)) {
+ panic("The core package was not loaded")
+ }
+
render.InitWindow()
defer render.DeinitWindow()
// TEMPORARY SECTION
- for _, v := range dynamic.Manager.AvaliablePackages {
+ // for _, v := range dynamic.Manager.AvaliablePackages {
// log.Printf("%s: %s", k, &v)
- components.Resources.LoadedPackages[v.Description.Name] = v.Description.Version
- v.LoadTextures()
- v.LoadObjects()
- v.LoadWorlds()
- v.LoadMenus()
+ //components.Resources.LoadedPackages[v.Description.Name] = v.Description.Version
+ //v.LoadTextures()
+ //v.LoadObjects()
+ //v.LoadWorlds()
+ //v.LoadMenus()
+ //}
+
+ var coreLoadErr = dynamic.Manager.LoadPackage(CorePackageName)
+ if coreLoadErr != nil {
+ panic(fmt.Sprintf("Failed to load core package: %s", coreLoadErr.Error()))
}
+
+ // _ = dynamic.Manager.LoadPackage("testPackage")
+
log.Printf("Resource manager: %s", &components.Resources)
var manager = coreobjects.InitSceneManager()