Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 4830 in orxonox.OLD for orxonox/trunk/src/lib


Ignore:
Timestamp:
Jul 11, 2005, 5:43:37 PM (20 years ago)
Author:
bensch
Message:

orxonox/trunk: implemented aim

Location:
orxonox/trunk/src/lib
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • orxonox/trunk/src/lib/graphics/graphics_engine.cc

    r4817 r4830  
    6767}
    6868
     69/**
     70 * initializes the GraphicsEngine with default settings.
     71 */
    6972int GraphicsEngine::init()
    7073{
    71   this->initVideo(640,480,16);
    72 }
     74  if (this->isInit)
     75    return -1;
     76  this->initVideo(640, 480, 16);
     77  this->isInit = true;
     78}
     79
     80/**
     81 * loads the GraphicsEngine's settings from a given ini-file and section
     82 * @param iniParser the iniParser to load from
     83 * @param section the Section in the ini-file to load from
     84 * @returns nothing usefull
     85 */
     86int GraphicsEngine::initFromIniFile(IniParser* iniParser)
     87{
     88
     89  // looking if we are in fullscreen-mode
     90  const char* fullscreen = iniParser->getVar(CONFIG_NAME_FULLSCREEN, CONFIG_SECTION_VIDEO, "0");
     91  if (strchr(fullscreen, '1'))
     92    this->fullscreenFlag = SDL_FULLSCREEN;
     93
     94
     95
     96  // looking if we are in fullscreen-mode
     97  const char* textures = iniParser->getVar(CONFIG_NAME_TEXTURES, CONFIG_SECTION_VIDEO_ADVANCED, "0");
     98  if (strchr(textures, '1'))
     99    this->texturesEnabled = true;
     100  else
     101    this->texturesEnabled = false;
     102
     103  // searching for a usefull resolution
     104  SubString resolution(iniParser->getVar(CONFIG_NAME_RESOLUTION, CONFIG_SECTION_VIDEO, "640x480"), 'x');
     105  this->initVideo(atoi(resolution.getString(0)), atoi(resolution.getString(1)), 16);
     106}
     107
     108
    73109
    74110/**
     
    123159
    124160/**
    125  * loads the GraphicsEngine's settings from a given ini-file and section
    126  * @param iniParser the iniParser to load from
    127  * @param section the Section in the ini-file to load from
    128  * @returns nothing usefull
    129  */
    130 int GraphicsEngine::initFromIniFile(IniParser* iniParser)
    131 {
    132   // searching for a usefull resolution
    133   SubString resolution(iniParser->getVar(CONFIG_NAME_RESOLUTION, CONFIG_SECTION_VIDEO, "640x480"), 'x');
    134   this->initVideo(atoi(resolution.getString(0)), atoi(resolution.getString(1)), 16);
    135 
    136   // looking if we are in fullscreen-mode
    137   const char* fullscreen = iniParser->getVar(CONFIG_NAME_FULLSCREEN, CONFIG_SECTION_VIDEO, "0");
    138   if (strchr(fullscreen, '1'))
    139     this->setFullscreen(true);
    140 
    141   // looking if we are in fullscreen-mode
    142   const char* textures = iniParser->getVar(CONFIG_NAME_TEXTURES, CONFIG_SECTION_VIDEO_ADVANCED, "0");
    143   if (strchr(textures, '1'))
    144     this->texturesEnabled = true;
    145   else
    146     this->texturesEnabled = false;
    147 
    148 }
    149 
    150 
    151 
    152 /**
    153161 * sets the Window Captions and the Name of the icon.
    154162 * @param windowName The name of the Window
  • orxonox/trunk/src/lib/graphics/importer/model.h

    r4806 r4830  
    2626 * \todo implement this stuff
    2727*/
    28 typedef enum MODEL_TYPE {MODEL_DISPLAY_LIST,
    29                          MODEL_VERTEX_ARRAY};
     28typedef enum MODEL_TYPE {
     29  MODEL_DISPLAY_LIST,
     30  MODEL_VERTEX_ARRAY
     31};
    3032
    3133
     
    3638
    3739//! an enumerator for VERTEX_FORMAT
    38 typedef enum VERTEX_FORMAT { VERTEX_ONLY = VERTEX,
    39                              VERTEX_NORMAL = NORMAL,
    40                              VERTEX_TEXCOORD = TEXCOORD,
    41                              VERTEX_TEXCOORD_NORMAL = NORMAL | TEXCOORD };
     40typedef enum VERTEX_FORMAT {
     41  VERTEX_ONLY = VERTEX,
     42  VERTEX_NORMAL = NORMAL,
     43  VERTEX_TEXCOORD = TEXCOORD,
     44  VERTEX_TEXCOORD_NORMAL = NORMAL | TEXCOORD
     45};
    4246
    4347////////////////////
  • orxonox/trunk/src/lib/graphics/text_engine.cc

    r4746 r4830  
    254254      glTranslatef(pos.x, pos.y, 0);
    255255
    256       char* tmpText = this->text;
     256      const char* tmpText = this->text;
    257257      while (*tmpText != '\0')
    258258        {
     
    921921  // drawing all the texts
    922922  tIterator<Text>* textIterator = textList->getIterator();
    923   Text* text = textIterator->nextElement();
    924   while( text != NULL)
    925     {
    926       text->draw();
    927       text = textIterator->nextElement();
     923  Text* drawText = textIterator->nextElement();
     924  while( drawText != NULL)
     925    {
     926      drawText->draw();
     927      drawText = textIterator->nextElement();
    928928    }
    929929  delete textIterator;
  • orxonox/trunk/src/lib/gui/gui_exec.cc

    r4746 r4830  
    1 /* 
     1/*
    22   orxonox - the future of 3D-vertical-scrollers
    33
     
    1616   You should have received a copy of the GNU General Public License
    1717   along with this program; if not, write to the Free Software Foundation,
    18    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 
     18   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
    1919
    2020
     
    3838HashTable* orxonoxFlagHash;
    3939
    40 /** 
     40/**
    4141    \brief Creates the Exec-Frame
    4242*/
     
    5959      CheckButton* alwaysShow;     //!< A CheckButton, for if orxonox should start with or without gui.
    6060      Button* quit;                //!< A Button to quit the Gui without starting orxonox.
    61      
     61
    6262      start = new Button("Start");
    6363#ifdef HAVE_GTK2
     
    7373      verboseMode = new Menu(CONFIG_NAME_VERBOSE_MODE, "nothing",
    7474#if DEBUG >=1
    75                              "error",
     75                             "error",
    7676#endif
    7777#if DEBUG >=2
    78                              "warning",
     78                             "warning",
    7979#endif
    8080#if DEBUG >=3
    81                              "info",
     81                             "info",
    8282#endif
    8383#if DEBUG >=4
    84                              "debug",
     84                             "debug",
    8585#endif
    8686#if DEBUG >=5
    87                              "heavydebug",
    88 #endif
    89                              "lastItem");
     87                             "heavydebug",
     88#endif
     89                             "lastItem");
    9090      verboseMode->setFlagName("verbose", "v", 2);
    9191      verboseMode->setDescription("Sets the Output Mode", "This Enables Outbug messages\n"
    92                                   "0: nothing will be displayed, but stuff one cannot do without (eg.GUI)\n"
     92                                  "0: nothing will be displayed, but stuff one cannot do without (eg.GUI)\n"
    9393#if DEBUG >=1
    94                                   "1: error: outputs all the above and errors"
     94                                  "1: error: outputs all the above and errors"
    9595#endif
    9696#if DEBUG >=2
    97                                   "2: warning: outputs all the above plus warnings"
     97                                  "2: warning: outputs all the above plus warnings"
    9898#endif
    9999#if DEBUG >=3
    100                                   "3: info: outputs all the above plus Information"
     100                                  "3: info: outputs all the above plus Information"
    101101#endif
    102102#if DEBUG >=4
    103                                   "4: debug: displays all the above plus debug information"
     103                                  "4: debug: displays all the above plus debug information"
    104104#endif
    105105#if DEBUG >=5
    106                                   "5: heavydebug: displays all the above plus heavy debug information: WARNING: the game will run very slow with this."
    107 #endif
    108                                   );
     106                                  "5: heavydebug: displays all the above plus heavy debug information: WARNING: the game will run very slow with this."
     107#endif
     108                                  );
    109109      verboseMode->saveability();
    110110      execBox->fill(verboseMode);
     
    152152
    153153  PRINTF(5)("Config Directory is: %s.\n", this->confDir);
    154   //! \todo F** Windows-support
     154  //! @todo F** Windows-support
    155155#ifndef __WIN32__
    156156  mkdir(this->confDir, 0755);
     
    192192}
    193193
    194 /** 
     194/**
    195195    \brief Saves the configuration-file to the Disk.\n
    196196    \param widget from which Widget on should be saved.
     
    215215  int counter = 0;
    216216  while(counter < depth &&((widget->optionType > GUI_NOTHING
    217                               &&(static_cast<Option*>(widget)->isSaveable()))
    218                              ||(widget->optionType < GUI_NOTHING
    219                                 && static_cast<Packer*>(widget)->getGroupName())))
     217                              &&(static_cast<Option*>(widget)->isSaveable()))
     218                             ||(widget->optionType < GUI_NOTHING
     219                                && static_cast<Packer*>(widget)->getGroupName())))
    220220    {
    221221      fprintf(this->CONFIG_FILE, "  ", depth);
    222222      counter++;
    223223    }
    224  
     224
    225225  // check if it is a Packer, and if it is, check if it has a name and if there is something in it.
    226226  if(widget->optionType < GUI_NOTHING)
    227227    {
    228228      if(static_cast<Packer*>(widget)->getGroupName())
    229         {
    230           fprintf(CONFIG_FILE, "[%s]\n", static_cast<Packer*>(widget)->getGroupName());
    231           this->writeFileText(static_cast<Packer*>(widget)->down, depth+1);
    232           fprintf(CONFIG_FILE, "\n");
    233         }
     229        {
     230          fprintf(CONFIG_FILE, "[%s]\n", static_cast<Packer*>(widget)->getGroupName());
     231          this->writeFileText(static_cast<Packer*>(widget)->down, depth+1);
     232          fprintf(CONFIG_FILE, "\n");
     233        }
    234234      else
    235         {
    236           this->writeFileText(static_cast<Packer*>(widget)->down, depth);
    237         }
    238     } 
     235        {
     236          this->writeFileText(static_cast<Packer*>(widget)->down, depth);
     237        }
     238    }
    239239
    240240  if(widget->optionType > GUI_NOTHING)
    241241    if (static_cast<Option*>(widget)->isSaveable())
    242242      {
    243         char Buffer[256];
    244         char* space2under;
    245         strcpy(Buffer, static_cast<Option*>(widget)->title);
    246         if(strchr(Buffer, '_'))
    247           PRINTF(2)("Optionname %s is not Valid for Saving, because it includes an underscore\n", Buffer);
    248         while(space2under = strchr(Buffer, ' '))
    249           {
    250             space2under[0] = '_';
    251           }
    252           fprintf(CONFIG_FILE, "%s = %s\n", Buffer, static_cast<Option*>(widget)->save());
     243        char Buffer[256];
     244        char* space2under;
     245        strcpy(Buffer, static_cast<Option*>(widget)->title);
     246        if(strchr(Buffer, '_'))
     247          PRINTF(2)("Optionname %s is not Valid for Saving, because it includes an underscore\n", Buffer);
     248        while(space2under = strchr(Buffer, ' '))
     249          {
     250            space2under[0] = '_';
     251          }
     252          fprintf(CONFIG_FILE, "%s = %s\n", Buffer, static_cast<Option*>(widget)->save());
    253253      }
    254254
     
    272272      char* Value;
    273273      while(fscanf(this->CONFIG_FILE, "%s", Buffer) != EOF)
    274         {
    275           // group-search //
    276           if(!strncmp(Buffer, "[", 1))
    277             {
    278               if((groupWidget = locateGroup(widget, Buffer, 1))==NULL)
    279                 {
    280                   PRINTF(2)("!!There is no group called %s in this GUI.\n First best Widget will get the Infos assigned.\n Config-File will be updated in next Save\n", Buffer);
    281                   groupWidget = widget;
    282                 }
    283               else
    284                 PRINT(5)("Group %s located.\n", static_cast<Packer*>(groupWidget)->groupName);
    285             }
    286           // option-setting //
    287           if(!strcmp(Buffer, "="))
    288             {
    289               char* under2space;
    290               while(under2space = strchr(Variable, '_'))
    291                 {
    292                   sprintf(under2space, " %s", under2space+1);
    293                 }
    294              
    295               fscanf(this->CONFIG_FILE, "%s", Buffer);
    296               varInfo.variableName = Variable;
    297               varInfo.variableValue = Buffer;
    298               groupWidget->walkThrough(this->readFileText, &varInfo, 0);
    299               sprintf(Variable, "");
    300             }
    301           sprintf(Variable, "%s", Buffer);
    302         }
     274        {
     275          // group-search //
     276          if(!strncmp(Buffer, "[", 1))
     277            {
     278              if((groupWidget = locateGroup(widget, Buffer, 1))==NULL)
     279                {
     280                  PRINTF(2)("!!There is no group called %s in this GUI.\n First best Widget will get the Infos assigned.\n Config-File will be updated in next Save\n", Buffer);
     281                  groupWidget = widget;
     282                }
     283              else
     284                PRINT(5)("Group %s located.\n", static_cast<Packer*>(groupWidget)->groupName);
     285            }
     286          // option-setting //
     287          if(!strcmp(Buffer, "="))
     288            {
     289              char* under2space;
     290              while(under2space = strchr(Variable, '_'))
     291                {
     292                  sprintf(under2space, " %s", under2space+1);
     293                }
     294
     295              fscanf(this->CONFIG_FILE, "%s", Buffer);
     296              varInfo.variableName = Variable;
     297              varInfo.variableValue = Buffer;
     298              groupWidget->walkThrough(this->readFileText, &varInfo, 0);
     299              sprintf(Variable, "");
     300            }
     301          sprintf(Variable, "%s", Buffer);
     302        }
    303303      widget->walkThrough(widget->setOptions, 0);
    304304    }
     305    fclose(this->CONFIG_FILE);
    305306}
    306307
     
    317318      PRINT(5)("Located Option %s.\n", widget->title);
    318319      if(widget->optionType > GUI_NOTHING)
    319         static_cast<Option*>(widget)->load(info->variableValue);
     320        static_cast<Option*>(widget)->load(info->variableValue);
    320321    }
    321322}
     
    344345    {
    345346      if(static_cast<Packer*>(widget)->getGroupName() &&
    346         !strcmp(groupName, static_cast<Packer*>(widget)->getGroupName()))
    347         {
    348           return widget;
    349         }
     347        !strcmp(groupName, static_cast<Packer*>(widget)->getGroupName()))
     348        {
     349          return widget;
     350        }
    350351      else
    351         {
    352           if((tmp = locateGroup(static_cast<Packer*>(widget)->down, groupName, depth+1)) != NULL)
    353             return tmp;
    354         }
    355     } 
    356  
     352        {
     353          if((tmp = locateGroup(static_cast<Packer*>(widget)->down, groupName, depth+1)) != NULL)
     354            return tmp;
     355        }
     356    }
     357
    357358  if(widget->next != NULL && depth != 0)
    358359    {
    359360      if((tmp = locateGroup(widget->next, groupName, depth)) != NULL)
    360         return tmp;
     361        return tmp;
    361362    }
    362363  return NULL;
  • orxonox/trunk/src/lib/sound/sound_engine.cc

    r4746 r4830  
    378378void SoundEngine::flushAllBuffers()
    379379{
    380     tIterator<SoundBuffer>* bufferIterator = this->bufferList->getIterator();
     380  tIterator<SoundBuffer>* bufferIterator = this->bufferList->getIterator();
    381381  SoundBuffer* enumBuffer = bufferIterator->nextElement();
    382382  while (enumBuffer)
     
    389389
    390390/**
     391  * @brief SourceEngine::flushAllBuffers
     392 */
     393void SoundEngine::flushAllSources()
     394{
     395  tIterator<SoundSource>* Iterator = this->sourceList->getIterator();
     396  SoundSource* enumSource = Iterator->nextElement();
     397  while (enumSource)
     398  {
     399    delete enumSource;
     400    enumSource = Iterator->nextElement();
     401  }
     402  delete Iterator;
     403}
     404
     405
     406/**
    391407   \brief initializes Audio in general
    392408*/
  • orxonox/trunk/src/lib/sound/sound_engine.h

    r4761 r4830  
    9191  void flushUnusedBuffers();
    9292  void flushAllBuffers();
     93  void flushAllSources();
    9394  bool initAudio();
    9495
  • orxonox/trunk/src/lib/util/substring.cc

    r4734 r4830  
    2929SubString::SubString( const char* string, char splitter)
    3030{
    31   n = 0;
     31  this->splittersCount = 0;
    3232
    3333  assert( string != NULL);
    3434
    35   for( int i = 0; i < strlen(string); i++) if( string[i] == splitter) n++;
     35  for( int i = 0; i < strlen(string); i++) if( string[i] == splitter)
     36      splittersCount++;
    3637
    37   n += 1;
     38  this->splittersCount += 1;
    3839
    39   strings = new char*[n];
    40 
     40  this->strings = new char*[this->splittersCount];
    4141  assert (strings != NULL);
    4242
     
    4848  while( end != NULL)
    4949    {
    50       assert( i < n);
     50      assert( i < this->splittersCount);
    5151      l = end - offset;
    52       strings[i] = new char[l + 1];
     52      this->strings[i] = new char[l + 1];
    5353      assert( strings[i] != NULL);
    5454      strncpy( strings[i], offset, l);
     
    7171SubString::~SubString()
    7272{
    73   for( int i = 0; i < n; i++)
     73  for( int i = 0; i < this->splittersCount; i++)
    7474    {
    75       delete strings[i];
     75      delete this->strings[i];
    7676    }
    7777
    78   delete strings;
    79 }
    80 
    81 /**
    82    \brief get the amount of substrings
    83    \returns the amount of substrings
    84 */
    85 int SubString::getCount()
    86 {
    87   return n;
     78  delete this->strings;
    8879}
    8980
     
    9586const char* SubString::getString( int i)
    9687{
    97   if( i < n && i >= 0) return strings[i];
    98   else return NULL;
     88  if( i < this->splittersCount && i >= 0)
     89    return this->strings[i];
     90  else
     91    return NULL;
    9992}
  • orxonox/trunk/src/lib/util/substring.h

    r4734 r4830  
    1414  ~SubString();
    1515
    16   int getCount();
     16  inline int getCount() { return this->splittersCount; };
    1717  const char* getString( int i);
    1818
    1919 private:
    20   char**     strings;         //!< strings produced from a single string splitted in multiple strings
    21   int        n;               //!< how many splitted parts
     20  char**     strings;                      //!< strings produced from a single string splitted in multiple strings
     21  int        splittersCount;               //!< how many splitted parts
    2222};
    2323
Note: See TracChangeset for help on using the changeset viewer.