︙ | | | ︙ | |
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
|
treated as 1. Other non-numeric return values are errors.
BroadcastSumEx ( class message arg1 arg2 arg3 -- total )
As BroadcastSum but with three message arguments.
bxor ( in1 in2 -- out )
Bitwise XOR.
Create ( class x y image dir -- obj ) **
Creates a new object at the specified location, and returns it. The
result is zero if the class is zero, the coordinates are out of range,
the object cannot be created due to the CollisionLayers, or if the new
object is destroyed before its CREATE message returns.
DelInventory ( class image -- ) **
Delete an item from the inventory; see SetInventory for more details.
Delta ( in1 in2 -- out )
Subtracts the smaller input from the larger (unsigned).
Destroy ( -- value ) **
|
>
>
>
>
>
>
>
>
|
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
|
treated as 1. Other non-numeric return values are errors.
BroadcastSumEx ( class message arg1 arg2 arg3 -- total )
As BroadcastSum but with three message arguments.
bxor ( in1 in2 -- out )
Bitwise XOR.
c? ( any -- bool )
True if the value is a class, or false if it is any other type. Error if
it is a sound.
Create ( class x y image dir -- obj ) **
Creates a new object at the specified location, and returns it. The
result is zero if the class is zero, the coordinates are out of range,
the object cannot be created due to the CollisionLayers, or if the new
object is destroyed before its CREATE message returns.
cz? ( any -- bool )
True if the value is a class or zero, or false if it is neither a class
nor zero. Error if it is a sound.
DelInventory ( class image -- ) **
Delete an item from the inventory; see SetInventory for more details.
Delta ( in1 in2 -- out )
Subtracts the smaller input from the larger (unsigned).
Destroy ( -- value ) **
|
︙ | | | ︙ | |
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
|
Test if first input is less than second input (unsigned).
,lt ( in1 in2 -- bool )
Test if first input is less than second input (signed).
lxor ( in1 in2 -- out )
Logical XOR.
MaxInventory ( number -- )
Results in an error and loss of game if the number of different
inventory items exceeds the given number, otherwise no effect.
mod ( in1 in2 -- out )
Unsigned divide in1 by in2 producing the remainder.
|
>
>
>
>
|
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
|
Test if first input is less than second input (unsigned).
,lt ( in1 in2 -- bool )
Test if first input is less than second input (signed).
lxor ( in1 in2 -- out )
Logical XOR.
m? ( any -- bool )
True if the value is a message, or false if it is any other type. Error
if it is a sound.
MaxInventory ( number -- )
Results in an error and loss of game if the number of different
inventory items exceeds the given number, otherwise no effect.
mod ( in1 in2 -- out )
Unsigned divide in1 by in2 producing the remainder.
|
︙ | | | ︙ | |
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
|
departures, and send FLOATED and SUNK messages as appropriate.
,MoveTo ( obj x y -- bool ) **
As MoveTo but for a specified object, not necessarily this one.
Msg ( -- message )
The current message being processed.
ne ( in1 in2 -- bool )
As eq but the result is inverted (like "eq lnot").
neg ( in -- out )
Multiply by negative one.
NewX ( oldx dir -- newx )
Advance the number in the direction as though it is a X coordinate. If
the direction is north or south, leaves it alone, but if it is east or
west then it is increased or decreased by one. The output is never less
than zero nor exceeding the playfield width by more than one.
NewY ( oldx dir -- newy )
Advance the number in the direction as though it is a Y coordinate.
nip ( x y -- y )
ObjAbove ( -- obj )
The object above this one (0 if this one is at the top). "Above" means
it overlaps this object, not upward on the screen (north).
,ObjAbove ( obj -- obj )
The object above the specified object (0 if there isn't any).
|
>
>
>
>
>
>
>
>
|
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
|
departures, and send FLOATED and SUNK messages as appropriate.
,MoveTo ( obj x y -- bool ) **
As MoveTo but for a specified object, not necessarily this one.
Msg ( -- message )
The current message being processed.
n? ( any -- bool )
True if the value is a number, or false if it is any other type. Error
if it is a sound.
ne ( in1 in2 -- bool )
As eq but the result is inverted (like "eq lnot").
neg ( in -- out )
Multiply by negative one.
NewX ( oldx dir -- newx )
Advance the number in the direction as though it is a X coordinate. If
the direction is north or south, leaves it alone, but if it is east or
west then it is increased or decreased by one. The output is never less
than zero nor exceeding the playfield width by more than one.
NewY ( oldx dir -- newy )
Advance the number in the direction as though it is a Y coordinate.
nip ( x y -- y )
o? ( any -- bool )
True if the value is an object (whether or not it has been garbage
collected), or false for any other type. Error if it is a sound.
ObjAbove ( -- obj )
The object above this one (0 if this one is at the top). "Above" means
it overlaps this object, not upward on the screen (north).
,ObjAbove ( obj -- obj )
The object above the specified object (0 if there isn't any).
|
︙ | | | ︙ | |
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
|
If you specify multiple bits, it finds one with any of those bits. (It
is not possible for there to be more than one such object.)
ObjTopAt ( x y -- obj )
Find the object on the top at the specified location. The result will be
zero if that location is vacant or out of range.
PopUp ( value -- )
Displays a popup message. Normally, the value is a string, but it can be
another type, and it will try to display it. If the text contains any \q
commands, then dismissing the popup message will send a KEY message to
the object which created the popup message. If there is already another
existing popup message, only the first one set up will be displayed, and
the others will be ignored. IgnoreKey also affects what happens when a
|
>
>
>
>
>
|
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
|
If you specify multiple bits, it finds one with any of those bits. (It
is not possible for there to be more than one such object.)
ObjTopAt ( x y -- obj )
Find the object on the top at the specified location. The result will be
zero if that location is vacant or out of range.
oz? ( any -- bool )
True if the value is an object or zero, or false if it is neither an
object nor zero. (Even if the object has been garbage collected, it is
still true.) Error if it is a sound.
PopUp ( value -- )
Displays a popup message. Normally, the value is a string, but it can be
another type, and it will try to display it. If the text contains any \q
commands, then dismissing the popup message will send a KEY message to
the object which created the popup message. If there is already another
existing popup message, only the first one set up will be displayed, and
the others will be ignored. IgnoreKey also affects what happens when a
|
︙ | | | ︙ | |
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
|
Logical right shift. If the shift amount is out of the range 0-31,
then all bits are shifted out and the result is zero.
,rsh ( in shift -- out )
Arithmetic right shift. If the shift amount is out of the range 0-31,
then all bits are shifted out; the result will be -1 if the input is
negative, or 0 otherwise.
Self ( -- obj )
The reference to the current object.
Send ( message arg1 arg2 -- value )
Similar to ,Send but this object sends the message to itself.
|
>
>
>
>
>
|
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
|
Logical right shift. If the shift amount is out of the range 0-31,
then all bits are shifted out and the result is zero.
,rsh ( in shift -- out )
Arithmetic right shift. If the shift amount is out of the range 0-31,
then all bits are shifted out; the result will be -1 if the input is
negative, or 0 otherwise.
s? ( any -- bool )
True if the value is a string (which may be either a string in the class
codes or a string in the level), or false if it is any other type. Error
if it is a sound.
Self ( -- obj )
The reference to the current object.
Send ( message arg1 arg2 -- value )
Similar to ,Send but this object sends the message to itself.
|
︙ | | | ︙ | |