init_states.c 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. #include "init_states.h"
  2. #include "pattern.h"
  3. const unsigned char patternTest1[] = {
  4. 0x05, 0x20,
  5. 0x01, 0x00, 0x00, 0x00, 0x05,
  6. 0x02, 0x00, 0x00, 0x00, 0x05,
  7. 0x03, 0x00, 0x00, 0x00, 0x05,
  8. 0x04, 0x00, 0x00, 0x00, 0x05,
  9. 0x05, 0x00, 0x00, 0x00, 0x05,
  10. };
  11. const unsigned char patternTest2[] = {
  12. 0x0C, 0x40,
  13. 0x00, 0x00, 0x00, 0x00, 0x03,
  14. 0x02, 0x00, 0x00, 0x00, 0x03,
  15. 0x04, 0x00, 0x00, 0x00, 0x03,
  16. 0x00, 0x00, 0x10, 0x00, 0x03,
  17. 0x02, 0x00, 0x10, 0x00, 0x03,
  18. 0x04, 0x00, 0x10, 0x00, 0x03,
  19. 0x00, 0x00, 0x20, 0x00, 0x03,
  20. 0x02, 0x00, 0x20, 0x00, 0x03,
  21. 0x04, 0x00, 0x20, 0x00, 0x03,
  22. 0x00, 0x00, 0x30, 0x00, 0x03,
  23. 0x02, 0x00, 0x30, 0x00, 0x03,
  24. 0x04, 0x00, 0x30, 0x00, 0x03,
  25. };
  26. const unsigned char patternTest3[] = {
  27. 0x09, 0x60,
  28. 0x00, 0x00, 0x00, 0x00, 0x04,
  29. 0x01, 0x00, 0x00, 0x00, 0x04,
  30. 0x02, 0x00, 0x00, 0x00, 0x04,
  31. 0x02, 0x00, 0x20, 0x00, 0x04,
  32. 0x03, 0x00, 0x20, 0x00, 0x04,
  33. 0x04, 0x00, 0x20, 0x00, 0x04,
  34. 0x04, 0x00, 0x40, 0x00, 0x04,
  35. 0x05, 0x00, 0x40, 0x00, 0x04,
  36. 0x00, 0x00, 0x40, 0x00, 0x04,
  37. };
  38. const unsigned char patternTest4[] = {
  39. 0x0D, 0xB0,
  40. 0x00, 0x00, 0x80, 0x00, 0x60,
  41. 0x03, 0x00, 0x80, 0x00, 0x60,
  42. 0x01, 0x00, 0x10, 0x00, 0x02,
  43. 0x04, 0x00, 0x10, 0x00, 0x02,
  44. 0x02, 0x00, 0x20, 0x00, 0x02,
  45. 0x05, 0x00, 0x20, 0x00, 0x02,
  46. 0x01, 0x00, 0x30, 0x00, 0x02,
  47. 0x04, 0x00, 0x30, 0x00, 0x02,
  48. 0x02, 0x00, 0x40, 0x00, 0x02,
  49. 0x05, 0x00, 0x40, 0x00, 0x02,
  50. 0x01, 0x00, 0x50, 0x00, 0x02,
  51. 0x04, 0x00, 0x50, 0x00, 0x02,
  52. 0x02, 0x00, 0x60, 0x00, 0x02,
  53. 0x05, 0x00, 0x60, 0x00, 0x02
  54. };
  55. void init_game(Game_Data *data)
  56. {
  57. data->level = NULL;
  58. data->level = malloc(sizeof(Level));
  59. if(data->level == NULL)
  60. return;
  61. data->level->id = 1;
  62. data->level->patterns = malloc(4*sizeof(Pattern));
  63. readPattern(&data->level->patterns[0], patternTest1);
  64. readPattern(&data->level->patterns[1], patternTest2);
  65. readPattern(&data->level->patterns[2], patternTest3);
  66. readPattern(&data->level->patterns[3], patternTest4);
  67. data->level->nb_patterns = 4;
  68. data->level->cam_change_interval = 5;
  69. data->level->cam_change_precision = 1;
  70. data->level->cam_change_probability = 0.75;
  71. data->level->cam_max_speed = 5;
  72. data->level->cam_min_speed = 1;
  73. data->level->fast_spin_probability = 0.1;
  74. data->level->lc_min_score = 20;
  75. data->level->lc_probability = 0.05;
  76. data->level->lc_duration = 15;
  77. data->list = NULL;
  78. data->start_time = RTC_GetTicks(); //1 tick == 1/128 second
  79. data->last_time = 0;
  80. data->current_time = RTC_GetTicks();
  81. data->chrono_time = 0;
  82. data->player_angle = 0;
  83. data->cam.cX = 64;
  84. data->cam.cY = 32;
  85. data->cam.angle = 0;
  86. data->cam.speed = 1.5;
  87. data->cam.zoom = 0.0;
  88. data->nb_lines = 6;
  89. data->line_transition.counter = 0;
  90. data->line_transition.counter_start = 0;
  91. data->line_transition.delta_nb_lines = 0;
  92. data->cooldown_timer = 16;
  93. }
  94. void init_title(Game_Data *data)
  95. {
  96. data->start_time = RTC_GetTicks(); //1 tick == 1/128 second
  97. data->last_time = 0;
  98. data->current_time = RTC_GetTicks();
  99. data->chrono_time = 0;
  100. data->cam.cX = 96;
  101. data->cam.cY = 32;
  102. data->cam.angle = 0;
  103. data->cam.speed = 1;
  104. data->cam.zoom = 24;
  105. data->nb_lines = 6;
  106. data->line_transition.counter = 0;
  107. data->line_transition.counter_start = 0;
  108. data->line_transition.delta_nb_lines = 0;
  109. }
  110. void init_menu(Game_Data *data)
  111. {
  112. data->start_time = RTC_GetTicks(); //1 tick == 1/128 second
  113. data->last_time = 0;
  114. data->current_time = RTC_GetTicks();
  115. data->chrono_time = 0;
  116. data->cam.cX = 64;
  117. data->cam.cY = 64;
  118. data->cam.angle = 0;
  119. data->cam.speed = 0;
  120. data->cam.zoom = 48;
  121. data->nb_lines = 6;
  122. data->line_transition.counter = 0;
  123. data->line_transition.counter_start = 0;
  124. data->line_transition.delta_nb_lines = 0;
  125. }
  126. void init_game_over(Game_Data *data)
  127. {
  128. }