From eb69825bd32ab65d7c9ea64175a759b803581d80 Mon Sep 17 00:00:00 2001 From: milang Date: Thu, 29 Aug 2019 14:35:36 +0200 Subject: [PATCH] correct my bullshit on bitmaps :E --- build/src/render/translate.c.o | Bin 2936 -> 2732 bytes libfxengine.a | Bin 6082 -> 5878 bytes src/render/bitmap.c | 4 ++-- src/render/translate.c | 19 +++++++------------ 4 files changed, 9 insertions(+), 14 deletions(-) diff --git a/build/src/render/translate.c.o b/build/src/render/translate.c.o index ca6c2935abf2749b09763f8249adccb2ac0f5ec6..192b9812bdc8f0130e14f3370e505b1a9fa71b23 100644 GIT binary patch delta 747 zcmZ8dze`(D6#m}xCV4N9nkG+Eg)F8a4b)bP9Xbd;LZ>b|WPep}LLzFQiC~8kB@PxX zSZ*l}4uwK#Aw$7Gpo`%8#1e~i=up}Y89J2E;?nbc_Y(EM;e6kBe%*WiCR>9$H?`Eu z%t6B&8hbaLb}X3XJ}+6Zf8Zy0)3J)S6MwE9*$+~l&6{oe#3oHR@zcbM2yYg}+}r8w zLbuY*-!6B({&wud^7Fj!5p^Di#wUX;ta2A7q^-#~^>5^?@bJzMQ4!Na%rQsK_A|O* zjRlfEl5Zyfjp8i%xm^!JmE=i+Ihn5qG9dHoSNPTy{+jwZ`Ht*=e>tDWKA``hf|e}! zbh!YBk{fX#MEHo@@Llq@SdA>_o)r1Ye7(rs`DzVrt+EW)bxVuY*?O(QOFmgzS>&Y& z5i<&6&bZg0Q(W`^OQxlOeuXnYOyO}LuJC=pQn+vdKc-7aUH<|wg}(x}!ry=ag}(dj=k7xX<~IOx4wd%7e(n9p?f zM&zRDaHK^y7!@@L5F$-cNd%Ybp^aia6b~Y7VmE&_NtIObw%`^l zqBOFCA|84WsZfYu@mxp{4+=3#Yg-YaT60tnOF&R((;Z`SaA4+p@B7|-@0*$Ls&(hR zO!dy*lHz~tf9`+bU-EC1#Szb{xFU+YQcJRFVFOU;igitw@W;4Qido*yFVGi%^weCF4`}^Z; zLXe9m`PkdD-xG=|v%`E$cz3`^hxsoU`*DHI{fY#pf6uHZg*QF@yCUAGs@O+-Sv{kt z^>O{8p3=c5^+Zut$=zb5$FQm5zed!@-R!f48Wmngyjqy?biiDqqxa{rZ@{xljAm7$ zG;P+$TllpWex2~A03*7|LGTR{NHg@A{8o$p9$?u)Gb`8%^2!|A-y}4til0=%V-$u-(MmK*NAL0(8>+(MC^BZ1m)Y8a=sF;Qvmf`(YW(TxI diff --git a/libfxengine.a b/libfxengine.a index 259779f0fbaf343ac53c7f13fde65a84d7db218e..0878c63523d114dcccd5b8edda1e5295a2874548 100644 GIT binary patch delta 781 zcmZ9KPiPZC6vn^ZO#UwB&raIZ5Cj*ArE1%xEsFH8^ysCRdhwDr-Grnx4Vd)cp+t=b z#R^SE#DfPx5D!Jf9K0zM!RuBfEyaU^)E;{9AbauRY<9=A9eBLo_r3RKc8A#-vo39% zA=yl3s-<1`CIOmcKjeW{>z!>*w&R1Hywvvm7h&(!o|xhllD#~UWy$!6989rx;A7q# z8hbgb=?a1+k2zST`}hT;sVfDl#~w)A^h(O4Mzc$IDEF8i+fyI;jb?%6U(BYLtgxSnVpZww-pLVKHN*0?BX+#g6{o84W7-=j4c*A2|1tgvqc=T4(NmXu7 za~yW-b;kzW`kfQ{;R*eO&l@~8-1%3>>oe#8@*m!?={9^g-hfZ84#WU2=WQMVJ6zpm z`;nF5n+0Qav0gB8i`5!(wekvbxmJD9hJaJ{|MDfJ zfUw|mKt%935EDEJD1zsX@I1c>*OzwzBKRAB2ZFx?alt>Go`!v}d;kPR;Sd-Q{2NHP zOm6oNAol=O`1kvplJ)+<QqHbv$#A0y$IS3NqpkCX`c1xv&n5yx%iEAP; zD&UxCj0X2#Jg|*i2uM34dp1{Fi z9cmS7X!|OCfUGrh@vP*$Nz2-ZUVVQi zJQtpCkn*v`@IrXGVX2`ntZ1?p&*Ds|nOg;!i3`fHCN3e&)}@%Vu;PdX&r{TaU6qy{ zt(+K8n1mo_Pjc}$XTBv=O=g<7xbSwb5pL!_L&x{COy*ZK*!#P0rBitA4(yCp#WdB{ z=IhqedP?uo&*@1WxK2Hhl{H+Oopl>FtMFeV;=`}^*-VT^UPY_WGrPAG%put;e;)n{ zFuH6<7Bxn~X1;3!zr2B8!TbpTCGmK{_!{1DGpIKCjSc#{0Q7dO={NI_*5{AH7yvVj z1&>X^#Cicto80CEU@@M>(`HPQ&!d2&dru^izL=7gAVeY&CDjwVkV(plLFDA6e7K`0 z1CdO!8%;Y-A$O@?odDQkd;lKQ6u?%3UjjG?eh0u2{2ri`;12*!fE1e_-RAJB=ZN`x6A|p diff --git a/src/render/bitmap.c b/src/render/bitmap.c index f953449..c485d45 100644 --- a/src/render/bitmap.c +++ b/src/render/bitmap.c @@ -6,11 +6,11 @@ inline uint8_t bitmap_get_pixel_r(const bitmap_rich * bmp, uint32_t x, uint32_t if (x >= bmp->size_px_x || y >= bmp->size_px_y) return 0; - const uint32_t indice = y * bmp->size_o_y + x >> 5; + const uint32_t indice = y * bmp->size_o_y + (x >> 5); const uint32_t numero_bit = 31 - x % 32; - return ( bmp->layout[indice] | 1 << numero_bit ) << 1 + ( bmp->color[indice] | 1 << numero_bit ); + return (( bmp->layout[indice] | 1 << numero_bit ) << 1) + ( bmp->color[indice] | 1 << numero_bit ); } diff --git a/src/render/translate.c b/src/render/translate.c index b6b203f..a10e4ac 100644 --- a/src/render/translate.c +++ b/src/render/translate.c @@ -8,7 +8,7 @@ const double pi2 = pi * 2; const double pi_sur_2 = pi / 2; -static double reducted_cos(const double a) +inline double reducted_cos(const double a) { double u= 1.0; const double a2 = a * a; @@ -27,19 +27,14 @@ double modulo_2pi(double a) return a; } -static double cos_recursive(double angle) -{ - if (angle<0) - return cos_recursive(-angle); - if (angle>=pi_sur_2) - return -reducted_cos(angle - pi); - return reducted_cos(angle); // OK -} - double cos(double angle) { angle = modulo_2pi(angle); - return cos_recursive(angle); + if (angle<0) + angle=-angle; + if (angle>=pi_sur_2) + return -reducted_cos(angle - pi); + return reducted_cos(angle); } double sin(double angle) @@ -120,4 +115,4 @@ void render_set(const double dh, const double dv, const double roulis, const FE_ // assigner delta memcpy(&delta, camera, sizeof(FE_integer_position)); -} \ No newline at end of file +}