doom2d.org

Главная база плоских морпехов
It is currently 02 Dec 2024, 13:40

All times are UTC + 3 hours




Post new topic Reply to topic  [ 10 posts ] 
Author Message
PostPosted: 23 May 2023, 23:33 
Offline
Приколист
User avatar

Joined: 04 Feb 2010, 14:42
Posts: 928
Location: Equestria
Удалось собрать более-менее работающую версию на Mac OS X 10.5.8 + PowerPC + Carbon с Lazarus 2.2.4.
Самые противные баги уже поисправлял. Тут сохраню списки чего еще надо выправить.

Известные баги:
- Экран не перерисовывается во время скроллинга или рисования панелей
- Отлов исключений иногда не работает, вместо окошка с инфой об ошибке редактор падает
- Стектрейсы в логе не показывают местоположение
- Загрузка карты, её отображение и редактирование происходит параллельно, чего быть не должно
- Иногда нижняя панель с текстурами перестает ресайзиться (статусбар перескаквает со своего места и становится над панелью с вкладками)
- Некоторые кнопки в меню/тулбаре рассинхронизированы
- Progress Bar не отображается на OSX

Локализация:
- Не все новые строки локализованы (меню, настройки редактора, сообщение о недоступности недавнего файла, системные меню/кнопки)
- На старте формы отображаются до того как к ним применена локализация
- На OSX cистемные меню и формы не переводятся (вроде как достаточно добавить строки в файлы локализации)
- На OSX не определяется системный язык (Info.plist или editor.app/Contents/Resources/${lang}.lproj должны указывать на поддерживаемые языки)
- На OSX смена языка в настройках не меняет язык системных меню и диалогов. (требуется пнуть ещё что-то?)

Интерфейс:
- Увеличить шрифт в списке текстур
- Увеличить скроллбары для скроллинга карты
- Все настройки переместить в один диалог с табами
- Поправить расположение и размеры кнопок и других контролов
- Добавить в меню View команду Show Grid (уже есть на тулбаре)
- Добавить в меню View команду Show Toolbar

Общее:
- Сделать возможным скроллинг карты колёсиком
- Сделать добавление и удаление ресурсов из WAD
- Сделать замену невалидных ресурсов на карте

Адаптация к платформе:
- Сделать иконку (Джа)
- Сделать About App диалог
- Переделать раскладку меню
- Убрать иконки из меню
- Сменить хоткеи (частично сделано - только меню)
- Добавить поддержку однокнопочной мыши
- Добавить поиск wads в нескольких местах: бандл editor.app, бандл game.app(?), внешние ресурсы ~/Library/Application Support/Doom 2D Forever/wads, пользовательские ресурсы ~/Documents/Doom 2D Forever/Wads
- Сделать автоматический поиск Doom 2D Forever.app в стандартных местах для приложений
- Сделать альтернативные наборы иконок в меню и тулбар

Наркомания:
- Отделить код редактора свойств объектов от главной формы
- Отделить код "палитры" объектов от главной формы
- Сделать документ-ориентированный интерфейс (возможность открыть несколько карт в одном инстансе редактора)
- Сделать отцепляемые панели

Кросс-сборка:
- Сделать кросскомпиляцию
- Сделать автосборку
- Добавлять в dmg с игрой

Скриншот:

Attachment:
Picture 35.png
Picture 35.png [ 140.32 KiB | Viewed 6225 times ]



Top
 Profile  
 
PostPosted: 26 May 2023, 15:14 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7639
Location: \\HULK
Круто. Жаль, пока не могу протестировать.

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
PostPosted: 27 May 2023, 02:08 
Offline
Приколист
User avatar

Joined: 04 Feb 2010, 14:42
Posts: 928
Location: Equestria
Без нормальной мышки не юзабельно. На маках для эмуляции ПКМ используется ctrl, но у нас наверняка используетя для чего-то другого. Хоткеи под мак надо переделывать. Те что в меню - я уже поменял, а вот те что обрабатываются в коде еще не трогал.


Top
 Profile  
 
PostPosted: 31 May 2023, 16:03 
Offline
Приколист
User avatar

Joined: 04 Feb 2010, 14:42
Posts: 928
Location: Equestria
Собрал тут все хоткеи используемые редактором, что бы адаптировать под особенности мака, ну и написал краткую заметочку по гайдлайнам. Надо будет привести всё в соответствии.


Клавиатура:
[Win] Guidelines for Keyboard User Interface Design
[Win] Shortcut Keys: UI Text Guidelines
[Win] Windows keyboard shortcuts for accessibility
[Win] Keyboard shortcuts in Windows
[Win] Keyboard shortcuts in apps
[Mac] Human Interface Guidelines: Keyboards
[Mac] Mac keyboard shortcuts
TODO: посмотреть аналоги для никсов

Коротко:
- Надо юзать хоткеи как в других программах для схожих операций. Как пример Ctrl+C/Ctrl+V/Ctrl+Z - во всех программах действие схожее (в нашем случае можно тырить хоткеи из графических редакторов и CAD'ов)
- Избегать конфликтов с системными хоткеями, избегать дублирования хоткеев
- (Win) Предпочтительно использовать модификатор Ctrl и F1-F12 для хоткеев, использовать модификатор Shift как дополнение/расширение к основному хоткею, избегать использование Alt+key и кнопки Win.
- (Mac) Предпочтительно использовать модификатор Command(⌘) для хоткеев, использовать модификатор Shift(⇧) как дополнение/расширение к основному хоткею и не использовать его для несвязанных операций, использовать модификатор Option(⌥) для редких операций, избегать использование модификатора Control(⌃), не рекомендуется использовать однобуквенные хоткееи key


Мышь:
[Win] Mouse interactions
[Mac] Human Interface Guidelines: Pointing devices
TODO: посмотреть аналоги для никсов

Коротко:
- Использовать левую кнопку для основных действий (нажатие, выделение, перемещение, etc)
- Использовать правую кнопку для открытия контекстного меню
- Использовать колёсико для скроллинга и масштабирования

Надо еще учитывать что на маках весьма распространены однокнопочные мыши. На таких системах правая кнопка эмулируется комбинацией Control+Click, а левая комбинацией Command+Click. Поэтому Control/Command не получится юзать для быстрого переключения режимов или чего-то типа того.


Top
 Profile  
 
PostPosted: 31 May 2023, 16:03 
Offline
Приколист
User avatar

Joined: 04 Feb 2010, 14:42
Posts: 928
Location: Equestria
Актуальная на данный момент таблица хоткеев (2024/02/11)

Win                  Mac          Описание
===============================================================================

Общие
-----
~ ~ Показать/Скрыть все слои
F1 F1 Показать/Скрыть слой "Фон"
F2 F2 Показать/Скрыть слой "Передний план"
F3 F3 Показать/Скрыть слой "Стены"
F4 F4 Показать/Скрыть слой "Двери"
F5 F5 Показать/Скрыть слой "Ступени"
F6 F6 Показать/Скрыть слой "Жидкости"
F7 F7 Показать/Скрыть слой "Лифты и потоки"
F8 F8 Показать/Скрыть слой "Зонирование"
F9 F9 Показать/Скрыть слой "Монстры"
F10 F10 Показать/Скрыть слой "Области"
F11 F11 Показать/Скрыть слой "Предметы"
F12 F12 Показать/Скрыть слой "Триггеры"

Ctrl+~ ⌃~ Показать/Скрыть контуры на всех слоях
Ctrl+1 ⌃1 Показать/Скрыть контуры на слое "Фон"
Ctrl+2 ⌃2 Показать/Скрыть контуры на слое "Передний план"
Ctrl+3 ⌃3 Показать/Скрыть контуры на слое "Стены"
Ctrl+4 ⌃4 Показать/Скрыть контуры на слое "Двери"
Ctrl+5 ⌃5 Показать/Скрыть контуры на слое "Ступени"
Ctrl+6 ⌃6 Показать/Скрыть контуры на слое "Жидкости"
Ctrl+7 ⌃7 Показать/Скрыть контуры на слое "Лифты и потоки"
Ctrl+8 ⌃8 Показать/Скрыть контуры на слое "Зонирование"
Ctrl+9 ⌃9 Показать/Скрыть контуры на слое "Монстры"
Ctrl+10 ⌃10 Показать/Скрыть контуры на слое "Области"
Ctrl+11 ⌃11 Показать/Скрыть контуры на слое "Предметы"
Ctrl+12 ⌃12 Показать/Скрыть контуры на слое "Триггеры"

E E Режим предпросмотра (зажатие)
W W Скроллить карты вверх (шаг сетки)
S S Скроллить карты вниз (шаг сетки)
A A Скроллить карты влево (шаг сетки)
D D Скроллить карты вправо (шаг сетки)
Shift+W ⇧W Скроллить карты вверх (шаг сетки 4x)
Shift+S ⇧S Скроллить карты вниз (шаг сетки 4x)
Shift+A ⇧A Скроллить карты влево (шаг сетки 4x)
Shift+D ⇧D Скроллить карты вправо (шаг сетки 4x)
Num Pad 8 Num Pad 8 Передвинуть объект вверх (шаг сетки) † ††
Num Pad 5 Num Pad 5 Передвинуть объект вниз (шаг сетки) † ††
Num Pad 4 Num Pad 4 Передвинуть объект влево (шаг сетки) † ††
Num Pad 6 Num Pad 6 Передвинуть объект вправо(шаг сетки) † ††

Escape ⎋ Отменить выделение
Delete ⌦ Удалить объект(ы)
Ctrl+N ⌘N Создать карту (очистить)
Ctrl+O ⌘O Открыть
Ctrl+S ⌘S Сохранить
⇧⌘S Сохранить как...
Ctrl+R ⌘R Вернуться к сохраненному (переоткрыть)
Ctrl+Z ⌘Z Отменить действие (РАБОТАЕТ ГЛЮЧНО!)
Ctrl+C ⌘C Копировать
Ctrl+X ⌘X Вырезать
Ctrl+V ⌘V Вставить
Ctrl+Shift+V ⌃⇧V Вставить по абсолютному смещению
Ctrl+A ⌘A Выделить все объекты
Ctrl+Alt+A ⌥⌘A Выделить все слои

Ctrl+Q ⌃Q Включить/выключить привязку к сетке
Ctrl+E ⌃E Переключить размер сетки
Ctrl+[ ⌘[ Передвинуть назад
Ctrl+] ⌘] Передвинуть вперед
Ctrl+M ⌥⌘P Открыть свойства карты
Ctrl+W ⌃W Показать/скрыть мини-карту

⌘, Открыть настройки редактора
⌘M Скрыть окно
⌘H Скрыть редактор
⌥⌘H Скрыть другие программы
F10 ⌘Q Закрыть редактор

Tab ⇥ Режим предпросмотра
Ctrl+Tab ⌃⇥ Следуюший слой

Shift+LeftClick ⇧LeftClick Выбрать объект за выбранным объектом

RightClick RightClick Выбрать объект
Ctrl+RightMouse ⌃RightMouse Инвертирующее выделение объектов
Ctrl+Alt+RightMouse ⌃⌥RightMouse Инвертирующее выделение объектов на всех слоях

MiddleDrag MiddleDrag Перемещение по карте

Панели
------
LeftDrag LeftDrag Создать панель
Ctrl+LeftClick ⌃LeftClick Создать панель по размеру текстуры (или сетки, если без текстуры)
RightDrag RightDrag Выделение панелей, перемещение панелей†, изменение размера панели

Предметы

--------
LeftClick LeftClick Создать предмет
Ctrl+LeftMouse ⌃LeftMouse Создать предмет по левой верхней точке
RightClick RightClick Выбрать предмет
RightDrag RightDrag Выделение предметов, перемещение предметов†

Монстры
-------
LeftClick LeftClick Создать монстра
Ctrl+LeftMouse ⌃LeftMouse Создать монстра по левой верхней точке
RightDrag RightDrag Выделение монстров, перемещение монстров†
I I Развернуть монстра на 180°

Области
-------
LeftClick LeftClick Создать область
Ctrl+LeftMouse ⌃LeftMouse Создать область по левой верхней точке
RightDrag RightDrag Выделение областей, перемещение областей†
I I Отразить область

Триггеры
--------
LeftDrag LeftDrag Создать триггер
Ctrl+LeftMouse ⌃LeftMouse Создать триггер по размеру сетки
RightDrag RightDrag Выделение триггеров, перемещение триггеров†, изменение размера триггера
Ctrl+T ⌃T Выбрать текстурированную панель для триггера
Ctrl+D ⌃D Выбрать область воздействия триггера

Мини-карта
----------
LeftMouse LeftMouse Переместиться в точку на карте

Свойства объектов
-----------------
Enter Return Применить свойство

=============

† Добавление модификатора Shift/⇧ перемещает с проверкой столкновений
Добавление модификатора Ctrl/⌃ перемещает вместе с областью действия триггера
Можно комбинировать
†† Добавление модификатора Alt/⌥ перемешает на пиксель

LeftClick = Нажатие левой кнопки мыши
LeftDrag = Нажатие левой кнопки мыши и перетягивание
LeftMouse = LeftClick или LeftDrag
Аналогично для других кнопок мыши


Top
 Profile  
 
PostPosted: 31 May 2023, 16:16 
Offline
Приколист
User avatar

Joined: 04 Feb 2010, 14:42
Posts: 928
Location: Equestria
Почти все хоткеи надо менять что бы было более-менее по гайдлайнам. А способ создания и редактирования объектов тоже придется сильно переделать что бы была возможна поддержка однокнопочной мыши.
Если есть пожелания по хоткеям - можно их сюда строчить. Ну или линки на реквесты/баги (вроде что-то было на тему).


Top
 Profile  
 
PostPosted: 02 Jun 2023, 01:28 
Offline
Приколист
User avatar

Joined: 04 Feb 2010, 14:42
Posts: 928
Location: Equestria
Вчера переделывал хоткеи, не понравилось то что получилось. Делать по-нормальному не позволяет текущая архитектура.
Попробую может решить с однокнопочными мышами.


Top
 Profile  
 
PostPosted: 02 Jun 2023, 13:28 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7639
Location: \\HULK
Как-то всерьез понять про хоткеи можно только помаппив на маке.
Попросил однокнопочную мышку, скорее всего завтра она у меня будет.

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
PostPosted: 02 Jun 2023, 13:35 
Offline
Приколист
User avatar

Joined: 04 Feb 2010, 14:42
Posts: 928
Location: Equestria
Jabberwock wrote:
Как-то всерьез понять про хоткеи можно только помаппив на маке.
Я про техническую часть. Повыдирал обработку хоткеев из нестандартного механизма - усугубились проблемы при редактировании свойств в панели свойств - нужны другие хаки или переделка всего.


Top
 Profile  
 
PostPosted: 08 Sep 2023, 02:42 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 7639
Location: \\HULK
исправил текст в описании хоткеев - там куча опечаток была

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 10 posts ] 

All times are UTC + 3 hours


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
doom2d.org, since 2007