From 754c860540660f004d09f1634ff62a56c481972e Mon Sep 17 00:00:00 2001 From: Physcik Date: Sat, 10 Jan 2026 21:34:07 +0500 Subject: texturs hanlding diff --- engine/Dynamic/Descriptors/Textures.go | 12 ++++++++++++ engine/Dynamic/Descriptors/World.go | 2 +- engine/Dynamic/Manager.go | 1 + engine/Dynamic/Package.go | 22 +++++++++++++--------- 4 files changed, 27 insertions(+), 10 deletions(-) create mode 100644 engine/Dynamic/Descriptors/Textures.go (limited to 'engine/Dynamic') diff --git a/engine/Dynamic/Descriptors/Textures.go b/engine/Dynamic/Descriptors/Textures.go new file mode 100644 index 0000000..9d480ee --- /dev/null +++ b/engine/Dynamic/Descriptors/Textures.go @@ -0,0 +1,12 @@ +package descriptors + +const TexturesDescriptorDirectoryName string = "Textures" +const TexturesDescriptorFileName string = "Meta.json" + +type TexturesDescriptor struct { + Avaliable []string +} + +func IsValid() error { + return nil +} diff --git a/engine/Dynamic/Descriptors/World.go b/engine/Dynamic/Descriptors/World.go index 00e17f3..5116a0d 100644 --- a/engine/Dynamic/Descriptors/World.go +++ b/engine/Dynamic/Descriptors/World.go @@ -24,5 +24,5 @@ func MapWorldDescriptors(data []*WorldDescriptor) map[string]*WorldDescriptor { type FloorPiece struct { Position rl.Vector2 - TextureId uint64 + Texture string } diff --git a/engine/Dynamic/Manager.go b/engine/Dynamic/Manager.go index 7e5a567..7a6e341 100644 --- a/engine/Dynamic/Manager.go +++ b/engine/Dynamic/Manager.go @@ -33,6 +33,7 @@ func loadPackages() (*PackageManager, error) { newPackage.location = packagePath // newPackage.LoadTiles() + newPackage.LoadTextures() newPackage.LoadWorlds() outp.AvaliablePackages[newPackage.Description.Name] = *newPackage diff --git a/engine/Dynamic/Package.go b/engine/Dynamic/Package.go index 8cabc91..2108d7b 100644 --- a/engine/Dynamic/Package.go +++ b/engine/Dynamic/Package.go @@ -38,6 +38,8 @@ func (base *PackageDescription) IsValid() error { // The dynamic collection of the things type Package struct { Description PackageDescription + + Textures *descriptors.TexturesDescriptor Worlds map[string]*descriptors.WorldDescriptor location string @@ -91,15 +93,17 @@ func (base *Package) LoadWorlds() { base.Worlds = worlds } } - -// func (base *Package) LoadTiles() { - // var tiles, loadErr = loadTilesFromDir(ConcantinateFileLocation(base.location, "Worlds")) - // if loadErr != nil { - // rl.TraceLog(rl.LogWarning, "Failed to load tiles from the module %s: %s", base.location, loadErr) - // } else { - // base.Tiles = tiles - // } -// } + +func (base *Package) LoadTextures() { + var textures = &descriptors.TexturesDescriptor{} + var texturesLocation = ConcantinateFileLocation(base.location, descriptors.TexturesDescriptorDirectoryName) + var loadErr = ReadJSONfromFile(ConcantinateFileLocation(texturesLocation, descriptors.TexturesDescriptorFileName), textures) + if loadErr != nil { + rl.TraceLog(rl.LogWarning, "Failed to load texture description from the module %s: %s", base.location, loadErr) + } else { + base.Textures = textures + } +} func loadWorldsFromDir(dirLocation string) (map[string]*descriptors.WorldDescriptor, error) { var loaded, err = loadAssetsFromDir(dirLocation, func() *descriptors.WorldDescriptor{ return &descriptors.WorldDescriptor{} }) -- cgit v1.3