diff --git a/packages/spritesheet/src/SpritesheetLoader.js b/packages/spritesheet/src/SpritesheetLoader.js index 0a19954..0de3190 100644 --- a/packages/spritesheet/src/SpritesheetLoader.js +++ b/packages/spritesheet/src/SpritesheetLoader.js @@ -37,7 +37,6 @@ const loadOptions = { crossOrigin: resource.crossOrigin, - loadType: LoaderResource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata, parentResource: resource, }; diff --git a/packages/spritesheet/src/SpritesheetLoader.js b/packages/spritesheet/src/SpritesheetLoader.js index 0a19954..0de3190 100644 --- a/packages/spritesheet/src/SpritesheetLoader.js +++ b/packages/spritesheet/src/SpritesheetLoader.js @@ -37,7 +37,6 @@ const loadOptions = { crossOrigin: resource.crossOrigin, - loadType: LoaderResource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata, parentResource: resource, }; diff --git a/packages/spritesheet/test/SpritesheetLoader.js b/packages/spritesheet/test/SpritesheetLoader.js index 65d1738..47f06fc 100644 --- a/packages/spritesheet/test/SpritesheetLoader.js +++ b/packages/spritesheet/test/SpritesheetLoader.js @@ -77,6 +77,31 @@ .that.is.an.instanceof(Texture); }); + it('should not load binary images as an image loader type', function (done) + { + const loader = new Loader(); + + // provide a mock pre-loader that creates an empty base texture for compressed texture assets + // this is necessary because the spritesheetParser expects a baseTexture on the resource + loader.pre((resource, next) => + { + if (resource.extension === 'crn') + { + resource.texture = Texture.EMPTY; + } + next(); + }) + .add(`atlas_crn`, `file://${__dirname}/resources/atlas_crn.json`) + .add(`atlas`, `file://${__dirname}/resources/building1.json`) + .load((loader, resources) => + { + expect(resources.atlas_image.data).to.be.instanceof(HTMLImageElement); + expect(resources.atlas_crn_image.data).to.not.be.instanceof(HTMLImageElement); + loader.reset(); + done(); + }); + }); + it('should build the image url', function () { function getPath(url, image) diff --git a/packages/spritesheet/src/SpritesheetLoader.js b/packages/spritesheet/src/SpritesheetLoader.js index 0a19954..0de3190 100644 --- a/packages/spritesheet/src/SpritesheetLoader.js +++ b/packages/spritesheet/src/SpritesheetLoader.js @@ -37,7 +37,6 @@ const loadOptions = { crossOrigin: resource.crossOrigin, - loadType: LoaderResource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata, parentResource: resource, }; diff --git a/packages/spritesheet/test/SpritesheetLoader.js b/packages/spritesheet/test/SpritesheetLoader.js index 65d1738..47f06fc 100644 --- a/packages/spritesheet/test/SpritesheetLoader.js +++ b/packages/spritesheet/test/SpritesheetLoader.js @@ -77,6 +77,31 @@ .that.is.an.instanceof(Texture); }); + it('should not load binary images as an image loader type', function (done) + { + const loader = new Loader(); + + // provide a mock pre-loader that creates an empty base texture for compressed texture assets + // this is necessary because the spritesheetParser expects a baseTexture on the resource + loader.pre((resource, next) => + { + if (resource.extension === 'crn') + { + resource.texture = Texture.EMPTY; + } + next(); + }) + .add(`atlas_crn`, `file://${__dirname}/resources/atlas_crn.json`) + .add(`atlas`, `file://${__dirname}/resources/building1.json`) + .load((loader, resources) => + { + expect(resources.atlas_image.data).to.be.instanceof(HTMLImageElement); + expect(resources.atlas_crn_image.data).to.not.be.instanceof(HTMLImageElement); + loader.reset(); + done(); + }); + }); + it('should build the image url', function () { function getPath(url, image) diff --git a/packages/spritesheet/test/resources/atlas.crn b/packages/spritesheet/test/resources/atlas.crn new file mode 100644 index 0000000..d5e7892 --- /dev/null +++ b/packages/spritesheet/test/resources/atlas.crn Binary files differ diff --git a/packages/spritesheet/src/SpritesheetLoader.js b/packages/spritesheet/src/SpritesheetLoader.js index 0a19954..0de3190 100644 --- a/packages/spritesheet/src/SpritesheetLoader.js +++ b/packages/spritesheet/src/SpritesheetLoader.js @@ -37,7 +37,6 @@ const loadOptions = { crossOrigin: resource.crossOrigin, - loadType: LoaderResource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata, parentResource: resource, }; diff --git a/packages/spritesheet/test/SpritesheetLoader.js b/packages/spritesheet/test/SpritesheetLoader.js index 65d1738..47f06fc 100644 --- a/packages/spritesheet/test/SpritesheetLoader.js +++ b/packages/spritesheet/test/SpritesheetLoader.js @@ -77,6 +77,31 @@ .that.is.an.instanceof(Texture); }); + it('should not load binary images as an image loader type', function (done) + { + const loader = new Loader(); + + // provide a mock pre-loader that creates an empty base texture for compressed texture assets + // this is necessary because the spritesheetParser expects a baseTexture on the resource + loader.pre((resource, next) => + { + if (resource.extension === 'crn') + { + resource.texture = Texture.EMPTY; + } + next(); + }) + .add(`atlas_crn`, `file://${__dirname}/resources/atlas_crn.json`) + .add(`atlas`, `file://${__dirname}/resources/building1.json`) + .load((loader, resources) => + { + expect(resources.atlas_image.data).to.be.instanceof(HTMLImageElement); + expect(resources.atlas_crn_image.data).to.not.be.instanceof(HTMLImageElement); + loader.reset(); + done(); + }); + }); + it('should build the image url', function () { function getPath(url, image) diff --git a/packages/spritesheet/test/resources/atlas.crn b/packages/spritesheet/test/resources/atlas.crn new file mode 100644 index 0000000..d5e7892 --- /dev/null +++ b/packages/spritesheet/test/resources/atlas.crn Binary files differ diff --git a/packages/spritesheet/test/resources/atlas_crn.json b/packages/spritesheet/test/resources/atlas_crn.json new file mode 100644 index 0000000..6327c0b --- /dev/null +++ b/packages/spritesheet/test/resources/atlas_crn.json @@ -0,0 +1,25 @@ +{ + "meta": { + "image": "atlas.crn", + "size": {"w":256,"h":256}, + "scale": "1" + }, + "frames": { + "resources/test.png": + { + "frame": {"x":2,"y":2,"w":152,"h":188}, + "rotated": false, + "trimmed": true, + "spriteSourceSize": {"x":74,"y":36,"w":152,"h":188}, + "sourceSize": {"w":300,"h":225} + }, + "resources/font.png": + { + "frame": {"x":158,"y":2,"w":40,"h":42}, + "rotated": false, + "trimmed": true, + "spriteSourceSize": {"x":2,"y":2,"w":40,"h":42}, + "sourceSize": {"w":43,"h":46} + } + } +} \ No newline at end of file