mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-02-24 09:39:51 +00:00
Renamed to MANGLE
This commit is contained in:
parent
9712fa03b7
commit
d4e75d41d4
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
|
||||
# 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:
|
||||
|
||||
----
|
||||
|
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)
|
||||
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…
x
Reference in New Issue
Block a user