Трахов
-
Автор темы
- #1
C++:
struct optimized_scan
{
adjust_data* record;
scan_data data;
};
void aim::scan_targets()
{
if (targets.empty())
return;
auto run_search_backtrack = [](void* _data) {
optimized_scan*data = (optimized_scan*)_data;
aim::get().scan(data->record, data->data, g_ctx.globals.eye_pos);
};
optimized_scan adata;
for (auto& target : targets)
{
if (target.history_record->valid())
{
scan_data last_data;
if (target.last_record->valid())
{
target.last_record->adjust_player();
adata.data = last_data;
adata.record = target.last_record;
Threading::QueueJobRef(run_search_backtrack, &adata);
Threading::FinishQueue();
//scan(target.last_record, last_data);
}
scan_data history_data;
target.history_record->adjust_player();
adata.data = history_data;
adata.record = target.history_record;
Threading::QueueJobRef(run_search_backtrack, &adata);
Threading::FinishQueue();
//scan(target.history_record, history_data);
if (last_data.valid() && last_data.damage > history_data.damage)
scanned_targets.emplace_back(scanned_target(target.last_record, last_data));
else if (history_data.valid())
scanned_targets.emplace_back(scanned_target(target.history_record, history_data));
}
в чем может быть проблема?