-
Notifications
You must be signed in to change notification settings - Fork 0
/
sphinx_eurosound_smf_file.bt
84 lines (76 loc) · 2.01 KB
/
sphinx_eurosound_smf_file.bt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
//------------------------------------------------
//--- 010 Editor v11.0.1 Binary Template
//
// File: SphinxStreamSounds.bt
// Authors: jmarti856
// Version: 1.0
// Purpose: Parse SFX Streambanks files.
// Category: Audio
// File Mask: *.sfx
// ID Bytes:
// History:
//------------------------------------------------
//*===============================================================================================
//* Typedefs for the sfx file
//*===============================================================================================
typedef char ID[4];
typedef char Padding[2];
//*===============================================================================================
//* DEFINE STRUCTS USED IN THE SFX FILE
//*===============================================================================================
//The first parameters of the header ara always little endian
LittleEndian();
typedef struct
{
uint StartMarkerCount;
uint MarkerCount;
uint StartMarkerOffset;
uint MarkerOffset;
uint BaseVolume;
}soundDetails;
typedef struct
{
int Name;
uint Position;
uint MarkerType;
uint Flags;
uint Extra;
uint LoopStart;
uint MarkerCount;
uint LoopMarkerCount;
} Marker;
typedef struct
{
uint Name;
uint Position;
uint MarkerType;
uint Flags;
uint Extra;
uint LoopStart;
uint MarkerCount;
uint LoopMarkerCount;
uint MarkerPosition;
uint IsInstant;
uint InstantBuffer;
uint StateA;
uint StateB;
}StartMarker;
//*===============================================================================================
//* READ FILE
//*===============================================================================================
// Define the headers
SetBackColor(cLtRed);
soundDetails details;
local uint markersCount = 0;
//Markers
for (markersCount = 0; markersCount < details.StartMarkerCount; markersCount++)
{
SetBackColor(cAqua);
StartMarker sMarkers;
}
//Start Markers
for (markersCount = 0; markersCount < details.MarkerCount; markersCount++)
{
SetBackColor(cLtGreen);
Marker markers;
}