0.1.90
Pre-release
Pre-release
📦 Что нового? (В разработке)
📚 Большое обновление ArcadeDeck!
Это обновление, на самом деле — отправная точку к тому, чего хотят все, кто связан так или иначе с эмуляцией — простоту работы с ними и простое желание поиграть или вспомнить детство. Я считаю, что вспомнить детство в контексте запуска ретро-игр не должно быть времязатратным или хлопотным. В этом обновлении я закладываю основу работы программы, расчерчиваю ядро программы и строю его так, чтобы оно работало стабильно и было гибким к новым изменениям в программе.
Это будет новый опыт для тех, кто знает про эмуляцию.
А пока — список изменений ниже:
🧩 Полностью переработан главный экран
- Новый экран библиотеки создаётся автоматически, если в папке
users/gamesобнаружена одна или более игр. - Если игр нет — появляется минималистичный экран:
Поисковик в центре. На данный момент поддерживает лишь небольшое количество игр, встроен поиск по гайдам со сборника. В дальнейшем будет активно развиваться.
Одна кнопка-плитка для добавления игры — через нажатие или drag-n-drop! - Поддержка перетаскивания: можно переместить
.iso,.csoили.pbpфайл прямо в окно программы. - Поддержка открытия системного проводника (через ту же кнопку) — для выбора файла вручную.
- После добавления — программа автоматически переместит игру в каталог и отобразит игру в виде плитки.
- В программе реализована динамическая отрисовка плиток игр. Добавили 10 игр в программу — столько и появится :)
- Начало работы над механикой: если у игры нет конфига — программа предложит его создать или запустить как есть.
- Реализовано, нужны небольшие доработки: если добавлен неподдерживаемый формат — программа проигнорирует такие файл и добавить только игры поддерживаемых форматов. В программе невозможно добавить неподдерживаемый формат — его нет в списке в проводнике, а при перемещении с помощью drag-n-drop будет активен крестил — формат не поддерживается.
📂 Файлы, задействованные в системе
game_library.py— отвечает за главный экран (поисковик, плитки, drag-n-drop)game_importer.py— логика обработки вручную добавленных файловgame_scanner.py— сканирует папкуusers/gamesи проверяет форматыplatform.json— описывает поддерживаемые форматы (расширяемо)search_bar.py— Модуль поиска, в будущем расширится
🧩 Экран информации об игре
- Начальная реализация экрана информации об игре. На этом экране пользователи в будущем смогут запускать свои игры, устанавливать новые, а так же изучить описание, скришноты и тд.
🎮 Система навигации в программе
- Отказ от устаревшего pygame для работы с управлением геймпадом, его событиями и тд.
- Вместо этого будет использоваться SDL2 последней версии.
🧠 Расширяемая система форматов
- Введён
platform.json— содержит информацию о поддерживаемых форматах эмуляторов. - Пока реализована поддержка PPSSPP (PSP), с форматами
.iso,.cso,.pbp.
⚙️ Оптимизации. чистка проекта. правка багов
- Удалены старые дублирующиеся UI-элементы, кнопки, верхние панели
- Обновлена централизованная система навигации между слоями
- Поддержка действий с геймпада (навигация, выход, установка игр)
- Очистка кода от плагинов, старых методов и дублирования
- Упрощена структура проекта, основные функции разделены по модулям
- Исправлен сломанный запуск с ярлыка на рабочем столе 😀
- Исправлена ошибка при отсутствии обновлений не показывалось уведомление об отсутствии обновлений.
💽 Установщик
- Один кроссплатформенный установщик, который скачивает только нужную версию
- Удалена лишняя документация и тесты из пакета — размер архива стал меньше
- Финальная чистка кода установщика, улучшена скорость установки
📈 Результаты работы
- Полный вес программы со всеми компонентами уменьшился с 292МБ до 260МБ
- Удалено более 400 строк кода
- Программа работает стабильнее и плавнее
- Занимает меньше места примерно на
- Заложена мощная основа для относительно простой масштабируемости в плане поддержки эмуляторов, новых игр, конфигураций и тд.