Lihinel

Veteran
Veteran
Joined
Nov 9, 2013
Messages
271
Reaction score
339
First Language
German
Primarily Uses
This question is related to Orange Overlay, but I am pretty sure its a general issue.
https://forums.rpgmakerweb.com/index.php?threads/orange-overlay.63524/

I am trying to replicate/move a harvestmoon like script from VXAce to MV, I basically blt plant parts to the ground or upper layers of an overlay, which is a normal bitmap.
For testing purposes, I tried starting small so instead of a blocktransfer I just used the fillRect and clear function on the bitmap with the following code:
Code:
var Lihinel = Lihinel || {};
  (function() {

Lihinel.blt_plants = false;


var oldSpriteset_Map_updateGroundLayer = Spriteset_Map.prototype.updateGroundLayer
 Spriteset_Map.prototype.updateGroundLayer = function() {
    oldSpriteset_Map_updateGroundLayer.call(this);
   
    if(!Lihinel.blt_plants){
        this._groundLayer.bitmap.fillRect(0,0,100,100,"#000000");
       
        Lihinel.blt_plants = true;
        console.log(Lihinel.blt_plants);
    }
  };
 
var oldGameInterpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
  Game_Interpreter.prototype.pluginCommand = function (command, args) {
    if (command.toLowerCase() == 'greenhouse') {
        Lihinel.blt_plants = false;
       
        return null;
    }
    oldGameInterpreter_pluginCommand.apply(this, arguments);
  }
 })();
This works and puts a 100*100 black square,however,
if I set the first Lihinel.blt_plants to true instead of false, like this:
Code:
var Lihinel = Lihinel || {};
  (function() {

Lihinel.blt_plants = true;
...
It no longer works, no matter how often I use the plugin command.

I know I am missing something fundamental about sprites/bitmaps here, but I don't know what.
 

Shaz

Global Moderators
Global Mod
Joined
Mar 2, 2012
Messages
43,428
Reaction score
15,220
First Language
English
Primarily Uses
RMMV
Just a guess, but try using === instead of == in your plugin command function.
 

Lihinel

Veteran
Veteran
Joined
Nov 9, 2013
Messages
271
Reaction score
339
First Language
German
Primarily Uses
That can't be it, the
Code:
console.log(Lihinel.blt_plants);
block inside the Spriteset_Map.prototype.updateGroundLayer is always executed, I checked using the console.
only the
Code:
this._groundLayer.bitmap.fillRect(0,0,100,100,"#000000");
doesn't seem to do anything if the variable Lihinel.blt_plants is set to true instead of false in the beginning.

Edit:
and just to add, if I remove the change Lihinel.blt_plants to true inside of the method with the .fillRect, it just goes tries use the fill method (as well as the console.log) every frame, but it still doesn't do anything to the bitmap. Really weird.
 
Last edited:

Lihinel

Veteran
Veteran
Joined
Nov 9, 2013
Messages
271
Reaction score
339
First Language
German
Primarily Uses
Update:
I replaced the .fillRect with multiple .blt's and the true/false with a counter and noticed that it needs a higher count to display the images when I add an additional load.
So I guess the problem is with images not being loaded when I want to use them and them eventually getting loaded as my counter goes up high enough. Is there an easy way to tell if all images you need are loaded? I think something along the lines of an async function or onload (like here, but with multiple images)
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
33,725
Reaction score
8,509
First Language
German
Primarily Uses
RMMV
not directly - because that is implemented too deeply into the way the internet and the browsers load files.

However, there are preloader-plugins that allow you to specify which files will be needed later and load them before they become in use.
That solution has other disadvantages (like the risk of too much RAM-use), but it might be a solution for you.
 

Latest Threads

Latest Profile Posts

Worked on a cutscene skip domino effect using Maker Systems' script as the basis. Basically if I have a batch of cutscenes in a row on different maps, now when you skip one cutscene it will skip the entire set. No more spamming X to skip a scene every new map.

Oh and it will work regardless of where you do it from in the set. Convenient!
seems absolutely WILD to me now all the hundreds of hours of work I used to do in 2k(3) over a decade ago with a resolution of 320x240. that seems so insanely TINY now, seemed so normal at the time!
Playing Aroma Indosiar theme song.
Aroma is an Indonesian TV show about cooking. :)
Working on a characteeer! (Why is it so hard to color hair?) ;-;
Silly-Sketches.png
Just finished eventing a couple simple puzzles in RMMV, for my very first game "Sample Quest." Just messing around, throwing things together, and calling it a story XD On a non-RM note, got my hair cut today!

Forum statistics

Threads
115,379
Messages
1,089,393
Members
150,078
Latest member
GThink
Top