Here's the latest beta release.
Sept 19 2001 Changelog:
- there are only 12 MFD buttons total now.
- DEL button removed, now replaced with CUT. So, if you want to delete something, use CUT. If you CUT something by mistake, just go into OPTions and PASTE. This will eliminate DELeting something by mistake. Anything placed in the CUT buffer can be PASTEd many times, until something else is CUT.
- OPTions menu
- CUTting and PASTEing will redirect variables used. For example, if I have: expression x1: "x0 * 2" and I cut x0 and paste it in expression x2, x1 will be redirected to x2, so expression x1: "x2 * 0"
- if an expression has been edited, the file has not been saved and orbiter exits, calcmfd will save the expressions to "__last__calc_mfd.txt".
- functions rel_pos_x, rel_pos_y and rel_pos_z have been added to get relative positions from a specified planet, vessel, etc. The user will supply an index to get the object. If the index of an object is unknown, it can be obtained with the function by_name. For example:
rel_pos_x( by_name( earth ) ) : will return the x component of the vector from earth to your vessel.
- functions arot_x, arot_y and arot_z are now available to provide the user with the Euler angles of the vessel in ecliptic frame (x corresponding to alpha, y to beta and z to gamma angles).
- keyboard shortcuts now work with the menu buttons. The keys 1 to 9, 0, - and = are used for the full 12 MFD buttons (the full 12 keys on your keyboard starting from 1 to =). So, if the MFD is the left MFD, left shift plus these keys will manipulate the MFD keys.
- step function. If an expression is selected, and the function has the operator "step" in it, the value of step can be incremented or decremented by 1 using the INC or DEC keys on the MFD. For example, expression x0: "step * 0.1" will cause x0 to evaluate to 0 at first run, and pressing INC will change x0 to step * 0.1 = 1 * 0.1 = 0.1. So if the user wants to change the step size, the user can multiply or divide the step by a value, or use the step as part of an exponential calculation
- fixed bug with main/slaved mfds
- pitch_wrt() works, however bank_wrt() and yaw_wrt() are work in progress. pitch_wrt (pitch with respect to) takes an object index as a parameter, similar to rel_pos_x above. So, to get the pitch value from earth, we would use pitch_wrt( by_name( earth ) ) or pitch_wrt( 3 ) since Earth happens to be the third object.
Todo:
- bank_wrt and yaw_wrt
Might do:
- vector3 and matrix3 output
- vector3 and matrix3 operations
- graphing (cartesian and polar, maybe even something specific for Euler angles). This might be a separate MFD however.