Ignore:
Timestamp:
Jul 26, 2025, 1:44:34 PM (19 hours ago)
Author:
chronos
Message:
  • Added: Allow to switch music on/off from game window main menu.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LocalPlayer/Term.pas

    r674 r676  
    1212{$ENDIF}
    1313  Protocol, Tribes, PVSB, ClientTools, ScreenTools, BaseWin, Messg, ButtonBase,
    14   LCLIntf, LCLType, SysUtils, Classes, DrawDlg, Types, Math,
     14  LCLIntf, LCLType, Menus, SysUtils, Classes, DrawDlg, Types, Math,
    1515  DateUtils, Platform, ButtonB, ButtonC, EOTButton, Area, Help,
    1616  GraphicSet, MiniMap, IsoEngine, Wonders, TechTree, Enhance, Nego, CityType,
     
    3333  TMainScreen = class(TDrawDlg)
    3434    mBigTiles: TMenuItem;
     35    mMusicOff: TMenuItem;
     36    mMusicOn: TMenuItem;
     37    mMusic: TMenuItem;
    3538    mFillMap: TMenuItem;
    3639    mNextUnit: TMenuItem;
     
    212215    procedure mLoadClick(Sender: TObject);
    213216    procedure mmineClick(Sender: TObject);
     217    procedure mMusicOffClick(Sender: TObject);
     218    procedure mMusicOnClick(Sender: TObject);
    214219    procedure mNationsClick(Sender: TObject);
    215220    procedure mNextUnitClick(Sender: TObject);
     
    431436    procedure PaintZoomedTile(Dst: TBitmap; X, Y, Loc: Integer);
    432437    procedure UpdateInterface;
     438    procedure UpdateMusic;
    433439  public
    434440    UsedOffscreenWidth: Integer;
     
    11321138  mFillMap.Enabled := BrushType in [fShore, fGrass, fTundra, fPrairie, fDesert, fSwamp, fForest,
    11331139    fHills, fMountains, fArctic];
     1140end;
     1141
     1142procedure TMainScreen.UpdateMusic;
     1143begin
     1144  if MusicEnabled then begin
     1145    MusicPlayer.Volume := MusicVolume;
     1146    if not MusicPlayer.Playing then begin
     1147      MusicPlayer.LoadPlaylistFromDir(GetMusicDir);
     1148      MusicPlayer.RandomizePlaylist;
     1149      if MusicPlayer.Playlist.Count > 0 then MusicPlayer.Play;
     1150    end;
     1151  end else begin
     1152    if MusicPlayer.Playing then MusicPlayer.Stop;
     1153  end;
    11341154end;
    11351155
     
    39263946    with TUn(MyUn[UnFocus]) do
    39273947      DoJob(jMine);
     3948end;
     3949
     3950procedure TMainScreen.mMusicOffClick(Sender: TObject);
     3951begin
     3952  MusicEnabled := False;
     3953  UpdateMusic;
     3954end;
     3955
     3956procedure TMainScreen.mMusicOnClick(Sender: TObject);
     3957begin
     3958  MusicEnabled := True;
     3959  UpdateMusic;
    39283960end;
    39293961
     
    74947526      end;
    74957527
     7528      mMusicOn.Checked := MusicEnabled;
     7529      mMusicOff.Checked := not MusicEnabled;
     7530
    74967531      for I := 0 to nTestFlags - 1 do
    74977532        mManip[I].Checked := MyRO.TestFlags and (1 shl I) <> 0;
Note: See TracChangeset for help on using the changeset viewer.