ó
 ›]c           @  s´  d  d l  m Z d  d l Z d  d l Z i d g d 6d g d 6d g d 6d g d 6d g d	 6d
 g d 6d g d 6d d g d 6d d g d 6d g d 6d d g d 6d d g d 6d d g d 6d d g d 6d d g d 6d d g d 6d d g d  6d d g d! 6d d g d" 6d# d$ g d% 6d# d$ g d& 6d# d$ g d' 6Z g  Z d( e f d) „  ƒ  YZ e d* e	 ƒ e d+ e	 ƒ e d, d- e
 e f ƒ e d. d- e
 e f ƒ e d/ e ƒ e d0 e	 ƒ e d1 e	 ƒ e d2 e	 ƒ e d3 e ƒ e d4 e ƒ e d5 e	 ƒ e d6 d7 ƒ e d8 e	 ƒ e d9 e	 ƒ e d: i  ƒ e d; i  ƒ e d< i  ƒ e d= d e e d ƒ f ƒ e d> d e e d ƒ f ƒ e d? d@ ƒ e dA e ƒ e dB d e e d ƒ f ƒ e dC e	 e e e d ƒ f ƒ e dD e	 ƒ e dE e ƒ e dF dG ƒ e dH dG ƒ e dI e ƒ e dJ e ƒ e dK d e
 e d ƒ f ƒ e dL e	 ƒ e dM d e d ƒ e f ƒ e dN dO ƒ e dP dO ƒ dQ e j j f dR „  ƒ  YZ e e j _ e ƒ  e j _ d S(S   iÿÿÿÿ(   t   unicode_literalsNu   rollbacku   pad_leftshoulder_pressu   pad_lefttrigger_posu   pad_back_pressu	   game_menuu   pad_guide_pressu   pad_start_pressu   hide_windowsu   pad_y_pressu   rollforwardu   pad_rightshoulder_pressu   dismissu   button_selectu   pad_righttrigger_pressu   pad_a_pressu   button_alternateu   pad_b_pressu
   focus_leftu   bar_leftu   pad_dleft_pressu   pad_leftx_negu   pad_rightx_negu   focus_rightu	   bar_rightu   pad_dpright_pressu   pad_leftx_posu   pad_rightx_posu   focus_upu   bar_upu   pad_dpup_pressu   pad_lefty_negu   pad_righty_negu
   focus_downu   bar_downu   pad_dpdown_pressu   pad_lefty_posu   pad_righty_post
   Preferencec           B  s   e  Z d  Z d d „ Z RS(   u4   
    Represents information about a preference.
    c         C  sY   | |  _  | |  _ | r | n	 t | ƒ |  _ |  j t k rH t |  _ n  t j |  ƒ d  S(   N(   t   namet   defaultt   typet   typest   unicodet
   basestringt   all_preferencest   append(   t   selfR   R   R   (    (    s   renpy/preferences.pyt   __init__E   s    		N(   t   __name__t
   __module__t   __doc__t   NoneR   (    (    (    s   renpy/preferences.pyR   @   s   u
   fullscreenu   skip_unseenu   text_cpsi    u   afm_timeu
   afm_enableu   using_afm_enableu   voice_sustainu
   mouse_moveu   show_empty_windowu
   wait_voiceu   afm_after_clicku   transitionsi   u   video_image_fallbacku   skip_after_choicesu   volumesu   muteu   joymapu   physical_sizeu   virtual_sizeu   rendereru   autou   performance_testu   languageu   self_voicingu   emphasize_audiou   pad_enabledu   mobile_rollback_sideu   disableu   desktop_rollback_sideu   gl_npotu   gl_powersaveu   gl_framerateu
   gl_tearingu   font_transformu	   font_sizeg      ð?u   font_line_spacingt   Preferencesc           B  s†   e  Z d  Z e e ƒ Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z RS(   u<   
    Stores preferences that will one day be persisted.
    c         C  sI   xB t  D]: } t |  | j ƒ s t |  | j t j | j ƒ ƒ q q Wd S(   uD   
        Initializes the preference that have not been set.
        N(   R   t   hasattrR   t   setattrt   copyR   (   R
   t   p(    (    s   renpy/preferences.pyt   init¬   s    c         C  sš   |  j  d k r t |  _  n  d } xr t D]j } t |  | j d ƒ } t | | j ƒ s( d j | j | | j ƒ } t	 |  | j t
 j
 | j ƒ ƒ q( q( W| S(   u?   
        Checks that preferences have the right types.
        u   autou7   Preference {} has wrong type. {!r} is not of type {!r}.N(   t   gl_powersavet   TrueR   R   t   getattrR   t
   isinstanceR   t   formatR   R   R   (   R
   t   errorR   t   v(    (    s   renpy/preferences.pyt   checkµ   s    &c         C  s   |  j  ƒ  d  S(   N(   R   (   R
   t   version(    (    s   renpy/preferences.pyt   after_upgradeÉ   s    c         C  s   |  j  ƒ  d  S(   N(   R   (   R
   (    (    s   renpy/preferences.pyR   Ì   s    c         C  s-   | d k r t  |  j | <n  | |  j | <d  S(   Ni    (   t   Falset   mutet   volumes(   R
   t   mixert   volume(    (    s   renpy/preferences.pyt
   set_volumeÏ   s    c         C  s7   | |  j  k r d S|  j j | t ƒ r, d S|  j  | S(   Ng        (   R"   R!   t   getR    (   R
   R#   (    (    s   renpy/preferences.pyt
   get_volumeÕ   s
    c         C  sC   | |  j  | <| r? |  j j | d ƒ d k r? d |  j | <n  d  S(   Ng      ð?g        (   R!   R"   R&   (   R
   R#   R!   (    (    s   renpy/preferences.pyt   set_muteÞ   s    "c         C  s   | |  j  k r t S|  j | S(   N(   R"   R    R!   (   R
   R#   (    (    s   renpy/preferences.pyt   get_muteä   s    c         C  sG   x@ t  j j j ƒ  D], } |  j j | d ƒ |  j j | t ƒ q Wd  S(   Ng      ð?(   t   renpyt   audiot   musict   get_all_mixersR"   t
   setdefaultR!   R    (   R
   t   i(    (    s   renpy/preferences.pyt   init_mixersê   s    c         C  s   t  j j j ƒ  S(   N(   R*   R+   R,   R-   (   R
   (    (    s   renpy/preferences.pyR-   ï   s    c         C  s   t  |  ƒ t  | ƒ k S(   N(   t   vars(   R
   t   other(    (    s   renpy/preferences.pyt   __eq__ò   s    c         C  s   |  | k S(   N(    (   R
   R2   (    (    s   renpy/preferences.pyt   __ne__õ   s    (   R   R   R   t   lenR   t   __version__R   R   R   R   R%   R'   R(   R)   R0   R-   R3   R4   (    (    (    s   renpy/preferences.pyR   ¦   s   													(   t
   __future__R    R   t   renpy.audioR*   t   pad_bindingsR   t   objectR   R    t   intt   floatR   R   t   tupleR   R   t   boolt   ObjectR   t   gamet   preferences(    (    (    s   renpy/preferences.pyt   <module>   s€   







S