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