Logical Path обновление 7.0.0
Доброго времени суток, создаю обучающий симулятор по сборке своего процессора, где мы в игровой форме изучим и соберем настоящий процессор.
И сегодня хочу представить вам новое обновление, главные особенности которого:
• Глобальное обновление редактора
• Улучшение интерфейса
Подробнее под катом
Описание обновления
Если вы встречаете этот проект в первый раз, рекомендую вам сперва ознакомиться с этой статьей
Цели этого обновления были улучшения редактора и интерфейса. После всех изменений проект стал выглядеть более профессионально. Было добавлено очень много полезных функции и улучшений, таких как: глобальный буфер обмена, возможность сохранять/загружать схемы из файла, возможность перетаскивать участки схемы и многое другое.
Также был полностью переработан дизайн и обе цветовые схемы:
Светлая тема
Темная тема
Ну а теперь приступим к самому вкусному:
Список изменений:
Глобальное улучшение редактора
- Добавлены вкладки, возможность работать с множеством схем в одной сессии (реализация многодокументного интерфейса с вкладками)
В прошлой версии редактор мог работать только с одной схемой
- Сохранение/загрузка схем в файл
- Окно выбора файла
- Область выделения стала глобальной и теперь доступна вне инструмента "выделить", в том числе теперь всегда доступны эти функции:
Выделить всю схему (Ctrl + A)
Инвертировать выделение (Ctrl + I)
Снять выделение (Ctrl + D)
Удалить выделенную часть схемы (Delete)
Копировать/Вставить/Вырезать (Ctrl + C/V/X) - Копировать/Вставить/Вырезать стали глобальными и теперь работают с буфером обмена через текст, что позволяет очень просто переносить разные части схем между вкладками или делиться ими в сообщениях/форуме/дискорде
- Улучшение камеры:
Позиция мыши как центр масштабирования
Возможность сбросить состояние камеры, положение и масштаб, через (Alt + R) - Добавлена строка меню, откуда можно получить доступ ко всем основным функциям редактора
- Добавлена строка управления, где находятся:
Отменить/повторить
Приблизить/отдалить
Контроль времени
Элементы управления текущего инструмента
- Вывод вопроса о сохранении при закрытии схем. Если есть изменения, то выводится диалоговое окно с вопросом сохранить изменения или нет
- Автоматическое закрытие всех открытых схем при выходе из редактора, в том числе и при закрытии программы
- Новые варианты сетки:
Точки
Комбинированный (Шахматное поле + Точки)
- Сохранение состоянии проводов при удалении объектов и проводов. Теперь при восстановлении элементов схемы, через "Отменить", будут восстановлены и состояния проводов для них. Это нужно для таких схем где состояние проводов используются как элемент памяти
- Теперь клик по многобитному вводу открывает панель для ввода значения, вместо генерации случайного числа
Панель всегда открывается в противоположную сторону от поворота объекта
Любые события за пределами панели, сразу закрывают её
Работает во всех трех режимах (редактор, теория, практика)
- Возможность применить глобальные трансформации к схеме:
Повернуть на 90/-90/180 градусов
Отразить по горизонтали/вертикали
Выровнять по центру - Возможность скрывать/показывать панели редактора
- Возможность менять позицию панели вкладок: вверху или внизу
Инструменты:
- Новый инструмент "Ластик"
- Новый инструмент "Перемещение"
Возможность двигать объекты, соединения, а также выделенные части схемы - Инструмент "Выделить": Изменен хоткей: e -> m
- Инструмент "Вставка":
Возможность вращать и зеркалить буферную схему
Игнорирование элементов которые совпадают с схемой
Если элементы, объекты или провода, из буфера совпадают с элементами на схеме, то они рисуются синим и не вставляются в схему
При этом состояние проводов вставляются всегда, что может быть использовано, чтобы копировать состояние одной схемы поверх другой. К примеру ячеек памяти
Shift для принудительной установки объектов - Добавлена обводка объектов под мышкой
Объекты
- Добавлена возможность отражать объекты по горизонтали и вертикали
- Многобитный ввод/вывод:
Убрано свойство "Reverse bit order", так как теперь этот функционал выполняют отражения - Добавлены два новых символа: минус, больше
Окно редактирования свойств объектов
- Полностью переделаны все окна связанные с редактированием свойств объектов. Они стали более удобные и красивые
- Добавлена локализация для русского языка
- Ввод значения для мультибитного ввода
Теперь поддерживает 3 способа ввода: текст, слайдер, отдельные биты - Компоненты ввода подстраиваются под тип отображения (десятичный знаковый, десятичный беззнаковый, шестнадцатеричный)
- Hex числа теперь отображаются без префикса "0x"
- Символ: выбор иконки вместо текста
Учебник
- Добавлена прокрутка статей с помощью: пробела | home/end | стрелки вверх/вниз
- Кнопка "сбросить схему" в практике: при нажатии теперь показывает диалоговое окно с подтверждением, и подсказкой что действие можно отменить
- Умное позиционирование статей: если панель "выбора статьи" при открытии не перекрывает статью, то статья остается на месте, иначе она сдвигается и центрируется по правой стороне
Полностью переработан и улучшен интерфейс
- HD текстуры для элементов схемы
- Разделители между панелями интерфейса
- Полностью переработаны обе цветовые схемы
Светлая тема стала более светлой и менее серой
Темная тема стала более контрастная - Дизайн всех кнопок был улучшен
- Логика всех кнопок была улучшена, теперь нажатие засчитывается только когда мышь нажали, а затем отпустили над этой же кнопкой
- Исправлен рендер внутреннего прямоугольника с закругленными краями в Input/Output, теперь внутренние углы правильно совпадают с внешними
- Улучшен дизайн Checkbox и RadioButton
- Добавлена тень к модальным окнам
- Добавлены кнопки патреона и itchio в боковую панель
- Улучшен скроллбар
- Скролл "выбора статьи" теперь следует за выбранной статьей, если она оказался за пределами видимости
- Улучшен внешний вид титров
- Улучшена помощь по-управлению
- Улучшена обучающая панель в практике
- Улучшено окно редактирования профиля
- и много других изменении...
Особенности
- F1 - контекстная помощью по управлению во всех трех режимах (редактор, теория, практика)
- Вывод патронов, которые активны при разработке данной версии, в главном меню
- Переход на Java 8
- Поддержка графического планшета
Опции
- VSync включен по-умолчанию
- Опция "Запускать тики после загрузки" была перенесена в "Файл > Запускать тики после загрузки схемы"
- Опция "Сетка мира" была перенесена в "Просмотр > Показывать сетку"
Багфиксы
- Исправлен баг когда управление в Инструменте "Провод" в режиме строительства "нажать и тянуть" инвертировалось, если мышь отпустили за пределами пространства схемы
Статистика
Это самое крупное обновление из всех, и вот немного интересной статистики:
На разработку обновления ушло 4,5 месяца
На составление и сортировку списка изменений ушло около 5 дней, а исходный список изменений занимает 670 строк
Был сделан 371 коммит, а всего коммитов в проекте 804. Из чего следует, что около 46% всех изменений в проекте было сделано в этом обновлении
Было изменено 562 файла (редактирование/добавление/удаление). 411 из которых файлы кода
Планы на следующие апдейты
Планирую выпустить еще пару фич для редактора, так что будут еще версии 7.0.0+
В частности планирую добавить:
- Возможность ставить заметки на схемах
- Цветные провода
- Многобитные провода
- Области
8.0.0 будет посвящена либо статьям по созданию памяти (регистры, озу), либо игровому режиму. Смотря что будет более актуальным
Заключение
Надеюсь вам понравится это обновление. Делитесь своими мыслями и предложениями в комментариях. Также делитесь вашими схемами в нашем дискорде
Буду очень благодарен за любую поддержку, будь то репост в социальные сети или донат на патреоне, так как разработка такого проекта отнимает очень много времени и сил
Ссылки
Скачать последний билд можно тут: https://goodcrafter.itch.io/logicalpath
Discord: https://discord.gg/h7rMacq
VK: https://vk.com/gcgame
Patreon: https://www.patreon.com/logical_path
Это не первый мой проект, и буду очень рад если вы ознакомитесь и с другими моими играми:
Особая благодарность патронам поддержавшим выход этой версии
- SH42913
- Astor_78
- JackNight
- kewldan