Jump to content

taguilo

Members
  • Content Count

    883
  • Donations

    $0.00 
  • Joined

  • Last visited

Everything posted by taguilo

  1. Timewaster,"":......... (A:General eng1 propeller lever position, percent) 10 / int 10 *and then the bunch of :bmp1bmp2bmp3Etc.Tom
  2. Yes I've seen those pictures also, thanks. My doubt was because I didn't find any RR reference data and/or gauge graphics in the manuals.Tom
  3. Hi,First of all,thank you for releasing the 757 manuals in advance, cause one can get an idea on what is coming.Now, I notice engine reference data is for PW version, is RR modeled as well or the panel uses PW numbers for both configurations?Regards,Tom
  4. taguilo

    Only LB?!

    Hi,Good to have the manuals first, thank you :-)I notice engine reference data is for PW version, is RR modeled as well or the panel uses PW numbers for both configurations?Regards,Tom
  5. Javier,You may store a value to a given register as may times as you wish, the stored value will always be the last one. Examples:1-Using same registers in only one element 45 sp0 l0 sp25 32 sp0 l0 (>LVar1) l25(>LVar2)LVar1=32 and LVar2=45 1-Using same registers in two-more elements 45 sp0 l0 sp25 32 sp0 l0 (>LVar1) l25(>LVar2)l0 (>LVar3) 64 sp25 l25 (>LVar4)LVar1=32 and LVar2=45 LVar3=32 and LVar4=64 Except when dealing with complex comparisons' code, it would be rare that you'd have to store a value into each one of the 50 registers, normally only two or three are used at the same time.Tom
  6. Jan,I think both are true. It is obvious that typing less is what every programmer wish to do when dealing with large code. In this case, speed gain seems logic as well, because registers have to share with the stack a common memory area, whereas variables may be allocated in reserved zones that are far away (in memory space terms) from the calling pointers. Tom
  7. Hi,""I do not know if using the storage as you do in the second example may limit somehow the number of those storaged values to 48 in the whole gauge instead of just limit to an element.""There's only 50 registers that can be assigned a value in a gauge. Think of them as if they were variables, you can assign and retrieve values almost the same way as you would do when using Vars with the same name (which of course "are" the same vars :-))Tom
  8. Jan,>You can use l0...l49 in the upcoming 's and 's?For the set of yes, but for is a different story.In a gauge only one can be processed per cycle, so registers' visibilty is limited to the stack's space used inside that structure. Rememeber that registers, being a component of the stack, are reset to 0 on each gauge's cycle. Tom
  9. Jan,>Can you use s0 in a new element after using it already inanother element, so each element has its own s0--s50?Registers 0-49 "s/l" are shared by and the entire set of structures in a gauge. It means that you can save a value to a register (s0) in one element and restore it in another (l0), which also implies that the register is overwritten each time is saved (s0).For example 15 s0 15 stored to Register 0 l0 s1 23 s0 15 stored to Register 1 and 23 stored to Register 0One important thing to highlight is that saving with "s" does NOT remove the value from the stack, which has to be done using "sp". Saving with "s" is useful when the value will be used inmediately in the stack, for example (LVar) s0 15 >= . Now. when the saved value will be retrieved further, it is better to save with "sp" as to keep the stack balanced, with no "hidden" data.For Example (LVar) 1 == if{ 15 sp0 }(LVar) 2 == if{ 20 sp0 }l0 (>Lvar)Tom
  10. You can use a single bmp, centered, and then use the axis commands to make it rotate 20 deg to the left and 20 to the right..Soemthing like: (L:Knob position,enum) And in the sections-Left Area(M:Event) 'LeftSingle' scmp 0 ==if{ (L:Knob position,enum) -1 != (>L:dsd_xml_sound_id_05) -1 (>L:Knob position,enum) }(M:Event) 'Leave' scmp 0 ==if{ (L:Knob position,enum) 0 != (>L:dsd_xml_sound_id_06) 0 (>L:Knob position,enum) }-Right Area replace -1 with 1 and that's itHope this works in real as I think it should be :-)Tom
  11. >I think that is all done Jan. I took the Engine starters from>the 747. Took a deep breath and planted the code in my gauge.>To my surprise it works quite well. There seems to be some>kind of a count down going on. G:var1 is initiated at 5 and is>decreased.>I have no idea what's going on exactly but that is the least>of my problems. (-:>>I got what I wanted. Thanks foor the 747 tip.>>Roelof Roelof,When TOGGLE_STARTER_n event is fired once, "A:General Eng_n Starter" Avar has a logic value of 1, which means the starter for Engine_n is ON. After 2 seconds aprox. it returns automatically to 0, meaning now Engine_n starter is OFF. Seems reasonable that to prevent the starter from going to OFF, one should keep firing the event. However, as is well known here, it is not recommendable to keep firing events continually by code because it may interfer with other events, and the sim may hung eventually. So, a fair solution to this is use a counter like MS does in the 747, for example a 5-cycles number, that when reaching 0, autofire the starter event and resets to 5 again. Hope this makes senseTom
  12. Eric,AFAIT it is not possible to stop the autostart once begun until the first engine is running stable (not even with an AUTO SHUTDOWN event). The starting process seems to be hard coded in a different way than the standard set of starter-fuel mixture control events.Tom
  13. Jim,You might try this:(* Mind the next line *) (A:General Eng RPM:1,RPM) s0 1200 >= l0 1300 <= andYou need to replace "<" with the & + amp; in the final codeTom
  14. Scott,I'm still here :-waveJust been "coding-busy"...up to the point of not having time to inspect FSX XML more deeper than the exposed in my thread above.But these times will come up eventually one day. Hope to find some interesting "macro" variants by then :-)Tom
  15. Hi,Regarding XML gauge's structure...Be prepared for a tough migration. There seems to be some radical changes in tag naming and LVAR syntax - they use no units now, like GVars.Examples from CRJ_700 bird: (A:General Eng Generator Active:1,bool) 0 ==(L:Fire_Eng2_Warning)(L:CautionsCleared) etc.Just extracted from a 5 min first look!Tom
  16. >when over the grip a mouse click causes movement in the oblique, >down-rightTO avoid this effect you might put:And insert this snippet: (M:Event) 'Leftsingle' scmp 0 ==if{ 0 (>L:shftX, enum) 0 (>L:shftY, enum) }>the vertical drag does not work correctly...not sure why. it jumps >vertically occasionally but only for an instant then returns to >nuetral.Vertical (Y) should work the same as X . I can't find anything wrong at first sight. Maybe you could test leaving X drag control first, then leaving Y drag control and see what happens.>perhaps rather then shift the bitmap i could use the drag to set a >variable, and choose from 4 bitmaps. forward tilt, rear tilt, etc.Could be a a nice variant...Anyway, you have now a good start point for testing.Good luck!Tom
  17. Ok, you could try this: (L:shftY, enum) (L:shftX, enum) (G:Var2,bool)(L:posX,enum) (L:shftX, enum) 2 / + 25 max 160 min (>L:posX,enum)(L:posY,enum) (L:shftY, enum) 2 / + 25 max 185 min (>L:posY,enum)(M:Event) 'LeftDrag' scmp 0 ==if{ 0 (M:X) sp0 (* Area is 36 px wide, divided in 3 chunks: 0-11 Left move 12-22 neutral 23-35 right move *)l0 >= 0 l0 11 <= if{ -4 } l0 11 > l0 22 <= if{ 0 } l0 22 > l0 35<= if{ 4 } (>L:shftX, enum)0(M:Y) sp0 (* Area is 26 px high, divided in 3 chunks: 0-9 up move 10-16 neutral 17-25 down move *)l0 >=0 l0 9 <= if{ -4 } l0 9 > l0 16 <= if{ 0 } l0 16 > l0 25<= if{ 4 } (>L:shftY, enum)}(M:Event) 'Leave' scmp 0 ==if{ 0 (>L:shftX, enum) 0 (>L:shftY, enum) }(* I left this untouched *)(M:Event) 'LeftSingle' scmp 0 == if{ (L:spoton,enum) ! (>L:spoton,enum) 1 (>G:Var2) }(M:Event) 'Leave' scmp 0 == if{ 0 (>G:Var2) }Please replace offending < and other symbols in the final code.NOT TESTED, but I guess should work (almost) fine :-)Tom
  18. Ridgell,I think I understand what you want to do. Very feasible through mouse drag, but needs a bit of ellaboration.COuld you post a picture of the bitmap that you want to rotate ? (shift in any direction) A portion of its background bmp would be great as well.Tom
  19. Hi,This could be a simple reference: (M:Event) 'LeftDrag' scmp 0 == if{ ...(M:X) gives you the X drag coordinates, starting at 0 in the leftmost point and ending at 100. Outbounds to the left returns a negative value, and to the right a value greater than 100.(M:Y) gives you the Y drag coordinates, starting at 0 in the topmost point and ending at 200. Outbounds from the top returns a negative value, and to the bottom a value greater than 200.Indeed you can drag by both X/Y axis, individual or together.Combinations of "LeftSingle+LeftDrag";"LeftSingle+Drag";"LeftDrag+RightDrag"; etc can be used as well to achieve very complex actions.For example this is a basic Throttle drag:(M:Event) 'LeftDrag' scmp 0 == if{ (M:Y) 134 / 100 * 0 max 100 min 100 - /-/ 163.84 * (>K:THROTTLE1_SET) }Hope this helps. Tom
  20. Kevin,No problem! :-). ADF pointers in EHSI are installed as per operator's request (though I'd like to know who has this feature in use nowadays :-roll ) EHSI Full VOR/ILS mode (rose visible) are optional modes as well. Tom
  21. Gustavo,Ok, you can use this kind of approach:Put this at the beginning of the gauge, before any : (P:Absoulte time,seconds)in ,,(M:Event) 'LeftSingle' scmp 0 == if{ (L:Var1,seconds) 0 == if{ @Time (>L:Var1,seconds) 0 (>L:YOURVARDIMM,bool) } els{ (L:Var1,seconds) 2 + @Time < if{ 1 (>L:YOURVARDIMM,bool) } } } (M:Event) 'LeftRelease' scmp 0 ==if{ 0 (>L:Var1,seconds) 0 (>L:YOURVARDIMM,bool) }In this example, (L:YOURVARDIMM,bool) var will control the dimming status (0=off/1=on).If you need the dimming to remain ON when releasing the button AFTER a 2 seconds continious push, then remove the 0 (>L:YOURVARDIMM,bool) code within the 'LeftRelease' structure.You'll have to figure out how to insert the code for the other two pages in the snippet above :-) Hope this makes sense to you.TomPS: Please check for proper closing structures and replace "<" symbols with "& lt;" (without spaces) . Code is not tested.
  22. Gustavo,Some extra info would be great. For instance, does the condition need to remain active after releasing the button passing the 2 seconds, or it should reset (dissapear)? Do you know how to deal with events, (M:Event) structures, etc in XML code?Tom
  23. Hi,In the 757,ADF needles displayed on HSI are optional.Tom
  24. Patrick,This AVar (A:Old eng1 starter,enum) used in the Baron supports values from 0 to 4; 4 is momentary and quickly goes back to 3 as described above in this thread. Now, a Jet Starter is monitored by another AVar, (A:General Eng1 Starter, bool) that returns 1 momentary, then back to 0.Maybe you are monitoring the C equivalent of this last one?Tom
×
×
  • Create New...