Welcome to U.A.C. [O.S.A.]
login / register
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
PrBoom-plus и GLBoom-plus Пред.  1, 2, 3 ... 28, 29, 30 ... 44, 45, 46  След.
   Список разделов - Doom и его порты - PrBoom-plus и GLBoom-plusОтветить
АвторСообщение
entryway
-= DoomGod =-
2058

Doom Rate: 2.75
Ссылка на пост №561 Отправлено: 12.11.09 05:56:25
Heretic :
Возможно в винде дело. Проверил лонгдэйс на ноуте с вистой, звука нет. Зато на игровом компе с XP с этим все в порядке

А щас?
3 1 1
Heretic
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 69 points
1371

Doom Rate: 4.42
Ссылка на пост №562 Отправлено: 13.11.09 08:51:20
entryway :
А щас?

Теперь звук есть, да.
1 4 3
entryway
-= DoomGod =-
2058

Doom Rate: 2.75
Ссылка на пост №563 Отправлено: 13.11.09 17:19:25
Heretic :
Теперь звук есть, да.

Найс. Значит будем релизить не сегодня, так завтра если ты не против :)
3 1 1
[LeD]Jake Crusher
UAC General
Next rank: Unavailable after 0 points
8473

Doom Rate: 1.51
Ссылка на пост №564 Отправлено: 16.11.09 00:11:48
Очередной релиз PrBoom Plus. Судя по описанию - исправлено проигрывание MP3/OGG в Vista/Windows 7, а также пофиксены проблемы с небом (растягивание и скроллинг) в режиме скайбоксов. Потом, появилась уникальная фича - захват видео прямо во время игры, ну и устранено несколько багов. Брать отсюда.
4 2 2
entryway
-= DoomGod =-
2058

Doom Rate: 2.75
Ссылка на пост №565 Отправлено: 16.11.09 04:27:43
Jake Crusher :
пофиксены проблемы с небом (растягивание и скроллинг) в режиме скайбоксов

Растягивание - это было как бы не проблема и сделано преднамеренно, чтобы уменьшить "шапку" скайдома. Но в конце-концов мы "посовещались" с графом и решили отказаться от этого полностью дабы не калечить пропорции, что иногда достаточно важно. 'forcenoskystretch' MAPINFO параметр в гздуме теперь тоже не должен работать.

Jake Crusher :
Потом, появилась уникальная фича - захват видео прямо во время игры

Если имеется в виду -avidemo, то этой сомнительной фиче 200 лет в обед.
3 1 1
[LeD]Jake Crusher
UAC General
Next rank: Unavailable after 0 points
8473

Doom Rate: 1.51
Ссылка на пост №566 Отправлено: 16.11.09 10:15:11
entryway :
Растягивание - это было как бы не проблема и сделано преднамеренно, чтобы уменьшить "шапку" скайдома. Но в конце-концов мы "посовещались" с графом и решили отказаться от этого полностью дабы не калечить пропорции, что иногда достаточно важно. 'forcenoskystretch' MAPINFO параметр в гздуме теперь тоже не должен работать.

Ну, учитывая то, что я не так силён в этом аспекте, и знаю далеко не всё про PrBoom Plus...

entryway :
Если имеется в виду -avidemo, то этой сомнительной фиче 200 лет в обед.

На ходу, я имел в виду. Если, конечно, я правильно понял фразу "The new version also introduces a unique feature that facilitates video capture of the in-game footage". Вроде бы о команде avidemo речь не шла...или я что-то напутал, так?
4 2 2
Never_Again
= UAC Gunner =
Next rank: - Corporal - after 14 points
66

Doom Rate: 2
Ссылка на пост №567 Отправлено: 16.11.09 10:51:43
Имелось в виду sdl_video_window_pos. Эта переменная полезна тем, кто гонит HyperCam вместо Frapsa. Fraps хватает окно автоматически, лёгкий метод, но и выбор ограничен. А c HyperCam'ом хошь окно, хошь только часть, а то и весь desktop, если надо, писать можно. -avidemo, конечно, довольно бесполезная штука...
facilitates = "облегчает", а не "делает возможным". =)
[LeD]Jake Crusher
UAC General
Next rank: Unavailable after 0 points
8473

Doom Rate: 1.51
Ссылка на пост №568 Отправлено: 16.11.09 11:01:35
Never_Again
Тьфу, блин, на этом слове и попался...но по крайней мере, хорошо, что не сказал ещё "делает реальным" :)
В любом случае, билд порта вовремя. Надо будет порубать в Hellfire с ним :)
4 2 2
entryway
-= DoomGod =-
2058

Doom Rate: 2.75
Ссылка на пост №569 Отправлено: 16.11.09 11:51:10
Never_Again :
Имелось в виду sdl_video_window_pos

Это фича, кстати, не совсем моя. Я просто вынес её в настройки. Для любого SDL порта, если не предпринимается никаких попыток позиционирования окна, можно написать подобный батник:

set SDL_VIDEO_WINDOW_POS=center
glboom-plus.exe
3 1 1
Archi]ASTS[
UAC General
Next rank: Unavailable after 0 points
12719

Doom Rate: 1.87
Ссылка на пост №570 Отправлено: 08.01.10 13:20:40
В версии 2.5.0.6 есть эдакий глюк, когда жмешь на выход и вместо y или n жмешь enter, то на экране всплывает последнее написанное на экране сообщение сообщение.
2 1 1
Never_Again
= UAC Gunner =
Next rank: - Corporal - after 14 points
66

Doom Rate: 2
Ссылка на пост №571 Отправлено: 08.01.10 21:13:21
Так и положено, как в ванили.
BND
- Warrant Officer -
Next rank: = Warrant Officer = after 10 points
1130

Doom Rate: 1.35
Ссылка на пост №572 Отправлено: 14.01.10 11:10:34
Так и не понял с чем связана данная бага. http://files.wyw.ru/wyw_file?id=4212672
Писал в prboom-plus 2.4.8.1. Iwad - doom2.wad
Heretic
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 69 points
1371

Doom Rate: 4.42
Ссылка на пост №573 Отправлено: 14.01.10 15:39:50
Alex-of-persia :
Так и не понял с чем связана данная бага.

Это обычный ванильный баг - Intercepts Overflow. При желании его эмуляция отключается в прбум+.
1 4 3
Never_Again
= UAC Gunner =
Next rank: - Corporal - after 14 points
66

Doom Rate: 2
Ссылка на пост №574 Отправлено: 14.01.10 16:04:59
Поскольку статья, указанная Еретиком, на английском, вот перевод.
Этот баг можно перевести как "переполнение перехватов" . Колин Фиппс, один из програмистов prBoom'а, объясняет:


"Всепризрачный" Баг

<...>"Всепризрачный" баг - гораздо более странное (чем Archvile баг - N_A) и редкое событие в Думе. Если бы не демы, доказывающие его существование, он, вероятно, считался бы мифом, потому что очень немногие игроки сталкиваются с ним в практической игре - я, по крайней мере, никогда. Действительно, я знаю о существовании только двух дем, демонстрирующих этот баг, и это на них я основываю свой анализ.

Так в чем же состоит этот баг? Внезапно, без какой-либо очевидной причины, все вещи в игре становятся призраками. Все монстры и все игроки становятся бестелесными. Это в конечном итоге срывает любую попытку играть всерьёз, так что такое происшествие трудно просмотреть :-). <...>

Техническая информация

Хорошо, а чем вызывается "всепризрачный" баг? По-правде говоря, причину довольно труднее объяснить, чем найти; так что я начну с объяснения, как действует cоответствующая секция движка, а завершу самим багом.

Одной из основных операций в движке Дума является способность следовать за линией, и находить все игровые объекты (вещи и линий), которые она пересекает. Это производится функцией p_maputl.c:P_PathTraverse. Она задается точкой начала и конечной точкой и использует блокмапу и некоторые геометрические расчеты, чтобы создать упорядоченный список всего, что преграждает эту линию между теми точками. Хотя эта функция применяется главным обраэом при прямолинейных выстрелах из оружия, она также используется, когда игрок "юзает" (т.е., когда игрок жмёт пробел, движок должен "щупать", есть ли или нет перед игроком двери или переключатели), а также для определения, как игроку скользить вдоль препятствий.

Список препятствий - "перехватов"(intercepts), как Doom их называет - хранится в таблице (array). С типичным для движка Дума качеством кода, это статическая таблица с фиксированным размером пределов в 128 перехватов (MAXINTERCEPTS). А проверка диапазона при вношении перехватов в эту таблицу не производится, что может вызвать переполнение таблицы, с различными неприятные последствиями.

"Но 128-и перехватов должно хватать на любой случай жизни", скажет тут иной читатель. "В конце концов, невозможно натолкнуться на более чем одну стену за один раз, невозможно нажать более чем одну кнопку за один раз, и не невозможно попасть в более чем одного монстра или стену одной пулей. Ведь сам смысл перехватов эаключается в том, что они препятствуют тому, что ты пытаешься сделать, и дальше дело не идёт. Конечно, существуют перехваты, которые не являются препятствиями - например, бонусы и трупы не преграждают путь выстрелам - но 128 перехватов это всё равно более чем высокий предел. В конце концов, doom2.exe шизеет гораздо более очевидным образом при всего лишь 64-ёх вещах или 16-и двусторонних линиях на экране одновременно."

Ну, 128-и должно хватать. Но, раскритиковав скверное осуществление проверки перехватов, пора пожаловаться на неудачный способ, которым используется этот алгоритм. Хотя большая часть кода, занимающегося перехватами, просто ищет первое "попадание", беда в том, что различные секции кода ищут различные типы попаданий. Выстрел может пересечь линию, которая по существу является приземлистой панелью переключателя, но P_PathTraverse не знает, что мы ищем - выключатель или удар; поэтому эта функция должна считать, что поиск может вестись и за тем, и за другим. И она действует соответственно пессимистическим образом: перечисляет каждый перехват между начальной и конечной точкой - независимо от того, что мы ищем только один конкретный - потому что программисты поленились найти способ научить её, что именно надо искать. Каждая секция движка, которая выэывает P_PathTraverse получает полный список перехватов и эатем читает этот список, пока не находит то единственное препятствие, которое её касается - и выбрасывает остальные результаты прочь. P_PathTraverse включает в себя следующий код быстрого завершения, но в действительности он никогда не используется:
      extern intercept_t      intercepts[MAXINTERCEPTS];
      extern intercept_t*     intercept_p;

Как только таблица перехватов переполняется, она портит указатель (pointer), используемый для хранения новых перехватов. Код начинает перезаписывать память. Неясно, порча ли intercept_p'а ведёт к "всепризрачному" багу непосредственно, или же этот баг является косвенным следствием последующего повреждения памяти. Чтобы ответить на этот вопрос определённо, вероятно, необходимо иметь возможность запускать оригинальный EXE из-под отладчика (debugger) ...


e6y поправит, если я какой-то технический термин перевёл неудачно, с русской терминологией програмистов я знаком слабо. Возможно, он также разъяснит смысл "кода быстрого завершения" ("some fast exit code" в вышеприведенной статье), что для меня, как не програмиста, загадка.

Статья была написана в 2003-ем, а в 2005-ом Grazza поставил на DW таблицу перечисляющую длинный ряд уровней и их дем, на которых были замечены различные баги, связанные с переполнениями. Одних intercepts_overflow'ов 17 штук. Славный список, только вот с советом по избежанию этого бага неувязка вышла. Какое имеет отношение linedef 0 к intercept overflow'у? Я осенью записал две демы на blacktowr.wad'е, где intercept overflow'ы происходят в довольно далёких от linedef 0'а местах.
BND
- Warrant Officer -
Next rank: = Warrant Officer = after 10 points
1130

Doom Rate: 1.35
Ссылка на пост №575 Отправлено: 23.01.10 17:52:32
Большое спасибо за разьяснение. Стал спать спокойнее.
Уж извините, что достаю, но если не трудно не расскажите ли ещё про одну ошибочку? Вроде бы всё идёт нормально и бац! Выскакивает сообщение вида "I_SignalHandler: Exiting on signal: signal 11". В гугле не забанен - искал, но не нашёл ничего кроме чейнджлога, в котором указано, что этот баг вызывал всего лишь торможение и был исправлен в версии 2.2.6.7. Причём встречается не так уж и редко.
Выкладываю дему, записанную на requiem'е. Писал в том же прбум+ 2.4.8.1. http://webfile.ru/4250487
Archi]ASTS[
UAC General
Next rank: Unavailable after 0 points
12719

Doom Rate: 1.87
Ссылка на пост №576 Отправлено: 23.01.10 19:45:57
Alex-of-persia
Старнно. Ну ты прямо притягиваешь всякие ванильные фичобаги.
А вообще signal 11 у меня довольно часто всплывал когда я карты тестил в нем. Только вот причина обычно крылась в DEH(а может вообще в чем другом). Пусть гуру меня поправят.
2 1 1
entryway
-= DoomGod =-
2058

Doom Rate: 2.75
Ссылка на пост №577 Отправлено: 23.01.10 21:14:42
Alex-of-persia
Я правильно понимаю, ты мне тут описываешь баги версии трехлетней давности? Это бессмысленно.


По поводу "signal 11" - это обычный краш. Когда он случается, следует (для WinXP):

1. Скачать версию с суффиксом "debug"
2. При необходимости выполнить "drwtsn32 -i"
3. Запустить отладочную версию прбума с комстрокой -devparm
4. Воспроизвести падение
5. Выслать мне лог доктора Ватсона, который как правило находится здесь: C:\Documents and Settings\All Users\Application Data\Microsoft\Dr Watson\drwtsn32.log и последовательность действий, которая приводит к крашу.
3 1 1
Shadowman
= UAC Commissar =
Next rank: - UAC Marshal - after 297 points
6603

Doom Rate: 2.46
Ссылка на пост №578 Отправлено: 22.02.10 16:19:20
Странный баг с signal 11 - в прбум+ 2.5.0.5
Если выставить глубину цвета в 32 бита, то при попытке запустить отдельный уровень из ком строки (типа skill 4 -warp 01) прбум вылетает с этой ошибкой. Это не зависит от вада, даже дум2.вад также вылетает. Но просто загрузить пвад можно.
Зато при глубине цвета в 16 бит бага нет.
Конечно, особой разнице в софте прбума для 16-бит или 32-бит цветов не заметно, но все ж интересно, с чем связана данная бага?
1 6 2
entryway
-= DoomGod =-
2058

Doom Rate: 2.75
Ссылка на пост №579 Отправлено: 28.02.10 02:54:02
Shadowman :
Странный баг с signal 11 - в прбум+ 2.5.0.5

2.5.0.5 не последняя.

Shadowman :
Конечно, особой разнице в софте прбума для 16-бит или 32-бит цветов не заметно

Разницы нет вообще, если не включена билинейная фильтрация. Думаю у тебя не включена.
3 1 1
Phosgene
= UAC Gunner =
Next rank: - Corporal - after 1 points
79

Doom Rate: 1.84
Ссылка на пост №580 Отправлено: 06.06.10 21:38:20
Только сейчас дошло что мошно ускорять игру. Добовляет новые ощущения, особенно понравилось как пулемет быстро стреляет. Еще понравился ускоренный арахнотрон - становится чуть ли не самым опасным монстром!
Страница 29 из 46Перейти наверх Пред.  1, 2, 3 ... 28, 29, 30 ... 44, 45, 46  След.
   Список разделов - Doom и его порты - PrBoom-plus и GLBoom-plus