forked from mica-angeli/tileworld
-
Notifications
You must be signed in to change notification settings - Fork 0
/
BUGS
70 lines (63 loc) · 4.02 KB
/
BUGS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Contents
* Bugs in the MS game logic emulation
* Bugs in the Lynx game logic emulation
* Other bugs and misfeatures
___________________________________________________________________________
Bugs in the MS game logic emulation
* There are numerous situations in the MS game that cause a moused goal to
be cancelled for which TW will keep trying, or vice versa. A clearer
understanding of how the MS game handles moused goals is needed.
* The MS game checks for input more than once per tick. Probably this was
done to catch last-minute keyboard events, but it has the effect that by
having more than one input event in the queue, Chip can, under certain
circumstances, have the latter keystroke processed after he has moved but
before any other creatures move. This is more noticeably an issue with
the mouse, which seems to be processed differently than keyboard events
in the MS game, but not in TW. Level 94 in EvanD1.dat, unsolvable in TW
but not in the MS game, is a dramatic example of this.
* In TW, the keyboard is scanned twice per tick, once at the beginning and
once in the middle. As a result, if Chip makes a move at the beginning of
a tick, the game does not update the display twice in a row (once after
the creatures move and once after Chip moves), but just does it once. I
do not believe that this optimization has a real effect on the gameplay.
It does, however, make it easier to examine the screen when pushing
against a force floor.
* There are a number of miscellaneous emulation bugs. These are documented
more thoroughly in the msbugs.txt file on the website.
___________________________________________________________________________
Bugs in the Lynx game logic emulation
* Under the real Lynx game it is possible to push a block diagonally
without moving at all. This is done by pushing against a wall, and then
pushing diagonally against a neighboring block very briefly. The block
will get pushed, but Chip doesn't follow. This is impossible to do in TW.
* Under the real Lynx game it is possible, with carefully constructed
circumstances, for Chip to push a block away from him as it's heading
towards him. That is, a block starts moving into the square that Chip
occupies, but in the same frame, Chip starts pushing the block in the
opposite direction. This is impossible to do in TW.
* Tile World fails to emulate several situations where Chip starts out on
top of something other than floor, and starts the level without moving.
In the original Lynx game, if Chip is atop water, dirt, a blue wall,
footgear, a key, or an exit, then if Chip doesn't move the tile takes
effect immediately (with Chip dying, winning, or clearing or collecting
the object). Tile World generally has tiles take effect when Chip enters
them. (Note, however, that this is not a universal pattern: in the
original game if Chip starts out on fire, a bomb, or a chip, then the
tile does not take effect until Chip leaves and reenters.) Unfortunately,
the community is loathe to see these issues addressed, as various
user-created levels now exist that depend on the current behavior.
Possibly some of them could be changed without causing problems, but
fixing Chip starting on e.g. the exit or a key would ruin a few levels in
CCLP1.
* There are a number of miscellaneous emulation bugs, mostly involving Chip
being stuck on teleports. These are documented more thoroughly in the
lxbugs.txt file on the website.
___________________________________________________________________________
Other bugs and misfeatures
* TW ignores field 8 entries in the .dat file unless they are exactly five
bytes long. In this case, it simply ignores the field 6 password. The MS
game will remember both passwords and allow either one to be used
(although if both are present it will only show the field 8 password).
* Tile World does not properly imitate the original game in deciding when
to allow the player the option to skip past a level. The criteria for
this circumstance has not be properly elucidated, for either ruleset.