From 07476e1a9c90a65faba1a50805c41d2f8fd066ca Mon Sep 17 00:00:00 2001 From: nemo Date: Fri, 21 Feb 2025 08:10:50 +0100 Subject: [PATCH] begin histoire --- data/left-arrow.png | Bin 25608 -> 9876 bytes histoire.h | 127 ++++++++++++++++++++++++++++++++++++++++++++ main.c | 66 +++++++---------------- 3 files changed, 147 insertions(+), 46 deletions(-) create mode 100644 histoire.h diff --git a/data/left-arrow.png b/data/left-arrow.png index 518da8bd78e87ca1b99ddfdb93e5fbeb2c41e4fe..0433a6cdd1cae122d8421ad323d16645db4570db 100644 GIT binary patch literal 9876 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 literal 25608 zcmeFZXH-=29F?3w1jL3WLlY$`h~yj_y2&}`oU;-I5rmf@IW|fTA|N0l8AL<{ zM4})dl5Vx{-uvu*?>ELBXWV=K9ULh1s#U9M)|}6LW>_X_KTsnhW+a9{AY}LMD(gZZ zSc{l%LVWN^#n*&-@Xy;IePbV8gg?87m%E*#3yR$*&;!Me3UIW8KmrzBweL_5uoHHk zCCOo7(G)4=`;^OnJ4{v-Zk!q)rZzN!u@s%~%i?F;@O0D-uC@O3mSu(-EBr2Uh5 zv8K-1Deht+hD;LO!b6jE9G(r&x(_K|8T!%0g@rm{DW5qRSyml{QiABI+A{_eLT^`E zEQZGHM9_TZPgQUYvbx!G^>m9-j>+y+j%?KX0)S{lJ-3%rGM@W?B_}7L)p6n3e1C6dS$w| zqWmaz#00RS#ANmQZTw%#pXo)$ZvDXjF=jXOsZ)#DPQ`>*OFt&4dHn-nyCT#k|j>?H4=tggSTc+TD?+RcSo$~-)!=anpa4r z;LdRNPs)H~442N3{u^X9@#@%J3cC~sRY zM-LxIcQ(5pX+n=(A50b^lsk&kOGj0U;x5HP)GnK=;|u??{|3n zsQ7_N{;{C{;~n1mz+MG)QQq#pUbZL|Ka`sf*S}AJwEfrp9=={Kf3}0P6-2q9T)|Lp z@KmAyc%<4rP3?c(ff0edqpQcCyMVC&W2BFx-G2$|Kh}o1@@G5$z7TNxzvlgq(f{20 zpTS_1rY2n3-PRYgynD*BoS5gsk?yvRNcf*0g+x)}HeyIyC`?355-N&d$}UOaXPvp>`{UqZuWmJU<3}oqkT`7Q&<4@U!Q2ZAbjk= z4YHi~9o>8b{_BFiqbo|!2Z52Mkc5boq=cxHC`<$f1KawjvTD z;v%9@2^$+ER8&|B0YwM_y@H{HY!J3cAqfNw@ka{(n%&#o&c`3&g}P%8-@BKDt){{OngKRO}$f7_yrAO;ryd8jgi|Bqw;d%(ZpC=kux zp8)k#r5Bk zz<+D-|7zF&Z{i~UuZR)l28fO&{YnFU;cj9AA!o^ZJldQx zLD#bfMZpt$>A~bDyA8c>8$RuhZCnJ6JKGUlm-OBU+dcW9CkkOq_;%M5D*=o0pkp1M z@?p<94rNw-7o^{_zDtqNWx4(6N``eJL4n=FT$FL#Pm)=#Vu}dzPLzy+fnk!^R#gAmfc>C?aFB}F<=nKo#1HSy&~%ABa?u>2_WDvWArWf^+4tL&2}D);Nt zmjqczFV)E+1D##|ju^!H`}FgjSV{^)4s;@yeKY0fb@{8)2`SI;3K_^t8TtJ_wW&ga zdBTu=PoMr-%eA1d^?_@_FCpwP!$PEAB;pX;)M^uq1F*Wl-AN>$Iaw84^wb&_;H#?oS|0JS`ND)DPH1%R#Oh%|0aHsMS3<%ajp-VqJd2^YbE#_z z3WiNa*a2E`?#-0Mu{m}~BhWqEr8$=N#fAHuEzjyoh+plU`)4!@c{aCKCu+l|1eDHr0A@x}jo1H+xRg|%7anlE#m(fas zi%rvBcQP?PzASK6>vlSJNbu)z)aboON|!ZN<`uuwh&bX%IBvGR$}muTrk%R9v%BZ@ z65X3m0me>pG;HNnZVH%kD9!Tqn86{kG>WtkVPRpf(#dbS9LhYWdx!hBJT~vBSsVq- zj;gBf>t?&%pneIbQJkekFRXe5yre9VAa8g>LnY*pn6FEEMEBJnYafR)J3CvV-Mr3U zj~hu-Kev^vTB>pD)-C+~FFbJ3kEPu3^SzAFs$>d$t;%`G5NgGa2b}unLB#K0C8(pLrMoy>Tr=r zFf@^y892j`s1m3Asa1~<_Lvu@=!co{q~NG38&{}WYdEb7c$kt0p}lAo5*1C8u!7ZESco(G&4ywuxZ!L(GgY;8fSH_t ze?c`#wKV)kfJ{$wtG{@J>C<3fW?8JtI4g;9>mzm$LZCm4aX8Y$XmeVVXl<$fO$q)~pAFJk*4vU)u@f7l}H+{l>tmRt8xzfRv`NG8} za0=hcIv5l?HRby*;usTp3UwqGO#db3Jo`b{*qGP)BLPM=%U~5U3mu5%-0`SDL7kX^ z)m4GqE!#Mk%wV=&2hAz^maKz-^qlw0SSOiKLBXCJj^J13&h)RRzkhcUEQkU+R(9!c z-NPqCLqlV}?$pw%)QPCMjI!mbTw13G^+><1$DJbWshRf^p#oUkf(k2%MrcVT(CB z>B6@h`QVd%?(tF+o5Fymlc)G~x23nsIB%8z_I zmJes^tyT(a@6t2N zoJ;czPH&X)ZNuJjc3>fgv!BA6fLx4P-Ijl|fUC13n?7&ne7k^LpbQ;p&&%|@ku%N% zelANDKOpPxlP>Sx@OnPAc^<>DWV4M8GoEUhX$a!I9zCuE#K^_g^27Y#McSJ=q2bde zpaG-!AmpCpG=jk=|degOD--egx)IICfFHN3_!!m*NHyUqK$GIfW5cdvU z{hsTwL3`6pSiMTh`NnI|LT+r4;B+c?WE%f+X8AM@F=joC4(NF&>dF$qUTq3+!RIGE z`dZz0fjCl=XpRC!BLhYAsJLJu%rU7YsL6G>($uLLGy^c>RTB4g$QQ?57mxd);Y=;I z@`ZLg=-G8%A7q0nf{EF{(o(L;pxTfPhSXChRp>5vypz{P7;wpH2qxk~avk`RL#C&v z&1ZoPo-j1=4bc$C#`U*TXuT@tb}E7S_I93Bi8~r$eQzoB0Uls>b~bJJ&71sw%_TiO z;FwMixT{T^sGi6eKgWxyF|9Wy3-TJ+R>U1UZ4@$@i6b4L|Lpa$T&nOvoJ$oer6RMH znc3O<5|w11r#+S2pJYv)h=wXh4O^>{2k6HxkV=pytZ5a_hsiADLp~K#BfFoc=hUWJ z3}nJ}GUF`2$;lZTSfq2ZYBCdO6R(JTR#2|nI_ zsXHa=M_2J|anZEZ6Bpx{U}7(dwtOy#%L>Zt4T*gY>k>F?ss%@A1MTj;}t}6 zY8{50D%ggvTl0cNh$$*{-D(e!wBF%iN>b+B*lfSVqbn`0s;av00lN-BlaV{_ceLp= zYf~IFMoBRNi#*;|Tqy^sGU`nSu2QqR4B1?tWv63-#8Bdxj6AYnr`&I*!4MG1-4`1{ zXCtbmlacLp6E?$-mUEzH;thXab6QNZlV**EaCZ3ZwCj_H*bKjyYcwX^>pt66_h5y# zQp!Z?cz=p~DFtDdAgrvaVtiCscp;=lr`HK&hTq%c9*T8@q62s7h8K!7ht5F>_6Z@NAR>k^bDH$=x+Zo?be5D-n z8=!AT+kELa$o+&TCgc*{MA%`=@u_?20iq?gZo7Pc%p9~?bq$WUSj~Sbb zTmZ_}l{;Ro_42^4Tg(~tb<*?|m(fP@h`|@1ExikCvL8{;8RBBm_47LpN7NDzHk8?E z0gX{xrPniCex7N2^Q)o%q=QdHxubbX6txb37}dc0o(k8+f`Lt!>I{kl1$bL1Er{|L z;=T)+ziD-7DF+1Z5pjX^-&yp%7ZxVBF`{e3$N%bq=9J9A5T#j+DYhZ?^mUrJsbf>$ zwdam9LdK;jp%84~jY8rFgt9p_65or~itf^L0b6&xGyYJ_h0epNu7-GuH17~eAjzC& zLTaL}&rX@w5_)!=%;7GpaGXXdc1EIXNuztsyk?W&MT8!S0TQQ@Bz^z~m_&>>x8Nm)y!-OkWMf>}}4ijbHXN_!C`AH&vc?b6Y! zYg*=&j`BUy(fwm7`qvOf6(5fV9 zcTaf?PB|(W(30))Fp=UD2!ko*FMejyi`b3Xflai9w&woy7`S<7ZR~ueiYMaU=T_Q9~$(K%pm%onN>^sghmU+u&>`*ZCp_SV%ngb}3k?Vy)l|l#LI0IdfBuMZ8F^sd@41l%xeai;?X!^}L>lf9 zBmtm&Qx6&SCaYdHIXzdA-JOf2{Cs}^CfS}xjdq;6X**r1 zlS~IS^}&k}&TC`0IlxZuIMhxa0vLDyU6nd*WlvE}#N#IWL7T=vj2<{T@~Nh?cKNLK z$I@ZV+n#azYD8`DIQ^LSy`L(px*h#gSbz96ST!^4*|EZi<<$2%`Bj+ZvTnQf^;%+{8wswM5tYL6#(m7%nIlkcA$XSUX# zXW{j-k;hMfcP@1k8|&$ z*0GUd!b^;f)me1Bl0Es*{3}ySj)6;wR_2P5-&CC-bwNw~PY5B)1gY59?)TgKm>RtM z(th>pNM=25!>Hf0iB0J&S{@U1_xMGvSu$_=1uG$-jR4N6PCf?jJsQd6v4SdzXU^OP zrr={^WvT;h`xYa`J4ggkOb`JYZUmmriS%3vJ%I-Ab)5)cH%RYB3G^RQV8(mAyFgxq zT`hnyswygYtYN=a*}$w_k&y471@@)nV&3CdoV){C$MX3{0N{~)I)Jx-eyGN3@@u`o zowo18`v+t-dMBu8v~3!1S>sk7;|DFUg|3bDwY722m*$q@RNVAUzgDg;R_ZN-cUrfw zwlmz9(uHE9p8@dZqbVl`Yk=*t!Rx~dPr9f>WFq4$u;|kirVm=;)QL}CXOtmvv9V-;s*Db$GWnBB zYUL!{DR@l|0Qh)kiNHDk^{$P&IFb%T{o&o$*PqNo#u_0E2U3K7OxJd#H+7wyJ>(aF z1&}$-)h&yr36v}2Mc@UURK{~7RA3#eOh^;$z&il?9lt~v`Djmp-xnv_R_L83mHUYpJiQ9e?&ldKJ z8a!J^cZM<=y+#1F{#az70foC_k#f8e1mO#(VN+J+-5XJKRw16_N))o9gkXcOlEgJ% zT9d^kjhyHYMuJ^2b|mvLOgdbz@45V~MIp1_TW>8e!_aC`9Nch4Y^yvCd0XmwYE#)$ zUPBVW7BSz18fA|kXp8_y%%cJuzP%i|^Y9?}ngPVZ*XLqxTq!AV0tx^yt!#lT=jP((ze2RW=O%pvXh z`4!viG?rlQzfbz+=Z=kOv_F-xUI6E<0IB`NM`c^^k6~v!GZHHy&7sxOPuTzk=F@U@ zuV~+yZXeV!8@9vRSL1wmshAMUnjQ}p8^0~R*V*hemM27qJ&%%}ofo@5jmzWdw7#KW zJjFY`IPLVaV(~!Wc8nzO!a%%#-OHR!V-T@RAYHg`*sNURFm=!NI8#=PIxz&`q%uQX z8S`*M|VO&}>RMkH{8)KWPg954`BRKmyn0XgRrflIh!T zE(0kmE8D=b2DBken<(>CXW3*N>c=|-edSdkzD9t0u`5P z1hAzv;*ar;atLRuXqCb3wx_=PgMN2SR<2q0>^w@+Ro<{J=7sNtxUaIlTd-pC6& zd;fVkHWmf(h<0t>X{#yGkC|nEjpd6uUjXHlfvg+)e^)H97*JMQy`d#9D7)*uKb%>_ zp%wGMUf+PE)&|`K$wZtHnCNqmKT@3_4 zHpna_Z_$5Qr;7;wo#O5fEJ8ygqoUQr({+q50fgq3)K*Qi00bPK7)hsEu#cjl>qocY zxnp$zwf+MiVk_#IEye(X-CBTRra%3My3D>7m|oE`%)C>8)hsPYpio=4Rq@(J$c<9r z-sz7awzlKFl`9_)`9G><{7=Rpkl@SlY6O6$S^CfbO%dPFCbUb?kL7kyi&xCS7zSF*GTU|F!rz z^hr6<63!0K)*~Jn!H8nYl3Yrg#JMfhux|fsty$X^h)SgGkGB`f&?IooQ$m=MaAN8g zoyAEMVAqL{W_>S$>*q!Xd3hhJ`^|Bs%e;4gox)&7;kiwvBhufe9bYeWHWC+0$%AFw z4~{A;D{GrYKJ47FDCA&-9CHZxu8hLkSC)@QY5U_SOUxvhFCTJf+>3KrtFG@}+?X-4 zTE4kb)ok&O3V4FGz^~0qhNytAO7+#%Tfk=`vvYC`I}hJVFJB(F^%x9=x)-{zl;lK~ zrctb5QaMnl?7*5==m;3;^06~;;@6KaT5R%RA#XXp zfzvy|=&OASo4lo~Z-sbq!7c&};DB#M zHFa4FZFGbBl!J>a`UDURb@agih5Y$o=*e>1f?tg%QV6UOddswTTig&wXF9A&;IvtZ za8it!To8m_>aPKNbCN&XZVm(avn~9*vk`pj<)`dGqKmlDcl%*YvJ6c=^c-dq_HUo) z0Xl2p6kKpNLM`MlRh2q@ORK6~n}z^ndpRHi)pzeLbOrnGU^2^$01mR@gw#2giwoi zpM9x~C(RLbP0Cs1cbIxo3PGw-`7+;BZx)BWWGiUm?u`RmRaMoS6cm8E4`}2Huz0N7pUE?AUQ<(3xN@A!&1w@)^@=1kzzsi&SjABWOuY9R?Xuuy zIq_7MZvNvsUlGY>aA7NBDe${|WB& z3L)X31|0y-9DuS=vYN)H%ZO>HCReX{) z=7h)SZ^CES2D)Lf#3pSa6C~`sG2eDQB)jd0bsupsExqvkVjzr6On6^X;@kV3HmxT@ z+v2qeIOLfNUbcF;qOar?ra~+G;$}_%(fYCmH^6n^ddZ7?ddtG@!3usk{ht5 zzh2o0g`Vs#8;xWbba4QBpzNqKNxamf(!1DevGb;MG_Yy(kFhXflC;eJA3Uc%3w*;+ zK=P5t*gVAPHBK`k)(;xrL0+AQg=<;N=2JrD9RP z<-?-(<(5zHlPP+Wp0LnxKf0;a7=WV-zQ7Kig6xEb@;&wJI@>em*UXUC0tt5k7Z4qA z7ER=iraz`e(Z@9gpX@S$ZC$ZpJb-$1aclkVU$>0u#_DX&BCfMVd;;0OU^{#J@F8G~ zO6Z!JZ8XTS+{f*ROZ*0FjR|gXipXTVS2Jip?RMJDq+m=q3Cc{j4^Km+&I9-oGiU&a z*h>3+gZ23dsVir_r>Qkv<)ilZq>OI$2nGbj`1Y(6GkN`+v9YnwY8oRkE}%xF2^?$i z=pQAeDpOIZUVl?nMtk&veKwYo1vTt7$fJJFeoax|(D35|fL$WkNoMMsFR9+BMBX+2 z#n;lgl|s3-P?Xm#;xUV9S??C%T+8>5y7!MWl`_ca0| z+=~F#IZ5@7dVR7g!yw!!7tT><{_;Q{f;ljkVMBfW4@KG8NA4I&!4=J+pY|&M$qZ(y zjZSvnmyOC`(AL1nNd8e#(bc1!7fHpJ*u2c7D$4P-Qa&tfPVx(RwN3k2gdmwrD_QuK zO-d{0k%6J%amAN(`O6carzJUKh*9#R+l<3fh>ifmHg-^EZkQdKbH%G%^lQEMmSUXS zfvKuR%*3KnoeO7OK&B961l2(hR0DFQE0{E`pbJq+7B4MDHuv$&()6y|u`hiI`du2u z_beiebPC9d>%dn5NcRCp$Jb}=(Y&&EH4h^-l4L%9xx5QAi>*XaD^8CJYEFHRb+xmz z(*)mzqiabFaa4(_rEH*b>ypWEP5SOlM}o>UGanUDW}~(B^IV3ynU`PQ1p`eK^dOUb&+`;}qQ(tv?2pbBM&*<8dbBfMblV^7*fe%Y2It zKg|`i>k=D2IrED<-GwB@uMNMc=y5wNH$}A?H9Zz~-~u*-2de7eKxnl_ga6qJpsYMS z?PEa)bgjCox|&V)^lPSl?;`P3kvdInmD9}3K)2iv%n5CNczM`AHg=ypgp;#`s|tXM?7(I8m%+7y<}6fEs%*nC)q^HUxQT~B73)m z-(pcd;^;`?0M8hYoY>d`S{kS-%6NgCEK%`oC@&NbTB|HIn5^nG;CFu|=(|R(*ph3u zEQArM$@99pr@6Vg67$Slt@V#wbM92%TKIK=)cOiQo73qnsH<)MaCw-(%;I|` z!4Ak{?QouCqK2udbed^N@#%hrbob?#$1)ZasoBae0#4iU1hWz-Sc$aS+!4d!#)Ny} z-PS-+e5Hl9o>5#%<3<~mBDdxC(4E86gI|+WR5~Pw#pRBI%(cY^76SqdRmWslHs~ta zjI)thaAY6>qyf0E@-%hqz$$V5TyRRcBLghgxyAkEM)b?7tn#YyfigwWn@Wb!tznJC z*1b>OT)VF5;{z`Q3IJ}?4ea_TZr0}3Wf50nnleJ>Ea)qi-Fh#|5U;w>t=j2iJhQf{ z>ig%DGb4LDI{+MD+mj)3D_;)E7P&0O%b&Lm1?l0|W^C4?+ooI$>V6LZ4px~tx@P(? zJ9{t?^Muc98yjs_FFaNqAgu>b-;Qay(eit0EY-nX$2za!5JHZ$NGPV z8}##65>8P<0&lkO?uWp4Lu}z6XlJ3*F2SF~Z#vA-`a5Zv94*FPwDp2>xebNxOai}! zCs$NYBah9=sgAO&pIZj;Qn0Iuu~Gf^!Dnxjbf~J7ar905d}03 zcwgYf`o8@5Y20i#zU4eylQ^vCvmzdpYQpe_14qh+#9mCwXgqTqU)xAeZwfd74`K=` zsg|su31*6G%)*Fo^X=YAo8z}oBd$v`ng)cK7?XJua^zlD&`~}>@tOQ_%oqWB zQncy^_)sEl?c%NgK09ZOBml=%hrzx)Q!PM8DBh+)gesRz6@{4bI-czd92@baZv!GxXjSXQQH;>tt7@YxKzrwY~==5!j=A)jaiz$`=_ zFU|35K3b2nwj@Cy@dG+T>)=N9&PrKrm1=s(Cm(qAydh>>`SzXlNvGptJnex$BP1Ot zOeTo|^`X+4BB)I`OU2653jy1zB;q&i{jOSv%A}&A;=bNOV6i26Nw*MsA1ImiEXE*o zQ%Ft0YH=kCA9xlQ`$7_)UH;=ES#F!EY7-86Q{7~0TbLtrT*TZozWLor&vsE!CXOVr=0$2=VQ7ZwlDRj4$ z90E#?hyt)AvGx+#Z!)H2vkJUq5onM?aEItOY+}x1eA8!fNIdaZ@v>IMgF+vORTJi8 z#=*&N5+{R=luy=`!2E=%kJUQZ24HgbQ<%waIWV;bYsm`aIx|I_y2xQPO}(=uTNUyv zX9t|y^edX$bBbySw-1uoy`17)m>n6l@bdD`<5)LPMlBBm$!eNRR;`pe<||FLXp~Iy z@|%H4;-U?2Tx-FP2!XWbm!Hc2{#MFAu)0qz&IcyAsBz^rV=|lE#mgXrsHmu*K>Wt~ z{p2jSSreE6(incMQpGP9+NyNkhCNH2$~vq`0O)H@-PX$b*RM~;*10)LeCSB=HvkZm zr%V{Aab2Am9!Ql~+M`g3Age#+)a)*4{ zx8vio6@W}giwgm034Dhgp?4YZO%u> z@EY{Szz1htsS=2I$4DxE68`{&+%Nt3P%#p(G=%s^!; zGO$M+Vph~r?pO<|R0KJ>x#5H9k-!7Zq_Iffe3N^8-?unYB9o@MYu5E@C869g2=Em_ zP{IB!C{GNwEY@cYL;GyLuR!fSkH`0>{L$Tn=4(%z(J#sf5oB67U%C&$T1Y)t2@AVa z2)hl8=oScV?fkc9cR2H8+l8iAx++H6(>OBCVr%r`Tv*3;k(yJYvhwm*onZH2Z_{JJ zQX(m_6%(!+*NTZ3f)*C9(*P{AgbY(F;=UOjm3IWyT8}WGh|`Y%T^4koshSCdGV!niBa1^j=594s<99BTq<-g1cE$lV*v$GqSFEeVPWc z4VeHD_OxxftRJELEr6tsiqGC1fQG;+a6Em?>DO~iDsGuoRC%Nu&NXUWK0_SY6LTno zI4K3BnXJar0Zf?^_pJ1Y@bgz|Pqn;x5fXhaWk<1CI_bNe9qvHCUU?g<_nm01D+r(k z7hZaA_=Ev8oTi?hnK>~kI<@D7|$ZQyH?V4Fp-oct(oH}p08d54E#oQot+?@=>YdcwI&xLs@-fGXzL`MFvPAnWGCh&)t#pyvyd0k ze%k>UJ@~jbbPw>xd$(z?RU6fJALaI(uWdBloz@OFP$qEEpd7_+z9&KBkd#Ds@SPp- zZZyRM5QJBsP6GZXQi)Uoj{aqZRZp1va9c=Ii5Q@PX?FX2`-|#s7!EV5Ss>mun4X)E z5cU968yC)3<|Y?^bBMvN>6nF`JMc0s~tmO zS}=9Y?I=7FziRU+ske7~^ZA!5&s_xWIIm>&@~w!7yUfF$7Z-mD3fl%KED9QM3dB6gBKVNrrO{z7B9-M1q?o(TA|eprgJrsjAR@XP-E{QOpOJ1tY#=(Go!tV7nBG_Nl_l@0y~l56P>>UVF` ziU6P#ZZ9sjzBRT)&6@WG>j0vUGmKZnNSp?^y7gY`*9YJ-duUXpHEi2L}h+XlZG?`BrpGmm_hF!Z=FoOeV$k zmxUcD-e=_3$V`7IV;&A}8_g9AU;mn^6*j!;vENV{!@mSHs37>~Hz5YQ^h6DOH?d>3 z&sxgR=91Qp!h}&8eCV-N2^Eas?o8io*9nOD!bv)2OIwr$4&7_PjfI#3WVpS_P4R-lKaOC_#G!*Uo8 z`=UHa&D6`Ab|y=QwlHuvaE!+CX3*|6)kzwn z#SFI_zQu)GZKefrkac)hyaKADZQ%&aX}i{2c3E09+6)#pHMLp|-(j_7CR9*%q-vRb zQKeK!Y76lI2~wF$P!3#}+3`W7KSV<09UA6JI8xLL_Hf1M#)7C{zH{z^^ zincmsnbKQoPI!zL$zPrH{GO@5oLKYvp;r+z-1^Xc6ClR*yye%}M-{oi>w`2%Mmk|l zaH|;1-&V()eJ}zGC#(nT=n6FMo=@{lzL}i_ZX*$3Dg(EYxKZ5gwjeG{0+C7Y2ewz? zS5W?w^_exXm)-H}FiF%d$*!I63_L6ZI9A_hDmh4Wm=hZzHZjW)E<2W#oA4e1Q$vTO zL3)etL|Z4%ESIol{k0%7L3Y|Ww z@As1khPVNE(t^40J#K*V@&-#A+rp&O+hSv5zqrtOkuM3Y+ssqz!1Y^%&R$L)?}0tNd!}?H z3<@O#1FNu(-@L1D(4bRiLeQ%FT*nNL3GbchCGBwzrOsjsT<&Wanl1F_u=QMg}0!Xn4;x1()AHH~pf%p&FWwK|hW>#|6Jy|VVbg*x1*_)+~?toUE*Kv|2i=d*v6R^@J1l z8kUL#-q=QUk?0v5?}jAe5BCFg$8aM`N=hU?hJ)Uo*_jznENt~{5cCn+t{AHq+V(;C5

h=HG@20+(M)02zM~K-ORz3)tpT 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 diff --git a/histoire.h b/histoire.h new file mode 100644 index 0000000..251b81d --- /dev/null +++ b/histoire.h @@ -0,0 +1,127 @@ +typedef struct Personne { + int active; + Texture pp; + const char* name; + const char* message; +} Personne; + +typedef enum PersonneId { + VIOLA, + ARCHIE, + MINUIT, + PHILLIP, + ED, +} PersonneId; + +#define MAX_PERSONNE 5 +int personne_idx = 0; +Personne personnes[MAX_PERSONNE] = { + [0] = { .name = "Viola" }, + [1] = { .name = "Archie" }, + [2] = { .name = "Minuit" }, + [3] = { .name = "Phillip" }, + [4] = { .name = "Ed" }, +}; + +void init_personnes(void) +{ + personnes[0].pp = LoadTexture("data/viola.png"); + personnes[1].pp = LoadTexture("data/archie.png"); + personnes[2].pp = LoadTexture("data/minuit.png"); + personnes[3].pp = LoadTexture("data/phillip.png"); + personnes[4].pp = LoadTexture("data/ed.png"); +} + +#define NB_REPONSE_MAX 4 +typedef struct Conversation { + float read_time, write_time; + const char* question; + int nb_reponse; + const char* reponses[NB_REPONSE_MAX]; +} Conversation; + +#define NB_CONVERSATION_MAX 10 +typedef struct Branche { + PersonneId personne; + int nb_conversation; + Conversation conversations[NB_CONVERSATION_MAX]; + int next[NB_REPONSE_MAX]; +} Branche; + +#define NB_BRANCHE 10 +typedef struct Histoire { + int nb_branche; + Branche branches[NB_BRANCHE]; +} Histoire; + +Histoire histoire = { + .nb_branche = 3, + .branches = { + + [0] = { + .personne = VIOLA, + .nb_conversation = 2, + .conversations = { + [0] = { + 1.0f, 2.0f, "Salut bg!", 2, { + "Salut, tu est qui ?", + "Salut, on ce connait ?", + } + }, + [1] = { + 2.0f, 1.0f, "Bah c'est moi, Viola", 2, { + "Aaah, Viola. connait pas", + "Mais oui viola, comment ça va ?", + } + }, + }, + .next = {1, 2} + }, + + [1] = { + .personne = VIOLA, + .nb_conversation = 1, + .conversations = { + { + 3.0f, 0.5f, "Ration + banane", 0, {}, + } + }, + .next = {0} + }, + + [2] = { + .personne = ARCHIE, + .nb_conversation = 4, + .conversations = { + { + 0.0f, 1.0f, "Eh, toi, parle pas a ma meuf!", 3, { + "PTDR T KI ?", + "on se connait ?", + "jparle a qui je veut en faite", + } + }, + { + 2.0f, 0.5f, "SI TU PARLE ENCORE UNE FOIS A ELLE JE TE RETOURNE ET...", 3, { + "C'est vrai ça ?", + "Ptit coquin", + "Grrrr...", + } + }, + { + 1.5f, 1.0f, "Euuuh, comment ça mon reuf ?", 2, { + "Bah quoi tu veut pas ?", + "Désabille toi grabuge", + } + }, + { + 1.0f, 1.5f, "vasi on bz", 2, { + "OUI!", + "OUI! je ramène la sauce piquante", + } + }, + }, + .next = {0} + }, + + }, +}; diff --git a/main.c b/main.c index 703aadc..f51f0a7 100644 --- a/main.c +++ b/main.c @@ -8,16 +8,7 @@ Vector2 window = {1920, 1080}; int horloge_heure = 6; int horloge_min = 9; -typedef struct Conversation { - int active; - Texture pp; - char name[10]; - char message[22]; -} Conversation; - -#define MAX_CONV 5 -Conversation conversations[MAX_CONV] = {0}; -int conversation_idx = 0; +#include "histoire.h" #define CHOIX_PAD 2 #define CHOIX_COLOR WHITE @@ -197,30 +188,7 @@ int main() Texture phone_battery_tex = LoadTexture("data/phone-battery.png"); Texture left_arrow_tex = LoadTexture("data/left-arrow.png"); - conversations[0].active = 1; - conversations[0].pp = LoadTexture("data/viola.png"); - strncpy(conversations[0].name, "Viola", 10); - strncpy(conversations[0].message, "Salam Akhy.", 22); - - conversations[1].active = 1; - conversations[1].pp = LoadTexture("data/archie.png"); - strncpy(conversations[1].name, "Archie", 10); - strncpy(conversations[1].message, "Je te fait pas con...", 22); - - conversations[2].active = 1; - conversations[2].pp = LoadTexture("data/minuit.png"); - strncpy(conversations[2].name, "Minuit", 10); - strncpy(conversations[2].message, "je suis Minuit.", 22); - - conversations[3].active = 1; - conversations[3].pp = LoadTexture("data/phillip.png"); - strncpy(conversations[3].name, "Phillip", 10); - strncpy(conversations[3].message, "je suis Phillip.", 22); - - conversations[4].active = 1; - conversations[4].pp = LoadTexture("data/ed.png"); - strncpy(conversations[4].name, "Ed", 10); - strncpy(conversations[4].message, "je suis Ed.", 22); + init_personnes(); while (!WindowShouldClose()) { if (IsWindowResized()) { @@ -263,30 +231,36 @@ int main() float size = header_box.height*0.42; DrawText("Chat", header_box.x + header_box.width/2 - MeasureText("Chat", size)/2, header_box.y + size, size, WHITE); - for (int i = 0; i < MAX_CONV; i++) { - if (!conversations[i].active) continue; + int active_personne = 0; + for (int i = 0; i < MAX_PERSONNE; i++) { + if (!personnes[i].active) continue; Rectangle conv_box = { phone_box.x, - header_box.y+header_box.height + i*phone_box.height*0.1, + header_box.y+header_box.height + active_personne*phone_box.height*0.1, phone_box.width, phone_box.height*0.1, }; - float conv_scale = conv_box.height/conversations[i].pp.height; + float conv_scale = conv_box.height/personnes[i].pp.height; + active_personne++; if (CheckCollisionPointRec(GetMousePosition(), conv_box)) DrawRectangleRec(conv_box, LIGHTGRAY); else DrawRectangleRec(conv_box, GRAY); - DrawTextureEx(conversations[i].pp, (Vector2){conv_box.x, conv_box.y}, 0, conv_scale, WHITE); + DrawTextureEx(personnes[i].pp, (Vector2){conv_box.x, conv_box.y}, 0, conv_scale, WHITE); float name_size = 0.27*conv_box.height; - DrawText(conversations[i].name, conv_box.x+conversations[i].pp.width*conv_scale+name_size, conv_box.y+name_size/2, name_size, GOLD); - DrawText(conversations[i].message, conv_box.x+conversations[i].pp.width*conv_scale+name_size, conv_box.y+conv_box.height-name_size*1.5, name_size, WHITE); + DrawText(personnes[i].name, conv_box.x+personnes[i].pp.width*conv_scale+name_size, conv_box.y+name_size/2, name_size, GOLD); + unsigned int max_char = 33; + if (personnes[i].message && strlen(personnes[i].message) >= max_char) + DrawText(TextFormat("%.*s...", max_char-3, personnes[i].message), conv_box.x+personnes[i].pp.width*conv_scale+name_size, conv_box.y+conv_box.height-name_size*1.5, name_size, WHITE); + else + DrawText(personnes[i].message, conv_box.x+personnes[i].pp.width*conv_scale+name_size, conv_box.y+conv_box.height-name_size*1.5, name_size, WHITE); if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT) && CheckCollisionPointRec(GetMousePosition(), conv_box)) { choix_active = !choix_active; - conversation_idx = i; + personne_idx = i; } } } @@ -303,15 +277,15 @@ int main() if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT) && CheckCollisionPointRec(GetMousePosition(), left_arrow_box)) choix_active = !choix_active; - float pp_scale = (header_box.height-notif_box.height-header_box.height*0.12)/conversations[conversation_idx].pp.height; + float pp_scale = (header_box.height-notif_box.height-header_box.height*0.12)/personnes[personne_idx].pp.height; Rectangle pp_box = left_arrow_box; pp_box.x += pp_box.width*1.42; - DrawTextureEx(conversations[conversation_idx].pp, (Vector2){pp_box.x, pp_box.y}, 0, pp_scale, WHITE); + DrawTextureEx(personnes[personne_idx].pp, (Vector2){pp_box.x, pp_box.y}, 0, pp_scale, WHITE); float name_size = 0.42*pp_box.height; DrawText( - conversations[conversation_idx].name, - pp_box.x+conversations[conversation_idx].pp.width*pp_scale+name_size, + personnes[personne_idx].name, + pp_box.x+personnes[personne_idx].pp.width*pp_scale+name_size, pp_box.y+pp_box.height/2-name_size/2, name_size, GOLD );