Removed the rest of plib sound support; note that OpenAL was obligatory before this patch, so I just added a message to the configure.ac to stop configure when OpenAL isn't present.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/trunk/supertuxkart@2060 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
parent
8dd4d52006
commit
b5d4930f87
@ -10,7 +10,10 @@ Some short instruction on how to compile supertuxkart with cygwin:
|
||||
3) Compile and install plib
|
||||
This should work straight out of the box.
|
||||
|
||||
4) Unpack supteruxkart and run ./configure and make.
|
||||
4) Install OpenAL
|
||||
We have had some problems with this, so this might be the most difficult stage.
|
||||
|
||||
4) Unpack superuxkart and run ./configure and make.
|
||||
|
||||
That should be all.
|
||||
|
||||
|
@ -28,7 +28,10 @@ Cygwin
|
||||
2) Compile and install plib
|
||||
This should work straight out of the box.
|
||||
|
||||
3) Unpack supertuxkart and run ./configure and make.
|
||||
3) Install OpenAL
|
||||
We have had some problems with this in the past, so it might be tricky.
|
||||
|
||||
4) Unpack supertuxkart and run ./configure and make.
|
||||
|
||||
That should be all.
|
||||
|
||||
|
38
configure.ac
38
configure.ac
@ -160,6 +160,15 @@ if test x$have_al_lib = xyes; then
|
||||
esac
|
||||
fi
|
||||
|
||||
if test x$have_al_hdr != xyes; then
|
||||
echo ""
|
||||
echo "You need to install OpenAL"
|
||||
echo "Configure aborted"
|
||||
echo ""
|
||||
exit
|
||||
fi
|
||||
|
||||
|
||||
case "${host}" in
|
||||
*)
|
||||
dnl default unix style machines
|
||||
@ -176,29 +185,18 @@ case "${host}" in
|
||||
AC_CHECK_HEADER(ogg/ogg.h, have_ogg_hdr=yes)
|
||||
fi
|
||||
|
||||
dnl create OpenAL defines and a summary of the optional sound components
|
||||
SUMMARY="$SUMMARY\n"
|
||||
if test x$have_al_hdr != xyes; then
|
||||
SUMMARY="$SUMMARY You DO NOT have OpenAL."
|
||||
fi
|
||||
|
||||
if test x$have_al_hdr = xyes ; then
|
||||
openal_LIBS="$LIBS"
|
||||
AC_DEFINE([HAVE_OPENAL], 1, [Defined when OpenAL is available])
|
||||
SUMMARY="$SUMMARY\nUsing OpenAL for sound."
|
||||
|
||||
if test x$have_vorbisfile_hdr = xyes -a x$have_ogg_hdr = xyes; then
|
||||
AC_DEFINE([HAVE_OGGVORBIS], 1, [Defined when Ogg Vorbis is available])
|
||||
SUMMARY="$SUMMARY\nWe have Ogg Vorbis support."
|
||||
# ov_read for ogg music needs endianness flag. This macro defines
|
||||
# WORDS_BIGENDIAN if it's a big endian machine. See music_ogg.cpp
|
||||
AC_C_BIGENDIAN
|
||||
else
|
||||
SUMMARY="$SUMMARY\nNo Ogg Vorbis support - the game will play with sound effects, but without music."
|
||||
SUMMARY="$SUMMARY\nPlease install ogg vorbis!"
|
||||
fi
|
||||
openal_LIBS="$LIBS"
|
||||
if test x$have_vorbisfile_hdr = xyes -a x$have_ogg_hdr = xyes; then
|
||||
AC_DEFINE([HAVE_OGGVORBIS], 1, [Defined when Ogg Vorbis is available])
|
||||
SUMMARY="$SUMMARY\nWe have Ogg Vorbis support."
|
||||
# ov_read for ogg music needs endianness flag. This macro defines
|
||||
# WORDS_BIGENDIAN if it's a big endian machine. See music_ogg.cpp
|
||||
AC_C_BIGENDIAN
|
||||
else
|
||||
SUMMARY="$SUMMARY\nInstall OpenAL for music!"
|
||||
SUMMARY="$SUMMARY\nNo Ogg Vorbis support - the game will play with sound effects, but without music."
|
||||
SUMMARY="$SUMMARY\nPlease install ogg vorbis!"
|
||||
fi
|
||||
|
||||
LIBS=$save_LIBS
|
||||
|
@ -35,7 +35,6 @@ supertuxkart_SOURCES = main.cpp \
|
||||
collectable.cpp collectable.hpp \
|
||||
collectable_manager.cpp collectable_manager.hpp \
|
||||
sound_manager.cpp sound_manager.hpp \
|
||||
sound_plib.cpp sound_plib.hpp \
|
||||
music_ogg.cpp music_ogg.hpp \
|
||||
music_information.cpp music_information.hpp \
|
||||
sfx_openal.cpp sfx_openal.hpp \
|
||||
|
@ -17,7 +17,7 @@
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#if HAVE_OPENAL && HAVE_OGGVORBIS
|
||||
#if HAVE_OGGVORBIS
|
||||
|
||||
#include <stdexcept>
|
||||
#ifdef __APPLE__
|
||||
@ -346,4 +346,4 @@ string MusicOggStream::errorString(int code)
|
||||
}
|
||||
}
|
||||
|
||||
#endif // HAVE_OPENAL && HAVE_OGGVORBIS
|
||||
#endif // HAVE_OGGVORBIS
|
||||
|
@ -17,7 +17,7 @@
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#if (HAVE_OPENAL && HAVE_OGGVORBIS)
|
||||
#if HAVE_OGGVORBIS
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdio.h>
|
||||
@ -143,5 +143,5 @@ bool SFXImpl::load(const char* filename)
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif //if (HAVE_OPENAL && HAVE_OGGVORBIS)
|
||||
#endif //if HAVE_OGGVORBIS
|
||||
|
||||
|
@ -1,94 +0,0 @@
|
||||
// $Id$
|
||||
//
|
||||
// SuperTuxKart - a fun racing game with go-kart
|
||||
// Copyright (C) 2006 Patrick Ammann <pammann@aro.ch>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation; either version 2
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
//The next #if *needs* double parenthesis
|
||||
#if !(HAVE_OPENAL && HAVE_OGGVORBIS)
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "sound_plib.hpp"
|
||||
#include "sound_manager.hpp"
|
||||
#include "loader.hpp"
|
||||
|
||||
slScheduler* plib_scheduler= NULL;
|
||||
|
||||
SFXImpl::SFXImpl(const char* filename)
|
||||
{
|
||||
std::string path = loader->getPath(filename);
|
||||
m_sample= new slSample(path.c_str(), plib_scheduler);
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
SFXImpl::~SFXImpl()
|
||||
{
|
||||
delete m_sample;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
void SFXImpl::play()
|
||||
{
|
||||
plib_scheduler->playSample(m_sample, 1, SL_SAMPLE_MUTE, 2, NULL);
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
void MusicPlib::update()
|
||||
{
|
||||
// Comment this next line out if the sound causes big glitches
|
||||
// on your IRIX machine!
|
||||
plib_scheduler->update();
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
bool MusicPlib::load(const std::string& filename)
|
||||
{
|
||||
m_filename= loader->getPath(filename);
|
||||
return true;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
bool MusicPlib::playMusic()
|
||||
{
|
||||
plib_scheduler->stopMusic();
|
||||
plib_scheduler->loopMusic(m_filename.c_str());
|
||||
return true;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
bool MusicPlib::stopMusic()
|
||||
{
|
||||
plib_scheduler->stopMusic();
|
||||
return true;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
bool MusicPlib::pauseMusic()
|
||||
{
|
||||
plib_scheduler->stopMusic();
|
||||
return true;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
bool MusicPlib::resumeMusic()
|
||||
{
|
||||
plib_scheduler->loopMusic(m_filename.c_str());
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif //!(HAVE_OPENAL && HAVE_OGGVORBIS)
|
||||
|
@ -1,64 +0,0 @@
|
||||
// $Id$
|
||||
//
|
||||
// SuperTuxKart - a fun racing game with go-kart
|
||||
// Copyright (C) 2006 Patrick Ammann <pammann@aro.ch>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation; either version 2
|
||||
// of the License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#ifndef HEADER_SOUNDPLIB_H
|
||||
#define HEADER_SOUNDPLIB_H
|
||||
|
||||
#include <string>
|
||||
#include <plib/sl.h>
|
||||
|
||||
#include "music.hpp"
|
||||
#include "sfx.hpp"
|
||||
|
||||
|
||||
class SFXImpl : public SFX
|
||||
{
|
||||
public:
|
||||
SFXImpl(const char* filename);
|
||||
virtual ~SFXImpl();
|
||||
|
||||
virtual void play();
|
||||
|
||||
private:
|
||||
slSample* m_sample;
|
||||
};
|
||||
|
||||
class MusicPlib : public Music
|
||||
{
|
||||
public:
|
||||
MusicPlib() {}
|
||||
virtual ~MusicPlib() {}
|
||||
|
||||
virtual void update();
|
||||
|
||||
virtual bool load(const std::string &filename);
|
||||
|
||||
virtual bool playMusic();
|
||||
virtual bool stopMusic();
|
||||
virtual bool pauseMusic();
|
||||
virtual bool resumeMusic();
|
||||
|
||||
private:
|
||||
std::string m_filename;
|
||||
};
|
||||
|
||||
extern slScheduler* plib_scheduler;
|
||||
|
||||
#endif // HEADER_SOUNDPLIB_H
|
||||
|
Loading…
x
Reference in New Issue
Block a user