285
286
287
288
289
290
291
292
293
294
295
296
297
298
|
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
|
+
+
+
+
+
|
created, destroyed, or moved. It still receives broadcast messages
normally, and can also be addressed specifically.
(CollisionLayers <userflags...>)
Define user flags as CollisionLayers bits; the first defined flag is
bit0. Up to 8 flags can be defined in this way.
(InputXY <options...>)
Enables coordinate input. Currently there are no options, so the options
must be left blank. See the documentation about the CLICK message for
more details about coordinate input.
(LevelTable <definitions...>)
Define the level table. See the section about level table definition
for details. Can only occur once.
(Misc4 <userflags...>)
Define user flags as Misc4 bits; the first defined flag is bit0. Up to
32 flags can be defined in this way.
|
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
|
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
|
-
+
+
|
successfully teleported.
,JumpTo ( obj x y -- bool ) **
As ,MoveTo but sends JUMPED message to that object after it has been
successfully teleported.
Key ( -- number )
During the input phase, the key input. During other phases, zero.
During the input phase, the key input. During other phases, zero. During
the input phase of coordinate input, this value will be 1.
land ( in1 in2 -- out )
Logical AND.
le ( in1 in2 -- bool )
Test if first input is less or equal to second input (unsigned).
|
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
|
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
|
+
+
+
+
+
+
+
+
+
|
When scheduling deferred movement, if the moving object is blocked by
another object, then the moving object sends this message to the object
which is blocking it. From is the object attempting to move, Arg1 and
Arg2 are that object's coordinates, and Arg3 is 1 for +Move or 0 for
-Move. Of the return value, bit0 clears the Moving flag (causing the
move to fail), and bit1 causes it to not send any more BLOCKED messages.
CLICK
Sent during coordinate input. It is first sent to the control object,
and then if IgnoreKey is not executed, to each object at the clicked
coordinates, from top to bottom; it will stop if any one returns nonzero
or if the object that received this message has moved. Arg1 and Arg2 are
the X and Y coordinates. Arg3 is zero for the control object, but is the
return value of the CLICK message from the control object when this
message is sent to other objects.
COLLIDE
Received when this object is trying to move into a location where there
is a collision, so it can't move there. Of the return value, bit0 means
to prevent the movement (even if the objects are moved out of the way or
destroyed in order to make room), bit1 means to not send any COLLIDEBY
messages, and bit2 means to pretend the move attempt was successful even
if it isn't successful. Even if bit0 is set, that won't prevent sending
|