Skip to content
View in the app

A better way to browse. Learn more.

The AVSIM Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Rotating Scenery Objects

Featured Replies

Hi,I am posting a SCASM macro, called RotatedCall64, which continuously rotates an object. The macro can be used inside another macro. In the following example I use the macro to rotate a beam of light:Area() PerpectiveCall( :call ) ShadowCall( :call ) Jump( : ):call RefPoint( :return ... ) macro( RotatedCall64 :beam 0 0 0 0 0 1 4 ):return Return:beam Transform_Mat( a ... ) Light( m 5 0 0 0 40 0.6 0.4 FF 255 255 255 1 1 1 ) TransformEnd ReturnEndAI hope this is useful. See the comments on the file RotatedCall64 for further information.Kind Regards, Luis; Macro to rotate an object with a period between 1 and 4 seconds.; Rotation is made of 64 frames during 4 seconds; A "pseudo" period of 1 second will consist on 4 rotations; CALLING PARAMETERS:; %1 label of object to rotate; %2 delta_X offset of center of rotation; %3 delta_Z offset of center of rotation; %4 delta_Y offset of center of rotation; %5 axis_X rotation : 1 clockwise 0 none -1 anticlockwise; %6 axis_Y rotation : 1 clockwise 0 none -1 anticlockwise ; %7 axis_Z rotation : 1 clockwise 0 none -1 anticlockwise; %8 period in seconds; evaluate the angle increment for each frameUvar( $d %8 )mif( [ %8 > 4 ] )Uvar( $d 4 )mifendmif( [ %8 < 1 ] )Uvar( $d 1 )mifend Uvar( $d [ 22.5 / $d ] )Call( :this@ )Jump( :next@ ):this@ IfVarAnd( :frame00_07@ 5FC 0b000000111000 )IfVarAnd( :frame08_15@ 5FC 0b000000110000 )IfVarAnd( :frame16_23@ 5FC 0b000000101000 )IfVarAnd( :frame24_31@ 5FC 0b000000100000 )IfVarAnd( :frame32_39@ 5FC 0b000000011000 )IfVarAnd( :frame40_47@ 5FC 0b000000010000 )IfVarAnd( :frame48_55@ 5FC 0b000000001000 )Jump( :frame56_63@ ):frame00_07@IfVarAnd( :frame00@ 5FC 0007 )IfVarAnd( :frame01@ 5FC 0006 )IfVarAnd( :frame02@ 5FC 0005 )IfVarAnd( :frame03@ 5FC 0004 )IfVarAnd( :frame04@ 5FC 0003 )IfVarAnd( :frame05@ 5FC 0002 )IfVarAnd( :frame06@ 5FC 0001 )Jump( :frame07@ ):frame08_15@IfVarAnd( :frame08@ 5FC 0007 )IfVarAnd( :frame09@ 5FC 0006 )IfVarAnd( :frame10@ 5FC 0005 )IfVarAnd( :frame11@ 5FC 0004 )IfVarAnd( :frame12@ 5FC 0003 )IfVarAnd( :frame13@ 5FC 0002 )IfVarAnd( :frame14@ 5FC 0001 )Jump( :frame15@ ):frame16_23@IfVarAnd( :frame16@ 5FC 0007 )IfVarAnd( :frame17@ 5FC 0006 )IfVarAnd( :frame18@ 5FC 0005 )IfVarAnd( :frame19@ 5FC 0004 )IfVarAnd( :frame20@ 5FC 0003 )IfVarAnd( :frame21@ 5FC 0002 )IfVarAnd( :frame22@ 5FC 0001 )Jump( :frame23@ ):frame24_31@IfVarAnd( :frame24@ 5FC 0007 )IfVarAnd( :frame25@ 5FC 0006 )IfVarAnd( :frame26@ 5FC 0005 )IfVarAnd( :frame27@ 5FC 0004 )IfVarAnd( :frame28@ 5FC 0003 )IfVarAnd( :frame29@ 5FC 0002 )IfVarAnd( :frame30@ 5FC 0001 )Jump( :frame31@ ):frame32_39@IfVarAnd( :frame32@ 5FC 0007 )IfVarAnd( :frame33@ 5FC 0006 )IfVarAnd( :frame34@ 5FC 0005 )IfVarAnd( :frame35@ 5FC 0004 )IfVarAnd( :frame36@ 5FC 0003 )IfVarAnd( :frame37@ 5FC 0002 )IfVarAnd( :frame38@ 5FC 0001 )Jump( :frame39@ ):frame40_47@IfVarAnd( :frame40@ 5FC 0007 )IfVarAnd( :frame41@ 5FC 0006 )IfVarAnd( :frame42@ 5FC 0005 )IfVarAnd( :frame43@ 5FC 0004 )IfVarAnd( :frame44@ 5FC 0003 )IfVarAnd( :frame45@ 5FC 0002 )IfVarAnd( :frame46@ 5FC 0001 )Jump( :frame47@ ):frame48_55@IfVarAnd( :frame48@ 5FC 0007 )IfVarAnd( :frame49@ 5FC 0006 )IfVarAnd( :frame50@ 5FC 0005 )IfVarAnd( :frame51@ 5FC 0004 )IfVarAnd( :frame52@ 5FC 0003 )IfVarAnd( :frame53@ 5FC 0002 )IfVarAnd( :frame54@ 5FC 0001 )Jump( :frame55@ ):frame56_63@IfVarAnd( :frame56@ 5FC 0007 )IfVarAnd( :frame57@ 5FC 0006 )IfVarAnd( :frame58@ 5FC 0005 )IfVarAnd( :frame59@ 5FC 0004 )IfVarAnd( :frame60@ 5FC 0003 )IfVarAnd( :frame61@ 5FC 0002 )IfVarAnd( :frame62@ 5FC 0001 )Jump( :frame63@ ):frame00@TransformCall( %1 [%2] [%3] [%4] [00 * $d * %5] 0 [00 * $d * %6] 0 [00 * $d * %7] 0 )Return:frame01@TransformCall( %1 [%2] [%3] [%4] [01 * $d * %5] 0 [01 * $d * %6] 0 [01 * $d * %7] 0 )Return:frame02@TransformCall( %1 [%2] [%3] [%4] [02 * $d * %5] 0 [02 * $d * %6] 0 [02 * $d * %7] 0 )Return:frame03@TransformCall( %1 [%2] [%3] [%4] [03 * $d * %5] 0 [03 * $d * %6] 0 [03 * $d * %7] 0 )Return:frame04@TransformCall( %1 [%2] [%3] [%4] [04 * $d * %5] 0 [04 * $d * %6] 0 [04 * $d * %7] 0 )Return:frame05@TransformCall( %1 [%2] [%3] [%4] [05 * $d * %5] 0 [05 * $d * %6] 0 [05 * $d * %7] 0 )Return:frame06@TransformCall( %1 [%2] [%3] [%4] [06 * $d * %5] 0 [06 * $d * %6] 0 [06 * $d * %7] 0 )Return:frame07@TransformCall( %1 [%2] [%3] [%4] [07 * $d * %5] 0 [07 * $d * %6] 0 [07 * $d * %7] 0 )Return:frame08@TransformCall( %1 [%2] [%3] [%4] [08 * $d * %5] 0 [08 * $d * %6] 0 [08 * $d * %7] 0 )Return:frame09@TransformCall( %1 [%2] [%3] [%4] [09 * $d * %5] 0 [09 * $d * %6] 0 [09 * $d * %7] 0 )Return:frame10@TransformCall( %1 [%2] [%3] [%4] [10 * $d * %5] 0 [10 * $d * %6] 0 [10 * $d * %7] 0 )Return:frame11@TransformCall( %1 [%2] [%3] [%4] [11 * $d * %5] 0 [11 * $d * %6] 0 [11 * $d * %7] 0 )Return:frame12@TransformCall( %1 [%2] [%3] [%4] [12 * $d * %5] 0 [12 * $d * %6] 0 [12 * $d * %7] 0 )Return:frame13@TransformCall( %1 [%2] [%3] [%4] [13 * $d * %5] 0 [13 * $d * %6] 0 [13 * $d * %7] 0 )Return:frame14@TransformCall( %1 [%2] [%3] [%4] [14 * $d * %5] 0 [14 * $d * %6] 0 [14 * $d * %7] 0 )Return:frame15@TransformCall( %1 [%2] [%3] [%4] [15 * $d * %5] 0 [15 * $d * %6] 0 [15 * $d * %7] 0 )Return:frame16@TransformCall( %1 [%2] [%3] [%4] [16 * $d * %5] 0 [16 * $d * %6] 0 [16 * $d * %7] 0 )Return:frame17@TransformCall( %1 [%2] [%3] [%4] [17 * $d * %5] 0 [17 * $d * %6] 0 [17 * $d * %7] 0 )Return:frame18@TransformCall( %1 [%2] [%3] [%4] [18 * $d * %5] 0 [18 * $d * %6] 0 [18 * $d * %7] 0 )Return:frame19@TransformCall( %1 [%2] [%3] [%4] [19 * $d * %5] 0 [19 * $d * %6] 0 [19 * $d * %7] 0 )Return:frame20@TransformCall( %1 [%2] [%3] [%4] [20 * $d * %5] 0 [20 * $d * %6] 0 [20 * $d * %7] 0 )Return:frame21@TransformCall( %1 [%2] [%3] [%4] [21 * $d * %5] 0 [21 * $d * %6] 0 [21 * $d * %7] 0 )Return:frame22@TransformCall( %1 [%2] [%3] [%4] [22 * $d * %5] 0 [22 * $d * %6] 0 [22 * $d * %7] 0 )Return:frame23@TransformCall( %1 [%2] [%3] [%4] [23 * $d * %5] 0 [23 * $d * %6] 0 [23 * $d * %7] 0 )Return:frame24@TransformCall( %1 [%2] [%3] [%4] [24 * $d * %5] 0 [24 * $d * %6] 0 [24 * $d * %7] 0 )Return:frame25@TransformCall( %1 [%2] [%3] [%4] [25 * $d * %5] 0 [25 * $d * %6] 0 [25 * $d * %7] 0 )Return:frame26@TransformCall( %1 [%2] [%3] [%4] [26 * $d * %5] 0 [26 * $d * %6] 0 [26 * $d * %7] 0 )Return:frame27@TransformCall( %1 [%2] [%3] [%4] [27 * $d * %5] 0 [27 * $d * %6] 0 [27 * $d * %7] 0 )Return:frame28@TransformCall( %1 [%2] [%3] [%4] [28 * $d * %5] 0 [28 * $d * %6] 0 [28 * $d * %7] 0 )Return:frame29@TransformCall( %1 [%2] [%3] [%4] [29 * $d * %5] 0 [29 * $d * %6] 0 [29 * $d * %7] 0 )Return:frame30@TransformCall( %1 [%2] [%3] [%4] [30 * $d * %5] 0 [30 * $d * %6] 0 [30 * $d * %7] 0 )Return:frame31@TransformCall( %1 [%2] [%3] [%4] [31 * $d * %5] 0 [31 * $d * %6] 0 [31 * $d * %7] 0 )Return:frame32@TransformCall( %1 [%2] [%3] [%4] [32 * $d * %5] 0 [32 * $d * %6] 0 [32 * $d * %7] 0 )Return:frame33@TransformCall( %1 [%2] [%3] [%4] [33 * $d * %5] 0 [33 * $d * %6] 0 [33 * $d * %7] 0 )Return:frame34@TransformCall( %1 [%2] [%3] [%4] [34 * $d * %5] 0 [34 * $d * %6] 0 [34 * $d * %7] 0 )Return:frame35@TransformCall( %1 [%2] [%3] [%4] [35 * $d * %5] 0 [35 * $d * %6] 0 [35 * $d * %7] 0 )Return:frame36@TransformCall( %1 [%2] [%3] [%4] [36 * $d * %5] 0 [36 * $d * %6] 0 [36 * $d * %7] 0 )Return:frame37@TransformCall( %1 [%2] [%3] [%4] [37 * $d * %5] 0 [37 * $d * %6] 0 [37 * $d * %7] 0 )Return:frame38@TransformCall( %1 [%2] [%3] [%4] [38 * $d * %5] 0 [38 * $d * %6] 0 [38 * $d * %7] 0 )Return:frame39@TransformCall( %1 [%2] [%3] [%4] [39 * $d * %5] 0 [39 * $d * %6] 0 [39 * $d * %7] 0 )Return:frame40@TransformCall( %1 [%2] [%3] [%4] [40 * $d * %5] 0 [40 * $d * %6] 0 [40 * $d * %7] 0 )Return:frame41@TransformCall( %1 [%2] [%3] [%4] [41 * $d * %5] 0 [41 * $d * %6] 0 [41 * $d * %7] 0 )Return:frame42@TransformCall( %1 [%2] [%3] [%4] [42 * $d * %5] 0 [42 * $d * %6] 0 [42 * $d * %7] 0 )Return:frame43@TransformCall( %1 [%2] [%3] [%4] [43 * $d * %5] 0 [43 * $d * %6] 0 [43 * $d * %7] 0 )Return:frame44@TransformCall( %1 [%2] [%3] [%4] [44 * $d * %5] 0 [44 * $d * %6] 0 [44 * $d * %7] 0 )Return:frame45@TransformCall( %1 [%2] [%3] [%4] [45 * $d * %5] 0 [45 * $d * %6] 0 [45 * $d * %7] 0 )Return:frame46@TransformCall( %1 [%2] [%3] [%4] [46 * $d * %5] 0 [46 * $d * %6] 0 [46 * $d * %7] 0 )Return:frame47@TransformCall( %1 [%2] [%3] [%4] [47 * $d * %5] 0 [47 * $d * %6] 0 [47 * $d * %7] 0 )Return:frame48@TransformCall( %1 [%2] [%3] [%4] [48 * $d * %5] 0 [48 * $d * %6] 0 [48 * $d * %7] 0 )Return:frame49@TransformCall( %1 [%2] [%3] [%4] [49 * $d * %5] 0 [49 * $d * %6] 0 [49 * $d * %7] 0 )Return:frame50@TransformCall( %1 [%2] [%3] [%4] [50 * $d * %5] 0 [50 * $d * %6] 0 [50 * $d * %7] 0 )Return:frame51@TransformCall( %1 [%2] [%3] [%4] [51 * $d * %5] 0 [51 * $d * %6] 0 [51 * $d * %7] 0 )Return:frame52@TransformCall( %1 [%2] [%3] [%4] [52 * $d * %5] 0 [52 * $d * %6] 0 [52 * $d * %7] 0 )Return:frame53@TransformCall( %1 [%2] [%3] [%4] [53 * $d * %5] 0 [53 * $d * %6] 0 [53 * $d * %7] 0 )Return:frame54@TransformCall( %1 [%2] [%3] [%4] [54 * $d * %5] 0 [54 * $d * %6] 0 [54 * $d * %7] 0 )Return:frame55@TransformCall( %1 [%2] [%3] [%4] [55 * $d * %5] 0 [55 * $d * %6] 0 [55 * $d * %7] 0 )Return:frame56@TransformCall( %1 [%2] [%3] [%4] [56 * $d * %5] 0 [56 * $d * %6] 0 [56 * $d * %7] 0 )Return:frame57@TransformCall( %1 [%2] [%3] [%4] [57 * $d * %5] 0 [57 * $d * %6] 0 [57 * $d * %7] 0 )Return:frame58@TransformCall( %1 [%2] [%3] [%4] [58 * $d * %5] 0 [58 * $d * %6] 0 [58 * $d * %7] 0 )Return:frame59@TransformCall( %1 [%2] [%3] [%4] [59 * $d * %5] 0 [59 * $d * %6] 0 [59 * $d * %7] 0 )Return:frame60@TransformCall( %1 [%2] [%3] [%4] [60 * $d * %5] 0 [60 * $d * %6] 0 [60 * $d * %7] 0 )Return:frame61@TransformCall( %1 [%2] [%3] [%4] [61 * $d * %5] 0 [61 * $d * %6] 0 [61 * $d * %7] 0 )Return:frame62@TransformCall( %1 [%2] [%3] [%4] [62 * $d * %5] 0 [62 * $d * %6] 0 [62 * $d * %7] 0 )Return:frame63@TransformCall( %1 [%2] [%3] [%4] [63 * $d * %5] 0 [63 * $d * %6] 0 [63 * $d * %7] 0 )Return:next@

Hi Luis';'Haven't had a chance to try it yet but Thanks for sharing your macro's code.'Regards;J.R.

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.