include: Add missing packing, structs and defines for xact3wb.h.
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
77e9ca7b4c
commit
948a6a47b8
|
@ -1,5 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2020 Alistair Leslie-Hughes
|
* Copyright (c) 2020 Alistair Leslie-Hughes
|
||||||
|
* Copyright (c) 2020 Vijay Kiran Kamuju
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
@ -18,6 +19,52 @@
|
||||||
#ifndef __XACT3WB_H__
|
#ifndef __XACT3WB_H__
|
||||||
#define __XACT3WB_H__
|
#define __XACT3WB_H__
|
||||||
|
|
||||||
|
#include <pshpack1.h>
|
||||||
|
|
||||||
|
typedef DWORD WAVEBANKOFFSET;
|
||||||
|
|
||||||
|
#define WAVEBANK_HEADER_SIGNATURE 0x444e4257 /* DNBW */
|
||||||
|
#define WAVEBANK_HEADER_VERSION 44
|
||||||
|
#define WAVEBANK_BANKNAME_LENGTH 64
|
||||||
|
#define WAVEBANK_ENTRYNAME_LENGTH 64
|
||||||
|
|
||||||
|
#define WAVEBANK_MAX_DATA_SEGMENT_SIZE 0xffffffff
|
||||||
|
#define WAVEBANK_COMPACT_DATA_SEGMENT_SIZE 0x001fffff
|
||||||
|
|
||||||
|
#define WAVEBANK_TYPE_BUFFER 0x00000000
|
||||||
|
#define WAVEBANK_TYPE_STREAMING 0x00000001
|
||||||
|
#define WAVEBANK_TYPE_MASK 0x00000001
|
||||||
|
|
||||||
|
#define WAVEBANK_FLAGS_ENTRYNAMES 0x00010000
|
||||||
|
#define WAVEBANK_FLAGS_COMPACT 0x00020000
|
||||||
|
#define WAVEBANK_FLAGS_SYNC_DISABLED 0x00040000
|
||||||
|
#define WAVEBANK_FLAGS_SEEKTABLES 0x00080000
|
||||||
|
#define WAVEBANK_FLAGS_MASK 0x000F0000
|
||||||
|
|
||||||
|
#define WAVEBANK_DVD_SECTOR_SIZE 2048
|
||||||
|
#define WAVEBANK_DVD_BLOCK_SIZE (WAVEBANK_DVD_SECTOR_SIZE * 16)
|
||||||
|
#define WAVEBANK_ALIGNMENT_MIN 4
|
||||||
|
#define WAVEBANK_ALIGNMENT_DVD WAVEBANK_DVD_SECTOR_SIZE
|
||||||
|
|
||||||
|
typedef enum WAVEBANKSEGIDX
|
||||||
|
{
|
||||||
|
WAVEBANK_SEGIDX_BANKDATA = 0,
|
||||||
|
WAVEBANK_SEGIDX_ENTRYMETADATA,
|
||||||
|
WAVEBANK_SEGIDX_SEEKTABLES,
|
||||||
|
WAVEBANK_SEGIDX_ENTRYNAMES,
|
||||||
|
WAVEBANK_SEGIDX_ENTRYWAVEDATA,
|
||||||
|
WAVEBANK_SEGIDX_COUNT
|
||||||
|
} WAVEBANKSEGIDX, *LPWAVEBANKSEGIDX;
|
||||||
|
typedef const WAVEBANKSEGIDX *LPCWAVEBANKSEGIDX;
|
||||||
|
|
||||||
|
#define WAVEBANKMINIFORMAT_TAG_PCM 0x0
|
||||||
|
#define WAVEBANKMINIFORMAT_TAG_XMA 0x1
|
||||||
|
#define WAVEBANKMINIFORMAT_TAG_ADPCM 0x2
|
||||||
|
#define WAVEBANKMINIFORMAT_TAG_WMA 0x3
|
||||||
|
|
||||||
|
#define WAVEBANKMINIFORMAT_BITDEPTH_8 0x0
|
||||||
|
#define WAVEBANKMINIFORMAT_BITDEPTH_16 0x1
|
||||||
|
|
||||||
typedef union WAVEBANKMINIWAVEFORMAT
|
typedef union WAVEBANKMINIWAVEFORMAT
|
||||||
{
|
{
|
||||||
struct
|
struct
|
||||||
|
@ -29,19 +76,34 @@ typedef union WAVEBANKMINIWAVEFORMAT
|
||||||
DWORD wBitsPerSample : 1;
|
DWORD wBitsPerSample : 1;
|
||||||
} DUMMYSTRUCTNAME;
|
} DUMMYSTRUCTNAME;
|
||||||
DWORD dwValue;
|
DWORD dwValue;
|
||||||
} WAVEBANKMINIWAVEFORMAT;
|
} WAVEBANKMINIWAVEFORMAT, *LPWAVEBANKMINIWAVEFORMAT;
|
||||||
|
typedef const WAVEBANKMINIWAVEFORMAT *LPCWAVEBANKMINIWAVEFORMAT;
|
||||||
|
|
||||||
typedef struct WAVEBANKREGION
|
typedef struct WAVEBANKREGION
|
||||||
{
|
{
|
||||||
DWORD dwOffset;
|
DWORD dwOffset;
|
||||||
DWORD dwLength;
|
DWORD dwLength;
|
||||||
} WAVEBANKREGION;
|
} WAVEBANKREGION, *LPWAVEBANKREGION;
|
||||||
|
typedef const WAVEBANKREGION *LPCWAVEBANKREGION;
|
||||||
|
|
||||||
typedef struct WAVEBANKSAMPLEREGION
|
typedef struct WAVEBANKSAMPLEREGION
|
||||||
{
|
{
|
||||||
DWORD dwStartSample;
|
DWORD dwStartSample;
|
||||||
DWORD dwTotalSamples;
|
DWORD dwTotalSamples;
|
||||||
} WAVEBANKSAMPLEREGION;
|
} WAVEBANKSAMPLEREGION, *LPWAVEBANKSAMPLEREGION;
|
||||||
|
typedef const WAVEBANKSAMPLEREGION *LPCWAVEBANKSAMPLEREGION;
|
||||||
|
|
||||||
|
typedef struct WAVEBANKHEADER
|
||||||
|
{
|
||||||
|
DWORD dwSignature;
|
||||||
|
DWORD dwVersion;
|
||||||
|
DWORD dwHeaderVersion;
|
||||||
|
WAVEBANKREGION Segments[WAVEBANK_SEGIDX_COUNT];
|
||||||
|
} WAVEBANKHEADER, *LPWAVEBANKHEADER;
|
||||||
|
typedef const WAVEBANKHEADER *LPCWAVEBANKHEADER;
|
||||||
|
|
||||||
|
#define WAVEBANKENTRY_XMASTREAMS_MAX 3
|
||||||
|
#define WAVEBANKENTRY_XMACHANNELS_MAX 6
|
||||||
|
|
||||||
typedef struct WAVEBANKENTRY
|
typedef struct WAVEBANKENTRY
|
||||||
{
|
{
|
||||||
|
@ -58,6 +120,29 @@ typedef struct WAVEBANKENTRY
|
||||||
WAVEBANKMINIWAVEFORMAT Format;
|
WAVEBANKMINIWAVEFORMAT Format;
|
||||||
WAVEBANKREGION PlayRegion;
|
WAVEBANKREGION PlayRegion;
|
||||||
WAVEBANKSAMPLEREGION LoopRegion;
|
WAVEBANKSAMPLEREGION LoopRegion;
|
||||||
} WAVEBANKENTRY;
|
} WAVEBANKENTRY, *LPWAVEBANKENTRY;
|
||||||
|
typedef const WAVEBANKENTRY *LPCWAVEBANKENTRY;
|
||||||
|
|
||||||
|
typedef struct WAVEBANKENTRYCOMPACT
|
||||||
|
{
|
||||||
|
DWORD dwOffset : 21;
|
||||||
|
DWORD dwLengthDeviation : 11;
|
||||||
|
} WAVEBANKENTRYCOMPACT, *LPWAVEBANKENTRYCOMPACT;
|
||||||
|
typedef const WAVEBANKENTRYCOMPACT *LPCWAVEBANKENTRYCOMPACT;
|
||||||
|
|
||||||
|
typedef struct WAVEBANKDATA
|
||||||
|
{
|
||||||
|
DWORD dwFlags;
|
||||||
|
DWORD dwEntryCount;
|
||||||
|
CHAR szBankName[WAVEBANK_BANKNAME_LENGTH];
|
||||||
|
DWORD dwEntryMetaDataElementSize;
|
||||||
|
DWORD dwEntryNameElementSize;
|
||||||
|
DWORD dwAlignment;
|
||||||
|
WAVEBANKMINIFORMAT CompactFormat;
|
||||||
|
FILETIME BuildTime;
|
||||||
|
} WAVEBANKDATA, *LPWAVEBANKDATA;
|
||||||
|
typedef const WAVEBANKDATA *LPCWAVEBANKDATA;
|
||||||
|
|
||||||
|
#include <poppack.h>
|
||||||
|
|
||||||
#endif /* __XACT3WB_H__ */
|
#endif /* __XACT3WB_H__ */
|
||||||
|
|
Loading…
Reference in New Issue