mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-02-28 13:09:40 +00:00
Renamed to MANGLE
This commit is contained in:
parent
9712fa03b7
commit
d4e75d41d4
15 changed files with 50 additions and 50 deletions
2
Doxyfile
2
Doxyfile
|
@ -25,7 +25,7 @@ DOXYFILE_ENCODING = UTF-8
|
||||||
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
|
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
|
||||||
# by quotes) that should identify the project.
|
# 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.
|
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
|
||||||
# This could be handy for archiving the generated documentation or
|
# 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:
|
'zlib/libpng' license:
|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
44
README.txt
44
README.txt
|
@ -1,21 +1,21 @@
|
||||||
Welcome to GOOI v0.1
|
Welcome to Mangle v0.1
|
||||||
--------------------
|
----------------------
|
||||||
|
|
||||||
Written by: Nicolay Korslund (korslund@gmail.com)
|
Written by: Nicolay Korslund (korslund@gmail.com)
|
||||||
License: zlib/png (see LICENSE.txt)
|
License: zlib/png (see LICENSE.txt)
|
||||||
WWW: http://asm-soft.com/gooi/
|
WWW: http://asm-soft.com/mangle/
|
||||||
Documentation: http://asm-soft.com/gooi/docs
|
Documentation: http://asm-soft.com/mangle/docs
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
GOOI stands for Game-Oriented Object Interfaces. It is meant to become
|
Mangle stands for Minimal Abstraction Game Layer, and it's meant to
|
||||||
a small set of generic interfaces for various game middleware
|
become a small set of generic interfaces for various game middleware
|
||||||
libraries, such as sound, input, graphics, and so on. It consists of
|
libraries, such as sound, input, graphics, and so on. It consists of
|
||||||
several independent modules, one for each of these areas. These may be
|
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
|
used together to build an entire game engine, or they can be used
|
||||||
individually as separate libraries.
|
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.
|
fundamental functionality. More on that below.
|
||||||
|
|
||||||
Currently there is only the Sound module, but more will come in the
|
Currently there is only the Sound module, but more will come in the
|
||||||
|
@ -53,24 +53,23 @@ possible.
|
||||||
What is it good for
|
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,
|
library of your choice "behind the scenes" but provides the same,
|
||||||
super-simple interface front-end for all of them. There can benefit
|
super-simple interface front-end for all of them. There can benefit
|
||||||
you in many ways:
|
you in many ways:
|
||||||
|
|
||||||
- If you want to use a new library that GOOI support. You don't
|
- If you want to use a new library that Mangle support. You don't have
|
||||||
have to scour the net for tutorials and usage examples, since much
|
to scour the net for tutorials and usage examples, since much of the
|
||||||
of the common usage code is already included in the implementation
|
common usage code is already included in the implementation classes.
|
||||||
classes.
|
|
||||||
|
|
||||||
- If you don't want to pollute your code with library-specific code.
|
- 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
|
The Mangle interfaces can help you keep your code clean, and its
|
||||||
interface is often simpler than the exteral library one.
|
user interface is often simpler than the exteral library one.
|
||||||
|
|
||||||
- If you are creating a library that depends on a specific feature
|
- 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
|
(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
|
specific sound library. Mangle works as an abstraction that lets
|
||||||
users select their own implementation. My own Monster scripting
|
your users select their own implementation. My own Monster scripting
|
||||||
language ( http://monsterscript.net ) will use this tactic, to
|
language ( http://monsterscript.net ) will use this tactic, to
|
||||||
provide native-but-generic sound, input and GUI support, among other
|
provide native-but-generic sound, input and GUI support, among other
|
||||||
features.
|
features.
|
||||||
|
@ -82,7 +81,7 @@ you in many ways:
|
||||||
that your favorite backend doesn't work on all the platforms you
|
that your favorite backend doesn't work on all the platforms you
|
||||||
want to reach.
|
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
|
or two cpp/h pairs. You plug them directly into your program, there's
|
||||||
no separate build step required.
|
no separate build step required.
|
||||||
|
|
||||||
|
@ -95,22 +94,23 @@ come crashing down, because there is no big 'system' to speak of.
|
||||||
Past and future
|
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
|
( http://openmw.sourceforge.net ). OpenMW is an attempt to recreate
|
||||||
the engine behind the commercial game Morrowind, using only open
|
the engine behind the commercial game Morrowind, using only open
|
||||||
source software.
|
source software.
|
||||||
|
|
||||||
The projects are still tightly interlinked, and the will continue to
|
The projects are still tightly interlinked, and the will continue to
|
||||||
be until OpenMW is finished. That means that all near-future work on
|
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
|
Mangle for my part will be more or less guided by what OpenMW
|
||||||
I'll gladly accept external contributions that are not OpenMW-related.
|
needs. But I'll gladly accept external contributions that are not
|
||||||
|
OpenMW-related.
|
||||||
|
|
||||||
|
|
||||||
Conclusion
|
Conclusion
|
||||||
----------
|
----------
|
||||||
|
|
||||||
As you might have guessed, GOOI is more a concept in development than
|
As you might have guessed, Mangle is more a concept in development
|
||||||
a finished library right now.
|
than a finished library right now.
|
||||||
|
|
||||||
All feedback, ideas, concepts, questions and code are very
|
All feedback, ideas, concepts, questions and code are very
|
||||||
welcome. Send them to: korslund@gmail.com
|
welcome. Send them to: korslund@gmail.com
|
||||||
|
|
|
@ -18,7 +18,7 @@ static void fail(const std::string &msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
using namespace audiere;
|
using namespace audiere;
|
||||||
using namespace GOOI::Sound;
|
using namespace Mangle::Sound;
|
||||||
|
|
||||||
AudiereManager::AudiereManager()
|
AudiereManager::AudiereManager()
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
#ifndef GOOI_SOUND_AUDIERE_H
|
#ifndef MANGLE_SOUND_AUDIERE_H
|
||||||
#define GOOI_SOUND_AUDIERE_H
|
#define MANGLE_SOUND_AUDIERE_H
|
||||||
|
|
||||||
#include "../sound.h"
|
#include "../sound.h"
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <audiere.h>
|
#include <audiere.h>
|
||||||
|
|
||||||
namespace GOOI {
|
namespace Mangle {
|
||||||
namespace Sound {
|
namespace Sound {
|
||||||
|
|
||||||
/// Implementation of Sound::Manager for Audiere
|
/// Implementation of Sound::Manager for Audiere
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#include "input_ffmpeg.h"
|
#include "input_ffmpeg.h"
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
using namespace GOOI::Sound;
|
using namespace Mangle::Sound;
|
||||||
|
|
||||||
// Static output buffer. Not thread safe, but supports multiple
|
// Static output buffer. Not thread safe, but supports multiple
|
||||||
// streams operated from the same thread.
|
// streams operated from the same thread.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#ifndef GOOI_SOUND_FFMPEG_H
|
#ifndef MANGLE_SOUND_FFMPEG_H
|
||||||
#define GOOI_SOUND_FFMPEG_H
|
#define MANGLE_SOUND_FFMPEG_H
|
||||||
|
|
||||||
#include "../input.h"
|
#include "../input.h"
|
||||||
#include <exception>
|
#include <exception>
|
||||||
|
@ -11,7 +11,7 @@ extern "C"
|
||||||
#include <libavformat/avformat.h>
|
#include <libavformat/avformat.h>
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace GOOI {
|
namespace Mangle {
|
||||||
namespace Sound {
|
namespace Sound {
|
||||||
|
|
||||||
/// FFmpeg exception
|
/// FFmpeg exception
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
#ifndef GOOI_FFMPEG_OPENAL_H
|
#ifndef MANGLE_FFMPEG_OPENAL_H
|
||||||
#define GOOI_FFMPEG_OPENAL_H
|
#define MANGLE_FFMPEG_OPENAL_H
|
||||||
|
|
||||||
#include "sound_pair.h"
|
#include "sound_pair.h"
|
||||||
#include "input_ffmpeg.h"
|
#include "input_ffmpeg.h"
|
||||||
#include "output_openal.h"
|
#include "output_openal.h"
|
||||||
|
|
||||||
namespace GOOI {
|
namespace Mangle {
|
||||||
namespace Sound {
|
namespace Sound {
|
||||||
|
|
||||||
/// A PairManager filter that adds FFmpeg decoding to OpenAL
|
/// A PairManager filter that adds FFmpeg decoding to OpenAL
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
using namespace GOOI::Sound;
|
using namespace Mangle::Sound;
|
||||||
|
|
||||||
|
|
||||||
// ---- Helper functions and classes ----
|
// ---- Helper functions and classes ----
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#ifndef GOOI_SOUND_OPENAL_H
|
#ifndef MANGLE_SOUND_OPENAL_H
|
||||||
#define GOOI_SOUND_OPENAL_H
|
#define MANGLE_SOUND_OPENAL_H
|
||||||
|
|
||||||
#include "../sound.h"
|
#include "../sound.h"
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@
|
||||||
#include <AL/alc.h>
|
#include <AL/alc.h>
|
||||||
#include <list>
|
#include <list>
|
||||||
|
|
||||||
namespace GOOI {
|
namespace Mangle {
|
||||||
namespace Sound {
|
namespace Sound {
|
||||||
|
|
||||||
class OpenAL_Stream_Instance;
|
class OpenAL_Stream_Instance;
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
#ifndef GOOI_SOUND_PAIR_H
|
#ifndef MANGLE_SOUND_PAIR_H
|
||||||
#define GOOI_SOUND_PAIR_H
|
#define MANGLE_SOUND_PAIR_H
|
||||||
|
|
||||||
#include "sound.h"
|
#include "sound.h"
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
namespace GOOI {
|
namespace Mangle {
|
||||||
namespace Sound {
|
namespace Sound {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
#ifndef GOOI_SOUND_INPUT_H
|
#ifndef MANGLE_SOUND_INPUT_H
|
||||||
#define GOOI_SOUND_INPUT_H
|
#define MANGLE_SOUND_INPUT_H
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
namespace GOOI {
|
namespace Mangle {
|
||||||
namespace Sound {
|
namespace Sound {
|
||||||
|
|
||||||
/// An abstract interface for a read-once stream of audio data.
|
/// An abstract interface for a read-once stream of audio data.
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
#ifndef GOOI_SOUND_SOUND_H
|
#ifndef MANGLE_SOUND_SOUND_H
|
||||||
#define GOOI_SOUND_SOUND_H
|
#define MANGLE_SOUND_SOUND_H
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include "input.h"
|
#include "input.h"
|
||||||
|
|
||||||
namespace GOOI {
|
namespace Mangle {
|
||||||
namespace Sound {
|
namespace Sound {
|
||||||
|
|
||||||
/// Abstract interface for sound instances
|
/// Abstract interface for sound instances
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#include "audiere_imp.h"
|
#include "audiere_imp.h"
|
||||||
|
|
||||||
using namespace GOOI::Sound;
|
using namespace Mangle::Sound;
|
||||||
|
|
||||||
AudiereManager mg;
|
AudiereManager mg;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#include "openal_ffmpeg.h"
|
#include "openal_ffmpeg.h"
|
||||||
|
|
||||||
using namespace GOOI::Sound;
|
using namespace Mangle::Sound;
|
||||||
|
|
||||||
OpenAL_FFM_Manager mg;
|
OpenAL_FFM_Manager mg;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue