Skip to content

Commit 9524d3b

Browse files
authored
Merge pull request #105 from rpgtkoolmv/add_pause
pause when retry button is displayed
2 parents 4937672 + dff3f7d commit 9524d3b

File tree

5 files changed

+17
-7
lines changed

5 files changed

+17
-7
lines changed

js/rpg_core/Bitmap.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -898,7 +898,8 @@ Bitmap.prototype.decode = function(){
898898
this._decodeAfterRequest = true;
899899
if (!this._loader) {
900900
this._loader = ResourceHandler.createLoader(this._url, this._requestImage.bind(this, this._url), this._onError.bind(this));
901-
this._image.onerror = this._loader;
901+
this._image.removeEventListener('error', this._errorListener);
902+
this._image.addEventListener('error', this._errorListener = this._loader);
902903
}
903904
break;
904905

js/rpg_core/Input.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,9 @@ Input._onKeyDown = function(event) {
287287
this.clear();
288288
}
289289
var buttonName = this.keyMapper[event.keyCode];
290-
if (buttonName) {
290+
if (ResourceHandler.exists() && buttonName === 'ok') {
291+
ResourceHandler.retry();
292+
} else if (buttonName) {
291293
this._currentState[buttonName] = true;
292294
}
293295
};

js/rpg_core/ResourceHandler.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ ResourceHandler.createLoader = function(url, retryMethod, resignMethod, retryInt
2626
if (url) {
2727
if (reloaders.length === 0) {
2828
Graphics.printLoadingError(url);
29+
SceneManager.stop();
2930
}
3031
reloaders.push(function() {
3132
retryCount = 0;
@@ -43,6 +44,7 @@ ResourceHandler.exists = function() {
4344
ResourceHandler.retry = function() {
4445
if (this._reloaders.length > 0) {
4546
Graphics.eraseLoadingError();
47+
SceneManager.resume();
4648
this._reloaders.forEach(function(reloader) {
4749
reloader();
4850
});

js/rpg_managers/SceneManager.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -248,10 +248,6 @@ SceneManager.changeScene = function() {
248248
};
249249

250250
SceneManager.updateScene = function() {
251-
if (ResourceHandler.exists() && Input.isTriggered('ok')) {
252-
ResourceHandler.retry();
253-
this.updateInputData();
254-
}
255251
if (this._scene) {
256252
if (!this._sceneStarted && this._scene.isReady()) {
257253
this._scene.start();
@@ -355,3 +351,12 @@ SceneManager.snapForBackground = function() {
355351
SceneManager.backgroundBitmap = function() {
356352
return this._backgroundBitmap;
357353
};
354+
355+
SceneManager.resume = function() {
356+
this._stopped = false;
357+
this.requestUpdate();
358+
if (!Utils.isMobileSafari()) {
359+
this._currentTime = this._getTimeInMsWithoutMobileSafari();
360+
this._accumulator = 0;
361+
}
362+
};

plugins/Debug_FailLoading.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
var _Bitmap_onLoad = Bitmap.prototype._onLoad;
5555
Bitmap.prototype._onLoad = function() {
5656
if (Math.random() < failImage) {
57-
this._image.onerror();
57+
this._errorListener();
5858
} else {
5959
_Bitmap_onLoad.apply(this, arguments);
6060
}

0 commit comments

Comments
 (0)