Merge remote-tracking branch 'sasha80/master'

# Conflicts:
#	scenes/контроль/control-prd.gd
This commit is contained in:
Maxim
2026-01-23 15:00:33 +03:00
9 changed files with 39 additions and 43 deletions

1
.gitignore vendored
View File

@@ -39,3 +39,4 @@ modbus/serial/__pycache__
/scenes/pribor-prd-n/kasseta-fs-nd.tscn.bak
*.patch
проверка.log

View File

@@ -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

View File

@@ -20,8 +20,8 @@
# - выполнение фиксации;
# - выполнение слияния.
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}"
@@ -29,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}

View File

@@ -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 в котором хранится номер порта назначения

View File

@@ -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:

View File

@@ -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
@@ -26,7 +29,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")
@@ -89,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
@@ -227,9 +229,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 +260,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,14 +274,13 @@ 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:
# Рисование плиток
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):
@@ -373,12 +366,10 @@ 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')
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'.
@@ -642,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
@@ -732,7 +723,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 +757,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 +766,7 @@ func zoom_out() -> void:
return
var center: Vector2 = $canvas.size / 2.0
increment_zoom(-zoom_step, center)
update_scale_label()
queue_redraw()

View File

@@ -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 := ['режим_работа', 'режим_журнал', 'режим_эмс', 'режим_настройки', 'режим_контроль']
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()

View File

@@ -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)
@@ -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():
@@ -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()

View File

@@ -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]