Changeset 676 for trunk/LocalPlayer


Ignore:
Timestamp:
Jul 26, 2025, 1:44:34 PM (4 days ago)
Author:
chronos
Message:
  • Added: Allow to switch music on/off from game window main menu.
Location:
trunk/LocalPlayer
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/LocalPlayer/Term.lfm

    r614 r676  
    470470        end
    471471      end
     472      object mMusic: TMenuItem
     473        Tag = 103
     474        object mMusicOn: TMenuItem
     475          Tag = 104
     476          Caption = 'mMusicOn'
     477          RadioItem = True
     478          OnClick = mMusicOnClick
     479        end
     480        object mMusicOff: TMenuItem
     481          Tag = 105
     482          RadioItem = True
     483          OnClick = mMusicOffClick
     484        end
     485      end
    472486      object N6: TMenuItem
    473487        Caption = '-'
  • 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.