First time posting but was running into some issues that others have pointed out on here referring to pictures/weather/parallax being off when zoomed in. Wanted to point out the problem code within MBS and how to fix it.
Code:this.x = Math.round(-$gameMap.zoom.x * (scale.x - 1));
this.y = Math.round(-$gameMap.zoom.y * (scale.x - 1));
this.x += Math.round(screen.shake());
Which can be found on the function "Spriteset_Map.prototype.updatePosition"
and appears to cause all children sprites to be shifted to the top left, making pictures, weather, and parallax shift top left when zoomed in. You can either remove the lines above or modify the lines later in the function like so.
Code:this.scale = new PIXI.Point(scale.x, scale.y);
this._pictureContainer.x = -this.x / scale.x;
this._pictureContainer.y = -this.y / scale.y;
this._pictureContainer.scale = new PIXI.Point(1.0 / scale.x, 1.0 / scale.y);
this._weather.x = -this.x / scale.x;
this._weather.y = -this.y / scale.y;
this._weather.scale = new PIXI.Point(1.0 / scale.x, 1.0 / scale.y);
this._parallax.x = -this.x / scale.x;
this._parallax.y = -this.y / scale.y;
this._parallax.move(this._parallax.x, this._parallax.y, Graphics.width / scale.x, Graphics.height / scale.y);
This "should" solve the issue.
2. I saw a previous discussion over centering and so I also messed around with the code and found modifying the centerX and centerY functions inside the MBS script to match this
Code:Game_Player.prototype.centerX = function () {
return (Math.floor(_GamePlayer_centerX.call(this)) - 0.5) / $gameMap.zoom.x;
};
Code:Game_Player.prototype.centerY = function () {
return (Math.floor(_GamePlayer_centerY.call(this)) - 0.5) / $gameMap.zoom.y;
};
made the zoom in on events/player perfectly centered (at least for me).