+
    KihB  c                   s|    ^ RI t ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHt R	t ! R
 R]4      tR# )i    N)gettext)MissingGameExecutableError)Runner)system)DISPLAY_MANAGER)get_controller_mappings)loggernn4xc                   s  a  ] tR t^t o ]! R4      t]! R4      t]! R4      ]! R4      ]! R4      ]! R4      ]! R4      ]! R4      ]! R	4      ]! R
4      ]! R4      ]! R4      ]! R4      ]! R4      ]! R4      ]! R4      ]! R4      .t]! R4      R3]! R4      R3]! R4      R3]! R4      R3]! R4      R3]! R4      R3]! R4      R3]! R 4      R!3]! R"4      R#3]! R$4      R%3]! R&4      R'3]! R(4      R)3]! R*4      R+3]! R,4      R-3]! R.4      R/33tR0t	R1R2R3R4R5]! R64      R7]! R84      /R1R9R3R:R5]! R;4      R<]R7]! R=4      /.t
R1R>R3R?R@]! RA4      R5]! RB4      RCRD/R1RER3R:R@]! RA4      R5]! RF4      R<]! RG4      RH3]! RI4      RJ3]! RK4      RL3]! RM4      RN3]! RO4      RP33RCRN/R1RQR3R:R@]! RA4      R5]! RR4      R<R`RC]/R1RSR3R:R5]! RT4      R<]! RU4      RC3]! RV4      RW3RaRbRc3RCRW/R1RXR3R?R5]! RY4      RCRD/.tRZ tR[ t]R\ 4       tR] tR^tV tR_# )dmednafenZMednafenu-   Multi-system emulator: NES, PC Engine, PSX…zNintendo Game Boy (Color)zNintendo Game Boy AdvancezSega Game GearzSega Genesis/Mega Drivez
Atari LynxzSega Master SystemzSNK Neo Geo Pocket (Color)zNintendo NESzNEC PC Engine TurboGrafx-16z	NEC PC-FXzSony PlayStationzSega SaturnzNintendo SNESzBandai WonderSwanzNintendo Virtual BoyzGame Boy (Color)gbzGame Boy Advancegbaz	Game GearggzGenesis/Mega DrivemdZLynxlynxzMaster SystemsmszNeo Geo Pocket (Color)ZgnpZNESnesz	PC EngineZpce_fastzPC-FXpcfxZPlayStationpsxZSaturnssZSNESsnesZ
WonderSwanwswanzVirtual Boyvbzmednafen/bin/mednafenoption	main_fileZtypeZfileZlabelzROM fileZhelpz\The game data, commonly called a ROM image. 
Mednafen supports GZIP and ZIP compressed ROMs.machinechoicezMachine typeZchoiceszThe emulated machine.fsZboolZsectionZGraphicsZ
FullscreenZdefaultFstretchzAspect ratioZDisabled0Z	StretchedZfullzPreserve aspect ratioZaspectzInteger scaleZ
aspect_intzMultiple of 2 scaleZaspect_mult2scalerzVideo scalersound_devicezSound devicezMednafen defaultzALSA defaultzsexyal-literal-defaultdont_map_controllersz-Use default Mednafen controller configurationc                s    V P                   P                  R 4      pV'       dB   \        V P                  4       F(  w  r#V^,          V8X  g   K  V P                  V,          u # 	  R# )r    )game_configgetZ	enumeratemachine_choices	platforms)selfr   indexr   s   &   </usr/lib/python3.14/site-packages/lutris/runners/mednafen.pyget_platformZmednafen.get_platform   sS    ""&&y1!*4+?+?!@!9'>>%00 "A     c                sD   . pV P                   '       g   . # \        P                  ! V P                  4       R.\        P                  RR7      ;_uu_ 4       pVP                  4       ^ ,          P                  R4      pRRR4       Rp. pX F1  pV'       d   RV9   d   VP                  V4       MRpRV9   g   K/  RpK3  	  V FG  pVP                  R	4      pWx^,           R p	\        P                  ! R
V	4       VP                  V	4       KI  	  V#   + '       g   i     L; i)z/Detect connected joysticks and return their idsZdummyT)ZstdoutZuniversal_newlinesZ
NFZJoystickzInitializing joysticksz
Unique ID:zJoystick found id %s )Zis_installed
subprocessZPopenZget_executableZPIPEZcommunicateZsplitappendZfindr   Zdebug)
r%   joy_idsZmednafen_processZoutputZfoundZjoy_listZlineZjoyr&   Zjoy_ids
   &         r'   find_joysticksZmednafen.find_joysticks   s      I  "G,??#
 
 %113A6<<TBF
 Dt+%'4/  CHH\*E&FLL0&9NN6"	 
 +
 
s   'DD	c                s	   \        4       pV'       g   \        P                  ! RV 4       . # V^ ,          ^,          p/ RRbRRbRRbRRbRRbRRbR	RbR
RbRRbRRbRRbRRbRRbRRbRRbRRbRRb/ RRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbR RbR!RbR"RbR#RbR$RbC/ R%RbR&RbR'RbR(RbR)RbR*RbR+RbR,RbR-RbR.RbR/RbR0RbR1RbR2RbR3RbR4RbR5RbC/ R6RbR7RbR8RbR9RbR:RbR;RbR<R=bR>R?bR@RAbRBRCbRDREbRFRGbRHRIbRJRKbRLRMbRNRObRPRQbCRRRS/CpVP                   FG  pVP                  V,          pV^ ,          R8X  g   K&  RTVRU,          P	                  ^4      ,           WE&   KI  	  VRL,          VRV&   VRN,          VRW&   VRP,          VRX&   VRR,          VRY&   VR	,          VR&   VR,          VR&   VR,          VR&   VR,          VR&   VR,          VR&   VR,          VR&   VR,          VR&   VR,          VR&   VR,          VR&   VR
,          VR&   VR,          VR&   VR,          VR&   VR,          VR&   VR,          VR&   VR,          VR&   VR,          VR&   VR,          VR&   VR,          VR &   VR,          VR%&   VR,          VR&&   VR,          VR'&   VR,          VR(&   VR,          VR!&   VR,          VR"&   VR,          VR#&   VR,          VR$&   VR,          VR)&   VR,          VR*&   VR,          VR+&   VRR,          VR,&   VRP,          VR.&   VRL,          VR0&   VRN,          VR2&   VR@,          VR-&   VRB,          VR/&   VR<,          VR1&   VR>,          VR3&   VRL,          VR4&   VRN,          VR6&   VRP,          VR8&   VRR,          VR:&   VRD,          VR5&   VRF,          VR7&   VRH,          VR9&   VRJ,          VR;&   VR,          VRZ&   VR,          VR[&   R\. RuOR]. RuOR^. RvOR_. RwOR`. RxORa. RyORb. RzORc. R{ORd. R|ORe. R}ORf. RwORg. R~ORh. RORi. RORj. RO/p. pVR9   d   Rkp	MZVR9   d&   Rlp	VP                  Rm4       VP                  Rn4       M.VR9   d&   Rop	VP                  Rp4       VP                  Rq4       MRrp	Wq,           FR  pVP                  RsP                  WV4      4       VP                  RtP                  V ^ ,          WE,          4      4       KT  	  V# )z#Setup joystick mappings per machinez(No controller detected for joysticks %s.ar    bcxyzZbackstartZleftshoulderZrightshoulderZlefttriggerZrighttriggerZ	leftstickZ
rightstickselect
shoulder_l
shoulder_riiiiiiivvvirunlsrsfire1fire2option_1option_2crosscirclesquaretriangler1r2l1l2r   lrright-xright-yleft-xleft-yup-xup-ydown-xdown-yup-lup-rdown-ldown-rleft-lleft-rright-lright-r	lstick_upZ0000c001lstick_downZ00008001lstick_rightZ00008000lstick_leftZ0000c000	rstick_upZ0000c003rstick_downZ00008003rstick_leftZ0000c002rstick_rightZ00008002ZdpupZ0000c005ZdpdownZ00008005ZdpleftZ0000c004ZdprightZ00008004Z000000:i   NNupdownleftrightltrtr   r	   r
   Zpcer   r   r   r   r   r   r   Zngpr   r   r   zbuiltin.gamepadzport1.gamepad6z-md.input.port1Zgamepad6zport1.dualshockz-psx.input.port1Z	dualshockzport1.gamepadz-{}.input.{}.{}zjoystick {} {})r.   r/   r4   r5   rg   rh   ri   rj   )
r.   r/   r7   r6   r4   r5   rg   rh   ri   rj   )r8   r9   r:   r;   r<   r=   r>   r5   rg   rh   ri   rj   )r.   r/   r0   r1   r2   r3   r?   r@   r4   rg   rh   ri   rj   )Zbutton1Zbutton2r4   rg   rh   ri   rj   )r.   r/   r0   r1   r2   r3   r4   rg   rh   ri   rj   )rA   rB   rg   rh   ri   rj   )r.   r/   rC   rD   rg   rh   ri   rj   )rE   rF   rG   rH   rK   rL   rI   rJ   r4   r5   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   )r.   r/   r   rg   rh   ri   rj   )r.   r/   r1   r2   rM   rN   r4   r5   rg   rh   ri   rj   )r.   r/   rO   rP   rQ   rR   rS   rT   rU   rV   r4   )rW   rY   r[   r]   rX   rZ   r\   r^   r.   r/   rk   rl   )r   r   r   r	   r
   r   )r   )r   )r   r   ZwarningZkeysZzfillr+   Zformat)
r,   r   Zcontroller_mappingsZmappingZmap_codeZbuttonZbttn_idZlayoutcontrolsZgamepads
   &&        r'   set_joystick_controlsZmednafen.set_joystick_controls   sl   
 67"NNEwOI &a(+F
F
F
 F
 	F

 F
 F
 BF
 RF
 BF
 RF
 2F
 BF
 F
 "F
 bF
  "!F
" "#F
$ %F
& "'F
( 2)F
* "+F
, -F
. "/F
0 21F
2 "3F
4 "5F
6 R7F
8 R9F
: ;F
< =F
> R?F
@ bAF
B bCF
D EF
F "GF
H "IF
J "KF
L "MF
N bOF
P QF
R SF
T rUF
V rWF
X bYF
Z b[F
\ B]F
^ B_F
` baF
b bcF
d BeF
f BgF
h biF
j bkF
l bmF
n boF
p rqF
r rsF
t uF
v :wF
x JyF
z :{F
| }F
~ :F
@ :AF
B JCF
D JEF
F jGF
H jIF
J zKF
R llFll6*GqzS #+gbk.?.?.B#B  # "&)#H-#H-$Y/%f-!)/!:!).!9 !#">2!# !/2"7+!.1!/2 0 /$SM$SM'}'}!/2!.1!.1!-0$SM%c]%c]'}%h/ 0 1&y1%h/#F+%h/&~6%m4#K0%m4#F+%h/%h/&y1#K0%m4%m4&~6!.1!/2 ON      P  DU 0   F     }L
\ @@'G&GOO-.OOJ''GOO./OOK(%G ooFOO-44WvNOOO,33GAJ@PQR & r)   c                sL   V P                   P                  R4      ;'       g    RpV P                   P                  R4      ;'       g    RpV P                  P                  R4      ;'       g    RpVRJ d   RpMVRJ d   RpV P                  P                  R	4      ;'       g    RpV P                  P                  R
4      ;'       g    \        pV P                  P                  R4      p\        P
                  ! 4       w  rxRVRVRVRV,           R,           VRV,           R,           VRV,           R,           VRV,           R,           VRV,           R,           R.p	V P                  4       p
V P                  P                  R4      pV
'       d4   V'       g,   V P                  W4      pV F  pV	P                  V4       K  	  \        P                  ! V4      '       g   \        VR7      hV P                  4       pV	 F  pVP                  V4       K  	  VP                  V4       RV/# )zRuns the gamer   r    r   r   r   TZ1Fr   r   r   z-fsz-force_modulez-sound.deviceZ-z.xresz.yresz.stretchz.specialz.videoipr   )Zfilenamecommand)r!   r"   Zrunner_configDEFAULT_MEDNAFEN_SCALERr   Zget_current_resolutionr-   rn   r+   r   Zpath_existsr   Zget_command)r%   Zromr   Z
fullscreenr   r   r   ZxresZyresZoptionsr,   r   rm   Zcontrolro   r   s   &               r'   playZmednafen.play  s   "";/552""&&y177R''++D188S
J5 J$$((3::s##''1LL5L))--n=$;;=
'MG#'MG#'MJ&'MJ&'MJ&!
$ %%'#11556LM/11'CH#w' $ !!#&&,c::""$FNN6" s7##r)    N))noners   )hq2xrt   )hq3xru   )hq4xrv   )scale2xrw   )scale3xrx   )scale4xry   )2xsairz   )
super2xsair{   )
supereagler|   )nn2xr}   )nn3xr~   )r   r   )nny2xr   )nny3xr   )nny4xr   )zhw:0zhw:0,0)zhw:1zhw:1,0)zhw:2zhw:2,0)Z__name__Z
__module__Z__qualname__Z__firstlineno___Z
human_nameZdescriptionr$   r#   Zrunner_executableZgame_optionsrp   Zrunner_optionsr(   r-   Zstaticmethodrn   rq   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r'   r   r      s7    :JCDK	
%&	
%&	
	
#$	,	
	
&'	.	
'(	+	
	-	/	
	
 !I$ 
	%	
	&	
;	
	 $'	
6F	
?	U#	
#	$e,	
55	
;$	
7V	
=	5!	
8d	
6F	
<'"	
=	4 O" 0 kFQz]Auv		
 iHQ~&A-.	
L  
4AjM7AlO]fhmniHq}Q~&:$;(*+X6?#\2()>: |	
 hHq}Q~& $ ./	
4 nHQ~&%&	2>"$<=""" /	
 ,FQFGu		
m<N|8 q qf	0$ 0$r)   r   )r*   r    r   Zlutris.exceptionsr   Zlutris.runners.runnerr   Zlutris.utilr   Zlutris.util.displayr   Zlutris.util.joypadr   Zlutris.util.logr   rp   r   rr   r)   r'   <module>r      s3       8 )  / 6 "  {$v {$r)   