Rectangle minimap_dest = {.width = 64.0f*img_export_scale.x, .height = 64.0f*img_export_scale.y, .x = 0.0f, .y = 0.0f};
Rectangle minimap_src = {.width = barrow_texture.width, .height = barrow_texture.height, .x = 0.0f, .y = 0.0f};
- if (timers[E_TEXT_FADE_TIME].time > 0.0f)
+ if (timers[E_STATUS_TEXT_FADE_TIME].time > 0.0)
{
const char* text = text_places[E_STATUS_TEXT_PLACE];
DrawText(TextFormat("%s", text), 0, screen_dims.y - 32, 32, GREEN);
playtime.cam.position = cam_reset_position;
}
- if (IsKeyReleased(KEY_F4))
+ if (IsKeyReleased(KEY_F4) && timers[E_STATUS_TEXT_FADE_TIME].time == 0)
{
- processes[E_SAVE_FILE_SAVE].progress = 0.0;
+ ProcessInfo* process = &processes[E_SAVE_FILE_SAVE];
processes[E_SAVE_FILE_SAVE].state = E_WAITING;
const int success = save_game(playtime);
- timers[E_TEXT_FADE_TIME].time = timers[E_TEXT_FADE_TIME].max;
- if (success == 0 && timers[E_TEXT_FADE_TIME].time == 0.0f)
+ if ((success == 0) && timers[E_STATUS_TEXT_FADE_TIME].time == 0)
{
processes[E_SAVE_FILE_SAVE].state = E_FINISHED;
}
{
processes[E_SAVE_FILE_SAVE].state = E_BAD;
}
+
+ memcpy(text_places[E_STATUS_TEXT_PLACE], process->info_text[process->state], 64);
+ timers[E_STATUS_TEXT_FADE_TIME].time = timers[E_STATUS_TEXT_FADE_TIME].max;
}
- if (IsKeyReleased(KEY_F5))
+ if (IsKeyReleased(KEY_F5) && timers[E_STATUS_TEXT_FADE_TIME].time == 0)
{
ProcessInfo* process = &processes[E_SAVE_FILE_LOAD];
- process->progress = 0.0;
process->state = E_WAITING;
const int success = load_game();
- timers[E_TEXT_FADE_TIME].time = timers[E_TEXT_FADE_TIME].max;
- if (success == 0 && timers[E_TEXT_FADE_TIME].time == 0.0f)
+ if ((success == 0 ) && timers[E_STATUS_TEXT_FADE_TIME].time == 0.0)
{
process->state = E_FINISHED;
}
}
memcpy(text_places[E_STATUS_TEXT_PLACE], process->info_text[process->state], 64);
+ timers[E_STATUS_TEXT_FADE_TIME].time = timers[E_STATUS_TEXT_FADE_TIME].max;
}
if (IsKeyReleased(KEY_ONE))
{
for (int t = 0; t < E_STATUS_TIMERS; t++)
{
- if (timers[t].time > 0.0f)
+ if (timers[t].time > 0)
{
- timers[t].time = MAX(timers[t].time - (((float)1.0/target_fps) * 1000.0f), 0.0f);
+ timers[t].time = MAX(timers[t].time - ((1.0/(float)target_fps) * 1000.0f), 0.0f);
}
}
}