186 lines
3.2 KiB
C
Executable File
186 lines
3.2 KiB
C
Executable File
//
|
|
// Audio Overload SDK
|
|
//
|
|
// Fake ao.h to set up the general Audio Overload style environment
|
|
//
|
|
|
|
#ifndef __AO_H
|
|
#define __AO_H
|
|
|
|
#define AO_SUCCESS 1
|
|
#define AO_FAIL 0
|
|
#define AO_FAIL_DECOMPRESSION -1
|
|
|
|
#define MAX_DISP_INFO_LENGTH 256
|
|
#define AUDIO_RATE (44100)
|
|
|
|
enum
|
|
{
|
|
COMMAND_NONE = 0,
|
|
COMMAND_PREV,
|
|
COMMAND_NEXT,
|
|
COMMAND_RESTART,
|
|
COMMAND_HAS_PREV,
|
|
COMMAND_HAS_NEXT,
|
|
COMMAND_GET_MIN,
|
|
COMMAND_GET_MAX,
|
|
COMMAND_JUMP
|
|
};
|
|
|
|
/* Compiler defines for Xcode */
|
|
#ifdef __BIG_ENDIAN__
|
|
#undef LSB_FIRST
|
|
#endif
|
|
|
|
#ifdef __LITTLE_ENDIAN__
|
|
#define LSB_FIRST 1
|
|
#endif
|
|
|
|
typedef unsigned char ao_bool;
|
|
|
|
#ifdef __GNUC__
|
|
#include <stddef.h> // get NULL
|
|
#include <stdbool.h>
|
|
|
|
#ifndef nil
|
|
#define nil NULL
|
|
#endif
|
|
|
|
#ifndef TRUE
|
|
#define TRUE (1)
|
|
#endif
|
|
#ifndef FALSE
|
|
#define FALSE (0)
|
|
#endif
|
|
|
|
#define xmalloc(a) malloc(a)
|
|
|
|
#endif
|
|
|
|
#ifdef _MSC_VER
|
|
#include <stddef.h> // get NULL
|
|
#include <wchar.h> // for off_t
|
|
|
|
#ifndef nil
|
|
#define nil NULL
|
|
#endif
|
|
|
|
#ifndef TRUE
|
|
#define TRUE (1)
|
|
#endif
|
|
#ifndef FALSE
|
|
#define FALSE (0)
|
|
#endif
|
|
|
|
#define true (1)
|
|
#define false (0)
|
|
|
|
#define xmalloc(a) malloc(a)
|
|
|
|
#define strcasecmp _strcmpi
|
|
|
|
#endif
|
|
|
|
#ifndef PATH_MAX
|
|
#define PATH_MAX 2048
|
|
#endif
|
|
|
|
typedef struct
|
|
{
|
|
char title[9][MAX_DISP_INFO_LENGTH];
|
|
char info[9][MAX_DISP_INFO_LENGTH];
|
|
} ao_display_info;
|
|
|
|
typedef unsigned char uint8;
|
|
typedef unsigned char UINT8;
|
|
typedef signed char int8;
|
|
typedef signed char INT8;
|
|
typedef unsigned short uint16;
|
|
typedef unsigned short UINT16;
|
|
typedef signed short int16;
|
|
typedef signed short INT16;
|
|
typedef signed int int32;
|
|
typedef unsigned int uint32;
|
|
#ifdef LONG_IS_64BIT
|
|
typedef signed long int64;
|
|
typedef unsigned long uint64;
|
|
#else
|
|
typedef signed long long int64;
|
|
typedef unsigned long long uint64;
|
|
#endif
|
|
|
|
#ifdef WIN32
|
|
#ifndef _BASETSD_H
|
|
typedef signed int INT32;
|
|
typedef unsigned int UINT32;
|
|
typedef signed long long INT64;
|
|
typedef unsigned long long UINT64;
|
|
#endif
|
|
#else
|
|
typedef signed int INT32;
|
|
typedef unsigned int UINT32;
|
|
#ifdef LONG_IS_64BIT
|
|
typedef signed long INT64;
|
|
typedef unsigned long UINT64;
|
|
#else
|
|
typedef signed long long INT64;
|
|
typedef unsigned long long UINT64;
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef INLINE
|
|
#if defined(_MSC_VER)
|
|
#define INLINE __forceinline
|
|
#elif defined(__GNUC__)
|
|
#define INLINE __inline__
|
|
#elif defined(_MWERKS_)
|
|
#define INLINE inline
|
|
#elif defined(__powerc)
|
|
#define INLINE inline
|
|
#else
|
|
#define INLINE
|
|
#endif
|
|
#endif
|
|
|
|
#if LSB_FIRST
|
|
#define LE16(x) (x)
|
|
#define LE32(x) (x)
|
|
|
|
#ifndef __ENDIAN__ /* Mac OS X Endian header has this function in it */
|
|
static unsigned long INLINE Endian32_Swap(unsigned long addr)
|
|
{
|
|
unsigned long res = (((addr&0xff000000)>>24) |
|
|
((addr&0x00ff0000)>>8) |
|
|
((addr&0x0000ff00)<<8) |
|
|
((addr&0x000000ff)<<24));
|
|
|
|
return res;
|
|
}
|
|
#endif
|
|
|
|
#else
|
|
|
|
static unsigned short INLINE LE16(unsigned short x)
|
|
{
|
|
unsigned short res = (((x & 0xFF00) >> 8) | ((x & 0xFF) << 8));
|
|
return res;
|
|
}
|
|
|
|
static unsigned long INLINE LE32(unsigned long addr)
|
|
{
|
|
unsigned long res = (((addr&0xff000000)>>24) |
|
|
((addr&0x00ff0000)>>8) |
|
|
((addr&0x0000ff00)<<8) |
|
|
((addr&0x000000ff)<<24));
|
|
|
|
return res;
|
|
}
|
|
|
|
#endif
|
|
|
|
int ao_get_lib(char *filename, uint8 **buffer, uint64 *length);
|
|
|
|
void ao_set_get_lib_callback(int (*callback)(char *, uint8 **, uint64 *));
|
|
|
|
#endif // AO_H
|