GameSalad

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Image Bugs

My project is debilitated by 2 image bugs:

First, when I try to delete an image, it deletes a different random image. My project is starting to be bloated with unused image media. I would go in the back side and manually delete these images, but I'm afraid this will mess up my project. This seems to happen every time I try to remove an image with the minus sign.

Second, I can no longer constrain an image using the name of an image. I was able to do this successfully in part of my project (and it still works), but now any time I try to constrain an image, it acts as if there is no image with that name. I get a white box. I'm currently trying to display each digit of the score using a common method demonstrated in videos and in the forum, but it doesn't work. I've already double-checked spelling and capitalization of the file names and extensions (always .png), but no matter what, I get a white box instead of the desired image.

Does anyone know how I can address either of these seemingly unrelated issues?

Thanks.

Comments

  • CSharpMinCSharpMin Posts: 12Member
    I tried removing spaces in the file names and this worked to address my second problem, and it worked.

    Originally I had used option-spacebar to insert a space in the formula, and while it displays correctly with the display text behavior, it does not match to an image with the same name. Is there another way to insert a space that will work?
  • SocksSocks London, UK.Posts: 12,822Member
    edited September 2013
    Yep, image adding / deleting in GameSalad is very buggy, it's an old issue that's been around for years - it seems particularly bad when you are dealing with large image sequences, for example select images 12-16 and hit delete, then watch and marvel as frames 8-12 are deleted :)

    And unfortunately the way GameSalad handles media means you can't undo as the files are gone from the actual GS file structure - even before saving ! At this stage you'd probably be tempted to Revert To Saved but doing so won't help you as even the reverted file will be effected, a kind of nightmarish-time-travelling-file-structure where actions in the present can effect the past. 8-X

    It really is quite a combination, delete an image and GameSalad deletes a different image . . . permanently. 8-X 8-X

    Just as bad as the random image deletion is when a file simply won't delete, you often need to open and close GS to see where you stand, if you've been particularly zealous with your deleting (for example you might have tried deleting the same file several times) you can often re-open GS to find all sorts of mayhem with the image files, missing files, files with blank images and so on.

    It's a mess and it makes the very simple task of using images, especially when you are using a large number of images, a bit of a minefield.

    The only thing I can suggest is that you make a duplicate of your GS file, go into the package contents and clean up the image folder manually, if this screws up your project in any way you can always just throw it away and go back to the original.
  • BoomshackBarryBoomshackBarry Posts: 712Member
    edited September 2013
    I'd say that it's probably best to avoid spaces in file names altogether just to make sure this kind of issue doesn't crop up in the future, or with other software you might work with. If readability is an issue you can always try good old fashioned camel case whereYouUseCapitalLetters to differentiate words.

    As for bug one, this is a problem for a lot of people. I think the safe way of handling it is to make a save directly before adding or deleting images from the project, so that if it messes up when you attempt it you can reload and try again. However if you're gameproj is already messed up with this I'm not sure how you go about fixing it...

    edit: after reading @Socks post, perhaps my save suggestion isn't possible.

    Why not check out my development blog?

  • SocksSocks London, UK.Posts: 12,822Member
    For your second question you'd really need to present your rules if you wanted someone to help out.
  • CSharpMinCSharpMin Posts: 12Member
    Thanks for the tips! I created a text attribute that contains a prefix and a space, that worked fine for me. I'll just avoid the spaces in images for now on.

    I'm surprised the image deletion bug has lasted so long. I'd think that would be an easy bug fix for them. Guess not.

    Thanks again. This community is so helpful!
  • SocksSocks London, UK.Posts: 12,822Member
    @BoomshackBarry

    As for bug one, this is a problem for a lot of people. I think the safe way of handling it is to make a save directly before adding or deleting images from the project, so that if it messes up when you attempt it you can reload and try again. However if you're gameproj is already messed up with this I'm not sure how you go about fixing it...

    edit: after reading @Socks post, perhaps my save suggestion isn't possible.

    Yeah, it's a weird one, the obvious piece of advice any sane person would offer would be to hit save before doing any adding or deleting of files - but like I say GameSalad doesn't work like that (like every other application I've ever know) and actually removes files from the file structure - your actual saved file on disk - when you remove them from the open (in RAM) file.

    Undo doesn't help, revert to save doesn't help, closing without saving and reloading the original file doesn't help.

    The only thing you can do is to first save the file under a new name (Project 017 gets saved as Project 18) - then you can delete and add and generally do what you want, if something goes amiss just throw Project 18 away and open Project 017 . . .
  • JSprojectJSproject Posts: 730Member
    Socks said:

    @BoomshackBarry

    As for bug one, this is a problem for a lot of people. I think the safe way of handling it is to make a save directly before adding or deleting images from the project, so that if it messes up when you attempt it you can reload and try again. However if you're gameproj is already messed up with this I'm not sure how you go about fixing it...

    edit: after reading @Socks post, perhaps my save suggestion isn't possible.

    Yeah, it's a weird one, the obvious piece of advice any sane person would offer would be to hit save before doing any adding or deleting of files - but like I say GameSalad doesn't work like that (like every other application I've ever know) and actually removes files from the file structure - your actual saved file on disk - when you remove them from the open (in RAM) file.

    Undo doesn't help, revert to save doesn't help, closing without saving and reloading the original file doesn't help.

    The only thing you can do is to first save the file under a new name (Project 017 gets saved as Project 18) - then you can delete and add and generally do what you want, if something goes amiss just throw Project 18 away and open Project 017 . . .
    Yes, this is unfortunately true. It has been discussed before on the forums and a GS programmer wrote (in a previous forum thread where socks, I and others discussed this) that he would look into this.. after that there has been total silence so my guess is that the bug will remain in newer versions also. Since it doesn't happen all the time it may be hard to reproduce, it's a very real bug though - have experienced it several times myself.

    This is my personal recommendation (how I work around this).
    1. Before any delete in GS - Do a "save as" so you get a complete new copy of your project.
    2. Select the objects (actors or images) in GS that you want to delete and delete them.
    3. Double check that the correct objects were deleted. If the correct objects were deleted then you are fine - continue your work. However, if you notice that one or several of the objects that you deleted still remains then consider your project corrupted (since it then is very likely that incorrect/not objects selected by you, has been deleted so then;
    4. Close your project and load the project that you did a "save as" for.
    5. Repeat the whole process described.

    I also recommend using time machine.

  • BoomshackBarryBoomshackBarry Posts: 712Member
    That feature must have been programmed by a crazy person.

    So what would happen to a project in the instance that you forget to backup and then it becomes corrupted. Is there any fix or is that the end of it?

    Why not check out my development blog?

  • JSprojectJSproject Posts: 730Member
    It's possible to fix the project by manually finding the incorrectly deleted objects and add them again. The objects incorrectly deleted are usually ones that are close to the objects that you selected to be deleted, if you have a small project you might see directly what has happened (after reopening the project). With a larger project with thousands of objects the whole thing becomes a major pain in which case it's much easier (faster) to revert back to a previously saved project.
  • SocksSocks London, UK.Posts: 12,822Member

    That feature must have been programmed by a crazy person.

    So what would happen to a project in the instance that you forget to backup and then it becomes corrupted. Is there any fix or is that the end of it?

    @BoomshackBarry

    What js.dev said . . .

    I think it's good practice to see GameSalad as a 'live' application, that is to contrast it with pretty much every other application out there that can be regarded as 'offline' where you are free to do whatever you want to the project until that point where you want to commit (by hitting 'save') - and, of course, at any point up until you save you can revert to saved or simply close the project without saving.

    With GameSalad it's best to see it as you working directly on the file that is on the hard drive (in reality the issue is only with imported media) - consider that the project is actually 'live' rather than offline - once you get into that way of thinking it becomes instinctual to duplicate your project even before opening it, and Save As every time you make some progress or are otherwise happy with something you've done.
  • BoomshackBarryBoomshackBarry Posts: 712Member
    Thanks for the detailed explanation guys. That whole 'live' application thing makes perfect sense. Glad I learnt more about this before I started my upcoming big project!

    Why not check out my development blog?

Sign In or Register to comment.