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.