@datamoc/mw_games 0.1.1 → 0.1.2

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.
Files changed (75) hide show
  1. package/README.md +18 -18
  2. package/dist/actors/Appearances.js +1 -1
  3. package/dist/actors/Resource.d.ts.map +1 -1
  4. package/dist/actors/Resource.js +13 -5
  5. package/dist/actors/Resource.js.map +1 -1
  6. package/dist/actors/craft.d.ts.map +1 -1
  7. package/dist/actors/craft.js +6 -2
  8. package/dist/actors/craft.js.map +1 -1
  9. package/dist/assets/index.d.ts +1 -1
  10. package/dist/battle/Party.d.ts.map +1 -1
  11. package/dist/battle/Party.js +2 -0
  12. package/dist/battle/Party.js.map +1 -1
  13. package/dist/board/Classics.d.ts.map +1 -1
  14. package/dist/board/Classics.js +14 -6
  15. package/dist/board/Classics.js.map +1 -1
  16. package/dist/board/Tactics.d.ts.map +1 -1
  17. package/dist/board/Tactics.js +12 -6
  18. package/dist/board/Tactics.js.map +1 -1
  19. package/dist/core/Game.d.ts +16 -1
  20. package/dist/core/Game.d.ts.map +1 -1
  21. package/dist/core/Game.js +7 -5
  22. package/dist/core/Game.js.map +1 -1
  23. package/dist/core/Input.d.ts +1 -1
  24. package/dist/core/Random.d.ts +2 -2
  25. package/dist/core/Random.js +2 -2
  26. package/dist/core/Session.d.ts +21 -0
  27. package/dist/core/Session.d.ts.map +1 -0
  28. package/dist/core/Session.js +11 -0
  29. package/dist/core/Session.js.map +1 -0
  30. package/dist/core/index.d.ts +2 -0
  31. package/dist/core/index.d.ts.map +1 -1
  32. package/dist/core/index.js +1 -0
  33. package/dist/core/index.js.map +1 -1
  34. package/dist/mw_games.global.js +6 -6
  35. package/dist/render/Camera.d.ts +3 -2
  36. package/dist/render/Camera.d.ts.map +1 -1
  37. package/dist/render/Camera.js +19 -13
  38. package/dist/render/Camera.js.map +1 -1
  39. package/dist/render/ColorTransformBatcher.d.ts +9 -0
  40. package/dist/render/ColorTransformBatcher.d.ts.map +1 -1
  41. package/dist/render/ColorTransformBatcher.js +131 -19
  42. package/dist/render/ColorTransformBatcher.js.map +1 -1
  43. package/dist/render/TileMap.d.ts +2 -2
  44. package/dist/render/TileMap.d.ts.map +1 -1
  45. package/dist/render/TileMap.js +12 -12
  46. package/dist/render/TileMap.js.map +1 -1
  47. package/dist/render/TintedSprite.d.ts +1 -8
  48. package/dist/render/TintedSprite.d.ts.map +1 -1
  49. package/dist/render/TintedSprite.js +3 -111
  50. package/dist/render/TintedSprite.js.map +1 -1
  51. package/dist/roguelike/FieldOfView.d.ts +1 -1
  52. package/dist/roguelike/Level.d.ts +2 -2
  53. package/dist/roguelike/Level.d.ts.map +1 -1
  54. package/dist/roguelike/Level.js +1 -1
  55. package/dist/roguelike/Level.js.map +1 -1
  56. package/dist/roguelike/Pathfinder.d.ts +3 -3
  57. package/dist/roguelike/Pathfinder.js +2 -2
  58. package/dist/roguelike/Scheduler.d.ts +1 -1
  59. package/dist/roguelike/Scheduler.js +1 -1
  60. package/dist/roguelike/generate.d.ts +3 -3
  61. package/dist/roguelike/generate.js +1 -1
  62. package/dist/roguelike/generate.js.map +1 -1
  63. package/dist/stage/DialogueStage.d.ts +1 -1
  64. package/dist/stage/DialogueStage.d.ts.map +1 -1
  65. package/dist/stage/DialogueStage.js +14 -8
  66. package/dist/stage/DialogueStage.js.map +1 -1
  67. package/dist/stage/script.d.ts +3 -3
  68. package/dist/stage/script.js +2 -2
  69. package/dist/ui/Label.d.ts +1 -1
  70. package/dist/ui/Label.js +1 -1
  71. package/dist/ui/ListView.d.ts +1 -1
  72. package/dist/ui/ListView.js +1 -1
  73. package/dist/ui/MessageBox.d.ts +1 -1
  74. package/dist/ui/MessageBox.js +1 -1
  75. package/package.json +1 -1
@@ -4,7 +4,7 @@ import { Container } from 'pixi.js';
4
4
  *
5
5
  * The camera does not move: it moves the world under a fixed viewport, which is what a
6
6
  * renderer actually wants. `world` is the container to put the map and its inhabitants in;
7
- * anything that should stay put on screen — the HUD, a dialogue box — goes outside it.
7
+ * anything that should stay put on screen (the HUD, a dialogue box) goes outside it.
8
8
  *
9
9
  * Positions are in world units. At `zoom = 3` a 16px tile is 48 screen pixels.
10
10
  */
@@ -44,7 +44,7 @@ export declare class Camera {
44
44
  set zoom(value: number);
45
45
  /** the framework calls this on resize; sizes are in screen pixels */
46
46
  setViewport(width: number, height: number): void;
47
- /** the visible rectangle, in world units — use it to cull */
47
+ /** the visible rectangle, in world units: use it to cull */
48
48
  get view(): {
49
49
  x: number;
50
50
  y: number;
@@ -81,6 +81,7 @@ export declare class Camera {
81
81
  x: number;
82
82
  y: number;
83
83
  };
84
+ private clampedCentre;
84
85
  private apply;
85
86
  }
86
87
  /** a camera sized to the running game's viewport, updated on every frame */
@@ -1 +1 @@
1
- {"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../src/render/Camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIpC;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC7B,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,MAAM;IAClB,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,8CAAmB;IAEjC,yCAAyC;IACzC,CAAC,SAAK;IACN,CAAC,SAAK;IAEN,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAK;IAEvB,OAAO,CAAC,YAAY,CAAyC;IAG7D,OAAO,CAAC,eAAe,CAAK;IAE5B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,MAAM,CAAK;IAEnB,yFAAyF;IACzF,OAAO,CAAC,MAAM,CAA2E;IAEzF,YAAY,OAAO,GAAE,aAAkB,EAGtC;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAErB;IAED,qEAAqE;IACrE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAG/C;IAED,6DAA6D;IAC7D,IAAI,IAAI,IAAI;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAIlE;IAED,oEAAoE;IACpE,SAAS,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,GAAG,IAAI,CAEzF;IAED,wEAAwE;IACxE,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAMjC;IAED,kCAAkC;IAClC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,SAAI,GAAG,IAAI,CAG/C;IAED,oEAAoE;IACpE,MAAM,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,SAAS,SAAI,GAAG,IAAI,CAG5D;IAED,aAAa,IAAI,IAAI,CAGpB;IAED,2DAA2D;IAC3D,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,IAAI,CAG7C;IAED,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CA8BvB;IAED,mCAAmC;IACnC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAKvD;IAED,oEAAoE;IACpE,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAKtD;IAED,OAAO,CAAC,KAAK;CAoBb;AAMD,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,MAAM,CAMhE"}
1
+ {"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../src/render/Camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIpC;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC7B,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,MAAM;IAClB,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,8CAAmB;IAEjC,yCAAyC;IACzC,CAAC,SAAK;IACN,CAAC,SAAK;IAEN,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAK;IAEvB,OAAO,CAAC,YAAY,CAAyC;IAG7D,OAAO,CAAC,eAAe,CAAK;IAE5B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,MAAM,CAAK;IAEnB,yFAAyF;IACzF,OAAO,CAAC,MAAM,CAA2E;IAEzF,YAAY,OAAO,GAAE,aAAkB,EAGtC;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAErB;IAED,qEAAqE;IACrE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAG/C;IAED,4DAA4D;IAC5D,IAAI,IAAI,IAAI;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAKlE;IAED,oEAAoE;IACpE,SAAS,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,GAAG,IAAI,CAEzF;IAED,wEAAwE;IACxE,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAMjC;IAED,kCAAkC;IAClC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,SAAI,GAAG,IAAI,CAG/C;IAED,oEAAoE;IACpE,MAAM,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,SAAS,SAAI,GAAG,IAAI,CAG5D;IAED,aAAa,IAAI,IAAI,CAGpB;IAED,2DAA2D;IAC3D,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,IAAI,CAG7C;IAED,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CA8BvB;IAED,mCAAmC;IACnC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAKvD;IAED,oEAAoE;IACpE,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAKtD;IAID,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,KAAK;CAQb;AAMD,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,MAAM,CAMhE"}
@@ -35,11 +35,12 @@ export class Camera {
35
35
  this.viewWidth = width;
36
36
  this.viewHeight = height;
37
37
  }
38
- /** the visible rectangle, in world units — use it to cull */
38
+ /** the visible rectangle, in world units: use it to cull */
39
39
  get view() {
40
40
  const width = this.viewWidth / this._zoom;
41
41
  const height = this.viewHeight / this._zoom;
42
- return { x: this.x - width / 2, y: this.y - height / 2, width, height };
42
+ const { x: centreX, y: centreY } = this.clampedCentre(this.x, this.y);
43
+ return { x: centreX - width / 2, y: centreY - height / 2, width, height };
43
44
  }
44
45
  /** stops the camera leaving the map; pass null to allow it again */
45
46
  setBounds(bounds) {
@@ -113,18 +114,23 @@ export class Camera {
113
114
  y: (y - this.viewHeight / 2) / this._zoom + this.y,
114
115
  };
115
116
  }
117
+ //the bounds-clamped centre `apply()` renders at, also what `view` reports for
118
+ //culling: the two must agree, or culling drops tiles that are actually on screen
119
+ clampedCentre(x, y) {
120
+ if (!this.bounds)
121
+ return { x, y };
122
+ const halfWidth = this.viewWidth / this._zoom / 2;
123
+ const halfHeight = this.viewHeight / this._zoom / 2;
124
+ const { minX, minY, maxX, maxY } = this.bounds;
125
+ //when the map is narrower than the view, centre it rather than clamping to an
126
+ //edge, which would push the map against one side of the screen
127
+ return {
128
+ x: maxX - minX < halfWidth * 2 ? (minX + maxX) / 2 : clamp(x, minX + halfWidth, maxX - halfWidth),
129
+ y: maxY - minY < halfHeight * 2 ? (minY + maxY) / 2 : clamp(y, minY + halfHeight, maxY - halfHeight),
130
+ };
131
+ }
116
132
  apply() {
117
- let centreX = this.x + this.shakeX;
118
- let centreY = this.y + this.shakeY;
119
- if (this.bounds) {
120
- const halfWidth = this.viewWidth / this._zoom / 2;
121
- const halfHeight = this.viewHeight / this._zoom / 2;
122
- const { minX, minY, maxX, maxY } = this.bounds;
123
- //when the map is narrower than the view, centre it rather than clamping to an
124
- //edge, which would push the map against one side of the screen
125
- centreX = maxX - minX < halfWidth * 2 ? (minX + maxX) / 2 : clamp(centreX, minX + halfWidth, maxX - halfWidth);
126
- centreY = maxY - minY < halfHeight * 2 ? (minY + maxY) / 2 : clamp(centreY, minY + halfHeight, maxY - halfHeight);
127
- }
133
+ const { x: centreX, y: centreY } = this.clampedCentre(this.x + this.shakeX, this.y + this.shakeY);
128
134
  this.world.scale.set(this._zoom);
129
135
  //rounding to whole screen pixels stops pixel art shimmering as the camera moves
130
136
  this.world.x = Math.round(this.viewWidth / 2 - centreX * this._zoom);
@@ -1 +1 @@
1
- {"version":3,"file":"Camera.js","sourceRoot":"","sources":["../../src/render/Camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAyB5C,MAAM,OAAO,MAAM;IA4BlB,YAAY,OAAO,GAAkB,EAAE;QA3BvC,4CAA4C;QACnC,UAAK,GAAG,IAAI,SAAS,EAAE,CAAC;QAEjC,yCAAyC;QACzC,MAAC,GAAG,CAAC,CAAC;QACN,MAAC,GAAG,CAAC,CAAC;QAKE,cAAS,GAAG,CAAC,CAAC;QACd,eAAU,GAAG,CAAC,CAAC;QAEf,iBAAY,GAAoC,IAAI,CAAC;QAC7D,kFAAkF;QAClF,kEAAkE;QAC1D,oBAAe,GAAG,CAAC,CAAC;QAEpB,mBAAc,GAAG,CAAC,CAAC;QACnB,mBAAc,GAAG,CAAC,CAAC;QACnB,kBAAa,GAAG,CAAC,CAAC;QAClB,WAAM,GAAG,CAAC,CAAC;QACX,WAAM,GAAG,CAAC,CAAC;QAEnB,yFAAyF;QACjF,WAAM,GAAsE,IAAI,CAAC;QAGxF,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,IAAI,IAAI,CAAC,KAAa;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,qEAAqE;IACrE,WAAW,CAAC,KAAa,EAAE,MAAc;QACxC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,6DAA6D;IAC7D,IAAI,IAAI;QACP,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5C,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACzE,CAAC;IAED,oEAAoE;IACpE,SAAS,CAAC,MAAyE;QAClF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAED,wEAAwE;IACxE,MAAM,CAAC,CAAS,EAAE,CAAS;QAC1B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;IAED,kCAAkC;IAClC,KAAK,CAAC,CAAS,EAAE,CAAS,EAAE,SAAS,GAAG,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;IAClC,CAAC;IAED,oEAAoE;IACpE,MAAM,CAAC,MAAgC,EAAE,SAAS,GAAG,CAAC;QACrD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;IAClC,CAAC;IAED,aAAa;QACZ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,SAAiB,EAAE,QAAQ,GAAG,GAAG;QACtC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,EAAU;QAChB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAErD,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YACtC,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YAEtC,qDAAqD;YACrD,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAE5D,+EAA+E;YAC/E,oEAAoE;YACpE,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACjB,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;YAC1B,iEAAiE;YACjE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC;YAChF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC;QACjF,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;IAED,mCAAmC;IACnC,QAAQ,CAAC,CAAS,EAAE,CAAS;QAC5B,OAAO;YACN,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC;YACjD,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC;SAClD,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,OAAO,CAAC,CAAS,EAAE,CAAS;QAC3B,OAAO;YACN,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;YACjD,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;SAClD,CAAC;IACH,CAAC;IAEO,KAAK;QACZ,IAAI,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACnC,IAAI,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAEnC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YAClD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACpD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;YAE/C,8EAA8E;YAC9E,+DAA+D;YAC/D,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,GAAG,SAAS,CAAC,CAAC;YAC/G,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,GAAG,UAAU,EAAE,IAAI,GAAG,UAAU,CAAC,CAAC;QACnH,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,gFAAgF;QAChF,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACrE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC;CACD;AAED,SAAS,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IACrD,OAAO,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AACtD,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,YAAY,CAAC,OAAO,GAAkB,EAAE;IACvD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;IAC1B,iFAAiF;IACjF,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,MAAM,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"Camera.js","sourceRoot":"","sources":["../../src/render/Camera.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,15 @@ export declare class ColorTransformBatcher extends Batcher {
41
41
  _updateMaxTextures(maxTextures: number): void;
42
42
  destroy(): void;
43
43
  }
44
+ export declare const TINTED_SPRITE_PIPE = "mwg-tinted-sprite";
45
+ /**
46
+ * Registers the colour-transform batcher and the `TintedSprite` pipe with Pixi.
47
+ *
48
+ * Called automatically the first time a `TintedSprite` is rendered is not possible, because
49
+ * registration has to happen before the renderer is created. A game passes it through
50
+ * `GameOptions.extensions`, and it is exported for anyone building their own renderer.
51
+ */
52
+ export declare function registerColorTransform(): void;
44
53
  /**
45
54
  * Packs an additive colour into the form the attribute expects.
46
55
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ColorTransformBatcher.d.ts","sourceRoot":"","sources":["../../src/render/ColorTransformBatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,OAAO,EAGP,aAAa,EACb,QAAQ,EACR,MAAM,EAUN,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAElG;;;;;GAKG;AACH,UAAU,aAAa;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,WAAW,GAAG,oBAAoB,GAAG,aAAa,CAAC;AACxD,KAAK,WAAW,GAAG,oBAAoB,GAAG,aAAa,CAAC;AA4HxD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD,qBAAa,qBAAsB,SAAQ,OAAO;IACjD,gBAAgB;IAChB,MAAM,CAAC,SAAS;iBACf,IAAI;iBACJ,IAAI,EAAE,qBAAqB;MACjB;IAEX,QAAQ,EAAE,QAAQ,CAAgC;IAClD,MAAM,EAAE,MAAM,CAAC;IACN,IAAI,wBAAwC;IAC5C,UAAU,SAAe;IAElC,YAAY,OAAO,EAAE,cAAc,EAGlC;IAED,cAAc,CACb,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,YAAY,EACzB,UAAU,EAAE,WAAW,EACvB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GACf,IAAI,CAuBN;IAED,kBAAkB,CACjB,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,YAAY,EACzB,UAAU,EAAE,WAAW,EACvB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GACf,IAAI,CAgCN;IAED,2EAA2E;IAC3E,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAI5C;IAEQ,OAAO,IAAI,IAAI,CAGvB;CACD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,SAAI,GAAG,MAAM,CAM3E;AAED,+FAA+F;AAC/F,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMnE;AAMD,eAAO,MAAM,YAAY,IAAS,CAAC"}
1
+ {"version":3,"file":"ColorTransformBatcher.d.ts","sourceRoot":"","sources":["../../src/render/ColorTransformBatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,OAAO,EAGP,aAAa,EACb,QAAQ,EACR,MAAM,EAWN,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EACX,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,MAAM,EAKN,MAAM,SAAS,CAAC;AAEjB;;;;;GAKG;AACH,UAAU,aAAa;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,WAAW,GAAG,oBAAoB,GAAG,aAAa,CAAC;AACxD,KAAK,WAAW,GAAG,oBAAoB,GAAG,aAAa,CAAC;AA4HxD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAmCD,qBAAa,qBAAsB,SAAQ,OAAO;IACjD,gBAAgB;IAChB,MAAM,CAAC,SAAS;iBACf,IAAI;iBACJ,IAAI,EAAE,qBAAqB;MACjB;IAEX,QAAQ,EAAE,QAAQ,CAAgC;IAClD,MAAM,EAAE,MAAM,CAAC;IACN,IAAI,wBAAwC;IAC5C,UAAU,SAAe;IAElC,YAAY,OAAO,EAAE,cAAc,EAGlC;IAED,cAAc,CACb,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,YAAY,EACzB,UAAU,EAAE,WAAW,EACvB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GACf,IAAI,CAuBN;IAED,kBAAkB,CACjB,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,YAAY,EACzB,UAAU,EAAE,WAAW,EACvB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GACf,IAAI,CAuBN;IAED,2EAA2E;IAC3E,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAI5C;IAEQ,OAAO,IAAI,IAAI,CAGvB;CACD;AAiBD,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AAyHtD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAM7C;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,SAAI,GAAG,MAAM,CAM3E;AAED,+FAA+F;AAC/F,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMnE;AAMD,eAAO,MAAM,YAAY,IAAS,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Batcher, Buffer, BufferUsage, ExtensionType, Geometry, Shader, colorBit, colorBitGl, compileHighShaderGlProgram, compileHighShaderGpuProgram, generateTextureBatchBit, generateTextureBatchBitGl, getBatchSamplersUniformGroup, roundPixelsBit, roundPixelsBitGl, } from 'pixi.js';
1
+ import { Batcher, Buffer, BufferUsage, ExtensionType, Geometry, Shader, colorBit, colorBitGl, compileHighShaderGlProgram, compileHighShaderGpuProgram, generateTextureBatchBit, generateTextureBatchBitGl, getBatchSamplersUniformGroup, roundPixelsBit, roundPixelsBitGl, extensions, } from 'pixi.js';
2
2
  /**
3
3
  * A batcher that adds a per-sprite *additive* colour term.
4
4
  *
@@ -6,7 +6,7 @@ import { Batcher, Buffer, BufferUsage, ExtensionType, Geometry, Shader, colorBit
6
6
  * add term is what expresses everything that pulls a sprite *towards* a colour rather
7
7
  * than darkening it: a poisoned enemy going green, a hit flashing white, a remembered but
8
8
  * unlit tile washing out to grey. Those all read as `lerp(texel, colour, strength)`, which
9
- * is `texel × (1 - s) + colour × s` — impossible with multiply alone.
9
+ * is `texel × (1 - s) + colour × s`, impossible with multiply alone.
10
10
  *
11
11
  * Doing it here rather than as a per-object filter is the whole point: a filter costs a
12
12
  * render-texture pass per object, while this rides along in the same batch and costs one
@@ -113,6 +113,17 @@ class ColorTransformGeometry extends Geometry {
113
113
  }
114
114
  const NO_ADD = 0;
115
115
  const addOf = (element) => element.colorAdd ?? NO_ADD;
116
+ //one quad corner's worth of packing, factored out of packQuadAttributes so writing all four
117
+ //needs no per-call array - that loop runs per sprite, every frame
118
+ function writeQuadCorner(float32View, uint32View, index, a, b, c, d, tx, ty, x, y, u, v, argb, textureIdAndRound, colorAdd) {
119
+ float32View[index] = a * x + c * y + tx;
120
+ float32View[index + 1] = d * y + b * x + ty;
121
+ float32View[index + 2] = u;
122
+ float32View[index + 3] = v;
123
+ uint32View[index + 4] = argb;
124
+ uint32View[index + 5] = textureIdAndRound;
125
+ uint32View[index + 6] = colorAdd;
126
+ }
116
127
  export class ColorTransformBatcher extends Batcher {
117
128
  /** @internal */
118
129
  static { this.extension = {
@@ -158,23 +169,15 @@ export class ColorTransformBatcher extends Batcher {
158
169
  const argb = element.color;
159
170
  const colorAdd = addOf(element);
160
171
  const textureIdAndRound = (textureId << 16) | (element.roundPixels & 0xffff);
161
- //the four corners, in the winding order Pixi's shared index buffer expects
162
- const corners = [
163
- [w1, h1, uvs.x0, uvs.y0],
164
- [w0, h1, uvs.x1, uvs.y1],
165
- [w0, h0, uvs.x2, uvs.y2],
166
- [w1, h0, uvs.x3, uvs.y3],
167
- ];
168
- for (const [x, y, u, v] of corners) {
169
- float32View[index] = a * x + c * y + tx;
170
- float32View[index + 1] = d * y + b * x + ty;
171
- float32View[index + 2] = u;
172
- float32View[index + 3] = v;
173
- uint32View[index + 4] = argb;
174
- uint32View[index + 5] = textureIdAndRound;
175
- uint32View[index + 6] = colorAdd;
176
- index += VERTEX_SIZE;
177
- }
172
+ //the four corners, in the winding order Pixi's shared index buffer expects - written
173
+ //by hand rather than looped over a built array, since this runs per sprite per frame
174
+ writeQuadCorner(float32View, uint32View, index, a, b, c, d, tx, ty, w1, h1, uvs.x0, uvs.y0, argb, textureIdAndRound, colorAdd);
175
+ index += VERTEX_SIZE;
176
+ writeQuadCorner(float32View, uint32View, index, a, b, c, d, tx, ty, w0, h1, uvs.x1, uvs.y1, argb, textureIdAndRound, colorAdd);
177
+ index += VERTEX_SIZE;
178
+ writeQuadCorner(float32View, uint32View, index, a, b, c, d, tx, ty, w0, h0, uvs.x2, uvs.y2, argb, textureIdAndRound, colorAdd);
179
+ index += VERTEX_SIZE;
180
+ writeQuadCorner(float32View, uint32View, index, a, b, c, d, tx, ty, w1, h0, uvs.x3, uvs.y3, argb, textureIdAndRound, colorAdd);
178
181
  }
179
182
  /** @internal - Pixi calls this when the device's texture limit is known */
180
183
  _updateMaxTextures(maxTextures) {
@@ -188,6 +191,115 @@ export class ColorTransformBatcher extends Batcher {
188
191
  super.destroy();
189
192
  }
190
193
  }
194
+ export const TINTED_SPRITE_PIPE = 'mwg-tinted-sprite';
195
+ /**
196
+ * Routes a `TintedSprite` through `ColorTransformBatcher`.
197
+ *
198
+ * Pixi decides which batcher an object joins from `batcherName` on its batchable element,
199
+ * and that element is built by a render pipe. So selecting a different batcher means
200
+ * supplying a pipe; this one mirrors Pixi's own SpritePipe and changes two things: the
201
+ * batcher name, and copying `colorAdd` across before each pack.
202
+ */
203
+ class TintedSpritePipe {
204
+ /** @internal */
205
+ static { this.extension = {
206
+ type: [ExtensionType.WebGLPipes, ExtensionType.WebGPUPipes, ExtensionType.CanvasPipes],
207
+ name: TINTED_SPRITE_PIPE,
208
+ }; }
209
+ constructor(renderer) {
210
+ this.renderer = renderer;
211
+ }
212
+ addRenderable(sprite, instructionSet) {
213
+ const element = this.element(sprite);
214
+ if (sprite.didViewUpdate)
215
+ this.sync(sprite, element);
216
+ this.renderer.renderPipes.batch.addToBatch(element, instructionSet);
217
+ }
218
+ updateRenderable(sprite) {
219
+ const element = this.element(sprite);
220
+ if (sprite.didViewUpdate)
221
+ this.sync(sprite, element);
222
+ element._batcher.updateElement(element);
223
+ }
224
+ validateRenderable(sprite) {
225
+ const element = this.element(sprite);
226
+ return !element._batcher.checkAndUpdateTexture(element, sprite.texture);
227
+ }
228
+ sync(sprite, element) {
229
+ element.bounds = sprite.visualBounds;
230
+ element.texture = sprite.texture;
231
+ element.colorAdd = sprite.colorAdd;
232
+ }
233
+ element(sprite) {
234
+ const gpuData = sprite._gpuData;
235
+ return gpuData[this.renderer.uid] ?? this.create(sprite, gpuData);
236
+ }
237
+ create(sprite, gpuData) {
238
+ const element = new BatchableTintedSprite();
239
+ element.renderable = sprite;
240
+ element.transform = sprite.groupTransform;
241
+ element.texture = sprite.texture;
242
+ element.bounds = sprite.visualBounds;
243
+ element.roundPixels = (this.renderer._roundPixels |
244
+ sprite._roundPixels);
245
+ element.colorAdd = sprite.colorAdd;
246
+ gpuData[this.renderer.uid] = element;
247
+ return element;
248
+ }
249
+ destroy() {
250
+ this.renderer = null;
251
+ }
252
+ }
253
+ /** the same shape as Pixi's BatchableSprite, plus the additive colour */
254
+ class BatchableTintedSprite {
255
+ constructor() {
256
+ this.batcherName = ColorTransformBatcher.extension.name;
257
+ this.topology = 'triangle-list';
258
+ this.attributeSize = 4;
259
+ this.indexSize = 6;
260
+ this.packAsQuad = true;
261
+ this.roundPixels = 0;
262
+ this.colorAdd = 0;
263
+ //Pixi fills these in while batching; they exist on its own element type too
264
+ this._attributeStart = 0;
265
+ this._textureId = 0;
266
+ this._indexStart = 0;
267
+ this._batcher = null;
268
+ this._batch = null;
269
+ }
270
+ get blendMode() {
271
+ return this.renderable.groupBlendMode;
272
+ }
273
+ get color() {
274
+ return this.renderable.groupColorAlpha;
275
+ }
276
+ reset() {
277
+ this.renderable = null;
278
+ this.texture = null;
279
+ this._batcher = null;
280
+ this._batch = null;
281
+ this.bounds = null;
282
+ this.colorAdd = 0;
283
+ }
284
+ destroy() {
285
+ this.reset();
286
+ }
287
+ }
288
+ let registered = false;
289
+ /**
290
+ * Registers the colour-transform batcher and the `TintedSprite` pipe with Pixi.
291
+ *
292
+ * Called automatically the first time a `TintedSprite` is rendered is not possible, because
293
+ * registration has to happen before the renderer is created. A game passes it through
294
+ * `GameOptions.extensions`, and it is exported for anyone building their own renderer.
295
+ */
296
+ export function registerColorTransform() {
297
+ if (registered)
298
+ return;
299
+ registered = true;
300
+ extensions.add(ColorTransformBatcher);
301
+ extensions.add(TintedSpritePipe);
302
+ }
191
303
  /**
192
304
  * Packs an additive colour into the form the attribute expects.
193
305
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ColorTransformBatcher.js","sourceRoot":"","sources":["../../src/render/ColorTransformBatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ColorTransformBatcher.js","sourceRoot":"","sources":["../../src/render/ColorTransformBatcher.ts"],"names":[],"mappings":"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"}
@@ -58,7 +58,7 @@ export interface TileMapOptions {
58
58
  * A grid of tiles, drawn as sprites.
59
59
  *
60
60
  * Layers stack in the order they are added: a floor, then whatever stands on it, then a
61
- * roof. Every layer shares one grid, so a cell's lighting applies to all of them at once —
61
+ * roof. Every layer shares one grid, so a cell's lighting applies to all of them at once,
62
62
  * which is what fog of war needs, since an unseen floor and the wall on it have to dim
63
63
  * together.
64
64
  *
@@ -165,7 +165,7 @@ export declare class TileMap extends Container {
165
165
  y: number;
166
166
  };
167
167
  /**
168
- * The centre of a tile, in world units — where a character standing on it belongs.
168
+ * The centre of a tile, in world units: where a character standing on it belongs.
169
169
  *
170
170
  * Rides the cell's elevation: a raised cell reports its lifted top, so whoever
171
171
  * is placed there stands on the block rather than inside it.
@@ -1 +1 @@
1
- {"version":3,"file":"TileMap.d.ts","sourceRoot":"","sources":["../../src/render/TileMap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TileMap.d.ts","sourceRoot":"","sources":["../../src/render/TileMap.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ export function tileFrameIndex(packed) {
34
34
  * A grid of tiles, drawn as sprites.
35
35
  *
36
36
  * Layers stack in the order they are added: a floor, then whatever stands on it, then a
37
- * roof. Every layer shares one grid, so a cell's lighting applies to all of them at once —
37
+ * roof. Every layer shares one grid, so a cell's lighting applies to all of them at once,
38
38
  * which is what fog of war needs, since an unseen floor and the wall on it have to dim
39
39
  * together.
40
40
  *
@@ -428,7 +428,7 @@ export class TileMap extends Container {
428
428
  return this.projectedTile(worldX, worldY);
429
429
  }
430
430
  /**
431
- * The centre of a tile, in world units — where a character standing on it belongs.
431
+ * The centre of a tile, in world units: where a character standing on it belongs.
432
432
  *
433
433
  * Rides the cell's elevation: a raised cell reports its lifted top, so whoever
434
434
  * is placed there stands on the block rather than inside it.
@@ -452,16 +452,16 @@ export class TileMap extends Container {
452
452
  //parallelogram, and the axis-aligned box around those four points always fully
453
453
  //contains it - the same reasoning works unchanged for square, hex, isometric or
454
454
  //staggered, so nothing here needs to know which one it is
455
- const corners = [
456
- this.projectedTile(view.x, view.y),
457
- this.projectedTile(view.x + view.width, view.y),
458
- this.projectedTile(view.x, view.y + view.height),
459
- this.projectedTile(view.x + view.width, view.y + view.height),
460
- ];
461
- const tileMinX = Math.min(...corners.map((c) => c.x));
462
- const tileMaxX = Math.max(...corners.map((c) => c.x));
463
- const tileMinY = Math.min(...corners.map((c) => c.y));
464
- const tileMaxY = Math.max(...corners.map((c) => c.y));
455
+ //scalar min/max over the four corners by hand, rather than an array + .map() + spread,
456
+ //since this runs once per frame
457
+ const topLeft = this.projectedTile(view.x, view.y);
458
+ const topRight = this.projectedTile(view.x + view.width, view.y);
459
+ const bottomLeft = this.projectedTile(view.x, view.y + view.height);
460
+ const bottomRight = this.projectedTile(view.x + view.width, view.y + view.height);
461
+ const tileMinX = Math.min(topLeft.x, topRight.x, bottomLeft.x, bottomRight.x);
462
+ const tileMaxX = Math.max(topLeft.x, topRight.x, bottomLeft.x, bottomRight.x);
463
+ const tileMinY = Math.min(topLeft.y, topRight.y, bottomLeft.y, bottomRight.y);
464
+ const tileMaxY = Math.max(topLeft.y, topRight.y, bottomLeft.y, bottomRight.y);
465
465
  //a one-chunk margin, so a chunk is switched on slightly before it is needed
466
466
  const minChunkX = Math.floor(tileMinX / this.chunkSize) - 1;
467
467
  const maxChunkX = Math.floor(tileMaxX / this.chunkSize) + 1;
@@ -1 +1 @@
1
- {"version":3,"file":"TileMap.js","sourceRoot":"","sources":["../../src/render/TileMap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TileMap.js","sourceRoot":"","sources":["../../src/render/TileMap.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Sprite } from 'pixi.js';
2
2
  import type { Texture, SpriteOptions } from 'pixi.js';
3
+ export { registerColorTransform } from './ColorTransformBatcher.ts';
3
4
  /**
4
5
  * A sprite that can be pulled *towards* a colour, not just darkened.
5
6
  *
@@ -36,12 +37,4 @@ export declare class TintedSprite extends Sprite {
36
37
  /** back to the texture's own colours */
37
38
  resetColor(): void;
38
39
  }
39
- /**
40
- * Registers the batcher and pipe with Pixi.
41
- *
42
- * Called automatically the first time a TintedSprite is rendered is not possible, because
43
- * registration has to happen before the renderer is created — so `Game` calls this during
44
- * start-up, and it is exported for anyone building their own renderer.
45
- */
46
- export declare function registerColorTransform(): void;
47
40
  //# sourceMappingURL=TintedSprite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TintedSprite.d.ts","sourceRoot":"","sources":["../../src/render/TintedSprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA6B,MAAM,SAAS,CAAC;AAC5D,OAAO,KAAK,EAA4B,OAAO,EAAE,aAAa,EAAe,MAAM,SAAS,CAAC;AAK7F;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,YAAa,SAAQ,MAAM;IACvC,OAAO,CAAC,SAAS,CAAK;IAEtB,YAAY,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,EAM5C;IAED,6FAA6F;IAC7F,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAKzB;IAED,oFAAoF;IACpF,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,SAAI,GAAG,IAAI,CAExD;IAED;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAI9C;IAED,qEAAqE;IACrE,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAG9B;IAED,wCAAwC;IACxC,UAAU,IAAI,IAAI,CAGjB;CACD;AAyHD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAM7C"}
1
+ {"version":3,"file":"TintedSprite.d.ts","sourceRoot":"","sources":["../../src/render/TintedSprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,YAAa,SAAQ,MAAM;IACvC,OAAO,CAAC,SAAS,CAAK;IAEtB,YAAY,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,EAM5C;IAED,6FAA6F;IAC7F,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAKzB;IAED,oFAAoF;IACpF,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,SAAI,GAAG,IAAI,CAExD;IAED;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAI9C;IAED,qEAAqE;IACrE,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAG9B;IAED,wCAAwC;IACxC,UAAU,IAAI,IAAI,CAGjB;CACD"}