RU

QSP Game Converter

studentik #2643 06.05.2024 04:49 1 comment 3214 views

Вообще, изначально я не планировал писать что-то подобное - можно сказать, что эксперимент вышел из-под контроля :)
Сначала я написал модуль для чтения файлов игр QSP, который выложил в группу в Дискорде, дабы его исходники могли использовать энтузиасты, как “старт” при создании чего-то своего, чтобы не пришлось вникать в структуру формата. А потом пошел долгий процесс тестирования и оптимизаций - страшно вспоминать (и даже стыдно - кто есть в Дискорде, тот в курсе)… Ну а потом я решил сделать инструмент для разработчиков игр, с возможностью расширения функционала за счет поддержки плагинов.

Собственно, что может QSP Game Converter “из коробки”:
* Возможность работы в трех режимах:
1. Получение информации о содержимом файла игры QSP
2. Разборка файла игры QSP по локациям - на отдельные текстовые файлы (в UTF-8 кодировке)
3. Сборка единого файла игры QSP из нескольких текстовых файлов и/или директорий с ними
* В последних двух режимах также есть возможность указания конкретного расширения для исходных текстовых файлов - на тот случай, если в директориях с исходниками у вас находятся не только сами исходники, но и заметки/скрипты/прочее.
* В режиме сборки вы также можете указать главный файл локации вручную
* Поддержка плагинов при работе с файлами (как с текстовыми, так и с файлами игр QSP)
* Поддержка специальных переменных - аналог “Переменных окружения” в Windows
* Поддержка указания путей - как абсолютных, так и относительных

Что это значит для вас, как для разработчиков игр для Quest Soft Player:
* Вы больше не зависите от конкретных программ для написания кода игры.
* У вас появляется возможность структурировать игровые локации так, как вам удобнее - в одном текстовом файле, или в нескольких; в одной директории, или в разных, или даже на разных устройствах.
* Расширение исходных текстовых файлов также не имеет никакого значения.
* Если вы разрабатываете несколько игр параллельно, и используете в них одинаковые локации, то у вас больше нет необходимости копировать их из одной игры - в другую. Вместо этого вы можете создать отдельную директорию с общими файлами, содержащими эти локации, и свободно модифицировать их, а при сборке лишь указать эту директорию, и все файлы в ней будут также собраны в игру, вместе со всеми остальными, указанными вами.

Важно!
* О плагинах:
* Программа возлагает ответственность на пользователя за указание порядка загрузки плагинов - этим самым вы можете скорректировать правильную обработку локаций с помощью плагинов. Учитывайте это, когда указываете список необходимых плагинов для работы. Вы также можете указать директорию с плагинами вместо списка, и в этом случае вы также имеете возможность коррекции работы - путем изменения названия файлов, чтобы они шли в том порядке, в котором вам необходимо (например: 01. имя плагина.dll, 02. имя плагина.dll, и т.д.).
* Также стоит задуматься о включении тех или иных плагинов в работу. Например, если ваши исходники не имеют формата txt2gam, то вам не следует подключать плагин a_txt2gam.dll, т.к. он будет пытаться его обнаружить, что, скорее всего, приведет к противоположному результату, относительно ваших ожиданий. Имейте это в виду.

* Если Windows выдает ошибку о прекращении работы программы во время ее выполнения:
* Для начала, следует проверить работу программы без загрузки каких-либо плагинов. Если проблема исчезнет, то вам следует обратитьтся к автору плагина, вызывающего сбой в работе программы - возможно, он исправит проблему. Если проблема сохраняется даже без использования плагинов, то вы можете отписаться об ошибке здесь - в этой теме, но не забудьте указать параметры, которые вы используете, а также используемую вами версию Windows, иначе я просто не смогу определить причину возникновения проблемы. Также вы можете указать дополнительную информацию, ко всему прочему, которая, по вашему мнению, может помочь в определении и исправлении ошибки.

Минимальные системные требования:
* ОС: Windows 7 и выше
* Разрядность ОС: x86 (также возможна работа в x64-разрядных ОС Windows)
* Также может потребоваться установка пакета x86-совместимых библиотек Microsoft Visual C++ (MSVC)

Как использовать:
* Сама программа “QSP Game Converter” не работает с пользователем напрямую - вместо этого она принимает параметры, переданные ей во время запуска. Это значит, что вы можете запускать программу с необходимыми параметрами из командной строки, или путем создания командного .bat файла, содержащего необходимые вам параметры.
* Чтобы вызвать справку, вы можете запустить QGC.exe с параметром “-h”.
* Вы также можете вызвать окно “о программе”, запустив программу с параметром “-a”, где вы увидите список людей, так или иначе повлиявших на разработку данной программы - если бы не они, то “QSP Game Converter” просто не появился бы.
* Также вы можете использовать программу “Конструктор параметров для QSP Game Converter” для упрощенной генерации параметров - их тестирования и сохранения.

Содержимое облака: (ссылка ниже)
* “Applications” - директория с программами.
* “Plug-ins” - директория с плагинами к программе (QGC.exe).
* “Development” - директория для разработчиков, с API для плагинов и прочими исходниками.
Описания к плагинам читайте в одноименных текстовых файлах.

Скачать файлы можно тут: MEGA

UPD: Было решено использовать облако для хранения файлов - так проще ими управлять и удобнее их просматривать, к тому же появляется возможность скачивания только того, что необходимо, поэтому теперь все обновления будут заливаться в облако, доступное по ссылке выше, а здесь будут выкладываться новости и все остальное.

Edited at 06.05.2024 16:36 (1 year ago)

С момента релиза в облаке появились еще пара плагинов (читайте описание к ним), также были сделаны некоторые исправления в самом QSP Game Converter, поэтому рекомендую обновиться всем, кто так или иначе пользуется данной программой.

P.S.
Со временем сейчас туго, но время от времени, по возможности, я стараюсь что-то добавлять/обновлять в облаке, и либо забываю написать об этом сюда, либо времени на это не остается совсем, поэтому рекомендую следить за обновлениями самостоятельно (в облаке есть возможность отображения даты последнего изменения у файлов - можно либо включить соответствующую колонку, либо вручную проверять свойства файла), чтобы своевременно их получать.

Log in or Register to post comments.