³ò
Õ%Hc        	   @   sÉ   d  d k  l Z l Z d  d k Z d  d k Z d  d k Z d  d k Z d  d k Z d  d k l Z l	 Z	 l
 Z
 d „  Z d „  Z d „  Z d „  Z e d „ Z d	 „  Z d
 „  Z d d „ Z d „  Z d S(   iÿÿÿÿ(   t   patht   listdirN(   t   voidt   exitt   alwaysc       	   C   s¥  t  i i t  i d ƒ t  i d d d }  h  } t d ƒ | t i |  d f d" d d	 t  i d
 d ƒ <t d
 ƒ | t i |  d f d# d d t  i d
 d ƒ <t d ƒ | t i |  d f d$ d d t  i d
 d ƒ <t d ƒ | t i d t  i d
 d f d% d d t  i d
 d ƒ <t d ƒ | t i |  d f d& d d t  i d
 d ƒ <t  i	 t  i d t  i d
 d d |  d d f t  i d d
 ƒ d  „  } t i
 | d! | ƒS('   Nt   blacki    i   id   ix   iÈ   i2   s   NEW GAMEt   Ni   i   iÜ   s	   LOAD GAMEt   Li   i@  t   OPTIONSt   Oi   i   t   ABOUTt   Ai   i¤  t   QUITt   Qs   ENDGAME: SINGULARITYi(   iÿÿÿÿi   t   dark_redc         S   s   |  i  t i j o d Sn d  S(   Ni   (   t   keyt   pygamet   K_ESCAPE(   t   event(    (    s>   /home/phil/rcs/svn/endgame-singularity/trunk/code/main_menu.pyt   on_key1   s    t   key_callback(   iÈ   i2   (   iÈ   i2   (   iÈ   i2   (   id   i   (   iÈ   i2   (   t   gt   screent   fillt   colorst   screen_sizeR   t   buttonst   make_norm_buttont   fontt   print_stringt   show_buttons(   t   x_loct   menu_buttonsR   (    (    s>   /home/phil/rcs/svn/endgame-singularity/trunk/code/main_menu.pyt   display_main_menu    s    666A6 	c    
   
   C   s;  d }  d } t  i t  i d d |  t  i d d | f |  d | d f ƒ t  i d d |  d } t  i d d | } h  } d d d d d d d f } d } x\ | D]T \ } } t | ƒ | t i | | | f d | | d t  i d d ƒ <| d 7} qª Wt i | ƒ }	 |	 d j o t  i |	 ƒ t	 Sn t
 Sd  S(   NiK   i}   i    i   i   i   s	   VERY EASYt   EASYi   t   NORMALt   HARDi   s
   ULTRA HARDi
   t
   IMPOSSIBLEid   t   BACKiŒ   i   i   i#   (   s	   VERY EASYi   (   R"   i   (   R#   i   (   R$   i   (   s
   ULTRA HARDi
   (   R%   id   (   s   BACKi    (   iŒ   i   (   R   t   create_norm_boxR   R   R   R   R   R   t   new_gamet   Truet   False(
   t   xsizet   ysizet   xstartt   ystartt   diff_buttonst   button_soulst   y_offsett   namet   retvalt
   difficulty(    (    s>   /home/phil/rcs/svn/endgame-singularity/trunk/code/main_menu.pyt   difficulty_select7   s&    - >c             s‰  t  i d d d d f }  t  i ƒ  } g  ‰  t | ƒ } x€ | D]x } | d d j oa | d j oT t | ƒ d j o | d d	 j o | d  } n | ˆ  j o ˆ  i | ƒ q¸ q@ q@ W‡  f d
 †  } h  } | | t i |  d |  d d f d d d t  i d d ƒ <t	 i
 | t i |  d d |  d d f d d d t  i d d ƒ <t	 i ˆ  | d d d |  d d d t  i d d d | ƒS(    Ni    i   im   i2   t   .t   CVSi   iüÿÿÿs   .savc            s   ˆ  |  S(   N(    (   t   save_pos(   t   saves_array(    s>   /home/phil/rcs/svn/endgame-singularity/trunk/code/main_menu.pyt   do_load`   s    i   io  id   t   LOADR   i   iv   R&   t   Bt	   list_sizei   t   loct   box_sizeiÈ   i^  R   i   t   return_callback(   id   i2   (   id   i2   (   iÈ   i^  (   R   R   t   get_save_folderR   t   lent   appendR   R   R   t   listboxR   t   show_listbox(   t   xy_loct   save_dirt	   all_filest	   file_nameR:   R    (    (   R9   s>   /home/phil/rcs/svn/endgame-singularity/trunk/code/main_menu.pyt   display_load_menuQ   s(     $<Cc             s%  t  i }  ‡  f d †  } d „  } d „  } d „  } d „  } h  ‰ t i ˆ t i dE dF d	 d
 t  i d d ƒ <| ˆ t i dG dH d d t  i d d ƒ <| ˆ t i dI dJ d d t  i d d d ƒ <| ˆ t i dK dL d d t  i d d d ƒ <| ˆ t i dM dN d d t  i d d d ƒ <| dO ƒ ˆ t i dP dQ d  d! t  i d d" d# ƒ <| dR ƒ ˆ t i dS dT d' d( t  i d d" d) ƒ <| dU ƒ ˆ t i dV dW d- d. t  i d d" d/ ƒ <| dX ƒ ˆ t i dY dZ d2 d3 t  i d d" d4 ƒ <t t  i ƒ ‰  x_ t	 t
 ˆ  ƒ d d5 d5 ƒ D]A } ˆ  | d6  d7 j o ˆ  i | ƒ qˆ  | d6 d8 !ˆ  | <qWd[ } d } x8 t	 t
 ˆ  ƒ ƒ D]$ } ˆ  | t  i j o
 | } q|q|W‡  f d: †  }	 ‡ f d; †  }
 t ˆ i ƒ  ƒ t i ˆ  ˆ d< | d= d> d? | d@ d\ dB t  i d d dC |	 dD |
 ƒt |  ƒ d  S(]   Nc            s   t  ˆ  |  ƒ d S(   Ni    (   t   save_options(   t   lang_pos(   t
   lang_array(    s>   /home/phil/rcs/svn/endgame-singularity/trunk/code/main_menu.pyt   do_saver   s    c         S   s   t  i t  _ t ƒ  d  S(   N(   R   t
   fullscreent   set_res(   RL   (    (    s>   /home/phil/rcs/svn/endgame-singularity/trunk/code/main_menu.pyt   do_fullscreenv   s    c         S   s   t  i t  _ d  S(   N(   R   t   nosound(   RL   (    (    s>   /home/phil/rcs/svn/endgame-singularity/trunk/code/main_menu.pyt   do_soundz   s    c         S   s   t  i i t  i i ƒ  ƒ d  S(   N(   R   R   t   set_grabt   get_grab(   RL   (    (    s>   /home/phil/rcs/svn/endgame-singularity/trunk/code/main_menu.pyt   do_grab}   s    c            s   ‡  f d †  } | S(   Nc            s   ˆ  t  _ t ƒ  d  S(   N(   R   R   RP   (   RL   (   t
   resolution(    s>   /home/phil/rcs/svn/endgame-singularity/trunk/code/main_menu.pyt   do_res   s    	(    (   RW   RX   (    (   RW   s>   /home/phil/rcs/svn/endgame-singularity/trunk/code/main_menu.pyt   make_do_res€   s    i    iF   i   R&   R<   i   i   ix   iª   i#   s   SAVE TO DISKt   Si  iK   t   TOGGLEt    i   RO   ii   t   soundi‡   t   grabi€  ià  iŒ   i¾   t   640x480t   6i   t   640i   iX  iÜ   t   800x600t   8t   800i   i   i,  t   1024x768t   1t   1024i   i|  t	   1280x1024t   2t   1280iÿÿÿÿi   t   strings_iüÿÿÿi  c            s&   ˆ  |  d j o ˆ  |  t  _ n d  S(   NR\   (   R   t   language(   RL   (   RM   (    s>   /home/phil/rcs/svn/endgame-singularity/trunk/code/main_menu.pyt   set_language¦   s    c            s   t  ˆ  |  t ƒ d  S(   N(   t   click_buttonR*   (   t   button(   R    (    s>   /home/phil/rcs/svn/endgame-singularity/trunk/code/main_menu.pyt   do_click_buttonª   s    t   list_posR=   i   R>   R?   i–   R   t   pos_callbackt   button_callback(   i    i    (   iF   i   (   ix   i    (   iª   i#   (   i  iK   (   iF   i   (   i  ii   (   iF   i   (   i  i‡   (   iF   i   (   i€  ià  (   iŒ   i¾   (   iF   i#   (   i   iX  (   iÜ   i¾   (   iF   i#   (   i   i   (   i,  i¾   (   iF   i#   (   i   i   (   i|  i¾   (   iF   i#   (   iŒ   i  (   i–   i–   (   R   Rl   RD   R   R   R   R   R   t   data_loct   rangeRB   t   popt   refresh_optionst   keysRE   t   set_language_properly(   t	   prev_langRN   RQ   RS   RV   RY   t   iRF   RL   Rm   Rp   (    (   RM   R    s>   /home/phil/rcs/svn/endgame-singularity/trunk/code/main_menu.pyt   display_optionso   sL    					-*---3333  c         C   sQ   t  |  ƒ x |  D] } | i d ƒ q W| i d ƒ | o t i i ƒ  n d  S(   Ni    i   (   Rw   t   refresh_buttonR   t   displayt   flip(   R    Ro   R   t   button2(    (    s>   /home/phil/rcs/svn/endgame-singularity/trunk/code/main_menu.pyRn   º   s    
 c           C   sN   t  i d j o" t i i t  i t i ƒ t  _ n t i i t  i ƒ t  _ d  S(   Ni   (   R   RO   R   R~   t   set_modeR   t
   FULLSCREENR   (    (    (    s>   /home/phil/rcs/svn/endgame-singularity/trunk/code/main_menu.pyRP   Â   s    c         C   sš   t  i |  j o d  Sn t  i ƒ  t  i ƒ  t  i t  i ƒ t  i t  i ƒ t  i t  i ƒ t  i t  i ƒ y t  i t  i ƒ Wn t	 j
 o n Xd  S(   N(
   R   Rl   t
   set_localet
   load_basest   load_base_defst   load_tech_defst   load_item_defst   load_string_defst   load_location_defst	   NameError(   Rz   (    (    s>   /home/phil/rcs/svn/endgame-singularity/trunk/code/main_menu.pyRy   Í   s    

R\   c         C   s\  t  i t ƒ } t i | d ƒ } t | d ƒ } t i ƒ  } | i d ƒ | i	 d d t
 t  i ƒ ƒ | i	 d d t
 t  i ƒ ƒ | i	 d d t
 t i i ƒ  ƒ ƒ | i	 d d t
 t  i d ƒ ƒ | i	 d d	 t
 t  i d
 ƒ ƒ |  o | i	 d d |  ƒ n | i | ƒ | i ƒ  t  i d t  i d d t  i d d d d f d t  i d ƒ d  S(   Ns	   prefs.datt   wt   PreferencesRO   RR   R^   t   xresi    t   yresi   t   langs   \n Options Savedi   i   iF   iú   iŒ   iZ   t   blue(   iŒ   iZ   (   R   RA   R)   R    t   joint   opent   ConfigParsert   SafeConfigParsert   add_sectiont   sett   strRO   RR   R   R   RU   R   t   writet   closet   create_dialogR   R   (   R   RG   t   save_loct   savefilet   prefs(    (    s>   /home/phil/rcs/svn/endgame-singularity/trunk/code/main_menu.pyRK   Ý   s"    "  
c         C   s  t  i i t  i d ƒ d } d } t  i | | f t  i d | d t  i d | d f ƒ d } t  i d j o
 d } n t  i t  i d	 | t  i d d
 d | d | d f t  i d ƒ d } t  i	 d j o
 d } n t  i t  i d | t  i d d
 d | d | d f t  i d ƒ t
 t  i ƒ d j oS t  i	 d j oC t  i t  i d t  i d d
 d | d | d f t  i d ƒ n d } t i i ƒ  o
 d } n t  i t  i d | t  i d d
 d | d | d f t  i d ƒ t t  i d ƒ d t t  i d ƒ } t  i t  i d | t  i d d
 d | d | d f t  i d ƒ t  i t  i d t  i d d
 d | d | d f t  i d ƒ d  S(   NR   ix   i2   i    i   i   t   Not   Yess   Fullscreen: i   iÿÿÿÿi   i   t   whites   Sound: i<   s'   (Game must be restarted to take effect)ið   s   Mouse grab: iZ   t   xs   Resolution: s	   Language:iÈ   (   R   R   R   R   R'   R   RO   R   R   RR   RB   t   soundsR   R   RU   R—   (   R    R-   R.   t   string(    (    s>   /home/phil/rcs/svn/endgame-singularity/trunk/code/main_menu.pyRw   ú   s8    !
0
0&4
0(0(   t   osR    R   R“   R   R   R   RD   R   R   R   R!   R5   RJ   R|   R)   Rn   RP   Ry   RK   Rw   (    (    (    s>   /home/phil/rcs/svn/endgame-singularity/trunk/code/main_menu.pys   <module>   s   				K		