Skip to content

Commit 14a2843

Browse files
committed
Merge branch 'master' of https://github.com/photonstorm/phaser
2 parents f500dbf + 9235d6f commit 14a2843

12 files changed

Lines changed: 124 additions & 139 deletions

File tree

v3/src/boot/Config.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ var defaultBannerColor = [
1818

1919
var defaultBannerTextColor = '#ffffff';
2020

21-
function Config (config)
21+
var Config = function (config)
2222
{
2323
if (config === undefined) { config = {}; }
2424

@@ -42,7 +42,7 @@ function Config (config)
4242
this.gameVersion = GetObjectValue(config, 'version', '');
4343

4444
// If you do: { banner: false } it won't display any banner at all
45-
this.hideBanner = (GetObjectValue(config, 'banner', false) === false);
45+
this.hideBanner = (GetObjectValue(config, 'banner', null) === false);
4646

4747
this.hidePhaser = GetObjectValue(config, 'banner.hidePhaser', false);
4848
this.bannerTextColor = GetObjectValue(config, 'banner.text', defaultBannerTextColor);
@@ -55,8 +55,7 @@ function Config (config)
5555
// Callbacks
5656
this.preBoot = GetObjectValue(config, 'callbacks.preBoot', NOOP);
5757
this.postBoot = GetObjectValue(config, 'callbacks.postBoot', NOOP);
58-
59-
}
58+
};
6059

6160
Config.prototype.constructor = Config;
6261

v3/src/boot/Game.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ var DOMContentLoaded = require('../dom/DOMContentLoaded');
1515
var CreateRenderer = require('./CreateRenderer');
1616
var RandomDataGenerator = require('../math/random-data-generator/RandomDataGenerator');
1717
var StateManager = require('../state/StateManager');
18-
var TextureManager = require ('../textures/TextureManager');
18+
var TextureManager = require('../textures/TextureManager');
1919

2020
var Game = function (config)
2121
{

v3/src/checksum.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
var CHECKSUM = {
2-
build: 'cd5e7c40-d7b6-11e6-b751-619825ddff5c'
2+
build: '8ffe3950-dc3c-11e6-846b-836ccabf9869'
33
};
44
module.exports = CHECKSUM;

v3/src/components/Transform.js

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ var Transform = function (gameObject, x, y, scaleX, scaleY)
4343
// GL Vertex Data
4444
this.glVertextData = { x0: 0, y0: 0, x1: 0, y1: 0, x2: 0, y2: 0, x3: 0, y3: 0 };
4545

46-
// Canvas SetTransform Data
47-
this.canvasData = { a: 1, b: 0, c: 0, d: 1, tx: 0, ty: 0 };
46+
// Canvas SetTransform data
47+
this.canvasData = { a: 1, b: 0, c: 0, d: 1, tx: 0, ty: 0, dx: 0, dy: 0 };
4848

4949
this.immediate = false;
5050

@@ -455,7 +455,7 @@ Transform.prototype = {
455455
this.cache.d = this.cache.cr * this._scaleY;
456456
},
457457

458-
updateVertexData: function (interpolationPercentage)
458+
updateVertexData: function (interpolationPercentage, renderer)
459459
{
460460
if (!this.gameObject.frame || (!this._dirtyVertex && !this.interpolate))
461461
{
@@ -542,7 +542,7 @@ Transform.prototype = {
542542
h1 = _w1;
543543
}
544544

545-
if (frame.autoRound === 1 || (frame.autoRound === -1 && this.game.renderer.roundPixels))
545+
if (frame.autoRound === 1 || (frame.autoRound === -1 && renderer.roundPixels))
546546
{
547547
tx |= 0;
548548
ty |= 0;
@@ -597,8 +597,10 @@ Transform.prototype = {
597597
};
598598
},
599599

600-
getCanvasTransformData: function (interpolationPercentage)
600+
getCanvasTransformData: function (interpolationPercentage, renderer)
601601
{
602+
var frame = this.gameObject.frame;
603+
602604
var world = this.world;
603605
var data = this.canvasData;
604606

@@ -613,6 +615,8 @@ Transform.prototype = {
613615
data.d = old.d + ((world.d - old.d) * interpolationPercentage);
614616
data.tx = old.tx + ((world.tx - old.tx) * interpolationPercentage);
615617
data.ty = old.ty + ((world.ty - old.ty) * interpolationPercentage);
618+
data.dx = old.dx + ((frame.x - (this.anchorX * frame.width)) * interpolationPercentage);
619+
data.dy = old.dy + ((frame.y - (this.anchorY * frame.height)) * interpolationPercentage);
616620
}
617621
else
618622
{
@@ -623,6 +627,16 @@ Transform.prototype = {
623627
data.d = world.d;
624628
data.tx = world.tx;
625629
data.ty = world.ty;
630+
data.dx = frame.x - (this.anchorX * frame.width);
631+
data.dy = frame.y - (this.anchorY * frame.height);
632+
}
633+
634+
if (frame.autoRound === 1 || (frame.autoRound === -1 && renderer.roundPixels))
635+
{
636+
data.tx |= 0;
637+
data.ty |= 0;
638+
data.dx |= 0;
639+
data.dy |= 0;
626640
}
627641

628642
return data;

v3/src/gameobjects/image/ImageCanvasRenderer.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ var ImageCanvasRenderer = function (renderer, src, interpolationPercentage)
1111
return;
1212
}
1313

14-
var data = src.transform.getCanvasTransformData(interpolationPercentage);
14+
var data = src.transform.getCanvasTransformData(interpolationPercentage, renderer);
1515
var tint = src.color._glTint;
1616
var bg = src.color._glBg;
1717

18-
renderer.batch.add(frame.source, src.blendMode, data, frame.uvs, alpha, tint, bg);
18+
renderer.drawImage(frame, src.blendMode, data, alpha, tint, bg);
1919
};
2020

2121
module.exports = ImageCanvasRenderer;

v3/src/gameobjects/image/ImageWebGLRenderer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ var ImageWebGLRenderer = function (renderer, src, interpolationPercentage)
1111
return;
1212
}
1313

14-
var verts = src.transform.getVertexData(interpolationPercentage);
14+
var verts = src.transform.getVertexData(interpolationPercentage, renderer);
1515
var index = src.frame.source.glTextureIndex;
1616
var tint = src.color._glTint;
1717
var bg = src.color._glBg;

v3/src/phaser.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
require('./polyfills');
22

3+
var CONST = require('./const');
4+
var Extend = require('./utils/object/Extend');
5+
36
// This object is exported globally
47

58
var Phaser = {
@@ -41,6 +44,10 @@ var Phaser = {
4144
require('./gameobjects/image/ImageFactory');
4245
require('./gameobjects/container/ContainerFactory');
4346

47+
// Merge in the consts
48+
49+
Phaser = Extend(false, Phaser, CONST);
50+
4451
// Export it
4552

4653
module.exports = Phaser;

v3/src/renderer/canvas/BatchManager.js

Lines changed: 0 additions & 98 deletions
This file was deleted.

v3/src/renderer/canvas/CanvasRenderer.js

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
var BatchManager = require('./BatchManager');
1+
var DrawImage = require('./utils/DrawImage');
22

33
var CanvasRenderer = function (game)
44
{
@@ -38,10 +38,12 @@ var CanvasRenderer = function (game)
3838

3939
this.roundPixels = false;
4040

41-
this.batch = new BatchManager(this, 4000);
41+
// Map to the required function
42+
this.drawImage = DrawImage;
4243

43-
// var so = 'source-over';
44-
// this.blendModes = [ so, 'lighter', so, so, so, so, so, so, so, so, so, so, so, so, so, so, so ];
44+
var so = 'source-over';
45+
46+
this.blendModes = [ so, 'lighter', so, so, so, so, so, so, so, so, so, so, so, so, so, so, so ];
4547

4648
this.currentAlpha = 1;
4749
this.currentBlendMode = 0;
@@ -51,8 +53,6 @@ var CanvasRenderer = function (game)
5153
this.endTime = 0;
5254
this.drawCount = 0;
5355

54-
this.blendModes = [];
55-
5656
// this.tintMethod = this.tintWithPerPixel;
5757

5858
this.init();
@@ -66,8 +66,6 @@ CanvasRenderer.prototype = {
6666
{
6767
this.mapBlendModes();
6868

69-
this.batch.init();
70-
7169
this.resize(this.width, this.height);
7270
},
7371

@@ -164,13 +162,9 @@ CanvasRenderer.prototype = {
164162

165163
this.drawCount = 0;
166164

167-
this.batch.start();
168-
169165
// Could move to the State Systems or MainLoop
170166
this.game.state.renderChildren(this, state, interpolationPercentage);
171167

172-
this.batch.stop();
173-
174168
this.endTime = Date.now();
175169

176170
// console.log('%c render end ', 'color: #ffffff; background: #ff0000;');
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
2+
var DrawImage = function (frame, blendMode, transform, alpha, tint, bg)
3+
{
4+
var ctx = this.context;
5+
var cd = frame.canvasData;
6+
7+
// Blend Mode
8+
9+
if (this.currentBlendMode !== blendMode)
10+
{
11+
this.currentBlendMode = blendMode;
12+
ctx.globalCompositeOperation = this.blendModes[blendMode];
13+
}
14+
15+
// Alpha
16+
17+
if (this.currentAlpha !== alpha)
18+
{
19+
this.currentAlpha = alpha;
20+
ctx.globalAlpha = alpha;
21+
}
22+
23+
// Smoothing (should this be a Game Object, or Frame / Texture level property?)
24+
25+
if (this.currentScaleMode !== frame.source.scaleMode)
26+
{
27+
// this.currentScaleMode = source.scaleMode;
28+
// ctx[this.smoothProperty] = (source.scaleMode === Phaser.scaleModes.LINEAR);
29+
}
30+
31+
ctx.setTransform(transform.a, transform.b, transform.c, transform.d, transform.tx, transform.ty);
32+
ctx.drawImage(frame.source.image, cd.sx, cd.sy, cd.sWidth, cd.sHeight, transform.dx, transform.dy, cd.dWidth, cd.dHeight);
33+
34+
};
35+
36+
module.exports = DrawImage;

0 commit comments

Comments
 (0)