main.c 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #include "../headers/fizzix.h"
  2. #include <time.h>
  3. int main(){
  4. FZ_init();
  5. FZ_context* context = FZ_get_context();
  6. FZ_scene* scene = FZ_new_scene();
  7. FZ_shape* shape_1 = FZ_new_shape();
  8. FZ_shape* shape_2 = FZ_new_shape();
  9. FZ_shape* shape_3 = FZ_new_shape();
  10. FZ_shape* shape_4 = FZ_new_shape();
  11. FZ_shape* shape_5 = FZ_new_shape();
  12. FZ_shape* shape_6 = FZ_new_shape();
  13. FZ_shape* shape_7 = FZ_new_shape();
  14. FZ_shape* shape_8 = FZ_new_shape();
  15. FZ_shape* shape_9 = FZ_new_shape();
  16. FZ_shape* shape_10 = FZ_new_shape();
  17. FZ_shape* shape_11 = FZ_new_shape();
  18. scene->shapes = malloc(sizeof(FZ_shape*) * 3);
  19. scene->shapes[0] = shape_1;
  20. scene->shapes[1] = shape_2;
  21. scene->shapes[2] = shape_3;
  22. scene->shapes[3] = shape_4;
  23. scene->shapes[4] = shape_5;
  24. scene->shapes[5] = shape_6;
  25. scene->shapes[6] = shape_7;
  26. scene->shapes[7] = shape_8;
  27. scene->shapes[8] = shape_9;
  28. scene->shapes[9] = shape_10;
  29. scene->shapes[10] = shape_11;
  30. shape_2->flags = FZ_SHAPE_IS_STATIC;
  31. shape_1->scale = (FZ_vector_2){100, 20};
  32. shape_3->scale = (FZ_vector_2){100, 20};
  33. shape_4->scale = (FZ_vector_2){100, 20};
  34. shape_5->scale = (FZ_vector_2){100, 20};
  35. shape_2->scale = (FZ_vector_2){700, 100};
  36. shape_6->scale = (FZ_vector_2){50, 50};
  37. shape_7->scale = (FZ_vector_2){50, 50};
  38. shape_8->scale = (FZ_vector_2){50, 50};
  39. shape_9->scale = (FZ_vector_2){50, 50};
  40. shape_10->scale = (FZ_vector_2){50, 50};
  41. shape_11->scale = (FZ_vector_2){50, 50};
  42. shape_1->position = (FZ_vector_2){-150, 50};
  43. shape_3->position = (FZ_vector_2){150, 50};
  44. shape_4->position = (FZ_vector_2){150, 300};
  45. shape_5->position = (FZ_vector_2){150, 200};
  46. shape_6->position = (FZ_vector_2){500, 100};
  47. shape_7->position = (FZ_vector_2){500, 150};
  48. shape_8->position = (FZ_vector_2){500, 200};
  49. shape_9->position = (FZ_vector_2){500, 250};
  50. shape_10->position = (FZ_vector_2){500, 300};
  51. shape_11->position = (FZ_vector_2){500, 350};
  52. shape_2->position = (FZ_vector_2){0, -150};
  53. scene->shape_count = 11;
  54. shape_1->velocity = (FZ_vector_2){60, 300};
  55. shape_3->velocity = (FZ_vector_2){-60, 300};
  56. shape_4->velocity = (FZ_vector_2){-60, -300};
  57. shape_5->velocity = (FZ_vector_2){60, 300};
  58. shape_1->angular_velocity = 4;
  59. shape_3->angular_velocity = -5;
  60. shape_4->angular_velocity = -1;
  61. shape_5->angular_velocity = 3;
  62. // shape_2->angular_velocity = 2;
  63. shape_3->mass = 1;
  64. long int start, end;
  65. double fps = 0;
  66. float total_fps = 0;
  67. double deltatime = 0;
  68. double delta_min = 0.0001;
  69. double delta_max = 100000;
  70. while (context->is_running){
  71. start = clock();
  72. FZ_tick(scene, deltatime);
  73. FZ_render_debug(scene);
  74. end = clock();
  75. deltatime = fmin(fmax((double)(end - start) / (double)(CLOCKS_PER_SEC), delta_min), delta_max);
  76. // printf("%d fps \r", (int)(1.0 / deltatime));
  77. }
  78. return 0;
  79. }