mirror of
https://github.com/OpenDiablo2/OpenDiablo2
synced 2025-02-10 10:36:42 -05:00
* removed d2common/d2scene, was not the right way to go. * added components for animation, scale, main viewport, viewport filter * added interface for scenes, which are extensions of akara.System * BootStrap is now AppBootstrap, common to game clients and headless server * added generic BasicScene struct for common scene functionality * added game object factory as a system, with single sprite factory * added update counter system, shows how many times the world updates per second * integration test is now the game client test
67 lines
1.7 KiB
Go
67 lines
1.7 KiB
Go
package d2asset
|
|
|
|
import (
|
|
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2fileformats/d2tbl"
|
|
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2util"
|
|
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2records"
|
|
"testing"
|
|
|
|
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2cache"
|
|
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2loader"
|
|
)
|
|
|
|
func TestAssetManager_LoadFile_NoSource(t *testing.T) {
|
|
loader, err := d2loader.NewLoader(d2util.LogLevelDefault)
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
records, err := d2records.NewRecordManager(d2util.LogLevelDebug)
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
am := &AssetManager{
|
|
Logger: d2util.NewLogger(),
|
|
Loader: loader,
|
|
tables: make([]d2tbl.TextDictionary, 0),
|
|
animations: d2cache.CreateCache(animationBudget),
|
|
fonts: d2cache.CreateCache(fontBudget),
|
|
palettes: d2cache.CreateCache(paletteBudget),
|
|
transforms: d2cache.CreateCache(paletteTransformBudget),
|
|
Records: records,
|
|
}
|
|
|
|
_, err = am.LoadFile("an/invalid/path")
|
|
if err == nil {
|
|
t.Error("asset manager loaded a file for which there is no source")
|
|
}
|
|
}
|
|
|
|
func BenchmarkAssetManager_LoadFile_NoSource(b *testing.B) {
|
|
loader, err := d2loader.NewLoader(d2util.LogLevelDefault)
|
|
if err != nil {
|
|
b.Error(err)
|
|
}
|
|
|
|
records, err := d2records.NewRecordManager(d2util.LogLevelDebug)
|
|
if err != nil {
|
|
b.Error(err)
|
|
}
|
|
|
|
am := &AssetManager{
|
|
Logger: d2util.NewLogger(),
|
|
Loader: loader,
|
|
tables: make([]d2tbl.TextDictionary, 0),
|
|
animations: d2cache.CreateCache(animationBudget),
|
|
fonts: d2cache.CreateCache(fontBudget),
|
|
palettes: d2cache.CreateCache(paletteBudget),
|
|
transforms: d2cache.CreateCache(paletteTransformBudget),
|
|
Records: records,
|
|
}
|
|
|
|
for idx := 0; idx < b.N; idx++ {
|
|
_, _ = am.LoadFile("an/invalid/path")
|
|
}
|
|
}
|