-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathUnusedButKeptCode.hx.hx
99 lines (95 loc) · 3.85 KB
/
UnusedButKeptCode.hx.hx
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
class UnusedButKeptCode
{
public var externalSoundTracks:Map<String, FlxSound>;
public dynamic function generateSong()
{
// Extra song tracks
if (extraSongData != null && extraSongData._extraTracks != null)
{
externalSoundTracks = new Map<String, FlxSound>();
var extraTracks:Array<ExternalSoundFile> = extraSongData._extraTracks;
for (extraTrack in extraTracks)
{
final characterType:String = extraTrack.side == null ? '' : extraTrack.side;
var character:String = extraTrack.character == null ? '' : extraTrack.character;
var externVocals:String = extraTrack.vocal == null ? '' : extraTrack.vocal;
if (characterType != '')
{
switch (characterType)
{
case 'dad', 'opponent', 'op':
if (character == '') character = dad.curCharacter;
if (externVocals == '') externVocals = vocalOp;
case 'boyfriend', 'bf', 'player', 'pl':
if (character == '') character = boyfriend.curCharacter;
if (externVocals == '') externVocals = vocalPl;
}
}
final type:String = extraTrack.type.toLowerCase();
final finalName:String = extraTrack.name == null ? SONG.songId : finalName;
final finalFolder:String = extraTrack.folder == null ? 'songs' : extraTrack.folder;
final finalPrefix:String = extraTrack.prefix == null ? currentPrefix : extraTrack.prefix;
final finalSuffix:String = extraTrack.suffix == null ? currentSuffix : extraTrack.suffix;
final props =
{
song: finaName,
prefix: finalPrefix,
suffix: finalSuffix,
externVocal: externVocals
};
final extensiveProps =
{
soundProps: props,
name: finalName
folder: finalFolder
};
var finalSound:Sound = null;
var volume:Float = 0.0;
switch (type)
{
case 'inst', 'instrumental', 'vocal', 'vocals':
var finalType:String = type.contains('in') ? 'INST' : 'VOCALS';
finalSound = SoundUtil.findVocalOrInst(props, type);
volume = finalType == 'INST' ? inst.volume : vocals.volume;
default:
finalSound = SoundUtil.findSound(extensiveProps, true);
volume = extraTrack.volume > 0 ? extraTrack.volume : 1;
}
if (finalSound != null && extraTrack.tag != null)
{
var sound:FlxSound = new FlxSound().loadEmbedded(finalSound);
sound.volume = volume;
if (!externalSoundTracks.exists(extraTrack.tag)) externalSoundTracks.set(extraTrack.tag, sound);
FlxG.sound.list.add(sound);
}
}
}
}
public function performESTAction(action:String = 'NONE', ?value:Dynamic = -1)
{
if (externalSoundTracks == null) return;
for (extraSoundTrack in externalSoundTracks.keys())
{
if (externalSoundTracks.exists(extraSoundTrack) && externalSoundTracks.get(extraSoundTrack) != null)
{
switch (action)
{
case 'PLAY':
externalSoundTracks.get(extraSoundTrack).time = FlxG.sound.music.time;
#if FLX_PITCH externalSoundTracks.get(extraSoundTrack).pitch = playbackRate; #end
externalSoundTracks.get(extraSoundTrack).play();
case 'PAUSE':
externalSoundTracks.get(extraSoundTrack).pause();
case 'STOP', 'SM', 'SMDA':
externalSoundTracks.get(extraSoundTrack).stop();
case 'DEACTIVATE', 'SMDA':
externalSoundTracks.get(extraSoundTrack).active = false;
case 'CHANGE VOLUME', 'SMDA':
externalSoundTracks.get(extraSoundTrack).volume = (action == 'SMDA' || action == 'SM') ? 0.0 : value;
case 'PITCH':
externalSoundTracks.get(extraSoundTrack).pitch = value;
}
}
}
}
}