init_states.c 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. #include "init_states.h"
  2. #include "pattern.h"
  3. const unsigned char patternTest1[] = {
  4. 0x0F, 0x00, 0x60,
  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. 0x04, 0x00, 0x20, 0x00, 0x05,
  11. 0x05, 0x00, 0x20, 0x00, 0x05,
  12. 0x00, 0x00, 0x20, 0x00, 0x05,
  13. 0x01, 0x00, 0x20, 0x00, 0x05,
  14. 0x02, 0x00, 0x20, 0x00, 0x05,
  15. 0x01, 0x00, 0x40, 0x00, 0x05,
  16. 0x02, 0x00, 0x40, 0x00, 0x05,
  17. 0x03, 0x00, 0x40, 0x00, 0x05,
  18. 0x04, 0x00, 0x40, 0x00, 0x05,
  19. 0x05, 0x00, 0x40, 0x00, 0x05,
  20. };
  21. const unsigned char patternTest2[] = {
  22. 0x0F, 0x00, 0x30,
  23. 0x00, 0x00, 0x00, 0x00, 0x03,
  24. 0x02, 0x00, 0x00, 0x00, 0x03,
  25. 0x04, 0x00, 0x00, 0x00, 0x03,
  26. 0x00, 0x00, 0x08, 0x00, 0x03,
  27. 0x02, 0x00, 0x08, 0x00, 0x03,
  28. 0x04, 0x00, 0x08, 0x00, 0x03,
  29. 0x00, 0x00, 0x10, 0x00, 0x03,
  30. 0x02, 0x00, 0x10, 0x00, 0x03,
  31. 0x04, 0x00, 0x10, 0x00, 0x03,
  32. 0x00, 0x00, 0x18, 0x00, 0x03,
  33. 0x02, 0x00, 0x18, 0x00, 0x03,
  34. 0x04, 0x00, 0x18, 0x00, 0x03,
  35. 0x00, 0x00, 0x20, 0x00, 0x03,
  36. 0x02, 0x00, 0x20, 0x00, 0x03,
  37. 0x04, 0x00, 0x20, 0x00, 0x03,
  38. };
  39. const unsigned char patternTest3[] = {
  40. 0x09, 0x00, 0x60,
  41. 0x00, 0x00, 0x00, 0x00, 0x04,
  42. 0x01, 0x00, 0x00, 0x00, 0x04,
  43. 0x02, 0x00, 0x00, 0x00, 0x04,
  44. 0x02, 0x00, 0x20, 0x00, 0x04,
  45. 0x03, 0x00, 0x20, 0x00, 0x04,
  46. 0x04, 0x00, 0x20, 0x00, 0x04,
  47. 0x04, 0x00, 0x40, 0x00, 0x04,
  48. 0x05, 0x00, 0x40, 0x00, 0x04,
  49. 0x00, 0x00, 0x40, 0x00, 0x04,
  50. };
  51. const unsigned char patternTest4[] = {
  52. 0x0D, 0x00, 0x80,
  53. 0x00, 0x00, 0x00, 0x00, 0x65,
  54. 0x03, 0x00, 0x00, 0x00, 0x65,
  55. 0x01, 0x00, 0x10, 0x00, 0x02,
  56. 0x04, 0x00, 0x10, 0x00, 0x02,
  57. 0x02, 0x00, 0x20, 0x00, 0x02,
  58. 0x05, 0x00, 0x20, 0x00, 0x02,
  59. 0x01, 0x00, 0x30, 0x00, 0x02,
  60. 0x04, 0x00, 0x30, 0x00, 0x02,
  61. 0x02, 0x00, 0x40, 0x00, 0x02,
  62. 0x05, 0x00, 0x40, 0x00, 0x02,
  63. 0x01, 0x00, 0x50, 0x00, 0x02,
  64. 0x04, 0x00, 0x50, 0x00, 0x02,
  65. 0x02, 0x00, 0x60, 0x00, 0x05,
  66. 0x05, 0x00, 0x60, 0x00, 0x05
  67. };
  68. const unsigned char patternTest5[] = {
  69. 0x04, 0x00, 0x20,
  70. 0x01, 0x00, 0x00, 0x00, 0x05,
  71. 0x02, 0x00, 0x00, 0x00, 0x05,
  72. 0x03, 0x00, 0x00, 0x00, 0x05,
  73. 0x05, 0x00, 0x00, 0x00, 0x05
  74. };
  75. const unsigned char patternTest6[] = {
  76. 0x09, 0x00, 0x40,
  77. 0x00, 0x00, 0x10, 0x00, 0x03,
  78. 0x02, 0x00, 0x10, 0x00, 0x03,
  79. 0x04, 0x00, 0x10, 0x00, 0x03,
  80. 0x01, 0x00, 0x20, 0x00, 0x03,
  81. 0x03, 0x00, 0x20, 0x00, 0x03,
  82. 0x05, 0x00, 0x20, 0x00, 0x03,
  83. 0x00, 0x00, 0x30, 0x00, 0x03,
  84. 0x02, 0x00, 0x30, 0x00, 0x03,
  85. 0x04, 0x00, 0x30, 0x00, 0x03
  86. };
  87. const unsigned char patternTest7[] = {
  88. 0x0C, 0x00, 0x70,
  89. 0x01, 0x00, 0x00, 0x00, 0x11,
  90. 0x02, 0x00, 0x10, 0x00, 0x11,
  91. 0x03, 0x00, 0x20, 0x00, 0x11,
  92. 0x04, 0x00, 0x30, 0x00, 0x11,
  93. 0x05, 0x00, 0x45, 0x00, 0x11,
  94. 0x00, 0x00, 0x50, 0x00, 0x11,
  95. 0x04, 0x00, 0x00, 0x00, 0x11,
  96. 0x05, 0x00, 0x10, 0x00, 0x11,
  97. 0x00, 0x00, 0x20, 0x00, 0x11,
  98. 0x01, 0x00, 0x30, 0x00, 0x11,
  99. 0x02, 0x00, 0x40, 0x00, 0x11,
  100. 0x03, 0x00, 0x50, 0x00, 0x11,
  101. };
  102. void init_game(Game_Data *data)
  103. {
  104. data->level = NULL;
  105. data->level = malloc(sizeof(Level));
  106. if(data->level == NULL)
  107. return;
  108. data->level->id = 1;
  109. data->level->patterns = malloc(7*sizeof(Pattern));
  110. readPattern(&data->level->patterns[0], patternTest1);
  111. readPattern(&data->level->patterns[1], patternTest2);
  112. readPattern(&data->level->patterns[2], patternTest3);
  113. readPattern(&data->level->patterns[3], patternTest4);
  114. readPattern(&data->level->patterns[4], patternTest5);
  115. readPattern(&data->level->patterns[5], patternTest6);
  116. readPattern(&data->level->patterns[6], patternTest7);
  117. data->level->nb_patterns = 7;
  118. data->level->player_rotation_speed = 60;
  119. data->level->cam_change_interval = 5;
  120. data->level->cam_change_precision = 1;
  121. data->level->cam_change_probability = 0.75;
  122. data->level->cam_max_speed = 5;
  123. data->level->cam_min_speed = 1;
  124. data->level->fast_spin_probability = 0.1;
  125. data->level->lc_min_score = 20;
  126. data->level->lc_probability = 0.05;
  127. data->level->lc_duration = 15;
  128. data->are_colors_reversed = 0;
  129. data->list = NULL;
  130. data->start_time = RTC_GetTicks(); // 1 tick == 1/128 second
  131. data->last_time = 0;
  132. data->current_time = RTC_GetTicks();
  133. data->chrono_time = 0;
  134. data->player_angle = 0;
  135. data->cam.cX = 64;
  136. data->cam.cY = 32;
  137. data->cam.angle = 0;
  138. data->cam.speed = 1.5;
  139. data->cam.zoom = 0.0;
  140. data->nb_lines = 6;
  141. data->line_transition.counter = 0;
  142. data->line_transition.counter_start = 0;
  143. data->line_transition.delta_nb_lines = 0;
  144. data->cooldown_timer = 16;
  145. }
  146. void init_title(Game_Data *data)
  147. {
  148. data->start_time = RTC_GetTicks(); // 1 tick == 1/128 second
  149. data->last_time = 0;
  150. data->current_time = RTC_GetTicks();
  151. data->chrono_time = 0;
  152. data->are_colors_reversed = 0;
  153. data->cam.cX = 96;
  154. data->cam.cY = 32;
  155. data->cam.angle = 0;
  156. data->cam.speed = 1;
  157. data->cam.zoom = 24;
  158. data->nb_lines = 6;
  159. data->line_transition.counter = 0;
  160. data->line_transition.counter_start = 0;
  161. data->line_transition.delta_nb_lines = 0;
  162. }
  163. void init_menu(Game_Data *data)
  164. {
  165. data->start_time = RTC_GetTicks(); // 1 tick == 1/128 second
  166. data->last_time = 0;
  167. data->current_time = RTC_GetTicks();
  168. data->chrono_time = 0;
  169. data->are_colors_reversed = 0;
  170. data->cam.cX = 64;
  171. data->cam.cY = 64;
  172. data->cam.angle = 0;
  173. data->cam.speed = 0;
  174. data->cam.zoom = 48;
  175. data->nb_lines = 6;
  176. data->line_transition.counter = 0;
  177. data->line_transition.counter_start = 0;
  178. data->line_transition.delta_nb_lines = 0;
  179. }
  180. void init_game_over(Game_Data *data)
  181. {
  182. }