| 170 | } |
| 171 | |
| 172 | void tick_job(df::job *job, int ticks) |
| 173 | { |
| 174 | tick_idx = cur_tick_idx; |
| 175 | actual_job = job; |
| 176 | |
| 177 | if (isActuallyResumed()) |
| 178 | { |
| 179 | resume_time = 0; |
| 180 | resume_delay = std::max(DAY_TICKS, resume_delay - ticks); |
| 181 | } |
| 182 | else if (want_resumed) |
| 183 | { |
| 184 | if (!resume_time) |
| 185 | want_resumed = false; |
| 186 | else if (world->frame_counter >= resume_time) |
| 187 | set_resumed(true); |
| 188 | } |
| 189 | } |
| 190 | |
| 191 | void recover(df::job *job) |
| 192 | { |