Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Dec 20, 2007, 4:10:08 PM (16 years ago)
Author:
nicolasc
Message:
  • a lot of inlining of getfunctions
  • set libaudio to shared (not sure, if related: audioplayer + ingame sound == crash!)
  • minor space cleanups
File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/FICN/src/orxonox/hud/HUD.cc

    r618 r659  
    99
    1010namespace hud {
    11         HUD::HUD( void ) {
     11  HUD::HUD( void ) {
    1212
    13                 init();
     13    init();
    1414
    15                 setTime(99,55);
     15    setTime(99,55);
    1616
    17                 setTargetWindowName("HURRA");
    18                 setTargetWindowDistance(12);
    19                 setTargetWindowStatus("Dead");
    20                 setTargetWindowDistance(30);
     17    setTargetWindowName("HURRA");
     18    setTargetWindowDistance(12);
     19    setTargetWindowStatus("Dead");
     20    setTargetWindowDistance(30);
    2121
    22                 setEnergyValue(60.0);
     22    setEnergyValue(60.0);
    2323
    24                 setShieldLeftTopValue(true);
    25                 setShieldRightTopValue(false);
    26                 setShieldLeftBottomValue(false);
    27                 setShieldRightBottomValue(true);
     24    setShieldLeftTopValue(true);
     25    setShieldRightTopValue(false);
     26    setShieldLeftBottomValue(false);
     27    setShieldRightBottomValue(true);
    2828
    29                 setRocket1(11);
    30                 setRocket2(22);
    31                 setRocket3(33);
    32                 setRocket4(44);
     29    setRocket1(11);
     30    setRocket2(22);
     31    setRocket3(33);
     32    setRocket4(44);
    3333
    34                 setEnergyDistr(33,33,34);
     34    setEnergyDistr(33,33,34);
    3535
    36                 setPrimar(3);
     36    setPrimar(3);
     37
     38    energyDistrPixelX_ = 100;
     39    energyDistrPixelY_ = 86;
     40
     41  }
     42
     43
     44  HUD::~HUD( void ){
     45
     46  }
     47
     48  void HUD::setTime(int i, int j){
     49    timeMin_=i;
     50    timeSec_=j;
     51    timeText_->setCaption(StringConverter::toString(timeMin_) + ":" + StringConverter::toString(timeSec_));
     52  }
     53
     54  void HUD::setTargetWindowName(String i){
     55    targetWindowName_=i;
     56    targetWindowNameText_->setCaption( targetWindowName_ );
     57  }
     58
     59  void HUD::setTargetWindowStatus(String i){
     60    targetWindowStatus_=i;
     61    targetWindowStatusText_->setCaption( targetWindowStatus_ );
     62  }
     63
     64  void HUD::setTargetWindowDistance(int i){
     65    targetWindowDistance_=i;
     66    targetWindowDistanceText_->setCaption(StringConverter::toString(targetWindowDistance_) + "km" );
     67  }
     68
     69  void HUD::setTargetWindowHitRating(int i){
     70    targetWindowHitRating_=i;
     71    targetWindowHitRatingText_->setCaption(StringConverter::toString(targetWindowHitRating_) + "%" );
     72  }
     73
     74  void HUD::setEnergyValue(int i){
     75    energyValue_=i;
     76    energyLength_->setWidth((int)((float)energyValue_/(float)100*200));
     77  }
     78
     79  void HUD::setShieldLeftTopValue(bool i){
     80    shieldLeftTopValue_=i;
     81    if (shieldLeftTopValue_) shieldLeftTop_->show();
     82    else shieldLeftTop_->hide();
     83  }
     84
     85  void HUD::setShieldRightTopValue(bool i){
     86    shieldRightTopValue_=i;
     87    if (shieldRightTopValue_) shieldRightTop_->show();
     88    else shieldRightTop_->hide();
     89  }
     90
     91  void HUD::setShieldLeftBottomValue(bool i){
     92    shieldLeftBottomValue_=i;
     93    if (shieldLeftBottomValue_) shieldLeftBottom_->show();
     94    else shieldLeftBottom_->hide();
     95  }
     96
     97  void HUD::setShieldRightBottomValue(bool i){
     98    shieldRightBottomValue_=i;
     99    if (shieldRightBottomValue_) shieldRightBottom_->show();
     100    else shieldRightBottom_->hide();
     101  }
     102
     103  void HUD::setRocket1(int i){
     104    rocket1_=i;
     105    rocketNum1_->setCaption(StringConverter::toString(rocket1_));
     106  }
     107
     108  void HUD::setRocket2(int i){
     109    rocket2_=i;
     110    rocketNum2_->setCaption(StringConverter::toString(rocket2_));
     111  }
     112
     113  void HUD::setRocket3(int i){
     114    rocket3_=i;
     115    rocketNum3_->setCaption(StringConverter::toString(rocket3_));
     116  }
     117
     118  void HUD::setRocket4(int i){
     119    rocket4_=i;
     120    rocketNum4_->setCaption(StringConverter::toString(rocket4_));
     121  }
     122
     123  void HUD::setEnergyDistr(float s, float e, float l){
     124    energyDistrShield_=s;
     125    energyDistrEngine_=e;
     126    energyDistrLaser_=l;
     127
     128    float energyDistrShieldInv_ = 100 - energyDistrShield_;
     129    float energyDistrEngineInv_ = 100 - energyDistrEngine_;
     130    float energyDistrLaserInv_ = 100 - energyDistrLaser_;
     131
     132    float energyDistrT_ = -energyDistrPixelX_/((energyDistrPixelX_-energyDistrPixelX_/2*energyDistrShieldInv_/(energyDistrShieldInv_+energyDistrEngineInv_))*energyDistrLaserInv_*(energyDistrShieldInv_+energyDistrEngineInv_)/energyDistrShieldInv_/(energyDistrLaserInv_+energyDistrEngineInv_)+energyDistrPixelX_/2+energyDistrPixelX_/2*energyDistrEngineInv_/(energyDistrEngineInv_+energyDistrLaserInv_));
     133    float energyDistrX_ = (-energyDistrPixelX_/2-energyDistrPixelX_/2*energyDistrEngineInv_/(energyDistrEngineInv_+energyDistrLaserInv_))*energyDistrT_;
     134    float energyDistrY_ = energyDistrPixelY_+energyDistrPixelY_*energyDistrLaserInv_/(energyDistrLaserInv_+energyDistrEngineInv_)*energyDistrT_;
     135
     136    energyDistrPoint_->setLeft((int)energyDistrX_-3);
     137    energyDistrPoint_->setTop((int)energyDistrY_-3);
     138
     139  }
     140
     141  void HUD::setPrimar(int i){
     142    primarValue_=i;
     143    if(i==1){
     144      primarChoice_->setLeft(2);
     145      primarChoice_->setWidth(48);
     146    }
     147    if(i==2){
     148      primarChoice_->setLeft(51);
     149      primarChoice_->setWidth(49);
     150    }
     151    else{
     152      primarChoice_->setLeft(101);
     153      primarChoice_->setWidth(48);
     154      }
     155  }
    37156
    38157
    39158
    40                 energyDistrPixelX_ = 100;
    41                 energyDistrPixelY_ = 86;
     159  void HUD::init(void)
     160  {
     161    timeText_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/Time/Text");
    42162
    43         }
     163    targetWindowNameText_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/TargetWindow/Name");
     164    targetWindowDistanceText_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/TargetWindow/DistanceText");
     165    targetWindowStatusText_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/TargetWindow/StatusText");
     166    targetWindowHitRatingText_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/TargetWindow/HitRatingText");
     167
     168    energyLength_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/EnergyBackground");
     169
     170    shieldLeftTop_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/shieldLeftTop");
     171    shieldRightTop_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/shieldRightTop");
     172    shieldLeftBottom_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/shieldLeftBottom");
     173    shieldRightBottom_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/shieldRightBottom");
     174
     175    rocketNum1_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/RocketNum1");
     176    rocketNum2_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/RocketNum2");
     177    rocketNum3_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/RocketNum3");
     178    rocketNum4_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/RocketNum4");
     179
     180    float energyDistrPixelX_ = 100;
     181    float energyDistrPixelY_ = 86;
     182    energyDistrPoint_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/EnergyDistrPoint");
     183
     184    primarChoice_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/PrimarChoice");
    44185
    45186
    46         HUD::~HUD( void ){
    47 
    48         }
    49 
    50         void HUD::setTime(int i, int j){
    51                 timeMin_=i;
    52                 timeSec_=j;
    53                 timeText_->setCaption(StringConverter::toString(timeMin_) + ":" + StringConverter::toString(timeSec_));
    54 
    55         }
    56         void HUD::setTargetWindowName(String i){
    57                 targetWindowName_=i;
    58                 targetWindowNameText_->setCaption( targetWindowName_ );
    59 
    60         }
    61         void HUD::setTargetWindowStatus(String i){
    62                 targetWindowStatus_=i;
    63                 targetWindowStatusText_->setCaption( targetWindowStatus_ );
    64 
    65         }
    66         void HUD::setTargetWindowDistance(int i){
    67                 targetWindowDistance_=i;
    68                 targetWindowDistanceText_->setCaption(StringConverter::toString(targetWindowDistance_) + "km" );
    69 
    70         }
    71         void HUD::setTargetWindowHitRating(int i){
    72                 targetWindowHitRating_=i;
    73                 targetWindowHitRatingText_->setCaption(StringConverter::toString(targetWindowHitRating_) + "%" );
    74 
    75         }
    76         void HUD::setEnergyValue(int i){
    77                 energyValue_=i;
    78                 energyLength_->setWidth((int)((double)energyValue_/(double)100*200));
    79         }
    80         void HUD::setShieldLeftTopValue(bool i){
    81                 shieldLeftTopValue_=i;
    82                 if (shieldLeftTopValue_) shieldLeftTop_->show();
    83                 else shieldLeftTop_->hide();
    84         }
    85         void HUD::setShieldRightTopValue(bool i){
    86                 shieldRightTopValue_=i;
    87                 if (shieldRightTopValue_) shieldRightTop_->show();
    88                 else shieldRightTop_->hide();
    89         }
    90         void HUD::setShieldLeftBottomValue(bool i){
    91                 shieldLeftBottomValue_=i;
    92                 if (shieldLeftBottomValue_) shieldLeftBottom_->show();
    93                 else shieldLeftBottom_->hide();
    94         }
    95         void HUD::setShieldRightBottomValue(bool i){
    96                 shieldRightBottomValue_=i;
    97                 if (shieldRightBottomValue_) shieldRightBottom_->show();
    98                 else shieldRightBottom_->hide();
    99         }
    100         void HUD::setRocket1(int i){
    101                 rocket1_=i;
    102                 rocketNum1_->setCaption(StringConverter::toString(rocket1_));
    103         }
    104         void HUD::setRocket2(int i){
    105                 rocket2_=i;
    106                 rocketNum2_->setCaption(StringConverter::toString(rocket2_));
    107         }
    108         void HUD::setRocket3(int i){
    109                 rocket3_=i;
    110                 rocketNum3_->setCaption(StringConverter::toString(rocket3_));
    111         }
    112         void HUD::setRocket4(int i){
    113                 rocket4_=i;
    114                 rocketNum4_->setCaption(StringConverter::toString(rocket4_));
    115         }
    116         void HUD::setEnergyDistr(double s, double e, double l){
    117                 energyDistrShield_=s;
    118                 energyDistrEngine_=e;
    119                 energyDistrLaser_=l;
    120 
    121                 double energyDistrShieldInv_ = 100 - energyDistrShield_;
    122                 double energyDistrEngineInv_ = 100 - energyDistrEngine_;
    123                 double energyDistrLaserInv_ = 100 - energyDistrLaser_;
    124 
    125                 double energyDistrT_ = -energyDistrPixelX_/((energyDistrPixelX_-energyDistrPixelX_/2*energyDistrShieldInv_/(energyDistrShieldInv_+energyDistrEngineInv_))*energyDistrLaserInv_*(energyDistrShieldInv_+energyDistrEngineInv_)/energyDistrShieldInv_/(energyDistrLaserInv_+energyDistrEngineInv_)+energyDistrPixelX_/2+energyDistrPixelX_/2*energyDistrEngineInv_/(energyDistrEngineInv_+energyDistrLaserInv_));
    126                 double energyDistrX_ = (-energyDistrPixelX_/2-energyDistrPixelX_/2*energyDistrEngineInv_/(energyDistrEngineInv_+energyDistrLaserInv_))*energyDistrT_;
    127                 double energyDistrY_ = energyDistrPixelY_+energyDistrPixelY_*energyDistrLaserInv_/(energyDistrLaserInv_+energyDistrEngineInv_)*energyDistrT_;
    128 
    129                 energyDistrPoint_->setLeft((int)energyDistrX_-3);
    130                 energyDistrPoint_->setTop((int)energyDistrY_-3);
    131 
    132         }
    133 
    134         void HUD::setPrimar(int i){
    135                 primarValue_=i;
    136                 if(i==1){
    137                         primarChoice_->setLeft(2);
    138                         primarChoice_->setWidth(48);
    139                 }
    140                 if(i==2){
    141                         primarChoice_->setLeft(51);
    142                         primarChoice_->setWidth(49);
    143                 }
    144                 else{
    145                         primarChoice_->setLeft(101);
    146                         primarChoice_->setWidth(48);
    147             }
    148         }
    149 
    150 
    151 
    152         void HUD::init(void)
    153         {
    154                 timeText_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/Time/Text");
    155 
    156                 targetWindowNameText_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/TargetWindow/Name");
    157                 targetWindowDistanceText_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/TargetWindow/DistanceText");
    158                 targetWindowStatusText_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/TargetWindow/StatusText");
    159                 targetWindowHitRatingText_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/TargetWindow/HitRatingText");
    160 
    161                 energyLength_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/EnergyBackground");
    162 
    163                 shieldLeftTop_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/shieldLeftTop");
    164                 shieldRightTop_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/shieldRightTop");
    165                 shieldLeftBottom_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/shieldLeftBottom");
    166                 shieldRightBottom_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/shieldRightBottom");
    167 
    168                 rocketNum1_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/RocketNum1");
    169                 rocketNum2_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/RocketNum2");
    170                 rocketNum3_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/RocketNum3");
    171                 rocketNum4_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/RocketNum4");
    172 
    173                 double energyDistrPixelX_ = 100;
    174                 double energyDistrPixelY_ = 86;
    175                 energyDistrPoint_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/EnergyDistrPoint");
    176 
    177                 primarChoice_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/PrimarChoice");
    178 
    179 
    180         }
     187  }
    181188
    182189
Note: See TracChangeset for help on using the changeset viewer.