Files
RGSX/__pycache__/utils.cpython-311.pyc

29 lines
7.8 KiB
Plaintext
Raw Normal View History

<EFBFBD>
<00><>jh<6A><00><00><><00>ddlZddlZddlZddlZddlZddlZeje<07><00>Zd d<03>Z d<04>Z
d<05>Z d<06>Z d<07>Z d<08>Zd <09>Zd d
<EFBFBD>ZdS) <0A>N<><4E>c<00><><00>t<00>d|<00><00><02><00>tj<00>8tj<00>dd<04><00>}|<01>ddd<07><00>}n!tj<00>ddd<07><00>}td|d z z<00><00>}t j||f<02><00>}|<04> d
<EFBFBD><00>|<02>
|d z|d zf<02> <0C><00>}|<04> ||<05><00>|S) u<Crée une image de substitution pour les jeux sans vignette.uCréation placeholder: largeur=N<>arial<61>zNo ImageT<65><03><>rr<00><><00><>)<03>2r r <00>)<01>center) <0C>logger<65>debug<75>config<69>font<6E>pygame<6D>SysFont<6E>render<65>int<6E>Surface<63>fill<6C>get_rect<63>blit)<06>width<74> fallback_font<6E>text<78>height<68> placeholder<65> text_rects <20>"/userdata/roms/ports/RGSX/utils.py<70>create_placeholderr!
s<><00><00>
<EFBFBD>L<EFBFBD>L<EFBFBD>:<3A>5<EFBFBD>:<3A>:<3A>;<3B>;<3B>;<3B> <0A>{<7B><1A><1E> <0B>+<2B>+<2B>G<EFBFBD>R<EFBFBD>8<>8<> <0A><1C>#<23>#<23>J<EFBFBD><04>o<EFBFBD>F<>F<><04><04><15>{<7B>!<21>!<21>*<2A>d<EFBFBD>O<EFBFBD>D<>D<><04> <10><13><05><03> <0B>$<24> %<25> %<25>F<EFBFBD><18>.<2E>%<25><16><1F>1<>1<>K<EFBFBD><0F><14><14>\<5C>"<22>"<22>"<22><14> <0A> <0A>e<EFBFBD>q<EFBFBD>j<EFBFBD>&<26>A<EFBFBD>+<2B>%><3E> <0A>?<3F>?<3F>I<EFBFBD><0F><14><14>T<EFBFBD>9<EFBFBD>%<25>%<25>%<25> <16><16>c<00><><00>|<01>|<00><00>d}||kr|Sd}|<01>|<04><00>d}||z
}||krQt|<00><00>dkr>|dd<04>}|<01>|<00><00>d}||krt|<00><00>dk<00>>t|<00><00>dz}|d|<07>|z||d<03>zS)u.Tronque le texte en insérant '...' au milieu.r<00>...N<><4E><EFBFBD><EFBFBD><EFBFBD>r )<02>size<7A>len)rr<00> max_width<74>
text_width<EFBFBD>ellipsis<69>ellipsis_width<74>max_text_width<74>mids r <00>truncate_text_middler.s<><00><00><15><19><19>4<EFBFBD><1F><1F><11>#<23>J<EFBFBD><11>Y<EFBFBD><1E><1E><13> <0B><14>H<EFBFBD><19>Y<EFBFBD>Y<EFBFBD>x<EFBFBD>(<28>(<28><11>+<2B>N<EFBFBD><1E><1E>/<2F>N<EFBFBD>
<14>~<7E>
%<25>
%<25>#<23>d<EFBFBD>)<29>)<29>a<EFBFBD>-<2D>-<2D><13>C<EFBFBD>R<EFBFBD>C<EFBFBD>y<EFBFBD><04><19>Y<EFBFBD>Y<EFBFBD>t<EFBFBD>_<EFBFBD>_<EFBFBD>Q<EFBFBD>'<27>
<EFBFBD> <15>~<7E>
%<25>
%<25>#<23>d<EFBFBD>)<29>)<29>a<EFBFBD>-<2D>-<2D> <0E>d<EFBFBD>)<29>)<29>q<EFBFBD>.<2E>C<EFBFBD> <0F><04><13><04>:<3A><08> <20>4<EFBFBD><03><04><04>:<3A> -<2D>-r"c <00><><00>t|t<00><00>st<00>d|<00><00><02><00>dSt|tjj<00><00>st<00>d<03><00>|S |<01>|<00><00>d|kr|S|}t|<03><00>dkra|<01>|dz<00><00>d|kr?|dd<07>}t|<03><00>dkr"|<01>|dz<00><00>d|k<00>?t|<03><00>t|<00><00>kr|dzn|S#t$r9}t<00>d|<00>d t|<04><00><00><00><04><00>|cYd}~Sd}~wwxYw)
uSTronque le texte à la fin pour qu'il tienne dans max_width avec la police donnée.zTexte non valide: <20>z(Police non valide dans truncate_text_endrr$Nr%zErreur lors du rendu du texte 'z': )
<EFBFBD>
isinstance<EFBFBD>strr<00>errorrr<00>Fontr&r'<00> Exception)rrr(<00> truncated<65>es r <00>truncate_text_endr8)sz<00><00> <15>d<EFBFBD>C<EFBFBD> <20> <20><12><0E> <0C> <0C>0<>$<24>0<>0<>1<>1<>1<><11>r<EFBFBD> <15>d<EFBFBD>F<EFBFBD>K<EFBFBD>,<2C> -<2D> -<2D><14><0E> <0C> <0C>?<3F>@<40>@<40>@<40><13> <0B>
<14> <0F>9<EFBFBD>9<EFBFBD>T<EFBFBD>?<3F>?<3F>1<EFBFBD> <1D><19> *<2A> *<2A><17>K<EFBFBD><18> <09><11>)<29>n<EFBFBD>n<EFBFBD>q<EFBFBD> <20> <20>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>y<EFBFBD>5<EFBFBD>/@<40>%A<>%A<>!<21>%D<>y<EFBFBD>%P<>%P<>!<21>#<23>2<EFBFBD>#<23><0E>I<EFBFBD><12>)<29>n<EFBFBD>n<EFBFBD>q<EFBFBD> <20> <20>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>y<EFBFBD>5<EFBFBD>/@<40>%A<>%A<>!<21>%D<>y<EFBFBD>%P<>%P<>$'<27> <09>N<EFBFBD>N<EFBFBD>S<EFBFBD><14>Y<EFBFBD>Y<EFBFBD>$><3E>$><3E>y<EFBFBD>5<EFBFBD> <20> <20>D<EFBFBD>H<><48> <14><14><14><14><0E> <0C> <0C>H<>t<EFBFBD>H<>H<><03>A<EFBFBD><06><06>H<>H<>I<>I<>I<><13> <0B> <0B> <0B> <0B> <0B> <0B><><EFBFBD><EFBFBD><EFBFBD><14><><EFBFBD>s%<00>1 D/<00>BD/<00>/
E2<03>9.E-<03>'E2<03>-E2c<00>R<00>tjdd|<00><00><00><00><00>S)uGSanitise les noms de fichiers en remplaçant les caractères interdits.z[<>:"/\/\\|?*]<5D>_)<03>re<72>sub<75>strip)<01>names r <00>sanitize_filenamer?>s#<00><00> <0A>6<EFBFBD>#<23>S<EFBFBD>$<24> /<2F> /<2F> 5<> 5<> 7<> 7<>7r"c<00><00>|<00>d<01><00>}g}d}|D]Y}||rdndz|z}|<01>|dd<04><00>}|<08><00><00>|kr|}<05>@|r|<04>|<05><00>|}<05>Z|r|<04>|<05><00>|S)z=Divise le texte en lignes pour respecter la largeur maximale.<2E> r0Tr)<04>splitr<00> get_width<74>append) rrr(<00>words<64>lines<65> current_line<6E>word<72> test_line<6E> test_surfaces r <00> wrap_textrKBs<><00><00> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD>O<EFBFBD>E<EFBFBD> <0E>E<EFBFBD><15>L<EFBFBD><15>  <20>  <20><04> <20><<3C>$?<3F>C<EFBFBD>C<EFBFBD>R<EFBFBD>@<40>4<EFBFBD>G<> <09><1B>{<7B>{<7B>9<EFBFBD>d<EFBFBD>O<EFBFBD>D<>D<> <0C> <17> !<21> !<21> #<23> #<23>y<EFBFBD> 0<> 0<>$<24>L<EFBFBD>L<EFBFBD><1B> +<2B><15> <0C> <0C>\<5C>*<2A>*<2A>*<2A><1F>L<EFBFBD>L<EFBFBD><13>#<23> <0A> <0C> <0C>\<5C>"<22>"<22>"<22> <10>Lr"c <00><><00>|<00>d<01><00>}|<00>dd<03><00>} tj<00>|<01><00>s"t<00>d|<02>d|<01><00><04><00>dSt j<00>|<01><00><00> <00><00>S#t$r8}t<00>d|<02>dt|<03><00><00><00><04><00>Yd}~dSd}~wwxYw) uHCharge une image système depuis le chemin spécifié dans system_image.<2E> system_image<67>platform<72>unknownzImage introuvable pour u à Nz*Erreur lors du chargement de l'image pour <20> : ) <0C>get<65>os<6F>path<74>existsrr3r<00>image<67>load<61> convert_alphar5r2)<04> platform_dict<63>
image_path<EFBFBD> platform_namer7s r <00>load_system_imager[Xs<><00><00><1E>"<22>"<22>><3E>2<>2<>J<EFBFBD>!<21>%<25>%<25>j<EFBFBD>)<29><<3C><<3C>M<EFBFBD><14><11>w<EFBFBD>~<7E>~<7E>j<EFBFBD>)<29>)<29> <18> <12>L<EFBFBD>L<EFBFBD>R<>=<3D>R<>R<>j<EFBFBD>R<>R<> S<> S<> S<><17>4<EFBFBD><15>|<7C> <20> <20><1A>,<2C>,<2C>:<3A>:<3A><<3C><<3C><<3C><> <14><14><14><14><0E> <0C> <0C>\<5C>-<2D>\<5C>\<5C>TW<54>XY<58>TZ<54>TZ<54>\<5C>\<5C>]<5D>]<5D>]<5D><13>t<EFBFBD>t<EFBFBD>t<EFBFBD>t<EFBFBD>t<EFBFBD><74><EFBFBD><EFBFBD><EFBFBD><14><><EFBFBD>s<00>?B<00>.0B<00>
C!<03>)-C<03>C!c <00><00>d|<00>d<02>} t|dd<04><05><00>5}tj|<02><00>}ddd<06><00>n #1swxYwY|S#t$r9}t<00>d|<00>dt |<04><00><00><00><04><00>gcYd}~Sd}~wwxYw) uECharge les jeux pour une plateforme donnée en utilisant platform_id.z /userdata/roms/ports/RGSX/games/z.json<6F>rzutf-8)<01>encodingNz(Erreur lors du chargement des jeux pour rP)<07>open<65>jsonrVr5rr3r2)<05> platform_id<69>
games_path<EFBFBD>f<>gamesr7s r <00>
load_gamesrefs<><00><00>F<>K<EFBFBD>F<>F<>F<>J<EFBFBD><12> <11>*<2A>c<EFBFBD>G<EFBFBD> 4<> 4<> 4<> !<21><01><18>I<EFBFBD>a<EFBFBD>L<EFBFBD>L<EFBFBD>E<EFBFBD> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21> !<21><><EFBFBD><EFBFBD> !<21> !<21> !<21> !<21><14> <0C><> <14><12><12><12><0E> <0C> <0C>X<> <0B>X<>X<>PS<50>TU<54>PV<50>PV<50>X<>X<>Y<>Y<>Y<><11> <09> <09> <09> <09> <09> <09><><EFBFBD><EFBFBD><EFBFBD><12><><EFBFBD>s:<00>A<00>;<03> A<00>?<07>A<00>?<07>A<00>
B <03>.B<03>B <03>B c<00><00> t|d<01><00>5}tj|<02><00>cddd<02><00>S#1swxYwYdS#ttjf$r*}t jd|<00>d|<03><00><04><00>|<01>|nicYd}~Sd}~wwxYw)z-Charge un fichier JSON avec gestion d'erreur.r]NzErreur lors de la lecture de rP)r_r`rV<00>FileNotFoundError<6F>JSONDecodeError<6F>loggingr3)rS<00>defaultrcr7s r <00>load_json_filerkrs<><00><00>6<> <11>$<24><03>_<EFBFBD>_<EFBFBD> <20><01><17>9<EFBFBD>Q<EFBFBD><<3C><<3C> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20><><EFBFBD><EFBFBD> <20> <20> <20> <20> <20> <20><> <1D>t<EFBFBD>3<> 4<>6<>6<>6<><0F> <0A>B<>d<EFBFBD>B<>B<>q<EFBFBD>B<>B<>C<>C<>C<>!<21>-<2D>w<EFBFBD>w<EFBFBD>2<EFBFBD>5<>5<>5<>5<>5<>5<><35><EFBFBD><EFBFBD><EFBFBD>6<><36><EFBFBD>s8<00>A<00>3<03> A<00>7<07>A<00>7<07>A<00>B<03>A;<03>5B<03>;B)r)N)rr;r`rRrri<00> getLogger<65>__name__rr!r.r8r?rKr[rerk<00>r"r <00><module>ros<><00><01> <0A> <0A> <0A> <0A> <09> <09> <09> <09> <0B> <0B> <0B> <0B> <09> <09> <09> <09> <0A> <0A> <0A> <0A><0E><0E><0E><0E> <1A><17> <1A>8<EFBFBD> $<24> $<24><06><17><17><17><17>" .<2E> .<2E> .<2E><14><14><14>*8<>8<>8<><11><11><11>, <14> <14> <14>
<12>
<12>
<12>6<>6<>6<>6<>6<>6r"