diff --git a/include/gfx.h b/include/gfx.h index 4dfab6c302e79f485fed75bc8c3e1b22ada4f819..8f1098428d665fde6c4372fabe1e2782ee0c7a11 100644 --- a/include/gfx.h +++ b/include/gfx.h @@ -23,6 +23,11 @@ #define COLOR_BLUE 0x000000FF #define COLOR_WHITE 0x00FFFFFF #define COLOR_YELLOW 0x00FFFF00 +#define C_SOLEIL MAKE_COLOR(249, 215, 28) +#define C_MERCURE MAKE_COLOR(116, 123, 129) +#define C_VENUS MAKE_COLOR(255, 181, 104) +#define C_TERRE MAKE_COLOR(38, 102, 145) + typedef uint64_t Color; diff --git a/include/planet.h b/include/planet.h index 23397d5efe548da98df512c66d1578c69f3d51aa..61f9aee1184e0cf0722f01d6cad121e0133b6945 100644 --- a/include/planet.h +++ b/include/planet.h @@ -57,5 +57,7 @@ void planet_update(system_t* system, planet_t *p, double dt); system_t system_create(planet_t* planets, int n, planet_t sun); void system_destroy(system_t* s); +void system_draw(system_t* s, SDL_Renderer* ren); +void system_update(system_t* s, double dt); #endif \ No newline at end of file diff --git a/src/main.c b/src/main.c index c0e618146ee36aaed743e1f4c7c7ebf4db2fc865..dd8c1ba9a5ca0d02359b3f111ccdd6e4e116ff01 100644 --- a/src/main.c +++ b/src/main.c @@ -22,17 +22,17 @@ int main() { // ! INIT PLANETS // MASS POSITION VITESSE - planet_t soleil = planet_create(M_SOLEIL, (vec2){0, 0}, (vec2){0, 0}, COLOR_YELLOW); - planet_t mercure = planet_create(M_MERCURE, (vec2){0, 35}, (vec2){1555555, 1100000}, COLOR_RED); - planet_t venus = planet_create(M_VENUS, (vec2){32, -30}, (vec2){1555555, 1100000}, COLOR_GREEN); - // planet_t terre = planet_create(M_TERRE, (vec2){100, 100}, (vec2){100, 100}); + planet_t soleil = planet_create(M_SOLEIL, (vec2){0, 0}, (vec2){0, 0}, C_SOLEIL); + planet_t mercure = planet_create(M_MERCURE, (vec2){0, 35}, (vec2){1555555, 1100000}, C_MERCURE); + planet_t venus = planet_create(M_VENUS, (vec2){32, -30}, (vec2){1555555, 1100000}, C_VENUS); + planet_t terre = planet_create(M_TERRE, (vec2){15, 15}, (vec2){100000, 1000000}, C_TERRE); // planet_t mars = planet_create(M_MARS, (vec2){100, 100}, (vec2){100, 100}); // planet_t planets[4] = {mercure, venus, terre, mars}; - planet_t planets[2] = {mercure, venus}; + planet_t planets[] = {mercure, venus, terre}; // ! INIT SYSTEM - system_t system = system_create(planets, 2, soleil); + system_t system = system_create(planets, sizeof(planets) / sizeof(planet_t) , soleil); // ! CREATE EMPTY SDL STUFF SDL_Window* window = NULL; @@ -59,20 +59,16 @@ int main() } // UPDATE - planet_update(&system, &(system.planets[0]), 0.0000000001); - planet_update(&system, &(system.planets[1]), 0.0000000001); + system_update(&system, 0.0000000001); - // CLEAR + + // RENDER SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255); SDL_RenderClear(renderer); - // RENDER - planet_draw(&system.star, renderer); - planet_draw(&(system.planets[0]), renderer); - planet_draw(&(system.planets[1]), renderer); - - + system_draw(&system, renderer); SDL_RenderPresent(renderer); + // break; // SDL_Delay(500); }