From 8a353405ed171d0291de1e2ea159a03843322828 Mon Sep 17 00:00:00 2001 From: util1 Date: Sat, 27 Jul 2019 17:01:35 +0200 Subject: [PATCH] complete triangle gestion and add partial texture --- 1v13D.dlw | 4 +- 1v13D.g1a | Bin 23588 -> 23852 bytes build-fx/map | 506 ++++++++++++++++---------------- build-fx/src/FxEngine/1v13D.bin | Bin 23076 -> 23340 bytes build-fx/src/FxEngine/1v13D.elf | Bin 35024 -> 35280 bytes build-fx/src/FxEngine/face.o | Bin 1444 -> 1720 bytes build-fx/src/FxEngine/texture.o | Bin 788 -> 832 bytes build-fx/src/main.o | Bin 1388 -> 1388 bytes src/FxEngine/face.c | 21 +- src/FxEngine/texture.c | 5 +- src/FxEngine/texture.h | 2 +- src/main.c | 2 +- 12 files changed, 272 insertions(+), 268 deletions(-) diff --git a/1v13D.dlw b/1v13D.dlw index ea8f33a..8acc55b 100644 --- a/1v13D.dlw +++ b/1v13D.dlw @@ -2,7 +2,7 @@ [_1] Type=5 -Order=1 +Order=0 Top=15 Left=2235 Height=4740 @@ -13,7 +13,7 @@ OptionA=0 [_2] Type=1 -Order=0 +Order=1 Top=15 Left=7800 Height=4725 diff --git a/1v13D.g1a b/1v13D.g1a index 1c14c836990d074dbe6c2309340144127c3ab2f3..fa14d4b0b6a49e7f859ccd35d1a81af1bd9cacf4 100644 GIT binary patch delta 2432 zcmZV=3rt(r_1|qSSCeHygXne69?C^;Vf#3id*kJOZX-TnzQ@n^4XpxBG zXs`fsECMgux+GeC&;9xQ48Hh#toqHx52sEHp9;%Yzl7iT_p7V#UC$g-nFLlsep`D1Q~L_J$M_g_ zwSGH{9wUTs3L<-#B`Kn5ghbPl6cC}7R)pLyBZAN{iZ&yX-GhkMkI2?(MBE7A1R}CE z$jFM*CEPW^&vAl7jfm$k=NG*qO3dtoa6(ir1(yo;x-1Xt*{8B=KBf&^Zt$UF>4?4& zu>AZ^Bm|JpCvVEAR)mFZ?Y*muPc~)t;!kN`Yp+;$a1lE|Ua_xh_3jg0K^Oicp-N(@ zw-i$K`?GQk3#*83lOgF*gv3xHE0(hxYG-DpIZvCbUV^HsZ#Xh?o+7ey+5s{|c5s*F zN~|wLq_z!wpvGE>{hM{`9eS|nL!=Jc<7B@~WRiC1pKIl}IbG5btg1_iH7;gZeFLm7 zAmZS-rUb#=Gwe*--W>M@FadELkD&(MJozRfYFM<~Wkm8=v(ldJh=QgNC09bS1Oi|I z9+t}lwYg{66G{zsu#-wHjMrl0BPAPjSd7PvKRdYH_-o_ujDIzLYFujA=&Nk0*frkT z)a>2cPS@;iMjCgIY^bRlYh-yujWt4RksN7?Bob>|8rINxac=NT1!|Mye3CLM4j!*l zgp;-_!at~0gjG&Ou%{vSQ1r*qK(sUZdh}ov(f;USurwX9->8y;kDQ7Se)s)FdzB)L zD;1%8E>DGOMC9_pNV$3|RH4sq_Io2vx<}`Yw2b$ZIceW`jN0v_J!5T=E;1<5Nk%^g zs&P;V)Svf9-ssw&lA{iN*fQ=Jb9r|)`_o<@H=(_`bc9DXj^iNA`V9MTS?}%WaA2R>L+Mr4c_AXiPTt(y2?7_4e)r4W96| z3pMq0(u9`capHtlz+>@*R(Qu%PYX3#k?rz`^RtEn5ntpjb+4|L_6|UKiEDgWj1Nji zMQeiHyx>qI5ILed+;brER+jHx+$Ah&)F?NnQy3C-`r3*+eL5YPJvC(gpdJbYVWTld*-dDSZS_xm=zp6Owj}d#|{@ zZW{=?yO&lTAdA7>gKGpDVsJ-Xk0~*wF&oTxu$YoH{^R=?Dng0 zFz&;SXIs2RLOKyq9EI~&1-dy%cOLNLd3=MaDBw#G!C7tc zvvcZn`3FGprx`p=Y(#BN$bAPSRa{}ln;0&ie;t zo78JDE@!W8%FN%^gGhN`Uhptw$>B|%hk_pvSH>g z!!`B}0Muzeyrk+4Z1alXR7o9n#$(I&tk2speLS_02esNONZ9o z;}K&yWBIOZo>cLD_xzE!e4!F0($9EBleP6vn64NfH0bx!Flue|6&mECJ#R7)A^5CPG6=NdOTWyrG{1zhZ;- z!aN&idAoUPPVi5GqrjWWw|&JHx82HiZas(1TyjYRmAGw|Uk|vErx7XTI?Kcum$BXD zb-0ZCsJufc-2-=cJvcfzW93z;Gm+tm>)oE?=DUbw z4vvkfN{HubTx7AuF#HvPZe_tP@&g=Slf}^L`uC?_jg9Ui~ Iyj6|=2i*{;ZU6uP delta 2150 zcmZV zcTNdPKn@~kt4q~H2Wp}wxvkl^+Tyj=h;9i z-Fupy&z;$wo!Pzg201rHO#i&}_Qc7-mxr~>-{SxBuglA47x+bBL+ywxl1G;ZXrBhAITF0)KLs$r?Lz3pOt<1J|JeHHK%UTDBoLHLWhV7p{E} zBi7FQtp)dh)=&CT2DDCG&>Bgh3TUw7h_oXbRQY~hwXQ2fi(a4&xb>aPki}=!72els zr^MQi&QcHOYQKp0086gONzj1eXC?0*9_w*xJ@4YZi;HTt~1A5c>U z+1vdp-8zckMjjLIypE2h<`hkvW)<^FKNrnuDh3X7q)ypWAG>PIBR=+RYRopVn9uDv z7Te+YyW>^IYmWCE|83e7-M%NVxBozEII{l`w{u?@Y%M*SQ?1Vuo5oHp#HOflYQg4I zsVh1R#Kzgv+`x$dbZAKl)s1At&xQ2EnLG5urUw16F{qEXHx;w22MXf1gZcy+AGqnO z)en>H`oxm3J75}83Q-(o!r_1^vG7TKBpKv-RFUMK{+_}h7wu0`{vfyeg^uJ?mH}11 zYGei}&wv7{%bm%m+d6dxmc)OA{(VN_g%)FHztM@>|kADTj zGOyur-fI|w#|<}qUULHe=eu6!IW;u)X<0P+X!5YCfr}hP$6SglT;UWc&M$FY$tRP2 zs=u~BntV?$3vt0&E1*tTA14Hn{9>dLe zC5HSuej}&qd?IV&axd|kvBOe}RLC3lu-EG%?TjzuPXj4tbe>XFXMN8K!jIfD4^ z9GRB|N+o+G)^ke-o3)y?Cz0}CaiO)7C9SS?MK7Ubn^_V8*%6D*w`;2;5zLrQS!}w=^06bQt|j7`iMy~wqr_C6V_DbGETNp60iAM zRbfuTClJO(|CYb3PEUJGyO82tc3d<`c@JZghq3wBRw5py6@<9ho6gH>$3XgU?Cf}X zE1_(moF`7UT%Lzxo{P6SUz9pN{)^)oKlfNNu2|`M>J$&SN+l=9-98-OcV8ne@$^F< z5%mTmhPnXM&H5_x$V1}k3OtXk>>W=Pj`utlmC~Iqu#4Wlx~4@u0+1Fk2#fdvU_z<4 z8)(HZgYX&hKYB2|F9L0vmh9$av+@t+{?bT}l=dGzXe9t$S&q+ zd|lSIB!1QS4+U1*abYhhWS(oB1!+p1nN(@VzGp)cX;1q8 z@4o)?oxOlR{shne1UtIEpFocgLO2PLeQS~=(L6$;c}Wt8P)8R+&X*8DXaYsr5y=`v zMB_u`#d$=W2;e9r z<^GM^kF^E;`1810iMhpGNVV+G%+@b&Ai7(Iq(>1FLy4?d#%^!Av>?rX(q8)lR8@D) zmY)3tk;Zu&$PlULF3M7IZXqH~-QWW?Hc71CZCTgng2gZ*%`iQ7_TMyKnBNyvo0+W5?XZG1*oqK>NEuIE_*JFm8W^b7v` z0Mw9D4&}&if}HSfn;|TS&=P0~f;%s>xige(el<1(Xpmv zYnCknnnILV4awpNfEjpLE+f?DTwvczR%07Go2-HHYIJ;%%m!>`!@Gu`9jr0@#_);Z z&xS7ztF1ZS>W->C(_OB1&%PeIVQ)K9I|pUst^ur;>4*xeg{4Juq%M+3O1o3An%2d* zu~Sv3TaNQd(v&!GtXUCCs8NKrH7P<$yCN{yns+Gjj`&E4_4S|?{t*f zYp31EyTkotOrn)ceFjw9m=LHx?hn7wzdtEk75sh2wEMWjv!~sc^4fIK+b(7bJ9B*l z7TpwOSNIq^WDFDye1k%`FQspwoC)E();^}ZA&4GWUv?GgU+LLpiBBulS6V2w_`X1G zw6NztI8T+{+#9FHGu|Gdx`j@d(NH{&pV0_-ES}K_Z#i0Mp;{xdT%5Fj)p{W84Zo!t z(l*haQ7A8dldp*K0m+nTQ?Qp8918oxN3@3r4}{;!^xlcNgapoYSHz?ZQb#f?mV*!X ztve%Sx+&~G<7Zl+hcadjO`_MC+krA&5dACgPgBKAFkx-UgZ?;OMp0yWV)!;VLkm{ObcrdwD{$=d!??Jq99 zgG@UqHEIy5jdtTL4@1d7+OUd@hnCwqeh~gw&>N?w8j!j~UffG$e-RV^>JK)5$B=i_ zkW(Vp6z!%xm$j1Dz75G;4;SMPFzqL7wAb`GeSio`{3UYlXf+tjojr_&w{=NKiik25 zPM6ttBX}O@O4#jJ;9%T^9nW?tdt_ikq$=3ie`T*I-_3lZHa&S6uTVEq^M8HxRC=mE zyp((^rHb~QSxRPo+n5^qo~4Su>zTXj4qfAWH`Z%69iFPv@@XoI7e9@) zrGhzep8z<=*$NJAxyK?#b4K%BE}T{J^X~o~Z~0s$+~^CX7@OJO?z}7|W3k22v*QLA zE@E#O7;I!W3>p|Ugh@A^Xw6v^2EI4EX`_3?0by$%qWOg~a$Tf=4>De4h4HhZFR+V*TAn^V0xj?wguj9iCPr=U0^HlB=gh0Zi(5x$o7?Ex7~=|dpu8DZaG#d<3Zz$$~$-dg)`ades9u)C0TG-R}Dcs5$ z8ZT0vYuq=DzZAkw8{fSL?_j^)&B)w-{=Gy*ZDt?tNjDKU>_@E)k?i599DW;M3&VV9 z{Q&$=2H3j$V>shOL^8&}PgzFXS7I`=C5qu^1m-If_K^?Z*rqIsHnzS${Ob7RJEPp` z*1t&tZaA0#TOZNG2Kv#&7W)+QGP2Y5l;0vqp$ZYhpSD;;@?$A^`PTP5jgSPy(54kO VtM#WyOsp4xxCFhZIC-ZE{}070mOB6d delta 2115 zcmZVSNYBF<@01X~&b0zsevz3>m>B^^MQMu0lv zKm&kq5~ykhOgSmqDPAV0$pV)NXs|v|7BP(vw0CsITRSbRz2GT>s8mR~Mp1C(t@PdJWU5 zg@x6H^IG+Y=vBW-40W1hQj(V5NwmHI)Fu9yaf0YafMz_zJvT^^5xb>`hchiQlEVhI z#v&OuX$XIvSaf`wPb9lL|K<&hi%lk2z8%?Wv1>la)(c?62gU zsbdjWx%F6NgY|9e`__-GUs-?f7lhYu^=#|j(HIOh@8)Z^2f@6#Lv_0GHDXp-sEL^6 z6*e`PZJe^AMMuoMCB^le@IZ^26jRMWdh~p~wm)Now%<^v?brLX(VhMxwosoRz2noy z$WYG>msi_Q)@x(afh`_GpCS;(Sr$0xF~qL?TpLRG_zo_V*xKDu=;OoPNy_cxx4hMo z*l+6L^02pb>)eME2=2V}L{h^`jn zIfdvg=$AQldj+Si5BBPAxSYlq{NcJ<>Nwpu_)BRxu_tkmtK&mQ(J`Oo3THTZl5Krv>i5c&|(olXc~+jmPdb-)+6O#yCLQ&b8?<6=aR>HuS;1 zt-2f0H5l^G=(ViM4`K_4FLe^9F|D}VC@&U#f}@|58T-iap}>~mCQ#la;iDV*keJ8y zrQJ*mAAJt#;a|ImRPp-1u_DHR8q8P~Y{#PAsv@iur3r8UOE$LXn0X2gc&`|W-^G(|P#Fxd|QHXB4W{zd1bobZB_GJt4U>jbdS;gEB0#z)$G17N{2Kg?XqO z$1q0_-=83pGEa$QufTfV+``6Vb^xtvpGf;%bJHEln!pYJ2B1V=y+G~b z6C`;6Ji;gHccMCCJGPi^83TZ!c4c$o|5ugkt8 zcJYk;N1|M!$50o5mb0!^xnz}iW)h9(N*oA!Ycr21HCYX zKL93_I@^I(Jnn_-$UkskdQSoMk4knEvhlR<)7&MYEGg{|94T7|Yjd0bL}0opV!c09ZCX`X#pvvq-_-t>^gYc?yAB->Tn_&+Ms7gI<+>e--g zfNWycx=&doP>- diff --git a/build-fx/src/FxEngine/1v13D.elf b/build-fx/src/FxEngine/1v13D.elf index 772e753aeb13580ecbf1dfef3840c281a3a1db7a..23baf5a615c64204a5b6703958e694b82dbcf199 100755 GIT binary patch delta 5571 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 lTwB&$@8k#n}GrS%VmZyv#4+hioO}{{W?bYw`d9 delta 5292 zcmZWt3s6+o8UD|*3;SYWVF|DzyRa)rFz)3M0a12QC@(9!iUtMa5DMvq)Uud z9JK13OmwOfooE|d(@JO4hQ_3Enl!OPW&(|El4=^Am{;RWG}t7qw&{27J>Yh_v*+IX z{r`XdbI$)b=f8K9>qZah4(77mhdiE0GZBeK2DE-OMieAcLRur^HBuYJ-{mh;jLC)} zQkH?olC>7gU*11Jx6pq%E=(bc3!raI|8_E>muU2>Km3}7mfuq4g)Zn+b(3L8<2}G!(b{}ceO(~DHhN}C(wrY<&@<)p%V}R zx$!ja7*U8PJx@w{J1Ntylaj|DNcC6vzXE3lCCv*Mlj9Y%QeYUq=rR-ykLjCpNA(vC z0ZUg(a~@e>Ba~nU?>D~JeSc}r?V7i=`hlHo zi(5LEud>uFYa!>NUi0C_TbR?FuVgT%zO2Yf&LX3!ES$=mmV6EE+E-0sD=Scv4{^Bc3t(?*!Qz}_Q7kRCDmzr4WTYvb)l`* zX@i&EtM43du=E-`$CvKx^)^_#cB)T-2FsGi!{d)+>@vEI2QJ{Le3u?iuXc=YYVAnQ z$r$`yXy-CV=f-w4=+u<8kvnD{~mcirSjQ9 z+u2ulu!{7!g3@$-fv3S!zMmDR?`3DVg_fLcCDX^O>xl)H&ZyhCH}2!Ot|z{W=d&O7 zF%j{O8;FPtq@+0!6}&Bdl{pWQV#1}iVXPvqBOe}0#GOmIMr?kVVFX+k(3CQ&;~veFAJx@uVRC-?yK@(+R@b4#ZTwUQh*2LF@T?udm=>jYGSbGNlNw@*-_#*7W zHL0U82cd~y90bH2VXEGM@fWx`+Saj>rC^gJx)(C2rU(v6bMiMI+Q2e-*nV=&*tQ{L+Ujt^`5#@ z5Y3So5sj^-YhwtGA{y1Gx+SEjhQA~6Lz)xWL5Vk#>IB_%i67IP$>i9&eQ+XgTJ6hG zgD6=_{Tu;Qk5SwjW^h>vKf2l__L9}dk=|`kqf%{|dAh58i_=*09fxn|c6+Z(Uh{3-Eo(NeXKTHuNxG+ZGWe9|0 z@E?JnjKOaM_s8ImfQMu7E#Omkv0e{+IR@K-zlp)_I1u>l?zd1OjjZ({rf;wPB2p#7 zXkLm=gpmPVraFMjQ`E3BAYl`Qis=%2)k>0dMkzm2t;xX8)#S_6!kOq@Dc^+XRiims zjb1|tGf-y)44W7pqEt~GBLD1axEp%ZllRe{nRZlzL>W@gkFm}2b3JZDKgPMtuk<)O zvPBFeOa5g!PO?<<8EObIu3Pf|4ZauH3qGGH#l{ujOJ{} zuEr6m^+4PtAnWl0rQ&aI0{r!nHCJzFaO1uL2U0`W_(^^qo01Lar>83smD_krs zYT6Bp3X9E@)53`pJP$1WWI9EPf-sm!ebaNqGdJ0b{30lAvJb+-`zWv?=kOMEiaDAk zA8G96ZJT^{zgW<{l8WT5;zu{RB7Q5Vc^cI`L(bP>*NOR>E8wvs;L8Ls&xdXiT~AB- zh2nJ?SenWF07|AAz;8mEhT2-Ri$P61)@wUyb6x0p) zfr?}>zb@V^_`c0m)p#|)DWomddBK400$-HaA&gYn z>kHvEY;qmeT8!-gmI-QI3=BxcnpP_kx~?B{Q6$E};D>!FSK{xXKxX< z5IZf!=BQtYh)zk|CaypC(d(e3u19+F+gp7()7}JC8Y%G^9Gp)A*Gnnk3f{EM zhoiY~o13-sW81Pr__##m)D~<*MQa_#=yHb=@2(AD@MS#P3dDOUurLMk!Bz~j-vN|c zuq_})uxv*b#pIR^QQv$;_Cj{s5cT-_HR(JX_Q_ah+Ys^iI3x}y^_a0eja>vGGqElk z)*-&wiCKuCwnf!9Z=wa-I&J5O|7?4X9beHV?PhyN%`UdjZGJX=*Ha>#uaz3s;PuVLd^KlLH9$dF` TzBm7#-OxeX#YO&*twjF?qof7J diff --git a/build-fx/src/FxEngine/face.o b/build-fx/src/FxEngine/face.o index 375902f2bee46de0c6607ccb18b4ffd142cd11d4..cb05407053a36df792a6996936563f8fd0614700 100644 GIT binary patch delta 878 zcmYk5OH30%0ETB~x3qR!qya41khFA>7Nhp1w1Fy5?TSRYeMvA%fn8c$F87bRXd*U~P=;NT zI;$@GK&8+muF~CJ<>YX0NmYe-JD!WpFzn%Is34pI$45qxeu8gV<0_3!Z;%|6FoKO(gsFw*0f=P%A9-;1sy66U#n zoa`Wq^A@zG#=HevQ*GXYFESkjPFghnn^W|&&H;r}Mk_|F?F2iaUeCDh1OL3B%WBqx zuC-uD;gvJi@yviSTFEUHmPlB5HL~Khis(#b;I;Uzdo{dLZ_h&h3Qu*YZ>XoffGKc- zdMni1Mes>@=?&z?;)Oe7&~L_ScbV~8>Hy`JpvOD~7Z@hC-~pSGIrbj&JuxAK)61*x z!7fKQ1A`dpa)cG;2ht+a>+mi@Ez*a6w(z@sOTfDmksyeZ9@?|WQb@0+!DZkXdL4@Y z#{Xc+A`%4wS!dXtbm<>zUHtOzCO$sGO*n0J28;U;!QQj#`o2qs$hSwv0V;aFiQv4C ziGdwh9baeQCR)_O!rVB--`Y#SCa^wI&&7Eaw{3WN7F|c^mK?&iVgSVC6c$bH-`A7m zGCjk`$2cDJumvqFI0t|Z77*JG0NP;Jf4Tp^JOF@xqtgTcvB7Ns8024=fG}Df$8AOU y9d*;FJcrv5HZFg~&GIXJa{+7Cq(W0ugiWiRM{=7+ttV7GD)SokgO$nCnzFw+Ecq=r1r#N^_XRdZ ziUc+Wi6k~zs%K2@XABg{P__{7XYvrt5cUAtXQ^EOf}xkmQaDrDQn-^LQ~061rFb{P zOZz)I7SlWD-_l9_oc6ht!;3qm8E7y!n5P2ev4D9FAYS(8+|Sh z`PLtIv8i- bN3a2vmH?UllN;ES#8`kV1}hK&1z@WH-%qX2 diff --git a/build-fx/src/FxEngine/texture.o b/build-fx/src/FxEngine/texture.o index cb32317dcd93baebfe79828babf4bd7f2a3d4d72..f2fd6a443a02401f6c716f315ca50b549ba2675d 100644 GIT binary patch delta 225 zcmbQjc7Sbya{UGd1_ovZ6ClaJpuxb!z#K%O3$tO`pQRBgX2JQr){ssmHcCcws;y(-=TsX0_ zwfR4TyR);Ef`+?asHTFY-o&y-K@TAY21cN2NvIBq$sCOOj4qQc7`qugCLdu`W=xp; yf>E8ZX0iYiket{cKG~m1fVBpwTw-zxlQQF!$sIt66_YmrNsGxhfMm`jW)T28pFXGn delta 180 zcmX@WHid11vP%mC0|PUI36Nx9&|u(V;Jn118tuYS%Knhi#3v!yG1f$f$tO`pQRBgX z2JQr)JXj@^_zwXSCr=Pm5n^Cq1PV(+r35CMFzPcZOip3!W>lH{fl-;!WU>g8I%C9S v8!(x|q|O=vR4Xuf0+TXh#^fzP(VEG3fF#dk7G`x(2cVo2)GQDMGMfPaF?l4Q diff --git a/build-fx/src/main.o b/build-fx/src/main.o index c88340254cb0e74c6ab96611fc27e4ca2a42e6a6..5155ff880374bbfa000528638168f2f3c9974df0 100644 GIT binary patch delta 59 zcmV-B0L1_73hWAy#vE}(84}LGz8;R7q9>T delta 59 zcmV-B0L1_73hWAy#v0%NaYWk{DWVw?fSefwZ1d3*-4j6zXrs{+k>Vo_4COdM3*=<4 RLGz8qh7Rvwt diff --git a/src/FxEngine/face.c b/src/FxEngine/face.c index a37ca9c..d36dc4c 100644 --- a/src/FxEngine/face.c +++ b/src/FxEngine/face.c @@ -93,12 +93,12 @@ void FE_draw_face(FE_face const * face) const int ymin=max(min(face->s1->translated.y,min(face->s2->translated.y,face->s3->translated.y)),0); const int ymax=min(max(face->s1->translated.y,max(face->s2->translated.y,face->s3->translated.y)),63); - //const int xAB=face->s2->translated.x-face->s1->translated.x, yAB=face->s2->translated.y-face->s1->translated.y; - //const int xAC=face->s3->translated.x-face->s1->translated.x, yAC=face->s3->translated.y-face->s1->translated.y; - //const int diviseur_commun=(xAB*yAC-yAB*xAC)*2500; //(multiplier par 10000) + const int xAB=face->s2->translated.x-face->s1->translated.x, yAB=face->s2->translated.y-face->s1->translated.y; + const int xAC=face->s3->translated.x-face->s1->translated.x, yAC=face->s3->translated.y-face->s1->translated.y; + const int diviseur_commun=(xAB*yAC-yAB*xAC)*1250; //(multiplier par 10000) - //const int fact_1=(10000*yAC)/diviseur_commun, fact_2=(10000*xAC)/diviseur_commun; - //const int fact_3=(10000*xAB)/diviseur_commun, fact_4=(10000*yAB)/diviseur_commun; + const int fact_1=(10000*yAC)/diviseur_commun, fact_2=(10000*xAC)/diviseur_commun; + const int fact_3=(10000*xAB)/diviseur_commun, fact_4=(10000*yAB)/diviseur_commun; for (int ty=ymin; ty<=ymax; ty++) @@ -114,10 +114,13 @@ void FE_draw_face(FE_face const * face) const int txmin=max(min(tx1,tx2),0), txmax=min(max(tx1,tx2),127); for (int tx=txmin; tx<=txmax; tx++) { - //int vx,vy,vz; - if (FE_zbuffer_set_dist(tx,ty,1)) - dpixel(tx,ty,C_BLACK); - + int vx,vy,vz; + int xcalc=tx-face->s1->translated.x, ycalc=ty-face->s1->translated.y; + vx=(xcalc*fact_1-ycalc*fact_2)/1250; + vy=(ycalc*fact_3-xcalc*fact_4)/1250; + vz=face->s1->translated.z + (vx*cotes[0].dz + vy*cotes[1].dz)/8; + if (FE_zbuffer_set_dist(tx,ty,vz)) + dpixel(tx,ty,3*FE_get_pixel(face->texturenum,vx,vy)); } } diff --git a/src/FxEngine/texture.c b/src/FxEngine/texture.c index 42618c3..e97e9be 100644 --- a/src/FxEngine/texture.c +++ b/src/FxEngine/texture.c @@ -1,12 +1,13 @@ #include "texture.h" // textures address -unsigned char const FE_textures[2][8]= +unsigned char const FE_textures[3][8]= { {0,0,0,0,0,0,0,0}, // full white {255,255,255,255,255,255,255,255}, // full black + {255,193,161,145,137,133,131,255} // borders and diagonal }; bool FE_get_pixel(int num,int x, int y) -{return ((1<<(7-x)) & (FE_textures[num][y]));} \ No newline at end of file +{x%=8;y%=8;return ((1<<(7-x)) & (FE_textures[num][y]));} \ No newline at end of file diff --git a/src/FxEngine/texture.h b/src/FxEngine/texture.h index 791b59d..151b79b 100644 --- a/src/FxEngine/texture.h +++ b/src/FxEngine/texture.h @@ -9,7 +9,7 @@ // textures : 8x8 // du bon vieux bitmap monochrome, la routine quoi ^^ -extern unsigned char const FE_textures[2][8]; +extern unsigned char const FE_textures[][8]; bool FE_get_pixel(int texture_num, int x, int y); #endif \ No newline at end of file diff --git a/src/main.c b/src/main.c index d0f6e07..f0dd84d 100644 --- a/src/main.c +++ b/src/main.c @@ -13,7 +13,7 @@ int main(void) init_controls(); dclear(C_WHITE); FE_point point[4]={{10,0,0,0,0,0},{10,10,0,0,0,0},{10,0,10,0,0,0},{10,10,10,0,0,0}}; - FE_face face={&point[0],&point[1],&point[2],0,0}; + FE_face face={&point[0],&point[1],&point[2],1,2}; while (1) { FE_new_frame();