All scene events cloned to actor and overwrote all actor events

wahmpire

  • Posts: 81
Very strange and concerning bug...  I opened a project and a test run failed because an attribute didnt exist on an actor I havent touched in months.  After investigating the actor, all of the events I had been working on in a scene from my last save were now the only events on this actor.  The scene still has the identical events.  The actor failed for missing an attribute in the actor's event logic that is from the original scene.  Even if I had accidentally deleted all events, and copy and pasted over the scene events to this actor, the attribute would have been automatically created on the actor.  The attribute was then automatically removed from the actor after closing and reopening Stencyl, but the rest of the logic has still overriden the actor's original logic.

wahmpire

  • Posts: 81
Just noticed that the actor kept its original events, but replaced all of the logic in them.  The scene had a "when updating" that copied all logic to the actor's "when drawing" block.  In fact, "Drawing" now shows "do every x second" block instead of "drawing" even though the event is still drawing type.  See attached screenshot.  Worried the whole game might be corrupt.

LIBERADO

  • *
  • Posts: 2716
Wow... this is probably the most destructive bug I have ever seen.
I'm spanish, excuse me for my bad English.
I'm not a private teacher. Please, post your questions in the public forum.

Justin

  • *
  • Posts: 4530
It's not the most destructive I've ever seen.. T_T

Could you post your logs? Also, if possible, a copy of the game from when the bug hit?
For Live Support: Join our discord server and ping me @justin.
I'm most often available between 10am and 10pm Japan time. (GMT+9)

wahmpire

  • Posts: 81
I apologize, I didnt see this until I just had the behavior happen again.  I've posted to the bug forum about it, but here is a paste:

I've had this happen randomly two occasions now...  On a random build, a scene will write its files as ActorEvents_xx.hx,  ActorEvents_xx.design, and write the scene properties in list.xml as an actor.  The scene XX.scn file will stay until you close and reopen stencyl.  The first time this happened it overwrote an actor with the same number (scene35 overwrote actor35).  This time I got lucky and the scene number was between actor numbers.

The exact scenario:  Scene 36 files were erased, and became ActorEvents_36.hx,  and ActorEvents_36.design.  The headers of the files had actor methods, but the rest of the logic was the original scene logic.  List.xml had actor properties for the scene (<snippet actorid="36" attachedevent="true" class="scripts.ActorEvents_36" classname="scripts.ActorEvents_36" desc="Actor Specific Events", etc.)

I managed to hack everything back together as a scene with text edits, but this is really concerning moving forward.


I'm really worried I've got something corrupt deep inside, on a game I've been working on for a year and a half....I don't know how far back in revisions to go to even consider myself safe to move forward on it :(  Justin, I will send you the game, and thank you very very much for offering to look at it.

wahmpire

  • Posts: 81
Here are the logs, should have the before and after the manual fix.