ó
j$ËZc           @   sX   d  d l  Z d  d l Z e a d   Z d   Z d   Z d   Z d   Z	 d   Z
 d S(   i˙˙˙˙Nc      	   K   s¤   z t  j j } t  j j t  j _ x- t  j j D] } t  j j   j j	 |  q. Wt  j j
 |  d t | t  j j d d d d d t d t  SWd  | t  j _ Xd  S(   Nt
   _transientt   mouset   screent   typet   suppress_overlayt   suppress_underlay(   t   renpyt   configt   quit_actiont   exportst   quitt   layerst   gamet   contextt   scene_listst   cleart   show_screent   Truet   uit   interact(   t   screen_namet   kwargst   old_quitt   i(    (    s;   E:\Version 1-0-7\Games\DDLC-1.1.1-pc\renpy\display\error.pyt   call_exception_screen!   s    )c           C   s   t  j j d t  d  S(   Nt   force(   R   R	   t   rollbackR   (    (    (    s;   E:\Version 1-0-7\Games\DDLC-1.1.1-pc\renpy\display\error.pyt   rollback_action1   s    c           C   sx   t  j j d k	 r" t  j j   n  t  j j sg t  j j j   j	   t  j
 j   t  j j j j   n  t  j j   d S(   sB   
    The minimum amount of code required to init the display.
    N(   R   R   t   init_system_stylest   NoneR   t	   interfacet   displayt   coret	   Interfacet   startt   loadert   index_archivest   imt   cachet   initR   t   reset(    (    (    s;   E:\Version 1-0-7\Games\DDLC-1.1.1-pc\renpy\display\error.pyt   init_display5   s    c           C   s   t  j j t  d S(   s:   
    Handles dumps in the case where an error occurs.
    N(   R   t   dumpR   (    (    (    s;   E:\Version 1-0-7\Games\DDLC-1.1.1-pc\renpy\display\error.pyt
   error_dumpE   s    c         C   s¤  t  a t   t j j j d k r& t  Sd t j k r9 t  St j	 j
 d  sO t  Sy t   Wn t  SXt j j d k r{ t  Sd } d } d } y t j j   j sŐ t j j rŔ t j j j } n  t j	 j d  } n t j	 j } t j j d  j d k	 rt j j t  } n  Wn n Xy; t j j t d d |  d | d | d	 | d
 | d | WnF t j j k
 rs  n- t j j j d  t j j j      n Xd S(   sß   
    Reports an exception to the user. Returns True if the exception should
    be raised by the normal reporting mechanisms. Otherwise, should raise
    the appropriate exception to cause a reload or quit or rollback.
    t   runt   RENPY_SIMPLE_EXCEPTIONSt
   _exceptiont   _save_reload_gamei˙˙˙˙t   shortt   fullR   t   reload_actiont   ignore_actiont   traceback_fns   While handling exception:N(!   R   t   error_handledR+   R   R   t   argst   commandt   ost   environR	   t
   has_screenR)   R   t   drawR   R   t
   init_phaseR   t   rollback_enabledt   errorR   t   curried_call_in_new_contextt   utter_restartt	   next_nodeR   t   returnst   Falset   invoke_in_new_contextR   t   CONTROL_EXCEPTIONSt   logt   writet	   exception(   R0   R1   R4   R3   R   R2   (    (    s;   E:\Version 1-0-7\Games\DDLC-1.1.1-pc\renpy\display\error.pyt   report_exceptionM   sT    	c      	   C   sŘ   t  a t   t j j j d k r& t  Sd t j k r9 t  St j	 j
 d  sO t  St   t j	 j } y) t j j t d d | d |  d | WnF t j j k
 r§   n- t j j j d  t j j j     n Xd S(	   sš   
    Reports an exception to the user. Returns True if the exception should
    be raised by the normal reporting mechanisms. Otherwise, should raise
    the appropriate exception.
    R,   R-   t   _parse_errorsR2   t   errorst   error_fns   While handling exception:N(   R   R5   R+   R   R   R6   R7   R8   R9   R	   R:   R)   R@   RD   R   RE   R   RF   RG   RH   (   RK   RL   R2   (    (    s;   E:\Version 1-0-7\Games\DDLC-1.1.1-pc\renpy\display\error.pyt   report_parse_errors   s.    	(   t   renpy.displayR   R8   RC   R5   R   R   R)   R+   RI   RM   (    (    (    s;   E:\Version 1-0-7\Games\DDLC-1.1.1-pc\renpy\display\error.pyt   <module>   s   					F