Advertisement
space_is_hard

LIB_CMLSeng

Apr 16th, 2015
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.81 KB | None | 0 0
  1. //=====CMLS Engine Library=====
  2. //~~LIB_CMLSeng~~
  3. //~~Version 0.1a~~
  4.  
  5. @LAZYGLOBAL OFF.
  6.  
  7. DECLARE FUNCTION  CMLSeng_Tag {
  8.  
  9.     GLOBAL S1Alpha TO LIST().       //First stage engine 1
  10.     GLOBAL S1Bravo TO LIST().       //First stage engines 2,3
  11.     GLOBAL S1Charlie TO LIST().     //First stage engines 4,5,6,7
  12.     GLOBAL S1All TO LIST().     //First stage all engines
  13.  
  14.     GLOBAL S2Alpha TO LIST().       //Second stage engine 1
  15.  
  16.     GLOBAL LBAlpha TO LIST().       //Left booster engine 1
  17.     GLOBAL LBBravo TO LIST().       //Left booster engine 2,3
  18.     GLOBAL LBCharlie TO LIST().     //Left booster engine 4,5,6,7
  19.     GLOBAL LBAll TO LIST().     //Left booster all engines
  20.     GLOBAL RBAlpha TO LIST().       //Right booster engine 1
  21.     GLOBAL RBBravo TO LIST().       //Right booster engine 2,3
  22.     GLOBAL RBCharlie TO LIST().     //Right booster engine 4,5,6,7
  23.     GLOBAL RBAll TO LIST().     //Right booster all engines
  24.  
  25.     GLOBAL engAll TO LIST().        //All first stage and side booster engines
  26.    
  27.     LOCAL engineList.
  28.     LIST ENGINES IN engineList.
  29.  
  30.     FOR eng IN engineList {     //Loop to assign engines to all engine lists
  31.         IF eng:TAG = "S1Alpha" {        //First stage engine 1
  32.             S1Alpha:ADD(eng).
  33.             S1All:ADD(eng).
  34.             engAll:ADD(eng).
  35.  
  36.         } ELSE IF eng:TAG = "S1Bravo" {     //First stage engine 2,3
  37.             S1Bravo:ADD(eng).
  38.             S1All:ADD(eng).
  39.             engAll:ADD(eng).
  40.  
  41.         } ELSE IF eng:TAG = "S1Charlie" {       //First stage engine 4,5,6,7
  42.             S1Charlie:ADD(eng).
  43.             S1All:ADD(eng).
  44.             engAll:ADD(eng).
  45.  
  46.         } ELSE IF eng:TAG = "S2Alpha" {     //Second stage engine 1
  47.             S2Alpha:ADD(eng).
  48.  
  49.         } ELSE IF eng:TAG = "LBAlpha" {     //Left booster engine 1
  50.             LBAlpha:ADD(eng).
  51.             LBAll:ADD(eng).
  52.             engAll:ADD(eng).
  53.  
  54.         } ELSE IF eng:TAG = "LBBravo" {     //Left booster engine 2,3
  55.             LBBravo:ADD(eng).
  56.             LBAll:ADD(eng).
  57.             engAll:ADD(eng).
  58.  
  59.         } ELSE IF eng:TAG = "LBCharlie" {       //Left booster engine 4,5,6,7
  60.             LBCharlie:ADD(eng).
  61.             LBAll:ADD(eng).
  62.             engAll:ADD(eng).
  63.  
  64.         } ELSE IF eng:TAG = "RBAlpha" {     //Right booster engine 1
  65.             RBAlpha:ADD(eng).
  66.             LBAll:ADD(eng).
  67.             engAll:ADD(eng).
  68.  
  69.         } ELSE IF eng:TAG = "RBBravo" {     //Right booster engine 2,3
  70.             RBBravo:ADD(eng).
  71.             LBAll:ADD(eng).
  72.             engAll:ADD(eng).
  73.  
  74.         } ELSE IF eng:TAG = "RBCharlie" {       //Right booster engine 4,5,6,7
  75.             RBCharlie:ADD(eng).
  76.             LBAll:ADD(eng).
  77.             engAll:ADD(eng).
  78.  
  79.         }. //IF-ELSE eng   
  80.     }. //FOR engineList
  81. }. //FUNCTION CMLSeng_Tag
  82.  
  83. DECLARE FUNCTION CMLSeng_Ignite {
  84.     PARAMETER engGroup.
  85.     LOCAL eng.
  86.    
  87.     FOR eng IN engGroup {
  88.         eng:ACTIVATE().
  89.     }. //FOR   
  90. }. //FUNCTION CMLSeng_Ignite
  91.  
  92. DECLARE FUNCTION CMLSeng_Shutdown {
  93.     PARAMETER engGroup.
  94.     LOCAL eng.
  95.    
  96.     FOR eng IN engGroup {
  97.         eng:SHUTDOWN().
  98.     }. //FOR   
  99. }. //FUNCTION CMLSeng_Ignite
  100.    
  101. DECLARE FUNCTION CMLSeng_Limit {
  102.     PARAMETER
  103.         engGroup,
  104.         engLimit.
  105.     LOCAL eng.
  106.    
  107.     FOR eng IN engGroup {
  108.         SET eng:THRUSTLIMIT TO engLimit.
  109.     }//FOR
  110. }. //FUNCTION CMLSeng_Limit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement