Friday, April 06, 2012

Small Little Things

I've been running through a couple of fixes in the Level Editor before I could open .cmd files again ... I also injected the wizardry for guru meditation that I have for runme, which was actually easier than I remembered as there is a C++ standard way to override the "terminator" function for top-level exceptions: std::set_terminate(). (done)

At last, the monsters created with AnimEDS no longer crash the tool, and they do show up ... somehow ... It looks unfortunately like I wrote the wrong tiles in the 'TINY' sections of the .spr file >_<.


Petit retour sur le code: si le moteur de jeu peut maintenant utiliser des animations composées créées avec AnimEDS, en revanche, essayer d'ouvrir un tel niveau pour en éditer la map ou les monstres faisait tout planter. J'ai donc d'abord modifié AnimEDS lui-même pour qu'il sauve des "miniatures affichables" des animations en plus des instructions d'animations (les blocs 'TINY', un héritage des fichiers .LBM de Deluxe Paint ^_^).

Puis il a fallu s'attaquer à LEDS lui-même, pour me rendre compte qu'il plantait maintenant sur tous les niveaux, et d'une bien curieuse manière ... quelque-chose entre le Null Pointer Exception et le buffer overflow. Tout ça parce que j'avais surestimé le niveau de "tests run-time" que C++ effectue lorsqu'on utilise vector[i] >_<

Bref, tout ça est maintenant arrangé, mais l'affichage de dumblador est pour le moins corrupté ... un peu comme si j'avais capturé le contenu de la "limbs table" plutôt que les miniatures d'animations (fix). Mais je devrai regarder ça plus tard: il est temps de me remettre au travail sur ma présentation ou elle ne sera jamais prête pour la conf' à Maui ...

oh, yeah ... and dumblador's animation finally works fine in the game engine. Now, the road ahead:

  • [done] L+Y to clone a frame at the end of the animation in AnimEDS -> full walk
  • [wish(?)] move whole frame / animation around
  • [done] define gob movements in AnimEDS
  • [done] define gob collision boxes in AnimEDS
  • [wish] limb-aligned collision boxes in game engine.
  • [wish] larger TINY images (non-scaled) for small-work-area gobs.
  • [bugfix] make the "zoomed frame editor" work
  • [bugfix] still bugs in the timeline ?

and then more:

  • [done] support iGobController-driven walk
  • [done] also duplicate monsters set-up expression when duplicating GOBs in LEDS;
  • [done] make sure loading an animation in AnimEDS preserves the movement hints;
  • [done] support for full-movement animation (i.e. move on all frame, including the loop).
  • [wish] think about managing the bbox on a large set of animations for a single character;
  • [wish] allow GameScript to ignore '../' headers in .cmd files so that efs-based and fat-based readers can both use the same input script, without requiring conversions.

2 comments:

PypeBros said...

voir svn805 pour la manipulation de la timeline via KEY_LEFT et KEY_RIGHT et svn890 pour le fix au niveau de GUI_ALT_TOUCHED. Il manque sans doute au premier (et peut-être à KEY_Y) la restauration de l'invariant "la liste est triée".

PypeBros said...

all should be done, now :)