ria pc game
translate to English   translate to Chinese
fle game engine - движок для создания игр
fle game engine - движок для создания игр


Balls and holes PC game / Balls and Holes PC игра
Вакансии
Игродельня
Сегодня
22 марта 2019 11:20
Вход Регистрация Забыли пароль ?

megainformatic - Костя Коробкин - В гостях у тёти Светы часть 2 Живые машины (kk as) - онлайн комикс - страница 18
Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 18 Онлайн-комикс Костя Коробкин - В гостях у тёти Светы - интерактивный комикс (kk as). - Ой ! Привет ! Не ожидала тебя здесь увидеть.
подробнее...

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
Статьи сайта
megainformatic - GET и POST запросы

megainformatic - для чего нужна карта сайта

megainformatic - Web Администрирование

megainformatic - Мысли о разном

megainformatic - Легко ли быть программистом

megainformatic - Глубины программирования на C++

megainformatic - Убираем лимит на размер импортируемого файла в PhpMyAdmin

megainformatic - Как создать torrent файл

megainformatic - Нужна ли валидация вашему сайту ?

megainformatic - Антивирус DrWeb

megainformatic - Калькулятор рассчёта стоимости зубопротезирования для стоматологической клиники

megainformatic - Что такое BitTorrent (БитТоррент)

megainformatic - Миссис Даутфайр 1993 фильм torrent

megainformatic - Как скачивать торрент-раздачу ?

megainformatic - Автотелега фильтр

megainformatic - Фильмы

megainformatic - Fahrengeit Фаренгейт игра 2006 для PC

megainformatic - Fez игра для PC 2013

megainformatic - Дневник памяти - фильм 2004

megainformatic - Scooter - The night - Video and Lyrics - Скутер - Ночь - Видео и лирика

megainformatic - Если всё же неудача

megainformatic - Смерть или искупление или избавление

megainformatic - По ту сторону

cj megainformatic - музыкальный альбом БЕСКОНЕЧНОЕ ДВИЖЕНИЕ ОЖИДАНИЕ И ДЕЙСТВИЕ

megainformatic - Костя Коробкин - Секретный проект - интерактивный комикс

megainformatic - Основы анимации во флеш на примере анимирования простейшей окружности

megainformatic - Парсер сайтов Введение

megainformatic - Я пишу музыку для себя и для продажи

megainformatic - Статьи на околомузыкальные темы - осень 2014 часть 1

megainformatic - рассказ - Чужие воспоминания - автор Синицин Андрей - 24.09.2014

megainformatic - Сайты живущие вне поисковых систем. Есть ли такие и как их найти ?

megainformatic - Game craft - проект разработки игровых и мультимедийных проектов

megainformatic - Game craft - моделируем scv

megainformatic - Game craft - моделируем scv - шаг 1 (часть 2)

megainformatic - Game craft - моделируем scv - шаг 2 (часть 3)

megainformatic - Game craft - Наложение текстуры на модель робота scv (часть 4)

megainformatic - Game craft - Прорисовка текстуры робота SCV шаг 5

megainformatic - Game craft - Экспорт модели из 3ds max в формат X

megainformatic - Game craft - отображение scv модели в формате x в d3d9-приложении

megainformatic - Game craft - управление игрой от Direct Input в d3d9 - приложении

megainformatic - Game craft - игровая камера в d3d9 - приложении

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 1

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 2

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 3

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 4

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 5

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 6

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 7

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 1

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 2

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 3

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 4

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 5

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 6

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 7

megainformatic - Костя Коробкин - СЕКРЕТНЫЙ ПРОЕКТ - интерактивный комикс (kk scp) - онлайн комикс - страница 1

подробнее

     
  [к содержанию] [уроки 3ds max] [далее]  
     
     
  [Базовые уроки по DirectX] [Основы DirectMusic на Delphi] [Основы DirectInput8 на Delphi] [Основы DirectSound8 на Delphi] [Разработка компьютерной игры] [Пример игры Donuts3D] Рисуем волка из мультфильма [Delphi 2006 DirectX 9]  
     
     
     
 

Моделируем девушку в 3d используя 3ds max

Подготовка к моделированию ноги - готовим ширму

 
     
  Для лучшего понимания некоторых терминов и технологий, особенно если Вы еще не так хорошо знакомы с 3ds max - обратитесь к другим урокам по 3ds max, описывающим основы работы в этой программе.  
     
 

В данном уроке Мы с Вами займёмся моделированием части тела. Это будет нога.

Прелестная женская ножка, о которых писал стихи еще Пушкин.

 
     
  Для начала нам нужно иметь форму ноги представленную как минимум в 3х проекциях:  
     
  изображение женской ножки в 4-х проекциях  
     
  Фронтальной, Боковой и Вида сверху (или снизу как в данном случае). На рисунке также представлен Вид сзади. Но в принципе 3-х проекций нам будет вполне достаточно.  
     
  После того, как нужные изображения подготовлены запускаем 3ds max.  
     
  В 3ds max готовим ширму, на которой разместим все 3 проекции изображения ноги.  
     
  Для этого создаем куб, размерами 100х100х100 единиц  
     
  куб для изготовления ширмы  
     
  Центрируем куб по отношению к центру мировой системы координат  
     
  Центрируем куб по отношению к центру мировой системы координат  
     
  Для этого не снимая выделения с созданного куба выбираем инструмент Select And Move Tool и задаем нулевые значения для координат расположения куба в пространстве  
     
  Центрируем куб по отношению к центру мировой системы координат  
     
  Далее превращаем созданный куб в Editable Poly -  
     
  преобразуем куб в editable poly  
     
  Выделяем правую, верхнюю и переднюю грани (faces) и удаляем их -  
     
  Выделяем правую, верхнюю и переднюю грани (faces)  
     
  Для того, чтобы удалить нажимаем на клавиатуре клавишу [Delete]  
     
  удаленные грани куба  
     
  Получим черные грани - которые являются невидимыми. Оставшиеся грани нужно повернуть видимой стороной во внутрь, для того, чтобы изготовить нужную нам ширму.  
     
  Для этого выделяем оставшиеся грани и выполняем операцию Отражения граней (Flip)  
     
  отражение flip граней  
     
  После этого грани сразу же становятся видимыми  
     
  отражение flip граней  
     
 

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

 
     
  готовая ширма  
     
  готовая ширма с нанесенной текстурой проекций ноги  
     
 

Для нанесения изображения проекций выполните следующие шаги:

1) Вам остается создать для данной модели ширмы материал - нажать клавишу [M] на клавиатуре

 
     
  редактор материалов  
     
  2) Задать для материала имя, сделать его видимым и выбрать изображение для текстуры материала  
     
  Задать для материала имя, сделать его видимым и выбрать изображение 
      для текстуры материала  
     
  После нажатия кнопки Diffuse (показано на рисунке цифрой 3), Вам нужно в списке доступных материалов выбрать Bitmap  
     
  выбор bitmap для элемента Diffuse материала  
     
  После этого находим на диске нужный файл изображения текстуры и открываем его  
     
  находим на диске нужный файл изображения текстуры и открываем  
     
  3) Теперь нужно применить созданный материал к модели ширмы - просто путём его перетаскивания из окна материалов на модель ширмы  
     
  применить созданный материал к модели ширмы  
     
  применить созданный материал к модели ширмы  
     
  4) Следующий заключительный шаг - отпозиционировать изображения проекций на гранях ширмы. Для этого к модели ширмы применяем модификатор Unwrap UVW  
     
  применяем модификатор Unwrap UVW  
     
  4.1) Выбираем грань для которой будет редактировать uvw текстурные координаты и нажимаем Edit  
     
  Выбираем грань для которой будет редактировать uvw текстурные координаты 
      и нажимаем Edit  
     
  4.2) Откроется новое окно, его нужно несколько уменьшить, чтобы оно умещалось в пределах экрана и задать там следующие параметры - видимость изображения текстуры  
     
  uvw - edit - видимость изображения 
      текстуры  
     
  Нажать кнопку Options, убрать галочку Tile Bitmap, задать Brightness равной 1,0  
     
  uvw - edit -  options  
     
  При желании можно также убрать галочку Use Custom Bitmap Size либо задать желаемые размеры изображения текстуры  
     
 

Поскольку сейчас у Вас была выбрана грань Back на модели ширмы, то используя инструменты Move и Scale редактора uvw - edit - нужно спроецировать эту грань на нужный участок изображения текстуры.

Вот как это будет выглядеть -

 
     
  uvw - edit - проецируем грань инструментами Scale и Move  
     
  uvw - edit - проецируем грань инструментами Scale и Move  
     
  Аналогично Вам нужно спроецировать оставшиеся грани, чтобы получить такой результат -  
     
  готовая ширма с нанесенной текстурой проекций ноги  
     
  Вы можете скачать созданную ширму подготовленную для моделирования ноги и все необходимые файлы одним архивом -  
     
 

[downloads:24]
 
     
  [к содержанию] [уроки 3ds max] [далее]  
     
подробнее

     
  [к содержанию] [далее]  
     
 

Рабочее пространство Adobe Photoshop

 

На рисунке показан типичный вид окна программы Adobe Photoshop 7.0. В других версиях или при пользовательской настройке этот вид может несколько отличаться от указанного расположением и/или внешним видом отдельных элементов, однако их назначение и свойства, в основном будут теми же самыми, что указаны в данном описании.

1 – это строка заголовка окна программы, она всегда содержит в левой части интерактивный значок программы, название приложения, название активного документа (если он открыт). В правом конце строки заголовка три стандартные кнопки: для свертывания/развертывания окна приложения, минимизации/максимизации размера окна приложения на экране, закрытия приложения. Таким образом, эти три кнопки управляют поведением окна программы, а не редактируемых в нем документов!

2 – строка меню – содержит различные команды для выполнения необходимых действий, в основном вся работа ведется через это – Главное меню.

3 – панель свойств текущего (активного) инструмента – отражает дополнительные возможности по использованию текущего инструмента. Инструменты содержатся на панели инструментов (см. пункт 9).

4 – панель (плавающее окно) отражающая уменьшенный вариант редактируемого изображения, используя ее можно менять масштаб изображения перемещая соответствующий движок. Здесь также имеется вкладка Info – открыв ее можно отслеживать некоторые важные параметры редактирования: текущие координаты курсора в изображении, размеры объекта и т.д. Эта панель может быть скрыта/отображена посредством пункта Главного меню – Window > и установкой/снятием флажка напротив пункта Navigator или Info.

5, 6, 7 – также представляют плавающие окна (панели), служащие соответственно:

Color – для задания, выбора или синтеза текущих цветов пера (Foreground) и фона (Background).

History – для отмены/повторения некоторых выполненных или отмененных действий.

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

Аналогично панели 4 эти панели также можно скрывать/отображать через Window.

8 – строка состояния – обычно отображает некоторые подсказки по текущему действию или строку прогресса при выполнении каких-либо длительных операций.

9 – панель инструментов (также представляет плавающее окно – т.е. можно легко менять ее положение). Панель инструментов содержит все инструменты рисования и обработки, которые Вы будете применять при создании и редактировании (видоизменении) различных растровых изображений.

 

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

 
     
  [к содержанию] [далее]  
     
     
подробнее

Пишем свою соц. сеть - Реализация файлового хранилища предложений в csv-файле

В данной статье мы рассмотрим код, необходимый для хранения информации о созданных проектах webjob.

В данном примере хранилище организуется в виде csv-файла, в соответствии с этим разработан и нижеприведенный код.

//определяем название файла для хранения предложений
define (OFFERS_DATA_FILENAME, 'predlojen/info/od.csv');
//а также имена всех полей, которые будет иметь данная csv-таблица
define (OFFERS_DATA_FIELD_NAMES, 'offer_id;offer_title;offer_publicate_datetime;offer_text;offer_author_id;offer_state;
offer_question_count;');

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

//загрузка списка проектов
function load_offer_list($path_corrector = '')
{
$result = '';

$offer_list_filename = $path_corrector.OFFERS_DATA_FILENAME;
if ( !file_exists($offer_list_filename) )
{
return $result;
}

$olf_handle = fopen($offer_list_filename, 'r');
$offer_list = array();

$r = 0;
$fields_names = array();
flock($olf_handle, LOCK_EX);
while (( $record = fgetcsv( $olf_handle, 2048, ';')) !== FALSE )
{
//читаем имена полей - хранятся в 0 записи
if ( $r == 0 )
{
$fields_names = $record;
}
else { //читаем остальные записи

//если имена полей определены
$fiels_names_count = count($fields_names);

if ( $fiels_names_count > 0 )
{
//создаем ассоциативный массив используя заданные имена элементов
for ( $f = 0; $f < $fiels_names_count; $f++ )
{
$offer_list[$r-1][$fields_names[$f]] = $record[$f];
}
}
else { //если имена полей не определены
$offer_list[] = $record;
}
}
$r++;
}
flock($olf_handle, LOCK_UN);
fclose($olf_handle);

$result = $offer_list;
return $result;
}

//сохранение списка проектов
function save_offer_list($offer_list, $path_corrector = '../')
{
$result = 0;

if ( !isset($offer_list) || $offer_list == "" )
return $result;

$offer_list_filename = $path_corrector.OFFERS_DATA_FILENAME;

$olf_handle = fopen($offer_list_filename, 'w');

$offer_list_str = OFFERS_DATA_FIELD_NAMES.PHP_EOL;
$offer_list_count = count($offer_list);
for ( $i = 0; $i < $offer_list_count; $i++ )
{
$offer_list_str .=
$offer_list[$i]['offer_id'].";"
.$offer_list[$i]['offer_title'].";"
.$offer_list[$i]['offer_publicate_datetime'].";"

.$offer_list[$i]['offer_text'].";"
.$offer_list[$i]['offer_author_id'].";"
.$offer_list[$i]['offer_state'].";"
.$offer_list[$i]['offer_question_count'].";"
.PHP_EOL;
}

flock($olf_handle, LOCK_EX);
$result = fwrite($olf_handle, $offer_list_str);
flock($olf_handle, LOCK_UN);
fclose($olf_handle);

return $result;
}

Ну вот собственно и всё, что я вам хотел показать. :)))

Если Вас интересуют какие-то детали - обращайтесь

подробнее

     
 

Основы 3D-программирования DirectX8.1 в Delphi 6-7: теоретические и практические основы создания игр

 
     
  [статьи] [как создать игру ну, погоди!] [к содержанию]  
     
 

Подводная лодка и подводный мир

В данном уроке построенном в форме упражнений Вы попробуете разобраться в том как

Подводные миры
 

- имитировать подводную сцену при помощи тумана;

- использовать вершинные шейдеры для имитации бликов от воды на поверхности морского дна и подводной лодки;

 

Для изучения методик Вам потребуется скачать:

- архив с общим кодом -


[downloads:10]
(если Вы его еще не скачали в предыдущем уроке)

- исходный код данного примера (32 Кб)



[downloads:22]

- медиа-файлы (модели, текстуры, шейдеры) - (676 Кб)



[downloads:23]
 

Краткое описание приложения: данное приложение предсталяет WinAPI-приложение для использования библиотеки DirectX 8.1. Для обращения к функциям библиотеки d3dx8.lib используется ее dll-аналог - D3DX81ab.dll

Файл DXErr81ab.dll представляет дополнительную библиотеку для вывода сообщений об ошибках приложения.

Поскольку Ваше приложение будет обращаться к этим библиотекам, необходимо разместить эти файлы в той же папке, что и исполнимый файл (*.exe) Вашего DirectX-приложения на Delphi.

 

Краткий обзор исходного кода модуля Main.pas:

класс приложения CSubmarineD3DApp производится от CD3DApplication (префикс типа C вместо T - как принято в Delphi - дань традициям заложенным в исходном коде на C++).

В конструкторе constructor CSubmarineD3DApp.Create; инициализируются все основные поля класса приложения, здесь же устанавливается цвет тумана - m_dwFogColor := D3DCOLOR_ARGB(255, 58, 180, 197);

 
Инициализация самого класса CD3DApplication происходит в коде модуля проекта - submarine.dpr путём вызова метода d3dApp.Create_
 

Т.к. класс CD3DApplication описан в модуле D3DApp8.pas, то заглянув в метод function CD3DApplication.Create_ Вы и узнаете какие методы вызываются во время инициализации вашего D3D-приложения:

{... здесь мы опускаем код, необходимый для инициализации Direct3D8, построения списка устройств и создания окна приложения}

// запускается DX-Timer - для организации вызовов периодических процессов D3D-приложения - это основной движущий процесс любого DirectX-приложения!

DXUtil_Timer(TIMER_START);

// первоначальная инициализация сцены Вашего 3D-приложения

OneTimeSceneInit;

// все остальные необходимые инициализации: InitDeviceObjects, RestoreDeviceObjects, InvalidateDeviceObjects,
DeleteDeviceObjects. Также обратите внимание на англоязычные комментарии (Если знаете английский :))

Initialize3DEnvironment;

 

Теперь Вам должно быть понятно откуда вызываются основные методы нашего приложения (InitDeviceObjects, RestoreDeviceObjects, InvalidateDeviceObjects, DeleteDeviceObjects).

Методы Render для отрисовки статичных объектов сцены и метод FrameMove для анимированных объектов вызываются в методе function CD3DApplication.Render3DEnvironment. Этот метод в свою очередь вызывается из function CD3DApplication.Run.

function CD3DApplication.Run вызывается в модуле проекта - submarine.dpr путём вызова d3dApp.Run

 
Обработка сообщений системы (а не событий в классе TForm!!!) производится в методе function CSubmarineD3DApp.MsgProc. Почему? Вспомните - наше приложение WinAPI, т.е. без использования VCL. Именно поэтому!
 

Интерес представляет также содержимое метода d3dApp.Run, заглянув в который Вы увидите

...

// Render a frame during idle time (no messages are waiting)
if (m_bActive and m_bReady) then
begin
if FAILED(Render3DEnvironment) then
SendMessage(m_hWnd, WM_CLOSE, 0, 0);
end;

т.е. метод Render3DEnvironment вызывается во время отсутствия активности пользователя и других сообщений системы.

 
Это был краткий обзор примера.
 
[статьи] [как создать игру ну, погоди!] [к содержанию]
 
 
 
 
 
     
     
     
     
     
     
  Основы 3D-программирования DirectX8.1 в Delphi 6-7: теоретические и практические основы создания игр.  
     
  Создание анимации вращающихся колес автомобиля  
     
 

Продолжаем серию уроков, посвященных разработке Delphi DirectX игры.

В данном уроке рассказывается об особенностях создания анимации простыми трансформациями объектов пригодной для экспорта в DirectX8 и DirectX9-приложение.

 
     
  [Все уроки 3ds max] [Галерея моделей] [далее]  
     
  При разработке проекта Нечто: Необъяснимое возникла необходимость в создании анимации простыми трансформациями объектов.  
     
   
     
  Мы будем выполнять данную работу на примере 3Ds Max 7. Но если вы будете использовать 8 или 9 версию, то всё описанное также возможно применить к этим версиям.  
     
  Постановка задачи: была создана модель авто показанная на рисунке. Она состоит из кузова и 4 колес представленных отдельными мешами. Требуется создать анимацию вращающихся колес.  
     
 

Первое что приходит в голову, это просто взять объекты колес и вращать их во времени вокруг своей оси. Казалось бы - всё просто. Но оказывается, что при этом, поскольку модели колес созданы на основе цилиндров (примитив Cylinder) повернутых на 90 градусов вокруг оси Y, то попытка вращать полученные колеса вокруг оси X приводит к сложному повороту сочетающему изменение первоначальной ориентации. Иными словами нужную трансформацию создать не удается.

Кроме того, если Вы попробуете экспортировать даже статичную модель данного авто в таком виде - кузов и 4 колеса, то колеса почему-то окажутся совсем не на своих местах. Это касается как экспорта экспортером DXExport DX9, так и PandaDX для 3Ds Max 7. Кроме того, в приложении DX8 анимацию возможно корректно использовать только при экспорте PandaDX!

 
     
 

Что же делать?

Решение оказывается тривиально простым если использовать так называемые Dummy-объекты и построить из них иерархию.

Что такое Dummy?

Это пустой не отрисовываемый бокс, который может играть роль центра трансформаций, а также служить связующим звеном в иерархии объектов.

В 3ds Max 7 данный объект находится в панели Create в группе Helpers -

 
     
   
     
  Если Вы внимательно посмотрите на рисунок авто приведенный в начале данной статьи, то как раз увидите эти боксы. Они расположены и около кузова - 1 большой и около каждого из колес.  
     
 

Каким образом применить полученный объект для решения поставленной задачи?

Нужно создать 1 большой бокс из Dummy-объекта и разместить его по центру кузова авто -

создать объект Dummy, отмасштабировать до нужного размера, выровнять по центру относительно кузова (Align).

 
     
 

Далее нужно создать меньший Dummy и выровнять относительно одного из колес.

Теперь нужно осуществить привязку (установить иерархическую связь) меша данного колеса к данному малому Dummy - wheel_Dummy. Это выполняется выбором объекта колеса (wheel), нажатием на кнопку Select And Link и протаскиванием пунктирной линии связи до родительского объекта wheel_Dummy пока он не станет выделен белым. После этого wheel_Dummy становится родительским объектом для wheel и вращая wheel_Dummy вокруг оси X можно получить требуемое вращение колеса. После того как Вы это сделаете - т.е. запишете анимацию вращения данного wheel_Dummy на протяжение требуемого количества кадров, Вам остается только клонировать данный wheel_Dummy еще 3 раза, разместить копии относительно оставшихся 3-х колес и осуществить привязку этих колес к соответствующим им Dummy-объектам.

В результате все 4 колеса будут вращаться одинаково.

 
     
 

Теперь Вам остается только выполнить привязку кузова авто к большому Dummy-объекту - base_Dummy, и к нему же привязать Dummy-объекты для всех 4-х колес.

В результате у Вас получится следующая иерархия объектов - GraphEditors > New Schematic View

 
     
   
     
  А экспорт посредством PandaDXExporter даст требуемый результат.  
     
 

Если у Вас возникли вопросы касающиеся деталей выполнения описанных действий, то советую Вам сначала обратиться к статьям - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2)

Построение ирерархических связей между объектами

 
     
  [Все уроки 3ds max] [Галерея моделей] [далее]  
     
     
     
megainformatic live chat
Начать беседу
X
 

Оставленные комментарии



fle game engine - движок для создания игр
fle game engine - движок для создания игр


Something: Unexplained 2 captive of desires / Нечто: Необъяснимое 2 в плену желаний
Костя Коробкин Комикс Коллекционное издание - 6 комиксов, 81 страница, 220 mp3 треков
megainformatic Размещение баннерной рекламы у нас
Время загрузки: 0,0822