Thursday, November 04, 2010

Got Stuck ?


Hover me
Dans un vrai développement, introduire quelque-chose comme les transitions en cas d'évènement liés aux contrôleurs alors qu'on est en phase pre-alpha n'est pas souhaitable. J'aurais été au boulot, j'aurais au moins fait un "svn copy trunk/ branch/..." avant de m'y attaquer. Mais voilà: c'est un projet-hobby et la liste des choses à faire entre une version et la suivante n'a plus grand-chose d'excitant...

This is something you'd never see occuring in a "real" project, but this one is a hobby project. I may know very well how to use SVN to create branches and avoid that an experimental feature triggers a bug in a pre-release, and I do it on regular basis for work. I just don't care too much about it when it comes to hobby project: I do what I wish yo do when I feel so. And so I may end up with Bilou curiously getting randomly "stuck" again when he hits the ground, not responding to DPAD anymore, etc. It doesn't even get hurt by Applemen, as you can see...


InspectorWidget, functional, but not fully restored yet
Bref, je me suis retrouvé à avoir Bilou bloqué de temps en temps au moment où il touchait le sol. Fort heureusement, InspectorWidget n'était pas bien loin, sans aller jusqu'à dire qu'il soit complètement opérationnel avec ce changement d'écrans ... Mais je ne suis pas mécontent d'avoir passé du temps sur ce petit débuggeur intégré l'été dernier: alors que j'avais sèché sur le script "bilou.cmd", il m'aura suffit de reproduire le problème et d'appuyer sur [START] pour découvrir que ce n'étaient pas la chute, mais bien les manoeuvres d'évasion qui étaient en cause.

This is where InspectorWidget turned handy again. I was cautious enough when I disabled it for AppleAssault, and it wasn't very far away. It's tempting to claim "all I had to do was to change bool InspectorWidget::FullyQuiet = truefalse; in main.cpp, but the recent swap of screens required a bit more tweaks and cleanup. And as shown below, it's not yet fully recovered :P
Yet it was sufficient to point me at those evasive moves for further investigation -- I was searching for bugs in the regular "falling" states until then -- and the fix should now be trivial.

/* fixed: la plupart de ces bugs d'affichagent étaient dûs à la redirection de la console (consoleInitDefault() vers l'écran du bas qui détruisait les caractères personnalisés par Engine::createChar() :P */

No comments: