author | unC0Rr |
Wed, 15 May 2024 10:05:13 +0200 | |
changeset 16042 | 2e529b1a9d5b |
parent 16035 | 1f9f971adec4 |
permissions | -rw-r--r-- |
4 | 1 |
(* |
1066 | 2 |
* Hedgewars, a free turn based strategy game |
11046 | 3 |
* Copyright (c) 2004-2015 Andrey Korotaev <unC0Rr@gmail.com> |
4 | 4 |
* |
183 | 5 |
* This program is free software; you can redistribute it and/or modify |
6 |
* it under the terms of the GNU General Public License as published by |
|
7 |
* the Free Software Foundation; version 2 of the License |
|
4 | 8 |
* |
183 | 9 |
* This program is distributed in the hope that it will be useful, |
10 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
11 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
12 |
* GNU General Public License for more details. |
|
4 | 13 |
* |
183 | 14 |
* You should have received a copy of the GNU General Public License |
15 |
* along with this program; if not, write to the Free Software |
|
10108
c68cf030eded
update FSF address. note: two sdl include files (by Sam Lantinga) still have the old FSF address in their copyright - but I ain't gonna touch their copyright headers
sheepluva
parents:
10015
diff
changeset
|
16 |
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
4 | 17 |
*) |
18 |
||
2630 | 19 |
{$INCLUDE "options.inc"} |
20 |
||
4 | 21 |
unit uSound; |
5134 | 22 |
(* |
23 |
* This unit controls the sounds and music of the game. |
|
8231
a41d84553ae8
Changed uSound.pas so that music will still play if music is enabled and sound is disabled. Effectively, isSoundEnabled represents only sound effects and does not include music (and I have replaced the places where both are concerned with a logical combination of the two).
Mitchell Kember <mk12360@gmail.com>
parents:
8191
diff
changeset
|
24 |
* Doesn't really do anything if isSoundEnabled = false and isMusicEnabled = false |
5134 | 25 |
* |
26 |
* There are three basic types of sound controls: |
|
27 |
* Music - The background music of the game: |
|
28 |
* * will only be played if isMusicEnabled = true |
|
29 |
* * can be started, changed, paused and resumed |
|
30 |
* Sound - Can be started and stopped |
|
31 |
* Looped Sound - Subtype of sound: plays in a loop using a |
|
32 |
* "channel", of which the id is returned on start. |
|
33 |
* The channel id can be used to stop a specific sound loop. |
|
34 |
*) |
|
4 | 35 |
interface |
11823
0fba6cb098a1
drop SysUtils inclusion from 5 files where it is not needed anymore
sheepluva
parents:
11776
diff
changeset
|
36 |
uses SDLh, uConsts, uTypes; |
4 | 37 |
|
7896
67217e6108fd
another stake at variable pre-initialisation - we lost preview logging in the course
koda
parents:
7848
diff
changeset
|
38 |
procedure preInitModule; |
3038 | 39 |
procedure initModule; |
40 |
procedure freeModule; |
|
2716
b9ca1bfca24f
complete the replacement of init/free wrappers for every unit
koda
parents:
2674
diff
changeset
|
41 |
|
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
42 |
procedure InitSound; // Initiates sound-system if isSoundEnabled. |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
43 |
procedure ReleaseSound(complete: boolean); // Releases sound-system and used resources. |
7061 | 44 |
procedure ResetSound; // Reset sound state to the previous state. |
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
45 |
procedure SetSound(enabled: boolean); // Enable/disable sound-system and backup status. |
13628
d5e029b84e16
Add setting to disable audio dampening if losing window focus
Wuzzy <Wuzzy2@mail.ru>
parents:
13495
diff
changeset
|
46 |
procedure SetAudioDampen(enabled: boolean); // Enable/disable automatic dampening if losing window focus. |
5134 | 47 |
|
48 |
// MUSIC |
|
49 |
||
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
50 |
// Obvious music commands for music track |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
51 |
procedure SetMusic(enabled: boolean); // Enable/disable music. |
7848
775a72905708
* fix initialisation, preload values and then read args
koda
parents:
7423
diff
changeset
|
52 |
procedure SetMusicName(musicname: shortstring); // Set name of the file to play. |
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
53 |
procedure PlayMusic; // Play music from the start. |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
54 |
procedure PauseMusic; // Pause music. |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
55 |
procedure ResumeMusic; // Resume music from pause point. |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
56 |
procedure ChangeMusic(musicname: shortstring); // Replaces music track with musicname and plays it. |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
57 |
procedure StopMusic; // Stops and releases the current track. |
5134 | 58 |
|
59 |
||
60 |
// SOUNDS |
|
61 |
||
62 |
// Plays the sound snd [from a given voicepack], |
|
63 |
// if keepPlaying is given and true, |
|
64 |
// then the sound's playback won't be interrupted if asked to play again. |
|
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
65 |
// Returns true if sound was found and is played, false otherwise. |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
66 |
function PlaySound(snd: TSound): boolean; |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
67 |
function PlaySound(snd: TSound; keepPlaying: boolean): boolean; |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
68 |
function PlaySound(snd: TSound; keepPlaying: boolean; ignoreMask: boolean): boolean; |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
69 |
function PlaySound(snd: TSound; keepPlaying, ignoreMask, soundAsMusic: boolean): boolean; |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
70 |
function PlaySoundV(snd: TSound; voicepack: PVoicepack): boolean; |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
71 |
function PlaySoundV(snd: TSound; voicepack: PVoicepack; keepPlaying: boolean): boolean; |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
72 |
function PlaySoundV(snd: TSound; voicepack: PVoicepack; keepPlaying, ignoreMask: boolean): boolean; |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
73 |
function PlaySoundV(snd: TSound; voicepack: PVoicepack; keepPlaying, ignoreMask, soundAsMusic: boolean): boolean; |
13996
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
74 |
|
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
75 |
// Plays/stops a sound to replace the main background music temporarily. |
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
76 |
procedure PlayMusicSound(snd: TSound); |
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
77 |
procedure StopMusicSound(snd: TSound); |
5134 | 78 |
|
79 |
// Plays sound snd [of voicepack] in a loop, but starts with fadems milliseconds of fade-in. |
|
80 |
// Returns sound channel of the looped sound. |
|
3529 | 81 |
function LoopSound(snd: TSound): LongInt; |
4956
48e1f9a04c28
usound: added function for loops with fade in and out
koda
parents:
4948
diff
changeset
|
82 |
function LoopSound(snd: TSound; fadems: LongInt): LongInt; |
10995
7faaef306837
fallback to Default voicepack if specified voicepack is not available
sheepluva
parents:
10510
diff
changeset
|
83 |
function LoopSoundV(snd: TSound; voicepack: PVoicepack): LongInt; |
7053 | 84 |
function LoopSoundV(snd: TSound; voicepack: PVoicepack; fadems: LongInt): LongInt; |
5134 | 85 |
|
86 |
// Stops the normal/looped sound of the given type/in the given channel |
|
87 |
// [with a fade-out effect for fadems milliseconds]. |
|
282 | 88 |
procedure StopSound(snd: TSound); |
13996
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
89 |
procedure StopSound(snd: TSound; soundAsMusic: boolean); |
7053 | 90 |
procedure StopSoundChan(chn: LongInt); |
91 |
procedure StopSoundChan(chn, fadems: LongInt); |
|
5134 | 92 |
|
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
93 |
// Add voice to the voice queue |
5638
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
94 |
procedure AddVoice(snd: TSound; voicepack: PVoicepack); |
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
95 |
procedure AddVoice(snd: TSound; voicepack: PVoicepack; ignoreMask, isFallback: boolean); |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
96 |
|
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
97 |
// Actually play next voice |
5638
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
98 |
procedure PlayNextVoice; |
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
99 |
|
5134 | 100 |
|
7403 | 101 |
// GLOBAL FUNCTIONS |
102 |
||
103 |
// Drastically lower the volume when we lose focus (and restore the previous value). |
|
104 |
procedure DampenAudio; |
|
105 |
procedure UndampenAudio; |
|
106 |
||
107 |
// Mute/Unmute audio |
|
108 |
procedure MuteAudio; |
|
109 |
||
110 |
||
5134 | 111 |
// MISC |
112 |
||
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
113 |
// Set the initial volume |
7848
775a72905708
* fix initialisation, preload values and then read args
koda
parents:
7423
diff
changeset
|
114 |
procedure SetVolume(vol: LongInt); |
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
115 |
|
5134 | 116 |
// Modifies the sound volume of the game by voldelta and returns the new volume level. |
2515
51d3f4b6293a
revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents:
2501
diff
changeset
|
117 |
function ChangeVolume(voldelta: LongInt): LongInt; |
5134 | 118 |
|
14703
204fb862d0e4
Prevent displaying "Volume: 0%" when not exactly 0
Wuzzy <Wuzzy2@mail.ru>
parents:
14619
diff
changeset
|
119 |
// Returns the current volume in percent. Intended for display on UI. |
13039
aed4b25ff242
Fix volume caption not being shown when hitting mute key
Wuzzy <Wuzzy2@mail.ru>
parents:
12915
diff
changeset
|
120 |
function GetVolumePercent(): LongInt; |
aed4b25ff242
Fix volume caption not being shown when hitting mute key
Wuzzy <Wuzzy2@mail.ru>
parents:
12915
diff
changeset
|
121 |
|
5134 | 122 |
// Returns a pointer to the voicepack with the given name. |
2515
51d3f4b6293a
revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents:
2501
diff
changeset
|
123 |
function AskForVoicepack(name: shortstring): Pointer; |
4 | 124 |
|
10254 | 125 |
var MusicFN: shortstring; // music file name |
126 |
SDMusicFN: shortstring; // SD music file name |
|
12915 | 127 |
FallbackMusicFN: shortstring; // fallback music file name |
128 |
FallbackSDMusicFN: shortstring; // fallback SD music fille name |
|
1097 | 129 |
|
8471
7681d14b9f01
Trying to prevent audio mute from endlessly spamming. Untested.
nemo
parents:
8370
diff
changeset
|
130 |
var Volume: LongInt; |
7681d14b9f01
Trying to prevent audio mute from endlessly spamming. Untested.
nemo
parents:
8370
diff
changeset
|
131 |
SoundTimerTicks: Longword; |
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
132 |
LastVoiceFailed: boolean; |
4 | 133 |
implementation |
12621 | 134 |
uses uVariables, uConsole, uCommands, uDebug, uPhysFSLayer; |
564 | 135 |
|
3418 | 136 |
const chanTPU = 32; |
8471
7681d14b9f01
Trying to prevent audio mute from endlessly spamming. Untested.
nemo
parents:
8370
diff
changeset
|
137 |
var cInitVolume: LongInt; |
7403 | 138 |
previousVolume: LongInt; // cached volume value |
2716
b9ca1bfca24f
complete the replacement of init/free wrappers for every unit
koda
parents:
2674
diff
changeset
|
139 |
lastChan: array [TSound] of LongInt; |
b9ca1bfca24f
complete the replacement of init/free wrappers for every unit
koda
parents:
2674
diff
changeset
|
140 |
voicepacks: array[0..cMaxTeams] of TVoicepack; |
b9ca1bfca24f
complete the replacement of init/free wrappers for every unit
koda
parents:
2674
diff
changeset
|
141 |
defVoicepack: PVoicepack; |
7848
775a72905708
* fix initialisation, preload values and then read args
koda
parents:
7423
diff
changeset
|
142 |
Mus: PMixMusic; // music pointer |
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
143 |
isMusicEnabled: boolean; |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
144 |
isSoundEnabled: boolean; |
13628
d5e029b84e16
Add setting to disable audio dampening if losing window focus
Wuzzy <Wuzzy2@mail.ru>
parents:
13495
diff
changeset
|
145 |
isAutoDampening: boolean; |
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
146 |
isSEBackup: boolean; |
8145
6408c0ba4ba1
Move global variables to units that use them
Joe Doyle (Ginto8) <ginto8@gmail.com>
parents:
8046
diff
changeset
|
147 |
VoiceList : array[0..7] of TVoice = ( |
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
148 |
( snd: sndNone; voicepack: nil; isFallback: false), |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
149 |
( snd: sndNone; voicepack: nil; isFallback: false), |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
150 |
( snd: sndNone; voicepack: nil; isFallback: false), |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
151 |
( snd: sndNone; voicepack: nil; isFallback: false), |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
152 |
( snd: sndNone; voicepack: nil; isFallback: false), |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
153 |
( snd: sndNone; voicepack: nil; isFallback: false), |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
154 |
( snd: sndNone; voicepack: nil; isFallback: false), |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
155 |
( snd: sndNone; voicepack: nil; isFallback: false)); |
8145
6408c0ba4ba1
Move global variables to units that use them
Joe Doyle (Ginto8) <ginto8@gmail.com>
parents:
8046
diff
changeset
|
156 |
Soundz: array[TSound] of record |
6408c0ba4ba1
Move global variables to units that use them
Joe Doyle (Ginto8) <ginto8@gmail.com>
parents:
8046
diff
changeset
|
157 |
FileName: string[31]; |
11873
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
158 |
Path, AltPath : TPathType; |
8145
6408c0ba4ba1
Move global variables to units that use them
Joe Doyle (Ginto8) <ginto8@gmail.com>
parents:
8046
diff
changeset
|
159 |
end = ( |
11873
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
160 |
(FileName: ''; Path: ptNone; AltPath: ptNone),// sndNone |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
161 |
(FileName: 'grenadeimpact.ogg'; Path: ptSounds; AltPath: ptNone),// sndGrenadeImpact |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
162 |
(FileName: 'explosion.ogg'; Path: ptSounds; AltPath: ptNone),// sndExplosion |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
163 |
(FileName: 'throwpowerup.ogg'; Path: ptSounds; AltPath: ptNone),// sndThrowPowerUp |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
164 |
(FileName: 'throwrelease.ogg'; Path: ptSounds; AltPath: ptNone),// sndThrowRelease |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
165 |
(FileName: 'splash.ogg'; Path: ptCurrTheme; AltPath: ptSounds),// sndSplash |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
166 |
(FileName: 'shotgunreload.ogg'; Path: ptSounds; AltPath: ptNone),// sndShotgunReload |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
167 |
(FileName: 'shotgunfire.ogg'; Path: ptSounds; AltPath: ptNone),// sndShotgunFire |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
168 |
(FileName: 'graveimpact.ogg'; Path: ptSounds; AltPath: ptNone),// sndGraveImpact |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
169 |
(FileName: 'mineimpact.ogg'; Path: ptSounds; AltPath: ptNone),// sndMineImpact |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
170 |
(FileName: 'minetick.ogg'; Path: ptSounds; AltPath: ptNone),// sndMineTicks |
14009
c28a4f76d37d
Add separate sound symbols for case impact and extra damage
Wuzzy <Wuzzy2@mail.ru>
parents:
14006
diff
changeset
|
171 |
// TODO: New mudball sound? |
11873
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
172 |
(FileName: 'Droplet1.ogg'; Path: ptSounds; AltPath: ptNone),// sndMudballImpact |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
173 |
(FileName: 'pickhammer.ogg'; Path: ptSounds; AltPath: ptNone),// sndPickhammer |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
174 |
(FileName: 'gun.ogg'; Path: ptSounds; AltPath: ptNone),// sndGun |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
175 |
(FileName: 'bee.ogg'; Path: ptSounds; AltPath: ptNone),// sndBee |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
176 |
(FileName: 'Jump1.ogg'; Path: ptVoices; AltPath: ptNone),// sndJump1 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
177 |
(FileName: 'Jump2.ogg'; Path: ptVoices; AltPath: ptNone),// sndJump2 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
178 |
(FileName: 'Jump3.ogg'; Path: ptVoices; AltPath: ptNone),// sndJump3 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
179 |
(FileName: 'Yessir.ogg'; Path: ptVoices; AltPath: ptNone),// sndYesSir |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
180 |
(FileName: 'Laugh.ogg'; Path: ptVoices; AltPath: ptNone),// sndLaugh |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
181 |
(FileName: 'Illgetyou.ogg'; Path: ptVoices; AltPath: ptNone),// sndIllGetYou |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
182 |
(FileName: 'Justyouwait.ogg'; Path: ptVoices; AltPath: ptNone),// sndJustyouwait |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
183 |
(FileName: 'Incoming.ogg'; Path: ptVoices; AltPath: ptNone),// sndIncoming |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
184 |
(FileName: 'Missed.ogg'; Path: ptVoices; AltPath: ptNone),// sndMissed |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
185 |
(FileName: 'Stupid.ogg'; Path: ptVoices; AltPath: ptNone),// sndStupid |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
186 |
(FileName: 'Firstblood.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirstBlood |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
187 |
(FileName: 'Boring.ogg'; Path: ptVoices; AltPath: ptNone),// sndBoring |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
188 |
(FileName: 'Byebye.ogg'; Path: ptVoices; AltPath: ptNone),// sndByeBye |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
189 |
(FileName: 'Sameteam.ogg'; Path: ptVoices; AltPath: ptNone),// sndSameTeam |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
190 |
(FileName: 'Nutter.ogg'; Path: ptVoices; AltPath: ptNone),// sndNutter |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
191 |
(FileName: 'Reinforcements.ogg'; Path: ptVoices; AltPath: ptNone),// sndReinforce |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
192 |
(FileName: 'Traitor.ogg'; Path: ptVoices; AltPath: ptNone),// sndTraitor |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
193 |
(FileName: 'Youllregretthat.ogg'; Path: ptVoices; AltPath: ptNone),// sndRegret |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
194 |
(FileName: 'Enemydown.ogg'; Path: ptVoices; AltPath: ptNone),// sndEnemyDown |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
195 |
(FileName: 'Coward.ogg'; Path: ptVoices; AltPath: ptNone),// sndCoward |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
196 |
(FileName: 'Hurry.ogg'; Path: ptVoices; AltPath: ptNone),// sndHurry |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
197 |
(FileName: 'Watchit.ogg'; Path: ptVoices; AltPath: ptNone),// sndWatchIt |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
198 |
(FileName: 'Kamikaze.ogg'; Path: ptVoices; AltPath: ptNone),// sndKamikaze |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
199 |
(FileName: 'cake2.ogg'; Path: ptSounds; AltPath: ptNone),// sndCake |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
200 |
(FileName: 'Ow1.ogg'; Path: ptVoices; AltPath: ptNone),// sndOw1 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
201 |
(FileName: 'Ow2.ogg'; Path: ptVoices; AltPath: ptNone),// sndOw2 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
202 |
(FileName: 'Ow3.ogg'; Path: ptVoices; AltPath: ptNone),// sndOw3 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
203 |
(FileName: 'Ow4.ogg'; Path: ptVoices; AltPath: ptNone),// sndOw4 |
13287
29055da6a6cd
Fix broken fallback to sndFirePunch1 if sndFirePunch{2,6} is missing
Wuzzy <Wuzzy2@mail.ru>
parents:
13161
diff
changeset
|
204 |
(FileName: 'Firepunch1.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirePunch1 |
29055da6a6cd
Fix broken fallback to sndFirePunch1 if sndFirePunch{2,6} is missing
Wuzzy <Wuzzy2@mail.ru>
parents:
13161
diff
changeset
|
205 |
(FileName: 'Firepunch2.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirePunch2 |
29055da6a6cd
Fix broken fallback to sndFirePunch1 if sndFirePunch{2,6} is missing
Wuzzy <Wuzzy2@mail.ru>
parents:
13161
diff
changeset
|
206 |
(FileName: 'Firepunch3.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirePunch3 |
29055da6a6cd
Fix broken fallback to sndFirePunch1 if sndFirePunch{2,6} is missing
Wuzzy <Wuzzy2@mail.ru>
parents:
13161
diff
changeset
|
207 |
(FileName: 'Firepunch4.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirePunch4 |
29055da6a6cd
Fix broken fallback to sndFirePunch1 if sndFirePunch{2,6} is missing
Wuzzy <Wuzzy2@mail.ru>
parents:
13161
diff
changeset
|
208 |
(FileName: 'Firepunch5.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirePunch5 |
29055da6a6cd
Fix broken fallback to sndFirePunch1 if sndFirePunch{2,6} is missing
Wuzzy <Wuzzy2@mail.ru>
parents:
13161
diff
changeset
|
209 |
(FileName: 'Firepunch6.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirePunch6 |
11873
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
210 |
(FileName: 'Melon.ogg'; Path: ptVoices; AltPath: ptNone),// sndMelon |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
211 |
(FileName: 'Hellish.ogg'; Path: ptSounds; AltPath: ptNone),// sndHellish |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
212 |
(FileName: 'Yoohoo.ogg'; Path: ptSounds; AltPath: ptNone),// sndYoohoo |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
213 |
(FileName: 'rcplane.ogg'; Path: ptSounds; AltPath: ptNone),// sndRCPlane |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
214 |
(FileName: 'whipcrack.ogg'; Path: ptSounds; AltPath: ptNone),// sndWhipCrack |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
215 |
(FileName:'ride_of_the_valkyries.ogg'; Path: ptSounds; AltPath: ptNone),// sndRideOfTheValkyries |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
216 |
(FileName: 'denied.ogg'; Path: ptSounds; AltPath: ptNone),// sndDenied |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
217 |
(FileName: 'placed.ogg'; Path: ptSounds; AltPath: ptNone),// sndPlaced |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
218 |
(FileName: 'baseballbat.ogg'; Path: ptSounds; AltPath: ptNone),// sndBaseballBat |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
219 |
(FileName: 'steam.ogg'; Path: ptSounds; AltPath: ptNone),// sndVaporize |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
220 |
(FileName: 'warp.ogg'; Path: ptSounds; AltPath: ptNone),// sndWarp |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
221 |
(FileName: 'suddendeath.ogg'; Path: ptSounds; AltPath: ptNone),// sndSuddenDeath |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
222 |
(FileName: 'mortar.ogg'; Path: ptSounds; AltPath: ptNone),// sndMortar |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
223 |
(FileName: 'shutterclick.ogg'; Path: ptSounds; AltPath: ptNone),// sndShutter |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
224 |
(FileName: 'homerun.ogg'; Path: ptSounds; AltPath: ptNone),// sndHomerun |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
225 |
(FileName: 'molotov.ogg'; Path: ptSounds; AltPath: ptNone),// sndMolotov |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
226 |
(FileName: 'Takecover.ogg'; Path: ptVoices; AltPath: ptNone),// sndCover |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
227 |
(FileName: 'Uh-oh.ogg'; Path: ptVoices; AltPath: ptNone),// sndUhOh |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
228 |
(FileName: 'Oops.ogg'; Path: ptVoices; AltPath: ptNone),// sndOops |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
229 |
(FileName: 'Nooo.ogg'; Path: ptVoices; AltPath: ptNone),// sndNooo |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
230 |
(FileName: 'Hello.ogg'; Path: ptVoices; AltPath: ptNone),// sndHello |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
231 |
(FileName: 'ropeshot.ogg'; Path: ptSounds; AltPath: ptNone),// sndRopeShot |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
232 |
(FileName: 'ropeattach.ogg'; Path: ptSounds; AltPath: ptNone),// sndRopeAttach |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
233 |
(FileName: 'roperelease.ogg'; Path: ptSounds; AltPath: ptNone),// sndRopeRelease |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
234 |
(FileName: 'switchhog.ogg'; Path: ptSounds; AltPath: ptNone),// sndSwitchHog |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
235 |
(FileName: 'Victory.ogg'; Path: ptVoices; AltPath: ptNone),// sndVictory |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
236 |
(FileName: 'Flawless.ogg'; Path: ptVoices; AltPath: ptNone),// sndFlawless |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
237 |
(FileName: 'sniperreload.ogg'; Path: ptSounds; AltPath: ptNone),// sndSniperReload |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
238 |
(FileName: 'steps.ogg'; Path: ptSounds; AltPath: ptNone),// sndSteps |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
239 |
(FileName: 'lowgravity.ogg'; Path: ptSounds; AltPath: ptNone),// sndLowGravity |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
240 |
(FileName: 'hell_growl.ogg'; Path: ptSounds; AltPath: ptNone),// sndHellishImpact1 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
241 |
(FileName: 'hell_ooff.ogg'; Path: ptSounds; AltPath: ptNone),// sndHellishImpact2 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
242 |
(FileName: 'hell_ow.ogg'; Path: ptSounds; AltPath: ptNone),// sndHellishImpact3 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
243 |
(FileName: 'hell_ugh.ogg'; Path: ptSounds; AltPath: ptNone),// sndHellishImpact4 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
244 |
(FileName: 'melonimpact.ogg'; Path: ptSounds; AltPath: ptNone),// sndMelonImpact |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
245 |
(FileName: 'Droplet1.ogg'; Path: ptCurrTheme; AltPath: ptSounds),// sndDroplet1 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
246 |
(FileName: 'Droplet2.ogg'; Path: ptCurrTheme; AltPath: ptSounds),// sndDroplet2 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
247 |
(FileName: 'Droplet3.ogg'; Path: ptCurrTheme; AltPath: ptSounds),// sndDroplet3 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
248 |
(FileName: 'egg.ogg'; Path: ptSounds; AltPath: ptNone),// sndEggBreak |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
249 |
(FileName: 'drillgun.ogg'; Path: ptSounds; AltPath: ptNone),// sndDrillRocket |
14840
fba15e2f5e5b
Poison taunts: Fall back to Default voice if missing
Wuzzy <Wuzzy2@mail.ru>
parents:
14703
diff
changeset
|
250 |
(FileName: 'PoisonCough.ogg'; Path: ptVoices; AltPath: ptDefaultVoice),// sndPoisonCough |
fba15e2f5e5b
Poison taunts: Fall back to Default voice if missing
Wuzzy <Wuzzy2@mail.ru>
parents:
14703
diff
changeset
|
251 |
(FileName: 'PoisonMoan.ogg'; Path: ptVoices; AltPath: ptDefaultVoice),// sndPoisonMoan |
11873
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
252 |
(FileName: 'BirdyLay.ogg'; Path: ptSounds; AltPath: ptNone),// sndBirdyLay |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
253 |
(FileName: 'Whistle.ogg'; Path: ptSounds; AltPath: ptNone),// sndWhistle |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
254 |
(FileName: 'beewater.ogg'; Path: ptSounds; AltPath: ptNone),// sndBeeWater |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
255 |
(FileName: '1C.ogg'; Path: ptSounds; AltPath: ptNone),// sndPiano0 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
256 |
(FileName: '2D.ogg'; Path: ptSounds; AltPath: ptNone),// sndPiano1 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
257 |
(FileName: '3E.ogg'; Path: ptSounds; AltPath: ptNone),// sndPiano2 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
258 |
(FileName: '4F.ogg'; Path: ptSounds; AltPath: ptNone),// sndPiano3 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
259 |
(FileName: '5G.ogg'; Path: ptSounds; AltPath: ptNone),// sndPiano4 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
260 |
(FileName: '6A.ogg'; Path: ptSounds; AltPath: ptNone),// sndPiano5 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
261 |
(FileName: '7B.ogg'; Path: ptSounds; AltPath: ptNone),// sndPiano6 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
262 |
(FileName: '8C.ogg'; Path: ptSounds; AltPath: ptNone),// sndPiano7 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
263 |
(FileName: '9D.ogg'; Path: ptSounds; AltPath: ptNone),// sndPiano8 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
264 |
(FileName: 'skip.ogg'; Path: ptCurrTheme; AltPath: ptSounds),// sndSkip |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
265 |
(FileName: 'sinegun.ogg'; Path: ptSounds; AltPath: ptNone),// sndSineGun |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
266 |
(FileName: 'Ooff1.ogg'; Path: ptVoices; AltPath: ptNone),// sndOoff1 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
267 |
(FileName: 'Ooff2.ogg'; Path: ptVoices; AltPath: ptNone),// sndOoff2 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
268 |
(FileName: 'Ooff3.ogg'; Path: ptVoices; AltPath: ptNone),// sndOoff3 |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
269 |
(FileName: 'hammer.ogg'; Path: ptSounds; AltPath: ptNone),// sndWhack |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
270 |
(FileName: 'Comeonthen.ogg'; Path: ptVoices; AltPath: ptNone),// sndComeonthen |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
271 |
(FileName: 'parachute.ogg'; Path: ptSounds; AltPath: ptNone),// sndParachute |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
272 |
(FileName: 'bump.ogg'; Path: ptSounds; AltPath: ptNone),// sndBump |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
273 |
(FileName: 'hogchant3.ogg'; Path: ptSounds; AltPath: ptNone),// sndResurrector |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
274 |
(FileName: 'plane.ogg'; Path: ptSounds; AltPath: ptNone),// sndPlane |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
275 |
(FileName: 'TARDIS.ogg'; Path: ptSounds; AltPath: ptNone),// sndTardis |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
276 |
(FileName: 'frozen_hog_impact.ogg'; Path: ptSounds; AltPath: ptNone),// sndFrozenHogImpact |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
277 |
(FileName: 'ice_beam.ogg'; Path: ptSounds; AltPath: ptNone),// sndIceBeam |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
278 |
(FileName: 'hog_freeze.ogg'; Path: ptSounds; AltPath: ptNone), // sndHogFreeze |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
279 |
(FileName: 'airmine_impact.ogg'; Path: ptSounds; AltPath: ptNone),// sndAirMineImpact |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
280 |
(FileName: 'knife_impact.ogg'; Path: ptSounds; AltPath: ptNone),// sndKnifeImpact |
11911
6145efcff302
Add sounds for blowtorch, invuln., f. saucer, lasersight, portal gun
Wuzzy <almikes@aol.com>
parents:
11874
diff
changeset
|
281 |
(FileName: 'extratime.ogg'; Path: ptSounds; AltPath: ptNone),// sndExtraTime |
6145efcff302
Add sounds for blowtorch, invuln., f. saucer, lasersight, portal gun
Wuzzy <almikes@aol.com>
parents:
11874
diff
changeset
|
282 |
(FileName: 'lasersight.ogg'; Path: ptSounds; AltPath: ptNone),// sndLaserSight |
6145efcff302
Add sounds for blowtorch, invuln., f. saucer, lasersight, portal gun
Wuzzy <almikes@aol.com>
parents:
11874
diff
changeset
|
283 |
(FileName: 'invulnerable.ogg'; Path: ptSounds; AltPath: ptNone),// sndInvulnerable |
6145efcff302
Add sounds for blowtorch, invuln., f. saucer, lasersight, portal gun
Wuzzy <almikes@aol.com>
parents:
11874
diff
changeset
|
284 |
(FileName: 'ufo.ogg'; Path: ptSounds; AltPath: ptNone),// sndJetpackLaunch |
6145efcff302
Add sounds for blowtorch, invuln., f. saucer, lasersight, portal gun
Wuzzy <almikes@aol.com>
parents:
11874
diff
changeset
|
285 |
(FileName: 'jetpackboost.ogg'; Path: ptSounds; AltPath: ptNone),// sndJetpackBoost |
6145efcff302
Add sounds for blowtorch, invuln., f. saucer, lasersight, portal gun
Wuzzy <almikes@aol.com>
parents:
11874
diff
changeset
|
286 |
(FileName: 'portalshot.ogg'; Path: ptSounds; AltPath: ptNone),// sndPortalShot |
6145efcff302
Add sounds for blowtorch, invuln., f. saucer, lasersight, portal gun
Wuzzy <almikes@aol.com>
parents:
11874
diff
changeset
|
287 |
(FileName: 'portalswitch.ogg'; Path: ptSounds; AltPath: ptNone),// sndPortalSwitch |
6145efcff302
Add sounds for blowtorch, invuln., f. saucer, lasersight, portal gun
Wuzzy <almikes@aol.com>
parents:
11874
diff
changeset
|
288 |
(FileName: 'portalopen.ogg'; Path: ptSounds; AltPath: ptNone),// sndPortalOpen |
11914
c9bad8a01185
Play countdown sounds for 4-1 remaining seconds and “boring” voice on timeout
Wuzzy <almikes@aol.com>
parents:
11911
diff
changeset
|
289 |
(FileName: 'blowtorch.ogg'; Path: ptSounds; AltPath: ptNone),// sndBlowTorch |
c9bad8a01185
Play countdown sounds for 4-1 remaining seconds and “boring” voice on timeout
Wuzzy <almikes@aol.com>
parents:
11911
diff
changeset
|
290 |
(FileName: 'countdown1.ogg'; Path: ptSounds; AltPath: ptNone),// sndCountdown1 |
c9bad8a01185
Play countdown sounds for 4-1 remaining seconds and “boring” voice on timeout
Wuzzy <almikes@aol.com>
parents:
11911
diff
changeset
|
291 |
(FileName: 'countdown2.ogg'; Path: ptSounds; AltPath: ptNone),// sndCountdown2 |
c9bad8a01185
Play countdown sounds for 4-1 remaining seconds and “boring” voice on timeout
Wuzzy <almikes@aol.com>
parents:
11911
diff
changeset
|
292 |
(FileName: 'countdown3.ogg'; Path: ptSounds; AltPath: ptNone),// sndCountdown3 |
12194
ac9cf0cf40ee
Add sounds for rubberduck drop, destruction and water collision
Wuzzy <almikes@aol.com>
parents:
11914
diff
changeset
|
293 |
(FileName: 'countdown4.ogg'; Path: ptSounds; AltPath: ptNone),// sndCountdown4 |
13872
f01798038c2e
Rename amDuck and related symbols to amCreeper, gtCreeper, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
13628
diff
changeset
|
294 |
// TODO: Check which creeper (formerly rubberduck) sounds are needed, maybe rename them |
f01798038c2e
Rename amDuck and related symbols to amCreeper, gtCreeper, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
13628
diff
changeset
|
295 |
(FileName: 'rubberduck_drop.ogg'; Path: ptSounds; AltPath: ptNone),// sndCreeperDrop |
f01798038c2e
Rename amDuck and related symbols to amCreeper, gtCreeper, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
13628
diff
changeset
|
296 |
(FileName: 'rubberduck_water.ogg'; Path: ptSounds; AltPath: ptNone),// sndCreeperWater |
f01798038c2e
Rename amDuck and related symbols to amCreeper, gtCreeper, etc.
Wuzzy <Wuzzy2@mail.ru>
parents:
13628
diff
changeset
|
297 |
(FileName: 'rubberduck_die.ogg'; Path: ptSounds; AltPath: ptNone),// sndCreeperDie |
12668
308846e05154
extend overridable graphics/sounds to 8 of each, for lua scripters who really like having their own sprites/sounds. these should not be used in the engine.
nemo
parents:
12621
diff
changeset
|
298 |
(FileName: 'custom1.ogg'; Path: ptSounds; AltPath: ptNone),// sndCustom1 |
308846e05154
extend overridable graphics/sounds to 8 of each, for lua scripters who really like having their own sprites/sounds. these should not be used in the engine.
nemo
parents:
12621
diff
changeset
|
299 |
(FileName: 'custom2.ogg'; Path: ptSounds; AltPath: ptNone),// sndCustom2 |
308846e05154
extend overridable graphics/sounds to 8 of each, for lua scripters who really like having their own sprites/sounds. these should not be used in the engine.
nemo
parents:
12621
diff
changeset
|
300 |
(FileName: 'custom3.ogg'; Path: ptSounds; AltPath: ptNone),// sndCustom3 |
308846e05154
extend overridable graphics/sounds to 8 of each, for lua scripters who really like having their own sprites/sounds. these should not be used in the engine.
nemo
parents:
12621
diff
changeset
|
301 |
(FileName: 'custom4.ogg'; Path: ptSounds; AltPath: ptNone),// sndCustom4 |
308846e05154
extend overridable graphics/sounds to 8 of each, for lua scripters who really like having their own sprites/sounds. these should not be used in the engine.
nemo
parents:
12621
diff
changeset
|
302 |
(FileName: 'custom5.ogg'; Path: ptSounds; AltPath: ptNone),// sndCustom5 |
308846e05154
extend overridable graphics/sounds to 8 of each, for lua scripters who really like having their own sprites/sounds. these should not be used in the engine.
nemo
parents:
12621
diff
changeset
|
303 |
(FileName: 'custom6.ogg'; Path: ptSounds; AltPath: ptNone),// sndCustom6 |
308846e05154
extend overridable graphics/sounds to 8 of each, for lua scripters who really like having their own sprites/sounds. these should not be used in the engine.
nemo
parents:
12621
diff
changeset
|
304 |
(FileName: 'custom7.ogg'; Path: ptSounds; AltPath: ptNone),// sndCustom7 |
13161 | 305 |
(FileName: 'custom8.ogg'; Path: ptSounds; AltPath: ptNone),// sndCustom8 |
14004 | 306 |
(FileName: 'minigun.ogg'; Path: ptSounds; AltPath: ptNone),// sndMinigun |
14005 | 307 |
(FileName: 'flamethrower.ogg'; Path: ptSounds; AltPath: ptNone),// sndFlamethrower |
14006 | 308 |
(FileName: 'ice_beam_idle.ogg'; Path: ptSounds; AltPath: ptNone),// sndIceBeamIdle |
14009
c28a4f76d37d
Add separate sound symbols for case impact and extra damage
Wuzzy <Wuzzy2@mail.ru>
parents:
14006
diff
changeset
|
309 |
(FileName: 'landgun.ogg'; Path: ptSounds; AltPath: ptNone),// sndLandGun |
c28a4f76d37d
Add separate sound symbols for case impact and extra damage
Wuzzy <Wuzzy2@mail.ru>
parents:
14006
diff
changeset
|
310 |
(FileName: 'graveimpact.ogg'; Path: ptSounds; AltPath: ptNone),// sndCaseImpact |
c28a4f76d37d
Add separate sound symbols for case impact and extra damage
Wuzzy <Wuzzy2@mail.ru>
parents:
14006
diff
changeset
|
311 |
// TODO: New Extra Damage sound |
14020 | 312 |
(FileName: 'hell_ugh.ogg'; Path: ptSounds; AltPath: ptNone),// sndExtraDamage |
14032
3c40754f6cfe
Add Grenade taunt when grenade close to hog is about to blow up
Wuzzy <Wuzzy2@mail.ru>
parents:
14020
diff
changeset
|
313 |
(FileName: 'firepunch_hit.ogg'; Path: ptSounds; AltPath: ptNone),// sndFirePunchHit |
14035 | 314 |
(FileName: 'Grenade.ogg'; Path: ptVoices; AltPath: ptNone),// sndGrenade |
315 |
(FileName: 'Thisoneismine.ogg'; Path: ptVoices; AltPath: ptNone),// sndThisOneIsMine |
|
316 |
(FileName: 'Whatthe.ogg'; Path: ptVoices; AltPath: ptNone),// sndWhatThe |
|
317 |
(FileName: 'Solong.ogg'; Path: ptVoices; AltPath: ptNone),// sndSoLong |
|
318 |
(FileName: 'Ohdear.ogg'; Path: ptVoices; AltPath: ptNone),// sndOhDear |
|
319 |
(FileName: 'Gonnagetyou.ogg'; Path: ptVoices; AltPath: ptNone),// sndGonnaGetYou |
|
320 |
(FileName: 'Drat.ogg'; Path: ptVoices; AltPath: ptNone),// sndDrat |
|
14036
544b32038664
Add 3 taunts: Amazing, Brilliant, Excellent
Wuzzy <Wuzzy2@mail.ru>
parents:
14035
diff
changeset
|
321 |
(FileName: 'Bugger.ogg'; Path: ptVoices; AltPath: ptNone),// sndBugger |
544b32038664
Add 3 taunts: Amazing, Brilliant, Excellent
Wuzzy <Wuzzy2@mail.ru>
parents:
14035
diff
changeset
|
322 |
(FileName: 'Amazing.ogg'; Path: ptVoices; AltPath: ptNone),// sndAmazing |
544b32038664
Add 3 taunts: Amazing, Brilliant, Excellent
Wuzzy <Wuzzy2@mail.ru>
parents:
14035
diff
changeset
|
323 |
(FileName: 'Brilliant.ogg'; Path: ptVoices; AltPath: ptNone),// sndBrilliant |
14037
09e2e52aa025
Add 2 taunts: Fire, WatchThis (attack voice for some weapons)
Wuzzy <Wuzzy2@mail.ru>
parents:
14036
diff
changeset
|
324 |
(FileName: 'Excellent.ogg'; Path: ptVoices; AltPath: ptNone),// sndExcellent |
09e2e52aa025
Add 2 taunts: Fire, WatchThis (attack voice for some weapons)
Wuzzy <Wuzzy2@mail.ru>
parents:
14036
diff
changeset
|
325 |
(FileName: 'Fire.ogg'; Path: ptVoices; AltPath: ptNone),// sndFire |
14040
1effb8b72b11
New taunt: Runaway, when something is about to blow up near current hog
Wuzzy <Wuzzy2@mail.ru>
parents:
14037
diff
changeset
|
326 |
(FileName: 'Watchthis.ogg'; Path: ptVoices; AltPath: ptNone),// sndWatchThis |
14055 | 327 |
(FileName: 'Runaway.ogg'; Path: ptVoices; AltPath: ptNone),// sndRunAway |
14056
ecfd13128100
Add taunts: Leavemealone, Cutitout (when attacked many times)
Wuzzy <Wuzzy2@mail.ru>
parents:
14055
diff
changeset
|
328 |
(FileName: 'Revenge.ogg'; Path: ptVoices; AltPath: ptNone),// sndRevenge |
ecfd13128100
Add taunts: Leavemealone, Cutitout (when attacked many times)
Wuzzy <Wuzzy2@mail.ru>
parents:
14055
diff
changeset
|
329 |
(FileName: 'Cutitout.ogg'; Path: ptVoices; AltPath: ptNone),// sndCutItOut |
14062
44f20c9e6861
Add Ouch taunt for particulary damaging hits (fall, bullet, shove, hammer)
Wuzzy <Wuzzy2@mail.ru>
parents:
14058
diff
changeset
|
330 |
(FileName: 'Leavemealone.ogg'; Path: ptVoices; AltPath: ptNone),// sndLeaveMeAlone |
14063
006f97a6f6a7
Enemy/AI hogs now say “Hmm” on turn start. Use IllGetYou/JustYouWait for hit after attack
Wuzzy <Wuzzy2@mail.ru>
parents:
14062
diff
changeset
|
331 |
(FileName: 'Ouch.ogg'; Path: ptVoices; AltPath: ptNone),// sndOuch |
14841
183677a07c8d
Separate Yoohoo.ogg into "Yoohoo" voice and kiss sound
Wuzzy <Wuzzy2@mail.ru>
parents:
14840
diff
changeset
|
332 |
(FileName: 'Hmm.ogg'; Path: ptVoices; AltPath: ptNone),// sndHmm |
14961
8b848c2939da
Add taunt sndFlyAway when hog flies off the map
Wuzzy <Wuzzy2@mail.ru>
parents:
14954
diff
changeset
|
333 |
(FileName: 'Kiss.ogg'; Path: ptSounds; AltPath: ptNone),// sndKiss |
15251
4576e41c0692
Add air plane underwater sound and add water splashes
Wuzzy <Wuzzy2@mail.ru>
parents:
15058
diff
changeset
|
334 |
(FileName: 'Flyaway.ogg'; Path: ptVoices; AltPath: ptNone),// sndFlyAway |
15498 | 335 |
(FileName: 'planewater.ogg'; Path: ptSounds; AltPath: ptNone),// sndPlaneWater |
15609 | 336 |
(FileName: 'dynamitefuse.ogg'; Path: ptSounds; AltPath: ptNone),// sndDynamiteFuse |
337 |
(FileName: 'dynamiteimpact.ogg'; Path: ptSounds; AltPath: ptNone) // sndDynamiteImpact |
|
8145
6408c0ba4ba1
Move global variables to units that use them
Joe Doyle (Ginto8) <ginto8@gmail.com>
parents:
8046
diff
changeset
|
338 |
); |
6408c0ba4ba1
Move global variables to units that use them
Joe Doyle (Ginto8) <ginto8@gmail.com>
parents:
8046
diff
changeset
|
339 |
|
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
340 |
|
2515
51d3f4b6293a
revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents:
2501
diff
changeset
|
341 |
function AskForVoicepack(name: shortstring): Pointer; |
1654 | 342 |
var i: Longword; |
14954
873dda2325c1
Change voicepack fallback to Default_qau
Wuzzy <Wuzzy2@mail.ru>
parents:
14952
diff
changeset
|
343 |
tmp, nameStart, langName, path: shortstring; |
1654 | 344 |
begin |
14954
873dda2325c1
Change voicepack fallback to Default_qau
Wuzzy <Wuzzy2@mail.ru>
parents:
14952
diff
changeset
|
345 |
nameStart:= name; |
10995
7faaef306837
fallback to Default voicepack if specified voicepack is not available
sheepluva
parents:
10510
diff
changeset
|
346 |
i:= 0; |
7faaef306837
fallback to Default voicepack if specified voicepack is not available
sheepluva
parents:
10510
diff
changeset
|
347 |
|
14952
ba5fd934f49b
Don't agressively select voicepack language automatically, must be now enabled explicitly with _qau suffix
Wuzzy <Wuzzy2@mail.ru>
parents:
14933
diff
changeset
|
348 |
{ Adjust for language suffix: Voicepacks can have an optional language suffix. |
ba5fd934f49b
Don't agressively select voicepack language automatically, must be now enabled explicitly with _qau suffix
Wuzzy <Wuzzy2@mail.ru>
parents:
14933
diff
changeset
|
349 |
It's an underscore followed by an ISO 639-1 or ISO 639-2 language code. |
15495
846b5f879408
Remove unicode chars in *.pas files
Wuzzy <Wuzzy2@mail.ru>
parents:
15395
diff
changeset
|
350 |
The suffix "_qau" is special, it will enable automatic language selection |
14952
ba5fd934f49b
Don't agressively select voicepack language automatically, must be now enabled explicitly with _qau suffix
Wuzzy <Wuzzy2@mail.ru>
parents:
14933
diff
changeset
|
351 |
of this voicepack. For example, if team has set Default_qau as voicepack, |
ba5fd934f49b
Don't agressively select voicepack language automatically, must be now enabled explicitly with _qau suffix
Wuzzy <Wuzzy2@mail.ru>
parents:
14933
diff
changeset
|
352 |
and the player language is Russian, the actual voicepack will be Default_ru, |
ba5fd934f49b
Don't agressively select voicepack language automatically, must be now enabled explicitly with _qau suffix
Wuzzy <Wuzzy2@mail.ru>
parents:
14933
diff
changeset
|
353 |
provided it can be found on the disk. |
15495
846b5f879408
Remove unicode chars in *.pas files
Wuzzy <Wuzzy2@mail.ru>
parents:
15395
diff
changeset
|
354 |
"qau" is a valid ISO 639-2 language code reserved for local use. } |
14952
ba5fd934f49b
Don't agressively select voicepack language automatically, must be now enabled explicitly with _qau suffix
Wuzzy <Wuzzy2@mail.ru>
parents:
14933
diff
changeset
|
355 |
tmp:= Copy(name, Length(name) - 3, 4); |
ba5fd934f49b
Don't agressively select voicepack language automatically, must be now enabled explicitly with _qau suffix
Wuzzy <Wuzzy2@mail.ru>
parents:
14933
diff
changeset
|
356 |
if (tmp = '_qau') then |
ba5fd934f49b
Don't agressively select voicepack language automatically, must be now enabled explicitly with _qau suffix
Wuzzy <Wuzzy2@mail.ru>
parents:
14933
diff
changeset
|
357 |
name:= Copy(name, 1, Length(name) - 4); |
ba5fd934f49b
Don't agressively select voicepack language automatically, must be now enabled explicitly with _qau suffix
Wuzzy <Wuzzy2@mail.ru>
parents:
14933
diff
changeset
|
358 |
if (cLanguage <> 'en') and (tmp = '_qau') then |
5107
d7fc678d78f4
Allow override of voicepack with a locale voicepack. Untested, but should mean that a Default voice should use the Ukranian version if that is their locale.
nemo
parents:
5052
diff
changeset
|
359 |
begin |
14619
62dea281e4d5
Refactor hwengine: Rename cLocale to cLanguage
Wuzzy <Wuzzy2@mail.ru>
parents:
14411
diff
changeset
|
360 |
langName:= name+'_'+cLanguage; |
62dea281e4d5
Refactor hwengine: Rename cLocale to cLanguage
Wuzzy <Wuzzy2@mail.ru>
parents:
14411
diff
changeset
|
361 |
path:= cPathz[ptVoices] + '/' + langName; |
8678
fb62d23c70f8
PhysFS-aware check for directory existence. Should fix issue 511.
unc0rr
parents:
8471
diff
changeset
|
362 |
if pfsExists(path) then |
14619
62dea281e4d5
Refactor hwengine: Rename cLocale to cLanguage
Wuzzy <Wuzzy2@mail.ru>
parents:
14411
diff
changeset
|
363 |
name:= langName |
5238
46ddaf14509d
Enable ~/.hedgewars/Data (or platform equivalent) to override/extend pretty much everything in system Data dir. Obviously desyncing can occur, so this is at user's own risk. Should simplify map etc install. Needs testing.
nemo
parents:
5134
diff
changeset
|
364 |
else |
14619
62dea281e4d5
Refactor hwengine: Rename cLocale to cLanguage
Wuzzy <Wuzzy2@mail.ru>
parents:
14411
diff
changeset
|
365 |
if Length(cLanguage) > 3 then |
5238
46ddaf14509d
Enable ~/.hedgewars/Data (or platform equivalent) to override/extend pretty much everything in system Data dir. Obviously desyncing can occur, so this is at user's own risk. Should simplify map etc install. Needs testing.
nemo
parents:
5134
diff
changeset
|
366 |
begin |
14619
62dea281e4d5
Refactor hwengine: Rename cLocale to cLanguage
Wuzzy <Wuzzy2@mail.ru>
parents:
14411
diff
changeset
|
367 |
langName:= name+'_'+Copy(cLanguage,1,2); |
62dea281e4d5
Refactor hwengine: Rename cLocale to cLanguage
Wuzzy <Wuzzy2@mail.ru>
parents:
14411
diff
changeset
|
368 |
path:= cPathz[ptVoices] + '/' + langName; |
8678
fb62d23c70f8
PhysFS-aware check for directory existence. Should fix issue 511.
unc0rr
parents:
8471
diff
changeset
|
369 |
if pfsExists(path) then |
14619
62dea281e4d5
Refactor hwengine: Rename cLocale to cLanguage
Wuzzy <Wuzzy2@mail.ru>
parents:
14411
diff
changeset
|
370 |
name:= langName |
5238
46ddaf14509d
Enable ~/.hedgewars/Data (or platform equivalent) to override/extend pretty much everything in system Data dir. Obviously desyncing can occur, so this is at user's own risk. Should simplify map etc install. Needs testing.
nemo
parents:
5134
diff
changeset
|
371 |
end |
5107
d7fc678d78f4
Allow override of voicepack with a locale voicepack. Untested, but should mean that a Default voice should use the Ukranian version if that is their locale.
nemo
parents:
5052
diff
changeset
|
372 |
end; |
d7fc678d78f4
Allow override of voicepack with a locale voicepack. Untested, but should mean that a Default voice should use the Ukranian version if that is their locale.
nemo
parents:
5052
diff
changeset
|
373 |
|
10995
7faaef306837
fallback to Default voicepack if specified voicepack is not available
sheepluva
parents:
10510
diff
changeset
|
374 |
path:= cPathz[ptVoices] + '/' + name; |
7faaef306837
fallback to Default voicepack if specified voicepack is not available
sheepluva
parents:
10510
diff
changeset
|
375 |
|
14954
873dda2325c1
Change voicepack fallback to Default_qau
Wuzzy <Wuzzy2@mail.ru>
parents:
14952
diff
changeset
|
376 |
// Fallback to localized Default if voicepack can't be found at all |
873dda2325c1
Change voicepack fallback to Default_qau
Wuzzy <Wuzzy2@mail.ru>
parents:
14952
diff
changeset
|
377 |
if (nameStart <> 'Default_qau') and (not pfsExists(path)) then |
873dda2325c1
Change voicepack fallback to Default_qau
Wuzzy <Wuzzy2@mail.ru>
parents:
14952
diff
changeset
|
378 |
exit(AskForVoicepack('Default_qau')); |
10995
7faaef306837
fallback to Default voicepack if specified voicepack is not available
sheepluva
parents:
10510
diff
changeset
|
379 |
|
11532 | 380 |
while (voicepacks[i].name <> name) and (voicepacks[i].name <> '') and (i < cMaxTeams) do |
5107
d7fc678d78f4
Allow override of voicepack with a locale voicepack. Untested, but should mean that a Default voice should use the Ukranian version if that is their locale.
nemo
parents:
5052
diff
changeset
|
381 |
begin |
3529 | 382 |
inc(i); |
11532 | 383 |
//TryDo(i <= cMaxTeams, 'Engine bug: AskForVoicepack i > cMaxTeams', true) |
5107
d7fc678d78f4
Allow override of voicepack with a locale voicepack. Untested, but should mean that a Default voice should use the Ukranian version if that is their locale.
nemo
parents:
5052
diff
changeset
|
384 |
end; |
1654 | 385 |
|
3529 | 386 |
voicepacks[i].name:= name; |
387 |
AskForVoicepack:= @voicepacks[i] |
|
1654 | 388 |
end; |
4 | 389 |
|
390 |
procedure InitSound; |
|
11261
ce5f1b547a67
- Return of stereo sound for mobile!
antonc27 <antonc27@mail.ru>
parents:
11068
diff
changeset
|
391 |
const channels: LongInt = 2; |
8231
a41d84553ae8
Changed uSound.pas so that music will still play if music is enabled and sound is disabled. Effectively, isSoundEnabled represents only sound effects and does not include music (and I have replaced the places where both are concerned with a logical combination of the two).
Mitchell Kember <mk12360@gmail.com>
parents:
8191
diff
changeset
|
392 |
var success: boolean; |
14899
4e3d81af71bf
Some fixes to make Pas2C happy again
Wuzzy <Wuzzy2@mail.ru>
parents:
14852
diff
changeset
|
393 |
s: shortstring; |
4 | 394 |
begin |
8231
a41d84553ae8
Changed uSound.pas so that music will still play if music is enabled and sound is disabled. Effectively, isSoundEnabled represents only sound effects and does not include music (and I have replaced the places where both are concerned with a logical combination of the two).
Mitchell Kember <mk12360@gmail.com>
parents:
8191
diff
changeset
|
395 |
if not (isSoundEnabled or isMusicEnabled) then |
13495
f725701ca529
Add variable to make state of sound system clear
Wuzzy <Wuzzy2@mail.ru>
parents:
13288
diff
changeset
|
396 |
begin |
f725701ca529
Add variable to make state of sound system clear
Wuzzy <Wuzzy2@mail.ru>
parents:
13288
diff
changeset
|
397 |
isAudioMuted:= true; |
f725701ca529
Add variable to make state of sound system clear
Wuzzy <Wuzzy2@mail.ru>
parents:
13288
diff
changeset
|
398 |
cInitVolume:= 0; |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
399 |
exit; |
13495
f725701ca529
Add variable to make state of sound system clear
Wuzzy <Wuzzy2@mail.ru>
parents:
13288
diff
changeset
|
400 |
end; |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2905
diff
changeset
|
401 |
WriteToConsole('Init sound...'); |
12612
2ffdee246adc
workaround to fix pas2c mistyping a constant as bool
sheepluva
parents:
12194
diff
changeset
|
402 |
success:= SDL_InitSubSystem(SDL_INIT_AUDIO) = 0; |
2671
7e0f88013fe8
smaller patches, one missing Sky-lowres, IMG_Init and Mix_Init (might require newer libraries), updates to SDL bindings, code cleanup, new compile flags
koda
parents:
2647
diff
changeset
|
403 |
|
8231
a41d84553ae8
Changed uSound.pas so that music will still play if music is enabled and sound is disabled. Effectively, isSoundEnabled represents only sound effects and does not include music (and I have replaced the places where both are concerned with a logical combination of the two).
Mitchell Kember <mk12360@gmail.com>
parents:
8191
diff
changeset
|
404 |
if success then |
12612
2ffdee246adc
workaround to fix pas2c mistyping a constant as bool
sheepluva
parents:
12194
diff
changeset
|
405 |
begin |
2ffdee246adc
workaround to fix pas2c mistyping a constant as bool
sheepluva
parents:
12194
diff
changeset
|
406 |
WriteLnToConsole(msgOK); |
2ffdee246adc
workaround to fix pas2c mistyping a constant as bool
sheepluva
parents:
12194
diff
changeset
|
407 |
WriteToConsole('Open audio...'); |
11500 | 408 |
success:= Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, channels, 1024) = 0; |
12612
2ffdee246adc
workaround to fix pas2c mistyping a constant as bool
sheepluva
parents:
12194
diff
changeset
|
409 |
end; |
2327 | 410 |
|
8231
a41d84553ae8
Changed uSound.pas so that music will still play if music is enabled and sound is disabled. Effectively, isSoundEnabled represents only sound effects and does not include music (and I have replaced the places where both are concerned with a logical combination of the two).
Mitchell Kember <mk12360@gmail.com>
parents:
8191
diff
changeset
|
411 |
if success then |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2905
diff
changeset
|
412 |
WriteLnToConsole(msgOK) |
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2905
diff
changeset
|
413 |
else |
8231
a41d84553ae8
Changed uSound.pas so that music will still play if music is enabled and sound is disabled. Effectively, isSoundEnabled represents only sound effects and does not include music (and I have replaced the places where both are concerned with a logical combination of the two).
Mitchell Kember <mk12360@gmail.com>
parents:
8191
diff
changeset
|
414 |
begin |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2905
diff
changeset
|
415 |
WriteLnToConsole(msgFailed); |
8231
a41d84553ae8
Changed uSound.pas so that music will still play if music is enabled and sound is disabled. Effectively, isSoundEnabled represents only sound effects and does not include music (and I have replaced the places where both are concerned with a logical combination of the two).
Mitchell Kember <mk12360@gmail.com>
parents:
8191
diff
changeset
|
416 |
isSoundEnabled:= false; |
a41d84553ae8
Changed uSound.pas so that music will still play if music is enabled and sound is disabled. Effectively, isSoundEnabled represents only sound effects and does not include music (and I have replaced the places where both are concerned with a logical combination of the two).
Mitchell Kember <mk12360@gmail.com>
parents:
8191
diff
changeset
|
417 |
isMusicEnabled:= false; |
13495
f725701ca529
Add variable to make state of sound system clear
Wuzzy <Wuzzy2@mail.ru>
parents:
13288
diff
changeset
|
418 |
isAudioMuted:= true; |
f725701ca529
Add variable to make state of sound system clear
Wuzzy <Wuzzy2@mail.ru>
parents:
13288
diff
changeset
|
419 |
cInitVolume:= 0; |
8231
a41d84553ae8
Changed uSound.pas so that music will still play if music is enabled and sound is disabled. Effectively, isSoundEnabled represents only sound effects and does not include music (and I have replaced the places where both are concerned with a logical combination of the two).
Mitchell Kember <mk12360@gmail.com>
parents:
8191
diff
changeset
|
420 |
end; |
2647 | 421 |
|
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
422 |
WriteToConsole('Init SDL_mixer... '); |
14852 | 423 |
|
424 |
if (Mix_Init(MIX_INIT_OGG or MIX_INIT_OPUS) and MIX_INIT_OPUS) = 0 then |
|
425 |
begin |
|
14899
4e3d81af71bf
Some fixes to make Pas2C happy again
Wuzzy <Wuzzy2@mail.ru>
parents:
14852
diff
changeset
|
426 |
s:= SDL_GetError(); |
4e3d81af71bf
Some fixes to make Pas2C happy again
Wuzzy <Wuzzy2@mail.ru>
parents:
14852
diff
changeset
|
427 |
WriteToConsole('Cannot init OPUS: ' + s); |
14852 | 428 |
|
429 |
if SDLCheck(Mix_Init(MIX_INIT_OGG) <> 0, 'Mix_Init', true) then exit; |
|
430 |
end; |
|
431 |
||
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
432 |
WriteLnToConsole(msgOK); |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
433 |
|
13495
f725701ca529
Add variable to make state of sound system clear
Wuzzy <Wuzzy2@mail.ru>
parents:
13288
diff
changeset
|
434 |
// from uVariables to be used by other modules |
f725701ca529
Add variable to make state of sound system clear
Wuzzy <Wuzzy2@mail.ru>
parents:
13288
diff
changeset
|
435 |
cIsSoundEnabled:= true; |
f725701ca529
Add variable to make state of sound system clear
Wuzzy <Wuzzy2@mail.ru>
parents:
13288
diff
changeset
|
436 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2905
diff
changeset
|
437 |
Mix_AllocateChannels(Succ(chanTPU)); |
11499
9c5d9993b14b
fix volume being at 0 on engine start. note: seems window focus changes are not detected atm. (relevant for sound dampening)
sheepluva
parents:
11362
diff
changeset
|
438 |
previousVolume:= cInitVolume; |
8330 | 439 |
ChangeVolume(cInitVolume); |
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
440 |
end; |
2671
7e0f88013fe8
smaller patches, one missing Sky-lowres, IMG_Init and Mix_Init (might require newer libraries), updates to SDL bindings, code cleanup, new compile flags
koda
parents:
2647
diff
changeset
|
441 |
|
7061 | 442 |
procedure ResetSound; |
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
443 |
begin |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
444 |
isSoundEnabled:= isSEBackup; |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
445 |
end; |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
446 |
|
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
447 |
procedure SetSound(enabled: boolean); |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
448 |
begin |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
449 |
isSEBackup:= isSoundEnabled; |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
450 |
isSoundEnabled:= enabled; |
4 | 451 |
end; |
452 |
||
13628
d5e029b84e16
Add setting to disable audio dampening if losing window focus
Wuzzy <Wuzzy2@mail.ru>
parents:
13495
diff
changeset
|
453 |
procedure SetAudioDampen(enabled: boolean); |
d5e029b84e16
Add setting to disable audio dampening if losing window focus
Wuzzy <Wuzzy2@mail.ru>
parents:
13495
diff
changeset
|
454 |
begin |
d5e029b84e16
Add setting to disable audio dampening if losing window focus
Wuzzy <Wuzzy2@mail.ru>
parents:
13495
diff
changeset
|
455 |
isAutoDampening:= enabled; |
d5e029b84e16
Add setting to disable audio dampening if losing window focus
Wuzzy <Wuzzy2@mail.ru>
parents:
13495
diff
changeset
|
456 |
end; |
d5e029b84e16
Add setting to disable audio dampening if losing window focus
Wuzzy <Wuzzy2@mail.ru>
parents:
13495
diff
changeset
|
457 |
|
6362
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
458 |
// when complete is false, this procedure just releases some of the chucks on inactive channels |
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
459 |
// in this way music is not stopped, nor are chucks currently being played |
6362
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
460 |
procedure ReleaseSound(complete: boolean); |
2515
51d3f4b6293a
revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents:
2501
diff
changeset
|
461 |
var i: TSound; |
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2905
diff
changeset
|
462 |
t: Longword; |
4 | 463 |
begin |
6362
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
464 |
// release and nil all sounds |
3529 | 465 |
for t:= 0 to cMaxTeams do |
466 |
if voicepacks[t].name <> '' then |
|
467 |
for i:= Low(TSound) to High(TSound) do |
|
468 |
if voicepacks[t].chunks[i] <> nil then |
|
6362
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
469 |
if complete or (Mix_Playing(lastChan[i]) = 0) then |
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
470 |
begin |
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
471 |
Mix_HaltChannel(lastChan[i]); |
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
472 |
lastChan[i]:= -1; |
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
473 |
Mix_FreeChunk(voicepacks[t].chunks[i]); |
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
474 |
voicepacks[t].chunks[i]:= nil; |
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
475 |
end; |
3182 | 476 |
|
6362
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
477 |
// stop music |
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
478 |
if complete then |
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
479 |
begin |
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
480 |
if Mus <> nil then |
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
481 |
begin |
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
482 |
Mix_HaltMusic(); |
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
483 |
Mix_FreeMusic(Mus); |
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
484 |
Mus:= nil; |
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
485 |
end; |
3182 | 486 |
|
6362
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
487 |
// make sure all instances of sdl_mixer are unloaded before continuing |
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
488 |
while Mix_Init(0) <> 0 do |
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
489 |
Mix_Quit(); |
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
490 |
|
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
491 |
Mix_CloseAudio(); |
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
492 |
end; |
4 | 493 |
end; |
494 |
||
14057 | 495 |
// Get a fallback voice, assuming that snd is not available. Returns sndNone if none is found. |
496 |
function GetFallbackV(snd: TSound): TSound; |
|
497 |
begin |
|
14387
2ab312c47dc3
make pas2c function without haskell aborting if locale is C
nemo
parents:
14096
diff
changeset
|
498 |
// Fallback to sndFirePunch1 / sndOw1 / sndOoff1 if a "higher-numbered" sound is missing |
14057 | 499 |
if (snd in [sndFirePunch2, sndFirePunch3, sndFirePunch4, sndFirePunch5, sndFirePunch6]) then |
500 |
GetFallbackV := sndFirePunch1 |
|
14062
44f20c9e6861
Add Ouch taunt for particulary damaging hits (fall, bullet, shove, hammer)
Wuzzy <Wuzzy2@mail.ru>
parents:
14058
diff
changeset
|
501 |
else if (snd in [sndOw2, sndOw3, sndOw4, sndOuch]) then |
14057 | 502 |
GetFallbackV := sndOw1 |
503 |
else if (snd in [sndOoff2, sndOoff3]) then |
|
504 |
GetFallbackV := sndOoff1 |
|
505 |
// Other fallback sounds |
|
506 |
else if (snd = sndGrenade) then |
|
507 |
if random(2) = 0 then |
|
508 |
GetFallbackV := sndNooo |
|
509 |
else |
|
510 |
GetFallbackV := sndUhOh |
|
16035
1f9f971adec4
sndCover now falls back to sndWatchThis OR sndFire.
spudpiggy <facetakers@gmail.com>
parents:
15609
diff
changeset
|
511 |
else if (snd = sndCover) then |
1f9f971adec4
sndCover now falls back to sndWatchThis OR sndFire.
spudpiggy <facetakers@gmail.com>
parents:
15609
diff
changeset
|
512 |
if random(2) = 0 then |
1f9f971adec4
sndCover now falls back to sndWatchThis OR sndFire.
spudpiggy <facetakers@gmail.com>
parents:
15609
diff
changeset
|
513 |
GetFallbackV := sndWatchThis |
1f9f971adec4
sndCover now falls back to sndWatchThis OR sndFire.
spudpiggy <facetakers@gmail.com>
parents:
15609
diff
changeset
|
514 |
else |
1f9f971adec4
sndCover now falls back to sndWatchThis OR sndFire.
spudpiggy <facetakers@gmail.com>
parents:
15609
diff
changeset
|
515 |
GetFallbackV := sndFire |
1f9f971adec4
sndCover now falls back to sndWatchThis OR sndFire.
spudpiggy <facetakers@gmail.com>
parents:
15609
diff
changeset
|
516 |
else if (snd in [sndBugger]) then |
1f9f971adec4
sndCover now falls back to sndWatchThis OR sndFire.
spudpiggy <facetakers@gmail.com>
parents:
15609
diff
changeset
|
517 |
GetFallbackV := sndDrat |
16042
2e529b1a9d5b
Wonder if anyone is trying to build this game anymore
unC0Rr
parents:
16035
diff
changeset
|
518 |
else if (snd in [sndDrat]) then |
16035
1f9f971adec4
sndCover now falls back to sndWatchThis OR sndFire.
spudpiggy <facetakers@gmail.com>
parents:
15609
diff
changeset
|
519 |
GetFallbackV := sndBugger |
1f9f971adec4
sndCover now falls back to sndWatchThis OR sndFire.
spudpiggy <facetakers@gmail.com>
parents:
15609
diff
changeset
|
520 |
else if (snd in [sndGonnaGetYou, sndIllGetYou, sndRevenge, sndCutItOut, sndLeaveMeAlone]) then |
14057 | 521 |
GetFallbackV := sndRegret |
522 |
else if (snd in [sndOhDear, sndSoLong]) then |
|
523 |
GetFallbackV := sndByeBye |
|
14411 | 524 |
else if (snd in [sndWhatThe, sndUhOh]) then |
14057 | 525 |
GetFallbackV := sndNooo |
526 |
else if (snd = sndRunAway) then |
|
527 |
GetFallbackV := sndOops |
|
528 |
else if (snd = sndThisOneIsMine) then |
|
529 |
GetFallbackV := sndReinforce |
|
530 |
else if (snd in [sndAmazing, sndBrilliant, sndExcellent]) then |
|
531 |
GetFallbackV := sndEnemyDown |
|
14411 | 532 |
else if (snd = sndPoisonCough) then |
533 |
GetFallbackV := sndPoisonMoan |
|
534 |
else if (snd = sndPoisonMoan) then |
|
535 |
GetFallbackV := sndPoisonCough |
|
536 |
else if (snd = sndFlawless) then |
|
537 |
GetFallbackV := sndVictory |
|
538 |
else if (snd = sndSameTeam) then |
|
539 |
GetFallbackV := sndTraitor |
|
540 |
else if (snd = sndMelon) then |
|
541 |
GetFallbackV := sndCover |
|
542 |
// sndHmm is used for enemy turn start, so sndHello is an "okay" replacement |
|
543 |
else if (snd = sndHmm) then |
|
544 |
GetFallbackV := sndHello |
|
14057 | 545 |
else |
546 |
GetFallbackV := sndNone; |
|
547 |
end; |
|
548 |
||
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
549 |
function PlaySound(snd: TSound): boolean; |
2745 | 550 |
begin |
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
551 |
PlaySound:= PlaySoundV(snd, nil, false, false, false); |
2745 | 552 |
end; |
553 |
||
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
554 |
function PlaySound(snd: TSound; keepPlaying: boolean): boolean; |
3202 | 555 |
begin |
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
556 |
PlaySound:= PlaySoundV(snd, nil, keepPlaying, false, false); |
13121
de07c8423beb
Lua API: Add SetSoundMask to disable playing certain sounds
Wuzzy <Wuzzy2@mail.ru>
parents:
13039
diff
changeset
|
557 |
end; |
de07c8423beb
Lua API: Add SetSoundMask to disable playing certain sounds
Wuzzy <Wuzzy2@mail.ru>
parents:
13039
diff
changeset
|
558 |
|
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
559 |
function PlaySound(snd: TSound; keepPlaying: boolean; ignoreMask: boolean): boolean; |
13121
de07c8423beb
Lua API: Add SetSoundMask to disable playing certain sounds
Wuzzy <Wuzzy2@mail.ru>
parents:
13039
diff
changeset
|
560 |
begin |
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
561 |
PlaySound:= PlaySoundV(snd, nil, keepPlaying, ignoreMask, false); |
13996
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
562 |
end; |
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
563 |
|
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
564 |
function PlaySound(snd: TSound; keepPlaying: boolean; ignoreMask, soundAsMusic: boolean): boolean; |
13996
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
565 |
begin |
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
566 |
PlaySound:= PlaySoundV(snd, nil, keepPlaying, ignoreMask, soundAsMusic); |
3202 | 567 |
end; |
568 |
||
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
569 |
function PlaySoundV(snd: TSound; voicepack: PVoicepack): boolean; |
4 | 570 |
begin |
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
571 |
PlaySoundV:= PlaySoundV(snd, voicepack, false, false, false); |
3201 | 572 |
end; |
573 |
||
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
574 |
function PlaySoundV(snd: TSound; voicepack: PVoicepack; keepPlaying: boolean): boolean; |
13121
de07c8423beb
Lua API: Add SetSoundMask to disable playing certain sounds
Wuzzy <Wuzzy2@mail.ru>
parents:
13039
diff
changeset
|
575 |
begin |
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
576 |
PlaySoundV:= PlaySoundV(snd, voicepack, keepPlaying, false, false); |
13121
de07c8423beb
Lua API: Add SetSoundMask to disable playing certain sounds
Wuzzy <Wuzzy2@mail.ru>
parents:
13039
diff
changeset
|
577 |
end; |
de07c8423beb
Lua API: Add SetSoundMask to disable playing certain sounds
Wuzzy <Wuzzy2@mail.ru>
parents:
13039
diff
changeset
|
578 |
|
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
579 |
function PlaySoundV(snd: TSound; voicepack: PVoicepack; keepPlaying, ignoreMask: boolean): boolean; |
13996
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
580 |
begin |
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
581 |
PlaySoundV:= PlaySoundV(snd, voicepack, keepPlaying, ignoreMask, false); |
13996
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
582 |
end; |
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
583 |
|
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
584 |
function PlaySoundV(snd: TSound; voicepack: PVoicepack; keepPlaying, ignoreMask, soundAsMusic: boolean): boolean; |
14074
38eb5937169e
Fix taunts playing too fast after a shot
Wuzzy <Wuzzy2@mail.ru>
parents:
14063
diff
changeset
|
585 |
var s: shortstring; |
15395 | 586 |
tempSnd, loadSnd: TSound; |
11873
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
587 |
rwops: PSDL_RWops; |
3201 | 588 |
begin |
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
589 |
PlaySoundV:= false; |
13996
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
590 |
if ((not isSoundEnabled) and (not (soundAsMusic and isMusicEnabled))) or fastUntilLag then |
3529 | 591 |
exit; |
3201 | 592 |
|
3529 | 593 |
if keepPlaying and (lastChan[snd] <> -1) and (Mix_Playing(lastChan[snd]) <> 0) then |
594 |
exit; |
|
595 |
||
13121
de07c8423beb
Lua API: Add SetSoundMask to disable playing certain sounds
Wuzzy <Wuzzy2@mail.ru>
parents:
13039
diff
changeset
|
596 |
if (ignoreMask = false) and (MaskedSounds[snd] = true) then |
de07c8423beb
Lua API: Add SetSoundMask to disable playing certain sounds
Wuzzy <Wuzzy2@mail.ru>
parents:
13039
diff
changeset
|
597 |
exit; |
de07c8423beb
Lua API: Add SetSoundMask to disable playing certain sounds
Wuzzy <Wuzzy2@mail.ru>
parents:
13039
diff
changeset
|
598 |
|
3664 | 599 |
if (voicepack <> nil) then |
5638
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
600 |
begin |
3664 | 601 |
if (voicepack^.chunks[snd] = nil) and (Soundz[snd].Path = ptVoices) and (Soundz[snd].FileName <> '') then |
5638
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
602 |
begin |
15395 | 603 |
loadSnd:= snd; |
604 |
s:= cPathz[Soundz[loadSnd].Path] + '/' + voicepack^.name + '/' + Soundz[loadSnd].FileName; |
|
605 |
||
14057 | 606 |
// Fallback taunts |
13288
ee8c6eb0ab47
Add voice pack sound fallbacks also for sndOoff{2,3} and sndOw{2,4}
Wuzzy <Wuzzy2@mail.ru>
parents:
13287
diff
changeset
|
607 |
if (not pfsExists(s)) then |
13287
29055da6a6cd
Fix broken fallback to sndFirePunch1 if sndFirePunch{2,6} is missing
Wuzzy <Wuzzy2@mail.ru>
parents:
13161
diff
changeset
|
608 |
begin |
14074
38eb5937169e
Fix taunts playing too fast after a shot
Wuzzy <Wuzzy2@mail.ru>
parents:
14063
diff
changeset
|
609 |
tempSnd := GetFallbackV(snd); |
38eb5937169e
Fix taunts playing too fast after a shot
Wuzzy <Wuzzy2@mail.ru>
parents:
14063
diff
changeset
|
610 |
if tempSnd <> sndNone then |
14089
859a41b137d4
Update LastVoice when switching to fallback voice
Wuzzy <Wuzzy2@mail.ru>
parents:
14074
diff
changeset
|
611 |
begin |
15395 | 612 |
loadSnd := tempSnd; |
613 |
//LastVoice.snd := tempSnd; |
|
14089
859a41b137d4
Update LastVoice when switching to fallback voice
Wuzzy <Wuzzy2@mail.ru>
parents:
14074
diff
changeset
|
614 |
end; |
15395 | 615 |
s:= cPathz[Soundz[loadSnd].Path] + '/' + voicepack^.name + '/' + Soundz[loadSnd].FileName; |
13287
29055da6a6cd
Fix broken fallback to sndFirePunch1 if sndFirePunch{2,6} is missing
Wuzzy <Wuzzy2@mail.ru>
parents:
13161
diff
changeset
|
616 |
end; |
15395 | 617 |
WriteToConsole(msgLoading + s + ' ... '); |
11873
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
618 |
rwops := rwopsOpenRead(s); |
11874
045f33b498ea
fix copypastafail (incorrect variable name) and whitespaces
sheepluva
parents:
11873
diff
changeset
|
619 |
|
11873
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
620 |
if rwops = nil then |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
621 |
begin |
15395 | 622 |
s:= cPathz[Soundz[loadSnd].AltPath] + '/' + Soundz[loadSnd].FileName; |
11873
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
623 |
WriteToConsole(msgLoading + s + ' ... '); |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
624 |
rwops := rwopsOpenRead(s); |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
625 |
end; |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
626 |
voicepack^.chunks[snd]:= Mix_LoadWAV_RW(rwops, 1); |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
627 |
|
3664 | 628 |
if voicepack^.chunks[snd] = nil then |
629 |
WriteLnToConsole(msgFailed) |
|
630 |
else |
|
631 |
WriteLnToConsole(msgOK) |
|
5638
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
632 |
end; |
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
633 |
lastChan[snd]:= Mix_PlayChannelTimed(-1, voicepack^.chunks[snd], 0, -1); |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
634 |
PlaySoundV:= true; |
5638
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
635 |
end |
3529 | 636 |
else |
5638
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
637 |
begin |
3664 | 638 |
if (defVoicepack^.chunks[snd] = nil) and (Soundz[snd].Path <> ptVoices) and (Soundz[snd].FileName <> '') then |
5638
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
639 |
begin |
8025 | 640 |
s:= cPathz[Soundz[snd].Path] + '/' + Soundz[snd].FileName; |
15395 | 641 |
WriteToConsole(msgLoading + s + ' ... '); |
11873
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
642 |
rwops := rwopsOpenRead(s); |
11874
045f33b498ea
fix copypastafail (incorrect variable name) and whitespaces
sheepluva
parents:
11873
diff
changeset
|
643 |
|
11873
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
644 |
if rwops = nil then |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
645 |
begin |
12618
2d68c113fc8d
fix copypasta fail that caused segfaults (esp. in pas2c)
sheepluva
parents:
12612
diff
changeset
|
646 |
s:= cPathz[Soundz[snd].AltPath] + '/' + Soundz[snd].FileName; |
11873
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
647 |
WriteToConsole(msgLoading + s + ' ... '); |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
648 |
rwops := rwopsOpenRead(s); |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
649 |
end; |
11874
045f33b498ea
fix copypastafail (incorrect variable name) and whitespaces
sheepluva
parents:
11873
diff
changeset
|
650 |
|
11873
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
651 |
defVoicepack^.chunks[snd]:= Mix_LoadWAV_RW(rwops, 1); |
11663
0427a9b6457b
fix sounds not playing on first play (=load), because function bailed on success, rather than error. introduced in bd9a2f1b0080 , addressing issue 111
sheepluva
parents:
11532
diff
changeset
|
652 |
if SDLCheck(defVoicepack^.chunks[snd] <> nil, 'Mix_LoadWAV_RW', true) then exit; |
3664 | 653 |
WriteLnToConsole(msgOK); |
5638
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
654 |
end; |
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
655 |
lastChan[snd]:= Mix_PlayChannelTimed(-1, defVoicepack^.chunks[snd], 0, -1); |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
656 |
PlaySoundV:= true; |
5638
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
657 |
end; |
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
658 |
end; |
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
659 |
|
13996
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
660 |
procedure PlayMusicSound(snd: TSound); |
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
661 |
begin |
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
662 |
PauseMusic; |
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
663 |
PlaySound(snd, false, false, true); |
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
664 |
end; |
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
665 |
|
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
666 |
procedure StopMusicSound(snd: TSound); |
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
667 |
begin |
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
668 |
StopSound(snd, true); |
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
669 |
ResumeMusic; |
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
670 |
end; |
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
671 |
|
5638
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
672 |
procedure AddVoice(snd: TSound; voicepack: PVoicepack); |
13121
de07c8423beb
Lua API: Add SetSoundMask to disable playing certain sounds
Wuzzy <Wuzzy2@mail.ru>
parents:
13039
diff
changeset
|
673 |
begin |
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
674 |
AddVoice(snd, voicepack, false, false); |
13121
de07c8423beb
Lua API: Add SetSoundMask to disable playing certain sounds
Wuzzy <Wuzzy2@mail.ru>
parents:
13039
diff
changeset
|
675 |
end; |
de07c8423beb
Lua API: Add SetSoundMask to disable playing certain sounds
Wuzzy <Wuzzy2@mail.ru>
parents:
13039
diff
changeset
|
676 |
|
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
677 |
{ |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
678 |
AddVoice: Add a voice to the voice queue. |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
679 |
* snd: Sound ID |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
680 |
* voicepack: Hedgehog voicepack |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
681 |
* ignoreMask: If true, the sound will be played anyway if masked by Lua |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
682 |
* isFallback: If true, this sound is added as fallback if the sound previously added to the |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
683 |
queue was not found. Useful to make sure a voice is always played, even if |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
684 |
a voicepack is incomplete. |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
685 |
Example: |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
686 |
AddVoice(sndRevenge, voiceAttacker); |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
687 |
AddVoice(sndRegret, voiceVictim, false, true); |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
688 |
--> plays sndRegret if sndRevenge could not be played. |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
689 |
} |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
690 |
procedure AddVoice(snd: TSound; voicepack: PVoicepack; ignoreMask, isFallback: boolean); |
5638
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
691 |
var i : LongInt; |
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
692 |
begin |
13121
de07c8423beb
Lua API: Add SetSoundMask to disable playing certain sounds
Wuzzy <Wuzzy2@mail.ru>
parents:
13039
diff
changeset
|
693 |
|
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
694 |
if (not isSoundEnabled) or fastUntilLag or ((LastVoice.snd = snd) and (LastVoice.voicepack = voicepack)) then |
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
695 |
exit; |
13121
de07c8423beb
Lua API: Add SetSoundMask to disable playing certain sounds
Wuzzy <Wuzzy2@mail.ru>
parents:
13039
diff
changeset
|
696 |
if (ignoreMask = false) and (MaskedSounds[snd] = true) then |
de07c8423beb
Lua API: Add SetSoundMask to disable playing certain sounds
Wuzzy <Wuzzy2@mail.ru>
parents:
13039
diff
changeset
|
697 |
exit; |
de07c8423beb
Lua API: Add SetSoundMask to disable playing certain sounds
Wuzzy <Wuzzy2@mail.ru>
parents:
13039
diff
changeset
|
698 |
|
6360
eca20f8990e2
Clear all other sounds before playing flawless victory / victory
nemo
parents:
6072
diff
changeset
|
699 |
if (snd = sndVictory) or (snd = sndFlawless) then |
eca20f8990e2
Clear all other sounds before playing flawless victory / victory
nemo
parents:
6072
diff
changeset
|
700 |
begin |
6367
a7fbf18b2d55
be more gentle when you stop channels at the end of the game
koda
parents:
6363
diff
changeset
|
701 |
Mix_FadeOutChannel(-1, 800); |
8168 | 702 |
for i:= 0 to High(VoiceList) do |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
703 |
VoiceList[i].snd:= sndNone; |
6360
eca20f8990e2
Clear all other sounds before playing flawless victory / victory
nemo
parents:
6072
diff
changeset
|
704 |
LastVoice.snd:= sndNone; |
eca20f8990e2
Clear all other sounds before playing flawless victory / victory
nemo
parents:
6072
diff
changeset
|
705 |
end; |
eca20f8990e2
Clear all other sounds before playing flawless victory / victory
nemo
parents:
6072
diff
changeset
|
706 |
|
5638
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
707 |
i:= 0; |
10490 | 708 |
while (i <= High(VoiceList)) and (VoiceList[i].snd <> sndNone) do |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
709 |
inc(i); |
5638
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
710 |
|
5921 | 711 |
// skip playing same sound for same hog twice |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
712 |
if (i>0) and (VoiceList[i-1].snd = snd) and (VoiceList[i-1].voicepack = voicepack) then |
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
713 |
exit; |
10490 | 714 |
if(i <= High(VoiceList)) then |
715 |
begin |
|
716 |
VoiceList[i].snd:= snd; |
|
717 |
VoiceList[i].voicepack:= voicepack; |
|
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
718 |
VoiceList[i].isFallback:= isFallback; |
10490 | 719 |
end |
5638
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
720 |
end; |
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
721 |
|
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
722 |
procedure PlayNextVoice; |
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
723 |
var i : LongInt; |
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
724 |
played : boolean; |
5638
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
725 |
begin |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
726 |
if (not isSoundEnabled) or fastUntilLag or ((LastVoice.snd <> sndNone) and (lastChan[LastVoice.snd] <> -1) and (Mix_Playing(lastChan[LastVoice.snd]) <> 0)) then |
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
727 |
exit; |
5638
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
728 |
i:= 0; |
8168 | 729 |
while (i<High(VoiceList)) and (VoiceList[i].snd = sndNone) do |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
730 |
inc(i); |
8330 | 731 |
|
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
732 |
played:= false; |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
733 |
if (VoiceList[i].snd <> sndNone) and ((not VoiceList[i].isFallback) or LastVoiceFailed) then |
5638
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
734 |
begin |
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
735 |
LastVoice.snd:= VoiceList[i].snd; |
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
736 |
LastVoice.voicepack:= VoiceList[i].voicepack; |
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
737 |
LastVoice.isFallback:= VoiceList[i].isFallback; |
5638
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
738 |
VoiceList[i].snd:= sndNone; |
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
739 |
played:= PlaySoundV(LastVoice.snd, LastVoice.voicepack); |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
740 |
// Remember if sound was not played. |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
741 |
LastVoiceFailed:= (not played); |
5638
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5239
diff
changeset
|
742 |
end |
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
743 |
else |
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
744 |
LastVoice.snd:= sndNone; |
4 | 745 |
end; |
746 |
||
2745 | 747 |
function LoopSound(snd: TSound): LongInt; |
748 |
begin |
|
7053 | 749 |
LoopSound:= LoopSoundV(snd, nil) |
2745 | 750 |
end; |
751 |
||
4956
48e1f9a04c28
usound: added function for loops with fade in and out
koda
parents:
4948
diff
changeset
|
752 |
function LoopSound(snd: TSound; fadems: LongInt): LongInt; |
48e1f9a04c28
usound: added function for loops with fade in and out
koda
parents:
4948
diff
changeset
|
753 |
begin |
7053 | 754 |
LoopSound:= LoopSoundV(snd, nil, fadems) |
4956
48e1f9a04c28
usound: added function for loops with fade in and out
koda
parents:
4948
diff
changeset
|
755 |
end; |
48e1f9a04c28
usound: added function for loops with fade in and out
koda
parents:
4948
diff
changeset
|
756 |
|
7053 | 757 |
function LoopSoundV(snd: TSound; voicepack: PVoicepack): LongInt; |
4956
48e1f9a04c28
usound: added function for loops with fade in and out
koda
parents:
4948
diff
changeset
|
758 |
begin |
5052 | 759 |
voicepack:= voicepack; // avoid compiler hint |
7053 | 760 |
LoopSoundV:= LoopSoundV(snd, nil, 0) |
4956
48e1f9a04c28
usound: added function for loops with fade in and out
koda
parents:
4948
diff
changeset
|
761 |
end; |
48e1f9a04c28
usound: added function for loops with fade in and out
koda
parents:
4948
diff
changeset
|
762 |
|
7053 | 763 |
function LoopSoundV(snd: TSound; voicepack: PVoicepack; fadems: LongInt): LongInt; |
3664 | 764 |
var s: shortstring; |
11873
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
765 |
rwops: PSDL_RWops; |
2647 | 766 |
begin |
4948 | 767 |
if (not isSoundEnabled) or fastUntilLag then |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
768 |
begin |
7053 | 769 |
LoopSoundV:= -1; |
3529 | 770 |
exit |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
771 |
end; |
2647 | 772 |
|
3664 | 773 |
if (voicepack <> nil) then |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
774 |
begin |
3664 | 775 |
if (voicepack^.chunks[snd] = nil) and (Soundz[snd].Path = ptVoices) and (Soundz[snd].FileName <> '') then |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
776 |
begin |
8025 | 777 |
s:= cPathz[Soundz[snd].Path] + '/' + voicepack^.name + '/' + Soundz[snd].FileName; |
3664 | 778 |
WriteToConsole(msgLoading + s + ' '); |
11873
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
779 |
rwops:=rwopsOpenRead(s); |
11874
045f33b498ea
fix copypastafail (incorrect variable name) and whitespaces
sheepluva
parents:
11873
diff
changeset
|
780 |
|
11873
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
781 |
if rwops = nil then |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
782 |
begin |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
783 |
s:= cPathz[Soundz[snd].AltPath] + '/' + Soundz[snd].FileName; |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
784 |
WriteToConsole(msgLoading + s + ' ... '); |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
785 |
rwops:=rwopsOpenRead(s); |
7db5aef27e8d
support for alternate sound paths [this is allowing themes to override certain sound files; reviewed and committed by sheepluva, fixes pending]
KoBeWi <kobewi4e@gmail.com>
parents:
11835
diff
changeset
|
786 |
end; |
11874
045f33b498ea
fix copypastafail (incorrect variable name) and whitespaces
sheepluva
parents:
11873
diff
changeset
|
787 |
|
045f33b498ea
fix copypastafail (incorrect variable name) and whitespaces
sheepluva
parents:
11873
diff
changeset
|
788 |
voicepack^.chunks[snd]:= Mix_LoadWAV_RW(rwops, 1); |
3664 | 789 |
if voicepack^.chunks[snd] = nil then |
790 |
WriteLnToConsole(msgFailed) |
|
791 |
else |
|
792 |
WriteLnToConsole(msgOK) |
|
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
793 |
end; |
7053 | 794 |
LoopSoundV:= Mix_PlayChannelTimed(-1, voicepack^.chunks[snd], -1, -1) |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
795 |
end |
3529 | 796 |
else |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
797 |
begin |
3664 | 798 |
if (defVoicepack^.chunks[snd] = nil) and (Soundz[snd].Path <> ptVoices) and (Soundz[snd].FileName <> '') then |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
799 |
begin |
8025 | 800 |
s:= cPathz[Soundz[snd].Path] + '/' + Soundz[snd].FileName; |
3664 | 801 |
WriteToConsole(msgLoading + s + ' '); |
8025 | 802 |
defVoicepack^.chunks[snd]:= Mix_LoadWAV_RW(rwopsOpenRead(s), 1); |
13886
9d3ebcac7d90
this should probably exit -1 - pas2c was complaining about uninitialised var
nemo
parents:
13872
diff
changeset
|
803 |
if SDLCheck(defVoicepack^.chunks[snd] <> nil, 'Mix_LoadWAV_RW', true) then exit(-1); |
3664 | 804 |
WriteLnToConsole(msgOK); |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
805 |
end; |
4956
48e1f9a04c28
usound: added function for loops with fade in and out
koda
parents:
4948
diff
changeset
|
806 |
if fadems > 0 then |
7053 | 807 |
LoopSoundV:= Mix_FadeInChannelTimed(-1, defVoicepack^.chunks[snd], -1, fadems, -1) |
4956
48e1f9a04c28
usound: added function for loops with fade in and out
koda
parents:
4948
diff
changeset
|
808 |
else |
7053 | 809 |
LoopSoundV:= Mix_PlayChannelTimed(-1, defVoicepack^.chunks[snd], -1, -1); |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
810 |
end; |
2647 | 811 |
end; |
812 |
||
282 | 813 |
procedure StopSound(snd: TSound); |
4 | 814 |
begin |
13996
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
815 |
StopSound(snd, false); |
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
816 |
end; |
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
817 |
|
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
818 |
procedure StopSound(snd: TSound; soundAsMusic: boolean); |
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
819 |
begin |
350adfa0e896
Refactor usage of sndRideOfTheValkyries, now can play if music is on and sound is off
Wuzzy <Wuzzy2@mail.ru>
parents:
13886
diff
changeset
|
820 |
if ((not isSoundEnabled) and (not (soundAsMusic and isMusicEnabled))) then |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
821 |
exit; |
4956
48e1f9a04c28
usound: added function for loops with fade in and out
koda
parents:
4948
diff
changeset
|
822 |
|
3529 | 823 |
if (lastChan[snd] <> -1) and (Mix_Playing(lastChan[snd]) <> 0) then |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
824 |
begin |
3529 | 825 |
Mix_HaltChannel(lastChan[snd]); |
826 |
lastChan[snd]:= -1; |
|
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
827 |
end; |
4 | 828 |
end; |
829 |
||
7053 | 830 |
procedure StopSoundChan(chn: LongInt); |
2745 | 831 |
begin |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
832 |
if not isSoundEnabled then |
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
833 |
exit; |
3529 | 834 |
|
835 |
if (chn <> -1) and (Mix_Playing(chn) <> 0) then |
|
836 |
Mix_HaltChannel(chn); |
|
2745 | 837 |
end; |
838 |
||
7053 | 839 |
procedure StopSoundChan(chn, fadems: LongInt); |
4956
48e1f9a04c28
usound: added function for loops with fade in and out
koda
parents:
4948
diff
changeset
|
840 |
begin |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
841 |
if not isSoundEnabled then |
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
842 |
exit; |
4956
48e1f9a04c28
usound: added function for loops with fade in and out
koda
parents:
4948
diff
changeset
|
843 |
|
48e1f9a04c28
usound: added function for loops with fade in and out
koda
parents:
4948
diff
changeset
|
844 |
if (chn <> -1) and (Mix_Playing(chn) <> 0) then |
15058
6c5502b9a038
Stop fade-out sound instantly when audio muted
Wuzzy <Wuzzy2@mail.ru>
parents:
14961
diff
changeset
|
845 |
if isAudioMuted then |
6c5502b9a038
Stop fade-out sound instantly when audio muted
Wuzzy <Wuzzy2@mail.ru>
parents:
14961
diff
changeset
|
846 |
Mix_HaltChannel(chn) |
6c5502b9a038
Stop fade-out sound instantly when audio muted
Wuzzy <Wuzzy2@mail.ru>
parents:
14961
diff
changeset
|
847 |
else |
6c5502b9a038
Stop fade-out sound instantly when audio muted
Wuzzy <Wuzzy2@mail.ru>
parents:
14961
diff
changeset
|
848 |
Mix_FadeOutChannel(chn, fadems); |
4956
48e1f9a04c28
usound: added function for loops with fade in and out
koda
parents:
4948
diff
changeset
|
849 |
end; |
48e1f9a04c28
usound: added function for loops with fade in and out
koda
parents:
4948
diff
changeset
|
850 |
|
4 | 851 |
procedure PlayMusic; |
2905 | 852 |
var s: shortstring; |
4 | 853 |
begin |
8231
a41d84553ae8
Changed uSound.pas so that music will still play if music is enabled and sound is disabled. Effectively, isSoundEnabled represents only sound effects and does not include music (and I have replaced the places where both are concerned with a logical combination of the two).
Mitchell Kember <mk12360@gmail.com>
parents:
8191
diff
changeset
|
854 |
if (MusicFN = '') or (not isMusicEnabled) then |
3529 | 855 |
exit; |
10510 | 856 |
if SuddenDeath and (SDMusicFN <> '') then |
10254 | 857 |
s:= '/Music/' + SDMusicFN |
858 |
else s:= '/Music/' + MusicFN; |
|
3529 | 859 |
WriteToConsole(msgLoading + s + ' '); |
565 | 860 |
|
12915 | 861 |
// Load normal music |
8046 | 862 |
Mus:= Mix_LoadMUS_RW(rwopsOpenRead(s)); |
11507 | 863 |
SDLCheck(Mus <> nil, 'Mix_LoadMUS_RW', false); |
12915 | 864 |
if Mus <> nil then |
865 |
WriteLnToConsole(msgOK); |
|
866 |
||
867 |
// If normal music failed, try to get fallback music |
|
868 |
if Mus = nil then |
|
869 |
begin |
|
870 |
WriteLnToConsole('Music not found. Trying fallback music.'); |
|
871 |
if SuddenDeath and (FallbackSDMusicFN <> '') then |
|
872 |
s:= '/Music/' + FallbackSDMusicFN |
|
873 |
else if (not SuddenDeath) and (FallbackMusicFN <> '') then |
|
874 |
s:= '/Music/' + FallbackMusicFN |
|
875 |
else |
|
876 |
begin |
|
877 |
WriteLnToConsole('No fallback music configured!'); |
|
878 |
s:= '' |
|
879 |
end; |
|
880 |
||
881 |
if (s <> '') then |
|
882 |
begin |
|
883 |
WriteLnToConsole(msgLoading + s + ' '); |
|
884 |
Mus:= Mix_LoadMUS_RW(rwopsOpenRead(s)); |
|
885 |
SDLCheck(Mus <> nil, 'Mix_LoadMUS_RW', false); |
|
886 |
if Mus <> nil then |
|
887 |
WriteLnToConsole(msgOK) |
|
888 |
end; |
|
889 |
end; |
|
565 | 890 |
|
11507 | 891 |
SDLCheck(Mix_FadeInMusic(Mus, -1, 3000) <> -1, 'Mix_FadeInMusic', false) |
4 | 892 |
end; |
893 |
||
7848
775a72905708
* fix initialisation, preload values and then read args
koda
parents:
7423
diff
changeset
|
894 |
procedure SetVolume(vol: LongInt); |
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
895 |
begin |
7848
775a72905708
* fix initialisation, preload values and then read args
koda
parents:
7423
diff
changeset
|
896 |
cInitVolume:= vol; |
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
897 |
end; |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
898 |
|
13039
aed4b25ff242
Fix volume caption not being shown when hitting mute key
Wuzzy <Wuzzy2@mail.ru>
parents:
12915
diff
changeset
|
899 |
function GetVolumePercent(): LongInt; |
aed4b25ff242
Fix volume caption not being shown when hitting mute key
Wuzzy <Wuzzy2@mail.ru>
parents:
12915
diff
changeset
|
900 |
begin |
aed4b25ff242
Fix volume caption not being shown when hitting mute key
Wuzzy <Wuzzy2@mail.ru>
parents:
12915
diff
changeset
|
901 |
GetVolumePercent:= Volume * 100 div MIX_MAX_VOLUME; |
14703
204fb862d0e4
Prevent displaying "Volume: 0%" when not exactly 0
Wuzzy <Wuzzy2@mail.ru>
parents:
14619
diff
changeset
|
902 |
// 0 and 100 will only be displayed when at min/max values |
204fb862d0e4
Prevent displaying "Volume: 0%" when not exactly 0
Wuzzy <Wuzzy2@mail.ru>
parents:
14619
diff
changeset
|
903 |
// to avoid confusion. |
204fb862d0e4
Prevent displaying "Volume: 0%" when not exactly 0
Wuzzy <Wuzzy2@mail.ru>
parents:
14619
diff
changeset
|
904 |
if ((GetVolumePercent = 0) and (Volume > 0)) then |
204fb862d0e4
Prevent displaying "Volume: 0%" when not exactly 0
Wuzzy <Wuzzy2@mail.ru>
parents:
14619
diff
changeset
|
905 |
GetVolumePercent:= 1 |
204fb862d0e4
Prevent displaying "Volume: 0%" when not exactly 0
Wuzzy <Wuzzy2@mail.ru>
parents:
14619
diff
changeset
|
906 |
else if ((GetVolumePercent = 100) and (Volume < MIX_MAX_VOLUME)) then |
204fb862d0e4
Prevent displaying "Volume: 0%" when not exactly 0
Wuzzy <Wuzzy2@mail.ru>
parents:
14619
diff
changeset
|
907 |
GetVolumePercent:= 99; |
13039
aed4b25ff242
Fix volume caption not being shown when hitting mute key
Wuzzy <Wuzzy2@mail.ru>
parents:
12915
diff
changeset
|
908 |
end; |
aed4b25ff242
Fix volume caption not being shown when hitting mute key
Wuzzy <Wuzzy2@mail.ru>
parents:
12915
diff
changeset
|
909 |
|
371 | 910 |
function ChangeVolume(voldelta: LongInt): LongInt; |
174 | 911 |
begin |
6990
40e5af28d026
change every return value into a more pascal-ish form, using the name of the fucntion (helps the parser and macpas compaitilibity)
koda
parents:
6898
diff
changeset
|
912 |
ChangeVolume:= 0; |
8231
a41d84553ae8
Changed uSound.pas so that music will still play if music is enabled and sound is disabled. Effectively, isSoundEnabled represents only sound effects and does not include music (and I have replaced the places where both are concerned with a logical combination of the two).
Mitchell Kember <mk12360@gmail.com>
parents:
8191
diff
changeset
|
913 |
if not (isSoundEnabled or isMusicEnabled) or ((voldelta = 0) and (not (cInitVolume = 0))) then |
6990
40e5af28d026
change every return value into a more pascal-ish form, using the name of the fucntion (helps the parser and macpas compaitilibity)
koda
parents:
6898
diff
changeset
|
914 |
exit; |
2327 | 915 |
|
3529 | 916 |
inc(Volume, voldelta); |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
917 |
if Volume < 0 then |
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
918 |
Volume:= 0; |
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
919 |
// apply Volume to all channels |
3529 | 920 |
Mix_Volume(-1, Volume); |
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
921 |
// get assigned Volume |
3529 | 922 |
Volume:= Mix_Volume(-1, -1); |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
923 |
if isMusicEnabled then |
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
924 |
Mix_VolumeMusic(Volume * 4 div 8); |
13039
aed4b25ff242
Fix volume caption not being shown when hitting mute key
Wuzzy <Wuzzy2@mail.ru>
parents:
12915
diff
changeset
|
925 |
ChangeVolume:= GetVolumePercent(); |
7403 | 926 |
|
7404 | 927 |
if (isMusicEnabled) then |
928 |
if (Volume = 0) then |
|
929 |
PauseMusic |
|
930 |
else |
|
931 |
ResumeMusic; |
|
7403 | 932 |
|
7404 | 933 |
isAudioMuted:= (Volume = 0); |
174 | 934 |
end; |
935 |
||
6862 | 936 |
procedure DampenAudio; |
937 |
begin |
|
13628
d5e029b84e16
Add setting to disable audio dampening if losing window focus
Wuzzy <Wuzzy2@mail.ru>
parents:
13495
diff
changeset
|
938 |
if (isAudioMuted or (not isAutoDampening)) then |
7404 | 939 |
exit; |
6990
40e5af28d026
change every return value into a more pascal-ish form, using the name of the fucntion (helps the parser and macpas compaitilibity)
koda
parents:
6898
diff
changeset
|
940 |
previousVolume:= Volume; |
40e5af28d026
change every return value into a more pascal-ish form, using the name of the fucntion (helps the parser and macpas compaitilibity)
koda
parents:
6898
diff
changeset
|
941 |
ChangeVolume(-Volume * 7 div 9); |
6862 | 942 |
end; |
943 |
||
944 |
procedure UndampenAudio; |
|
945 |
begin |
|
13628
d5e029b84e16
Add setting to disable audio dampening if losing window focus
Wuzzy <Wuzzy2@mail.ru>
parents:
13495
diff
changeset
|
946 |
if (isAudioMuted or (not isAutoDampening)) then |
7404 | 947 |
exit; |
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
948 |
ChangeVolume(previousVolume - Volume); |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
949 |
end; |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
950 |
|
7403 | 951 |
procedure MuteAudio; |
952 |
begin |
|
8231
a41d84553ae8
Changed uSound.pas so that music will still play if music is enabled and sound is disabled. Effectively, isSoundEnabled represents only sound effects and does not include music (and I have replaced the places where both are concerned with a logical combination of the two).
Mitchell Kember <mk12360@gmail.com>
parents:
8191
diff
changeset
|
953 |
if not (isSoundEnabled or isMusicEnabled) then |
7848
775a72905708
* fix initialisation, preload values and then read args
koda
parents:
7423
diff
changeset
|
954 |
exit; |
7404 | 955 |
|
956 |
if (isAudioMuted) then |
|
957 |
begin |
|
958 |
ResumeMusic; |
|
959 |
ChangeVolume(previousVolume); |
|
960 |
end |
|
961 |
else |
|
962 |
begin |
|
963 |
PauseMusic; |
|
964 |
previousVolume:= Volume; |
|
965 |
ChangeVolume(-Volume); |
|
966 |
end; |
|
967 |
||
968 |
// isAudioMuted is updated in ChangeVolume |
|
7403 | 969 |
end; |
970 |
||
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
971 |
procedure SetMusic(enabled: boolean); |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
972 |
begin |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
973 |
isMusicEnabled:= enabled; |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
974 |
end; |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
975 |
|
7053 | 976 |
procedure SetMusicName(musicname: shortstring); |
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
977 |
begin |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
978 |
MusicFN:= musicname; |
6862 | 979 |
end; |
980 |
||
1712 | 981 |
procedure PauseMusic; |
982 |
begin |
|
3529 | 983 |
if (MusicFN = '') or (not isMusicEnabled) then |
984 |
exit; |
|
2515
51d3f4b6293a
revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents:
2501
diff
changeset
|
985 |
|
6472 | 986 |
if Mus <> nil then |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
987 |
Mix_PauseMusic(Mus); |
1712 | 988 |
end; |
989 |
||
990 |
procedure ResumeMusic; |
|
991 |
begin |
|
3529 | 992 |
if (MusicFN = '') or (not isMusicEnabled) then |
993 |
exit; |
|
2515
51d3f4b6293a
revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents:
2501
diff
changeset
|
994 |
|
6472 | 995 |
if Mus <> nil then |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
996 |
Mix_ResumeMusic(Mus); |
1712 | 997 |
end; |
998 |
||
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
999 |
procedure ChangeMusic(musicname: shortstring); |
4748 | 1000 |
begin |
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
1001 |
MusicFN:= musicname; |
4748 | 1002 |
if (MusicFN = '') or (not isMusicEnabled) then |
1003 |
exit; |
|
1004 |
||
6472 | 1005 |
StopMusic; |
1006 |
PlayMusic; |
|
1007 |
end; |
|
1008 |
||
1009 |
procedure StopMusic; |
|
1010 |
begin |
|
1011 |
if (MusicFN = '') or (not isMusicEnabled) then |
|
1012 |
exit; |
|
1013 |
||
4748 | 1014 |
if Mus <> nil then |
6521 | 1015 |
begin |
4748 | 1016 |
Mix_FreeMusic(Mus); |
6521 | 1017 |
Mus:= nil; |
1018 |
end |
|
4748 | 1019 |
end; |
1020 |
||
4398
36d7e4b6ca81
Move some command handlers out of uCommands into more appropriate places, thus removing some dependencies. Ideally uCommands shouldn't depend on anything (except for uTypes and uConsts probably)
unc0rr
parents:
4377
diff
changeset
|
1021 |
procedure chVoicepack(var s: shortstring); |
36d7e4b6ca81
Move some command handlers out of uCommands into more appropriate places, thus removing some dependencies. Ideally uCommands shouldn't depend on anything (except for uTypes and uConsts probably)
unc0rr
parents:
4377
diff
changeset
|
1022 |
begin |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
1023 |
if CurrentTeam = nil then |
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
1024 |
OutError(errmsgIncorrectUse + ' "/voicepack"', true); |
4398
36d7e4b6ca81
Move some command handlers out of uCommands into more appropriate places, thus removing some dependencies. Ideally uCommands shouldn't depend on anything (except for uTypes and uConsts probably)
unc0rr
parents:
4377
diff
changeset
|
1025 |
if s[1]='"' then Delete(s, 1, 1); |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
1026 |
if s[byte(s[0])]='"' then |
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6551
diff
changeset
|
1027 |
Delete(s, byte(s[0]), 1); |
4398
36d7e4b6ca81
Move some command handlers out of uCommands into more appropriate places, thus removing some dependencies. Ideally uCommands shouldn't depend on anything (except for uTypes and uConsts probably)
unc0rr
parents:
4377
diff
changeset
|
1028 |
CurrentTeam^.voicepack:= AskForVoicepack(s) |
36d7e4b6ca81
Move some command handlers out of uCommands into more appropriate places, thus removing some dependencies. Ideally uCommands shouldn't depend on anything (except for uTypes and uConsts probably)
unc0rr
parents:
4377
diff
changeset
|
1029 |
end; |
36d7e4b6ca81
Move some command handlers out of uCommands into more appropriate places, thus removing some dependencies. Ideally uCommands shouldn't depend on anything (except for uTypes and uConsts probably)
unc0rr
parents:
4377
diff
changeset
|
1030 |
|
7896
67217e6108fd
another stake at variable pre-initialisation - we lost preview logging in the course
koda
parents:
7848
diff
changeset
|
1031 |
procedure preInitModule; |
67217e6108fd
another stake at variable pre-initialisation - we lost preview logging in the course
koda
parents:
7848
diff
changeset
|
1032 |
begin |
67217e6108fd
another stake at variable pre-initialisation - we lost preview logging in the course
koda
parents:
7848
diff
changeset
|
1033 |
isMusicEnabled:= true; |
67217e6108fd
another stake at variable pre-initialisation - we lost preview logging in the course
koda
parents:
7848
diff
changeset
|
1034 |
isSoundEnabled:= true; |
13628
d5e029b84e16
Add setting to disable audio dampening if losing window focus
Wuzzy <Wuzzy2@mail.ru>
parents:
13495
diff
changeset
|
1035 |
isAutoDampening:= true; |
7896
67217e6108fd
another stake at variable pre-initialisation - we lost preview logging in the course
koda
parents:
7848
diff
changeset
|
1036 |
cInitVolume:= 100; |
67217e6108fd
another stake at variable pre-initialisation - we lost preview logging in the course
koda
parents:
7848
diff
changeset
|
1037 |
end; |
67217e6108fd
another stake at variable pre-initialisation - we lost preview logging in the course
koda
parents:
7848
diff
changeset
|
1038 |
|
3038 | 1039 |
procedure initModule; |
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
1040 |
var t: LongInt; |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
1041 |
i: TSound; |
2716
b9ca1bfca24f
complete the replacement of init/free wrappers for every unit
koda
parents:
2674
diff
changeset
|
1042 |
begin |
6898 | 1043 |
RegisterVariable('voicepack', @chVoicepack, false); |
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
1044 |
|
2948
3f21a9dc93d0
Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents:
2905
diff
changeset
|
1045 |
MusicFN:=''; |
11068
0ff8b968291b
allow holding PRECISE key to switch portal ball colors in reverse order
sheepluva
parents:
11046
diff
changeset
|
1046 |
SDMusicFN:= 'sdmusic.ogg'; |
14933
3a53309e684b
Set default SD fallback music for themes: sdmusic.ogg
Wuzzy <Wuzzy2@mail.ru>
parents:
14899
diff
changeset
|
1047 |
FallbackMusicFN:=''; |
3a53309e684b
Set default SD fallback music for themes: sdmusic.ogg
Wuzzy <Wuzzy2@mail.ru>
parents:
14899
diff
changeset
|
1048 |
FallbackSDMusicFN:= 'sdmusic.ogg'; |
7848
775a72905708
* fix initialisation, preload values and then read args
koda
parents:
7423
diff
changeset
|
1049 |
Mus:= nil; |
7404 | 1050 |
isAudioMuted:= false; |
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
1051 |
isSEBackup:= isSoundEnabled; |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
1052 |
Volume:= 0; |
8471
7681d14b9f01
Trying to prevent audio mute from endlessly spamming. Untested.
nemo
parents:
8370
diff
changeset
|
1053 |
SoundTimerTicks:= 0; |
14952
ba5fd934f49b
Don't agressively select voicepack language automatically, must be now enabled explicitly with _qau suffix
Wuzzy <Wuzzy2@mail.ru>
parents:
14933
diff
changeset
|
1054 |
defVoicepack:= AskForVoicepack('Default_qau'); |
14058
bf8b7c166b3c
Play another voice as fallback if sndRevenge could not be found
Wuzzy <Wuzzy2@mail.ru>
parents:
14057
diff
changeset
|
1055 |
LastVoiceFailed:= false; |
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
1056 |
|
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
1057 |
for i:= Low(TSound) to High(TSound) do |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
1058 |
lastChan[i]:= -1; |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
1059 |
|
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
1060 |
// initialize all voices to nil so that they can be loaded lazily |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
1061 |
for t:= 0 to cMaxTeams do |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
1062 |
if voicepacks[t].name <> '' then |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
1063 |
for i:= Low(TSound) to High(TSound) do |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
1064 |
voicepacks[t].chunks[i]:= nil; |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
1065 |
|
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
1066 |
(* on MOBILE SDL_mixer has to be compiled against Tremor (USE_OGG_TREMOR) |
8168 | 1067 |
or sound files bigger than 32k will lockup the game on slow cpu *) |
7021
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
1068 |
for i:= Low(TSound) to High(TSound) do |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
1069 |
defVoicepack^.chunks[i]:= nil; |
0c75512a8920
adjust the scope of a few uSound variables and functions
koda
parents:
6990
diff
changeset
|
1070 |
|
2716
b9ca1bfca24f
complete the replacement of init/free wrappers for every unit
koda
parents:
2674
diff
changeset
|
1071 |
end; |
b9ca1bfca24f
complete the replacement of init/free wrappers for every unit
koda
parents:
2674
diff
changeset
|
1072 |
|
3038 | 1073 |
procedure freeModule; |
2716
b9ca1bfca24f
complete the replacement of init/free wrappers for every unit
koda
parents:
2674
diff
changeset
|
1074 |
begin |
8231
a41d84553ae8
Changed uSound.pas so that music will still play if music is enabled and sound is disabled. Effectively, isSoundEnabled represents only sound effects and does not include music (and I have replaced the places where both are concerned with a logical combination of the two).
Mitchell Kember <mk12360@gmail.com>
parents:
8191
diff
changeset
|
1075 |
if isSoundEnabled or isMusicEnabled then |
6362
ceacd1b61833
modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents:
6360
diff
changeset
|
1076 |
ReleaseSound(true); |
2716
b9ca1bfca24f
complete the replacement of init/free wrappers for every unit
koda
parents:
2674
diff
changeset
|
1077 |
end; |
b9ca1bfca24f
complete the replacement of init/free wrappers for every unit
koda
parents:
2674
diff
changeset
|
1078 |
|
2515
51d3f4b6293a
revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents:
2501
diff
changeset
|
1079 |
end. |
2192
4763a778c033
- Fix quickplay sound bug triggered by two faults: ttsmj's (passing voicepack with empty name in team config) and koda's (he changed fallback to default scheme condition)
unc0rr
parents:
2191
diff
changeset
|
1080 |