diff --git a/cphysics.c b/cphysics.c index 9f920e2..550f08d 100644 --- a/cphysics.c +++ b/cphysics.c @@ -6,3 +6,6 @@ void gravity(universe_t* univ){ void magnetism(universe_t* univ){ } +void mechanics(universe_t* univ){ + +} diff --git a/main.c b/main.c index e4d89f2..4f86f8c 100644 --- a/main.c +++ b/main.c @@ -108,14 +108,14 @@ void *physics(void *args) { body_2 = uni->bodies[y]; collision = body_collision(&body_1, &body_2); if (!vec2_is_null(collision)) { - collide(&body_1, &body_2, &collision, 1.2); + collide(&body_1, &body_2, &collision, 0.99); } uni->bodies[y] = body_2; } } collision = edge_collision(&body_1); if (!vec2_is_null(collision)) { - collide_rigid(&body_1, &collision, 1.2); + collide_rigid(&body_1, &collision, 1.0005); } uni->bodies[i] = body_1; } @@ -142,12 +142,14 @@ int main(void) { const char *welcome_text = "Welcome to Fucked Physics!"; universe_t universe = {0, NULL}; universe.bodies = malloc(1024 * sizeof(mass_body_t)); - - mass_body_t body_1 = {100, 50, {-200, -200}, {0.1, -0.1}}; - mass_body_t body_2 = {100, 50, {200, 200}, {-0.1, 0.105}}; - universe.bodies[0] = body_1; - universe.bodies[1] = body_2; - universe.num_bodies = 2; + for(int i=0;i<100;i++){ + if(i>500){ + universe.bodies[i] = (mass_body_t){100/(25+50/(i+1)), 50+50/(i+1), {i*10, i*200%500}, {0.1, 0.5+i*0.01}}; + }else{ + universe.bodies[i] = (mass_body_t){100/(25+50/(i+1)), 25+50/(i+1), {-i*10, -i*300%500}, {-0.1, 0.8-i*0.005}}; + } + } + universe.num_bodies = 100; SetConfigFlags(FLAG_WINDOW_RESIZABLE); InitWindow(800, 450, "Fucked Physics"); SetTargetFPS(120);