init_states.c 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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. }
  36. void load_difficulty_names(char **str_list)
  37. {
  38. char c_1[] = "Hard";
  39. char c_2[] = "Harder";
  40. char c_3[] = "Hardest";
  41. char c_4[] = "Hardester";
  42. char c_5[] = "Hardestest";
  43. char c_6[] = "Hardestestest";
  44. for(int i = 0; i < 6; i++)
  45. {
  46. str_list[i] = NULL;
  47. str_list[i] = malloc(sizeof(char) * 24);
  48. if(str_list[i] == NULL)
  49. return;
  50. for(int j = 0; j < 24; str_list[i][j] = 0, j++);
  51. }
  52. memcpy(str_list[0], c_1, sizeof(char) * strlen(c_1));
  53. memcpy(str_list[1], c_2, sizeof(char) * strlen(c_2));
  54. memcpy(str_list[2], c_3, sizeof(char) * strlen(c_3));
  55. memcpy(str_list[3], c_4, sizeof(char) * strlen(c_4));
  56. memcpy(str_list[4], c_5, sizeof(char) * strlen(c_5));
  57. memcpy(str_list[5], c_6, sizeof(char) * strlen(c_6));
  58. }
  59. void init_menu(Game_Data *data)
  60. {
  61. data->nb_entries = 6;
  62. data->current_entry = 1;
  63. data->current_entry_high_score = 0; //to load from a save file
  64. data->entry_difficulties = NULL;
  65. data->entry_difficulties = malloc(sizeof(char*) * 6);
  66. if(data->entry_difficulties == NULL)
  67. return;
  68. load_difficulty_names(data->entry_difficulties);
  69. }
  70. void init_game_over(Game_Data *data)
  71. {
  72. }