Animated busts and picture based animations.

● ARCHIVED · READ-ONLY
Started by Astfgl66 143 posts Page 2 of 8 View original ↗
  1. Hello, I came across an incompatibility with Yanfly's 1.5.1 update. With this plugin on, you can't save your game if there's a picture being shown on screen. Trying to do so will cause an error sound, save on the second press, but pop a game breaking message when you try to leave the menu, and the game that's been saved can't be loaded.

    Here's a copy of the message on saving;
    Spoiler
    rpg_managers.js:343 TypeError: Cannot read property 'name' of undefined
    rpg_managers.js:1954 TypeError: Cannot read property 'clamp' of undefined
    at ScreenSprite.Object.defineProperty.set (rpg_core.js:6165)
    at Spriteset_Map.Spriteset_Base.updateScreenSprites (rpg_sprites.js:2206)
    at Spriteset_Map.Spriteset_Base.update (rpg_sprites.js:2142)
    at Spriteset_Map.update (rpg_sprites.js:2271)
    at Spriteset_Map.Spriteset_Base.initialize (rpg_sprites.js:2127)
    at Spriteset_Map.initialize (rpg_sprites.js:2257)
    at new Spriteset_Map (rpg_sprites.js:2250)
    at Scene_Map.createSpriteset (rpg_scenes.js:734)
    at Scene_Map.createDisplayObjects (rpg_scenes.js:727)
    at Scene_Map.onMapLoaded (rpg_scenes.js:571)rpg_managers.js:1954 SceneManager.catchException

    It doesn't happen with the original 1.5.1 core files. I'm using dragonbones so I tried to use the original 1.5.1 and just update the index.html for dragonbones but that caused the error to appear again. I hope you get a chance to look into this, but if not I'll just remove save/load since it's a short game and I want to keep all my animations. :guffaw:
  2. What plugin specifically causes the error?
    I don't follow Yanfly's updates regularly (in fact, not at all, since I tend to use my own plugins, you know), so I have no idea what you mean by "Yanfly's 1.51 update".

    What would be most helpful is that, in addition to what's above, you send me the project's plugins.js file (so I get your exact plugin configuration), and your whole plugin folder. That way I can just paste all of it in a new project and debug appropriately.
  3. Sorry for not being clear! Yanfly's 1.5.1 Update isn't a plugin, it's a mash up of the source code from 1.4.0 and 1.5.1 plus Dragonbones integration. It replaces the rpg_*.js, libs folder and index to improve the performance of desktop games. You can use the dragonbones plugin without needing the optimised version of 1.5.1 as long as you update the index.html and add the dragonbones files to the libs folder which I've tried, but it still causes this error. (So I suppose the conflict is looking more likely to be dragonbones intergration then, even if the actual KELYEP_Dragonbones.js plugin isn't on...)

    You can replicate this issue on a new project by copying over the files from yanfly's 1.5.1 update, animated busts v8, showing a picture on the screen and then trying to save the game whilst the picture is still there (doesn't need to be an animating picture.) If the picture has been erased it works fine. I had a hard time figuring out what it was since I assumed there was a plugin conflict, but I'm pretty sure that it's conflicting with the corescript instead.

    In my project the error I get does reference some other plugins, but when animated busts is off there's no problem saving so I think they are probably being caught up in the issue rather than being a part of it, but if you can't replicate the problem then I'll send you my stuff. Thanks a lot for even looking into this for me! :D
  4. Hmm, It looks like it doesn't have anything to do with yanfly, dragonbones or whatever, and occurs even with just that plugin turned on, but only if you try to save with an animation running. I've located the source of the error to a circular reference problem, causing the JSON stringify process to fail.
    I've tried two or three things, got it to save and load, but animations weren't playing at all.
    Work in progress.

    Edit: I've done further examination, and it seems my plugin isn't the problem.
    Trying to stringify an empty bitmap without my plugin will cause an error.
  5. So it's a bug with MV then..? There goes my chance of getting this working in time for IGMC! Oh well, seems like it was an important discovery. :hswt:
  6. Seems like it. To get this plugin to work with saves, I need to save the bitmaps.
    Saving them is done by stringifying the bitmaps and then parsing them. Even in a completely new 1.51 project, trying to do so causes an error.
    So I'm sorry, but I can't fix this.

    That said, there must be a workaround. You can probably do something to remove all animations before saving, and restore them upon loading. I know Yanfly's utility common events plugin can do the loading part, you'd have to find one that allows you to execute a common event before saving, or at least before calling the menu.
  7. Don't worry about not being able to fix it! It's completely fine and I appreciate that you had a look into it :D Are you going to report it to the developers?

    I'm using button common events to call the menu anyway, so I was thinking that I could probably work around things by giving the menu scene a background to hide the fact the pictures vanish, but for this game it's so short I decided I might as well remove saving and save myself some trouble. Hopefully no one will mind...
  8. Alright great news, V9 is out! I fixed the issue.

    Well, more like dodged it. There isn't anything I can do about bitmaps being circular objects and this making the save process crash.
    What I did was just what I suggested above, but I scripted it for everyone.
    So, basically, when you enter the menu every animated picture setting (name of the files, position,...) is saved. The actual picture is then deleted before you enter the menu scene. When you enter the map scene, if there are saved pictures, the plugin restores them just as they were, using the saved settings.

    However, this works when saving via opening the menu and selecting the save option. If you save the game via script call, you'll have to manually save the animated pictures and restore them. I can't automate that because I can't know when you'll use that script call, and if I try to save pictures and you're not on the map scene you'll get a crash.
    This is done with the two following commands:
    Code:
    $gameScreen.savePictures(); //use this before saving the game manually,
    $gameScreen.restorePictures(); //use this after saving to restore animations

    I foresee incompatibilities with autosave plugins if you use them. So be sure to report them in the thread or via PM.
    The help file has been updated, you can grab the new version in the main post.
    Happy making and have a nice day!
  9. Can this also include other motions, such as waving hands or blinking eyes that are independant from the mouth so they won't all go in synch?
  10. This plugin was made to basically give you an animation framework. If you provide the pictures, it will cycle through them.

    There can be as many animations as you want, well as many as you can show pictures (100).
    Synching a picture to the message window is something you have to do manually. So the answer is yes, animations don't have to be synched to the message window.
    I suggest watching the youtube video, it covers nearly all commands and possible uses.
  11. Hey!
    I have a problem while using your plugin :/ it works correctly, but it crashes if I open the menu after showing an animation :o
    Any idea where it may be coming from?

    Screenshots
    431066bug2.png 543325bug1.png

    And the error stack:
    Code:
    TypeError: Cannot read property '_animated' of null
        at Scene_Map.callMenu (/C:/Users/Feelzor/Documents/Games/Test/js/plugins/AnimatedBusts.js:517)
        at Scene_Map.updateCallMenu (rpg_scenes.js:779)
        at Scene_Map.updateScene (rpg_scenes.js:719)
        at Scene_Map.update (rpg_scenes.js:591)
        at Function.SceneManager.updateScene (rpg_managers.js:2024)
        at Function.SceneManager.updateMain (rpg_managers.js:1983)
        at Function.SceneManager.update (rpg_managers.js:1907)rpg_managers.js:1949 SceneManager.catchException

    I hope it's just me doing some sh*t somewhere :')
  12. I know where the problem comes from. I won't have access to my computer for a few days. As a temporary fix, try replacing line 517 by:
    Code:
    if (pic && pic._animated) {

    I'll get to the root of the problem later.
  13. Thanks for the fast answer! I'll try that when I can, and I'll keep you in touch ^^

    EDIT: It fixed it! Thanks a lot!
  14. Hi everyone.
    I've released a new version that should fix the crash @Feelzor encountered.
    I forgot that when a picture is deleted the array is left with a null object at its place, and was trying to save its properties. With a few sanity checks added all should be well.
    Have fun, and happy making!
  15. Hello there!

    I'd like to know where to get the SF Actor Busts, because they didn't come with the RMV itself or the DLCs. I'm really excited about getting this plugin but without those busts I think I can't.

    Sorry for bothering, Max.
  16. I've tried the latest version from OP on pastebin.js with SlowText.js (which seems to be labeled version 1.02 only, not 1.03 like mentioned everywhere). Put the SlowText plugin first. I wasn't able to find a "custom" SlowText.js anywhere on this thread.
    The problem is that the animations works only once, they don't loop while the text appears on the screen.
    If I remove the SlowText the animations works just fine, I can add for example some long text to keep this going...

    Any idea what could be the issue?
  17. That help line should never have made it into a release, sorry.
    I toyed with kino's slow text and modified it during development, but finally decided against and just overwrote parts of it in my plugin directly.
    There is thus no custom slow text modification, just get it from kino and put it above the plugin.
    Just forget that line, I'll remove it.

    It's been a while since I last tested this plugin, but V10 was working alright with slow text last time I checked.
    I'll check again to be sure and will update if necessary.
  18. I also encountered the issue found by @Rhino , I can't properly save/load if I have some Pictures on the screen.

    I do have latest version from first post, at least in header it is actually saying...
    Code:
    // 26/10/2017 V9 -> "Fixed" saving and loading issue.
    // 01/11/2017 V10 -> Fixed crash after erasing pictures.
  19. Great plugin! Works perfectly so far! But, I have one question for it:

    As far as I know, this plugin can have an animation play when in sync with text, and after the text is done, a single, frozen picture of your choice will play.

    Is there a way to make that frozen picture into an animation? For example, in the Ace Attorney franchise, the characters will have a looping mouth movement for when talking, then the "frozen" picture will be another looping animation, usually blinking or breathing. Like, instead of having
    $gameScreen.picture(2).setFrozenBmp("mouth_closed"), you'd instead have
    $gameScreen.picture(2).setFrozenBmp("breath_1", "breath_2", "breath_3"), so that picture will still animate after the text is done, but the animation will be a different one.

    Edit:

    After testing, I've found that, even on an unedited new project, this doesn't seem to work in combat. I've copied and pasted the working event from a map into combat. The portrait will move on the map, but not in battle.

    Is there any way to get this working in battle?
  20. Do you think this plug in would work for like Live2D animations?