32к бильярд.

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

Модератор: BV

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

32к бильярд.

Сообщение Mikle » 28.02.2016 (Вс) 16:49

Планируется полноценный бильярд в одном EXE, не более 32 Кб. Пока приложены ещё несколько файлов, но в релизе всё будет в ресурсах, EXE будет автономным.
Игра в процессе разработки, на данный момент готова графика, частично прописал физику. Шары пока без боковых вращений и не закатываются в лузы. Звука пока нет.
Просьба проверить на счёт удобства и запускаемости.

Управление:
Mouse1 - удар
Mouse2 - смена зума
Стрелки вперёд-назад - выбор шара
"I" - инверсия MouseY
Esc - выход

Добавлено 06-04-2016:
Окончательная версия с исходником. Для того, чтобы скомпилировать, понадобятся tlb от The trick:
viewtopic.php?f=99&t=49733 и viewtopic.php?f=99&t=49774
После компиляции для получения 32k версии EXE необходимо сжать с помощью UPX.
У вас нет доступа для просмотра вложений в этом сообщении.
Последний раз редактировалось Mikle 06.04.2016 (Ср) 9:44, всего редактировалось 1 раз.

The trick
Постоялец
Постоялец
 
Сообщения: 781
Зарегистрирован: 26.06.2010 (Сб) 23:08

Re: 32к бильярд.

Сообщение The trick » 28.02.2016 (Вс) 18:02

WinXP 32-разрядная.
Работает без проблем.
Графика очень даже ничего.
Управление, на мой взгляд, удобное.
UA6527P

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: 32к бильярд.

Сообщение Debugger » 28.02.2016 (Вс) 18:18

Windows 8, браузер Chrome. Меня попытались защитить от бильярда, дважды
https://gyazo.com/cbfb046494fa99427cd899073309bc82
https://gyazo.com/9f6a857ffd2ea7651e5216f2e2bae680

Управление отличное, графика симпатичная.

Только немного смущает горизонтальная инверсия мышки, и движения кия (плавное движение куда-то и вращение вокруг не очень понятной точки), пока шара не остановились.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: 32к бильярд.

Сообщение Mikle » 28.02.2016 (Вс) 20:27

Debugger писал(а):немного смущает горизонтальная инверсия мышки

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

Направление взгляда плавно перемещается на центр стола, а вращение - это если ты сам мышку крутишь в это время.

Admiralisimys
Постоялец
Постоялец
 
Сообщения: 318
Зарегистрирован: 01.06.2009 (Пн) 10:26

Re: 32к бильярд.

Сообщение Admiralisimys » 28.02.2016 (Вс) 21:34

Windows 10, x64.
Запуск успешен.
Во время игры хотел посмотреть управление. Нажал Alt+Tab да бы вернутся к браузеру, вернутся то вернулся, а курсор остался залочен по центру в некоторой ограниченной области.
Обратное возвращение из браузера к запущенной игре потребовало помимо Alt+Tab ещё и Win+D и Win.
Комната где установлен бильярдный стол напоминает своей атмосферой некий фильм ужасов.

pronto
Постоялец
Постоялец
 
Сообщения: 597
Зарегистрирован: 04.12.2005 (Вс) 6:20
Откуда: Владивосток

Re: 32к бильярд.

Сообщение pronto » 29.02.2016 (Пн) 9:10

Win 7, x64. Запустилось.
Приближение/удаление просится делать колёсиком. После удара вид от игрока начинает куда-то уезжать. Было бы логичнее перемещать сцену так, чтобы имитировать разгибание игрока в полный рост, а не перемещать ближе к битку или центру стола.
O, sancta simplicitas!

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: 32к бильярд.

Сообщение Mikle » 29.02.2016 (Пн) 12:00

pronto писал(а):Приближение/удаление просится делать колёсиком.

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

Перемещение идёт к центру стола, что логично для обзора всей его площади, при этом остаётся возможность мышкой выбирать направление. Это, кстати, достаточно близко к "разгибанию". Можно попробовать определять область просмотра зоной, где движутся шары.

pronto
Постоялец
Постоялец
 
Сообщения: 597
Зарегистрирован: 04.12.2005 (Вс) 6:20
Откуда: Владивосток

Re: 32к бильярд.

Сообщение pronto » 29.02.2016 (Пн) 13:38

Mikle писал(а):Перемещение идёт к центру стола, что логично для обзора всей его площади

Из такого начального положения обзор после удара не улучшается
У вас нет доступа для просмотра вложений в этом сообщении.
O, sancta simplicitas!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: 32к бильярд.

Сообщение Хакер » 01.03.2016 (Вт) 14:56

Mikle писал(а):Планируется полноценный бильярд в одном EXE, не более 32 Кб

Не смотрел пока твой EXE, но дам несколько советов, может быть что-то ты и так знаешь уже, но всё равно.

Как можно уменьшить размер, чтобы добиться лучших результатов в конкурсе?
Проект с одним лишь только модулем и процедурой Main с таким кодом
Код: Выделить всё
Public Sub Main()
    MsgBox "Hello"
End Sub

даёт бинарник размером 16 кб.


Вот несколько советов:
  1. С помощью открытых мною недокуменированных опций проекта нужно добавить ключик линкера /ALIGN:0x10. Это уменьшит выравнивание секций до 16 байт. Как минимум на WinXP такие образы спокойно загружаются. Для обеспечения совместимости можешь подбирать другие значения (должны быть степенью двойки).
    Одно лишь только это уменьшает размер файла с 16 кб до 5.62 КБ кб.

  2. Переключение на P-код уменьшает размер с 5.62 кб до 4.85 кб за счёт того, что P-код — более высокоуровневой, одной P-инструкцией может совершаться та же работа, что десятком Native-инструекций.

  3. В начале каждого PE-файла идёт DOS-заголовок, за которым идёт 16-битный код, выводящий «This program cannot be run in DOS mode» в соответствующем случае. Наверняка тебе это не нужно. Создай файл размером 64 байта. Первые два байта пусть хранят символы «M» и «Z», остальные байты — нулевые. Создать такой файл можно с помощью нескольких строк на VB. Созданный файл назови dummy.exe. С помощью опять же секретных опций добавь ключ линкера /STUB:dummy.exe. Это приведёт к тому, что вместо дефолтной заглушки будет встраиваться наша сверхминималистичная. Это могло бы привести к сдвигу PE-заголовка (и соответствующему уменьшению файла) на 112 байтов назад, но к сожалению, из-за особенностей линкера, даёт сдвиг только на 64 байта. Так что что размер файла уменьшается на 64 байта.
    Было 4.85 кб, стало — 4.79 кб.

    Получить большую компактность можно взяв/сделав подходящую утилиту для выразания лишних байтов между DOS-заголовком и PE-заголовком и правки файловых смещений в таблице секций. В принципе это 50—70 строк кода на VB.

  4. С помощью тех же опций можно заставить линкер объединить секции кода и данных. Для этого нужно добавить ключик /MERGE:.data=.text.
    Экономия достигается за счёт того, что каждая секция имеет файловое выравнивание, которое съедает байты впустую. Если объединить секции, то будет одна секция, только она будет иметь выравнивающие байты, причём их количество будет заведомо меньше, чем суммарное количество выравнивающих байтов двух секций. Плюс экономия получается из-за уменьшения размера таблицы секций на один элемент.
    Было 4.79 кб, стало — 4.75 кб.

    Хочу обратить внимание, что секцию ресурсов тоже можно было бы слить с секцией кода и получить вообще всего-лишь одну секцию. В этом случае в таблице секций был бы всего-лишь один элемент, и это обеспечило бы рекордно малый размер пре-секции (куска файла-образа с заголовками и таблицей секций) — 190h байтов. С двумя секциями из-за файлового выравнивания округлённый вверх размер пресекции составляет уже 190h байтов. Утраченная (то есть без приклеивания секции ресурсов к секции данных) экономия места — 285 байтов.

    Так почему же нельзя добавить /MERGE:.rsrc=.text? Дело в том, что из-за особенностей COFF-формата, применяемого для obj-файлов, который не предусматривает никаких способ указать, что секция хранит PE-ресурсы, кроме как с помощью особого имени секции (.rsrc), и особенностей линкера, который объединяет секции до того, как происходит формирование таблицы директорий, к моменту формирования таблицы директорий не остаётся никакой информации о том, где были ресурсы, из-за объединения секций (информация терялась бы даже просто при переименовании секции ресурсов), и хотя сами ресурсы остаются в результирующем файле, отсылки на дерево ресурсов в PE-заголовке не остаётся, и получается, что у файла ресурсов нет.

    Но эту потерянную экономию можно возместить, если убрать лишние байты между DOS-заголовком и PE-заголовком.
  5. Если вырезать из ресурсов информацию о версии (VERSIONINFO) с помощью редактора ресурсов, то размер файла сокращается с 4.75 кб до 4.14 кб.

  6. Если вырезать ещё и иконки, то размер уменьшается с 4.14 кб до 2.54 кб.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: 32к бильярд.

Сообщение Mikle » 01.03.2016 (Вт) 21:02

Сколько полезной информации!!!
Из вышесказанного я знал про меньший размер P-Code и пользовался этим ранее, делая 4к демо на VB6. Но тут, к сожалению, обойдусь без P-Code - слишком медленно работает, генерация текстур и прочих ресурсов на старте становится ощутимо долгой.
Из остального мне реально должно помочь вырезание DOS-заголовка с сообщением и иконок, а остальное вряд ли что-то сильно изменит потому, что я использую UPX для сжатия результирующего EXE, он сам не плохо справляется с выравниваниями. По этой же причине DOS-заголовок с сообщением и иконки можно не вырезать, а просто затереть нулями, это дальше хорошо сожмётся.
Вот, делая очередное 4к демо, я применю эту информацию на всю катушку, там UPX не справляется.

Вопрос по сабклассингу перенёс в другое место.
Mikle
Последний раз редактировалось Mikle 02.03.2016 (Ср) 10:08, всего редактировалось 1 раз.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: 32к бильярд.

Сообщение Хакер » 01.03.2016 (Вт) 21:04

Mikle писал(а):По этой же причине DOS-заголовок с сообщением и иконки можно не вырезать, а просто затереть нулями, это дальше хорошо сожмётся.

Нет, это же не архиватор. DOS-заголовок и stub-программку он никаким образом не может сжимать.

Да и к тому же применять UPX — это просто не спортивно.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: 32к бильярд.

Сообщение Mikle » 01.03.2016 (Вт) 22:33

Хакер писал(а):Нет, это же не архиватор.

Этот "не архиватор" сжимает 64к EXE в 25 к только за счёт удаления выравнивания?
Хакер писал(а):UPX — это просто не спортивно.

Когда все пользуются - вполне спортивно. Этак можно сказать, что и компиляторами неспортивно пользоваться, особенно теми, что могут оптимизировать по размеру.
Что на счёт сабклассинга?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: 32к бильярд.

Сообщение Хакер » 01.03.2016 (Вт) 22:35

Mikle писал(а):Этот "не архиватор" сжимает 64к EXE в 25 к только за счёт удаления выравнивания?

За счёт сжатия, но думать, то он будет сжимать DOS-заголовок и 16-битный код — это, мягко говоря, наивно.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: 32к бильярд.

Сообщение Хакер » 02.03.2016 (Ср) 0:11

Mikle писал(а):Что на счёт сабклассинга?

Заведи отдельную тему, а то здесь затеряется. Да и не в состоянии я сейчас углубиться в этот вопрос — занимаюсь со своей проблемой.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: 32к бильярд.

Сообщение Mikle » 06.03.2016 (Вс) 11:22

Физика и звук готовы.
Вращение и скольжение есть, выбора точки для удара нет.
Звук писал дома на мелких колонках, сейчас пойду в студию удостовериться, что всё нормально звучит.
Приступаю к самому нудному - статистика, UI и т. п.

Admiralisimys
Постоялец
Постоялец
 
Сообщения: 318
Зарегистрирован: 01.06.2009 (Пн) 10:26

Re: 32к бильярд.

Сообщение Admiralisimys » 06.03.2016 (Вс) 16:23

Mikle планируется ли добавить анимацию доставания ударяемого шара из лузы? Забил его раньше белых, а он просто появляется вновь на столе.
А как насчёт того, что б добавить модельку для источника света, что б при прицеливании под определёнными углами она была видна?

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: 32к бильярд.

Сообщение Mikle » 06.03.2016 (Вс) 16:43

Admiralisimys писал(а):планируется ли добавить анимацию доставания ударяемого шара из лузы? Забил его раньше белых, а он просто появляется вновь на столе.

У меня бурым цветом помечен шар, по которому будешь бить, его можно выбирать стрелками. По забитому в лузу шару не ударишь, поэтому выбирается другой из тех, что на столе.
Admiralisimys писал(а):как насчёт того, что б добавить модельку для источника света, что б при прицеливании под определёнными углами она была видна?

У меня размер уже достаточно близко подошёл к 32 Кб, поэтому добавляю только самое нужное.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: 32к бильярд.

Сообщение Хакер » 06.03.2016 (Вс) 17:31

Mikle, а исправишь код создания устройства?

Вот например Half-Life 2 и другие игры ведь тоже используют D3D9, но мне же не приходится подправлять их исходники перед запуском, они как-то сами определяют способности моей системы и используют правильные параметры при создании устройства, не показывая мне каких-либо предстартовых диалогов с опциями в том числе.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Admiralisimys
Постоялец
Постоялец
 
Сообщения: 318
Зарегистрирован: 01.06.2009 (Пн) 10:26

Re: 32к бильярд.

Сообщение Admiralisimys » 06.03.2016 (Вс) 17:42

Mikle ах вот как оно, ну тогда понятно.
Кстати если у Хакера проблема из-за уровня по мультисэмплингу, попробуй отладить своё приложение под VirtualBox и предусмотреть запуск на системах с меньшим уровнем мультисэмплинга или без такового.
По крайне мере мне удавалось так запускать примеры приложение DirectX 11, в которых был запрограммирован определённый уровень мультисэмплинга и его проверка, не проход которого вызывал не медленную остановку программы.
32 битные индексы для вертексов, если используешь такие, так же там можно отладить.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: 32к бильярд.

Сообщение Mikle » 06.03.2016 (Вс) 17:51

Хакер писал(а):Вот например Half-Life 2 и другие игры ведь тоже используют D3D9, но мне же не приходится подправлять их исходники перед запуском, они как-то сами определяют способности моей системы и используют правильные параметры при создании устройства, не показывая мне каких-либо предстартовых диалогов с опциями в том числе.

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

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: 32к бильярд.

Сообщение Proxy » 06.03.2016 (Вс) 20:18

Для подобных игр характерно такое управление: выбираем направление удара, выбираем силу, отпускаем ЛКМ и всё, замах мышью — как-то не очень удобно.
Follow the white rabbit.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: 32к бильярд.

Сообщение Хакер » 06.03.2016 (Вс) 20:47

Proxy писал(а):Для подобных игр характерно такое управление: выбираем направление удара, выбираем силу, отпускаем ЛКМ и всё, замах мышью — как-то не очень удобно.

Зато можешь в последний миг занизить скорость движения кия.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

The trick
Постоялец
Постоялец
 
Сообщения: 781
Зарегистрирован: 26.06.2010 (Сб) 23:08

Re: 32к бильярд.

Сообщение The trick » 06.03.2016 (Вс) 23:53

Поставь пару строк с CheckDeviceMultiSampleType и выбирай лучшее.
UA6527P

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: 32к бильярд.

Сообщение Хакер » 07.03.2016 (Пн) 0:21

Замечание: звук бы компрессировать. При разбивании первоначального треугольника происходит множество соударений с очень малой разницей во времени. Звук от каждого накладывается на предыдущие, клипируется и получает нежелательный хрип/трекс.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 07.03.2016 (Пн) 1:05

Mikle писал(а):Просьба проверить на счёт удобства и запускаемости.

Работает.
По поводу удобства. Выбор шара сделан неудобно - скачем по всем шарам в рандомном порядке (вероятно, по номерам?). Кий далеко от шара - это как-то непривычно.

Proxy писал(а):Для подобных игр характерно такое управление: выбираем направление удара, выбираем силу, отпускаем ЛКМ и всё, замах мышью — как-то не очень удобно.

Неправда. Везде есть обработка замаха мыши. И это как раз очень удобно.

И небольшой баг: можно бить сквозь шар:
2016_03_07 00_53.png
У вас нет доступа для просмотра вложений в этом сообщении.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: 32к бильярд.

Сообщение Хакер » 07.03.2016 (Пн) 1:06

Qwertiy писал(а):И небольшой баг: можно бить сквозь шар:


Поддерживаю. Особенно шизофренично выглядит удар в центр неразбитого треугольника сквозь соседние шары.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: 32к бильярд.

Сообщение Mikle » 07.03.2016 (Пн) 9:01

Qwertiy писал(а):Выбор шара сделан неудобно - скачем по всем шарам в рандомном порядке (вероятно, по номерам?).

Это в версии без АА уже исправлено, теперь выбор четырьмя стрелками в пространстве камеры.
Qwertiy писал(а):Кий далеко от шара - это как-то непривычно.

Ближе трудно регулировать силу замаха.
Qwertiy писал(а):небольшой баг: можно бить сквозь шар:

Это осознанная недоделка, если после конкурса останется запал, подумаю, как лучше это исправить.
Хакер писал(а):звук бы компрессировать.

А точно у тебя не колонки клипуют, а звучка?
The trick писал(а):Поставь пару строк с CheckDeviceMultiSampleType и выбирай лучшее.

Я уже решил этот вопрос, к следующему обновлению будет.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: 32к бильярд.

Сообщение Mikle » 08.03.2016 (Вт) 16:44

Просьба проверить запускаемость, особенно Хакеру.
Да и играть уже можно:

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: 32к бильярд.

Сообщение Хакер » 08.03.2016 (Вт) 18:19

Mikle писал(а):особенно Хакеру.

После ввода имён игроков:
---------------------------
Run-time error '-2005530516 (8876086c)':
Automation error
---------------------------
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

pronto
Постоялец
Постоялец
 
Сообщения: 597
Зарегистрирован: 04.12.2005 (Вс) 6:20
Откуда: Владивосток

Re: 32к бильярд.

Сообщение pronto » 09.03.2016 (Ср) 10:35

Хорошо. Правда, непривычно. Всё время хочется подойти ближе :)
Осталось 2 шара — «Player 1» - 6; «Player 2» - 8. Попеременно начали меняться игроки (подсвечиваться имя красным) и программа перестала реагировать на действия (выход по Esc сработал). Если это конец партии, то об этом нужно как-то явно объявлять...
O, sancta simplicitas!

След.

Вернуться в Наши проекты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 36

    TopList