1) soon nic will be adding this command to deal with angles:
POLR [length] [angle] [x int name] [y int name] - Converts the polar vector of [length], [angle] to a rectangular vector and stores the x portion in [x int name] and the y portion in [y int name]
(angles are in degrees)
this is already supported in MLC86
2) CLSN is not fully enabled in MLCafx, thats a next version release too. also, CLSN will have an alternate sentax to allow for checking against any sprite colision (aka, if you want to know if sprite "A" collides with any other visible sprite)
CLSN ^SPR .0 %INT *PTR
3) he's a member of graph100.com, and didnt really come here much before MLC. same with SRM (who has helped out with MLC beta testing quite a bit).
here's most of what has to be updated in MLCafx to make it current with MLC86 (there's a few things missing):
POLR [length] [angle] [x int name] [y int name] - Converts the polar vector of [length], [angle] to a rectangular vector and stores the x portion in [x int name] and the y portion in [y int name]
(angles are in degrees)
RSET resets program from start
SUBS (arguments can be found in the string topic)
"$STR=.3+.5", etc. ($STR="8")
Tilemaps: name char is {, expressions like "{MAP=[BMP1 [BMP2 [BMP3 [BMP4...", "{MAP(.0 .2)=[BMP5", "DISP {MAP(.1 .5)" allowed.
CINT [string] [int name] - Converts the string [string] to a number and stores it in [int name] (negative numbers allowed)
ABSL [number] [int name] - Finds the absolute value of [number] and stores it in [int name]
INPT [x] [y] [prompt] [color] [var] - Displays [prompt] in [color] at [x], [y], waits for a number or string (depends on the type of [var]), and stores it to [var]
NMAP [width] [height] [map name] - Creates a tilemap with a name of [map name] and dimensions of [width] and [height]
TILE [map name] [bitmap 1] [bitmap 2]... - Sets the specified bitmaps in [map name] to be "solid"
CMAP [map name] [sprite name] [x array] [y array] - Finds where each corner of [sprite name] is touching [map name] and stores the positions of the map elements in [x array] and [y array] (the position of [map name] is determined from the position it was last drawn with DMAP)
TCHK [map name] [x array] [y array] [int name] - Checks each of the map elements specified by [x array], [y array] in [map name] - if any of them are "solid", [int name] is set to 1, otherwise [int name] is set to 0
DMAP [x] [y] [map name] - Draws [map name] with the top left corner at [x],[y]
alternate DISP syntax: DISP .0
alternate CLSN syntax: "CLSN ^SPR .0 %INT *PTR"
%INT+, %INT- // increment/decrement
IIFF / THEN / [code block] / IFND (IF / [single line of code] also works)
%INT*=[expression] is the same as %INT=%INT*[expression]
(same with other operators)
"IIFF ^SPR.BMP=[BMP1", etc.
hope that answers some questions
![:)](/dot/public/style_emoticons/default/smile.png)
wish nic luck, he's working on this right now