RMMV is there a plugin that can add more animation frames for tilesets?

GRass8888

Villager
Member
Joined
Feb 17, 2017
Messages
27
Reaction score
2
First Language
portuguese
Primarily Uses
RMMV
In my game i'm making i have 5 frames for the animated water and waterfall, but rpg maker mv only allow you to use 3 frames for animated tiles, is there any plugin that can add more frames?
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
34,273
Reaction score
8,727
First Language
German
Primarily Uses
RMMV
I don't know if one exists for tilesets - there are several plugins that do this for sprites and battlers, but the A1 tileset is an entirely different thing.

The problem here is that nothing can change the editor itself. The only way this could be done is by working with two different tilesets - one in the editor that still uses 3-frame-animations, and one for the engine that uses the higher framerate during play only.

Something similar has already been done to allow for different grid sizes as that would also collide with the editor (Shaz' change tile size plugin), so it is possible - but I never heard of a plugin that does the same for the frame animations.
 

ShadowDragon

Realist
Veteran
Joined
Oct 8, 2018
Messages
4,675
Reaction score
1,796
First Language
Dutch
Primarily Uses
RMMV
there are in total 2 I know off, 1 really complex one easy that I have,
but it's made so it's not public and the creator make a improved
version which isn't either public yet.

but I dont know the name of the first one but I will link back once I found it.
 

GRass8888

Villager
Member
Joined
Feb 17, 2017
Messages
27
Reaction score
2
First Language
portuguese
Primarily Uses
RMMV
I don't know if one exists for tilesets - there are several plugins that do this for sprites and battlers, but the A1 tileset is an entirely different thing.

The problem here is that nothing can change the editor itself. The only way this could be done is by working with two different tilesets - one in the editor that still uses 3-frame-animations, and one for the engine that uses the higher framerate during play only.

Something similar has already been done to allow for different grid sizes as that would also collide with the editor (Shaz' change tile size plugin), so it is possible - but I never heard of a plugin that does the same for the frame animations.
yeah that is the reason i made this post in first place, i saw several of them for sprites and battlers but none for tilesets, hopefully someone else know a plugin for it.
 

GRass8888

Villager
Member
Joined
Feb 17, 2017
Messages
27
Reaction score
2
First Language
portuguese
Primarily Uses
RMMV
there are in total 2 I know off, 1 really complex one easy that I have,
but it's made so it's not public and the creator make a improved
version which isn't either public yet.

but I dont know the name of the first one but I will link back once I found it.
alright thank you.
 

ShadowDragon

Realist
Veteran
Joined
Oct 8, 2018
Messages
4,675
Reaction score
1,796
First Language
Dutch
Primarily Uses
RMMV
here is the link (this is the complex one, while tileset need to be
placed in a specific way [link here], I highly recommend to see
how this EXACTLY work, it isn't an easy plugin, but you can make
tiles in different frames and loop them.

the one I use can be used for 2-100+ frames, currently, some of them
has 30-40 frames, and more will be made because of the mechanic
I use for them.

But I hope you can figure it out, while the frame rate can also be adjusted.
 

GRass8888

Villager
Member
Joined
Feb 17, 2017
Messages
27
Reaction score
2
First Language
portuguese
Primarily Uses
RMMV
here is the link (this is the complex one, while tileset need to be
placed in a specific way [link here], I highly recommend to see
how this EXACTLY work, it isn't an easy plugin, but you can make
tiles in different frames and loop them.

the one I use can be used for 2-100+ frames, currently, some of them
has 30-40 frames, and more will be made because of the mechanic
I use for them.

But I hope you can figure it out, while the frame rate can also be adjusted.
I not wanted anything complex but well if is the only option i have i won't be picky, will try it out and see if i find how to use it/if it work.
 

GRass8888

Villager
Member
Joined
Feb 17, 2017
Messages
27
Reaction score
2
First Language
portuguese
Primarily Uses
RMMV
here is the link (this is the complex one, while tileset need to be
placed in a specific way [link here], I highly recommend to see
how this EXACTLY work, it isn't an easy plugin, but you can make
tiles in different frames and loop them.

the one I use can be used for 2-100+ frames, currently, some of them
has 30-40 frames, and more will be made because of the mechanic
I use for them.

But I hope you can figure it out, while the frame rate can also be adjusted.
yeah seems too much complicated/complex to me, i also tried the demo of it and it crashed.
 

Shaz

Global Moderators
Global Mod
Joined
Mar 2, 2012
Messages
44,094
Reaction score
15,515
First Language
English
Primarily Uses
RMMV

@GRass8888, please avoid double posting, as it is against the forum rules. You can use the "Edit" function on your posts to add additional information you've forgotten or respond to multiple people. You can review our forum rules here. Thank you.



If you wish to reply to several people, please just tag them, like this: @GRass8888 - instead of quoting and replying to each one in individual posts.
 

Aerosys

Veteran
Veteran
Joined
Apr 23, 2019
Messages
613
Reaction score
588
First Language
german
Primarily Uses
RMMZ
The problem here is that nothing can change the editor itself. The only way this could be done is by working with two different tilesets - one in the editor that still uses 3-frame-animations, and one for the engine that uses the higher framerate during play only.
But we don't need to change the editor, the animation is processed by the source code that we can extend by Plugins. I jumped into the code and found out that it is a massive block of code that we need to override, so unfortunately not what I wanted, but it should work.

Create a js file and insert this, then look for my comment (starting with // symbol ), and there you can change the animation.

Code:
Tilemap.prototype._drawAutotile = function(bitmap, tileId, dx, dy) {
    var autotileTable = Tilemap.FLOOR_AUTOTILE_TABLE;
    var kind = Tilemap.getAutotileKind(tileId);
    var shape = Tilemap.getAutotileShape(tileId);
    var tx = kind % 8;
    var ty = Math.floor(kind / 8);
    var bx = 0;
    var by = 0;
    var setNumber = 0;
    var isTable = false;
    if (Tilemap.isTileA1(tileId)) {

        // here you can set your animation cycle
        const ANIMATION_CYCLE = [0, 1, 2, 3, 4, 3, 2, 1];
       
        var waterSurfaceIndex = ANIMATION_CYCLE[this.animationFrame % ANIMATION_CYCLE];
        setNumber = 0;
        if (kind === 0) {
            bx = waterSurfaceIndex * 2;
            by = 0;
        } else if (kind === 1) {
            bx = waterSurfaceIndex * 2;
            by = 3;
        } else if (kind === 2) {
            bx = 6;
            by = 0;
        } else if (kind === 3) {
            bx = 6;
            by = 3;
        } else {
            bx = Math.floor(tx / 4) * 8;
            by = ty * 6 + Math.floor(tx / 2) % 2 * 3;
            if (kind % 2 === 0) {
                bx += waterSurfaceIndex * 2;
            }
            else {
                bx += 6;
                autotileTable = Tilemap.WATERFALL_AUTOTILE_TABLE;
                by += this.animationFrame % 3;
            }
        }
    } else if (Tilemap.isTileA2(tileId)) {
        setNumber = 1;
        bx = tx * 2;
        by = (ty - 2) * 3;
        isTable = this._isTableTile(tileId);
    } else if (Tilemap.isTileA3(tileId)) {
        setNumber = 2;
        bx = tx * 2;
        by = (ty - 6) * 2;
        autotileTable = Tilemap.WALL_AUTOTILE_TABLE;
    } else if (Tilemap.isTileA4(tileId)) {
        setNumber = 3;
        bx = tx * 2;
        by = Math.floor((ty - 10) * 2.5 + (ty % 2 === 1 ? 0.5 : 0));
        if (ty % 2 === 1) {
            autotileTable = Tilemap.WALL_AUTOTILE_TABLE;
        }
    }
    var table = autotileTable[shape];
    var source = this.bitmaps[setNumber];
    if (table && source) {
        var w1 = this._tileWidth / 2;
        var h1 = this._tileHeight / 2;
        for (var i = 0; i < 4; i++) {
            var qsx = table[i][0];
            var qsy = table[i][1];
            var sx1 = (bx * 2 + qsx) * w1;
            var sy1 = (by * 2 + qsy) * h1;
            var dx1 = dx + (i % 2) * w1;
            var dy1 = dy + Math.floor(i / 2) * h1;
            if (isTable && (qsy === 1 || qsy === 5)) {
                var qsx2 = qsx;
                var qsy2 = 3;
                if (qsy === 1) {
                    qsx2 = [0,3,2,1][qsx];
                }
                var sx2 = (bx * 2 + qsx2) * w1;
                var sy2 = (by * 2 + qsy2) * h1;
                bitmap.bltImage(source, sx2, sy2, w1, h1, dx1, dy1, w1, h1);
                dy1 += h1/2;
                bitmap.bltImage(source, sx1, sy1, w1, h1/2, dx1, dy1, w1, h1/2);
            } else {
                bitmap.bltImage(source, sx1, sy1, w1, h1, dx1, dy1, w1, h1);
            }
        }
    }
};

Puh, I have no clue what will happen then; maybe we need to change more lines of code, but it is possible!

EDIT: I noticed that this code is incomplete, it will take a while to write a fully working Plugin.
 
Last edited:

GRass8888

Villager
Member
Joined
Feb 17, 2017
Messages
27
Reaction score
2
First Language
portuguese
Primarily Uses
RMMV
@GRass8888 You can use Yanfly's Doodads to add the tiles. :LZSooo: (Can add as many frames to animations. But it won't be an autotile.)

Demo:

will check that out, i'm already not using autotiles for my game so that is no problem.
edit: i not gonna have money for a long time to buy scripts so i can't use it sadly.
 
Last edited:

Latest Threads

Latest Posts

Latest Profile Posts

A quarter of century ago, one astute frog man was born. :ninja:
All new MZ Weather & Title updates are also RETRO'able for MV! Updated RETRO project will be released on same day I'll release updated MZ demo -project!

retro.png
Just lost about half a day's worth of work because rpg maker crashed during playtesting and corrupted my file :kaolivid:
Boku.gif
advanced_puzzling.PNG
Having a lot of fun making different poses for my character sets! Open to suggestions/critique!

CSKttqh.png

Forum statistics

Threads
117,018
Messages
1,103,889
Members
152,925
Latest member
POLk7
Top