Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

No bother at all, in fact, I appreciate your in-depth testing, it makes finding the problem easier.

I tracked this one down to the fact that I used an if statement that checked for a 'falsy' statement, instead of for if a value was undefined. The normal if check (if (VARIABLENAME){ do stuff }) will return false if VARIABLENAME doesn't exist. Unfortunately, it will also return false if it has the number value 0, as well. I was using the above to check if a priority name had been defined for the current set, but it never checked against set number 0 (the first one) because if the value was zero, it was treating it as if it had not been defined.

I also corrected the other problem you found. Although you didn't mention specifically, starting the game when the ActorSprite value of any set is completely blank will cause the plugin to throw an error and not load, but won't cause the engine to crash, instead allowing you to play the project with all cosmetic set effects disabled. This is because the default value is supposed to be an empty array. If the value is instead blank, the plugin fails to parse it's data entirely, throws an error and fails to load. If the data is a blank array, it can parse it as nothing, and move on.

To correct that, I changed the plugin parameter to be [] by default, instead of blank. So if you create a new set that contains no actor specific sprites, and never touch the ActorSprites parameter, it won't remain blank and crash the project.

These fixes are already uploaded. I added a revision to v1.21, and you can download it at the same link as before.

-Ramza

It works perfectly! Thanks for everything my dude. You really went out of your way.