diff --git a/README.md b/README.md index ebebabb..b9dba52 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,5 @@ ## Известные баги -* в режиме двух роботов пока один из роботов находится в зонах цинкования, второму команды не выдаются * не работают регистры добавления/удаления барабанов с панели diff --git a/utils.c b/utils.c index 5f57456..680144e 100644 --- a/utils.c +++ b/utils.c @@ -155,18 +155,22 @@ short _get_dest_zone(struct barrel *bar) { // последняя промывка, нужно разрешение на выгрузку if (button_unload) { if (hla_night_mode) { + short nz = get_first_night_zone(); + if (one_robot_mode) { + return nz; + } else { + if (nz < hla_exchange_zone) { + return hla_exchange_zone; + } else { + return nz; + } + } + } else { if (one_robot_mode) { return ZONE_LOAD_1; } else { return hla_exchange_zone; } - } else { - short nz = get_first_night_zone(); - if (nz < hla_exchange_zone) { - return hla_exchange_zone; - } else { - return nz; - } } } break; @@ -753,13 +757,13 @@ char is_accessible_zone(short zone) { return 0; } - return (hla_disabled_zones & (DISABLED_ETCH_1 << etching_zone)) != 0; + return (hla_disabled_zones & (DISABLED_ETCH_1 << etching_zone)) == 0; } else if (zone == ROBOT_ZONE_GAL) { if (galvanizing_zone < 0) { return 0; } - return (hla_disabled_zones & (DISABLED_GAL_1 << galvanizing_zone)) != 0; + return (hla_disabled_zones & (DISABLED_GAL_1 << galvanizing_zone)) == 0; } else { // неверный аргумент return 0;