Renamed to MANGLE

actorid
Nicolay Korslund 15 years ago
parent 9712fa03b7
commit d4e75d41d4

@ -25,7 +25,7 @@ DOXYFILE_ENCODING = UTF-8
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project.
PROJECT_NAME = GOOI
PROJECT_NAME = Mangle
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or

@ -1,4 +1,4 @@
Game-oriented object interfaces (GOOI) is licensed under the
Minimal Abstraction Game Layer (Mangle) is licensed under the
'zlib/libpng' license:
----

@ -1,21 +1,21 @@
Welcome to GOOI v0.1
--------------------
Welcome to Mangle v0.1
----------------------
Written by: Nicolay Korslund (korslund@gmail.com)
License: zlib/png (see LICENSE.txt)
WWW: http://asm-soft.com/gooi/
Documentation: http://asm-soft.com/gooi/docs
WWW: http://asm-soft.com/mangle/
Documentation: http://asm-soft.com/mangle/docs
GOOI stands for Game-Oriented Object Interfaces. It is meant to become
a small set of generic interfaces for various game middleware
Mangle stands for Minimal Abstraction Game Layer, and it's meant to
become a small set of generic interfaces for various game middleware
libraries, such as sound, input, graphics, and so on. It consists of
several independent modules, one for each of these areas. These may be
used together to build an entire game engine, or they can be used
individually as separate libraries.
However, GOOI does NOT actually implement a game engine, or any new
However, Mangle does NOT actually implement a game engine, or any new
fundamental functionality. More on that below.
Currently there is only the Sound module, but more will come in the
@ -53,24 +53,23 @@ possible.
What is it good for
-------------------
The main point of GOOI, as we said above, is that it connects to any
The main point of Mangle, as we said above, is that it connects to any
library of your choice "behind the scenes" but provides the same,
super-simple interface front-end for all of them. There can benefit
you in many ways:
- If you want to use a new library that GOOI support. You don't
have to scour the net for tutorials and usage examples, since much
of the common usage code is already included in the implementation
classes.
- If you want to use a new library that Mangle support. You don't have
to scour the net for tutorials and usage examples, since much of the
common usage code is already included in the implementation classes.
- If you don't want to pollute your code with library-specific code.
The GOOI interfaces can help you keep your code clean, and its user
interface is often simpler than the exteral library one.
The Mangle interfaces can help you keep your code clean, and its
user interface is often simpler than the exteral library one.
- If you are creating a library that depends on a specific feature
(such as sound), but you don't want to lock your users into any
specific sound library. GOOI works as an abstraction that lets your
users select their own implementation. My own Monster scripting
specific sound library. Mangle works as an abstraction that lets
your users select their own implementation. My own Monster scripting
language ( http://monsterscript.net ) will use this tactic, to
provide native-but-generic sound, input and GUI support, among other
features.
@ -82,7 +81,7 @@ you in many ways:
that your favorite backend doesn't work on all the platforms you
want to reach.
The GOOI implementations are extremely light-weight - often just one
The Mangle implementations are extremely light-weight - often just one
or two cpp/h pairs. You plug them directly into your program, there's
no separate build step required.
@ -95,22 +94,23 @@ come crashing down, because there is no big 'system' to speak of.
Past and future
---------------
GOOI started out as a spin-off from OpenMW, another project of mine
Mangle started out as a spin-off from OpenMW, another project of mine
( http://openmw.sourceforge.net ). OpenMW is an attempt to recreate
the engine behind the commercial game Morrowind, using only open
source software.
The projects are still tightly interlinked, and the will continue to
be until OpenMW is finished. That means that all near-future work on
GOOI for my part will be more or less guided by what OpenMW needs. But
I'll gladly accept external contributions that are not OpenMW-related.
Mangle for my part will be more or less guided by what OpenMW
needs. But I'll gladly accept external contributions that are not
OpenMW-related.
Conclusion
----------
As you might have guessed, GOOI is more a concept in development than
a finished library right now.
As you might have guessed, Mangle is more a concept in development
than a finished library right now.
All feedback, ideas, concepts, questions and code are very
welcome. Send them to: korslund@gmail.com

@ -18,7 +18,7 @@ static void fail(const std::string &msg)
}
using namespace audiere;
using namespace GOOI::Sound;
using namespace Mangle::Sound;
AudiereManager::AudiereManager()
{

@ -1,12 +1,12 @@
#ifndef GOOI_SOUND_AUDIERE_H
#define GOOI_SOUND_AUDIERE_H
#ifndef MANGLE_SOUND_AUDIERE_H
#define MANGLE_SOUND_AUDIERE_H
#include "../sound.h"
#include <assert.h>
#include <audiere.h>
namespace GOOI {
namespace Mangle {
namespace Sound {
/// Implementation of Sound::Manager for Audiere

@ -1,7 +1,7 @@
#include "input_ffmpeg.h"
#include <assert.h>
using namespace GOOI::Sound;
using namespace Mangle::Sound;
// Static output buffer. Not thread safe, but supports multiple
// streams operated from the same thread.

@ -1,5 +1,5 @@
#ifndef GOOI_SOUND_FFMPEG_H
#define GOOI_SOUND_FFMPEG_H
#ifndef MANGLE_SOUND_FFMPEG_H
#define MANGLE_SOUND_FFMPEG_H
#include "../input.h"
#include <exception>
@ -11,7 +11,7 @@ extern "C"
#include <libavformat/avformat.h>
}
namespace GOOI {
namespace Mangle {
namespace Sound {
/// FFmpeg exception

@ -1,11 +1,11 @@
#ifndef GOOI_FFMPEG_OPENAL_H
#define GOOI_FFMPEG_OPENAL_H
#ifndef MANGLE_FFMPEG_OPENAL_H
#define MANGLE_FFMPEG_OPENAL_H
#include "sound_pair.h"
#include "input_ffmpeg.h"
#include "output_openal.h"
namespace GOOI {
namespace Mangle {
namespace Sound {
/// A PairManager filter that adds FFmpeg decoding to OpenAL

@ -3,7 +3,7 @@
#include <vector>
using namespace GOOI::Sound;
using namespace Mangle::Sound;
// ---- Helper functions and classes ----

@ -1,5 +1,5 @@
#ifndef GOOI_SOUND_OPENAL_H
#define GOOI_SOUND_OPENAL_H
#ifndef MANGLE_SOUND_OPENAL_H
#define MANGLE_SOUND_OPENAL_H
#include "../sound.h"
@ -7,7 +7,7 @@
#include <AL/alc.h>
#include <list>
namespace GOOI {
namespace Mangle {
namespace Sound {
class OpenAL_Stream_Instance;

@ -1,11 +1,11 @@
#ifndef GOOI_SOUND_PAIR_H
#define GOOI_SOUND_PAIR_H
#ifndef MANGLE_SOUND_PAIR_H
#define MANGLE_SOUND_PAIR_H
#include "sound.h"
#include <assert.h>
namespace GOOI {
namespace Mangle {
namespace Sound {
/**

@ -1,10 +1,10 @@
#ifndef GOOI_SOUND_INPUT_H
#define GOOI_SOUND_INPUT_H
#ifndef MANGLE_SOUND_INPUT_H
#define MANGLE_SOUND_INPUT_H
#include <string>
#include <stdint.h>
namespace GOOI {
namespace Mangle {
namespace Sound {
/// An abstract interface for a read-once stream of audio data.

@ -1,10 +1,10 @@
#ifndef GOOI_SOUND_SOUND_H
#define GOOI_SOUND_SOUND_H
#ifndef MANGLE_SOUND_SOUND_H
#define MANGLE_SOUND_SOUND_H
#include <string>
#include "input.h"
namespace GOOI {
namespace Mangle {
namespace Sound {
/// Abstract interface for sound instances

@ -1,6 +1,6 @@
#include "audiere_imp.h"
using namespace GOOI::Sound;
using namespace Mangle::Sound;
AudiereManager mg;

@ -1,6 +1,6 @@
#include "openal_ffmpeg.h"
using namespace GOOI::Sound;
using namespace Mangle::Sound;
OpenAL_FFM_Manager mg;

Loading…
Cancel
Save