亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? soundutil.pas

?? 傳奇客戶端
?? PAS
字號:
unit SoundUtil;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  DXDraws, DirectX, DXClass, Grobal2, ExtCtrls, HUtil32, EdCode,
  Actor, DXSounds;


var
   CurVolume: integer;

procedure LoadSoundList (flname: string);
procedure LoadBGMusicList (flname: string);
procedure PlaySound (idx: integer);
function  PlayBGM (wavname: string): TDirectSoundBuffer;
procedure  PlayMp3 (wavname: string;boFlag:Boolean);
procedure SilenceSound;
procedure ItemClickSound (std: TStdItem);
procedure ItemUseSound (stdmode: integer);
procedure PlayMapMusic(boFlag:Boolean);

type
   SoundInfo = record
      Idx: integer;
      Name: string;
   end;

const
   bmg_intro            = 'wav\log-in-long2.wav';
   bmg_select           = 'wav\sellect-loop2.wav';
   bmg_field            = 'wav\Field2.wav';
   bmg_gameover         = 'wav\game over2.wav';

   s_walk_ground_l      = 1;
   s_walk_ground_r      = 2;
   s_run_ground_l       = 3;
   s_run_ground_r       = 4;
   s_walk_stone_l       = 5;
   s_walk_stone_r       = 6;
   s_run_stone_l        = 7;
   s_run_stone_r        = 8;
   s_walk_lawn_l        = 9;
   s_walk_lawn_r        = 10;
   s_run_lawn_l         = 11;
   s_run_lawn_r         = 12;
   s_walk_rough_l       = 13;
   s_walk_rough_r       = 14;
   s_run_rough_l        = 15;
   s_run_rough_r        = 16;
   s_walk_wood_l        = 17;
   s_walk_wood_r        = 18;
   s_run_wood_l         = 19;
   s_run_wood_r         = 20;
   s_walk_cave_l        = 21;
   s_walk_cave_r        = 22;
   s_run_cave_l         = 23;
   s_run_cave_r         = 24;
   s_walk_room_l        = 25;
   s_walk_room_r        = 26;
   s_run_room_l         = 27;
   s_run_room_r         = 28;
   s_walk_water_l       = 29;
   s_walk_water_r       = 30;
   s_run_water_l        = 31;
   s_run_water_r        = 32;


   s_hit_short          = 50;
   s_hit_wooden         = 51;
   s_hit_sword          = 52;
   s_hit_do             = 53;
   s_hit_axe            = 54;
   s_hit_club           = 55;
   s_hit_long           = 56;
   s_hit_fist           = 57;

   s_struck_short       = 60;
   s_struck_wooden      = 61;
   s_struck_sword       = 62;
   s_struck_do          = 63;
   s_struck_axe         = 64;
   s_struck_club        = 65;

   s_struck_body_sword  = 70;
   s_struck_body_axe    = 71;
   s_struck_body_longstick = 72;
   s_struck_body_fist   = 73;

   s_struck_armor_sword = 80;
   s_struck_armor_axe   = 81;
   s_struck_armor_longstick = 82;
   s_struck_armor_fist  = 83;

   //s_powerup_man         = 80;
   //s_powerup_woman       = 81;
   //s_die_man             = 82;
   //s_die_woman           = 83;
   //s_struck_man          = 84;
   //s_struck_woman        = 85;
   //s_firehit             = 86;

   //s_struck_magic        = 90;
   s_strike_stone        = 91;
   s_drop_stonepiece     = 92;

   s_rock_door_open     = 100;
   s_intro_theme        = 102;
   s_meltstone          = 101;
   s_main_theme         = 102;
   s_norm_button_click  = 103;
   s_rock_button_click  = 104;
   s_glass_button_click = 105;
   s_money              = 106;
   s_eat_drug           = 107;
   s_click_drug         = 108;
   s_spacemove_out      = 109;
   s_spacemove_in       = 110;

   s_click_weapon       = 111;
   s_click_armor        = 112;
   s_click_ring         = 113;
   s_click_armring      = 114;
   s_click_necklace     = 115;
   s_click_helmet       = 116;
   s_click_grobes       = 117;
   s_itmclick           = 118;

   s_yedo_man           = 130;
   s_yedo_woman         = 131;
   s_longhit            = 132;
   s_widehit            = 133;
   s_rush_l             = 134;
   s_rush_r             = 135;
   s_firehit_ready      = 136;
   s_firehit            = 137;

   s_man_struck     = 138;
   s_wom_struck     = 139;
   s_man_die        = 144;
   s_wom_die        = 145;


implementation

uses
   ClMain, MShare;


procedure LoadSoundList (flname: string);
var
   i, k, idx, n: integer;
   strlist: TStringList;
   str, data: string;
begin
   if FileExists (flname) then begin
      strlist := TStringList.Create;
      strlist.LoadFromFile (flname);
      idx := 0;
      for i:=0 to strlist.Count-1 do begin
         str := strlist[i];
         if str <> '' then begin
            if str[1] = ';' then continue;
            str := Trim (GetValidStr3 (str, data, [':', ' ', #9]));
            n := Str_ToInt(data, 0);
            if n > idx then begin
               for k:=0 to n-g_SoundList.Count-1 do
                  g_SoundList.Add ('');
               g_SoundList.Add (str);
               idx := n;
            end;
         end;
      end;
      strlist.Free;
   end;
end;

procedure PlaySound (idx: integer);
begin
  if (g_Sound <> nil) and g_boSound then  begin
    if (idx >= 0) and (idx < g_SoundList.Count) then begin
      if g_SoundList[idx] <> '' then
        if FileExists (g_SoundList[idx]) then
          try
            g_Sound.EffectFile(g_SoundList[idx], FALSE, FALSE);
          except
          end;
    end;
  end;
end;
procedure PlayMapMusic(boFlag:Boolean);
var
  i:Integer;
  pFileName:^String;
  sFileName:String;
  nIndex:Integer;
begin

  {
  nIndex:=Random(BGMusicList.Count);
  if (nIndex < BGMusicList.Count) and (nIndex >= 0) then begin
    pFileName:=Pointer(BGMusicList.Objects[nIndex]);
  end;
  }
  {
  for i:=0 to BGMusicList.Count -1 do begin
    if CompareText(sMapName,BGMusicList.Strings[i]) = 0 then begin
      pFileName:=Pointer(BGMusicList.Objects[i]);
      break;
    end;
  end;
  }
  if (g_nMapMusic < 0) or (not boFlag) then begin
    PlayMp3('',False);
    exit;
  end;
  sFileName:='.\Music\' + IntToStr(g_nMapMusic) + '.mp3';
  PlayMp3(sFileName,boFlag);
end;
procedure LoadBGMusicList (flname: string);
var
  strlist: TStringList;
  str,sMapName,sFileName: string;
  pFileName:^String;
  i:Integer;
begin
  if FileExists (flname) then begin
    strlist := TStringList.Create;
    strlist.LoadFromFile (flname);
    for i:=0 to strlist.Count-1 do begin
      str := strlist[i];
      if (str = '') or (str[1] = ';') then continue;
      str:=GetValidStr3 (str, sMapName, [':', ' ', #9]);
      str:=GetValidStr3 (str, sFileName, [':', ' ', #9]);
      sMapName:=Trim(sMapName);
      sFileName:=Trim(sFileName);

      if (sMapName <> '') and (sFileName <> '') then begin
        New(pFileName);
        pFileName^:=sFileName;
        BGMusicList.AddObject(sMapName,TObject(pFileName));
      end;
    end;
    strlist.Free;;
  end;
end;
function  PlayBGM (wavname: string): TDirectSoundBuffer;
begin

   Result:=nil;//Jacky
   if not g_boBGSound then exit;
   if g_Sound <> nil then  begin
      if wavname <> '' then
         if FileExists (wavname) then begin
            try
               SilenceSound;
               g_Sound.EffectFile(wavname, TRUE, FALSE);
            except
            end;
         end;
   end;

end;
procedure  PlayMp3 (wavname: string;boFlag:Boolean);
begin


   if MP3 <> nil then  begin
      if not boFlag then begin
        Mp3.Stop;
        exit;
      end;
      if not g_boBGSound then exit;
      if wavname <> '' then
         if FileExists (wavname) then begin
            try
               MP3.Stop;
               MP3.Play(wavname);
            except
            end;
         end;
   end;
end;
procedure SilenceSound;
begin
   if g_Sound <> nil then  begin
      g_Sound.Clear;
   end;
end;

procedure ItemClickSound (std: TStdItem);
begin
   case std.StdMode of
      0, 31: PlaySound (s_click_drug);
      5, 6: PlaySound (s_click_weapon);
      10, 11: PlaySound (s_click_armor);
      22, 23: PlaySound (s_click_ring);
      24, 26: begin
        if (pos ('手鐲', std.Name) > 0) or (pos ('手套', std.Name) > 0) then
          PlaySound (s_click_grobes)
        else
          PlaySound (s_click_armring);
      end;
      19, 20, 21: PlaySound (s_click_necklace);
      15: PlaySound (s_click_helmet);
      else PlaySound (s_itmclick);
   end;
end;

procedure ItemUseSound (stdmode: integer);
begin
   case stdmode of
      0: PlaySound (s_click_drug);
      1,2: PlaySound (s_eat_drug);
      else  ;
   end;
end;


end.



?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日精品一区二区三区| 久久国产欧美日韩精品| 日韩精品免费专区| 国产午夜亚洲精品羞羞网站| 中文字幕免费一区| 在线视频国产一区| 另类中文字幕网| 亚洲欧美日韩国产中文在线| 精品国产一区a| 欧美日韩亚洲综合| 色综合天天做天天爱| 国产一区二区电影| 免费成人在线影院| 亚洲成人动漫精品| 亚洲毛片av在线| 久久久精品黄色| 欧美一级高清片| 欧美中文字幕一区| 波多野洁衣一区| 国产激情视频一区二区三区欧美| 水野朝阳av一区二区三区| 亚洲欧洲制服丝袜| 国产精品卡一卡二卡三| 久久精品一区二区三区av| 日韩一级黄色大片| 欧美日本在线观看| 欧美色窝79yyyycom| 欧美日韩日日骚| 欧美经典一区二区| 日韩免费视频线观看| 欧美日韩国产精品自在自线| 色婷婷av久久久久久久| 播五月开心婷婷综合| 成人永久免费视频| 丁香亚洲综合激情啪啪综合| 精品一区二区三区欧美| 老司机午夜精品99久久| 捆绑调教一区二区三区| 污片在线观看一区二区| 亚洲国产精品一区二区www| 亚洲综合精品久久| 亚洲国产日韩一级| 亚洲一二三区在线观看| 亚洲国产一区在线观看| 偷偷要91色婷婷| 婷婷久久综合九色综合伊人色| 亚洲国产另类av| 日韩va欧美va亚洲va久久| 日本成人在线电影网| 蜜桃视频一区二区| 国产在线精品免费| 国产成人av电影在线播放| 成人av集中营| 欧美国产禁国产网站cc| 国产婷婷一区二区| 国产精品国产三级国产aⅴ原创 | 日韩电影在线看| 日本中文字幕一区| 精品一二三四区| 成人性生交大片免费看视频在线 | 欧美在线999| 欧美精品在线一区二区三区| 91精品在线一区二区| 精品免费一区二区三区| 国产欧美日韩在线视频| 欧美一区二区三区四区久久| 欧美日韩免费观看一区二区三区| 欧美一区二区视频免费观看| 久久―日本道色综合久久| 中文天堂在线一区| 亚洲午夜视频在线观看| 久久激情五月激情| 成人国产精品免费观看动漫 | 国产一区二区免费视频| 中文字幕中文字幕中文字幕亚洲无线| 国产精品美女www爽爽爽| 亚洲精品视频在线看| 午夜不卡av在线| 国产成人久久精品77777最新版本| 91欧美一区二区| 日韩欧美国产麻豆| 亚洲欧洲另类国产综合| 日韩av中文在线观看| 成人av在线影院| 69堂成人精品免费视频| 国产女人水真多18毛片18精品视频 | 99在线视频精品| 欧美剧在线免费观看网站| 欧美激情在线看| 婷婷国产在线综合| 丁香天五香天堂综合| 欧美精品高清视频| 日韩美女视频19| 美女爽到高潮91| 欧美性猛交xxxxxxxx| 久久久久9999亚洲精品| 亚洲午夜久久久| 菠萝蜜视频在线观看一区| 日韩一区二区三区电影| 一区二区三区视频在线看| 国产成人自拍网| 日韩欧美一区二区久久婷婷| 亚洲综合在线免费观看| 粉嫩av一区二区三区在线播放| 欧美日本精品一区二区三区| 亚洲女人小视频在线观看| 国产精品一区二区三区网站| 91麻豆精品国产91久久久久久| 亚洲私人黄色宅男| 懂色av一区二区三区蜜臀| 日韩一区二区麻豆国产| 亚洲妇女屁股眼交7| av在线播放成人| 欧美激情资源网| 国产精品亚洲综合一区在线观看| 67194成人在线观看| 亚洲自拍偷拍综合| 粉嫩久久99精品久久久久久夜| 精品欧美一区二区三区精品久久| 亚洲大片在线观看| 欧美伊人久久久久久久久影院| 中文字幕在线不卡一区| 成人动漫精品一区二区| 国产欧美一区二区三区沐欲| 国产一区二区三区免费观看| 欧美大片免费久久精品三p| 日韩二区在线观看| 91精品国产品国语在线不卡| 亚洲一级二级三级| 欧美日韩一区中文字幕| 午夜久久久影院| 在线播放日韩导航| 日韩影视精彩在线| 亚洲综合偷拍欧美一区色| 韩国欧美国产一区| 久久午夜国产精品| 国产精品一区久久久久| 国产日韩av一区二区| 国产不卡视频在线播放| 中文天堂在线一区| 99久久精品国产一区| 亚洲人xxxx| 欧美日本国产视频| 蜜桃久久av一区| 国产色91在线| 99久久久免费精品国产一区二区| 中文字幕一区二区三| 在线观看一区二区视频| 亚洲成人动漫一区| 日韩欧美区一区二| 国产凹凸在线观看一区二区| 亚洲欧美综合色| 欧美在线观看视频一区二区三区| 婷婷综合另类小说色区| 精品免费视频.| 不卡视频一二三| 一区二区三区中文字幕在线观看| 欧美视频在线不卡| 精品一区二区三区在线观看国产| 国产午夜精品理论片a级大结局| 成人av在线一区二区三区| 亚洲宅男天堂在线观看无病毒| 91精品在线一区二区| 粉嫩av一区二区三区| 亚洲一二三区在线观看| 欧美精品一区二区三区在线| 91原创在线视频| 日韩 欧美一区二区三区| 久久综合色之久久综合| 91丨九色porny丨蝌蚪| 日本不卡视频一二三区| 国产精品丝袜在线| 欧美日韩国产乱码电影| 国产福利91精品一区二区三区| 亚洲色图在线视频| 精品少妇一区二区三区| 一本色道久久综合精品竹菊| 久久精品国产99国产| 综合欧美一区二区三区| 欧美成人在线直播| 91社区在线播放| 国产在线精品一区在线观看麻豆| 亚洲精品视频免费看| 久久一区二区三区国产精品| 在线看国产日韩| 国产成人精品三级麻豆| 亚洲国产精品久久艾草纯爱| 国产女主播在线一区二区| 337p亚洲精品色噜噜噜| 91亚洲国产成人精品一区二三| 久久99这里只有精品| 亚洲国产视频网站| 国产精品国产三级国产普通话蜜臀 | 亚洲一区在线免费观看| 国产蜜臀av在线一区二区三区| 欧美日韩大陆在线| 91色视频在线| 国产成人午夜电影网| 麻豆传媒一区二区三区| 亚洲国产欧美在线|