From 7373685e2a631ec7f54d8d6aebbc90ead8c07c0b Mon Sep 17 00:00:00 2001 From: sasha80 Date: Wed, 21 Jan 2026 10:23:00 +0300 Subject: [PATCH 1/7] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0.=20=D0=92=D1=81=D1=82=D1=80=D0=B0=D0=B8=D0=B2?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=81=D1=82=D0=B0=D1=82=D0=B8=D1=87?= =?UTF-8?q?=D0=B5=D1=81=D0=BA=D0=BE=D0=B9=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5?= =?UTF-8?q?=D1=80=D0=BA=D0=B8=20=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=BA=D0=B0=D0=B2=D1=8B?= =?UTF-8?q?=D1=87=D0=B5=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + check.sh | 16 ++++++++++------ git-hook.sh | 1 + ip-tables-navigation.sh | 1 - 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index a6146d7f..3cb4a5c7 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,4 @@ modbus/serial/__pycache__ /scenes/pribor-prd-n/kasseta-fs-nd.tscn.bak *.patch +проверка.log diff --git a/check.sh b/check.sh index 2f104301..72c43c7b 100644 --- a/check.sh +++ b/check.sh @@ -50,10 +50,12 @@ while IFS= read -r file; do # Удаляем начальные и конечные пробелы gsub(/^[[:space:]]+|[[:space:]]+$/, "", line) - # Ищем непустые строки с двойными кавычками - if (line ~ /"[^"\\]*"/) { - print line_num ": " original_line - } + if (index(original_line, "\"\"\"") > 0) { + # Ищем непустые строки с двойными кавычками + if (line ~ /"[^"\\]*"/) { + print line_num ": " original_line + } + } } ' "$file") @@ -65,8 +67,10 @@ while IFS= read -r file; do done echo "" fi -done < <(find "$TARGET_DIR" -type f -name "*.gd") +done < <(find "$TARGET_DIR" -type f -name "*.gd" -not -path "./addons/*") if [ "$FOUND_MATCHES" -eq 0 ]; then - echo "Совпадений не найдено." + exit 0 fi + +exit 1 diff --git a/git-hook.sh b/git-hook.sh index e38d1643..44ba28d1 100644 --- a/git-hook.sh +++ b/git-hook.sh @@ -20,6 +20,7 @@ # - выполнение фиксации; # - выполнение слияния. +./check.sh . > "проверка.log" GDSCRIPT_FILE="scripts/commit.gd" HEAD="$(git rev-parse --abbrev-ref HEAD) $(git rev-parse --short HEAD) $(git log -1 --format=%cd)" diff --git a/ip-tables-navigation.sh b/ip-tables-navigation.sh index 960abb7e..a3108538 100644 --- a/ip-tables-navigation.sh +++ b/ip-tables-navigation.sh @@ -8,7 +8,6 @@ ## ``` ## > iptables v1.8.2 (nf_tables) - INI_FILE="/opt/5p28/device.ini" ## Путь к INI-файлу 5п28 SECTION_NAME="navigat" ## Название секции INI-файла 5п28 IP_PORT_NAME="port" ## Имя поля INI-файла 5п28 в котором хранится номер порта назначения From 3e7c579a3d771237eed3d367cf3797e8558451c4 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Thu, 22 Jan 2026 13:13:05 +0300 Subject: [PATCH 2/7] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/button-flat/nine-patch-button.gd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scenes/button-flat/nine-patch-button.gd b/scenes/button-flat/nine-patch-button.gd index 7936e624..6fe49ab2 100644 --- a/scenes/button-flat/nine-patch-button.gd +++ b/scenes/button-flat/nine-patch-button.gd @@ -97,7 +97,7 @@ func _enter_tree() -> void: func _on_settings_changed(): - apply_colors(ProjectSettings.get_setting("application/config/Цвет темы программы", false )) + apply_colors(ProjectSettings.get_setting('application/config/%s' % 'Цвет темы программы', false )) func _exit_tree() -> void: From abcb5ec40c352b6b0ed46556fcee0387c7b249ff Mon Sep 17 00:00:00 2001 From: sasha80 Date: Thu, 22 Jan 2026 13:14:39 +0300 Subject: [PATCH 3/7] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- check.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/check.sh b/check.sh index 72c43c7b..a140e2f5 100644 --- a/check.sh +++ b/check.sh @@ -50,7 +50,7 @@ while IFS= read -r file; do # Удаляем начальные и конечные пробелы gsub(/^[[:space:]]+|[[:space:]]+$/, "", line) - if (index(original_line, "\"\"\"") > 0) { + if (index(original_line, "\"\"\"") == 0) { # Ищем непустые строки с двойными кавычками if (line ~ /"[^"\\]*"/) { print line_num ": " original_line From 42ca66d61deda2d5b20bad7f11d03ac9cf0ea474 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Thu, 22 Jan 2026 13:26:39 +0300 Subject: [PATCH 4/7] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0.=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B8=D0=BD=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BE=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D0=B8=20?= =?UTF-8?q?=D0=B2=20=D0=B6=D1=83=D1=80=D0=BD=D0=B0=D0=BB=20=D0=BF=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- git-hook.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/git-hook.sh b/git-hook.sh index 44ba28d1..80a19566 100644 --- a/git-hook.sh +++ b/git-hook.sh @@ -20,9 +20,8 @@ # - выполнение фиксации; # - выполнение слияния. -./check.sh . > "проверка.log" - GDSCRIPT_FILE="scripts/commit.gd" +LOGFILE="проверка.log" HEAD="$(git rev-parse --abbrev-ref HEAD) $(git rev-parse --short HEAD) $(git log -1 --format=%cd)" if [ -n "$(git status --porcelain)" ]; then HEAD="Изменённый ${HEAD}" @@ -30,3 +29,6 @@ fi echo "extends Node" > ${GDSCRIPT_FILE} echo "# Файл сгенерирован автоматически! Не изменять вручную!" >> ${GDSCRIPT_FILE} echo "const VCS_HEAD = '${HEAD}'" >> ${GDSCRIPT_FILE} + +echo "${HEAD}" > ${LOGFILE} +./check.sh . >> ${LOGFILE} From baff75664840f65fa1d60e79369e9c3eca421ed1 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Thu, 22 Jan 2026 14:55:00 +0300 Subject: [PATCH 5/7] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/tilemap/tilemap.gd | 20 +++++--------------- scenes/работа/работа.gd | 8 ++++---- scripts/signaller.gd | 2 +- 3 files changed, 10 insertions(+), 20 deletions(-) diff --git a/scenes/tilemap/tilemap.gd b/scenes/tilemap/tilemap.gd index c12ce22d..81a011bc 100644 --- a/scenes/tilemap/tilemap.gd +++ b/scenes/tilemap/tilemap.gd @@ -26,7 +26,6 @@ const TILE_REQUEST_NAME: = 'tile_request_%d' @export_color_no_alpha() var back_color: = Color.BLACK @export var show_ship_radius: bool = true @export var ship_radius_km: float = 8.0 -@onready var scale_label: String @onready var coordinates_label: String @onready var threat_mark: PackedScene = load("res://scenes/tilemap/threat.tscn") @onready var ship_mark: PackedScene = load("res://scenes/tilemap/ship-mark.tscn") @@ -227,9 +226,11 @@ func _input(e) -> void: if e.button_index == MOUSE_BUTTON_WHEEL_DOWN: if (not is_out_border1) and (not is_out_border2): increment_zoom(-zoom_step, lmp) + update_scale_label() queue_redraw() elif e.button_index == MOUSE_BUTTON_WHEEL_UP: increment_zoom( zoom_step, lmp) + update_scale_label() queue_redraw() if e.button_index == MOUSE_BUTTON_LEFT: _dragging = e.pressed @@ -256,22 +257,12 @@ func _input(e) -> void: signaller.emmit(signaller.map_user_panning) -func multiply_zoom(multiplier: float, pivot: Vector2) -> void: - var p1: = screen_to_world(_xyz, pivot) - _xyz.z = clampf(_xyz.z * multiplier, min_zoom_level, max_zoom_level) - var p2: = screen_to_world(_xyz, pivot) - _xyz.x -= p2.x - p1.x - _xyz.y -= p2.y - p1.y - update_scale_label() - - func increment_zoom(increment: float, pivot: Vector2) -> void: var p1: = screen_to_world(_xyz, pivot) _xyz.z = clampf(_xyz.z + increment, min_zoom_level, max_zoom_level) var p2: = screen_to_world(_xyz, pivot) _xyz.x -= p2.x - p1.x _xyz.y -= p2.y - p1.y - update_scale_label() func set_zoom(zoom: float, pivot: Vector2) -> void: @@ -280,7 +271,6 @@ func set_zoom(zoom: float, pivot: Vector2) -> void: var p2: = screen_to_world(_xyz, pivot) _xyz.x -= p2.x - p1.x _xyz.y -= p2.y - p1.y - update_scale_label() func _draw() -> void: @@ -377,8 +367,6 @@ func _process(delta) -> void: if _queue.is_empty(): emit_signal('load_completed') - update_scale_label() - func process_online(result): # ERROR: res://scenes/tilemap/tilemap.gd:396 - Invalid access to property or key 'online' on a base object of type 'Nil'. @@ -732,7 +720,7 @@ func update_coordinates_label(lon: float, lat: float) -> void: func update_scale_label() -> void: - scale_label = 'Масштаб: ' + str(round(_xyz.z)) + var scale_label: = 'Масштаб: %f' % round(_xyz.z) signaller.emit_signal('update_scale_map', scale_label) @@ -766,6 +754,7 @@ func zoom_in() -> void: return var center: Vector2 = $canvas.size / 2.0 increment_zoom(zoom_step, center) + update_scale_label() queue_redraw() @@ -774,6 +763,7 @@ func zoom_out() -> void: return var center: Vector2 = $canvas.size / 2.0 increment_zoom(-zoom_step, center) + update_scale_label() queue_redraw() diff --git a/scenes/работа/работа.gd b/scenes/работа/работа.gd index 10d86c7d..182fe88f 100644 --- a/scenes/работа/работа.gd +++ b/scenes/работа/работа.gd @@ -663,12 +663,12 @@ func on_btn_activate_toggled(toggled_on: bool) -> void: $btn_activate.self_modulate = Color.WHITE -func on_update_coordinates_label(coordinates_label) -> void: - $coordinates_map.text = str(coordinates_label) +func on_update_coordinates_label(coordinates_label: String) -> void: + $coordinates_map.text = coordinates_label -func on_update_scale_label(scale_label) -> void: - $scale_map.text = str(scale_label) +func on_update_scale_label(scale_label: String) -> void: + $scale_map.text = scale_label func on_btn_close(): diff --git a/scripts/signaller.gd b/scripts/signaller.gd index 6491caed..46fbe23d 100644 --- a/scripts/signaller.gd +++ b/scripts/signaller.gd @@ -197,7 +197,7 @@ signal emit_changed(state) ## Вызывается при изменении детализации карты.[br] ## [param new_scale] - обновленное значение масштаба ([b]true[/b] -signal update_scale_map(new_scale) +signal update_scale_map(new_scale: String) ## Вызывается при изменении текущих координат.[br] From f769d761db40ccf47e8d02723414c98f90fb3473 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Thu, 22 Jan 2026 15:16:00 +0300 Subject: [PATCH 6/7] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/tilemap/tilemap.gd | 13 ++++++++----- scenes/работа/работа.gd | 6 +++--- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/scenes/tilemap/tilemap.gd b/scenes/tilemap/tilemap.gd index 81a011bc..99f75444 100644 --- a/scenes/tilemap/tilemap.gd +++ b/scenes/tilemap/tilemap.gd @@ -2,6 +2,9 @@ extends CanvasGroup class_name MercatorTileMap +const VECTOR00: = Vector2(0, 0) +const VECTOR11: = Vector2(1, 1) + ## Отображение карт WEB Mercator #http://10.1.1.220/osm_tiles/0/0/0.png @@ -88,7 +91,7 @@ var _marks: Dictionary = {} var _req_count: = 0 var image: = Image.new() var image_load_proc: Callable -var now: = 0 +var now: = 0.0 var visible_marks_count: = 0 var border1: ImageTexture var border2: ImageTexture @@ -276,8 +279,8 @@ func set_zoom(zoom: float, pivot: Vector2) -> void: func _draw() -> void: # Рисование плиток var z: float = min(max_zoom_level, _xyz.z) - var t1: = screen_to_tile(Vector2(0, 0), z) - var t2: = screen_to_tile($canvas.size, z) + Vector2(1, 1) + var t1: = screen_to_tile(VECTOR00, z) + var t2: = screen_to_tile($canvas.size, z) + VECTOR11 is_out_border1 = true is_out_border2 = true for tx in range(t1.x, t2.x): @@ -363,7 +366,7 @@ func _process(delta) -> void: remove_child(req) req.queue_free() _req_count -= 1 - push_error('запрос \"%s\" не отправлен' % tile.url) #TODO: For Deugs + push_error('запрос \"%s\" не отправлен' % tile.url) if _queue.is_empty(): emit_signal('load_completed') @@ -630,7 +633,7 @@ class Tile: var x: int = 0 var y: int = 0 var z: int = 0 - var t: int = 0 + var t: float = 0.0 var url: String = '' var texture: Texture2D = null diff --git a/scenes/работа/работа.gd b/scenes/работа/работа.gd index 182fe88f..5d199846 100644 --- a/scenes/работа/работа.gd +++ b/scenes/работа/работа.gd @@ -634,12 +634,12 @@ func set_btns_disabled(value: bool, btn): func on_interfer_prinuditelno(prenuditelno_sectors): for key in prenuditelno_sectors: - var sectors = [] + var sectors: = [] for sector in prenuditelno_sectors[key]: sectors.append(prd.get_fs_param(sector)) signaller.emit_signal('interfer_init', key, sectors, interfer.POW_DEFAULT) update_fs_colors() - var btns: Array = get_tree().get_nodes_in_group('группа-режим-помехи') + var btns: = get_tree().get_nodes_in_group('группа-режим-помехи') for btn in btns: btn.set_pressed(false) set_btns_disabled(true, btn) @@ -698,7 +698,7 @@ func on_th_aoa_update(ths): func count_threats(ths): - $count_all_pad/count_all.text = '%02d' % ths.size() + $count_all_pad/count_all.text = '%02d' % ths.size() if ths.size() < 100 else 99 var c: int = 0 if gos_flag: c = ths.values().filter(func(th: threats.Threat): return th.proto != '').size() From d0d9e2630d2ce2ad9d4b9348f3ecfd1c3fe45840 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Thu, 22 Jan 2026 15:45:03 +0300 Subject: [PATCH 7/7] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/контроль/control-prd.gd | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/scenes/контроль/control-prd.gd b/scenes/контроль/control-prd.gd index 6c4475fd..ee217acd 100644 --- a/scenes/контроль/control-prd.gd +++ b/scenes/контроль/control-prd.gd @@ -30,18 +30,14 @@ func _setup_styles() -> void: func _setup_signals() -> void: connect('pressed', Callable(self, '_on_pressed')) - - if not signaller: - return - var signals_to_connect := ['режим_работа', 'режим_журнал', 'режим_эмс', 'режим_настройки", "режим_контроль'] + var signals_to_connect := ['режим_работа', 'режим_журнал', 'режим_эмс', 'режим_настройки', 'режим_контроль'] for signal_name in signals_to_connect: - if signaller.has_signal(signal_name): - signaller.connect(signal_name, Callable(self, '_on_status_change')) + signaller.connect(signal_name, Callable(self, '_on_status_change')) func _on_pressed(): disabled = true - text = 'Идет выполнение контроля' + text = 'Контроль выполняется ...' flag_control_is_over = false _start_pulse()