Skip to content

Commit bfbf665

Browse files
committed
Merge branch 'master' of https://github.com/photonstorm/phaser
2 parents ae8b052 + 895d684 commit bfbf665

14 files changed

Lines changed: 81 additions & 17 deletions

File tree

src/gameobjects/container/ContainerCanvasRenderer.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ var ContainerCanvasRenderer = function (renderer, container, camera, parentMatri
2828
return;
2929
}
3030

31+
camera.addToRenderList(container);
32+
3133
var transformMatrix = container.localTransform;
3234

3335
if (parentMatrix)

src/gameobjects/container/ContainerWebGLRenderer.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ var ContainerWebGLRenderer = function (renderer, container, camera, parentMatrix
2929
return;
3030
}
3131

32+
camera.addToRenderList(container);
33+
3234
var transformMatrix = container.localTransform;
3335

3436
if (parentMatrix)

src/gameobjects/zone/Zone.js

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -286,9 +286,15 @@ var Zone = new Class({
286286
* @method Phaser.GameObjects.Zone#renderCanvas
287287
* @private
288288
* @since 3.0.0
289+
*
290+
* @param {Phaser.Renderer.Canvas.CanvasRenderer} renderer - A reference to the current active Canvas renderer.
291+
* @param {Phaser.GameObjects.Image} src - The Game Object being rendered in this call.
292+
* @param {Phaser.Cameras.Scene2D.Camera} camera - The Camera that is rendering the Game Object.
293+
* @param {Phaser.GameObjects.Components.TransformMatrix} parentMatrix - This transform matrix is defined if the game object is nested
289294
*/
290-
renderCanvas: function ()
295+
renderCanvas: function (renderer, src, camera, parentMatrix)
291296
{
297+
camera.addToRenderList(src);
292298
},
293299

294300
/**
@@ -297,9 +303,15 @@ var Zone = new Class({
297303
* @method Phaser.GameObjects.Zone#renderWebGL
298304
* @private
299305
* @since 3.0.0
306+
*
307+
* @param {Phaser.Renderer.WebGL.WebGLRenderer} renderer - A reference to the current active WebGL renderer.
308+
* @param {Phaser.GameObjects.Image} src - The Game Object being rendered in this call.
309+
* @param {Phaser.Cameras.Scene2D.Camera} camera - The Camera that is rendering the Game Object.
310+
* @param {Phaser.GameObjects.Components.TransformMatrix} parentMatrix - This transform matrix is defined if the game object is nested
300311
*/
301-
renderWebGL: function ()
312+
renderWebGL: function (renderer, src, camera, parentMatrix)
302313
{
314+
camera.addToRenderList(src);
303315
}
304316

305317
});

src/loader/filetypes/JSONFile.js

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,18 @@ var JSONFile = new Class({
9898
{
9999
this.state = CONST.FILE_PROCESSING;
100100

101-
var json = JSON.parse(this.xhrLoader.responseText);
101+
try
102+
{
103+
var json = JSON.parse(this.xhrLoader.responseText);
104+
}
105+
catch (e)
106+
{
107+
console.warn('Invalid JSON: ' + this.key);
108+
109+
this.onProcessError();
110+
111+
throw e;
112+
}
102113

103114
var key = this.config;
104115

src/math/FromPercent.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ var FromPercent = function (percent, min, max)
2222
{
2323
percent = Clamp(percent, 0, 1);
2424

25-
return (max - min) * percent;
25+
return (max - min) * percent + min;
2626
};
2727

2828
module.exports = FromPercent;

src/physics/matter-js/components/SetBody.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ var SetBody = {
6868
* @method Phaser.Physics.Matter.Components.SetBody#setPolygon
6969
* @since 3.0.0
7070
*
71-
* @param {number} sides - The number of sides the polygon will have.
7271
* @param {number} radius - The "radius" of the polygon, i.e. the distance from its center to any vertex. This is also the radius of its circumcircle.
72+
* @param {number} sides - The number of sides the polygon will have.
7373
* @param {Phaser.Types.Physics.Matter.MatterBodyConfig} [options] - An optional Body configuration object that is used to set initial Body properties on creation.
7474
*
7575
* @return {Phaser.GameObjects.GameObject} This Game Object.

src/scene/Systems.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -391,6 +391,7 @@ var Systems = new Class({
391391
* Instructs the Scene to render itself via its Camera Manager to the renderer given.
392392
*
393393
* @method Phaser.Scenes.Systems#render
394+
* @fires Phaser.Scenes.Events#PRE_RENDER
394395
* @fires Phaser.Scenes.Events#RENDER
395396
* @since 3.0.0
396397
*
@@ -402,6 +403,8 @@ var Systems = new Class({
402403

403404
displayList.depthSort();
404405

406+
this.events.emit(Events.PRE_RENDER, renderer);
407+
405408
this.cameras.render(renderer, displayList);
406409

407410
this.events.emit(Events.RENDER, renderer);

src/scene/events/POST_UPDATE_EVENT.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@
1515
* 2. [UPDATE]{@linkcode Phaser.Scenes.Events#event:UPDATE}
1616
* 3. The `Scene.update` method is called, if it exists
1717
* 4. [POST_UPDATE]{@linkcode Phaser.Scenes.Events#event:POST_UPDATE}
18-
* 5. [RENDER]{@linkcode Phaser.Scenes.Events#event:RENDER}
19-
*
18+
* 5. [PRE_RENDER]{@linkcode Phaser.Scenes.Events#event:PRE_RENDER}
19+
* 6. [RENDER]{@linkcode Phaser.Scenes.Events#event:RENDER}
20+
*
2021
* Listen to it from a Scene using `this.scene.events.on('postupdate', listener)`.
2122
*
2223
* A Scene will only run its step if it is active.
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/**
2+
* @author samme
3+
* @copyright 2021 Photon Storm Ltd.
4+
* @license {@link https://opensource.org/licenses/MIT|MIT License}
5+
*/
6+
7+
/**
8+
* The Scene Systems Pre-Render Event.
9+
*
10+
* This event is dispatched by a Scene during the main game loop step.
11+
*
12+
* The event flow for a single step of a Scene is as follows:
13+
*
14+
* 1. [PRE_UPDATE]{@linkcode Phaser.Scenes.Events#event:PRE_UPDATE}
15+
* 2. [UPDATE]{@linkcode Phaser.Scenes.Events#event:UPDATE}
16+
* 3. The `Scene.update` method is called, if it exists
17+
* 4. [POST_UPDATE]{@linkcode Phaser.Scenes.Events#event:POST_UPDATE}
18+
* 5. [PRE_RENDER]{@linkcode Phaser.Scenes.Events#event:PRE_RENDER}
19+
* 6. [RENDER]{@linkcode Phaser.Scenes.Events#event:RENDER}
20+
*
21+
* Listen to this event from a Scene using `this.scene.events.on('prerender', listener)`.
22+
*
23+
* A Scene will only render if it is visible.
24+
* This event is dispatched after the Scene Display List is sorted and before the Scene is rendered.
25+
*
26+
* @event Phaser.Scenes.Events#PRE_RENDER
27+
* @since 3.53.0
28+
*
29+
* @param {(Phaser.Renderer.Canvas.CanvasRenderer|Phaser.Renderer.WebGL.WebGLRenderer)} renderer - The renderer that rendered the Scene.
30+
*/
31+
module.exports = 'prerender';

src/scene/events/PRE_UPDATE_EVENT.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@
1515
* 2. [UPDATE]{@linkcode Phaser.Scenes.Events#event:UPDATE}
1616
* 3. The `Scene.update` method is called, if it exists
1717
* 4. [POST_UPDATE]{@linkcode Phaser.Scenes.Events#event:POST_UPDATE}
18-
* 5. [RENDER]{@linkcode Phaser.Scenes.Events#event:RENDER}
19-
*
18+
* 5. [PRE_RENDER]{@linkcode Phaser.Scenes.Events#event:PRE_RENDER}
19+
* 6. [RENDER]{@linkcode Phaser.Scenes.Events#event:RENDER}
20+
*
2021
* Listen to it from a Scene using `this.scene.events.on('preupdate', listener)`.
2122
*
2223
* A Scene will only run its step if it is active.

0 commit comments

Comments
 (0)