Strict animation requirements for certain abilities (swim, sword) makes the game crash without console output if they're misconfigured

I'm developing a Solarus game from scratch and have run into several problems that are really difficult to debug.

If the hero touches water, the hero will freeze and say:

Error: Sprite 'main_heroes/rachel': Animation 'plunging_water' not found.
Error: Cannot find sound file 'sounds/splash.ogg'

Okay, I understand. I create a new animation called plunging_water, providing all 4 directions. Each direction is 1 frame without loop. I touch the water again, and the hero freezes without any console output. What now? I don't know what to do.

I compare zsdx to my game, scratching my head. I delete plunging_water, then duplicate walking and rename it to plunging_water. Now when I step on the water, the animation happens, but the character is stuck infinitely walking. There is no console output, and I am still very confused. I compare it to zsdx again.

I untick "loop on frame" and try again. Finally the character drowns and takes damage as expected!

Now I know the answer, but it took took me an hour to figure out. A similar thing happened for swinging the sword. The sword is even more picky. Both hero/tunic1:sword and hero/sword1:sword must have precise settings, otherwise the hero will freeze and no console output is given.

I am okay that the hero freezes, but adding console output would make it much much easier to debug.

Thank you! 😀

EDIT: I've discovered that the game does not freeze, but rather the hero does. So I updated the language in my post to reflect that.

Edited Oct 20, 2018 by Alex Gleason
Assignee Loading
Time tracking Loading