a
    V$c$6                      @   sD  d dl mZmZmZmZmZ d dlmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZ d dlT d dlZd dlm  mZ d dlm  mZ dZdZdZdZdZdZdZ dZ!dZ"dZ#ej$Z%dZ&i Z'dZ(dZ)dZ*dZ+dZ,G dd	 d	e-Z.dZ/e. Z$e$Z0ej1j2Z3ejj4j5Z5ejj4j6Z6ejj4j7Z7ejj4j8Z8ejj4j9Z9ejj:j;Z;ejj:j<Z<ejjj:Z=ejj>j?Z?ejj>j@Z@ejj>jAZAejj>jBZBejjCjDZDejjCjEZEejjCjFZFejjCjGZGejjCjHZHejjCjIZIejjCjJZJejjCjKZKejjCjLZLejjMjNZNejjCjOZOejjCjPZPejjCjQZQejjCjRZRejjSjTZTejUZUejjVjWZWejjXjYZYejjXjZZZej[j[j\Z\ej[j]j^Z^ej[j_j`Z`ejjajbZbejjajcZcejjXjdZdejjXjeZeejjfjgZgejhjijjZjejjkjlZlejmmejjCjnZnejmmejjCjoZoejmmejjSjpZpejmmejjSjqZqejmmejjSjrZrejmmejjSjsZsejmmejjSjtZtejmmejjSjuZuejmmejjSjvZvejmmejjSjwZwejmmejjxjyZyejmmejjxjzZzejmmejjxj{Z{ejmmejjxj|Z|ejmmejjxj}Z}ejmmejjxj~Z~ejmmejjxjZejmmejjjZejmmejjjZejmmejjjZejmmejjjZejmmejjjZejmmejjjZejmmejjjZejmmejjxjZejmmejjxjZejmmejjxjZejmmejjxjZejj ZZejj ZZejjZejjZejjZejjZejjjZej/jZejjZejjZG d
d ded ZeejjCjdddZeejjCjdddZeejjCjdddZeejjCjddddZd&ddZdd ZejjZejjZejjZejjZdZdZdZedddddejjejjdddddddddddddddddddddddd Zd!d" Zd'd#dZdZdZd$Zi Ze Ze Ze ZdZdZdZdZdZ*dZdZdZd dlZd dlZejeǃ d%< dS )(    )divisionabsolute_importwith_statementprint_functionunicode_literals)PY2
basestringbchrbordchropenpystrrangeroundstrtobytesunicode)*NF Tc                   @   s>   e Zd Zdd Zdd ZdddZdd	 Zd
d Zdd ZdS )_Configc                 C   s   d S N )selfr   r   renpy/defaultstore.py__getstate__S   s    z_Config.__getstate__c                 C   s   d S r   r   )r   datar   r   r   __setstate__V   s    z_Config.__setstate__Nc                 C   s"   t | || tj|||f d S r   )setattr_confighelpappend)r   namedefaultcatr   r   r   r   registerY   s    z_Config.registerc                 C   s$   t t}||vrtd| || S )N0config.%s is not a known configuration variable.)varsr   	Exception)r   r!   cvarsr   r   r   __getattr__]   s    z_Config.__getattr__c                 C   sl   t t}||vr$tjjr$td| |dkr8tj| |dkr`|dkr`|tj_tjj	tj_
d S |||< d S )Nr%   script_version	developerauto)r&   r   renpyconfiglockedr'   store_set_script_versionoriginal_developerdefault_developerr+   )r   r!   valuer(   r   r   r   __setattr__e   s    z_Config.__setattr__c                 C   s"   t jjrtdntt j| d S )Nz2Deleting configuration variables is not supported.)r-   r.   r/   r'   delattr)r   r!   r   r   r   __delattr__v   s    
z_Config.__delattr__)NN)	__name__
__module____qualname__r   r   r$   r)   r5   r7   r   r   r   r   r   Q   s   
r   c                   @   s"   e Zd ZdZdddZdd ZdS )	_layout_classzM
    This is used to generate declarative versions of MultiBox and Grid.
    r   c                 K   s   || _ || _|| _|| _d S r   )clsnargsextra_kwargs__doc__)r   r<   docr=   r>   r   r   r   __init__   s    z_layout_class.__init__c                 O   s`   |d | j  }|| j d  }| j }|| | j|i |}|D ]}|tj| qD|S r   )	r=   r>   copyupdater<   addr-   easydisplayable)r   args
propertiesconargskidskwargsrvir   r   r   __call__   s    

z_layout_class.__call__N)r   )r8   r9   r:   r?   rA   rN   r   r   r   r   r;      s   
r;   objectz
:name: Fixed
:doc: disp_box
:args: (*args, **properties)

A box that fills the screen. Its members are laid out
from back to front, with their position properties
controlling their position.
fixed)layoutzb
:doc: disp_box
:args: (*args, **properties)

A box that lays out its members from left to right.

horizontalze
:doc: disp_box
:args: (*args, **properties)

A layout that lays out its members from top to bottom.
verticala  
:doc: disp_grid
:args: (cols, rows, *args, **properties)

Lays out displayables in a grid. The first two positional arguments
are the number of columns and rows in the grid. This must be followed
by `columns * rows` positional arguments giving the displayables that
fill the grid.
   )r=   rQ   c                 C   s   t jjj| d|||dS )a  
    :doc: disp_effects

    This transition uses a `control` displayable (almost always some sort of
    animated transform) to transition from one displayable to another. The
    transform is evaluated. The `new` displayable is used where the transform
    is opaque, and the `old` displayable is used when it is transparent.

    `alpha`
        If true, the image is composited with what's behind it. If false,
        the default, the image is opaque and overwrites what's behind it.
    g        )
old_widget
new_widgetalpha)r-   display
transitionAlphaDissolve)controloldnewrW   r   r   r   
AlphaBlend1  s    r^   c                 G   s>   t j| }|D ](}t|t jjjr0||d}q||}q|S )a  
    :doc: disp_at
    :name: At

    Given a displayable `d`, applies each of the transforms in `args`
    to it. The transforms are applied in left-to-right order, so that
    the outermost transform is the rightmost argument. ::

        transform birds_transform:
            xpos -200
            linear 10 xpos 800
            pause 20
            repeat

        image birds = At("birds.png", birds_transform)
        )child)r-   rE   rF   
isinstancerX   motion	Transform)drG   rL   rM   r   r   r   AtB  s    
rd   nestledsay	say_labelsay_dialogue
say_window)
who_prefix
who_suffixwhat_prefixwhat_suffixshow_functionpredict_function	conditiondynamicimageinteractslowslow_abortableafmctc	ctc_pausectc_timedpausectc_positionall_at_once	with_nonecallbacktypeadvance	who_style
what_stylewindow_stylescreenmode	voice_tagkindc                 C   s2   t | td} z| | W n ty,   Y n0 d S )Nr   )	Characteradvpredictr'   )whowhatr   r   r   predict_say  s
    r   c                 O   s*   t | td} | |g|R d|i| d S )Nr   rs   )r   r   )r   r   rs   rG   rK   r   r   r   rf     s    r   r-   )F)T)
__future__r   r   r   r   r   renpy.compatr   r   r	   r
   r   r   r   r   r   r   r   r   renpy.minstorer-   renpy.display.imrX   imrenpy.display.animanim_restart_return_args_kwargs_window_window_subtitle	_rollback_begin_rollback	_skipping_dismiss_pauser.   r   _widget_by_id_widget_properties
_text_rect_menu	main_menu	_autosave_live2d_faderO   r   stylelibrarypythonpy_evalevalbehaviorBarButtonImageButtonInput
TextButtonrr   ImageReferenceDynamicImageImage	imagelikeFrameBordersSolidFileCurrentScreenshotrQ   LiveCompositeLiveCropLiveTile	CompositeCropTileFlattenNullWindowviewportViewportDynamicDisplayableConditionSwitchShowingSwitch	AlphaMaskra   rb   	AnimationvideoMovieparticle	ParticlesSnowBlossomtextTextextrasParameterizedTextfont	FontGroupdragdropDrag	DragGroupSpriteSpriteManagermatrixMatrixgl2live2dLive2DmodelModelcurryAlphaPositionPanMoveMotionRevolveZoomRotoZoom
FactorZoomSizeZoomrY   FadeDissolveImageDissolverZ   CropMovePushMove	PixellatemovetransitionOldMoveTransitionMoveTransitionMoveFactoryMoveInMoveOut	ZoomInOutRevolveInOutMultipleTransitionComposeTransitionNoTransitionPauseSubTransition	characterADVCharacter
ADVSpeakerr   SpeakerDynamicCharacter
persistentMultiPersistentuiActionBarValueaudio	AudioDataStylerollbackSlottedNoRollback
NoRollback__builtins__r;   MultiBoxFixedHBoxVBoxGridr^   rd   colorColorexportsdisplay_menumenupredict_menudefault_transitionmouse_visiblesuppress_overlayshow_display_saypredict_show_display_sayr   r   rf   _last_say_who_last_say_what_last_say_args_last_say_kwargsset_cache_pin_set_predict_setdict_predict_screen_overlay_screens
_in_replay_side_image_attributes_side_image_attributes_reset_ignore_action
_quit_slot_screenshot_patternsysosglobalsr   r   r   r   <module>   sh  8.










































)
