From 84c17810af0f26237769fdd6ed16e3351355e05d Mon Sep 17 00:00:00 2001 From: Ladebeze66 Date: Mon, 22 Jan 2024 16:33:54 +0100 Subject: [PATCH] 220124 --- versionmod/cub3d | Bin 118392 -> 118392 bytes versionmod/draw/ft_2d_view.c | 11 ++++---- versionmod/draw/ft_2d_view.o | Bin 4016 -> 4304 bytes versionmod/draw/ft_3d_view.c | 2 +- versionmod/move/ft_collision.c | 16 +++++------ versionmod/move/ft_collision.o | Bin 3704 -> 2416 bytes versionmod/move/ft_key.c | 38 +++++++++++--------------- versionmod/move/ft_key.o | Bin 4064 -> 3520 bytes versionmod/move/ft_move.c | 6 +++- versionmod/window/ft_player.c | 27 +++++------------- versionmod/window/ft_player.o | Bin 3512 -> 2928 bytes versionmod/window/ft_refresh_window.c | 12 ++++---- versionmod/window/ft_refresh_window.o | Bin 3720 -> 3816 bytes 13 files changed, 49 insertions(+), 63 deletions(-) diff --git a/versionmod/cub3d b/versionmod/cub3d index bf6cef09e27819ea5e29de717e71abce9f1ce9b9..032f1cbdc690985d11930f3837ca5d8933e53dde 100755 GIT binary patch literal 118392 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 literal 118392 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 +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/01/12 17:49:42 by fgras-ca #+# #+# */ -/* Updated: 2024/01/21 21:17:37 by fgras-ca ### ########.fr */ +/* Updated: 2024/01/22 16:15:17 by fgras-ca ### ########.fr */ /* */ /* ************************************************************************** */ @@ -31,7 +31,7 @@ void init_base_params(t_base_params *params, t_structure_main *w) params->FOV = FOVIEW * (PI / 180); params->DR = params->FOV / params->numrays; params->ra = w->s_player.pa - (params->FOV / 2); - //printf("initbaseparams: %d , %f\n", params->tilesize, params->ra); + printf("init_base_params: Player Position: x = %f, y = %f, Angle = %f\n", w->s_player.px, w->s_player.py, w->s_player.pa); draw_background(w); } @@ -61,6 +61,7 @@ void calculate_ray(t_base_params *base, t_ray_state *state, rayparams->r = calc->r; rayparams->numRays = base->numrays; rayparams->color = calc->color; + printf("calculate_ray: Ray #%d, Distance = %f, rx = %f, ry = %f, Wall Direction = %d\n", calc->r, rayparams->disT, rayparams->rx, rayparams->ry, rayparams->wallDir); } void drawrays2d(t_structure_main *w) { @@ -73,7 +74,7 @@ void drawrays2d(t_structure_main *w) { params.base_params.ra = fmod(params.base_params.ra + 2 * PI, 2 * PI); // Ajout de logs pour les paramètres du rayon - printf("drawrays2d BEFORE: Ray #%d, Angle (ra) = %f\n", params.ray_calc.r, params.base_params.ra); + //printf("drawrays2d BEFORE: Ray #%d, Angle (ra) = %f\n", params.ray_calc.r, params.base_params.ra); params.hrayparams = (t_ray_calc_params){w, params.base_params.ra, ¶ms.ray_state.disH, ¶ms.ray_state.hx, @@ -85,14 +86,14 @@ void drawrays2d(t_structure_main *w) { calculateverticalray(¶ms.vrayparams); calculate_ray(¶ms.base_params, ¶ms.ray_state, ¶ms.ray_calc, ¶ms.rayparams); - printf("drawrays2d AFTER : Ray #%d, ra: %f\n", params.ray_calc.r, params.base_params.ra); + printf("drawrays2d AFTER : Ray #%d, ra: %f\n", params.ray_calc.r, params.base_params.ra); //Plus de logs après les calculs des rayons //printf("drawrays2d: Ray #%d, Player Position: x = %f, y = %f, Angle (ra) = %f\n", // params.ray_calc.r, w->s_player.px, w->s_player.py, params.base_params.ra); //printf("Horizontal Ray: Distance = %f, x = %f, y = %f\n", params.ray_state.disH, params.ray_state.hx, params.ray_state.hy); //printf("Vertical Ray: Distance = %f, x = %f, y = %f\n", params.ray_state.disV, params.ray_state.vx, params.ray_state.vy); - + //printf("Drawray start\n"); drawray(¶ms.rayparams); params.base_params.ra += params.base_params.DR; } diff --git a/versionmod/draw/ft_2d_view.o b/versionmod/draw/ft_2d_view.o index 11d36d29a6a355b6bc306a52226ee7d37ed31aad..10811246d817a06e0088b5da1438810353d54bb6 100644 GIT binary patch delta 1232 zcmZuw-Afcv6u&d8J3H&nj+L|;k|QY$DwsV~NG;okFiFJHmn4;q`%#Mr=y}g zg=-u)iBaWhF+nK(&+a=g&e6^AMdmP*!TQ;3u#yI}4V2mX=tQa6gl>Z6m|g1d8f)gV z0hhheEv(cR)yg<-s#u?TVvNpCNGuUcb#$u9NJo#VsV9=nQZTNjBbpTKPR3HP z?nJZHD{Yo)qYYBpj9U^%;}QMYO-M+Mhfc-SRHQ>w)6LRuH7%{F4L3;JW66}7Xbc&` z21&DAG|Q$w#HS~v;&#tn95Ukgx&>X z8!pOs(HD-;-7$9R)j`)aXO9+3q@wW7)d)WR0F#H4yssj!iwV)pNN1uBc^KpynFlb% z`>IFH+;y|1rTJMfFbE60FLTSx7NHt%f>_x*RF0rLT^8SF4r;k=q9R1tUa;}TKW6B8viI+#BW8g$&=oAA z7_%AKPxi{jdr@bdxW)-vOZKm_-gF=JKu}w{x*Tw~h-giIJk_V*8`In YBp0|vKYN3RR?*K-)0;x1V3|<$2OZ!_UjP6A delta 868 zcmZuv&ubGw6rP!6C%fDI5fzLTrCX%1Ew#T65u}D%i8L46#!w{okd-w3B}LYNEvW55 zJX_yEJ$UgHJXLxTJoy(GJXu9i4}!&0rQku)_cpt65kGkIX1?!x?=d^u?B43S=ZYa? zvu~e|g2R`$zw$DNMxxAXkVsyD9c5svhgJJvE)dFZt@?6NboJ>AT{bDa9ir zr80I5safI?MUG3PCkmVlq~9bFu`h6G>)!6y+_P{NoWX6li^ zD8Z&a$Y{Mi+GIF5iRTo?&)+Rfhl7cyi1^PjUdH$g4M4PKwT{gFKflhhp+L=b zjA+2}KLruL8uNF={4b~hf|7v|`I|A`jPXpt1HC5c__pnW-az^F}(G8Rc^kFC(0$v**%*SChNem9yhoEU5(JNYTW`NLkUkYUFv{cOhYN?OXtLv3QOsn N_M9$)sKc<;^#=_6%-{e3 diff --git a/versionmod/draw/ft_3d_view.c b/versionmod/draw/ft_3d_view.c index 920531f..b916034 100644 --- a/versionmod/draw/ft_3d_view.c +++ b/versionmod/draw/ft_3d_view.c @@ -6,7 +6,7 @@ /* By: fgras-ca +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/01/12 17:35:53 by fgras-ca #+# #+# */ -/* Updated: 2024/01/21 19:55:50 by fgras-ca ### ########.fr */ +/* Updated: 2024/01/22 15:44:42 by fgras-ca ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/versionmod/move/ft_collision.c b/versionmod/move/ft_collision.c index 2f5b713..83bd566 100644 --- a/versionmod/move/ft_collision.c +++ b/versionmod/move/ft_collision.c @@ -6,7 +6,7 @@ /* By: fgras-ca +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/01/11 14:09:52 by fgras-ca #+# #+# */ -/* Updated: 2024/01/21 21:40:56 by fgras-ca ### ########.fr */ +/* Updated: 2024/01/22 13:25:35 by fgras-ca ### ########.fr */ /* */ /* ************************************************************************** */ @@ -16,17 +16,17 @@ void calculate_future_position(t_position_params *params) { *(params->future_px) = params->px + params->pdx + params->collisionBuffer; *(params->future_py) = params->py + params->pdy + params->collisionBuffer; - printf("calculate_future_position: Current px = %d, pdx = %d, collisionBuffer = %d\n", params->px, params->pdx, params->collisionBuffer); - printf("calculate_future_position: Current py = %d, pdy = %d, collisionBuffer = %d\n", params->py, params->pdy, params->collisionBuffer); - printf("calculate_future_position: Calculated Future Position: x = %d, y = %d\n", *(params->future_px), *(params->future_py)); + //printf("calculate_future_position: Current px = %d, pdx = %d, collisionBuffer = %d\n", params->px, params->pdx, params->collisionBuffer); + //printf("calculate_future_position: Current py = %d, pdy = %d, collisionBuffer = %d\n", params->py, params->pdy, params->collisionBuffer); + //printf("calculate_future_position: Calculated Future Position: x = %d, y = %d\n", *(params->future_px), *(params->future_py)); } int check_collision(t_structure_main *w, int future_px, int future_py) { int future_ipx = future_px / w->s_map.mapS; int future_ipy = future_py / w->s_map.mapS; - printf("check_collision: Checking Collision at Future Map Index: x = %d, y = %d\n", future_ipx, future_ipy); - printf("check_collision: Collision Status: %s\n", w->s_map.map[future_ipy * w->s_map.mapX + future_ipx] == '0' ? "No Collision" : "Collision Detected"); + //printf("check_collision: Checking Collision at Future Map Index: x = %d, y = %d\n", future_ipx, future_ipy); + //printf("check_collision: Collision Status: %s\n", w->s_map.map[future_ipy * w->s_map.mapX + future_ipx] == '0' ? "No Collision" : "Collision Detected"); return (w->s_map.map[future_ipy * w->s_map.mapX + future_ipx] == '0'); } @@ -48,6 +48,6 @@ void calculate_future_position_right_left(t_position_params *params) { *(params->future_px) = collision_px; *(params->future_py) = collision_py; - printf("calculate_future_position_right_left: Current px = %d, py = %d, direction = %c\n", params->px, params->py, params->direction); - printf("calculate_future_position_right_left: Calculated Future Position: x = %d, y = %d\n", collision_px, collision_py); + //printf("calculate_future_position_right_left: Current px = %d, py = %d, direction = %c\n", params->px, params->py, params->direction); + //printf("calculate_future_position_right_left: Calculated Future Position: x = %d, y = %d\n", collision_px, collision_py); } diff --git a/versionmod/move/ft_collision.o b/versionmod/move/ft_collision.o index 72108ee2518bcdca9b871bf25e8ab9194ccda8c0..6f3da8c4e386b51fc9a911f0ebf4fd7b55367ab5 100644 GIT binary patch delta 587 zcmew%^Fe5W2Ga-DiCXd#eZ9CR#2)_4FZV0dqx0!xRYrr!g^XI0-!ZZ=#%}(~=*-AI z!J|9&$H~K!H?npIg)snuE1y6clQS^V3z~o(k@cW(5^L0Hi?xYz&Z&pDf5O&X_#8 zklk_ePIkNcFJM^)1|}fQ48(u_LjVuRS|C6d*Mf?(0Oi<$7^dC`O+82+1fr1C1APux zp9B#%gIfU8FcC=uvIQrR#5pGGav3v*O-|$zXF9+zxr*x^6DQN;C~h;Z0;n-S(OKMP zOrA`W8M(zKZ(w7Y{DxZvnXAL2!Wsbb956hDCui_za3+9wK%g^uA)D~zH9RUzJxIEN z+zCvRg?R0lHZV;N0#XL7lPB@oaTY&RXdi9a53^MFT$k-B+bG)t6((7lytHv?5?}6v zR&*8ybMZ0g5Bp&Q{{cbJAEfLj?HFn+{!qjpsvz`-2*C+z6c)8u&$(Zc=QV+-2kyJ~ zeD3F*d(OFEk~d>#PK84uq9jC~BTY@Agw*#o#}*%2WFP4xzZj4I9=FTi+1GxE*yT6s zwjZneQvS=InZsku23u~bKseSViT-z>xb{G39 zS8zo|?H68Yd#deQJwEpc;rOIAae4iIATbJwRm)zb9Nz->RsVwz!-V*;%AJRQmN6@U z?h0t@&cmH@Y}=1-Lr|?DT7?L`4STZIoVe9f4? z#~BX}02D*K5BH#EToO21`qQ}m)r@WASNRS#SuX)=Xah-j7QW$U0r<2NJ{$~bfE$NL z1Dsfc&1Dert!T#halK|7S*sa*wbjsOIkqL)J^#|KBJ7AC-x9I%(-W@<1xsXnw8qz+ z!W>}vHiy)YSNzyk>l3kT`!Cnm?_(VaNhNbBFPCIaBI7a7brQuwDa*2j{5YNTT-V7n zT3n#d(!=Q?T1=}^s*uZNOTaqeWipP-=f#EX#NT4WpBnu)e=77eJ;h_EQ;pbFpke_C zEj8z)t|S`kKz0aZ^RskP*uKd1@MPca@CGo%+yvqv-{Pk+ z{}rD<1kfeKL2ls>jhc^L>*~55;v7EN=7T1?$j>{irn_4Ha$!#V@%ozy=KffK&vOCn z2sE72WfTD9D<01cu;(Sdf`NhXoS@G@Yvt#aHaN+!=4~)j?avJcfRM_J3_8<6l*NbhQi;GxZ%9p#P5pc+k%Qd697%hp)?go|L$r@0iB_Lh_Hd;ZyL5g8pR)T(|hQiL3i^ zS;N(RA!ccDo+W3XXRhey)W~&mNs~DXjF{;pOA>RYR3fHZ5K5{rKMy~L#LO3%W5OFY zTw=-86{*kWJ+tT*ijK<`!3I4!bBTwx6z>kk2rK6QGh_V^y6&*0vJN|vR= zW7>p@A2}$`KtuZxR06UlpK6RRC@Ox{pMXg<4)T8e=Tpz8b?$jUvD8|aq%Q3#w`zX$ z`0*V_pSpci9*Cu;DIe+fcnVwX|1tOvf?|t~;Qr&iR`zQDTdj>Ix8?djp#stiO}$B| jD|_^*?>)}nkmnD7BZ8vWZ$C`7vR{(%v!F4Ib^E^nj;ZpJ diff --git a/versionmod/move/ft_key.c b/versionmod/move/ft_key.c index 8d90853..f3cc292 100644 --- a/versionmod/move/ft_key.c +++ b/versionmod/move/ft_key.c @@ -6,7 +6,7 @@ /* By: fgras-ca +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/01/11 14:17:56 by fgras-ca #+# #+# */ -/* Updated: 2024/01/21 21:12:41 by fgras-ca ### ########.fr */ +/* Updated: 2024/01/22 16:24:44 by fgras-ca ### ########.fr */ /* */ /* ************************************************************************** */ @@ -35,32 +35,26 @@ int *kill_prog(t_structure_main *w) return (0); } -void adjust_player_angle(t_structure_main *w, int key) -{ - double angle_adjustment; - printf("adjust_player_angle: Key pressed: %d\n", key); - printf("adjust_player_angle: Before adjustment - pa: %f\n", w->s_player.pa); +void adjust_player_angle(t_structure_main *w, int key) { + const double rotation_speed = 0.174533; // Environ 10 degrés en radians - if (key != 65361 && key != 65363) - return; - angle_adjustment = 16 * ((PI / 3) / NUMRAY); - if (key == 65361) - { - w->s_player.pa -= angle_adjustment; - if (w->s_player.pa < 0) - w->s_player.pa += 2 * PI; + if (key == 65363) { // Touche droite + w->s_player.pa += rotation_speed; + } else if (key == 65361) { // Touche gauche + w->s_player.pa -= rotation_speed; } - else - { - w->s_player.pa += angle_adjustment; - if (w->s_player.pa > 2 * PI) - w->s_player.pa -= 2 * PI; + + // Normalisation de l'angle + if (w->s_player.pa < 0) { + w->s_player.pa += 2 * M_PI; + } else if (w->s_player.pa >= 2 * M_PI) { + w->s_player.pa -= 2 * M_PI; } - w->s_player.pdx = cos(w->s_player.pa) * 5; - w->s_player.pdy = sin(w->s_player.pa) * 5; + printf("adjust_player_angle: After adjustment - pa: %f\n", w->s_player.pa); } + void handle_movement_keys(t_structure_main *w, int key) { if (key == 119 || key == 100 || key == 115 || key == 97) @@ -81,7 +75,7 @@ int deal_key(int key, t_structure_main *w) { adjust_player_angle(w, key); } - else + else if (key == 119 || key == 100 || key == 115 || key == 97) { handle_movement_keys(w, key); } diff --git a/versionmod/move/ft_key.o b/versionmod/move/ft_key.o index e2b6f647e40329901fc02cf5ac35093e36666447..c8228c8fd39090ed3daaae57ade53b47bc2a964e 100644 GIT binary patch delta 741 zcmaDLe?WSI29pEVMy&`&u}}O0tPDW#iC@t5M`P`i;QtH^rRtM2nN+!7>jC+JAinD4 zpNtkvWk!?DnG6}-CigK(FcwW-&SW!r6{GUxYs~zUr!u!O`c0N$QIXJWuKiP9A_OE; zN_c=|aS0ocOe~%3z+y1@97`5|SwQD&iST3g61pxSzZE4X`?F3Ia9{+wz?Dy+jmepp zjoF-W@&{G}{`DYd!33F>ZPsVwWMpz+oNUFeBr3$f$dJzjQoz6v0HGM#CvRjE7wiG@ zK(hOxvg;?GWUt)p#UaL6?*_632tYE-K%4^N0KqLZ@f?US0|(Ryn0lDF5)ScbH1R+G zAs_=HuEoFtG?*KRVG_%s8bIP)Na8yt2Xcvf-a<1@2dDxBo+If(Hti3RILJhpEsB#j za)}%HfP4%DAQ>JYhRH@i#X*`uOb;LifmG(nMciRhut2VXh=Rioq;x;iGc^8n%;GF!6&yEw4Rv8#FCOh(*b5^iH?3p^b5y(5i M3E`DYcI1@@06Z$C6aWAK delta 1265 zcmah{Ur19?7(e&i-OanZc{j7B2DyRa2&+Y*_6IX-FpEGbsHBH1H%MtNHzjL1eMmC< z{}pN=BnI^mQrJV#%ZxA|B6^4jgOJ$6tfZJPk%67>{;A7E`rw}LoZt8R{l0U~J;}AR z#W%e4xb4aMBb;l%pX#3qTonk5K>w>}nA3#7S-Q2n_d=>+iIA9`O%Ae&d~u8;BqKW% zc1Cvke`=JD2uyQTX1Q;K$$`?%Tq_K5r7+J~@_K$yLKfu4WJunm2s_~b-I@5vpbw#d z+>Jvx$$Bc*b~PWJ%rHe@z@J`_ojqyhpw1nNTS)$%V)9v(35@eDPi-*N)*f^> zHMev`W2b}Rn0tde(!>ZMD>|_|8RuJEQ}gE+=H6W1^=0GULyMlm8l^(=q0DsCQN;F0 z{JD-ky2ozjofM``zPv$X=pemjv*f^T>pJjBCMXwDqM~7pRu~mr;4_=xzL3v#;;Qf* z!}AD7>Ui`Zq+U(rI#!*x*$S(}T6GZ4n7b?|+oB|TDm*b~c5#V)cn>UaUsq{d+l zH!(~y;PEVe39DiBufTth#eb>NiHr>iN&Id6S}UAT3(N5M3iyPE<3?@l(+}`Gi~mmZ z&lvc2vg4oN*9w9y+T~#xr^hs-8fXw*b-h{@+v6k9+ut(avH^dZ<#t7Ln?$$7dxHuc zb+<(WZtRkaBo>%**{Ac1G+f{FLnN^%Gw_Xn)vZ(sw29k_^rsY8G37^~&oB=!#7}mg zW}#Gpv#o-pwZIz5QP~ANe7085hzXp+8uo&{`ZOYW#fT=Ig;A-J)(bErRnxejQf*$^ tBS53An%)!OE=!jrn6XuhRc6(B2t4*m@vTK&jX)DyrSS|bV&IXA{{UYUF~$G@ diff --git a/versionmod/move/ft_move.c b/versionmod/move/ft_move.c index 3b9351f..2ee1267 100644 --- a/versionmod/move/ft_move.c +++ b/versionmod/move/ft_move.c @@ -6,7 +6,7 @@ /* By: fgras-ca +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/01/11 14:08:25 by fgras-ca #+# #+# */ -/* Updated: 2024/01/21 21:09:26 by fgras-ca ### ########.fr */ +/* Updated: 2024/01/22 16:10:32 by fgras-ca ### ########.fr */ /* */ /* ************************************************************************** */ @@ -35,6 +35,7 @@ void move_forward(t_structure_main *w, int key) w->s_player.px += w->s_player.pdx; w->s_player.py += w->s_player.pdy; } + //printf("move %d, pa %f\n", key, w->s_player.pa); printf("move_forward: After move - px: %f, py: %f\n", w->s_player.px, w->s_player.py); } @@ -61,6 +62,7 @@ void move_backward(t_structure_main *w, int key) w->s_player.px -= w->s_player.pdx; w->s_player.py -= w->s_player.pdy; } + //printf("move %d, pa %f\n", key, w->s_player.pa); printf("Move Backward: Player position after moving backward: x = %f, y = %f\n", w->s_player.px, w->s_player.py); } @@ -87,6 +89,7 @@ void move_right(t_structure_main *w, int key) w->s_player.px = future_px; w->s_player.py = future_py; } + //printf("move %d, pa %f\n", key, w->s_player.pa); printf("Move Backward: Player position after moving backward: x = %f, y = %f\n", w->s_player.px, w->s_player.py); } @@ -113,6 +116,7 @@ void move_left(t_structure_main *w, int key) w->s_player.px = future_px; w->s_player.py = future_py; } + //printf("move %d, pa %f\n", key, w->s_player.pa); printf("Move Backward: Player position after moving backward: x = %f, y = %f\n", w->s_player.px, w->s_player.py); } diff --git a/versionmod/window/ft_player.c b/versionmod/window/ft_player.c index f494d2d..39ea7f0 100644 --- a/versionmod/window/ft_player.c +++ b/versionmod/window/ft_player.c @@ -6,7 +6,7 @@ /* By: fgras-ca +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/01/14 20:09:23 by fgras-ca #+# #+# */ -/* Updated: 2024/01/21 14:33:45 by fgras-ca ### ########.fr */ +/* Updated: 2024/01/22 14:16:09 by fgras-ca ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,48 +14,35 @@ void init_player(t_structure_main *w) { - // Ajouter des logs pour vérifier les valeurs - printf("Initialisation du joueur:\n"); - printf("Position X: %f\n", w->s_map.player_x); - printf("Position Y: %f\n", w->s_map.player_y); - + //printf("Initialisation du joueur:\n"); w->s_player.px = w->s_map.player_x; w->s_player.py = w->s_map.player_y; if (w->s_map.player_direction == 'N') { w->s_player.pa = M_PI; - w->s_player.pdx = 0; - w->s_player.pdy = -5; } else if (w->s_map.player_direction == 'S') { w->s_player.pa = 0; - w->s_player.pdx = 0; - w->s_player.pdy = 5; } else if (w->s_map.player_direction == 'E') { w->s_player.pa = M_PI / 2; - w->s_player.pdx = 5; - w->s_player.pdy = 0; } else if (w->s_map.player_direction == 'W') { w->s_player.pa = 3 * M_PI / 2; - w->s_player.pdx = -5; - w->s_player.pdy = 0; } - // Ajouter des logs pour vérifier les valeurs après l'initialisation + w->s_player.pdx = cos(w->s_player.pa) * 5; + w->s_player.pdy = sin(w->s_player.pa) * 5; + printf("Angle de direction: %f radians\n", w->s_player.pa); - printf("Vecteur de déplacement X: %f\n", w->s_player.pdx); - printf("Vecteur de déplacement Y: %f\n", w->s_player.pdy); + //printf("Vecteur de déplacement X: %f\n", w->s_player.pdx); + //printf("Vecteur de déplacement Y: %f\n", w->s_player.pdy); } - - - void init_mlx_and_window(t_structure_main *w) { w->s_win.mlx = mlx_init(); diff --git a/versionmod/window/ft_player.o b/versionmod/window/ft_player.o index 095eb3c11f830ecf6fe5937d754d8f93ecfe391d..f78a392a1f30547db5206c58844e049fbd3948d2 100644 GIT binary patch delta 997 zcmZ`&&ubGw6rP>kB<_zmNePLuDuy1qh!nw^7O63!!992oduZCLP*bQ?XcvnIn;!fD zUaU_P3jPU#B1rKRMHKa*k8B?^SXA*GG1-``smORj#&H>|a3sDjar)dmo1dA3Fdi&TbQ%~QCo|D& z3g7MFXBB?h!=G39o5~huy0Oha9s8m9NPj`$z4W4tEir0{qel(HorUg(qK30Qd{lo? z@uZW`bna-pt?>^v9S7%k2fxr3=p=TalfBV|T*T4fcN*_${LdbpgCv6XTdSvUN$OPb zl(y5^piy$rqX9!2Pa8UhPF7Sry|KQbvc`LG+1}5W4R~ySI_!hBHv;{(=8dpkah=Q)Z4~KO*rM1c-4fPn1Tc}y^?*O dwug2S^2rff-an!YZi4t|U)aF(^wdeq~(q{Vb-y`O3=tND^Nc^Yo>;3Qv!pjGj%FGI80P>9)CBg2Lri;BQprHO>vje!Yt4ggIyz1h?<}Y3*3&$C$29yDL_@w8dd`$r zazd}*8@b3hTZr5!=%wL8iI*4~?KRr-Ej9nO#78kiFZdHvu94$EFL1NqW7PS$Ep?Lm9N;x=1n*1W@-H%k$YuH;XXSQ{^#_t2SHc^ogFHqzr06 z^xc`U8PCrZW|+Q~9%p2K)PajmJmEBR`Cct}gSa+1b$*#ctQR zBS*~6qfZDp&a{i~8NP6wgC|Fbd!_=cnJ?G_$v~;MPf@CzNgdq3_nt*Q*+&@11uL?M z1`cE{H1)UcX`X0eO1ySFUM2bgqg-$L2Fnc%O|y&syj_pbT=xr#TH|KiCP8oAr|{z% z8GD#7Jg;tt8K{T1Gmbb?A3qCYIH!92z6SVE1AMpvKGFcEd^pBkH|qvwme4lBqhb`6 zs2F&Dm``x@mE-3`yO3-%Dup>W2q-@jc%e&f*$d;fT4!-)qWj}Jp&#O2_~&+F2L+BE z!LCc(61e0)DEybj2>u?vBtHcx)wK!jhI5!pkeuckJd~mR=)^kX~G5ub| zX%{&5Q?2J|1y}1agbwjV2{B@6xO~saEX_`b&Nz=@kc^XZ7PwQ68M@_=%$yTCWR90g zWCn%A$rh&Zi$JDd2wjuEsU4-z$-XK42|qH6L80gd;Vf$q$(KU_3Wf@RQDC-9YhVMEkop2N@V^i2rpK3Ck9Q$}t&Q;zgLa$<&>)ca} z?d40a|1+UCcuh6E{**_^{_qa^e*um4ahL!A diff --git a/versionmod/window/ft_refresh_window.c b/versionmod/window/ft_refresh_window.c index f1dc538..4ff268f 100644 --- a/versionmod/window/ft_refresh_window.c +++ b/versionmod/window/ft_refresh_window.c @@ -6,7 +6,7 @@ /* By: fgras-ca +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/01/15 19:50:24 by fgras-ca #+# #+# */ -/* Updated: 2024/01/21 21:10:56 by fgras-ca ### ########.fr */ +/* Updated: 2024/01/22 15:41:55 by fgras-ca ### ########.fr */ /* */ /* ************************************************************************** */ @@ -29,23 +29,23 @@ void rescale_sprite(t_structure_main *w, t_state *state) { void refresh_window(t_structure_main *w, t_state *state) { - printf("refresh_window: Destroying old image\n"); + //printf("refresh_window: Destroying old image\n"); mlx_destroy_image(w->s_win.mlx, w->s_img.buffer); //printf("refresh_window: Creating new image\n"); w->s_img.buffer = mlx_new_image(w->s_win.mlx, w->s_win.width, w->s_win.height); - //printf("refresh_window: Getting data address\n"); + printf("refresh_window: Getting data address\n"); w->s_img.addr = mlx_get_data_addr(w->s_img.buffer, &(w->s_img.bpp), &(w->s_img.line_len), &(w->s_img.endian)); - //printf("refresh_window: Drawing map\n"); + printf("refresh_window: Drawing map\n"); draw_map(w); - //printf("refresh_window: Drawing rays 2D\n"); + printf("refresh_window: Drawing rays 2D\n"); drawrays2d(w); //printf("refresh_window: Putting image to window\n"); mlx_put_image_to_window(w->s_win.mlx, w->s_win.win, w->s_img.buffer, 0, 0); //printf("refresh_window: Rescaling sprite\n"); rescale_sprite(w, state); - printf("refresh_window: Window refreshed\n"); + //printf("refresh_window: Window refreshed\n"); } void handle_mouse_movement(t_structure_main *w) diff --git a/versionmod/window/ft_refresh_window.o b/versionmod/window/ft_refresh_window.o index 2671d5636fecfb7ef6a0faa2c198daf5b2f2d34a..07c38bbdb045abab9027055a60bb9f1101bbeda8 100644 GIT binary patch delta 720 zcmZWlO=uHQ5Pq|}-Q8?9OVU!p7HVG(VifulDXsL-rKFl3OQF=8tZZy@Fl{#*8V@Dy zMO08r=g<}pQoKk#)!r+3@v3+#f|!%_q<9YKyd=d({a|L^o9}zy?Chh#v%&2wl#Z?r z0WLw_dD_DWbB{lqiHiF$u6J7a5&Hif7mjnvOK7mLcrPqgOLx}Gm0)FkiWiDeRIV)Z zz>j?H2LX}Q|3tH)Px@tk-(M9&1TOlVOG5uam0zD_tdP%7@$BN=S|zISTyA81WNbKx zqne8at=N|Y^0?_FA1e8Tt{Pw)=J7ktg;<*)ZUK*a(h#(Bh$+3Hs0!}rw+2oXF`lt& zox*-n?Pb7J6@Tk>Trs$|T8paq%y8_&gTf-q7kGU7tm z?e;Y~TNJH79lVnIw$wko;6qEd@mA8yJ|~?%em7I@4@u)lo-Itp((ZJ3NAV>|iG71> zw9iR9f5rn+wj`w?DKFzEVk=@jg7E33INxXk!CG?F?%Pdb1jJRuDXv**h5qLg>nps# za(vR7H-&()tb&K}3HXA|xJNl-d$Dib86_;+lgJY$zP4{bgiYInI%X0c?4eJ&jt7+I Qu}OIjGmZzp(08u<1=9<@RsaA1 delta 578 zcmZ8dQA-q27`@*(?#$d~#$|5D_sQJrYA5$? zvtW$A{&t}zMrauCsjq1xTf=V}$4_e6f2{4&Xfb+Gj7rm!i}|@+VR0xJj!N^z!g79Y zDk#k4g8c0BsYo^4%uUquLHr!$FrxQhNzb(saXRZJ*R&^2LaW(^DfX{)pRBsU-Z;*h zJ({R%9+||7RwaB%JiT+MsYOC`Uk`D`GbKn=HQY6p^p^|sC2SiV_-s^2V$bv_g)-{{ zY@6*!TS=UnY5$$t&(N7R^UvRFe84Nq^S?K^Zi9P*kL;eut~#WNd5@`ZsrL8}