# If a relative path is entered the value of OUTPUT_DIRECTORY will be
# put in front of it. If left blank `html' will be used as the default path.
-HTML_OUTPUT = doc/doxygen
+HTML_OUTPUT = doxygen
# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
Here is a list of some of the options available:
.TP
.B detail
-The level of detail. Possible values are 1, 2, or 3, 1 meaning the least amount
-of detail and 3 meaning the most. This effects the number of objects drawn to
-the screen. A high level of detail will draw everything but could cause poor
+The level of detail. Possible values are 1, 2, or 3 where 1 means the least
+amount of detail and 3 means the most. This effects the number of objects drawn
+to the screen. A high level of detail will draw everything but could cause poor
frame rates if the graphics driver can't keep up with the load. Lower levels
will omit certain details which aren't crucial for playing the game with the
-benefit of higher frame rates. See the Notes for more ways to increase the
-game's performance. The default value is 3.
+possible benefit of higher frame rates. See the Notes for more ways to increase
+the game's performance. The default value is 3.
.TP
.B doublebuffer
If true, double-buffering will be used to help minimize distortion and artifacts
#include <map>
#include <vector>
+#include <Moof/Library.hh>
#include <Moof/Log.hh>
-#include <Moof/Mippleton.hh>
#include <Moof/Script.hh>
#include "Animation.hh"
* which wants to use these loaded sequences.
*/
- class Data : public Mf::Mippleton<Data>
+ class Data : public Mf::Library<Data>
{
friend class Impl;
- friend class Mf::Mippleton<Data>;
+ friend class Mf::Library<Data>;
/**
* A frame of an animation sequence. A frame is merely an index which
*/
explicit Data(const std::string& name) :
- Mf::Mippleton<Data>(name)
+ Mf::Library<Data>(name)
{
loadFromFile();
}
Moof/Hash.hh \
Moof/Interpolator.hh \
Moof/Layer.hh \
+ Moof/Library.hh \
Moof/Log.cc \
Moof/Log.hh \
Moof/Math.hh \
- Moof/Mippleton.hh \
Moof/Octree.hh \
Moof/OpenGL.hh \
Moof/Plane.cc \
*******************************************************************************/
-#ifndef _MOOF_MIPPLETON_HH_
-#define _MOOF_MIPPLETON_HH_
+#ifndef _MOOF_LIBRARY_HH_
+#define _MOOF_LIBRARY_HH_
/**
- * @file Mippleton.hh
- * Related to singletons, a mippleton is an object which can be obtained
- * globally using a unique name. Unlike singletons, there can be multiple
- * mippletons per class, each with a different name or identifier. Mippletons
- * are create automatically when they are first requested (retained) and deleted
- * after the last interested code releases its hold on the object.
+ * @file Library.hh
+ * A library is a collection of named objects of the same type. Libraries use
+ * reference counting to automagically delete objects which no longer have any
+ * interested code.
*/
+#include <memory>
#include <string>
#include <boost/shared_ptr.hpp>
template <class T>
-class Mippleton
+class Library
{
typedef std::pair<unsigned,T*> PtrValue;
typedef stlplus::hash<std::string,PtrValue,getHash> PtrMap;
}
else
{
- T* newObj = new T(name);
- mPtrMap.insert(std::make_pair(name, std::make_pair(1, newObj)));
+ T* newObj(new T(name));
+ if (newObj)
+ {
+ mPtrMap.insert(std::make_pair(name, std::make_pair(1, newObj)));
+ }
return newObj;
}
}
{
typename PtrMap::iterator it;
- if ((it = mPtrMap.find(name)) != mPtrMap.end() && --(*it).second.first == 0)
+ if ((it = mPtrMap.find(name)) != mPtrMap.end() &&
+ --(*it).second.first == 0)
{
delete (*it).second.second;
mPtrMap.erase((*it).first);
public:
- explicit Mippleton(const std::string& name) :
+ explicit Library(const std::string& name) :
mName(name) {}
const std::string& getName() const
template <class T>
stlplus::hash< std::string,std::pair<unsigned,T*>,getHash >
- Mippleton<T>::mPtrMap;
+ Library<T>::mPtrMap;
} // namespace Mf
-#endif // _MOOF_MIPPLETON_HH_
+#endif // _MOOF_LIBRARY_HH_
/** vim: set ts=4 sw=4 tw=80: *************************************************/
#include <vorbis/codec.h>
#include <vorbis/vorbisfile.h>
+#include "Library.hh"
#include "Log.hh"
-#include "Mippleton.hh"
#include "Sound.hh"
#include "Timer.hh"
class Buffer;
typedef boost::shared_ptr<Buffer> BufferP;
- class Buffer : public Mippleton<Buffer>
+ class Buffer : public Library<Buffer>
{
OggVorbis_File mOggStream;
ALenum mFormat;
public:
Buffer(const std::string& name) :
- Mippleton<Buffer>(name)
+ Library<Buffer>(name)
{
mOggStream.datasource = 0;
openFile();
#include <SDL/SDL_image.h>
#include "Dispatcher.hh"
+#include "Library.hh"
#include "Log.hh"
-#include "Mippleton.hh"
#include "OpenGL.hh"
#include "Texture.hh"
* objects and avoid having duplicate textures loaded to GL.
*/
-class Texture::Impl : public Mippleton<Impl>
+class Texture::Impl : public Library<Impl>
{
/**
*/
explicit Impl(const std::string& name) :
- Mippleton<Impl>(name),
+ Library<Impl>(name),
mContext(0),
mWidth(0),
mHeight(0),
glBindTexture(GL_TEXTURE_2D, mObject);
glTexImage2D
+ //gluBuild2DMipmaps
(
GL_TEXTURE_2D,
0,
mMode,
+ //3,
mContext->w,
mContext->h,
0,
*******************************************************************************/
-#include <Moof/Mippleton.hh>
+#include <Moof/Library.hh>
#include <Moof/OpenGL.hh>
#include <Moof/Script.hh>
#include "Tilemap.hh"
-struct Tilemap::Impl : public Mf::Mippleton<Impl>
+struct Tilemap::Impl : public Mf::Library<Impl>
{
Impl(const std::string& name) :
- Mf::Mippleton<Impl>(name),
+ Mf::Library<Impl>(name),
mMagFilter(GL_NEAREST),
mMinFilter(GL_NEAREST),
mTilesS(1),
File /r /x Makefile* /x *.desktop "$ROOT_DIR/data"
; documentation
File "$ROOT_DIR/AUTHORS" "$ROOT_DIR/ChangeLog" "$ROOT_DIR/COPYING"
- File "$ROOT_DIR/README" "$ROOT_DIR/TODO"
+ File "$ROOT_DIR/README" "$ROOT_DIR/TODO" "$ROOT_DIR/doc/screenshot.png"
+ File /r "$ROOT_DIR/doc/licenses"
; uninstall
WriteUninstaller "uninstall.exe"
EOF