diff options
| author | physcik <mynameisgennadiy@vk.com> | 2026-03-24 18:38:32 +0500 |
|---|---|---|
| committer | physcik <mynameisgennadiy@vk.com> | 2026-03-24 19:50:28 +0500 |
| commit | f5df2fba7cdadfd9e7b0e07f549b43d64ac5c6f4 (patch) | |
| tree | 79bfb264101200e9cc631a04eca28126c492a71e /engine/main.go | |
| parent | aab26bbdb0d8ad96e774baa07d44a3fcc5212cf1 (diff) | |
More package concern separation
Diffstat (limited to 'engine/main.go')
| -rw-r--r-- | engine/main.go | 32 |
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() |
