Revision: 16645
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16645
Author:   campbellbarton
Date:     2008-09-21 07:38:28 +0200 (Sun, 21 Sep 2008)

Log Message:
-----------
game engine now compiles with SDL disabled. CDROM and Joystick wont function in 
this case

Modified Paths:
--------------
    trunk/blender/intern/SoundSystem/SConscript
    trunk/blender/intern/SoundSystem/sdl/SND_SDLCDDevice.cpp
    trunk/blender/source/gameengine/GameLogic/Joystick/SCA_Joystick.cpp
    trunk/blender/source/gameengine/GameLogic/Joystick/SCA_Joystick.h
    trunk/blender/source/gameengine/GameLogic/Joystick/SCA_JoystickEvents.cpp
    trunk/blender/source/gameengine/GameLogic/Joystick/SCA_JoystickPrivate.h
    trunk/blender/source/gameengine/GameLogic/SCA_JoystickManager.cpp
    trunk/blender/source/gameengine/GameLogic/SConscript

Modified: trunk/blender/intern/SoundSystem/SConscript
===================================================================
--- trunk/blender/intern/SoundSystem/SConscript 2008-09-21 04:39:40 UTC (rev 
16644)
+++ trunk/blender/intern/SoundSystem/SConscript 2008-09-21 05:38:28 UTC (rev 
16645)
@@ -14,4 +14,7 @@
 else:
        defs = 'NO_SOUND'
 
+if not env['WITH_BF_SDL']:
+       defs += ' DISABLE_SDL'
+
 env.BlenderLib ('bf_soundsystem', sources, Split(incs), Split(defs), 
libtype=['core','player'], priority = [20,140] )

Modified: trunk/blender/intern/SoundSystem/sdl/SND_SDLCDDevice.cpp
===================================================================
--- trunk/blender/intern/SoundSystem/sdl/SND_SDLCDDevice.cpp    2008-09-21 
04:39:40 UTC (rev 16644)
+++ trunk/blender/intern/SoundSystem/sdl/SND_SDLCDDevice.cpp    2008-09-21 
05:38:28 UTC (rev 16645)
@@ -55,6 +55,10 @@
 
 void SND_SDLCDDevice::init()
 {
+#ifdef DISABLE_SDL
+       fprintf(stderr, "Blender compiled without SDL, no CDROM support\n");
+       return;
+#else
        if (SDL_InitSubSystem(SDL_INIT_CDROM))
        {
                fprintf(stderr, "Error initializing CDROM\n");
@@ -75,19 +79,23 @@
        /* Did if open? Check if cdrom is NULL */
        if(!m_cdrom)
        {
-               fprintf(stderr, "Couldn't open drive: %s", SDL_GetError());
+               fprintf(stderr, "Couldn't open drive: %s\n", SDL_GetError());
                return;
        }
+#endif
 }
 
 SND_SDLCDDevice::~SND_SDLCDDevice()
 {
+#ifndef DISABLE_SDL
        StopCD();
        SDL_CDClose(m_cdrom);
+#endif
 }
 
 void SND_SDLCDDevice::NextFrame()
 {
+#ifndef DISABLE_SDL
        m_frame++;
        m_frame &= 127;
        
@@ -111,20 +119,24 @@
                }
        
        }
+#endif
 }
        
 void SND_SDLCDDevice::PlayCD(int track)
 {
+#ifndef DISABLE_SDL
        if ( m_cdrom && CD_INDRIVE(SDL_CDStatus(m_cdrom)) ) {
                SDL_CDPlayTracks(m_cdrom, track-1, 0, track, 0);
                m_cdplaying = true;
                m_cdtrack = track;
        }
+#endif
 }
 
 
 void SND_SDLCDDevice::PauseCD(bool pause)
 {
+#ifndef DISABLE_SDL
        if (!m_cdrom)
                return;
                
@@ -132,13 +144,16 @@
                SDL_CDPause(m_cdrom);
        else
                SDL_CDResume(m_cdrom);
+#endif
 }
 
 void SND_SDLCDDevice::StopCD()
 {
+#ifndef DISABLE_SDL
        if (m_cdrom)
                SDL_CDStop(m_cdrom);
        m_cdplaying = false;
+#endif
 }
 
 void SND_SDLCDDevice::SetCDPlaymode(int playmode)

Modified: trunk/blender/source/gameengine/GameLogic/Joystick/SCA_Joystick.cpp
===================================================================
--- trunk/blender/source/gameengine/GameLogic/Joystick/SCA_Joystick.cpp 
2008-09-21 04:39:40 UTC (rev 16644)
+++ trunk/blender/source/gameengine/GameLogic/Joystick/SCA_Joystick.cpp 
2008-09-21 05:38:28 UTC (rev 16645)
@@ -42,14 +42,18 @@
        m_isinit(0),
        m_istrig(0)
 {
+#ifndef DISABLE_SDL
        m_private = new PrivateData();
+#endif
 }
 
 
 SCA_Joystick::~SCA_Joystick()
 
 {
+#ifndef DISABLE_SDL
        delete m_private;
+#endif
 }
 
 SCA_Joystick *SCA_Joystick::m_instance[JOYINDEX_MAX];
@@ -57,6 +61,9 @@
 
 SCA_Joystick *SCA_Joystick::GetInstance( short int joyindex )
 {
+#ifdef DISABLE_SDL
+       return NULL;
+#else
        if (joyindex < 0 || joyindex >= JOYINDEX_MAX) {
                echo("Error-invalid joystick index: " << joyindex);
                return NULL;
@@ -81,12 +88,14 @@
                m_refCount++;
        }
        return m_instance[joyindex];
+#endif
 }
 
 void SCA_Joystick::ReleaseInstance()
 {
        if (--m_refCount == 0)
        {
+#ifndef DISABLE_SDL
                int i;
                for (i=0; i<JOYINDEX_MAX; i++) {
                        if (m_instance[i]) {
@@ -95,7 +104,9 @@
                        }
                        m_instance[i]= NULL;
                }
+
                SDL_QuitSubSystem(SDL_INIT_JOYSTICK | SDL_INIT_VIDEO );
+#endif
        }
 }
 
@@ -147,19 +158,27 @@
 
 bool SCA_Joystick::aButtonPressIsPositive(int button)
 {
+#ifdef DISABLE_SDL
+       return false;
+#else
        bool result;
        SDL_JoystickGetButton(m_private->m_joystick, button)? result = 
true:result = false;
        m_istrig = result;
        return result;
+#endif
 }
 
 
 bool SCA_Joystick::aButtonReleaseIsPositive(int button)
 {
+#ifdef DISABLE_SDL
+       return false;
+#else
        bool result;
        SDL_JoystickGetButton(m_private->m_joystick, button)? result = false : 
result = true;
        m_istrig = result;
        return result;
+#endif
 }
 
 
@@ -199,6 +218,9 @@
 
 int SCA_Joystick::GetNumberOfAxes()
 {
+#ifdef DISABLE_SDL
+       return -1;
+#else
        int number;
        if(m_isinit){
                if(m_private->m_joystick){
@@ -207,11 +229,15 @@
                }
        }
        return -1;
+#endif
 }
 
 
 int SCA_Joystick::GetNumberOfButtons()
 {
+#ifdef DISABLE_SDL
+       return -1;
+#else
        int number;
        if(m_isinit){
                if(m_private->m_joystick){
@@ -220,11 +246,15 @@
                }
        }
        return -1;
+#endif
 }
 
 
 int SCA_Joystick::GetNumberOfHats()
 {
+#ifdef DISABLE_SDL
+       return -1;
+#else
        int number;
        if(m_isinit){
                if(m_private->m_joystick){
@@ -233,10 +263,14 @@
                }
        }
        return -1;
+#endif
 }
 
 bool SCA_Joystick::CreateJoystickDevice(void)
 {
+#ifdef DISABLE_SDL
+       return false;
+#else
        if(m_isinit == false){
                if (m_joyindex>=SDL_NumJoysticks()) {
                        // don't print a message, because this is done anyway
@@ -251,11 +285,13 @@
                m_isinit = true;
        }
        return true;
+#endif
 }
 
 
 void SCA_Joystick::DestroyJoystickDevice(void)
 {
+#ifndef DISABLE_SDL
        if (m_isinit){
                if(SDL_JoystickOpened(m_joyindex)){
                        echo("Closing-joystick " << m_joyindex);
@@ -263,21 +299,21 @@
                }
                m_isinit = false;
        }
+#endif
 }
 
 int SCA_Joystick::Connected(void)
 {
-       if (m_isinit){
-               if(SDL_JoystickOpened(m_joyindex)){
-                       return 1;
-               }
-       }
-       
+#ifndef DISABLE_SDL
+       if (m_isinit && SDL_JoystickOpened(m_joyindex))
+               return 1;
+#endif
        return 0;
 }
 
 void SCA_Joystick::pFillAxes()
 {
+#ifndef DISABLE_SDL
        if(GetNumberOfAxes() == 1){
                m_axis10 = SDL_JoystickGetAxis(m_private->m_joystick, 0);
                m_axis11 = SDL_JoystickGetAxis(m_private->m_joystick, 1);
@@ -287,18 +323,20 @@
                m_axis20 = SDL_JoystickGetAxis(m_private->m_joystick, 2);
                m_axis21 = SDL_JoystickGetAxis(m_private->m_joystick, 3);
        }else{
-               m_axis10 = 0;m_axis11 = 0;
-               m_axis20 = 0;m_axis21 = 0;
+               m_axis10 = m_axis11 = m_axis20 = m_axis21 = 0;
        }
+#endif
 }
 
 
 int SCA_Joystick::pGetAxis(int axisnum, int udlr)
 {
+#ifndef DISABLE_SDL
        if(axisnum == 1 && udlr == 1)return m_axis10; //u/d
        if(axisnum == 1 && udlr == 0)return m_axis11; //l/r
        if(axisnum == 2 && udlr == 0)return m_axis20; //...
        if(axisnum == 2 && udlr == 1)return m_axis21;
+#endif
        return 0;
 }
 

Modified: trunk/blender/source/gameengine/GameLogic/Joystick/SCA_Joystick.h
===================================================================
--- trunk/blender/source/gameengine/GameLogic/Joystick/SCA_Joystick.h   
2008-09-21 04:39:40 UTC (rev 16644)
+++ trunk/blender/source/gameengine/GameLogic/Joystick/SCA_Joystick.h   
2008-09-21 05:38:28 UTC (rev 16645)
@@ -45,9 +45,9 @@
        static int m_refCount;
 
        class PrivateData;
-
+#ifndef DISABLE_SDL
        PrivateData             *m_private;
-
+#endif
        int                             m_joyindex;
 
        /* 
@@ -104,6 +104,7 @@
        /* is triggered */
        bool                    m_istrig;
 
+#ifndef DISABLE_SDL
        /*
         * event callbacks
         */
@@ -113,7 +114,7 @@
        void OnButtonDown(SDL_Event *sdl_event);
        void OnNothing(SDL_Event *sdl_event);
        void OnBallMotion(SDL_Event *sdl_event){}
-
+#endif
        /*
         * Open the joystick
         */
@@ -226,8 +227,9 @@
         */
        int Connected(void);
 };
-
+#ifndef        DISABLE_SDL
 void Joystick_HandleEvents( void );
+#endif
 
 #endif
 

Modified: 
trunk/blender/source/gameengine/GameLogic/Joystick/SCA_JoystickEvents.cpp
===================================================================
--- trunk/blender/source/gameengine/GameLogic/Joystick/SCA_JoystickEvents.cpp   
2008-09-21 04:39:40 UTC (rev 16644)
+++ trunk/blender/source/gameengine/GameLogic/Joystick/SCA_JoystickEvents.cpp   
2008-09-21 05:38:28 UTC (rev 16645)
@@ -29,7 +29,7 @@
 #include "SCA_JoystickPrivate.h"
 
 
-
+#ifndef DISABLE_SDL
 void SCA_Joystick::OnAxisMotion(SDL_Event* sdl_event)
 {
        pFillAxes();
@@ -102,3 +102,4 @@
                }
        }
 }
+#endif

Modified: 
trunk/blender/source/gameengine/GameLogic/Joystick/SCA_JoystickPrivate.h
===================================================================
--- trunk/blender/source/gameengine/GameLogic/Joystick/SCA_JoystickPrivate.h    
2008-09-21 04:39:40 UTC (rev 16644)
+++ trunk/blender/source/gameengine/GameLogic/Joystick/SCA_JoystickPrivate.h    
2008-09-21 05:38:28 UTC (rev 16645)
@@ -29,6 +29,7 @@
 #define __SCA_JOYSTICKPRIVATE_H__
 #include "SCA_Joystick.h"
 
+#ifndef DISABLE_SDL
 class SCA_Joystick::PrivateData
 {
 public:
@@ -43,3 +44,5 @@
        }
 };
 #endif
+
+#endif

Modified: trunk/blender/source/gameengine/GameLogic/SCA_JoystickManager.cpp
===================================================================
--- trunk/blender/source/gameengine/GameLogic/SCA_JoystickManager.cpp   
2008-09-21 04:39:40 UTC (rev 16644)
+++ trunk/blender/source/gameengine/GameLogic/SCA_JoystickManager.cpp   
2008-09-21 05:38:28 UTC (rev 16645)
@@ -63,9 +63,9 @@
        }
        else {
                set<SCA_ISensor*>::iterator it;
-       
+#ifndef        DISABLE_SDL
                SCA_Joystick::HandleEvents(); /* Handle all SDL Joystick events 
*/
-       
+#endif
                for (it = m_sensors.begin(); it != m_sensors.end(); it++)
                {
                        SCA_JoystickSensor* joysensor = 
(SCA_JoystickSensor*)(*it);

Modified: trunk/blender/source/gameengine/GameLogic/SConscript
===================================================================
--- trunk/blender/source/gameengine/GameLogic/SConscript        2008-09-21 
04:39:40 UTC (rev 16644)
+++ trunk/blender/source/gameengine/GameLogic/SConscript        2008-09-21 
05:38:28 UTC (rev 16645)
@@ -10,4 +10,9 @@
 incs += ' ' + env['BF_PYTHON_INC']
 incs += ' ' + env['BF_SDL_INC']
 
-env.BlenderLib ( 'bf_logic', sources, Split(incs), [], 
libtype=['game','player'], priority=[30, 110] )
+defs = ''
+
+if not env['WITH_BF_SDL']:
+       defs += ' DISABLE_SDL'
+
+env.BlenderLib ( 'bf_logic', sources, Split(incs), Split(defs), 
libtype=['game','player'], priority=[30, 110] )


_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to