nataliapc/msx2daad

ISDONE/ISNOTDONE mechanics not working properly

Closed this issue · 3 comments

Say we have this entry at PRO 5:

XYZZY _ MESSAGE "HEY HEY XYZZY!"

On running the game, typing "XYZZY" would output the message "HEY HEY XYZZY!" , which is OK... but it will be inmediaytely followed by a "No puedo hacer eso.", which is obvlously wrong (this very same code won't output "No puedo..." in any of the original DAAD terps).

At the very moment a condact is executed 'cause no condition has prevoiusly avoided it (in this case a MESSAGE condact) DAAD is aware that "something has been DONE" even when no DONE condact has been explicitly reached. That means the ISDONE condact at PRO 1 (right after we come back from PRO 5) equals to True, so REDO happens and the part of PRO 5 that invokes sysmess 8 ("No puedo...") is not reached.

This is not working in msax2daad, I mean, at least not the way it works in DAAD.

01
02

Ensayo DRC.zip

Seems fixed in the last commit, please check it.

If you need the compiled executable please contact me...

Not fixed yet...

ISDONE/ISNOTDONE is fixed finally.

In the next commit I will publish the bugfix.

Thanks!