From 245c6a44e4069f18d1f931566ae0655d608af05b Mon Sep 17 00:00:00 2001 From: Alexandre Date: Thu, 15 May 2025 14:23:06 +0200 Subject: [PATCH] fixed rendering bug where players would be placed in the wrong chunk --- bin/back | Bin 138536 -> 138440 bytes levels/test.txt | 13 +++++++------ obj/cars.o | Bin 38616 -> 38616 bytes obj/collisions.o | Bin 23520 -> 23072 bytes obj/display.o | Bin 86912 -> 86808 bytes obj/main.o | Bin 55648 -> 55648 bytes obj/structure.o | Bin 34464 -> 34464 bytes src/cars.c | 4 ++-- src/collisions.c | 8 ++++---- src/display.c | 8 ++++---- src/main.c | 4 ++-- src/structure.c | 4 ++-- 12 files changed, 21 insertions(+), 20 deletions(-) diff --git a/bin/back b/bin/back index 261582fcfde2e6edafb7ccbf47622b446e95a39d..bd7c58b224e4e295d9fc057babc4a1019f5940be 100755 GIT binary patch delta 18200 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 diff --git a/levels/test.txt b/levels/test.txt index c7dea7e..bf0588d 100644 --- a/levels/test.txt +++ b/levels/test.txt @@ -1,9 +1,10 @@ -5 6 -S..... -031E.. -024... -215... -...... +5 5 +..S.. +..214 +...35 +.E15. +..... + $ . = NULL diff --git a/obj/cars.o b/obj/cars.o index a5fb509047653ae2479647b51130c02e43551086..de11045d3ff8907671cec682ce8aab7b6fe75fa1 100644 GIT binary patch delta 26 hcmcbymg&Y?rVTmX+>s2yA&x;I@y;F*o6Efuy#bC)3CjQg delta 26 hcmcbymg&Y?rVTmX+z|}HA&x;I@y;HRo6Efuy#bCw3CjQg diff --git a/obj/collisions.o b/obj/collisions.o index 04c0f7809dc0510830a9e7db8ff4df9ff9cc2d70..e503cd81ad0c788f44efe1a5fa0e976a47108fc8 100644 GIT binary patch delta 1697 zcmZ{ke@t6d6vyAa?dw)q+t-!)D8Jbp)EO&0CScc1zk4cmCpVPEtu4)aQ5Wqpo*HC{#MftgA$lU|8`P_nc1< zatoJ*1^U#A%N_BrxRe7E=wu0P#g*his!zc+rPRv5ue($k7y1koxYtn;N32BkfId$K zdHxIfyz5-c-^R!8s}}46g5DD_d?#$b89?WKaWT(mhPH;3fPgj}7J zYZLPSP;E-ynUL$!jFzCVH6;5Ja&7W4)X=N`+*EX*wGnkHXK9necHl$H1?zeFoNZu} zWsw@4&%H(2VZN?8OUD)H&;qpE4QI4h>4L}jQTucY`3$BTRp0ln%%NB*ACABN$=E#> zB~G{!QAr_0(eD5^`Zi7yoV?D6?>%L`LZMLM28*`N3(;aB`mMm70$&!m1^Gc7%pUUH z^MFKE;)h%4tD!5Z`a53Seo-Yg z-0y)3T*sO3@7;Ca3jO}C03|N2z((V z*af~IaF4*31TJpylfcFLzY5$g<*lF00%WgB9MFYch2AFBSHbo{V=aoUJkK?aT+_ON zCdD;xaLwTjH2qxjKG(nonlY}q&NMYM8)$wPcnS8J{a4#zM6c=!ng`y+j)KPiG#j6o zyn#WqEWcv%PzL|U7fl|?;SQ*1R`)lVJ+$ORhfUs=!_y{@9t2-71a z(1+7UWst_{j~J{a!uC0K+0Z5+nyjb(cIZnsk}61}e+JgjKMTPW^Z4+>Q0i%1rBh-0 cWe2Pw4nVN85pQ!}XV`x6 delta 2076 zcmbuAQEXFH7{~89?P*tKy=`f|%x>KPot2Dk?Z`H2)3t*RZJe9i%32^xny5s>68EBJ zCTxH%My3!yUlvg?8Uha{)T?1B54sVP1r`Gmj2eyTgV87i`=k}4-#PbIjt%8OPjbK0 z^ZWkif4*~a@9D7*$d%LNaFDiaFKoD0@0_$K%E8pi1F0kG3waB)I^U&dsJ`O7m-H-` zR99*NgHOTsgc|&!q>g_jAPz2+)LobO;1q@?uE6ZslA2wDPn`{exy6#|P6RPGZ~_A} z1iAm?32(aXka9IdaP^BNHHQ@#_0^lJ<>fFo?{WI5b3(R<*uH!XeOTcySI#SkG`*a&ESYX+I51q5XHGd<;<6YGl z;K$q6xYt61u@Rj8RF>rplO{BID8_z!{s`U@MzkqLql61Oe>6Uuiz#+@4 z)>qh^?SS2K)S~YUO;En8a~-pE!VSaW5N-Fs{_r@R_v+t=-&z$uql#ltD0bXvk1nx-zF*?}9jKhf zh{<_XEfU{taF4(5|@2uB<@hw-`v4RQi5OOm7VasL-pu=KhJawlD?DlP zNELtI3+Eo`=U16$FoYMI-ZvPqMkdS;(8Z@?tL(Ae{J1)*I9`FTjf4m(!{TUX!Oi$;C?vWKBeu=4Y8Cg@0re^y0#4i+=r^i&GUnK)hWL3DeZzSIv>*mVb>h~17B zC}X!U4AHT;!v>rLvgH^1fh(v4Wijz5`rla`I;B9_v5&njnkP?h~|1p VJ4|7WKrt70WHW}-Cy>lE{|(rI7pMRL diff --git a/obj/display.o b/obj/display.o index d5ccc1cc5bb547e41a477c63357a2441231fe9cf..6f740c6c90335e085a566e7e5746964e598ac83c 100644 GIT binary patch delta 19539 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 B%Hse4 delta 19515 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 diff --git a/obj/main.o b/obj/main.o index 54aec2cbd8a4b9616c0812081bb08d379d1a3e9e..eeeb2e985751ba55eaa2896d39e8d2235024dbf9 100644 GIT binary patch delta 29 kcmaE`iTS}M<_+PDj4YEQ7|$^>ZB}Pm2;^)&$vpik0HTWuV*mgE delta 29 kcmaE`iTS}M<_+PDjBJx57|$^>ZdPYn2;^)&$vpik0HUx8W&i*H diff --git a/obj/structure.o b/obj/structure.o index 495b56d77915beec9b91c62880dd7f8ccb88f1ec..09a49d8c7d1b169015a442792cb2ef3969f0e766 100644 GIT binary patch delta 19 bcmZ3`%e0`EX+jBOz{FBT#vdD}bG88hOYjG) delta 19 bcmZ3`%e0`EX+jC3&BRhg#t$2(bG88hO8^It diff --git a/src/cars.c b/src/cars.c index c793f5c..371a0d7 100644 --- a/src/cars.c +++ b/src/cars.c @@ -32,8 +32,8 @@ car* init_car(int nPl, int nTotPl) { res->nCoins = 0; res->pos = get_position(nPl, nTotPl); res->lastPos = (ptf){.fx = res->pos.fx, .fy = res->pos.fy}; - res->chx = START_CHX; - res->chy = START_CHY; + res->chx = START_CHY; + res->chy = START_CHX; //res->vel = (ptf){.fx = 0.0, .fy = 0.0}; double theta = (2.0*MAX_THETA_SPAWN*nPl/((nTotPl-1==0)?(1):(nTotPl-1)) - 1.0*MAX_THETA_SPAWN); res->vel = (ptf){.fx = (rand()%100-50.0)/100.0*2.0*MAX_SPEED, .fy = (rand()%100-50.0)/100.0*2.0*MAX_SPEED}; diff --git a/src/collisions.c b/src/collisions.c index 01e7ac4..732ebca 100644 --- a/src/collisions.c +++ b/src/collisions.c @@ -134,11 +134,11 @@ void bumpOtherCars(int nPl) { double speed_P = norm(players[p].c->vel); double speed_N = norm(players[nPl].c->vel); - players[p].c->vel.fx = director.fx*RESTITUTION_PLAYER*(speed_P - speed_P/2.0 + speed_N/2.0); - players[p].c->vel.fy = director.fy*RESTITUTION_PLAYER*(speed_P - speed_P/2.0 + speed_N/2.0); + players[p].c->vel.fx = director.fx*RESTITUTION_PLAYER*(speed_N); + players[p].c->vel.fy = director.fy*RESTITUTION_PLAYER*(speed_N); - players[nPl].c->vel.fx = -director.fx*RESTITUTION_PLAYER*(speed_N + speed_P/2.0 - speed_N/2.0); - players[nPl].c->vel.fy = -director.fy*RESTITUTION_PLAYER*(speed_N + speed_P/2.0 - speed_N/2.0); + players[nPl].c->vel.fx = -director.fx*RESTITUTION_PLAYER*(speed_P); + players[nPl].c->vel.fy = -director.fy*RESTITUTION_PLAYER*(speed_P); } } } diff --git a/src/display.c b/src/display.c index a7b4a08..d1b5c93 100644 --- a/src/display.c +++ b/src/display.c @@ -504,10 +504,10 @@ void renderCircles(SDL_Renderer* renderer, level* lvl, int cx, int cy, int range void renderPlayers(SDL_Renderer* renderer, int cx, int cy, int range, int rsize) { for(int p = 0; p < nPlayers; p++) { if(players[p].c->chx >= cx-range && players[p].c->chx <= cx+range && players[p].c->chy >= cy-range && players[p].c->chy <= cy+range) { - int plchx = players[p].c->chx; - int plchy = players[p].c->chy; - int cox = (WIDTH-rsize)/2+rsize*(plchx-cx) + (int)((players[p].c->pos.fx*1.0)/ROOM_SIZE*rsize); - int coy = (HEIGHT-rsize)/2+rsize*(plchy-cy) + (int)((players[p].c->pos.fy*1.0)/ROOM_SIZE*rsize); + int cox = (WIDTH-rsize)/2+rsize*(players[p].c->chx-cy) + (int)((players[p].c->pos.fx*1.0)/ROOM_SIZE*rsize); + int coy = (HEIGHT-rsize)/2+rsize*(players[p].c->chy-cx) + (int)((players[p].c->pos.fy*1.0)/ROOM_SIZE*rsize); + //printf("Abs : (%d %d)\n", players[p].c->chx, players[p].c->chy); + //printf("Relative : (%d : %d)\n", players[p].c->chx-cy, players[p].c->chy-cx); SDL_RenderFillCircle(renderer, cox, coy, PLAYER_R, players[p].rgb.red, players[p].rgb.green, players[p].rgb.blue, 255); } else { // diff --git a/src/main.c b/src/main.c index 3e1261d..47558cf 100644 --- a/src/main.c +++ b/src/main.c @@ -18,7 +18,7 @@ #include "rooms.h" #include "cars.h" -const int N_PLAYERS = 6; +const int N_PLAYERS = 4; double elapsed = 0.0; bool halt = false; @@ -77,7 +77,7 @@ int main() { while(!halt) { resetRenderer(rend); - renderMap(rend, test, 1, 1, 2, 250); + renderMap(rend, test, 1, 2, 2, 250); if(elapsed <= 0.7) { placeRectToRenderer(rend, 0, 0, 50, 50, 255, 255, 32, 192); } else if(updateCars(test)) { diff --git a/src/structure.c b/src/structure.c index 297855e..b0cc5b8 100644 --- a/src/structure.c +++ b/src/structure.c @@ -15,12 +15,12 @@ const double RESTITUTION_WALL = 0.8; const double RESTITUTION_PLAYER = 0.8; const int PLAYER_R = 10; -const int MAX_THETA_SPAWN = 60; // degrees +const int MAX_THETA_SPAWN = 80; // degrees const int BARRIERS = 1; const double BARRIER_WIDTH = 0.05; const double FRICTION = 0.75; -const double DV = 1.0; // m/s +const double DV = 1.5; // m/s const double DT = 1.0/100.0; const double EPSILON = 1.0/4096.0; \ No newline at end of file