Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 4959 in orxonox.OLD


Ignore:
Timestamp:
Jul 27, 2005, 6:07:47 PM (19 years ago)
Author:
bensch
Message:

orxonox/trunk: orxonox runs again (the TrackManager produces speed)

Location:
orxonox/trunk/src
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • orxonox/trunk/src/defs/alincl.h

    r4504 r4959  
    22  \file alincl.h
    33  \brief This file includes al Headers.
    4  
     4
    55  no Class is defined here, but the openAL Headers
    66*/
     
    1212#include <AL/al.h>
    1313#include <AL/alu.h>
     14#include <AL/alc.h>
    1415#include <AL/alut.h>
    1516#else
    1617#include <OpenAL/al.h>
     18#include <OpenAL/alc.h>
    1719#include <OpenAL/alu.h>
    1820#include <OpenAL/alut.h>
  • orxonox/trunk/src/lib/sound/sound_engine.cc

    r4885 r4959  
    467467}
    468468
     469void SoundEngine::listDevices()
     470{
     471
     472  printf("%s\n",(const char*)alcGetString(NULL, ALC_DEVICE_SPECIFIER));
     473}
     474
    469475/*
    470476void SoundEngine::PrintALCErrorString(ALenum err)
  • orxonox/trunk/src/lib/sound/sound_engine.h

    r4885 r4959  
    11/*!
    2     \file sound_engine.h
    3   * Definition of the SoundEngine singleton Class
    4 */
     2 * @file sound_engine.h
     3 * Definition of the SoundEngine singleton Class
     4 */
    55
    66#ifndef _SOUND_ENGINE_H
     
    2222class SoundBuffer : public BaseObject
    2323{
    24  public:
    25   SoundBuffer(const char* fileName);
    26   ~SoundBuffer();
     24  public:
     25    SoundBuffer(const char* fileName);
     26    ~SoundBuffer();
    2727
    28   /** @returns the ID of the buffer used in this SoundBuffer */
    29   inline ALuint getID() const { return this->bufferID; }
     28    /** @returns the ID of the buffer used in this SoundBuffer */
     29    inline ALuint getID() const { return this->bufferID; }
    3030
    31  private:
    32   ALuint        bufferID;             //!< The address of the Buffer.
     31  private:
     32    ALuint        bufferID;             //!< The address of the Buffer.
    3333
    34   ALsizei       size;                 //!< The size of the Buffer.
    35   ALboolean     loop;                 //!< loop information.
     34    ALsizei       size;                 //!< The size of the Buffer.
     35    ALboolean     loop;                 //!< loop information.
    3636};
    3737
     
    3939class SoundSource : public BaseObject
    4040{
    41  public:
    42   SoundSource(const PNode* sourceNode = NULL, const SoundBuffer* buffer = NULL);
    43   ~SoundSource();
     41  public:
     42    SoundSource(const PNode* sourceNode = NULL, const SoundBuffer* buffer = NULL);
     43    ~SoundSource();
    4444
    4545  // user interaction
    46   void play();
    47   void play(const SoundBuffer* buffer);
    48   void stop();
    49   void pause();
    50   void rewind();
     46    void play();
     47    void play(const SoundBuffer* buffer);
     48    void stop();
     49    void pause();
     50    void rewind();
    5151
    5252  // development functions
    53   /** @returns The ID of this Source */
    54   inline ALuint getID() const { return this->sourceID; }
    55   /** @returns the SoundBuffer of this Source */
    56   inline const SoundBuffer* getBuffer() const { return this->buffer; }
    57   /** @returns the SourceNode of this Source */
    58   inline const PNode* getNode() const { return this->sourceNode;}
     53    /** @returns The ID of this Source */
     54    inline ALuint getID() const { return this->sourceID; }
     55    /** @returns the SoundBuffer of this Source */
     56    inline const SoundBuffer* getBuffer() const { return this->buffer; }
     57    /** @returns the SourceNode of this Source */
     58    inline const PNode* getNode() const { return this->sourceNode;}
    5959
    60   void setRolloffFactor(ALfloat rolloffFactor);
     60    void setRolloffFactor(ALfloat rolloffFactor);
    6161
    62  private:
    63   ALuint                 sourceID;              //!< The ID of the Source
    64   const SoundBuffer*     buffer;                //!< The buffer to play in this source.
    65   const PNode*           sourceNode;            //!< The SourceNode represente the position/velocity... of this source.
     62  private:
     63    ALuint                 sourceID;              //!< The ID of the Source
     64    const SoundBuffer*     buffer;                //!< The buffer to play in this source.
     65    const PNode*           sourceNode;            //!< The SourceNode represente the position/velocity... of this source.
    6666};
    6767
     
    7171class SoundEngine : public BaseObject {
    7272
    73  public:
    74   virtual ~SoundEngine();
    75   /** @returns a Pointer to the only object of this Class */
    76   inline static SoundEngine* getInstance() { if (!singletonRef) singletonRef = new SoundEngine();  return singletonRef; };
     73  public:
     74    virtual ~SoundEngine();
     75    /** @returns a Pointer to the only object of this Class */
     76    inline static SoundEngine* getInstance() { if (!singletonRef) singletonRef = new SoundEngine();  return singletonRef; };
    7777
    78   SoundSource* createSource(const char* fileName, PNode* sourceNode = NULL);
     78    SoundSource* createSource(const char* fileName, PNode* sourceNode = NULL);
    7979
    80   void setListener(PNode* listener);
    81   void setDopplerValues(ALfloat dopplerFactor, ALfloat dopplerVelocity);
     80    void setListener(PNode* listener);
     81    void setDopplerValues(ALfloat dopplerFactor, ALfloat dopplerVelocity);
    8282
    8383
    84   void addBuffer(SoundBuffer* buffer);
    85   void removeBuffer(SoundBuffer* buffer);
    86   void addSource(SoundSource* source);
    87   void removeSource(SoundSource* source);
     84    void addBuffer(SoundBuffer* buffer);
     85    void removeBuffer(SoundBuffer* buffer);
     86    void addSource(SoundSource* source);
     87    void removeSource(SoundSource* source);
    8888
    89   void update();
     89    void update();
    9090
    9191  // administrative
    92   void flushUnusedBuffers();
    93   void flushAllBuffers();
    94   void flushAllSources();
    95   bool initAudio();
     92    void flushUnusedBuffers();
     93    void flushAllBuffers();
     94    void flushAllSources();
     95    bool initAudio();
    9696
    9797  // error handling:
    98   static void PrintALErrorString(ALenum err);
     98    static void PrintALErrorString(ALenum err);
    9999  //  static void PrintALCErrorString(ALenum err);
    100100
    101101
    102  private:
    103   SoundEngine();
    104   static SoundEngine*      singletonRef;             //!< Reference to this class
     102  private:
     103    SoundEngine();
     104    void listDevices();
     105
     106  private:
     107    static SoundEngine*      singletonRef;             //!< Reference to this class
    105108
    106109
    107   PNode*                   listener;                 //!< The listener of the Scene
    108   tList<SoundBuffer>*      bufferList;               //!< A list of buffers
    109   tList<SoundSource>*      sourceList;               //!< A list for all the sources in the scene.
     110    PNode*                   listener;                 //!< The listener of the Scene
     111    tList<SoundBuffer>*      bufferList;               //!< A list of buffers
     112    tList<SoundSource>*      sourceList;               //!< A list for all the sources in the scene.
    110113
    111114};
  • orxonox/trunk/src/story_entities/world.cc

    r4955 r4959  
    917917
    918918      /* update tick the rest */
    919       //TrackManager::getInstance()->tick(this->dtS);
     919      TrackManager::getInstance()->tick(this->dtS);
    920920      this->localCamera->tick(this->dtS);
    921921      // tick the engines
  • orxonox/trunk/src/world_entities/weapons/test_gun.cc

    r4955 r4959  
    164164  if (target != NULL)
    165165  {
    166     target->debugDraw();
    167     Vector test = ((target->getAbsCoor() - this->getAbsCoor())*5);
    168     pj->setVelocity(test/20.0);//this->getVelocity());
     166    pj->setVelocity(this->getVelocity()+(target->getAbsCoor() - this->getAbsCoor())*.5);//this->getVelocity());
    169167  }
    170168  else
  • orxonox/trunk/src/world_entities/weapons/test_gun.h

    r4955 r4959  
    2626#include "weapon.h"
    2727
     28
     29//! a weapon can be left or right sided
     30/**
     31 * @todo this will be reset with mirror X/Y/Z
     32 */
     33#define    W_LEFT        0
     34#define    W_RIGHT       1
     35
     36
    2837class TestGun : public Weapon
    2938  {
  • orxonox/trunk/src/world_entities/weapons/weapon.cc

    r4955 r4959  
    5656    if (this->soundBuffers[i])
    5757      ResourceManager::getInstance()->unload(this->soundBuffers[i]);
     58
     59  if (ClassList::exists(this->soundSource, CL_SOUND_SOURCE))
     60    delete this->soundSource;
    5861}
    5962
  • orxonox/trunk/src/world_entities/weapons/weapon.h

    r4955 r4959  
    11/*!
    2     \file weapon.h
    3   *  a weapon that a  can use
    4 
    5 
    6     A weapon is characterized by:
    7      o firing-rate: the initial firing rate of a weapon (1/s = Herz)
    8      o slowdown-factor: this is a factor d: exp(-d*x), d is element of all positive R. it determines how fast the firing-rate will slow down. if no slowdown: d=0, the bigger d is, the faster the weapon will slow down!
    9      o energy-consumption: this determines the energy that has to be used to produce this projectile = costs per projectile
    10 
    11     Furthermore there are some other attributes, that will help to represent a firing
    12     weapon in this world:
    13      o sound file/ressource: this is a pointer to the sound-file/ressource. however it may be represented
    14      o animations
    15 */
     2 * @file weapon.h
     3 *
     4 * Weapon is the mayor baseclass for all weapons. it is quite extensive, and expensive in use,
     5 * because each weapon will know virutal functions for the WorldEntity's part, and also virtuals
     6 * for Fireing/Reloading/...,
     7 * quickly said: Weapon is a wrapper for weapons, that makes it easy to very quickly implement
     8 * new Weapons, and with them make this game better, than any game before it, because still
     9 * Weapons (GUNS) are the most important thing in life :?... no to be serious
     10 * @see Weapon
     11 */
    1612
    1713
     
    5652} WeaponState;
    5753
    58 
    59 //! a weapon can be left or right sided
    60 /**
    61  * @todo this will be reset with mirror X/Y/Z
    62  */
    63 #define    W_LEFT        0
    64 #define    W_RIGHT       1
     54//! an enumerator defining capabilities of a WeaponSlot
     55typedef enum
     56{
     57  WTYPE_DIRECTIONAL   = 0x00000001,           //!< Weapon is directional/Slot is able to carry directional weapons
     58  WTYPE_TURRET        = 0x00000002,           //!< Weapon is a turret/slot is able to carry turrets
     59  WTYPE_ALLKINDS      = 0x0000000f,           //!< Weapon is all types/Slot is able to carry all kinds of weapons
     60
     61  WTYPE_FORWARD       = 0x00000010,           //!< Weapon fires forwards/Slot is able to carry weapons firing forwards
     62  WTYPE_BACKWARD      = 0x00000020,           //!< Weapon fires backwards/Slot is able to carry weapons firing backwards
     63  WTYPE_LEFT          = 0x00000040,           //!< Weapon fires to the left/Slot is able to carry weapons firing to the left
     64  WTYPE_RIGHT         = 0x00000080,           //!< Weapon fires to the right/Slot is able to carry weapons firing to the right
     65  WTYPE_ALLDIRS       = 0x000000f0,           //!< Weapon has no specific firing direction/Slot can fire into all directions
     66
     67  WTYPE_ALL           = 0x000000ff,           //!< Weapon has no limitations/Slot can handle all kinds of Weapon.
     68} W_Capability;
    6569
    6670//! An abstract class, that describes weapons
  • orxonox/trunk/src/world_entities/weapons/weapon_manager.cc

    r4954 r4959  
    7373  for (int i = 0; i < WM_MAX_SLOTS; i++)
    7474  {
    75     this->currentSlotConfig[i].capability = WM_SLOTC_ALL;
     75    this->currentSlotConfig[i].capability = WTYPE_ALL;
    7676    this->currentSlotConfig[i].currentWeapon = NULL;
    7777    this->currentSlotConfig[i].nextWeapon = NULL;
  • orxonox/trunk/src/world_entities/weapons/weapon_manager.h

    r4955 r4959  
    1313#include "base_object.h"
    1414
    15 #include "p_node.h"
    1615#include "crosshair.h"
     16#include "weapon.h"
    1717
    1818// FORWARD DECLARATION
    19 class PNode;
    20 class Weapon;
    2119template <class T> class tAnimation;
    2220
     
    2523#define    WM_MAX_CONFIGS          4              //!< The maximum number of predefined Configurations
    2624#define    WM_MAX_LOADED_WEAPONS   20             //!< The
    27 
    28 //! an enumerator defining capabilities of a WeaponSlot
    29 typedef enum
    30 {
    31   WM_SLOTC_DIRECTIONAL   = 0x00000001,           //!< if the Slot is able to carry directional weapons
    32   WM_SLOTC_TURRET        = 0x00000002,           //!< if the Slot is able to carry turrets
    33   WM_SLOTC_ALLKINDS      = 0x0000000f,           //!< if the Slot is able to carry all kinds of weapons
    34 
    35   WM_SLOTC_FORWARD       = 0x00000010,           //!< if the Slot is able to carry weapons firing forward
    36   WM_SLOTC_BACKWARD      = 0x00000020,           //!< if the Slot is able to carry weapons firing backwards
    37   WM_SLOTC_LEFT          = 0x00000040,           //!< if the Slot is able to carry weapons firing to the left
    38   WM_SLOTC_RIGHT         = 0x00000080,           //!< if the Slot is able to carry weapons firing to the right
    39   WM_SLOTC_ALLDIRS       = 0x000000f0,           //!< this slot can fire into all directions
    40 
    41   WM_SLOTC_ALL           = 0x000000ff,           //!< everything allowed in this slot
    42 } WM_SlotCapability;
    4325
    4426//! an enumerator defining a Slot, where a Weapon can be stored inside.
Note: See TracChangeset for help on using the changeset viewer.