| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268 |
- #include "init_states.h"
- #include "pattern.h"
- const unsigned char patternTest1[] = {
- 0x0F, 0x00, 0x60,
- 0x01, 0x00, 0x00, 0x00, 0x05,
- 0x02, 0x00, 0x00, 0x00, 0x05,
- 0x03, 0x00, 0x00, 0x00, 0x05,
- 0x04, 0x00, 0x00, 0x00, 0x05,
- 0x05, 0x00, 0x00, 0x00, 0x05,
- 0x04, 0x00, 0x20, 0x00, 0x05,
- 0x05, 0x00, 0x20, 0x00, 0x05,
- 0x00, 0x00, 0x20, 0x00, 0x05,
- 0x01, 0x00, 0x20, 0x00, 0x05,
- 0x02, 0x00, 0x20, 0x00, 0x05,
- 0x01, 0x00, 0x40, 0x00, 0x05,
- 0x02, 0x00, 0x40, 0x00, 0x05,
- 0x03, 0x00, 0x40, 0x00, 0x05,
- 0x04, 0x00, 0x40, 0x00, 0x05,
- 0x05, 0x00, 0x40, 0x00, 0x05,
- };
- const unsigned char patternTest2[] = {
- 0x0F, 0x00, 0x30,
- 0x00, 0x00, 0x00, 0x00, 0x03,
- 0x02, 0x00, 0x00, 0x00, 0x03,
- 0x04, 0x00, 0x00, 0x00, 0x03,
- 0x00, 0x00, 0x08, 0x00, 0x03,
- 0x02, 0x00, 0x08, 0x00, 0x03,
- 0x04, 0x00, 0x08, 0x00, 0x03,
- 0x00, 0x00, 0x10, 0x00, 0x03,
- 0x02, 0x00, 0x10, 0x00, 0x03,
- 0x04, 0x00, 0x10, 0x00, 0x03,
- 0x00, 0x00, 0x18, 0x00, 0x03,
- 0x02, 0x00, 0x18, 0x00, 0x03,
- 0x04, 0x00, 0x18, 0x00, 0x03,
- 0x00, 0x00, 0x20, 0x00, 0x03,
- 0x02, 0x00, 0x20, 0x00, 0x03,
- 0x04, 0x00, 0x20, 0x00, 0x03,
- };
- const unsigned char patternTest3[] = {
- 0x09, 0x00, 0x60,
- 0x00, 0x00, 0x00, 0x00, 0x04,
- 0x01, 0x00, 0x00, 0x00, 0x04,
- 0x02, 0x00, 0x00, 0x00, 0x04,
- 0x02, 0x00, 0x20, 0x00, 0x04,
- 0x03, 0x00, 0x20, 0x00, 0x04,
- 0x04, 0x00, 0x20, 0x00, 0x04,
- 0x04, 0x00, 0x40, 0x00, 0x04,
- 0x05, 0x00, 0x40, 0x00, 0x04,
- 0x00, 0x00, 0x40, 0x00, 0x04,
- };
- const unsigned char patternTest4[] = {
- 0x0E, 0x00, 0x80,
- 0x00, 0x00, 0x00, 0x00, 0x65,
- 0x03, 0x00, 0x00, 0x00, 0x65,
- 0x01, 0x00, 0x10, 0x00, 0x02,
- 0x04, 0x00, 0x10, 0x00, 0x02,
- 0x02, 0x00, 0x20, 0x00, 0x02,
- 0x05, 0x00, 0x20, 0x00, 0x02,
- 0x01, 0x00, 0x30, 0x00, 0x02,
- 0x04, 0x00, 0x30, 0x00, 0x02,
- 0x02, 0x00, 0x40, 0x00, 0x02,
- 0x05, 0x00, 0x40, 0x00, 0x02,
- 0x01, 0x00, 0x50, 0x00, 0x02,
- 0x04, 0x00, 0x50, 0x00, 0x02,
- 0x02, 0x00, 0x60, 0x00, 0x05,
- 0x05, 0x00, 0x60, 0x00, 0x05
- };
- const unsigned char patternTest5[] = {
- 0x04, 0x00, 0x20,
- 0x01, 0x00, 0x00, 0x00, 0x05,
- 0x02, 0x00, 0x00, 0x00, 0x05,
- 0x03, 0x00, 0x00, 0x00, 0x05,
- 0x05, 0x00, 0x00, 0x00, 0x05
- };
- const unsigned char patternTest6[] = {
- 0x09, 0x00, 0x40,
- 0x00, 0x00, 0x10, 0x00, 0x03,
- 0x02, 0x00, 0x10, 0x00, 0x03,
- 0x04, 0x00, 0x10, 0x00, 0x03,
- 0x01, 0x00, 0x20, 0x00, 0x03,
- 0x03, 0x00, 0x20, 0x00, 0x03,
- 0x05, 0x00, 0x20, 0x00, 0x03,
- 0x00, 0x00, 0x30, 0x00, 0x03,
- 0x02, 0x00, 0x30, 0x00, 0x03,
- 0x04, 0x00, 0x30, 0x00, 0x03
- };
- const unsigned char patternTest7[] = {
- 0x0C, 0x00, 0x70,
- 0x01, 0x00, 0x00, 0x00, 0x11,
- 0x02, 0x00, 0x10, 0x00, 0x11,
- 0x03, 0x00, 0x20, 0x00, 0x11,
- 0x04, 0x00, 0x30, 0x00, 0x11,
- 0x05, 0x00, 0x45, 0x00, 0x11,
- 0x00, 0x00, 0x50, 0x00, 0x11,
- 0x04, 0x00, 0x00, 0x00, 0x11,
- 0x05, 0x00, 0x10, 0x00, 0x11,
- 0x00, 0x00, 0x20, 0x00, 0x11,
- 0x01, 0x00, 0x30, 0x00, 0x11,
- 0x02, 0x00, 0x40, 0x00, 0x11,
- 0x03, 0x00, 0x50, 0x00, 0x11,
- };
- void init_game(Game_Data *data)
- {
- //TODO: init the level depending on the value of data->current_entry
- data->level = NULL;
- data->level = malloc(sizeof(Level));
- if(data->level == NULL)
- return;
- data->level->id = 1;
- data->level->patterns = malloc(7*sizeof(Pattern));
- readPattern(&data->level->patterns[0], patternTest1);
- readPattern(&data->level->patterns[1], patternTest2);
- readPattern(&data->level->patterns[2], patternTest3);
- readPattern(&data->level->patterns[3], patternTest4);
- readPattern(&data->level->patterns[4], patternTest5);
- readPattern(&data->level->patterns[5], patternTest6);
- readPattern(&data->level->patterns[6], patternTest7);
- data->level->nb_patterns = 7;
- data->level->player_rotation_speed = 60;
- data->level->cam_change_interval = 5;
- data->level->cam_change_precision = 1;
- data->level->cam_change_probability = 0.75;
- data->level->cam_max_speed = 5;
- data->level->cam_min_speed = 1;
- data->level->fast_spin_probability = 0.1;
- data->level->lc_min_score = 20;
- data->level->lc_probability = 0.05;
- data->level->lc_duration = 15;
- data->are_colors_reversed = 0;
- data->list = NULL;
- data->start_time = RTC_GetTicks(); // 1 tick == 1/128 second
- data->last_time = 0;
- data->current_time = RTC_GetTicks();
- data->chrono_time = 0;
- data->player_angle = 0;
- data->cam.cX = 64;
- data->cam.cY = 32;
- data->cam.angle = 0;
- data->cam.speed = 1.5;
- data->cam.zoom = 0.0;
- data->nb_lines = 6;
- data->line_transition.counter = 0;
- data->line_transition.counter_start = 0;
- data->line_transition.delta_nb_lines = 0;
- data->cooldown_timer = 16;
- }
- void init_title(Game_Data *data)
- {
- data->start_time = RTC_GetTicks(); // 1 tick == 1/128 second
- data->last_time = 0;
- data->current_time = RTC_GetTicks();
- data->chrono_time = 0;
- data->are_colors_reversed = 0;
- data->cam.cX = 96;
- data->cam.cY = 32;
- data->cam.angle = 0;
- data->cam.speed = 1;
- data->cam.zoom = 24;
- data->nb_lines = 6;
- data->line_transition.counter = 0;
- data->line_transition.counter_start = 0;
- data->line_transition.delta_nb_lines = 0;
- }
- void load_difficulty_names(char **str_list)
- {
- char c_1[] = "Hard";
- char c_2[] = "Harder";
- char c_3[] = "Hardest";
- char c_4[] = "Hardester";
- char c_5[] = "Hardestest";
- char c_6[] = "Hardestestest";
- int i = 0;
- int j = 0;
- for(i = 0; i < 6; i++)
- {
- str_list[i] = NULL;
- str_list[i] = malloc(sizeof(char) * 24);
- if(str_list[i] == NULL)
- return;
- for(j = 0; j < 24; str_list[i][j] = 0, j++);
- }
- memcpy(str_list[0], c_1, sizeof(char) * strlen(c_1));
- memcpy(str_list[1], c_2, sizeof(char) * strlen(c_2));
- memcpy(str_list[2], c_3, sizeof(char) * strlen(c_3));
- memcpy(str_list[3], c_4, sizeof(char) * strlen(c_4));
- memcpy(str_list[4], c_5, sizeof(char) * strlen(c_5));
- memcpy(str_list[5], c_6, sizeof(char) * strlen(c_6));
- }
- void init_menu(Game_Data *data)
- {
- data->cam.cX = 64;
- data->cam.cY = 70;
- data->cam.angle = 0;
- data->cam.speed = 0;
- data->cam.zoom = 8.0;
- data->nb_lines = 6;
- data->line_transition.counter = 0;
- data->line_transition.counter_start = 0;
- data->line_transition.delta_nb_lines = 0;
- data->keypress_delay = 50;
- data->nb_entries = 6;
- data->current_entry = 1;
- data->current_entry_high_score = 0; //to load from a save file
- data->entry_difficulties = NULL;
- data->entry_difficulties = malloc(sizeof(char*) * 6);
- if(data->entry_difficulties == NULL)
- return;
- load_difficulty_names(data->entry_difficulties);
- }
- void init_game_over(Game_Data *data)
- {
- data->cam.cX = 96;
- data->cam.cY = 32;
- data->cam.angle = 0;
- data->cam.speed = 1;
- data->cam.zoom = 12;
- data->nb_lines = 6;
- data->line_transition.counter = 0;
- data->line_transition.counter_start = 0;
- data->line_transition.delta_nb_lines = 0;
- }
|