Changeset 149


Ignore:
Timestamp:
06/18/09 03:40:56 (10 years ago)
Author:
bretzel_parpg
Message:

Added a slider in the options menu for the initial volume setting

Location:
trunk/PARPG
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/PARPG/gui/hud_options.xml

    r113 r149  
    44  <CheckBox name="FullscreenBox" text="Full Screen" /> 
    55  <CheckBox name="SoundsBox" text="Play Sounds" /> 
     6  <Label name="InitialVolumeLabel" /> 
     7  <Slider name="InitialVolumeSlider" scale_start="0" scale_end="10" /> 
    68  <HBox min_size="120,90"> 
    79    <Label text="Resolution: " /> 
  • trunk/PARPG/scripts/hud.py

    r148 r149  
    178178        self.options_events = {"applyButton":self.applyOptions, 
    179179                               "closeButton":self.options_menu.hide, 
    180                                "defaultsButton":self.setToDefaults} 
     180                               "defaultsButton":self.setToDefaults, 
     181                               "InitialVolumeSlider":self.updateVolumeText} 
    181182        self.Resolutions = ['640x480', '800x600', 
    182183                            '1024x768', '1280x1024', '1440x900'] 
     
    185186        if (str(self.settings.readSetting('RenderBackend')) == "SDL"): 
    186187            self.renderNumber = 1 
     188        initialVolume = float(self.settings.readSetting('InitialVolume')) 
     189        initialVolumeText = str('Initial Volume: %.0f%s' % 
     190                                (int(initialVolume*10), "%")) 
    187191        self.options_menu.distributeInitialData({ 
    188192                'ResolutionBox': self.Resolutions, 
    189                 'RenderBox': self.RenderBackends 
     193                'RenderBox': self.RenderBackends, 
     194                'InitialVolumeLabel' : initialVolumeText 
    190195                }) 
    191196        # TODO: fix bad line length here 
     
    194199                'SoundsBox':int(self.settings.readSetting(name="PlaySounds")), 
    195200                'ResolutionBox':self.Resolutions.index(str(self.settings.readSetting("ScreenWidth")) + 'x' + str(self.settings.readSetting("ScreenHeight"))), 
    196                 'RenderBox': self.renderNumber 
     201                'RenderBox': self.renderNumber, 
     202                'InitialVolumeSlider':initialVolume 
    197203                }) 
    198204        self.options_menu.mapEvents(self.options_events) 
     205 
     206    def updateVolumeText(self): 
     207        """ 
     208        Update the initial volume label to reflect the value of the slider 
     209        """ 
     210        volume = float(self.options_menu.collectData("InitialVolumeSlider")) 
     211        volume_label = self.options_menu.findChild(name="InitialVolumeLabel") 
     212        volume_label.text = unicode("Initial Volume: %.0f%s" % 
     213                                    (int(volume*10), "%")) 
    199214 
    200215    def requireRestartDialog(self): 
     
    212227        # TODO: add comments 
    213228        self.requireRestart = False 
    214         enable_fullscreen, enable_sound, screen_resolution, render_backend = self.options_menu.collectData('FullscreenBox', 'SoundsBox', 'ResolutionBox', 'RenderBox') 
     229        enable_fullscreen, enable_sound, screen_resolution, render_backend, initial_volume = self.options_menu.collectData('FullscreenBox', 'SoundsBox', 'ResolutionBox', 'RenderBox', 'InitialVolumeSlider') 
     230        initial_volume = "%.1f" % initial_volume 
    215231 
    216232        if (int(enable_fullscreen) != int(self.settings.readSetting('FullScreen'))): 
     
    234250        if (render_backend != str(self.settings.readSetting("RenderBackend"))): 
    235251            self.setOption('RenderBackend', render_backend) 
     252            self.requireRestart = True 
     253 
     254        if (initial_volume != float(self.settings.readSetting("InitialVolume"))): 
     255            self.setOption('InitialVolume', initial_volume) 
    236256            self.requireRestart = True 
    237257 
Note: See TracChangeset for help on using the changeset viewer.