Page 1 of 4

gE Bug Hunt

PostPosted: Wed May 18, 2011 12:31 am
by skydereign
I'm compiling a bug list of all the known gE bugs so I can add it to the tracker. gE 1.5 will strive to eliminate as many bugs as possible, so we are trying to make a complete list. Here are the ones I could think of off the top of my head. There are more, so please fill in as needed, and I can add them to this list. I'll also be adding as many standalone ged examples of the bugs to help pinpoint the problems as I can. One area that I felt like there were several bugs was text actors, but currently can't think of what they were.

c: bugs in c functions.
memset does not work properly when setting to null.

Parent
-Currently actors that have parents have trouble converting their xy coordinates from relative to real, and have issues in general. When dragging an actor that is parented, it can occasionally jump to its relative coordinates in the real coordinate plane. This bug also happens when you unlock an actor that is parented, and even when you unparent an actor.

-CreateActor does not properly work when you specify the Parent Actor as the Parent Actor.

Animations
-Actors that have a transparent first frame do not activate their animations on start unless they are set to [Start] in the editor. It seems it has trouble initializing the actor, as this is fixed as soon as another actor references it. Actors with transparent first frames that have their animation set to move will be created properly.

Clones
-When using sequences, occasionally certain animations will move at faster or slower speeds. This is often noticeable when dealing with a lot of clones, and I have never seen it happen when only one instance of the actor is created. It though probably has to do with problems with sequences.

-When trying to replicate the bug mentioned above in windows 1.4.0, I couldn't, as another more pressing bug occurred. Sequences advance the frames of all clones using the sequence. So 1 clone will do the animation at the proper speed. 2 will cycle twice as fast, and so on.

-Deleting clone.0 will prevent you from ever getting clone.0 back. Not exactly a bug, but it'd be nice if new clones filled in the blank spots.

Tiles
-Tiles do not load properly when using LoadGame in the editor. So levels created with tile actors cannot be loaded while using gameEditor. This bug does not happen in exported versions though, but makes testing in editor harder.

-Tile actors and text actors are not supported by draw_from. This might belong as a feature request though.

Export
-A rather large problem, it seems you are allowed to have the view not be created on startup. By setting the [Create at startup:] button to no, the view does not get created in exported games. It does however still work during game mode. Another bug connected to this is that if the view is set not to create, actors may still parent the view, even though parenting to an actor that is set not to be created on startup is prohibited.

In exported versions, gE does not necessarily keep the same cloneindex values as they appear in the editor. So, if using cloneindex to differentiate menu pieces and other, it is likely to screw things up. Making gE create the actors with the proper cloneindexes consistently would make things a lot easier, and can prevent quite a bit of confusion.

MoveTo
-MoveTo does not work when specifying "Collide Actor".

MoveTo can cause teleportation if there is no difference in either x or y coordinates. This only happens when dealing with clones, and not consistently. I think it has to do with have MoveTo commands in the MoveFinish event, but this is unconfirmed. Similar symptoms as the next bug.

When given multiple MoveTo commands and PhysicalResponse (haven't tried to isolate it yet), the actor specified to move will teleport to its destination instead of moving to it at the designated speed.

-If you update an actor's position in the same script as a MoveTo call, and set it relative to the actor, it will use the original position for the MoveTo, instead of the updated one.

ZDepth
-ChangeZDepth does not return 0 range errors. The max zdepth it 35791, but setting it to anything above that will not cause ChangeZDepth to return 0 (even though zdepth won't be changed).

Event Disable
-Mouse enter events are disabled by EventDisable, but unlike mouse button down, it prevents the MouseEnter events of the actors below it. To reiterate, while you can click the actor underneath another actor with mouse button down disabled, you can not have mouse over events even if the above actor has mouse enter disabled.

Draw Actor
-If you don't have any reference to directional_velocity in a draw event, but use global code to change the actor's directional_velocity it will not update. You need to have a comment referencing directional_velocity or any other reference (such as directional_velocity;). This bug is untested for other events.

PlayMusic2
-Cannot infinite loop from the gui, so you have to set loop to 0 in script.

Crash Bug
-Mainly with unsaved files (can happen with saved files), clicking to add a script, but not clicking immediate action or wait for frames (brings you back to the script editor), then adding the script will cause the game to crash.

-Sometimes when commenting large lines, the game crashes.

iOS
Sound messes up when you lock screen.

Global Code
Sometimes a global script will not be initialized. This causes everything that relies on that script to stop working. Going back to the script and adding it will fix it, but it still happens occasionally.

Other: (These are weirder bugs that only occurred as the size of the project I was working on increased)
When dealing with lots of actors (happens randomly), cloning actors stops working. gE creates the clones, but they all share the same cloneindex. When this happens you cannot create anymore clones, as this problem will always occur. Fixable by restarting gE. gE's actor interface only registered a single clone.

A max of 4 rows of animations can display on my screen, and there is a point where it slightly exceeds the number of displayable animations, but does not let you click a button to show more. So, up to 3 (I believe) animations are uneditable until you add enough animations to make gE create the button.

gE would have problems adding Actor* parameters, giving an error like, cannot convert struct * to struct *. This happens with other pointer types as well, but either way this can cause all of your scripts that use the functions in that bit of code to stop working. Adding other global code scripts can stop it from displaying the error, and it can go away on reloads.

When having lots of variables, both declared through gE's gui variable creator, and in Global Code, removing variables through gE's gui can cause the game to crash. It was getting variables with similar prefixes confused, and since it was confusing it with Actor* variables it would crash. I had to comment out the Actor*s to delete the actor variables. The 6 or so variables all had the prefix enem.

I'm sure there are more, but that is all for now.

Re: gE Bug Hunt

PostPosted: Wed May 18, 2011 12:49 am
by jimmynewguy
This is a good idea sky.

One thing I've noticed recently is that it seems if I save a project before exporting it (in any form) GE will crash and the export won't work properly. But if I reopen that project and don't save the export will work. Not really a huge issue, but still gets a little annoying between that and the crashing in script editor that occurs sometimes.

Re: gE Bug Hunt

PostPosted: Thu May 19, 2011 3:26 pm
by Jagmaster
skydereign wrote:
Deleting clone.0 will prevent you from ever getting clone.0 back. Not exactly a bug, but it'd be nice if new clones filled in the blank spots.



Instead of a single delete button, I thought it would be cool if there was a drop-down menu on the remove button, and the menu would have the options "Remove actor"
"Remove Clone" and "Remove all clones".

The "Remove actor" option would remove the actor and the clones.
The "Remove Clone" option would remove selected clone.
The "Remove all Clones" option would remove all clones, leaving clone.0 (the original actor).
This would be handy if you had hundreds of clones, but only wanted to keep one.

Re: gE Bug Hunt

PostPosted: Thu May 19, 2011 5:34 pm
by lcl
Jagmaster wrote:
skydereign wrote:
Deleting clone.0 will prevent you from ever getting clone.0 back. Not exactly a bug, but it'd be nice if new clones filled in the blank spots.



Instead of a single delete button, I thought it would be cool if there was a drop-down menu on the remove button, and the menu would have the options "Remove actor"
"Remove Clone" and "Remove all clones".

The "Remove actor" option would remove the actor and the clones.
The "Remove Clone" option would remove selected clone.
The "Remove all Clones" option would remove all clones, leaving clone.0 (the original actor).
This would be handy if you had hundreds of clones, but only wanted to keep one.

That's very good idea! :)

Re: gE Bug Hunt

PostPosted: Thu May 19, 2011 9:53 pm
by skydereign
Yeah, I was thinking of something like that as well, but thought that'd go in feature requests, as it is a new functionally/button. The more comprehensive gE feature request list is here.
http://game-editor.com/forum/viewtopic.php?f=3&t=10190#p69910

Anyway, no one can think of any other bugs?

Re: gE Bug Hunt

PostPosted: Fri May 20, 2011 7:00 pm
by Jagmaster
On a few occasions, after I tested the game a few times, random letters on random bits of text would go haywire. It almost seemed like the letter was cycling through the text like an animation. Eventually Game Editor would crash.
(Click the picture to see what I mean)
Text Glitch2.gif

This happened a while ago, I think the .ged was corrupted. I don't think I still have the .ged, so this probably doesn't help much.

Re: gE Bug Hunt

PostPosted: Sun May 22, 2011 10:19 am
by lcl
Jagmaster wrote:On a few occasions, after I tested the game a few times, random letters on random bits of text would go haywire. It almost seemed like the letter was cycling through the text like an animation. Eventually Game Editor would crash.
(Click the picture to see what I mean)
Text Glitch2.gif

This happened a while ago, I think the .ged was corrupted. I don't think I still have the .ged, so this probably doesn't help much.

That has happened to me also.
It happens mostly after somekind of fail in game mode.

Also, one extremely weird thing has happened to me few times.
If I am trying to make it sprintf print some strings, but there is some reason for it to not work, it will print weird things like: "xvelocity" or "#&£¥^√"... So, sometimes it prints some variable name (not the variable I am trying to show, but some random variable.) Sometimes just gibberish and sometimes even something that looks like some sort of coding.. :shock:

Re: gE Bug Hunt

PostPosted: Sun May 22, 2011 10:25 am
by skydereign
Well if you are trying to access memory that hasn't been initialized, it very well could print that. It's happened to me on a few occasions, but that is perfectly normal. I believe I've even seen bits of my code from it. Pretty much only happens with strings though.

Re: gE Bug Hunt

PostPosted: Sun May 22, 2011 10:32 am
by lcl
skydereign wrote:Well if you are trying to access memory that hasn't been initialized, it very well could print that. It's happened to me on a few occasions, but that is perfectly normal. I believe I've even seen bits of my code from it. Pretty much only happens with strings though.

Oh, ok.
I have also seen parts of my own code, I still remember how confused I was about that.

Also, the bug that Jagmaster wrote about happens to me often after this kinds of failures.
And when that Jagmasters bug occurs, GE crashes when you hit any key in editor.

Re: gE Bug Hunt

PostPosted: Sun May 22, 2011 5:33 pm
by Jagmaster
Found another bug-
If you are in the script editor and you accidentally click Wait for frame action and then hit cancel, Game Editor crashes.

Re: gE Bug Hunt

PostPosted: Sun May 22, 2011 10:08 pm
by skydereign
That's the same as the crash bug in my first post. But yeah... that one is the most notorious bug I believe.

Re: gE Bug Hunt

PostPosted: Tue May 24, 2011 12:46 am
by Jagmaster
Whops, should of seen that. :roll:

Re: gE Bug Hunt

PostPosted: Fri May 27, 2011 11:16 pm
by Jagmaster
The Built-in tutorials need to be checked into. They can be extremely glitchy. (Make the view follow the actor tutorials are the worst.)
Perhaps this should not be prioritized, but new users that click on these will be very confused.

Re: gE Bug Hunt

PostPosted: Sat May 28, 2011 12:02 am
by Game A Gogo
Jagmaster wrote:The Built-in tutorials need to be checked into. They can be extremely glitchy. (Make the view follow the actor tutorials are the worst.)
Perhaps this should not be prioritized, but new users that click on these will be very confused.


GE is planned to received a massive change sometime (Been a couple of years...) those tutorial will be removed then because the GUI will be completely changed

Re: gE Bug Hunt

PostPosted: Sat May 28, 2011 12:04 am
by skydereign
I was going to redo some of the tutorials, but the version I was provided to make gedt files did not work. I still haven't been able to procure a working version from akr or makslane. The interface change was scheduled to be worked on, but it is not a priority of akr as it was makslane's task.