PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   Программирование для ПК (https://www.pspx.ru/forum/forumdisplay.php?f=474)
-   -   HiAsm – среда визуального программирования (https://www.pspx.ru/forum/showthread.php?t=107986)

BaseD 24.07.2018 15:51

HiAsm – среда визуального программирования
 
HiAsm – среда визуального программирования

Конструктор программ позволяет каждому пользователю ПК начать программировать без знания каких бы то ни было языков высокого уровня сразу же после установки среды.
Создать программу в HiAsm так же просто, как собрать фигурку из деталей лего - достаточно выбрать необходимый набор компонентов и соединить их друг с другом в цельную конструкцию.


Основной функционал:
  • Cоздание утилит, использующих базы данных и графику;
  • Перевод проектов на языки Free Pascal и Delphi;
  • Перенос конструкций на смартфоны (выборочно);
  • Разработка WEB-приложений с использованием HTML;
  • Разработка фоновых приложений, библиотек DLL и т.п.
Подробно:
Delphi & FPC
Базовый пакет, поставляющийся вместе со средой, позволяет разрабатывать Windows-приложения с использованием компонентов Интернета, баз данных, графики (GDI и OpenGL), широких мультимедийных возможностей (звук), поддержка COM-портов и многого другого, а также фоновые программы, апплеты панели управления, библиотеки DLL и прочее.

Android
Пакет позволяет разрабатывать приложения под Android, для смартфонов и планшетов.

PocketPC
Как и предыдущий пакет, позволяет разрабатывать приложения, но уже под Windows CE, то есть для КПК и частично смартфонов. Причём пакет построен таким образом, что схемы, собранные под PocketPC, практически без изменений можно переносить в Delphi&FPC и наоборот, что сокращает время как на саму разработку программы, так и на её портирование под другие платформы.

WEB
Как следует из названия, данный пакет позволяет разрабатывать WEB-приложения для серверной (скрипт на языке PHP) и клиентской стороны (JavaScript) с использованием языка разметки HTML. Отличительной особенностью данного пакета является то, что генерируемый по собранной схеме код практически не уступает по качеству тому, что мог бы написать разработчик вручную. Благодаря этому, данный пакет может также использоваться для автоматической генерации некоторых шаблонов WEB-приложений с последующей их ручной правкой.

FASM
Большей частью пакет служит примером и одновременно демонстрацией возможностей оболочки и потому интересен будет скорее всего только программистам, желающим разработать свой собственный пакет. Позволяет писать Win32-приложения на чистом ассемблере (Flat Assembler), с использованием компонентов вставки кода и связей между ними.

Qt
Пакет на основе Qt позволяет разрабатывать кроссплатформенные приложения. Сам HiAsm возможно запускать только через Wine.

wxWidgets
Пакет на основе wxWidgets, так же как и Qt, позволяет создавать кроссплатформенные приложения.


https://image.ibb.co/nfPCpT/24_07_2018_163741.jpg
HiAsm - это не какой-то новый язык программирования, а всего лишь оболочка над обычным Паскалем. И компилятор используется FPC (или Delphi). Но весь код скрыт от программиста, ему остаётся лишь соединять компоненты связями, как в конструкторе, составляя схемы программ, а в код всё переводит сам HiAsm.
Конечно, гибкость программирования несколько страдает, но у программиста всегда есть возможность вставить код Паскаль в схему. Кроме того, в схему можно вставить код Gentee, JavaScript и VBScript. И всё это будет скомпилировано в одну программу.

Интуитивно понятный интерфейсhttp://i.mcgl.ru/wwIZdo2zBN?p

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

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

Множество инструментов оформления схемhttp://i.mcgl.ru/usbcfZzXqb?p

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

Оформление схем является не обязательной частью разработки приложения, но свидетельствует о хорошем стиле, который в будущем поможет самому разработчику быстрее вспомнить, за что отвечают те или иные части схемы.

Широкие возможности кастомизации GUIhttp://i.mcgl.ru/psldqBomrO?p

Большинство пакетов конструктора содержит как нативные элементы интерфейса (предоставляемые операционной системой, браузером и т.д.), так и пользовательские, которые целиком и полностью отрисовываются движком пакета, давая разработчику возможность самому выбрать цвет, форму, стиль и т.п.

Кроме того используя компоненты для рисования разработчик может нарисовать свои собственные GUI элементы, я таким внешним видом, который требуется для его приложения.

Создание игр с поддержкой OpenGL и GDIhttp://i.mcgl.ru/k1V7Qgvh1x?p

Пакеты для платформы Windows и Linux позволяют использовать элементы для работы с графическим API, таким как OpenGL, GDI (для Windows), Cairo(для Linux) и т.д. С помощью них разработчик получает возможность создавать простые 2D и 3D игры. Следует помнить о том, что Конструктор приложений не подходит для создания сложных игр, т.к. весь его арсенал заточен в первую очередь под прикладные программы.

И конечно же для полноценной игры необходимо работать со звуком, для чего в пакетах так же предусмотрены соответствующие элементы. Доступ к 3D графике же дает возможность не только создавать игры, но и небольшие демки для визуализации данных, процессов или иных сущностей.

Ссылки :
Официальный сайт
Альтернативные сборки среды

BaseD 27.07.2018 16:20

HiAsm знакомство с программой
 
Решил написать небольшой пример использования данной программы.
Скажу сразу, что не большой мастер писать подобные туториалы,уроки, не знаю как правильно обозвать, ну уж, что получится, то получится :)

Обычно все знакомство с подобного рода программами начинается с "Привет мир", но это скучно и не интересно, по этому начнем с интересного, а именно создадим графическую оболочку программе Make PKG Tools.
Оговорюсь сразу, сделать это можно по разному, но самый простой вариант вырезать кусочки кода из оригинального батника.
Вот они:
Debug
Код:

@echo off
set bt=MAKE PKG HAN TOOLS v2.5
TITLE -= %bt% =-= by PSPx Team =-
::
rem for /f "tokens=*" %%B in (%sfxcmd%) do cd /d %%~dpB
setlocal enabledelayedexpansion
set tls=%cd%\tools
set col=%tls%\nhcolor
set conf=%tls%\package.conf
set OS=x64& if "%PROCESSOR_ARCHITECTURE%"=="x86" (
if not defined PROCESSOR_ARCHITEW6432 set OS=x86
)
Echo %TIME% -------------------------------- >log.txt
Echo %bt% -= by PSPx Team =- >>log.txt
Echo for site pspx.ru                                >>log.txt
Echo %OS% bit.                                        >>log.txt
Echo -------------------------------------------- >>log.txt

for /d %%d in (*) do (
if exist %%d\PARAM.SFO (
set str=%%d0000000
set dir=!str:~0,16!
set dir=!dir:-=0!
set dir=!dir:_=0!
for /f "usebackq tokens=3" %%a in (`%tls%\sfoprint "%%d\PARAM.SFO" TITLE_ID`) do set title=%%a
for /f "usebackq tokens=3" %%b in (`%tls%\sfoprint "%%d\PARAM.SFO" CATEGORY`) do set cat=%%b
for /f "usebackq tokens=3" %%c in (`%tls%\sfoprint "%%d\PARAM.SFO" APP_VER`) do set apver=%%c
if not defined apver set apver=1.00
if !cat!==GD (
set ct=GameData
set pt=DiscGamePatch
set n1=2PATCH
)
if !cat!==HD (
set ct=GameExec
set pt=HDDGamePatch
set n1=1HGAME
)
if !cat!==HG (
set ct=GameExec
set pt=HDDGamePatch
set n1=1HGAME
)
if !cat!==DG (
set ct=GameExec
set pt=HDDGamePatch
set n1=1DGAME
)
if !cat!==AT (
set ct=GameExec
set pt=HDDGamePatch
set n1=10AT00
)
%tls%\sfoprint "%%d\PARAM.SFO" TITLE |%col% 0E
%tls%\sfoprint "%%d\PARAM.SFO" TITLE_ID |%col% 0B
%tls%\sfoprint "%%d\PARAM.SFO" APP_VER |%col% 0B
echo FOLDER : %%d |%col% 09
echo Making DEBUG PKG. WAIT... |%col% 0A
echo ContentID = !n1!-!dir:~0,9!_00-!dir! > %conf%                                           
echo Klicensee = 0x00000000000000000000000000000000 >> %conf%
echo DRMType = Free >> %conf%
echo ContentType = !ct! >> %conf%
echo PackageType = !pt! >> %conf%
echo InstallDirectory = %%d >> %conf%
echo PackageVersion = !apver! >> %conf%
start %tls%\wbs "Creating DEBUG PKG..." "Please wait, the Debug PKG is being created..."  /marquee

cmd /c "%tls%\psn_package_npdrm.exe -n -f %conf% %%d" >>log.txt
%tls%\wbs "Creating DEBUG PKG..." "Done. Debug PKG created for $sec seconds" /Stop /timeout:3

del /q %conf%
)
)


Enable
Код:

@echo off
set bt=MAKE PKG HAN TOOLS v2.5
TITLE -= %bt% =-= by PSPx Team =-
::
rem for /f "tokens=*" %%B in (%sfxcmd%) do cd /d %%~dpB
setlocal enabledelayedexpansion
set tls=%cd%\tools
set col=%tls%\nhcolor
set conf=%tls%\package.conf
set OS=x64& if "%PROCESSOR_ARCHITECTURE%"=="x86" (
if not defined PROCESSOR_ARCHITEW6432 set OS=x86
)
Echo %TIME% -------------------------------- >log.txt
Echo %bt% -= by PSPx Team =- >>log.txt
Echo for site pspx.ru                                >>log.txt
Echo %OS% bit.                                        >>log.txt
Echo -------------------------------------------- >>log.txt

for %%I in (*.pkg) do (
echo Signing DEBUG PKG to RETAIL... |%col% 0A
echo %%I |%col% 09
echo | %tls%\ps3xploit_rifgen_edatresign %%I ps3 >>log.txt
echo.
ren %%~nI.pkg_signed.pkg %%~nI_sign.pkg >>log.txt
del /q %%I >>log.txt
)
goto :end



Скачиваем и устанавливаем HiAsm
Создаем новую папку в корне любого диска (желательно D\), называем ее к примеру MAKE, внутри создаем два текстовых файла, переименовываем их в debug и enable открываем первый любым текстовым редактором (блокнотом к примеру) и вставляем код из спойлера debug, сохраняем, меняем расширение файла с .txt на .bat.
Тоже проделываем и со вторым файлом, только имя ему будет enable, а код копируем из спойлера enable.

В итоге получаем два батника debug.bat и enable.bat.
В папку MAKE, копируем папку tools (из оригинальной папки с Make Tools).
Вот итог:

https://preview.ibb.co/kzw7UT/image.jpg

Запускаем установленный HiAsm, выбираем Файл>Новый откроется окно с типом будущего проекта, выбираем Windows>Приложение Windows>OK.
https://image.ibb.co/e3QheT/image.jpg

Перед нами, чистое поле, с одним единственным компонентом MainForm это и есть окно, нашей будущей программы.

Слева вкладка Элементы это различные кнопки, надписи и прочие "вкусности" в том числе и сами механизмы работы будущей программы (логика, строки, компоненты для работы с системой и т.д ).

Справа вкладка Свойства в ней мы меняем любой параметр выбранного элемента (цвета, название, шрифты и т.д).
Во вкладке Свойства, есть вкладка Точки, это тоже очень важная вкладка и про нее не следует забывать :)

Все соединения элементов в программе происходит, за счет точек вокруг любого элемента.

Итак, идем во вкладку Элементы>Интерфейс и выкидываем на рабочее поле (щелкаем по нужному, потом по рабочему полю) элемент Button или ButtonRush кнопки, в количестве двух штук.
Разница между ними в том, что второй вариант имеет расширенный графический интерфейс и смотрится посимпатичнее.
По любому элементу программы можно почитать справку, выделив нужный и нажав F1.

Идем во вкладку Элементы>Файлы берем два "кубика" DIR(Папки) тоже пару штук.
Элемент отвечает за работу с каталогами и папками.

Далее, выкидываем еще по парочке элементов Элементы>Строки>StrCat(Соединение).
Как понятно из названия, элемент соединяет, соединяет два слова в одно, два предложения в одно и т.д.
У нас он будет соединять путь к нашим батникам.

И последний элемент Элементы>Система>WinExec(Запуск приложений)
Элемент запускает сторонние приложения.

Вот, что в итоге получается
https://preview.ibb.co/iZjm68/image.jpg

Соединяем это все дело связями, щелкаем на точку ,и не отпуская левой клавиши мыши, тянем к другой точке.
Соединяем это все добро,вот так:
https://image.ibb.co/cDaFzT/image.jpg

Настраиваем визуальный вид формы, кнопочек.
Щелкаем по Редактор форм (расположен в верхней панели) вот так будет выглядеть наша программа, как то грустно...
Расставляем наши две кнопки, как считаем нужным.
Размеры можно менять растягивая любой элемент за края, так же поступаем и с окном формы.

Примечание: если вдруг кнопки, да и вообще любой элемент убегает за пределы формы вернуть его можно двумя способами.
1. Растягиваем форму за края, пока "убежавший" элемент не найдется, передвигаем его куда нужно и возвращаем форме исходное состояние.
2. Выделяем нужный элемент в окне редактора "кубиков", возвращаемся назад в Редактор форм (элемент остается выделенным).
Идем во вкладку Свойства>Place и ставим параметры Left и Top по нулям, появившийся элемент двигаем в нужное место.
https://image.ibb.co/ejX0Yo/27_07_2018_144104.jpg


Расставили? идем дальше, выделяем первую кнопку и возвращаемся назад в окно редактора, смотрим какая выделена.
Заходим во вкладку Свойства>Caption и меняем название кнопки.
Я сделал так:
https://image.ibb.co/kXfFzT/27_07_2018_144503.jpg

Обратите внимание: если выделяете первую кнопку в редакторе, она же выделяется в окне форм, то есть верхняя должна быть "Создать не подписанный PKG", а нижняя "Подписать PKG".
Можно и в другом порядке, главное, что бы знали какая это кнопка в редакторе "кубиков", назовем его Редактор кода дальше буду писать именно так.

Цвета, шрифты и прочие параметры можно менять во вкладке Свойства.

Когда все сделано, программа стала симпатичнее, сохраняем наш проект в папку MAKE, для этого щелкаем Сохранить как... в верхней панели, имя проекту можете дать любое.
https://image.ibb.co/mC3UR8/1.jpg


Все теперь самое интересное, заставляем все это работать :)

Алгоритм работы такой: когда мы клацкаем по кнопке, берется путь с точки CurrentDir элемента DIR.
Далее передается в элемент StrCat на точку str1, в элементе соединяются левая и правая сторона вместе, и получается полный путь до батника.
Далее с точки onStrCat элемента StrCat, готовый путь, передается на точку doExec элемента WinExec и нужный батник запускается.

Последние настройки и готово.
Щелкаем на элементе StrCat и в окне Свойств в параметре Str2 пишем debug.bat.
На втором элементе проделываем тоже самое, только пишем enable.bat.
https://image.ibb.co/ezDKb8/27_07_2018_155152.jpg

ВСЕ!!!
Нажимаем заветную кнопочку Запустить (зеленый треугольник) в верхней панели.
Проект компилируется и в папке MAKE появляется .exe файл нашей программы.
Закидываем папки с игрой (вида B и N) и пробуем, что получилось.
https://preview.ibb.co/dMKp9T/27_07_2018_155716.jpg
https://preview.ibb.co/n1XFio/27_07_2018_155736.jpg

На заметку:
Программа, всего лишь оболочка и правильная работа батников возможна, если в пути не будет кириллицы, пробелов и спец-символов.

Заключение:
Программу можно улучшить, добавив остальные функции из Make Tools, добавить автозапуск HFS, прицепить показ и смену порта, добавить проверку на PKG в папке, ну и многое другое.
Здесь я показал лишь маленький пример, стараясь рассказать как можно подробней, но все возможности в одной статье охватить трудно.
Помощь по программе можно получить на Форуме HiAsm.
Так же есть не плохие обучающие Видео.

BaseD 28.07.2018 03:16

Обновление компонентов HiAsm
 
Обновление компонентов HiAsm

Инструкция:
  1. Скачайте и установите программу Tortoisesvn, и русский Language Pack, если английский язык вам не даётся. После установки TortioseSVN нужно перезагрузить систему.
  2. Перейдите в директорию hiasm, создайте пустую папку "Elem" и нажмите на ней правой кнопкой мыши; в появивщемся меню выберите пункт "SVN Checkout".
  3. В появившемся диалоговом окне в поле "URL of repository" введите http://svn.hiasm.com/packs/ и нажмите OK.
    Если всё прошло удачно вы увидите как программа начнёт синхронизировать ваши коды с хранящимися на сервере.

    Возможные проблемы

    Вопрос: Ничего не обновляется!

    Ответ: Возможно, вы выходите в Интернет через proxy-сервер. Для того, чтобы программа выходила в Интернет через proxy, проделайте следующие шаги:
    1. На папке Elem нажмите правую кнопку и выберите пункт "TortioseSVN" подпункт "Settings"
    2. В левой части появившегося окна выберите пункт "Network", включите флажок "Enable proxy server" и введите настройки вашего proxy сервера (если вы не знаете - свяжитесь с службой поддержки вашего провайдера)
    3. После заполнения всех полей нажмите OK

    Вопрос: Файлы обновились, но возле некоторых из них написано "Conflicted"

    Ответ: Эта надпись обозначает, что ваша версия компонентов слишком сильно отличается от версии на сервере, поэтому программа не может синхронизировать их. Запомните, на какие файлы программа ругалась, закройте окно программы, перенесите (скопируйте и удалите исходные файлы) их в другое место (напомню: желательно пернести пару pas+ini во избежание проблем). Теперь выполните Шаг 8. Проблема должна решиться.


  4. Скопируйте содержимое (включая скрытые директории .svn!) директории Elem в директорию Elements.
  5. Удалите директорию Elem.
  6. Обновите CodeGen.dll и hiMakeXXX.dll, для этого выполните файлы Elements/Delphi/make.bat и Elements/Delphi/make/make.bat . Если Вы устанавливали дополнительные пакеты (PocketPC, FASM, Web, Modules, ...), то выполните файлы Elementsимя_пакетаmake.bat, Elementsимя_пакетаmakemake.bat.
  7. Если произошло обновление файла Elements.sql, то необходимо обновить соответствующую базу элеметов (Elements.db). Для этого выполните файл Elementsимя_пакетаsql_to_db.bat. Если его нет, попросите разработчика соответствующего пакета исправить эту оплошность После этого необходимо переустановить дополнительные элементы, если они были установлены

Примичание: Если у Вас были установлены дополнительные компоненты, Вам придётся их переустановить.


Для последующих обновлений достаточно:
  • Нажать правой кнопкой на папке "Elements" и выберите "SVN Update".
  • Выполнить пункт 6
  • Выполнить пункт 7

in1975 12.08.2018 11:08

Попробовал, пока легкий набросок получился таким. Возможностей у среды действительно много. Надо разбираться :)

з.ы. акт.дат и идпс фиктивные, а то мало ли что :acute:

ErikPshat 12.08.2018 13:22

in1975, вот только zenity.exe выкинь вообще из сборки.

in1975 12.08.2018 18:39

ErikPshat, это понятно, для этого на эту среду и переходить надо.

in1975 13.08.2018 07:45

BaseD, подскажи, у winexec есть свойство MODE - если задать SW_HIDE консоль не показывается. Можно как-то управлять этим значением? Например сделать чекбокс, в зависимости от того включен или выключен делать mode либо SW_HIDE, либо SW_NORMAL

BaseD 13.08.2018 09:08

Цитата:

Сообщение от in1975 (Сообщение 1150195)
BaseD, подскажи, у winexec есть свойство MODE - если задать SW_HIDE консоль не показывается. Можно как-то управлять этим значением? Например сделать чекбокс, в зависимости от того включен или выключен делать mode либо SW_HIDE, либо SW_NORMAL

Каких то точек у него нет(MODE) спросил на форуме, жду ответ.
http://forum.hiasm.com/topic/67031
Есть точка PARAMS, пробовал подкидывать значения...не работает.

BaseD 13.08.2018 10:31

Маленько поковырялся https://yadi.sk/d/OcAtzF5b3aAsQv
Добавил IP адрес (берется из файла Host) и порт.
Значения записываются в ip.ini и port.ini
Добавил марафету в схеме :)

P.S есть маленький косяк с ip, при первом запуске не показывает, нужно закрыть и открыть программу повторно.
Связано с тем, что ip.ini создается после закрытия программы (надо подправлять).

in1975 14.08.2018 08:43

Стырил из примера меню. Пока без функционала :)

Нужно что-то еще?

BaseD 14.08.2018 09:15

Цитата:

Сообщение от in1975 (Сообщение 1150279)
Стырил из примера меню. Пока без функционала :)

Нужно что-то еще?

Очень даже, симпатичненько :)

https://preview.ibb.co/dZbB89/14_08_2018_090738.jpg

Наверно "Советы" и "Компоненты" лишнее?

in1975 14.08.2018 09:48

Цитата:

Сообщение от BaseD (Сообщение 1150282)
Наверно "Советы" и "Компоненты" лишнее?

наверно да :)

ErikPshat 14.08.2018 11:35

Меня вот что волнует - как сделать вывод, вместо чёрной консоли бвтника, в окно программы?
Чую там нужно как-то оперировать stdin/stdout в форму окна с прокруткой.

BaseD 14.08.2018 13:24

Цитата:

Сообщение от ErikPshat (Сообщение 1150288)
Меня вот что волнует - как сделать вывод, вместо чёрной консоли бвтника, в окно программы?
Чую там нужно как-то оперировать stdin/stdout в форму окна с прокруткой.

Вроде этого?
https://preview.ibb.co/gGXo6U/14_08_2018_132349.jpg

Нужно компоненту WinExec добавить точку doConsoleExec и на нее уже "кидать" связи от наших кнопок, добавить еще точку onConsoleResult и уже с нее снимать результат.
https://image.ibb.co/jmtT6U/14_08_2018_134125.jpg

in1975 14.08.2018 20:09

Так вроде цифры прогресса в статуссбаре отображаются (проверял пока паковку). Как отобразить не цифрами, а баром? Подавал на точку DoPosBar - никакой реакции.

Насколько понял, там проблема в том что данные передаются не цифрами, а в виде процента. Как преобразовать?

BaseD 14.08.2018 21:11

in1975, в Элементы > Инструменты есть конверторы разных величин, может с ними, что то получится.

P.S передается строка (str) конвертируем в число (real) и вроде как работает, но с другим баром, с эти чет не как :)
https://yadi.sk/d/f5saiw8C3aEDZB

Мне этот бар больше нравится, он по цветам настраивается, и градиенчик можно сделать.

BaseD 14.08.2018 21:53

В окно консоли (компоненту RichEdit) в свойствах надо включить вертикальный скролл, а то оно не все показывает.
И wbs.exe тоже напрягает, может ну его :)

in1975 14.08.2018 22:06

BaseD, так зачем мы с тобой бар думаешь делаем? я в батнике уже убрал. И эту панель с логом надо динамической сделать, когда надо включать, а по умолчанию отключить.

BaseD 14.08.2018 22:19

А..:)
Панель можно через точку visible сделать, просто прятать ее, только как то не красиво без нее получается, тогда и размер формы надо сжимать автоматом, до кнопок.
Да и зачем ее прятать, она так сказать полезную информацию несет.

ErikPshat 14.08.2018 22:31

in1975, конечно, скролл обязательнот нужен. И это, когда ты уберёшь zenity.exe, он постоянно не позволяет мне никакие кнопочки нажимать, даже когда кнопку "Отмена" нажимаю, оно постоянно выскакивает с поиском ошибок. До сих пор пакую PKG своим v1.8.


Текущее время: 14:14. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.