44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
-
+
-
+
-
+
|
Bugs that would be fixed:
* If you select a class without the dialog box and then activate the class selection dialog box again and image 0 is not available in the editor, it will mistakenly select image 0 anyways.
* Restarting a puzzle (by pushing escape) while an object is busy will improperly cause triggers to occur that aren't supposed to occur.
* Bombs exploding in Hero Defiant sometimes cause a GPF. I believe this is due to things that improperly depend animation timing, and this is corrected as mentioned in the section above.
* Multiple popups, by right-clicking on objects and displaying popups by class codes and displaying the level startup text all at the same time, can cause several kind of problems, including recording keys that are never actually executed.
* If a popup message is displayed and IgnoreKey is used, the key code to dismiss the popup is still recorded even though it is not executed; this results in a recording which does not match the state of the puzzle.
* You cannot assign to a standard variable of another object if that another object is a read-only variable; you must first assign the object pointer to a temporary variable in order to do so.
A few are handled during conversion in order to retain compatibility:
* Move(Self,constant) increases Inertia by Strength instead of setting Inertia equal to Strength. For compatibility with puzzles that depend on this, it is handled in a special way during conversion (see mbtofhm.c for details).
* Changing the density of or otherwise tampering with the density of the backmost object can cause problems (including memory leaks and GPF).
<h2>Footnotes</h2>
<sup>1</sup> "Improper puzzles" means that the operation of the puzzle can be affected by things that it is not supposed to be affected by, such as: randomness, timing, internal numbers assigned to classes/messages/objects, level reordering, animations, etc.
<sup>2</sup> It may be necessary to figure out how to properly handle Roller animations (and possibly the irregular Hero animations) in this way.
<sup>2</sup> It may be necessary to figure out how to properly handle Roller animations (and possibly the irregular Hero animations) in this way. Even if such problems occur, the only thing expected to happen is an improper display; the puzzle would otherwise still work.
|