Skip to content

Commit cbbe152

Browse files
committed
Fixed issue with Tint array being copied to the prototype
1 parent 2909df4 commit cbbe152

7 files changed

Lines changed: 69 additions & 40 deletions

File tree

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: '6611c510-6109-11e7-ba24-95364bcb65af'
2+
build: '33d1d0a0-6117-11e7-955b-91742f26d4f3'
33
};
44
module.exports = CHECKSUM;

v3/src/gameobjects/components/Tint.js

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,16 @@ var GetColor = function (value)
77
var Tint = {
88

99
// 0: topLeft, 1: topRight, 2: bottomLeft, 3: bottomRight
10-
_tint: [ 16777215, 16777215, 16777215, 16777215 ],
10+
_tintTL: 16777215,
11+
_tintTR: 16777215,
12+
_tintBL: 16777215,
13+
_tintBR: 16777215,
1114

1215
clearTint: function ()
1316
{
1417
this.setTint(0xffffff);
18+
19+
return this;
1520
},
1621

1722
setTint: function (topLeft, topRight, bottomLeft, bottomRight)
@@ -23,22 +28,24 @@ var Tint = {
2328
bottomRight = topLeft;
2429
}
2530

26-
this.tintTopLeft = topLeft;
27-
this.tintTopRight = topRight;
28-
this.tintBottomLeft = bottomLeft;
29-
this.tintBottomRight = bottomRight;
31+
this._tintTL = GetColor(topLeft);
32+
this._tintTR = GetColor(topRight);
33+
this._tintBL = GetColor(bottomLeft);
34+
this._tintBR = GetColor(bottomRight);
35+
36+
return this;
3037
},
3138

3239
tintTopLeft: {
3340

3441
get: function ()
3542
{
36-
return this._tint[0];
43+
return this._tintTL;
3744
},
3845

3946
set: function (value)
4047
{
41-
this._tint[0] = GetColor(value);
48+
this._tintTL = GetColor(value);
4249
}
4350

4451
},
@@ -47,12 +54,12 @@ var Tint = {
4754

4855
get: function ()
4956
{
50-
return this._tint[1];
57+
return this._tintTR;
5158
},
5259

5360
set: function (value)
5461
{
55-
this._tint[1] = GetColor(value);
62+
this._tintTR = GetColor(value);
5663
}
5764

5865
},
@@ -61,12 +68,12 @@ var Tint = {
6168

6269
get: function ()
6370
{
64-
return this._tint[2];
71+
return this._tintBL;
6572
},
6673

6774
set: function (value)
6875
{
69-
this._tint[2] = GetColor(value);
76+
this._tintBL = GetColor(value);
7077
}
7178

7279
},
@@ -75,23 +82,18 @@ var Tint = {
7582

7683
get: function ()
7784
{
78-
return this._tint[3];
85+
return this._tintBR;
7986
},
8087

8188
set: function (value)
8289
{
83-
this._tint[3] = GetColor(value);
90+
this._tintBR = GetColor(value);
8491
}
8592

8693
},
8794

8895
tint: {
8996

90-
get: function ()
91-
{
92-
return this._tint;
93-
},
94-
9597
set: function (value)
9698
{
9799
this.setTint(value, value, value, value);

v3/src/graphics/color/IntegerToRGB.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/**
22
* Return the component parts of a color as an Object with the properties alpha, red, green, blue.
33
*
4-
* Alpha will only be set if it exist in the given color (0xAARRGGBB)
4+
* Alpha will only be set if it exists in the given color (0xAARRGGBB)
55
*
66
* @method Phaser.Color.getRGB
77
* @static

v3/src/plugins/GameObjectFactory.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,21 @@ var GameObjectFactory = new Class({
2828
this.updateList = state.sys.updateList;
2929
},
3030

31+
existing: function (child)
32+
{
33+
if (child.renderCanvas || child.renderWebGL)
34+
{
35+
this.displayList.add(child);
36+
}
37+
38+
if (child.preUpdate)
39+
{
40+
this.updateList.add(child);
41+
}
42+
43+
return child;
44+
},
45+
3146
bitmapText: function (x, y, font, text, size, align)
3247
{
3348
return this.displayList.add(StaticBitmapTextFactory(this.state, x, y, font, text, size, align));

v3/src/renderer/webgl/renderers/effectrenderer/EffectRenderer.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,10 @@ var EffectRenderer = new Class({
178178
var mva, mvb, mvc, mvd, mve, mvf, tx0, ty0, tx1, ty1, tx2, ty2, tx3, ty3;
179179
var sra, srb, src, srd, sre, srf, cma, cmb, cmc, cmd, cme, cmf;
180180
var alpha = gameObject.alpha;
181-
var tint = gameObject._tint;
181+
var tintTL = gameObject._tintTL;
182+
var tintTR = gameObject._tintTR;
183+
var tintBL = gameObject._tintBL;
184+
var tintBR = gameObject._tintBR;
182185

183186
tempMatrix.applyITRS(translateX, translateY, rotation, scaleX, scaleY);
184187

@@ -221,31 +224,31 @@ var EffectRenderer = new Class({
221224
vertexBufferObjectF32[vertexOffset++] = ty0;
222225
vertexBufferObjectF32[vertexOffset++] = 0;
223226
vertexBufferObjectF32[vertexOffset++] = 0;
224-
vertexBufferObjectU32[vertexOffset++] = tint[0];
227+
vertexBufferObjectU32[vertexOffset++] = tintTL;
225228
vertexBufferObjectF32[vertexOffset++] = alpha;
226229

227230
// Bottom Left
228231
vertexBufferObjectF32[vertexOffset++] = tx1;
229232
vertexBufferObjectF32[vertexOffset++] = ty1;
230233
vertexBufferObjectF32[vertexOffset++] = 0;
231234
vertexBufferObjectF32[vertexOffset++] = 1;
232-
vertexBufferObjectU32[vertexOffset++] = tint[2];
235+
vertexBufferObjectU32[vertexOffset++] = tintBL;
233236
vertexBufferObjectF32[vertexOffset++] = alpha;
234237

235238
// Bottom Right
236239
vertexBufferObjectF32[vertexOffset++] = tx2;
237240
vertexBufferObjectF32[vertexOffset++] = ty2;
238241
vertexBufferObjectF32[vertexOffset++] = 1;
239242
vertexBufferObjectF32[vertexOffset++] = 1;
240-
vertexBufferObjectU32[vertexOffset++] = tint[3];
243+
vertexBufferObjectU32[vertexOffset++] = tintBR;
241244
vertexBufferObjectF32[vertexOffset++] = alpha;
242245

243246
// Top Right
244247
vertexBufferObjectF32[vertexOffset++] = tx3;
245248
vertexBufferObjectF32[vertexOffset++] = ty3;
246249
vertexBufferObjectF32[vertexOffset++] = 1;
247250
vertexBufferObjectF32[vertexOffset++] = 0;
248-
vertexBufferObjectU32[vertexOffset++] = tint[1];
251+
vertexBufferObjectU32[vertexOffset++] = tintTR;
249252
vertexBufferObjectF32[vertexOffset++] = alpha;
250253

251254
this.flush(gameObject.dstShader);

v3/src/renderer/webgl/renderers/spritebatch/SpriteBatch.js

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,10 @@ var SpriteBatch = new Class({
462462
var mva, mvb, mvc, mvd, mve, mvf, tx0, ty0, tx1, ty1, tx2, ty2, tx3, ty3;
463463
var sra, srb, src, srd, sre, srf, cma, cmb, cmc, cmd, cme, cmf;
464464
var alpha = gameObject.alpha;
465-
var tint = gameObject._tint;
465+
var tintTL = gameObject._tintTL;
466+
var tintTR = gameObject._tintTR;
467+
var tintBL = gameObject._tintBL;
468+
var tintBR = gameObject._tintBR;
466469

467470
tempMatrix.applyITRS(translateX, translateY, rotation, scaleX, scaleY);
468471

@@ -507,31 +510,31 @@ var SpriteBatch = new Class({
507510
vertexBufferObjectF32[vertexOffset++] = ty0;
508511
vertexBufferObjectF32[vertexOffset++] = 0;
509512
vertexBufferObjectF32[vertexOffset++] = 0;
510-
vertexBufferObjectU32[vertexOffset++] = tint[0];
513+
vertexBufferObjectU32[vertexOffset++] = tintTL;
511514
vertexBufferObjectF32[vertexOffset++] = alpha;
512515

513516
// Bottom Left
514517
vertexBufferObjectF32[vertexOffset++] = tx1;
515518
vertexBufferObjectF32[vertexOffset++] = ty1;
516519
vertexBufferObjectF32[vertexOffset++] = 0;
517520
vertexBufferObjectF32[vertexOffset++] = 1;
518-
vertexBufferObjectU32[vertexOffset++] = tint[2];
521+
vertexBufferObjectU32[vertexOffset++] = tintBL;
519522
vertexBufferObjectF32[vertexOffset++] = alpha;
520523

521524
// Bottom Right
522525
vertexBufferObjectF32[vertexOffset++] = tx2;
523526
vertexBufferObjectF32[vertexOffset++] = ty2;
524527
vertexBufferObjectF32[vertexOffset++] = 1;
525528
vertexBufferObjectF32[vertexOffset++] = 1;
526-
vertexBufferObjectU32[vertexOffset++] = tint[3];
529+
vertexBufferObjectU32[vertexOffset++] = tintBR;
527530
vertexBufferObjectF32[vertexOffset++] = alpha;
528531

529532
// Top Right
530533
vertexBufferObjectF32[vertexOffset++] = tx3;
531534
vertexBufferObjectF32[vertexOffset++] = ty3;
532535
vertexBufferObjectF32[vertexOffset++] = 1;
533536
vertexBufferObjectF32[vertexOffset++] = 0;
534-
vertexBufferObjectU32[vertexOffset++] = tint[1];
537+
vertexBufferObjectU32[vertexOffset++] = tintTR;
535538
vertexBufferObjectF32[vertexOffset++] = alpha;
536539
},
537540

@@ -563,7 +566,10 @@ var SpriteBatch = new Class({
563566
var mva, mvb, mvc, mvd, mve, mvf, tx0, ty0, tx1, ty1, tx2, ty2, tx3, ty3;
564567
var sra, srb, src, srd, sre, srf, cma, cmb, cmc, cmd, cme, cmf;
565568
var alpha = gameObject.alpha;
566-
var tint = gameObject._tint;
569+
var tintTL = gameObject._tintTL;
570+
var tintTR = gameObject._tintTR;
571+
var tintBL = gameObject._tintBL;
572+
var tintBR = gameObject._tintBR;
567573

568574
tempMatrix.applyITRS(translateX, translateY, rotation, scaleX, scaleY);
569575

@@ -608,31 +614,31 @@ var SpriteBatch = new Class({
608614
vertexBufferObjectF32[vertexOffset++] = ty0;
609615
vertexBufferObjectF32[vertexOffset++] = uvs.x0;
610616
vertexBufferObjectF32[vertexOffset++] = uvs.y0;
611-
vertexBufferObjectU32[vertexOffset++] = tint[0];
617+
vertexBufferObjectU32[vertexOffset++] = tintTL;
612618
vertexBufferObjectF32[vertexOffset++] = alpha;
613619

614620
// Bottom Left
615621
vertexBufferObjectF32[vertexOffset++] = tx1;
616622
vertexBufferObjectF32[vertexOffset++] = ty1;
617623
vertexBufferObjectF32[vertexOffset++] = uvs.x1;
618624
vertexBufferObjectF32[vertexOffset++] = uvs.y1;
619-
vertexBufferObjectU32[vertexOffset++] = tint[2];
625+
vertexBufferObjectU32[vertexOffset++] = tintBL;
620626
vertexBufferObjectF32[vertexOffset++] = alpha;
621627

622628
// Bottom Right
623629
vertexBufferObjectF32[vertexOffset++] = tx2;
624630
vertexBufferObjectF32[vertexOffset++] = ty2;
625631
vertexBufferObjectF32[vertexOffset++] = uvs.x2;
626632
vertexBufferObjectF32[vertexOffset++] = uvs.y2;
627-
vertexBufferObjectU32[vertexOffset++] = tint[3];
633+
vertexBufferObjectU32[vertexOffset++] = tintBR;
628634
vertexBufferObjectF32[vertexOffset++] = alpha;
629635

630636
// Top Right
631637
vertexBufferObjectF32[vertexOffset++] = tx3;
632638
vertexBufferObjectF32[vertexOffset++] = ty3;
633639
vertexBufferObjectF32[vertexOffset++] = uvs.x3;
634640
vertexBufferObjectF32[vertexOffset++] = uvs.y3;
635-
vertexBufferObjectU32[vertexOffset++] = tint[1];
641+
vertexBufferObjectU32[vertexOffset++] = tintTR;
636642
vertexBufferObjectF32[vertexOffset++] = alpha;
637643
}
638644

v3/src/renderer/webgl/renderers/tilebatch/TileBatch.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,10 @@ var TileBatch = new Class({
213213
var tilePositionX = gameObject.tilePositionX / gameObject.frame.width;
214214
var tilePositionY = gameObject.tilePositionY / gameObject.frame.height;
215215
var texture = gameObject.tileTexture;
216-
var tint = gameObject._tint;
216+
var tintTL = gameObject._tintTL;
217+
var tintTR = gameObject._tintTR;
218+
var tintBL = gameObject._tintBL;
219+
var tintBR = gameObject._tintBR;
217220

218221
tempMatrix.applyITRS(translateX, translateY, rotation, scaleX, scaleY);
219222

@@ -256,31 +259,31 @@ var TileBatch = new Class({
256259
vertexBufferObjectF32[vertexOffset++] = ty0;
257260
vertexBufferObjectF32[vertexOffset++] = u0 + tilePositionX;
258261
vertexBufferObjectF32[vertexOffset++] = v0 + tilePositionY;
259-
vertexBufferObjectU32[vertexOffset++] = tint[0];
262+
vertexBufferObjectU32[vertexOffset++] = tintTL;
260263
vertexBufferObjectF32[vertexOffset++] = alpha;
261264

262265
// Bottom Left
263266
vertexBufferObjectF32[vertexOffset++] = tx1;
264267
vertexBufferObjectF32[vertexOffset++] = ty1;
265268
vertexBufferObjectF32[vertexOffset++] = u0 + tilePositionX;
266269
vertexBufferObjectF32[vertexOffset++] = v1 + tilePositionY;
267-
vertexBufferObjectU32[vertexOffset++] = tint[2];
270+
vertexBufferObjectU32[vertexOffset++] = tintBL;
268271
vertexBufferObjectF32[vertexOffset++] = alpha;
269272

270273
// Bottom Right
271274
vertexBufferObjectF32[vertexOffset++] = tx2;
272275
vertexBufferObjectF32[vertexOffset++] = ty2;
273276
vertexBufferObjectF32[vertexOffset++] = u1 + tilePositionX;
274277
vertexBufferObjectF32[vertexOffset++] = v1 + tilePositionY;
275-
vertexBufferObjectU32[vertexOffset++] = tint[3];
278+
vertexBufferObjectU32[vertexOffset++] = tintBR;
276279
vertexBufferObjectF32[vertexOffset++] = alpha;
277280

278281
// Top Right
279282
vertexBufferObjectF32[vertexOffset++] = tx3;
280283
vertexBufferObjectF32[vertexOffset++] = ty3;
281284
vertexBufferObjectF32[vertexOffset++] = u1 + tilePositionX;
282285
vertexBufferObjectF32[vertexOffset++] = v0 + tilePositionY;
283-
vertexBufferObjectU32[vertexOffset++] = tint[1];
286+
vertexBufferObjectU32[vertexOffset++] = tintTR;
284287
vertexBufferObjectF32[vertexOffset++] = alpha;
285288
}
286289

0 commit comments

Comments
 (0)