init_states.c 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. #include "init_states.h"
  2. void init_game(Game_Data *data)
  3. {
  4. data->level = NULL;
  5. data->level = malloc(sizeof(Level));
  6. if(data->level == NULL)
  7. return;
  8. data->level->id = 1;
  9. data->level->nb_patterns = 0;
  10. data->level->cam_change_interval = 5;
  11. data->level->cam_change_precision = 1;
  12. data->level->cam_change_probability = 0.75;
  13. data->level->cam_max_speed = 5;
  14. data->level->cam_min_speed = 1;
  15. data->level->fast_spin_probability = 0.1;
  16. data->level->lc_min_score = 20;
  17. data->level->lc_probability = 0.05;
  18. data->level->lc_duration = 15;
  19. data->list = NULL;
  20. data->start_time = RTC_GetTicks(); //1 tick == 1/128 second
  21. data->last_time = 0;
  22. data->current_time = RTC_GetTicks();
  23. data->player_angle = 0;
  24. data->cam.cX = 64;
  25. data->cam.cY = 32;
  26. data->cam.angle = 0;
  27. data->cam.speed = 0.0;
  28. data->nb_lines = 6;
  29. data->line_transition.counter = 0;
  30. data->line_transition.counter_start = 0;
  31. data->line_transition.delta_nb_lines = 0;
  32. }
  33. void init_title(Game_Data *data)
  34. {
  35. data->cam.cX = 64;
  36. data->cam.cY = 70;
  37. data->cam.angle = 0;
  38. data->cam.speed = 1.0;
  39. data->nb_lines = 6;
  40. data->line_transition.counter = 0;
  41. data->line_transition.counter_start = 0;
  42. data->line_transition.delta_nb_lines = 0;
  43. }
  44. void load_difficulty_names(char **str_list)
  45. {
  46. char c_1[] = "Hard";
  47. char c_2[] = "Harder";
  48. char c_3[] = "Hardest";
  49. char c_4[] = "Hardester";
  50. char c_5[] = "Hardestest";
  51. char c_6[] = "Hardestestest";
  52. int i = 0;
  53. int j = 0;
  54. for(i = 0; i < 6; i++)
  55. {
  56. str_list[i] = NULL;
  57. str_list[i] = malloc(sizeof(char) * 24);
  58. if(str_list[i] == NULL)
  59. return;
  60. for(j = 0; j < 24; str_list[i][j] = 0, j++);
  61. }
  62. memcpy(str_list[0], c_1, sizeof(char) * strlen(c_1));
  63. memcpy(str_list[1], c_2, sizeof(char) * strlen(c_2));
  64. memcpy(str_list[2], c_3, sizeof(char) * strlen(c_3));
  65. memcpy(str_list[3], c_4, sizeof(char) * strlen(c_4));
  66. memcpy(str_list[4], c_5, sizeof(char) * strlen(c_5));
  67. memcpy(str_list[5], c_6, sizeof(char) * strlen(c_6));
  68. }
  69. void init_menu(Game_Data *data)
  70. {
  71. data->nb_entries = 6;
  72. data->current_entry = 1;
  73. data->current_entry_high_score = 0; //to load from a save file
  74. data->entry_difficulties = NULL;
  75. data->entry_difficulties = malloc(sizeof(char*) * 6);
  76. if(data->entry_difficulties == NULL)
  77. return;
  78. load_difficulty_names(data->entry_difficulties);
  79. }
  80. void init_game_over(Game_Data *data)
  81. {
  82. }