hedgewars/uSound.pas
changeset 11873 7db5aef27e8d
parent 11835 8f7e28428f3e
child 11874 045f33b498ea
equal deleted inserted replaced
11872:992d7701cbd0 11873:7db5aef27e8d
   131                     ( snd: sndNone; voicepack: nil),
   131                     ( snd: sndNone; voicepack: nil),
   132                     ( snd: sndNone; voicepack: nil),
   132                     ( snd: sndNone; voicepack: nil),
   133                     ( snd: sndNone; voicepack: nil));
   133                     ( snd: sndNone; voicepack: nil));
   134     Soundz: array[TSound] of record
   134     Soundz: array[TSound] of record
   135             FileName: string[31];
   135             FileName: string[31];
   136             Path    : TPathType;
   136             Path, AltPath    : TPathType;
   137             end = (
   137             end = (
   138             (FileName:                         ''; Path: ptNone  ),// sndNone
   138             (FileName:                         ''; Path: ptNone; AltPath: ptNone),// sndNone
   139             (FileName:        'grenadeimpact.ogg'; Path: ptSounds),// sndGrenadeImpact
   139             (FileName:        'grenadeimpact.ogg'; Path: ptSounds; AltPath: ptNone),// sndGrenadeImpact
   140             (FileName:            'explosion.ogg'; Path: ptSounds),// sndExplosion
   140             (FileName:            'explosion.ogg'; Path: ptSounds; AltPath: ptNone),// sndExplosion
   141             (FileName:         'throwpowerup.ogg'; Path: ptSounds),// sndThrowPowerUp
   141             (FileName:         'throwpowerup.ogg'; Path: ptSounds; AltPath: ptNone),// sndThrowPowerUp
   142             (FileName:         'throwrelease.ogg'; Path: ptSounds),// sndThrowRelease
   142             (FileName:         'throwrelease.ogg'; Path: ptSounds; AltPath: ptNone),// sndThrowRelease
   143             (FileName:               'splash.ogg'; Path: ptSounds),// sndSplash
   143             (FileName:               'splash.ogg'; Path: ptCurrTheme; AltPath: ptSounds),// sndSplash
   144             (FileName:        'shotgunreload.ogg'; Path: ptSounds),// sndShotgunReload
   144             (FileName:        'shotgunreload.ogg'; Path: ptSounds; AltPath: ptNone),// sndShotgunReload
   145             (FileName:          'shotgunfire.ogg'; Path: ptSounds),// sndShotgunFire
   145             (FileName:          'shotgunfire.ogg'; Path: ptSounds; AltPath: ptNone),// sndShotgunFire
   146             (FileName:          'graveimpact.ogg'; Path: ptSounds),// sndGraveImpact
   146             (FileName:          'graveimpact.ogg'; Path: ptSounds; AltPath: ptNone),// sndGraveImpact
   147             (FileName:           'mineimpact.ogg'; Path: ptSounds),// sndMineImpact
   147             (FileName:           'mineimpact.ogg'; Path: ptSounds; AltPath: ptNone),// sndMineImpact
   148             (FileName:             'minetick.ogg'; Path: ptSounds),// sndMineTicks
   148             (FileName:             'minetick.ogg'; Path: ptSounds; AltPath: ptNone),// sndMineTicks
   149             (FileName:             'Droplet1.ogg'; Path: ptSounds),// sndMudballImpact
   149             (FileName:             'Droplet1.ogg'; Path: ptSounds; AltPath: ptNone),// sndMudballImpact
   150             (FileName:           'pickhammer.ogg'; Path: ptSounds),// sndPickhammer
   150             (FileName:           'pickhammer.ogg'; Path: ptSounds; AltPath: ptNone),// sndPickhammer
   151             (FileName:                  'gun.ogg'; Path: ptSounds),// sndGun
   151             (FileName:                  'gun.ogg'; Path: ptSounds; AltPath: ptNone),// sndGun
   152             (FileName:                  'bee.ogg'; Path: ptSounds),// sndBee
   152             (FileName:                  'bee.ogg'; Path: ptSounds; AltPath: ptNone),// sndBee
   153             (FileName:                'Jump1.ogg'; Path: ptVoices),// sndJump1
   153             (FileName:                'Jump1.ogg'; Path: ptVoices; AltPath: ptNone),// sndJump1
   154             (FileName:                'Jump2.ogg'; Path: ptVoices),// sndJump2
   154             (FileName:                'Jump2.ogg'; Path: ptVoices; AltPath: ptNone),// sndJump2
   155             (FileName:                'Jump3.ogg'; Path: ptVoices),// sndJump3
   155             (FileName:                'Jump3.ogg'; Path: ptVoices; AltPath: ptNone),// sndJump3
   156             (FileName:               'Yessir.ogg'; Path: ptVoices),// sndYesSir
   156             (FileName:               'Yessir.ogg'; Path: ptVoices; AltPath: ptNone),// sndYesSir
   157             (FileName:                'Laugh.ogg'; Path: ptVoices),// sndLaugh
   157             (FileName:                'Laugh.ogg'; Path: ptVoices; AltPath: ptNone),// sndLaugh
   158             (FileName:            'Illgetyou.ogg'; Path: ptVoices),// sndIllGetYou
   158             (FileName:            'Illgetyou.ogg'; Path: ptVoices; AltPath: ptNone),// sndIllGetYou
   159             (FileName:          'Justyouwait.ogg'; Path: ptVoices),// sndJustyouwait
   159             (FileName:          'Justyouwait.ogg'; Path: ptVoices; AltPath: ptNone),// sndJustyouwait
   160             (FileName:             'Incoming.ogg'; Path: ptVoices),// sndIncoming
   160             (FileName:             'Incoming.ogg'; Path: ptVoices; AltPath: ptNone),// sndIncoming
   161             (FileName:               'Missed.ogg'; Path: ptVoices),// sndMissed
   161             (FileName:               'Missed.ogg'; Path: ptVoices; AltPath: ptNone),// sndMissed
   162             (FileName:               'Stupid.ogg'; Path: ptVoices),// sndStupid
   162             (FileName:               'Stupid.ogg'; Path: ptVoices; AltPath: ptNone),// sndStupid
   163             (FileName:           'Firstblood.ogg'; Path: ptVoices),// sndFirstBlood
   163             (FileName:           'Firstblood.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirstBlood
   164             (FileName:               'Boring.ogg'; Path: ptVoices),// sndBoring
   164             (FileName:               'Boring.ogg'; Path: ptVoices; AltPath: ptNone),// sndBoring
   165             (FileName:               'Byebye.ogg'; Path: ptVoices),// sndByeBye
   165             (FileName:               'Byebye.ogg'; Path: ptVoices; AltPath: ptNone),// sndByeBye
   166             (FileName:             'Sameteam.ogg'; Path: ptVoices),// sndSameTeam
   166             (FileName:             'Sameteam.ogg'; Path: ptVoices; AltPath: ptNone),// sndSameTeam
   167             (FileName:               'Nutter.ogg'; Path: ptVoices),// sndNutter
   167             (FileName:               'Nutter.ogg'; Path: ptVoices; AltPath: ptNone),// sndNutter
   168             (FileName:       'Reinforcements.ogg'; Path: ptVoices),// sndReinforce
   168             (FileName:       'Reinforcements.ogg'; Path: ptVoices; AltPath: ptNone),// sndReinforce
   169             (FileName:              'Traitor.ogg'; Path: ptVoices),// sndTraitor
   169             (FileName:              'Traitor.ogg'; Path: ptVoices; AltPath: ptNone),// sndTraitor
   170             (FileName:      'Youllregretthat.ogg'; Path: ptVoices),// sndRegret
   170             (FileName:      'Youllregretthat.ogg'; Path: ptVoices; AltPath: ptNone),// sndRegret
   171             (FileName:            'Enemydown.ogg'; Path: ptVoices),// sndEnemyDown
   171             (FileName:            'Enemydown.ogg'; Path: ptVoices; AltPath: ptNone),// sndEnemyDown
   172             (FileName:               'Coward.ogg'; Path: ptVoices),// sndCoward
   172             (FileName:               'Coward.ogg'; Path: ptVoices; AltPath: ptNone),// sndCoward
   173             (FileName:                'Hurry.ogg'; Path: ptVoices),// sndHurry
   173             (FileName:                'Hurry.ogg'; Path: ptVoices; AltPath: ptNone),// sndHurry
   174             (FileName:              'Watchit.ogg'; Path: ptVoices),// sndWatchIt
   174             (FileName:              'Watchit.ogg'; Path: ptVoices; AltPath: ptNone),// sndWatchIt
   175             (FileName:             'Kamikaze.ogg'; Path: ptVoices),// sndKamikaze
   175             (FileName:             'Kamikaze.ogg'; Path: ptVoices; AltPath: ptNone),// sndKamikaze
   176             (FileName:                'cake2.ogg'; Path: ptSounds),// sndCake
   176             (FileName:                'cake2.ogg'; Path: ptSounds; AltPath: ptNone),// sndCake
   177             (FileName:                  'Ow1.ogg'; Path: ptVoices),// sndOw1
   177             (FileName:                  'Ow1.ogg'; Path: ptVoices; AltPath: ptNone),// sndOw1
   178             (FileName:                  'Ow2.ogg'; Path: ptVoices),// sndOw2
   178             (FileName:                  'Ow2.ogg'; Path: ptVoices; AltPath: ptNone),// sndOw2
   179             (FileName:                  'Ow3.ogg'; Path: ptVoices),// sndOw3
   179             (FileName:                  'Ow3.ogg'; Path: ptVoices; AltPath: ptNone),// sndOw3
   180             (FileName:                  'Ow4.ogg'; Path: ptVoices),// sndOw4
   180             (FileName:                  'Ow4.ogg'; Path: ptVoices; AltPath: ptNone),// sndOw4
   181             (FileName:           'Firepunch1.ogg'; Path: ptVoices),// sndFirepunch1
   181             (FileName:           'Firepunch1.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirepunch1
   182             (FileName:           'Firepunch2.ogg'; Path: ptVoices),// sndFirepunch2
   182             (FileName:           'Firepunch2.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirepunch2
   183             (FileName:           'Firepunch3.ogg'; Path: ptVoices),// sndFirepunch3
   183             (FileName:           'Firepunch3.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirepunch3
   184             (FileName:           'Firepunch4.ogg'; Path: ptVoices),// sndFirepunch4
   184             (FileName:           'Firepunch4.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirepunch4
   185             (FileName:           'Firepunch5.ogg'; Path: ptVoices),// sndFirepunch5
   185             (FileName:           'Firepunch5.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirepunch5
   186             (FileName:           'Firepunch6.ogg'; Path: ptVoices),// sndFirepunch6
   186             (FileName:           'Firepunch6.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirepunch6
   187             (FileName:                'Melon.ogg'; Path: ptVoices),// sndMelon
   187             (FileName:                'Melon.ogg'; Path: ptVoices; AltPath: ptNone),// sndMelon
   188             (FileName:              'Hellish.ogg'; Path: ptSounds),// sndHellish
   188             (FileName:              'Hellish.ogg'; Path: ptSounds; AltPath: ptNone),// sndHellish
   189             (FileName:               'Yoohoo.ogg'; Path: ptSounds),// sndYoohoo
   189             (FileName:               'Yoohoo.ogg'; Path: ptSounds; AltPath: ptNone),// sndYoohoo
   190             (FileName:              'rcplane.ogg'; Path: ptSounds),// sndRCPlane
   190             (FileName:              'rcplane.ogg'; Path: ptSounds; AltPath: ptNone),// sndRCPlane
   191             (FileName:            'whipcrack.ogg'; Path: ptSounds),// sndWhipCrack
   191             (FileName:            'whipcrack.ogg'; Path: ptSounds; AltPath: ptNone),// sndWhipCrack
   192             (FileName:'ride_of_the_valkyries.ogg'; Path: ptSounds),// sndRideOfTheValkyries
   192             (FileName:'ride_of_the_valkyries.ogg'; Path: ptSounds; AltPath: ptNone),// sndRideOfTheValkyries
   193             (FileName:               'denied.ogg'; Path: ptSounds),// sndDenied
   193             (FileName:               'denied.ogg'; Path: ptSounds; AltPath: ptNone),// sndDenied
   194             (FileName:               'placed.ogg'; Path: ptSounds),// sndPlaced
   194             (FileName:               'placed.ogg'; Path: ptSounds; AltPath: ptNone),// sndPlaced
   195             (FileName:          'baseballbat.ogg'; Path: ptSounds),// sndBaseballBat
   195             (FileName:          'baseballbat.ogg'; Path: ptSounds; AltPath: ptNone),// sndBaseballBat
   196             (FileName:                'steam.ogg'; Path: ptSounds),// sndVaporize
   196             (FileName:                'steam.ogg'; Path: ptSounds; AltPath: ptNone),// sndVaporize
   197             (FileName:                 'warp.ogg'; Path: ptSounds),// sndWarp
   197             (FileName:                 'warp.ogg'; Path: ptSounds; AltPath: ptNone),// sndWarp
   198             (FileName:          'suddendeath.ogg'; Path: ptSounds),// sndSuddenDeath
   198             (FileName:          'suddendeath.ogg'; Path: ptSounds; AltPath: ptNone),// sndSuddenDeath
   199             (FileName:               'mortar.ogg'; Path: ptSounds),// sndMortar
   199             (FileName:               'mortar.ogg'; Path: ptSounds; AltPath: ptNone),// sndMortar
   200             (FileName:         'shutterclick.ogg'; Path: ptSounds),// sndShutter
   200             (FileName:         'shutterclick.ogg'; Path: ptSounds; AltPath: ptNone),// sndShutter
   201             (FileName:              'homerun.ogg'; Path: ptSounds),// sndHomerun
   201             (FileName:              'homerun.ogg'; Path: ptSounds; AltPath: ptNone),// sndHomerun
   202             (FileName:              'molotov.ogg'; Path: ptSounds),// sndMolotov
   202             (FileName:              'molotov.ogg'; Path: ptSounds; AltPath: ptNone),// sndMolotov
   203             (FileName:            'Takecover.ogg'; Path: ptVoices),// sndCover
   203             (FileName:            'Takecover.ogg'; Path: ptVoices; AltPath: ptNone),// sndCover
   204             (FileName:                'Uh-oh.ogg'; Path: ptVoices),// sndUhOh
   204             (FileName:                'Uh-oh.ogg'; Path: ptVoices; AltPath: ptNone),// sndUhOh
   205             (FileName:                 'Oops.ogg'; Path: ptVoices),// sndOops
   205             (FileName:                 'Oops.ogg'; Path: ptVoices; AltPath: ptNone),// sndOops
   206             (FileName:                 'Nooo.ogg'; Path: ptVoices),// sndNooo
   206             (FileName:                 'Nooo.ogg'; Path: ptVoices; AltPath: ptNone),// sndNooo
   207             (FileName:                'Hello.ogg'; Path: ptVoices),// sndHello
   207             (FileName:                'Hello.ogg'; Path: ptVoices; AltPath: ptNone),// sndHello
   208             (FileName:             'ropeshot.ogg'; Path: ptSounds),// sndRopeShot
   208             (FileName:             'ropeshot.ogg'; Path: ptSounds; AltPath: ptNone),// sndRopeShot
   209             (FileName:           'ropeattach.ogg'; Path: ptSounds),// sndRopeAttach
   209             (FileName:           'ropeattach.ogg'; Path: ptSounds; AltPath: ptNone),// sndRopeAttach
   210             (FileName:          'roperelease.ogg'; Path: ptSounds),// sndRopeRelease
   210             (FileName:          'roperelease.ogg'; Path: ptSounds; AltPath: ptNone),// sndRopeRelease
   211             (FileName:            'switchhog.ogg'; Path: ptSounds),// sndSwitchHog
   211             (FileName:            'switchhog.ogg'; Path: ptSounds; AltPath: ptNone),// sndSwitchHog
   212             (FileName:              'Victory.ogg'; Path: ptVoices),// sndVictory
   212             (FileName:              'Victory.ogg'; Path: ptVoices; AltPath: ptNone),// sndVictory
   213             (FileName:             'Flawless.ogg'; Path: ptVoices),// sndFlawless
   213             (FileName:             'Flawless.ogg'; Path: ptVoices; AltPath: ptNone),// sndFlawless
   214             (FileName:         'sniperreload.ogg'; Path: ptSounds),// sndSniperReload
   214             (FileName:         'sniperreload.ogg'; Path: ptSounds; AltPath: ptNone),// sndSniperReload
   215             (FileName:                'steps.ogg'; Path: ptSounds),// sndSteps
   215             (FileName:                'steps.ogg'; Path: ptSounds; AltPath: ptNone),// sndSteps
   216             (FileName:           'lowgravity.ogg'; Path: ptSounds),// sndLowGravity
   216             (FileName:           'lowgravity.ogg'; Path: ptSounds; AltPath: ptNone),// sndLowGravity
   217             (FileName:           'hell_growl.ogg'; Path: ptSounds),// sndHellishImpact1
   217             (FileName:           'hell_growl.ogg'; Path: ptSounds; AltPath: ptNone),// sndHellishImpact1
   218             (FileName:            'hell_ooff.ogg'; Path: ptSounds),// sndHellishImpact2
   218             (FileName:            'hell_ooff.ogg'; Path: ptSounds; AltPath: ptNone),// sndHellishImpact2
   219             (FileName:              'hell_ow.ogg'; Path: ptSounds),// sndHellishImpact3
   219             (FileName:              'hell_ow.ogg'; Path: ptSounds; AltPath: ptNone),// sndHellishImpact3
   220             (FileName:             'hell_ugh.ogg'; Path: ptSounds),// sndHellishImpact4
   220             (FileName:             'hell_ugh.ogg'; Path: ptSounds; AltPath: ptNone),// sndHellishImpact4
   221             (FileName:          'melonimpact.ogg'; Path: ptSounds),// sndMelonImpact
   221             (FileName:          'melonimpact.ogg'; Path: ptSounds; AltPath: ptNone),// sndMelonImpact
   222             (FileName:             'Droplet1.ogg'; Path: ptSounds),// sndDroplet1
   222             (FileName:             'Droplet1.ogg'; Path: ptCurrTheme; AltPath: ptSounds),// sndDroplet1
   223             (FileName:             'Droplet2.ogg'; Path: ptSounds),// sndDroplet2
   223             (FileName:             'Droplet2.ogg'; Path: ptCurrTheme; AltPath: ptSounds),// sndDroplet2
   224             (FileName:             'Droplet3.ogg'; Path: ptSounds),// sndDroplet3
   224             (FileName:             'Droplet3.ogg'; Path: ptCurrTheme; AltPath: ptSounds),// sndDroplet3
   225             (FileName:                  'egg.ogg'; Path: ptSounds),// sndEggBreak
   225             (FileName:                  'egg.ogg'; Path: ptSounds; AltPath: ptNone),// sndEggBreak
   226             (FileName:             'drillgun.ogg'; Path: ptSounds),// sndDrillRocket
   226             (FileName:             'drillgun.ogg'; Path: ptSounds; AltPath: ptNone),// sndDrillRocket
   227             (FileName:          'PoisonCough.ogg'; Path: ptVoices),// sndPoisonCough
   227             (FileName:          'PoisonCough.ogg'; Path: ptVoices; AltPath: ptNone),// sndPoisonCough
   228             (FileName:           'PoisonMoan.ogg'; Path: ptVoices),// sndPoisonMoan
   228             (FileName:           'PoisonMoan.ogg'; Path: ptVoices; AltPath: ptNone),// sndPoisonMoan
   229             (FileName:             'BirdyLay.ogg'; Path: ptSounds),// sndBirdyLay
   229             (FileName:             'BirdyLay.ogg'; Path: ptSounds; AltPath: ptNone),// sndBirdyLay
   230             (FileName:              'Whistle.ogg'; Path: ptSounds),// sndWhistle
   230             (FileName:              'Whistle.ogg'; Path: ptSounds; AltPath: ptNone),// sndWhistle
   231             (FileName:             'beewater.ogg'; Path: ptSounds),// sndBeeWater
   231             (FileName:             'beewater.ogg'; Path: ptSounds; AltPath: ptNone),// sndBeeWater
   232             (FileName:                   '1C.ogg'; Path: ptSounds),// sndPiano0
   232             (FileName:                   '1C.ogg'; Path: ptSounds; AltPath: ptNone),// sndPiano0
   233             (FileName:                   '2D.ogg'; Path: ptSounds),// sndPiano1
   233             (FileName:                   '2D.ogg'; Path: ptSounds; AltPath: ptNone),// sndPiano1
   234             (FileName:                   '3E.ogg'; Path: ptSounds),// sndPiano2
   234             (FileName:                   '3E.ogg'; Path: ptSounds; AltPath: ptNone),// sndPiano2
   235             (FileName:                   '4F.ogg'; Path: ptSounds),// sndPiano3
   235             (FileName:                   '4F.ogg'; Path: ptSounds; AltPath: ptNone),// sndPiano3
   236             (FileName:                   '5G.ogg'; Path: ptSounds),// sndPiano4
   236             (FileName:                   '5G.ogg'; Path: ptSounds; AltPath: ptNone),// sndPiano4
   237             (FileName:                   '6A.ogg'; Path: ptSounds),// sndPiano5
   237             (FileName:                   '6A.ogg'; Path: ptSounds; AltPath: ptNone),// sndPiano5
   238             (FileName:                   '7B.ogg'; Path: ptSounds),// sndPiano6
   238             (FileName:                   '7B.ogg'; Path: ptSounds; AltPath: ptNone),// sndPiano6
   239             (FileName:                   '8C.ogg'; Path: ptSounds),// sndPiano7
   239             (FileName:                   '8C.ogg'; Path: ptSounds; AltPath: ptNone),// sndPiano7
   240             (FileName:                   '9D.ogg'; Path: ptSounds),// sndPiano8
   240             (FileName:                   '9D.ogg'; Path: ptSounds; AltPath: ptNone),// sndPiano8
   241             (FileName:                 'skip.ogg'; Path: ptSounds),// sndSkip
   241             (FileName:                 'skip.ogg'; Path: ptCurrTheme; AltPath: ptSounds),// sndSkip
   242             (FileName:              'sinegun.ogg'; Path: ptSounds),// sndSineGun
   242             (FileName:              'sinegun.ogg'; Path: ptSounds; AltPath: ptNone),// sndSineGun
   243             (FileName:                'Ooff1.ogg'; Path: ptVoices),// sndOoff1
   243             (FileName:                'Ooff1.ogg'; Path: ptVoices; AltPath: ptNone),// sndOoff1
   244             (FileName:                'Ooff2.ogg'; Path: ptVoices),// sndOoff2
   244             (FileName:                'Ooff2.ogg'; Path: ptVoices; AltPath: ptNone),// sndOoff2
   245             (FileName:                'Ooff3.ogg'; Path: ptVoices),// sndOoff3
   245             (FileName:                'Ooff3.ogg'; Path: ptVoices; AltPath: ptNone),// sndOoff3
   246             (FileName:               'hammer.ogg'; Path: ptSounds),// sndWhack
   246             (FileName:               'hammer.ogg'; Path: ptSounds; AltPath: ptNone),// sndWhack
   247             (FileName:           'Comeonthen.ogg'; Path: ptVoices),// sndComeonthen
   247             (FileName:           'Comeonthen.ogg'; Path: ptVoices; AltPath: ptNone),// sndComeonthen
   248             (FileName:            'parachute.ogg'; Path: ptSounds),// sndParachute
   248             (FileName:            'parachute.ogg'; Path: ptSounds; AltPath: ptNone),// sndParachute
   249             (FileName:                 'bump.ogg'; Path: ptSounds),// sndBump
   249             (FileName:                 'bump.ogg'; Path: ptSounds; AltPath: ptNone),// sndBump
   250             (FileName:            'hogchant3.ogg'; Path: ptSounds),// sndResurrector
   250             (FileName:            'hogchant3.ogg'; Path: ptSounds; AltPath: ptNone),// sndResurrector
   251             (FileName:                'plane.ogg'; Path: ptSounds),// sndPlane
   251             (FileName:                'plane.ogg'; Path: ptSounds; AltPath: ptNone),// sndPlane
   252             (FileName:               'TARDIS.ogg'; Path: ptSounds),// sndTardis
   252             (FileName:               'TARDIS.ogg'; Path: ptSounds; AltPath: ptNone),// sndTardis
   253             (FileName:    'frozen_hog_impact.ogg'; Path: ptSounds),// sndFrozenHogImpact
   253             (FileName:    'frozen_hog_impact.ogg'; Path: ptSounds; AltPath: ptNone),// sndFrozenHogImpact
   254             (FileName:             'ice_beam.ogg'; Path: ptSounds),// sndIceBeam
   254             (FileName:             'ice_beam.ogg'; Path: ptSounds; AltPath: ptNone),// sndIceBeam
   255             (FileName:           'hog_freeze.ogg'; Path: ptSounds),// sndHogFreeze
   255             (FileName:           'hog_freeze.ogg'; Path: ptSounds; AltPath: ptNone), // sndHogFreeze
   256             (FileName:       'airmine_impact.ogg'; Path: ptSounds),// sndAirMineImpact
   256             (FileName:       'airmine_impact.ogg'; Path: ptSounds; AltPath: ptNone),// sndAirMineImpact
   257             (FileName:         'knife_impact.ogg'; Path: ptSounds),// sndKnifeImpact
   257             (FileName:         'knife_impact.ogg'; Path: ptSounds; AltPath: ptNone),// sndKnifeImpact
   258             (FileName:            'extratime.ogg'; Path: ptSounds) // sndExtraTime
   258             (FileName:            'extratime.ogg'; Path: ptSounds; AltPath: ptNone) // sndExtraTime
   259             );
   259             );
   260 
       
   261 
   260 
   262 
   261 
   263 function  AskForVoicepack(name: shortstring): Pointer;
   262 function  AskForVoicepack(name: shortstring): Pointer;
   264 var i: Longword;
   263 var i: Longword;
   265     locName, path: shortstring;
   264     locName, path: shortstring;
   396     PlaySoundV(snd, voicepack, false);
   395     PlaySoundV(snd, voicepack, false);
   397 end;
   396 end;
   398 
   397 
   399 procedure PlaySoundV(snd: TSound; voicepack: PVoicepack; keepPlaying: boolean);
   398 procedure PlaySoundV(snd: TSound; voicepack: PVoicepack; keepPlaying: boolean);
   400 var s:shortstring;
   399 var s:shortstring;
       
   400 rwops: PSDL_RWops;
   401 begin
   401 begin
   402     if (not isSoundEnabled) or fastUntilLag then
   402     if (not isSoundEnabled) or fastUntilLag then
   403         exit;
   403         exit;
   404 
   404 
   405     if keepPlaying and (lastChan[snd] <> -1) and (Mix_Playing(lastChan[snd]) <> 0) then
   405     if keepPlaying and (lastChan[snd] <> -1) and (Mix_Playing(lastChan[snd]) <> 0) then
   411             begin
   411             begin
   412             s:= cPathz[Soundz[snd].Path] + '/' + voicepack^.name + '/' + Soundz[snd].FileName;
   412             s:= cPathz[Soundz[snd].Path] + '/' + voicepack^.name + '/' + Soundz[snd].FileName;
   413             if (not pfsExists(s)) and (snd in [sndFirePunch2, sndFirePunch3, sndFirePunch4, sndFirePunch5, sndFirePunch6]) then
   413             if (not pfsExists(s)) and (snd in [sndFirePunch2, sndFirePunch3, sndFirePunch4, sndFirePunch5, sndFirePunch6]) then
   414                 s:= cPathz[Soundz[sndFirePunch1].Path] + '/' + voicepack^.name + '/' + Soundz[snd].FileName;
   414                 s:= cPathz[Soundz[sndFirePunch1].Path] + '/' + voicepack^.name + '/' + Soundz[snd].FileName;
   415             WriteToConsole(msgLoading + s + ' ');
   415             WriteToConsole(msgLoading + s + ' ');
   416             voicepack^.chunks[snd]:= Mix_LoadWAV_RW(rwopsOpenRead(s), 1);
   416             rwops := rwopsOpenRead(s);
       
   417             
       
   418             if rwops = nil then
       
   419                 begin
       
   420                 s:= cPathz[Soundz[snd].AltPath] + '/' + voicepack^.name + '/' + Soundz[snd].FileName;
       
   421                 WriteToConsole(msgLoading + s + ' ... ');
       
   422                 rwops := rwopsOpenRead(s);
       
   423                 end;
       
   424             voicepack^.chunks[snd]:= Mix_LoadWAV_RW(rwops, 1);
       
   425 
   417             if voicepack^.chunks[snd] = nil then
   426             if voicepack^.chunks[snd] = nil then
   418                 WriteLnToConsole(msgFailed)
   427                 WriteLnToConsole(msgFailed)
   419             else
   428             else
   420                 WriteLnToConsole(msgOK)
   429                 WriteLnToConsole(msgOK)
   421             end;
   430             end;
   425         begin
   434         begin
   426         if (defVoicepack^.chunks[snd] = nil) and (Soundz[snd].Path <> ptVoices) and (Soundz[snd].FileName <> '') then
   435         if (defVoicepack^.chunks[snd] = nil) and (Soundz[snd].Path <> ptVoices) and (Soundz[snd].FileName <> '') then
   427             begin
   436             begin
   428             s:= cPathz[Soundz[snd].Path] + '/' + Soundz[snd].FileName;
   437             s:= cPathz[Soundz[snd].Path] + '/' + Soundz[snd].FileName;
   429             WriteToConsole(msgLoading + s + ' ');
   438             WriteToConsole(msgLoading + s + ' ');
   430             defVoicepack^.chunks[snd]:= Mix_LoadWAV_RW(rwopsOpenRead(s), 1);
   439             rwops := rwopsOpenRead(s);
       
   440             
       
   441             if rwops = nil then
       
   442                 begin
       
   443                 s:= cPathz[Soundz[snd].AltPath] + '/' + voicepack^.name + '/' + Soundz[snd].FileName;
       
   444                 WriteToConsole(msgLoading + s + ' ... ');
       
   445                 rwops := rwopsOpenRead(s);
       
   446                 end;
       
   447             
       
   448             defVoicepack^.chunks[snd]:= Mix_LoadWAV_RW(rwops, 1);
   431             if SDLCheck(defVoicepack^.chunks[snd] <> nil, 'Mix_LoadWAV_RW', true) then exit;
   449             if SDLCheck(defVoicepack^.chunks[snd] <> nil, 'Mix_LoadWAV_RW', true) then exit;
   432             WriteLnToConsole(msgOK);
   450             WriteLnToConsole(msgOK);
   433             end;
   451             end;
   434         lastChan[snd]:= Mix_PlayChannelTimed(-1, defVoicepack^.chunks[snd], 0, -1)
   452         lastChan[snd]:= Mix_PlayChannelTimed(-1, defVoicepack^.chunks[snd], 0, -1)
   435         end;
   453         end;
   497     LoopSoundV:= LoopSoundV(snd, nil, 0)
   515     LoopSoundV:= LoopSoundV(snd, nil, 0)
   498 end;
   516 end;
   499 
   517 
   500 function LoopSoundV(snd: TSound; voicepack: PVoicepack; fadems: LongInt): LongInt;
   518 function LoopSoundV(snd: TSound; voicepack: PVoicepack; fadems: LongInt): LongInt;
   501 var s: shortstring;
   519 var s: shortstring;
       
   520 rwops: PSDL_RWops;
   502 begin
   521 begin
   503     if (not isSoundEnabled) or fastUntilLag then
   522     if (not isSoundEnabled) or fastUntilLag then
   504         begin
   523         begin
   505         LoopSoundV:= -1;
   524         LoopSoundV:= -1;
   506         exit
   525         exit
   510         begin
   529         begin
   511         if (voicepack^.chunks[snd] = nil) and (Soundz[snd].Path = ptVoices) and (Soundz[snd].FileName <> '') then
   530         if (voicepack^.chunks[snd] = nil) and (Soundz[snd].Path = ptVoices) and (Soundz[snd].FileName <> '') then
   512            begin
   531            begin
   513             s:= cPathz[Soundz[snd].Path] + '/' + voicepack^.name + '/' + Soundz[snd].FileName;
   532             s:= cPathz[Soundz[snd].Path] + '/' + voicepack^.name + '/' + Soundz[snd].FileName;
   514             WriteToConsole(msgLoading + s + ' ');
   533             WriteToConsole(msgLoading + s + ' ');
   515             voicepack^.chunks[snd]:= Mix_LoadWAV_RW(rwopsOpenRead(s), 1);
   534             rwops:=rwopsOpenRead(s);
       
   535             
       
   536             if rwops = nil then
       
   537                 begin
       
   538                 s:= cPathz[Soundz[snd].AltPath] + '/' + Soundz[snd].FileName;
       
   539                 WriteToConsole(msgLoading + s + ' ... ');
       
   540                 rwops:=rwopsOpenRead(s);
       
   541                 end;
       
   542                 
       
   543             defVoicepack^.chunks[snd]:= Mix_LoadWAV_RW(rwops, 1);
   516             if voicepack^.chunks[snd] = nil then
   544             if voicepack^.chunks[snd] = nil then
   517                 WriteLnToConsole(msgFailed)
   545                 WriteLnToConsole(msgFailed)
   518             else
   546             else
   519                 WriteLnToConsole(msgOK)
   547                 WriteLnToConsole(msgOK)
   520             end;
   548             end;