a
    V$cR                     @   s  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mZmZ d dlZd dlZd dlZdZg 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&d
Z'g Z(g Z)dZ*dZ+dZ,dZ-dZ.dej/v Z0dZ1dZ2dZ3dZ4g Z5g Z6dZ7dZ8dZ9dZ:dZ;g dZ<dgZ=dgZ>dgZ?g Z@dZAdZBdZCdZDi ZEi ZFdZGg ZHg ZIg ZJdZKdZLdZMdZNdZOdZPi ZQdZRd
ZSd ZTdZUdZVdZWdZXdZYdZZdZ[g Z\dZ]dZ^dZ_dZ`dZadZbg ZcdZddZei ZfdZgdZhdZig ZjdZkdZlemej/nddZodapdaqdardZsdZtdZudZvdZwdZxi ZydZzdZ{dZ|dZ}dZ~dZdZg ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZg ZdZdZdZdZg Zg ZdZdZdZdgZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZg ZdZdZg Zd Zd!ZdZg Zd"Zd#Zd$Zg Zg d%Zg ZdZdZd&ej/v Zdad'gZd(ZdZdZdZd'gZd"Zd"ZdZdZdZdZd)d*iZd+Zd,Zeemej/nd-d.Zi Zi ZdZdZdZg d/ZdZdZeemej/nd0d1Zeemej/nd2d1Zeemej/nd3d.Zi Zg ZdZdZdZdd4gZdZi ZdZdZdZdZdZg Zg Zi Zd5Zi Zi Zd6Zd,Zd7Zd7ZdZd8d9iZd:Zd;d<iZd;ZdZdZdZg ZdZdZg Zg Zg ZdZ dZdZdZd=ZdZdZeeZ	dZ
g ZdZdZg Zg ZdZdZdZg ZdZg Zg ZdZg ZdZg ZdZdZdZdZdZg Z dZ!ej"rldZ!g Z#dZ$dZ%d(Z&d>Z'g Z(d?Z)d@Z*dAZ+dZ,dZ-dZ.dZ/dBZ0dCZ1dDej/v Z2d(Z3dZ4dZ5dZ6dZ7dZ8g dEZ9dFZ:dZ;i Z<dZ=dZ>dZ?dGZ@dZAdZBdZCdZDdZEdZFdZGdZHdZIdZJi ZKi ZLi ZMdHZNdZOdIdJ ZPdZQdaRdZSdZTdZUdZVdZWdZXdKZYdLgZZdZ[dZ\g a]d'gZ^dZ_dMZ`dZag dNZbi ZcdZddFZeej/ndOdZfdPZgdQgZhg ZidZjdMZkd+Zlh dRZmdZndSZodZpdZqdTgZrdZsdZtdZudZvd Zwd ZxdZydZzdZ{i Z|dZ}dUZ~dZdZdVZi Zi ZdWZdZdZdXdYgZdZdZdZd7ZdZdZdZdZdZdZdZdZg ZdZdZdZdZg ZdZdZdZej/ndZdZdZdZdZdZdZ[[d[d\ ZdS )]    )divisionabsolute_importwith_statementprint_functionunicode_literals)PY2
basestringbchrbordchropenpystrrangeroundstrtobytesunicode)OptionalListNFi   iX  T   d   i,      ZRENPY_DEBUG_IMAGE_CACHE   i  g        )master	transientscreensoverlayr   r   r   i         
   ZRENPY_AUTOSAVE_FREQUENCYZ200          autotl)g333333?gQ?g      ?   g?)z.rpycz.rpymcz.rpybz.pycz.pyoZRENPY_RAW_TRACEBACKSvoice   n_s_w_e_w_eprogress_screeng?g?ZRENPY_LOG_TO_STDOUT0)helpquit_confirm_quitZRENPY_USE_DRAWABLE_RESOLUTION1ZRENPY_DRAWABLE_RESOLUTION_TEXTZRENPY_DRAW_VIRTUAL_TEXT_BOXzimages/r   N   g      ?_game_menu_screenpreferencesmusicaudio)sfxr#   r#   i    z#000g      @g{Gz?flip)ia  r   r   i	  ZRENPY_GC_PRINT_UNREACHABLE)showreplaceupdatei  sidezrenpy.geometryc                  G   s   t jjt jjfS )a(  
    :args: (tag, attrs, mode)

    Returns the say attribute transition to use, and the layer the transition
    should be applied to (with None being a valid layer.

    Attrs is the list of tags/attributes of the incoming image.

    Mode is one of "permanent", "temporary", or "restore".
    )renpyconfigsay_attribute_transitionsay_attribute_transition_layer)args r@   renpy/config.py!say_attribute_transition_callback  s    rB      notifyg      ?)noaltrtartZRENPY_TOUCH_KEYBOARD)   rH   z	gui.about>   posnegpress   030000007e0500000920)g      Y@g     @@g     j@g         z	audio/oggz	audio/mp3ZRENPY_OPEN_FILE_ENCODINGc                  C   s   dd l } | jja| jja| jja| jjja| jj	a
d| jjfd| jjjfgaddlm}m}m}m}m}m}m} ||||||ftd< ||||||ftd< ||||||ftd< ||||||ftd< ||||||ftd	< d S )
Nr   z'\.(png|jpg|jpeg|webp|gif|tif|tiff|bmp)$z\.(mp2|mp3|ogg|opus|wav)$)GL_FUNC_ADDGL_ONEGL_ONE_MINUS_SRC_ALPHAGL_ZEROGL_DST_COLORGL_MINGL_MAXnormaladdmultiplyminmax)r;   exportsscener7   hidedisplayttsdefault_tts_functiontts_functiondisplay_notifyrD   flush_cache_filer4   
autoreloadautoreload_functions
renpy.uguurO   rP   rQ   rR   rS   rT   rU   gl_blend_func)r;   rO   rP   rQ   rR   rS   rT   rU   r@   r@   rA   init  s    

$rh   (  
__future__r   r   r   r   r   renpy.compatr   r   r	   r
   r   r   r   r   r   r   r   r   typingr   r   collectionsosr;   lockedr,   window_titlewindow_iconwindows_iconscreen_widthscreen_heightsounddebugdebug_soundrollback_enabledrollback_lengthkeep_rollback_datafix_rollback_without_choicehard_rollback_limitoverlay_functionsunderlayprofilesavedirimage_cache_sizeimage_cache_size_mbpredict_statementsenvirondebug_image_cacheallow_skippingfast_skippingskipping
skip_delayarchives
searchpathforce_archivesmousesound_sample_rate
fade_musicsticky_positionslayerstransient_layersoverlay_layerscontext_clear_layers
top_layersoverlay_during_withenable_fast_dissolvefocus_crossrange_penaltyload_before_transitionkeymapdefault_keymapjoystickinteract_callbacksstart_interact_callbackssay_sustain_callbackssay_allow_dismisstext_tokenizerafm_characters	afm_bonusafm_callbackauto_choice_delayfont_replacement_mapwith_callback	framerateframeseditoreditor_transienteditor_file_separator	developeroriginal_developerdefault_developerlog
lint_hookshyperlink_stylerhyperlink_callbackhyperlink_focusrecolor_sfontstext_layoutperiodic_callbackperiodic_callbackscheck_propertiesimplicit_with_nonelayer_clippingdisable_fullscreen_optreject_midicharacter_callbackall_character_callbackshas_autosaveautosave_slotsintgetautosave_frequencyr\   r7   r]   use_cpickle	inspectorreject_backslashmouse_hide_timemissing_image_callbacksay_menu_text_filterlabel_overridesauto_save_extra_infosave_directorymissing_scenemissing_showmissing_hidelabel_callbackempty_windowwindow_overlay_functionsrtlfile_open_callbackthumbnail_widththumbnail_heightend_game_transitiondefault_transformtransform_uses_child_positionquit_actionscreenshot_cropgamedirbasedir
renpy_base	commondirlogdir	gl_enablemode_callbacksmovetransition_respects_offsets imagereference_respects_positionsimulate_androidimagemap_cachepredict_callbacksexpensive_predict_callbackspredict_screenschoice_screen_chosennarrator_menuvariantsimagemap_auto_functionkeep_running_transformimage_attributesnew_character_image_argumentr=   r>   nameversion
log_enabledebug_text_overflowallow_underfull_gridssave_physical_sizenew_substitutionsold_substitutionsrenderer
translatorbroken_line_spacingpython_callbacks	save_dump	gl_resizechange_language_callbackstl_directory
key_repeatvoice_tag_callbacksave_json_callbackslongpress_durationlongpress_radiuslongpress_vibratestatement_callbacksautoreload_blacklistreload_modules	say_layerchoice_layerraw_tracebacksra   tts_voice_channelsscreen_cache_sizeadjust_view_sizeautosave_on_choiceautosave_on_inputemphasize_audio_channelsemphasize_audio_volumeemphasize_audio_timetransition_screenspredict_statements_callbackhw_videodispatch_gesturegesturesgesture_component_sizegesture_stroke_sizeboollog_to_stdoutcustom_text_tagsself_closing_custom_text_tagsreplace_textmissing_label_callbackpreserve_zorderlint_ignore_replacesminimum_presplash_timenearest_neighboruse_drawable_resolutiondrawable_resolution_textdraw_virtual_text_boxpad_bindingspygame_eventsmap_pad_eventafter_replay_callbackwrap_shown_transformssearch_prefixesclear_linesspecial_namespacesline_logdynamic_imagessave_on_mobile_backgroundquit_on_mobile_backgroundpass_joystick_eventsoverlay_screensalways_shown_screens	tag_layerdefault_tag_layertag_transform
tag_zorder	log_widthrollback_side_sizede_minimus_dpi_scalewindows_dpi_scale_headenable_rollback_sidereplay_scopemovie_mixerauto_channelsplay_channelspeaking_attributelist_compression_lengthhistory_lengthhistory_callbacksnew_translate_orderdefer_stylestranslate_clean_storestranslate_filestranslate_commentsenable_language_autodetectlocale_to_language_functionold_say_args	tts_voicemax_fit_sizeenforce_window_max_sizetranslate_launcherdefaultdictlistlanguage_callbacksinit_system_stylesbuild_styles_callbacksauto_movie_channelignore_duplicate_labelsline_log_callbacksprofile_screensallow_sysfontstight_loop_default prefix_viewport_scrollbar_stylesneeds_redraw_callbackshyperlink_inherit_sizestdout_callbacksstderr_callbacksautomatic_polar_motionlint_stats_callbacksposition_viewport_sidecharacter_id_prefixesnw_voicesay_arguments_callbackatl_one_frameatl_function_always_blockskeep_show_layer_statefast_skipping_callbacksaudio_periodic_thread
emscriptenpreload_fontsatl_multiple_eventsloadable_callbackfast_redraw_framesgl_clear_colorper_frame_screensperformance_windowprofile_timeprofile_to_eventfast_unhandled_eventfast_empty_windowall_nodes_rollback	manage_gcgc_thresholdsidle_gc_countgc_print_unreachable
idle_frametake_state_from_targetscrollbar_child_sizecache_surfacesoptimize_texture_boundsconditionswitch_predict_allrepeat_transform_events
warp_limitdissolve_force_alphadisplayable_prefixreplay_movie_spritescontext_callbackreject_relativeside_image_prefix_tagsay_attributes_use_side_imagemenu_showed_windowmenu_actionsmenu_include_disabledreport_extraneous_attributesskip_soundslint_screens_without_parametersmenu_arguments_callbackauto_clear_screenshotallow_duplicate_labelsfont_transformsftfont_scaleftfont_vertical_extent_scaledefault_shaderpreserve_volume_when_mutedrB   'say_attribute_transition_callback_attrsrD   keyword_after_pythonload_failed_label
equal_monodisable_inputkeep_side_render_ordergl2
depth_sizecontext_copy_remove_screensexception_handlerreturn_not_found_labelre   voice_mixersdebug_text_alignmentprofile_initlive2d_interpolatetts_filter_tagsmerge_uniformsside_image_requires_attributesmax_mipmap_leveltouch_keyboardfbo_sizelint_ignore_redefinequit_callbackssteam_appidcontroller_first_repeatcontroller_repeatcontroller_repeat_statesside_image_only_not_showingexpand_texture_boundsmodal_timeeventgl_set_attributescontroller_blocklistmipmap_dissolvesmipmap_moviesmipmap_textallow_screensavercontext_fadein_musiccontext_fadeout_musicdismiss_blocking_transitionslog_gl_extensionslog_gl_shadersrg   pause_after_rollbackperspectivescene_clears_layer_at_listmouse_displayablegl_lod_biasadjust_attributesdefault_attribute_callbackswho_what_sub_compatcompat_viewport_minimumwebaudiowebaudio_required_typesaudio_filename_callbackadjust_minimumsatl_start_on_showinput_caret_blinksingle_movie_channelraise_image_exceptionsrelative_transform_sizetts_front_to_backlog_live2d_loadingdebug_predictionmouse_focus_clickthroughalways_unfocusat_exit_callbackslint_character_statisticsallow_unfull_vpgridsbox_skipcrop_relative_defaultnointeract_callbackslayeredimage_offer_screencall_screen_roll_forwardchoice_empty_windowopen_file_encodinggl2_modify_window_flagsskip_during_textalternate_unelide_pathmodal_blocks_pausemodal_blocks_timerrh   r@   r@   r@   rA   <module>   s  8







