+
    Kid  c                   sx    ^ RI t ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIH	t	H
t
 ^ RIHt ^ RIHt  ! R R	]4      tR# )
i    N)gettext)settings)MissingGameExecutableError)dosexec
makeconfig)Runner)systemc                   s  a a ] tR t^t o]! R4      t]! R4      t]! R4      .tRtRt	Rt
RRR	R
R]! R4      R]! R4      /RRR	R
R]! R4      R]! R4      /RRR	RR]! R4      R]! R4      R]P                  /RRR	RR]! R4      RRR]! R4      /.tRRR]! R4      R]! R4      R	R R!R"R]! R#4      /RR$R]! R%4      R	R R!RR]! R&4      /.tR' t]R( 4       t]R) 4       tR* t]V 3R+ l4       tR, tR-tVtV ;t# ).dosboxZDOSBoxzMS-DOS emulatorzMS-DOSTzdosbox/dosboxzio.github.dosbox-stagingoption	main_fileZtypeZfileZlabelz	Main fileZhelpzThe CONF, EXE, COM or BAT file to launch.
If the executable is managed in the config file, this should be the config file, instead specifying it in 'Configuration file'.config_filezConfiguration filezStart DOSBox with the options specified in this file. 
It can have a section in which you can put commands to execute on startup. Read DOSBox's documentation for more information.argsZstringzCommand line argumentsz1Command line arguments used when launching DOSBoxZ	validatorworking_dir	directoryzWorking directoryZwarn_if_non_writable_parentzaThe location where the game is run from.
By default, Lutris uses the directory of the executable.
fullscreenZsectionZGraphicszOpen game in fullscreenZboolZdefaultFz.Tells DOSBox to launch the game in fullscreen.exitzExit DOSBox with the gamez'Shut down DOSBox when the game is quit.c                sh   V'       g   R# \         P                  P                  V4      p\         P                  P                  V4      '       d   V# V P                  P                  R4      pV'       d?   \         P                  P                  V4      p\         P                  P                  W!4      # R# )z!Return a guaranteed absolute path r   )ospath
expanduserZisabsZ	game_datagetjoin)selfr   r   s   && :/usr/lib/python3.14/site-packages/lutris/runners/dosbox.pymake_absoluteZdosbox.make_absoluteP   su    ww!!$'77==KNN&&{3	**95I77<<	00    c                sV    V P                  V P                  P                  R 4      4      # )r	   )r   game_configr   )r   s   &r   r	   Zdosbox.main_file]   s$    !!$"2"2"6"6{"CDDr   c                s    \         P                  P                  \        P                  R 4      p\
        P                  ! V4      '       d   V# R# )z
dosbox/libr   )r   r   r   r   Z
RUNNER_DIRr   path_exists)r   r      & r   libs_dirZdosbox.libs_dira   s7    ww||H//>))$//t7R7r   c           	     s    V P                  4       p\        P                  P                  \	        R V P
                  VP                  R4      .4      4      VR&   RVRV P                  4       /# )NZLD_LIBRARY_PATHenvcommand)Zget_envr   Zpathsepr   Zfilterr   r   get_command)r   r   r   r   get_run_dataZdosbox.get_run_dataf   sW    lln!#t}}cggVgNh>i1j!ksIt'7'7'9::r   c                s  < V P                   P                  R4      pV'       d    \        P                  P	                  V4      # V P
                  '       d*   \        P                  P                  V P
                  4      # \        SV `   # )z:Return the working directory to use when running the game.r   )	r   r   r   r   r   r	   ZdirnameZsuperr   )r   r   	__class__s   & r   r   Zdosbox.working_dirk   s^     !!%%m477%%f-->>>77??4>>22w""r   c                sr   V P                   p\        P                  ! V4      '       g   \        VR 7      h\        P
                  ! V P                  P                  R4      ;'       g    R4      pV P                  4       pVP                  R4      '       d$   VP                  R4       VP                  V4       MVP                  V4       V P                  P                  R4      '       dC   VP                  R4       VP                  V P                  V P                  R,          4      4       V P                  P                  R4      '       d   VP                  R4       V P                  P                  R4      '       d   VP                  R	4       V'       d   VP                  V4       R
VRV P                  /# ))Zfilenamer   r   z.confz-confr
   r   z-fullscreenr   z-exitr   Zld_library_path)r	   r   r   r   shlexsplitr   r   r    ZendswithZappendr   Zrunner_configZextendr   )r   r	   r   r   s   &   r   playZdosbox.playu   s?   NN	!!),,,i@@{{4++//7==2>""$g&&NN7#NN9%NN9%..NN7#NN4--d.>.>}.MNO!!,//NN=)!!&))NN7#NN4 7$5t}}EEr    )Z__name__Z
__module__Z__qualname__Z__firstlineno___Z
human_nameZdescriptionZ	platformsZrunnable_aloneZrunner_executableZ
flatpak_idr#   r$   Zgame_optionsZrunner_optionsr   Zpropertyr	   r   r!   r   r%   Z__static_attributes__Z__classdictcell__Z__classcell__)r"   Z__classdict__s   @@r   r   r      s    8J%&K8IN'+J kFQ{^AA			
 mFQ+,A(	
	
 fHQ/0AIJ	
 mKQ*+)4At	
;&LT lq}Q01FuAFG	
 fQ23FtA?@	
N$ E E 8 8;
 # #F Fr   r   )r   r#   r    r'   Zlutrisr   Zlutris.exceptionsr   Zlutris.runners.commands.dosboxr   r   Zlutris.runners.runnerr   Zlutris.utilr   r   r&   r   r   <module>r(      s/    	     8 ? ( @FV @Fr   