@vpmedia/phaser 1.53.0 → 1.54.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @vpmedia/phaser
2
2
 
3
- [![npm version](https://badge.fury.io/js/@vpmedia%2Fphaser.svg?v=1.53.0)](https://badge.fury.io/js/@vpmedia%2Fphaser)
3
+ [![npm version](https://badge.fury.io/js/@vpmedia%2Fphaser.svg?v=1.54.0)](https://badge.fury.io/js/@vpmedia%2Fphaser)
4
4
  [![Node.js CI](https://github.com/vpmedia/phaser/actions/workflows/ci.yml/badge.svg)](https://github.com/vpmedia/phaser/actions/workflows/ci.yml)
5
5
 
6
6
  @vpmedia/phaser is the modern ECMAScript port of the popular Phaser game engine v2.6.2.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vpmedia/phaser",
3
- "version": "1.53.0",
3
+ "version": "1.54.0",
4
4
  "description": "@vpmedia/phaser is the modern ECMAScript port of the popular Phaser game engine v2.6.2",
5
5
  "author": "Andras Csizmadia <andras@vpmedia.hu> (www.vpmedia.hu)",
6
6
  "license": "MIT",
@@ -166,13 +166,6 @@ export class Game {
166
166
  }
167
167
  this.exceptionHandler(e, tags);
168
168
  }
169
- /*
170
- this.renderer = new WebGLRenderer(this);
171
- this.context = null;
172
- this.canvas.addEventListener('webglcontextlost', this.contextLost.bind(this), false);
173
- this.canvas.addEventListener('webglcontextrestored', this.contextRestored.bind(this), false);
174
- isWebGlReady = true;
175
- */
176
169
  }
177
170
  if (!isWebGlReady) {
178
171
  if (this.renderer) {
@@ -265,7 +258,7 @@ export class Game {
265
258
  contextRestored(event) {
266
259
  this.logger.info('contextRestored', event);
267
260
  if (this.renderer) {
268
- this.renderer.initContext();
261
+ this.renderer.initContext(this);
269
262
  // this.cache.clearGLTextures();
270
263
  this.renderer.contextLost = false;
271
264
  }
@@ -158,8 +158,9 @@ export class CanvasRenderer {
158
158
 
159
159
  /**
160
160
  * TBD.
161
+ * @param {import('../../core/game.js').Game} game - TBD.
161
162
  */
162
- initContext() {
163
+ initContext(game) {
163
164
  // stub
164
165
  }
165
166
  }
@@ -70,7 +70,7 @@ export class WebGLRenderer {
70
70
  this.renderSession.stencilManager = this.stencilManager;
71
71
  this.renderSession.renderer = this;
72
72
  this.renderSession.resolution = this.resolution;
73
- this.initContext();
73
+ this.initContext(game);
74
74
  this.mapBlendModes();
75
75
  }
76
76
 
@@ -119,36 +119,44 @@ export class WebGLRenderer {
119
119
 
120
120
  /**
121
121
  * TBD.
122
+ * @param {import('../../core/game.js').Game} game - TBD.
122
123
  * @throws Error.
123
124
  */
124
- initContext() {
125
+ initContext(game) {
126
+ game.logger.debug('initContext');
125
127
  /** @type {WebGLRenderingContext & { id: number }} */
126
128
  const gl =
127
129
  this.view.getContext('webgl', this._contextOptions) ||
128
130
  this.view.getContext('experimental-webgl', this._contextOptions);
129
131
  this.gl = gl;
130
132
  if (!gl) {
131
- // fail, not able to get a context
132
133
  throw new Error('Error creating WebGL context');
133
134
  }
135
+ if (gl?.isContextLost()) {
136
+ game.logger.warn('WebGL context lost');
137
+ }
138
+ if (gl?.getError()) {
139
+ game.logger.warn('WebGL context error', { errorCode: gl?.getError() });
140
+ }
141
+ // set current context
134
142
  this.initRegistry();
135
143
  this.glContextId = window.PhaserRegistry.GL_CONTEXT_ID;
136
144
  gl.id = window.PhaserRegistry.GL_CONTEXT_ID;
137
145
  window.PhaserRegistry.GL_CONTEXTS[this.glContextId] = gl;
138
146
  window.PhaserRegistry.INSTANCES[this.glContextId] = this;
139
147
  window.PhaserRegistry.GL_CONTEXT_ID += 1;
140
- // set up the default pixi settings..
148
+ // set default settings
141
149
  gl.disable(gl.DEPTH_TEST);
142
150
  gl.disable(gl.CULL_FACE);
143
151
  gl.enable(gl.BLEND);
144
- // need to set the context for all the managers...
152
+ // set context for managers
145
153
  this.shaderManager.setContext(gl);
146
154
  this.spriteBatch.setContext(gl);
147
155
  this.stencilManager.setContext(gl);
148
156
  this.filterManager.setContext(gl);
149
157
  this.blendModeManager.setContext(gl);
150
- this.renderSession.gl = this.gl;
151
- // now resize and we are good to go!
158
+ this.renderSession.gl = gl;
159
+ // set initial size
152
160
  this.resize(this.width, this.height);
153
161
  }
154
162
 
@@ -1 +1 @@
1
- {"version":3,"file":"game.d.ts","sourceRoot":"","sources":["../../../src/phaser/core/game.js"],"names":[],"mappings":"AAqBA;IACE;;;OAGG;IACH,yBAFW,MAAM,EAoDhB;IA9CC,WAAgB;IAChB,WAAW;IACX,eAAgB;IAChB,cAAgB;IAChB,eAAiB;IACjB,yCAAoB;IACpB,oBAAiB;IACjB,kBAAqB;IACrB,gBAAmB;IACnB,2BAAe;IACf,uBAAe;IACf,aAAiB;IACjB,aAAiB;IACjB,aAAgB;IAChB,oBAAiB;IACjB,oBAAiB;IACjB,aAAiB;IACjB,WAAgB;IAChB,qBAAkB;IAClB,aAAiB;IACjB,eAA0B;IAC1B,qBAAqB;IACrB,QADW,MAAM,CACC;IAClB,gCAAgC;IAChC,QADW,iBAAiB,CACV;IAClB,+BAA+B;IAC/B,SADW,gBAAgB,CACR;IACnB,gBAA2B;IAC3B,iBAA4B;IAC5B,eAA0B;IAC1B,kBAAqB;IAkBvB;;OAEG;IACH,aA+BC;IAED;;OAEG;IACH,6BAeC;IAED;;OAEG;IACH,qBA0DC;IAjDK,2BAyGK,iBAAiB,GAAG,KAAK,UAzGsB;IACpD,+BAoHK,iBAAiB,GAAG,KAAK,UApH8B;IAkDlE;;;;;OAKG;IACH,2BAJW,MAAM,OACN,MAAM,gBACN,GAAC,QAQX;IAED;;;OAGG;IACH,oBAFW,MAAM,QAkChB;IAdG,sBAA+C;IAgBnD;;;OAGG;IACH,mBAFW,iBAAiB,GAAG,KAAK,QAQnC;IAED;;;OAGG;IACH,uBAFW,iBAAiB,GAAG,KAAK,QASnC;IAED;;;OAGG;IACH,aAFW,MAAM,QAoBhB;IAED;;OAEG;IACH,gBAwCC;CACF;+BArV8B,+BAA+B;8BAEhC,8BAA8B;6BAU/B,oBAAoB;sCAFX,UAAU;kCAHd,cAAc;sBAJ1B,YAAY;sBAKZ,YAAY;uBACX,aAAa;6BAEP,oBAAoB;6BAGpB,oBAAoB;sBAC3B,YAAY;qBACb,WAAW;6BACH,oBAAoB;sBAC3B,YAAY;uBAbX,aAAa;uBANb,mBAAmB;uBAcnB,aAAa"}
1
+ {"version":3,"file":"game.d.ts","sourceRoot":"","sources":["../../../src/phaser/core/game.js"],"names":[],"mappings":"AAqBA;IACE;;;OAGG;IACH,yBAFW,MAAM,EAoDhB;IA9CC,WAAgB;IAChB,WAAW;IACX,eAAgB;IAChB,cAAgB;IAChB,eAAiB;IACjB,yCAAoB;IACpB,oBAAiB;IACjB,kBAAqB;IACrB,gBAAmB;IACnB,2BAAe;IACf,uBAAe;IACf,aAAiB;IACjB,aAAiB;IACjB,aAAgB;IAChB,oBAAiB;IACjB,oBAAiB;IACjB,aAAiB;IACjB,WAAgB;IAChB,qBAAkB;IAClB,aAAiB;IACjB,eAA0B;IAC1B,qBAAqB;IACrB,QADW,MAAM,CACC;IAClB,gCAAgC;IAChC,QADW,iBAAiB,CACV;IAClB,+BAA+B;IAC/B,SADW,gBAAgB,CACR;IACnB,gBAA2B;IAC3B,iBAA4B;IAC5B,eAA0B;IAC1B,kBAAqB;IAkBvB;;OAEG;IACH,aA+BC;IAED;;OAEG;IACH,6BAeC;IAED;;OAEG;IACH,qBAkDC;IA1CK,2BAkGK,iBAAiB,GAAG,KAAK,UAlGsB;IACpD,+BA6GK,iBAAiB,GAAG,KAAK,UA7G8B;IA2ClE;;;;;OAKG;IACH,2BAJW,MAAM,OACN,MAAM,gBACN,GAAC,QAQX;IAED;;;OAGG;IACH,oBAFW,MAAM,QAkChB;IAdG,sBAA+C;IAgBnD;;;OAGG;IACH,mBAFW,iBAAiB,GAAG,KAAK,QAQnC;IAED;;;OAGG;IACH,uBAFW,iBAAiB,GAAG,KAAK,QASnC;IAED;;;OAGG;IACH,aAFW,MAAM,QAoBhB;IAED;;OAEG;IACH,gBAwCC;CACF;+BA7U8B,+BAA+B;8BAEhC,8BAA8B;6BAU/B,oBAAoB;sCAFX,UAAU;kCAHd,cAAc;sBAJ1B,YAAY;sBAKZ,YAAY;uBACX,aAAa;6BAEP,oBAAoB;6BAGpB,oBAAoB;sBAC3B,YAAY;qBACb,WAAW;6BACH,oBAAoB;sBAC3B,YAAY;uBAbX,aAAa;uBANb,mBAAmB;uBAcnB,aAAa"}
@@ -53,8 +53,9 @@ export class CanvasRenderer {
53
53
  mapBlendModes(): void;
54
54
  /**
55
55
  * TBD.
56
+ * @param {import('../../core/game.js').Game} game - TBD.
56
57
  */
57
- initContext(): void;
58
+ initContext(game: import("../../core/game.js").Game): void;
58
59
  }
59
60
  import * as CanvasMaskManager from './masker.js';
60
61
  //# sourceMappingURL=renderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../../src/phaser/display/canvas/renderer.js"],"names":[],"mappings":"AA0BA;IACE;;;OAGG;IACH,kBAFW,OAAO,oBAAoB,EAAE,IAAI,EA6B3C;IAzBC,aAAyB;IACzB,gBAAwC;IACxC,uBAAsD;IACtD,iBAA0C;IAC1C,oBAAuB;IACvB,qBAAwB;IACxB,cAAyC;IACzC,eAA2C;IAC3C,wBAAuB;IACvB,uCAAuC;IACvC,SADW,wBAAwB,CACmC;IAItE,iBAAmB;IACnB,cAAc;IACd;;;;;;MAMC;IAKH;;;OAGG;IACH,aAFW,OAAO,qBAAqB,EAAE,KAAK,QAqB7C;IAED;;;OAGG;IACH,qBAFW,OAAO,QASjB;IAED;;;;OAIG;IACH,cAHW,MAAM,UACN,MAAM,QAchB;IAED;;;;;OAKG;IACH,mCAJW,OAAO,wBAAwB,EAAE,KAAK,WACtC,wBAAwB,UACxB,OAAO,sBAAsB,EAAE,MAAM,QAM/C;IAED;;OAEG;IACH,sBAwBC;IAED;;OAEG;IACH,oBAEC;CACF;mCA9IkC,aAAa"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../../src/phaser/display/canvas/renderer.js"],"names":[],"mappings":"AA0BA;IACE;;;OAGG;IACH,kBAFW,OAAO,oBAAoB,EAAE,IAAI,EA6B3C;IAzBC,aAAyB;IACzB,gBAAwC;IACxC,uBAAsD;IACtD,iBAA0C;IAC1C,oBAAuB;IACvB,qBAAwB;IACxB,cAAyC;IACzC,eAA2C;IAC3C,wBAAuB;IACvB,uCAAuC;IACvC,SADW,wBAAwB,CACmC;IAItE,iBAAmB;IACnB,cAAc;IACd;;;;;;MAMC;IAKH;;;OAGG;IACH,aAFW,OAAO,qBAAqB,EAAE,KAAK,QAqB7C;IAED;;;OAGG;IACH,qBAFW,OAAO,QASjB;IAED;;;;OAIG;IACH,cAHW,MAAM,UACN,MAAM,QAchB;IAED;;;;;OAKG;IACH,mCAJW,OAAO,wBAAwB,EAAE,KAAK,WACtC,wBAAwB,UACxB,OAAO,sBAAsB,EAAE,MAAM,QAM/C;IAED;;OAEG;IACH,sBAwBC;IAED;;;OAGG;IACH,kBAFW,OAAO,oBAAoB,EAAE,IAAI,QAI3C;CACF;mCA/IkC,aAAa"}
@@ -42,9 +42,10 @@ export class WebGLRenderer {
42
42
  initRegistry(): void;
43
43
  /**
44
44
  * TBD.
45
+ * @param {import('../../core/game.js').Game} game - TBD.
45
46
  * @throws Error.
46
47
  */
47
- initContext(): void;
48
+ initContext(game: import("../../core/game.js").Game): void;
48
49
  glContextId: any;
49
50
  /**
50
51
  * TBD.
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../../src/phaser/display/webgl/renderer.js"],"names":[],"mappings":"AA+BA;IACE;;;OAGG;IACH,kBAFW,OAAO,oBAAoB,EAAE,IAAI,EAwC3C;IArCC,aAAwB;IACxB,gBAAwC;IACxC,oBAAuB;IACvB,qBAAwB;IACxB,uBAAsD;IACtD,cAAuB;IACvB,eAAyB;IACzB,wBAAuB;IACvB;;;;;;;;MAQC;IACD,kBAA6B;IAC7B,cAAyB;IACzB,kCAA6C;IAC7C,8BAAyC;IACzC,kCAA6C;IAC7C,oCAA+C;IAC/C,wCAAmD;IACnD,kBAAuB;IAezB;;OAEG;IACH,gBAuBC;IALC;YA2ByC,MAAM;MA3BjC;IAOhB;;OAEG;IACH,qBAUC;IAED;;;OAGG;IACH,oBA6BC;IAlBC,iBAAsD;IAoBxD;;;OAGG;IACH,cAFW,OAAO,qBAAqB,EAAE,KAAK,QAkB7C;IAED;;;;;;OAMG;IACH,mCALW,OAAO,iCAAiC,EAAE,aAAa,cACvD,KAAK,UACL,MAAM,UACN,OAAO,sBAAsB,EAAE,MAAM,QAoB/C;IAED;;;;OAIG;IACH,cAHW,MAAM,UACN,MAAM,QAchB;IAED;;;;OAIG;IACH,uBAHW,OAAO,mBAAmB,EAAE,WAAW,GACrC,OAAO,CAsCnB;IAED;;OAEG;IACH,sBAwBC;CACF;sBAhRqB,qBAAqB;mCAMR,qBAAqB;iCACvB,mBAAmB;mCAHjB,qBAAqB;oCAIpB,sBAAsB;sCALpB,oBAAoB"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../../src/phaser/display/webgl/renderer.js"],"names":[],"mappings":"AA+BA;IACE;;;OAGG;IACH,kBAFW,OAAO,oBAAoB,EAAE,IAAI,EAwC3C;IArCC,aAAwB;IACxB,gBAAwC;IACxC,oBAAuB;IACvB,qBAAwB;IACxB,uBAAsD;IACtD,cAAuB;IACvB,eAAyB;IACzB,wBAAuB;IACvB;;;;;;;;MAQC;IACD,kBAA6B;IAC7B,cAAyB;IACzB,kCAA6C;IAC7C,8BAAyC;IACzC,kCAA6C;IAC7C,oCAA+C;IAC/C,wCAAmD;IACnD,kBAAuB;IAezB;;OAEG;IACH,gBAuBC;IALC;YA6ByC,MAAM;MA7BjC;IAOhB;;OAEG;IACH,qBAUC;IAED;;;;OAIG;IACH,kBAHW,OAAO,oBAAoB,EAAE,IAAI,QAuC3C;IAlBC,iBAAsD;IAoBxD;;;OAGG;IACH,cAFW,OAAO,qBAAqB,EAAE,KAAK,QAkB7C;IAED;;;;;;OAMG;IACH,mCALW,OAAO,iCAAiC,EAAE,aAAa,cACvD,KAAK,UACL,MAAM,UACN,OAAO,sBAAsB,EAAE,MAAM,QAoB/C;IAED;;;;OAIG;IACH,cAHW,MAAM,UACN,MAAM,QAchB;IAED;;;;OAIG;IACH,uBAHW,OAAO,mBAAmB,EAAE,WAAW,GACrC,OAAO,CAsCnB;IAED;;OAEG;IACH,sBAwBC;CACF;sBAxRqB,qBAAqB;mCAMR,qBAAqB;iCACvB,mBAAmB;mCAHjB,qBAAqB;oCAIpB,sBAAsB;sCALpB,oBAAoB"}