excalibur 0.26.0-alpha.335 → 0.26.0-alpha.339
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/CHANGELOG.md +2 -0
- package/build/dist/Graphics/SpriteFont.d.ts +2 -0
- package/build/dist/Graphics/SpriteFont.js +12 -2
- package/build/dist/Graphics/SpriteFont.js.map +1 -1
- package/build/dist/Util/Clock.js +30 -23
- package/build/dist/Util/Clock.js.map +1 -1
- package/build/dist/excalibur.js +44 -27
- package/build/dist/excalibur.js.map +1 -1
- package/build/dist/excalibur.min.js +2 -2
- package/build/dist/index.js +2 -2
- package/build/dist/index.js.map +1 -1
- package/build/esm/Graphics/SpriteFont.d.ts +2 -0
- package/build/esm/excalibur.js +44 -27
- package/build/esm/excalibur.js.map +1 -1
- package/build/esm/excalibur.min.js +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -36,6 +36,8 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
|
36
36
|
|
|
37
37
|
### Fixed
|
|
38
38
|
|
|
39
|
+
- Fixed unreleased issue where SpriteFonts log every frame they detect a misconfigured font.
|
|
40
|
+
- Fixed unreleased issue where clock when constraining fps would pass larger than expected elapsed times to the simulation causing things to "speed up" bizarrely
|
|
39
41
|
- Fixed unreleased issue where games with no resources would crash
|
|
40
42
|
- Fixed issue [#2152] where shared state in `ex.Font` and `ex.SpriteFont` prevented text from aligning properly when re-used
|
|
41
43
|
- Fixed issue where fast moving `CompositeCollider`s were erroneously generating pairs for their constituent parts
|
|
@@ -42,6 +42,8 @@ export declare class SpriteFont extends Graphic implements FontRenderer {
|
|
|
42
42
|
private _logger;
|
|
43
43
|
static fromLegacySpriteFont(spriteFont: LegacySpriteFont): SpriteFont;
|
|
44
44
|
constructor(options: SpriteFontOptions & GraphicOptions);
|
|
45
|
+
private _alreadyWarnedAlphabet;
|
|
46
|
+
private _alreadyWarnedSpriteSheet;
|
|
45
47
|
private _getCharacterSprites;
|
|
46
48
|
measureText(text: string): BoundingBox;
|
|
47
49
|
protected _drawImage(ex: ExcaliburGraphicsContext, x: number, y: number): void;
|
|
@@ -13,6 +13,8 @@ export class SpriteFont extends Graphic {
|
|
|
13
13
|
this.caseInsensitive = false;
|
|
14
14
|
this.spacing = 0;
|
|
15
15
|
this._logger = Logger.getInstance();
|
|
16
|
+
this._alreadyWarnedAlphabet = false;
|
|
17
|
+
this._alreadyWarnedSpriteSheet = false;
|
|
16
18
|
const { alphabet, spriteSheet, caseInsensitive, spacing, shadow } = options;
|
|
17
19
|
this.alphabet = alphabet;
|
|
18
20
|
this.spriteSheet = spriteSheet;
|
|
@@ -43,14 +45,22 @@ export class SpriteFont extends Graphic {
|
|
|
43
45
|
let spriteIndex = alphabet.indexOf(letter);
|
|
44
46
|
if (spriteIndex === -1) {
|
|
45
47
|
spriteIndex = 0;
|
|
46
|
-
this.
|
|
48
|
+
if (!this._alreadyWarnedAlphabet) {
|
|
49
|
+
this._logger.warn(`SpriteFont - Cannot find letter '${letter}' in configured alphabet '${alphabet}'.`);
|
|
50
|
+
this._logger.warn('There maybe be more issues in the SpriteFont configuration. No additional warnings will be logged.');
|
|
51
|
+
this._alreadyWarnedAlphabet = true;
|
|
52
|
+
}
|
|
47
53
|
}
|
|
48
54
|
const letterSprite = this.spriteSheet.sprites[spriteIndex];
|
|
49
55
|
if (letterSprite) {
|
|
50
56
|
results.push(letterSprite);
|
|
51
57
|
}
|
|
52
58
|
else {
|
|
53
|
-
this.
|
|
59
|
+
if (!this._alreadyWarnedSpriteSheet) {
|
|
60
|
+
this._logger.warn(`SpriteFont - Cannot find sprite for '${letter}' at index '${spriteIndex}' in configured SpriteSheet`);
|
|
61
|
+
this._logger.warn('There maybe be more issues in the SpriteFont configuration. No additional warnings will be logged.');
|
|
62
|
+
this._alreadyWarnedSpriteSheet = true;
|
|
63
|
+
}
|
|
54
64
|
}
|
|
55
65
|
}
|
|
56
66
|
return results;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpriteFont.js","sourceRoot":"","sources":["../../../src/engine/Graphics/SpriteFont.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAS,MAAM,IAAI,CAAC;AA0BxC,MAAM,OAAO,UAAW,SAAQ,OAAO;IAuBrC,YAAY,OAA2C;QACrD,KAAK,CAAC,OAAO,CAAC,CAAC;QAvBT,UAAK,GAAW,EAAE,CAAC;QACpB,aAAQ,GAAW,EAAE,CAAC;QAGtB,WAAM,GAAuB,IAAI,CAAC;QAClC,oBAAe,GAAG,KAAK,CAAC;QACxB,YAAO,GAAW,CAAC,CAAC;QAEnB,YAAO,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"SpriteFont.js","sourceRoot":"","sources":["../../../src/engine/Graphics/SpriteFont.ts"],"names":[],"mappings":"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"}
|
package/build/dist/Util/Clock.js
CHANGED
|
@@ -87,30 +87,34 @@ export class Clock {
|
|
|
87
87
|
const now = this.now();
|
|
88
88
|
let elapsed = now - this._lastTime || 1; // first frame
|
|
89
89
|
// Constrain fps
|
|
90
|
-
const fpsInterval =
|
|
91
|
-
if
|
|
92
|
-
|
|
90
|
+
const fpsInterval = (1000 / this._maxFps);
|
|
91
|
+
// only run frame if enough time has elapsed
|
|
92
|
+
if (elapsed >= fpsInterval) {
|
|
93
|
+
let leftover = 0;
|
|
94
|
+
if (fpsInterval !== 0) {
|
|
95
|
+
leftover = (elapsed % fpsInterval);
|
|
96
|
+
elapsed = elapsed - leftover; // shift elapsed to be "in phase" with the current loop fps
|
|
97
|
+
}
|
|
98
|
+
// Resolves issue #138 if the game has been paused, or blurred for
|
|
99
|
+
// more than a 200 milliseconds, reset elapsed time to 1. This improves reliability
|
|
100
|
+
// and provides more expected behavior when the engine comes back
|
|
101
|
+
// into focus
|
|
102
|
+
if (elapsed > 200) {
|
|
103
|
+
elapsed = 1;
|
|
104
|
+
}
|
|
105
|
+
// tick the mainloop and run scheduled callbacks
|
|
106
|
+
this._elapsed = overrideUpdateMs || elapsed;
|
|
107
|
+
this._totalElapsed += this._elapsed;
|
|
108
|
+
this._runScheduledCbs();
|
|
109
|
+
this.tick(overrideUpdateMs || elapsed);
|
|
110
|
+
if (fpsInterval !== 0) {
|
|
111
|
+
this._lastTime = now - leftover;
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
this._lastTime = now;
|
|
115
|
+
}
|
|
116
|
+
this.fpsSampler.end();
|
|
93
117
|
}
|
|
94
|
-
// Resolves issue #138 if the game has been paused, or blurred for
|
|
95
|
-
// more than a 200 milliseconds, reset elapsed time to 1. This improves reliability
|
|
96
|
-
// and provides more expected behavior when the engine comes back
|
|
97
|
-
// into focus
|
|
98
|
-
if (elapsed > 200) {
|
|
99
|
-
elapsed = 1;
|
|
100
|
-
}
|
|
101
|
-
// tick the mainloop and run scheduled callbacks
|
|
102
|
-
this._elapsed = overrideUpdateMs || elapsed;
|
|
103
|
-
this._totalElapsed += this._elapsed;
|
|
104
|
-
this._runScheduledCbs();
|
|
105
|
-
this.tick(overrideUpdateMs || elapsed);
|
|
106
|
-
// if fps interval is not a multple
|
|
107
|
-
if (fpsInterval > 0) {
|
|
108
|
-
this._lastTime = now - (elapsed % fpsInterval);
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
this._lastTime = now;
|
|
112
|
-
}
|
|
113
|
-
this.fpsSampler.end();
|
|
114
118
|
}
|
|
115
119
|
catch (e) {
|
|
116
120
|
this._onFatalException(e);
|
|
@@ -130,6 +134,9 @@ export class StandardClock extends Clock {
|
|
|
130
134
|
return this._running;
|
|
131
135
|
}
|
|
132
136
|
start() {
|
|
137
|
+
if (this._running) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
133
140
|
this._running = true;
|
|
134
141
|
const mainloop = () => {
|
|
135
142
|
// stop the loop
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Clock.js","sourceRoot":"","sources":["../../../src/engine/Util/Clock.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Clock.js","sourceRoot":"","sources":["../../../src/engine/Util/Clock.ts"],"names":[],"mappings":"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"}
|
package/build/dist/excalibur.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* excalibur - 0.26.0-alpha.
|
|
2
|
+
* excalibur - 0.26.0-alpha.339+0b74c3d - 2021-12-18
|
|
3
3
|
* https://github.com/excaliburjs/Excalibur
|
|
4
4
|
* Copyright (c) 2021 Excalibur.js <https://github.com/excaliburjs/Excalibur/graphs/contributors>
|
|
5
5
|
* Licensed BSD-2-Clause
|
|
@@ -9192,6 +9192,8 @@ class SpriteFont_SpriteFont extends Graphic {
|
|
|
9192
9192
|
this.caseInsensitive = false;
|
|
9193
9193
|
this.spacing = 0;
|
|
9194
9194
|
this._logger = Logger.getInstance();
|
|
9195
|
+
this._alreadyWarnedAlphabet = false;
|
|
9196
|
+
this._alreadyWarnedSpriteSheet = false;
|
|
9195
9197
|
const { alphabet, spriteSheet, caseInsensitive, spacing, shadow } = options;
|
|
9196
9198
|
this.alphabet = alphabet;
|
|
9197
9199
|
this.spriteSheet = spriteSheet;
|
|
@@ -9222,14 +9224,22 @@ class SpriteFont_SpriteFont extends Graphic {
|
|
|
9222
9224
|
let spriteIndex = alphabet.indexOf(letter);
|
|
9223
9225
|
if (spriteIndex === -1) {
|
|
9224
9226
|
spriteIndex = 0;
|
|
9225
|
-
this.
|
|
9227
|
+
if (!this._alreadyWarnedAlphabet) {
|
|
9228
|
+
this._logger.warn(`SpriteFont - Cannot find letter '${letter}' in configured alphabet '${alphabet}'.`);
|
|
9229
|
+
this._logger.warn('There maybe be more issues in the SpriteFont configuration. No additional warnings will be logged.');
|
|
9230
|
+
this._alreadyWarnedAlphabet = true;
|
|
9231
|
+
}
|
|
9226
9232
|
}
|
|
9227
9233
|
const letterSprite = this.spriteSheet.sprites[spriteIndex];
|
|
9228
9234
|
if (letterSprite) {
|
|
9229
9235
|
results.push(letterSprite);
|
|
9230
9236
|
}
|
|
9231
9237
|
else {
|
|
9232
|
-
this.
|
|
9238
|
+
if (!this._alreadyWarnedSpriteSheet) {
|
|
9239
|
+
this._logger.warn(`SpriteFont - Cannot find sprite for '${letter}' at index '${spriteIndex}' in configured SpriteSheet`);
|
|
9240
|
+
this._logger.warn('There maybe be more issues in the SpriteFont configuration. No additional warnings will be logged.');
|
|
9241
|
+
this._alreadyWarnedSpriteSheet = true;
|
|
9242
|
+
}
|
|
9233
9243
|
}
|
|
9234
9244
|
}
|
|
9235
9245
|
return results;
|
|
@@ -25388,30 +25398,34 @@ class Clock {
|
|
|
25388
25398
|
const now = this.now();
|
|
25389
25399
|
let elapsed = now - this._lastTime || 1; // first frame
|
|
25390
25400
|
// Constrain fps
|
|
25391
|
-
const fpsInterval =
|
|
25392
|
-
if
|
|
25393
|
-
|
|
25394
|
-
|
|
25395
|
-
|
|
25396
|
-
|
|
25397
|
-
|
|
25398
|
-
|
|
25399
|
-
|
|
25400
|
-
elapsed
|
|
25401
|
-
|
|
25402
|
-
|
|
25403
|
-
|
|
25404
|
-
|
|
25405
|
-
|
|
25406
|
-
|
|
25407
|
-
|
|
25408
|
-
|
|
25409
|
-
this.
|
|
25410
|
-
|
|
25411
|
-
|
|
25412
|
-
|
|
25401
|
+
const fpsInterval = (1000 / this._maxFps);
|
|
25402
|
+
// only run frame if enough time has elapsed
|
|
25403
|
+
if (elapsed >= fpsInterval) {
|
|
25404
|
+
let leftover = 0;
|
|
25405
|
+
if (fpsInterval !== 0) {
|
|
25406
|
+
leftover = (elapsed % fpsInterval);
|
|
25407
|
+
elapsed = elapsed - leftover; // shift elapsed to be "in phase" with the current loop fps
|
|
25408
|
+
}
|
|
25409
|
+
// Resolves issue #138 if the game has been paused, or blurred for
|
|
25410
|
+
// more than a 200 milliseconds, reset elapsed time to 1. This improves reliability
|
|
25411
|
+
// and provides more expected behavior when the engine comes back
|
|
25412
|
+
// into focus
|
|
25413
|
+
if (elapsed > 200) {
|
|
25414
|
+
elapsed = 1;
|
|
25415
|
+
}
|
|
25416
|
+
// tick the mainloop and run scheduled callbacks
|
|
25417
|
+
this._elapsed = overrideUpdateMs || elapsed;
|
|
25418
|
+
this._totalElapsed += this._elapsed;
|
|
25419
|
+
this._runScheduledCbs();
|
|
25420
|
+
this.tick(overrideUpdateMs || elapsed);
|
|
25421
|
+
if (fpsInterval !== 0) {
|
|
25422
|
+
this._lastTime = now - leftover;
|
|
25423
|
+
}
|
|
25424
|
+
else {
|
|
25425
|
+
this._lastTime = now;
|
|
25426
|
+
}
|
|
25427
|
+
this.fpsSampler.end();
|
|
25413
25428
|
}
|
|
25414
|
-
this.fpsSampler.end();
|
|
25415
25429
|
}
|
|
25416
25430
|
catch (e) {
|
|
25417
25431
|
this._onFatalException(e);
|
|
@@ -25431,6 +25445,9 @@ class StandardClock extends Clock {
|
|
|
25431
25445
|
return this._running;
|
|
25432
25446
|
}
|
|
25433
25447
|
start() {
|
|
25448
|
+
if (this._running) {
|
|
25449
|
+
return;
|
|
25450
|
+
}
|
|
25434
25451
|
this._running = true;
|
|
25435
25452
|
const mainloop = () => {
|
|
25436
25453
|
// stop the loop
|
|
@@ -29026,7 +29043,7 @@ Promises_Promise = Promise_1 = Promises_decorate([
|
|
|
29026
29043
|
* The current Excalibur version string
|
|
29027
29044
|
* @description `process.env.__EX_VERSION` gets replaced by Webpack on build
|
|
29028
29045
|
*/
|
|
29029
|
-
const EX_VERSION = "0.26.0-alpha.
|
|
29046
|
+
const EX_VERSION = "0.26.0-alpha.339+0b74c3d";
|
|
29030
29047
|
|
|
29031
29048
|
polyfill();
|
|
29032
29049
|
// This file is used as the bundle entry point and exports everything
|