agidev.com
 Home | Intro | News | Games | Community | NAGI |  Articles  | Download | Links

Articles

NAGI Documentation

Page: 1 2 3 4 5 6 7 8 [ 9 ] 10 11

Bugs in Sierra’s Interpreter

If you do not define a logic for debug tracing command names.. it is meant to just print out the command numbers.  But because of a bug, it does not do this and prints garbage.

When using set.loop or set.loop.v the allowed loop range should be 0…(LOOP_TOTAL – 1).. but because of a missing equals sign somewhere in their code.. if you set the loop to be equal to loop_total (or one above the maximum), it will not cause an error and keep on going.  However, the animated object have a loop data pointing to a random location.  Real life example: bow before the king in KQ1

The command set.pri.base goes through an array but goes past it a bit and starts reading other bits of the stack I believe.  Through sheer luck, it doesn't do anything strangely in the original interpreter.  It crashed NAGI in it’s original form.  Real life example: KQ4

The message box function barfs if there's a very long string placed just after a control code or new line.  It won't properly wrap unless you make sure there's a space just before the very long string.

The animated object code differs between versions.  If you run the XMAS demo on a real v2.9 interpreter there will be bits missing on the scrolling text.  The bits reappear in earlier interpreters.  Some other differences show in the old Donald Duck game too. In other games, sprites can go missing in newer versions of AGI, and then reappear in older versions.

You should only call restore.game from logic.0.  If you call restore from a called logic function, it may cause problems because it will be returning back through logics that have been unloaded and loaded again.  The logic may not be in the exact place as before.

Page: 1 2 3 4 5 6 7 8 [ 9 ] 10 11