// el perro descargó sus huesos o realizó una acción no válida y caputó, hay que sacarlo del sistema. void game_perro_termino(perro_t *perro) { if (perro != NULL) { perro->libre = TRUE; screen_borrar_perro(perro); screen_actualizar_reloj_perro(perro); sched_remover_tarea(TSS_PERRO(perro->jugador->index, perro->index)); } }
ushort sched_atender_tick(){ game_atender_tick(game_perro_actual); if (game_perro_actual != NULL && game_perro_actual->libre == TRUE) sched_remover_tarea(scheduler.tasks[scheduler.current].gdt_index); scheduler.current = sched_proxima_a_ejecutar(); game_perro_actual = scheduler.tasks[scheduler.current].perro; return scheduler.tasks[scheduler.current].gdt_index; }
// el perro descargó sus huesos o realizó una acción no válida y caputó, hay que sacarlo del sistema. void game_perro_termino(perro_t *perro) { perro->libre = TRUE; sched_remover_tarea(sched_buscar_gdtindex_tarea_desde_perro(perro)); screen_borrar_perro(perro); }