crypt of decay [entries|archive|friends|userinfo]
ketmar

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

пост для желающих помочь мне материально [Oct. 7th, 2032|04:48 am]
уважаемый анонимус всё‐таки убедил меня, что сделать такой пост стоит. итак.

это верхний пост для тех, у кого образовался избыток денег и очень хочется их кому‐нибудь (мне) отдать; или для тех, кому просто по каким‐либо причинам хочется мне помочь деньгами на жизнь. под катом реквизиты украинского приватбанка, на которые вы можете это сделать. а если вы по каким‐то причинам хотите помочь в USD или EUR, то это, в принципе, тоже решаемо, пишите в каменты. к сожалению, другие платёжные системы нит. извините.

каменты скринятся. если хотите расскрина — напишите это прямо в каменте.

также здесь будет текущий статус: жив, жопа приближается, полный пиздец, такое вот. это на тот случай, если вы хотите помогать на выживание, но предпочитаете выпить пива, если мне не критично. «жив» — это значит, что на текущий месяц мне хватит на еду, коммуналку и интернеты (а больше мне не надо). «жопа приближается» — это значит, что подходит конец месяца, а на следующий запасов ёк. это я постараюсь вешать за неделю‐полторы до. «полный пиздец» — это значит, что нужно прямщазсрочно, времени осталось в обрез считаные дни, потому что случилось что‐то непредвиденное (или никто не спас вовремя от приближающейся жопы).


статус: почтипиздец.

если кто удивляется долгой несмене статуса — так это потому что Стабильность.


спасибо тем, кто поддерживает (и/или поддерживал), и тем, кто просто не гадит здесь в каменты.


p.s.: спрятан. можно почитать в коде страницы. также уважаемый анонимус предложил повесить сюда CV, но я нафиг не знаю, что там писать. тупо список умений будет огромный и бессмысленный, а чем я хочу заниматься завтра — я и сам не сильно в курсе. это может быть каждый день разное, предсказать невозможно.

p.p.s.: кто не щёлкает по катам: там появился btc-адрес.

Read more... )
Link200 абырвалг|абырвалг!

для матюгов [May. 5th, 2024|09:23 am]
оказывается, у меня был верхний пост для матюгов, а потом куда‐то проебался. искать лень, поэтому сделаю новый. каменты торадиционно скринятся.

мой набор модов для GZDooM а всё равно устарело давно.

сумбурные недостатьи по Gilbert-Johnson-Keerthi distance algorithm помечены тэгом gjk.

онгоинг про создание компилятора без генерации AST: MES internals.

форк GZDooM и немного модов к форку тут.

upd: тру и баню, тру и баню. ничего не поделаешь.

пояснение: умных здесь любят. умничающих — нет. умный знает разницу.

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

new policy: идиотничание приравнено к спаму, потому удаляется. так что если ты вдруг обнаружил, что твой ценный камент исчез — то или переформулируй его без идиотничания, или иди нахуй, если ты действительно дебил.
Link360 абырвалг|абырвалг!

форк VaVoom [Dec. 28th, 2021|01:04 am]
репа вавум-форка тут.

там дефолтно включены хэдшоты и «ammo king» (ибо я заебался за патронами бегать). в поставке есть brutal weapons mod, включается аргументом комстроки «-bdw». кровищу можно выключить аргументом «-nogore».

автоприцел у пистолетов-автоматов-винтовок нахуй оторван, ибо нехуй. привинтить назад без правки «doomweapons.txt» не выйдет, и не планируется.

декораты от гздум поддерживаются через пень-колоду, если что. всегда так было, а я починил/добавил только то, что мне понадобилось для brutal weapons.

поддержка аллегры и d3d нахуй выпилена.

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

64 бита нихуя не проверялось ваще (но на GNU/Linux должно работать).

и вынесу из каментов про свет в advanced renderer:

со светом в advanced renderer, кстати, всё очень плохо: тормозит не просчёт, а сам GPU. то есть, параллелить просчёт смысла нет вообще: надо вместо этого смотреть, почему не особо сложная геометрия всё так роняет на колени. я не очень понимаю эти куски (включая клипер), поэтому увы — пока будет тормозить и дальше.

а вот в «обычном» рендере я попробую починить просвечивание на пол из секретов — и тогда он будет ненамного хуже. (починено) если присмотреться, то обычный рендер тоже делает тени от геометрии уровня: там просто очень маленькие лайтмапы. мне, если честно, нравится даже больше чем «advanced».

я, если чо, в курсе, что рендер иногда глючит, клипая то, что клипать не надо. это будет починено рано или поздно. пока что просто учтите, что уровни с 3д-полами и зеркалами могут сильно проглючивать, а с deep water — местами проглючивать.

WARNING: моды, специально заточеные под VaVoom (те, где используется VaVoom C — все полтора) работать НЕ БУДУТ. потому что синтаксис VaVoom C изменён, и скриптами от оригинала подавится.

upd: в каментах к этотпоцт иногда пишутся апдейты, а сам поцт обновляется весьма редко. ну и вообще — если вдруг ты, дорогой друг, ебанулся настолько, чтобы попробовать мой форк, и с момента последнего выполнения команды «git pull» прошло больше пары дней, то делай «git pull» снова: chances are — я что-то починил, добавил или улучшил. пока у меня есть настрой и пруха на это.

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

upd2: рендер на OpenGL <2.1, без шадеров, мультитекстуринга и VBO выпилен. во-первых, он всё равно не работал нормально, а во-вторых, я не имею ни сил, ни желания его тянуть. good night, sweet old fart.

upd3: брутал не поддерживается, и никогда поддерживаться не будет. код брутала — забагованое ебаное говнище, которое работает в GZDoom только от того, что GZDoom полон другого ебаного говнища, вхуяченого отчасти потому, что ZDoom всегда был говнищем, а отчасти чтобы поддерживать то ебаное говнище. я не буду уродовать VaVoom ради поддержки этого. то же самое относится ко всем модам, основаным на брутале (включая pb, и даже ketchup mod), и ко всем модам, которые включают в себя разные куски брутала.
Link129 абырвалг|абырвалг!

мой gzdoom (больше не апдейтится) [Dec. 27th, 2021|03:48 pm]
[Tags|]

В СВЯЗИ С ПОЛНОЙ МИГРАЦИЕЙ НА ВАВУМ — БОЛЬШЕ НЕ АПДЕЙТИТСЯ, И ПРЕДСТАВЛЯЕТ ИНТЕРЕС СКОРЕЕ ИСТОРИЧЕСКИЙ. ЕСЛИ ВООБЩЕ КАКОЙ-ТО.

репа. бранч k8. имейте в виду, что бранч постоянно ребазится и потом я делаю «push --force».

и моды, которые превращают его в gzdoom i almost like. и которые надо использовать с моим бранчем, понятно.

assault rifle и shotgun из BDv20. активно стараются заменить собой пистолет и стандартный шотган. очень часто у них это получается. iron sights убрал, потому что с хэдшотами стволы и так убер.
brutal weapons mod

очень сильно почищеный и весьма переделаный ketchupv5.1 (no gibs, splatters only). у брузеров кровь, как полагается, зелёная, у како — синяя.
gore mod

универсальные хэдшоты. если стоит gore mod, то при убиении в голову оттуда будет лететь смешной салют из кетчупа (который потом подсохнет), а также под убиенным растечётся кровавая лужица (кривовато, но красивей без оверрайда актёров не сделать).
headshots mod
переписал хак на zscript, внедрил zscript'овый код в ядро gzdoom. ибаваистену.

ну, и пусть тоже будет: говнохуд, зато понимает brutal weapons.
HUD mod


специфика модов в том, что они не переопределяют никаких монстров, поэтому совместимы почти с любыми другими модами. хэдшоты вообще совместимы со всем подряд, например.

да, это всё надо собирать вручную. как? иди учись. с модами стало проще, потому что я портировал их на ZScript, больше никакого ACS.


p.p.s: спасибо анонимусу за репорт, поцчинил идиотский недосмотр.
Link20 абырвалг|абырвалг!

лолушки [Oct. 20th, 2018|05:55 pm]
нельзя обижать таргонов. ну, потому что нельзя.

p.s.: и, конечно, там предложили чудесный хэштэг: #ThargoidLivesMatter.
Link2 абырвалг|абырвалг!

хех [Oct. 12th, 2018|10:33 am]
[Tags|]

а на деле всё не так плохо, как может показаться. planisphere 2, вид с реки — в вавуме не сильно отстаёт от gzdoom. gz там даёт ~12 кадров, а вавум — ~8. надо будет попробовать перевести рендер на vertex attrs, и рендерить списками субсекторов. ну, и таки сделать PoC рендера на блокмапе: может, удастся обогнать gz.
Link16 абырвалг|абырвалг!

даже компы сходу понимают... [Oct. 11th, 2018|08:22 am]
кто бесполезен.
Link19 абырвалг|абырвалг!

vavoom [Oct. 5th, 2018|05:56 am]
хех. оказывается, вавум бережно сохранил баг ваниллы с объектами у границ ячеек блокмапа. тот самый, когда ты стреляешь в морду зверятке, а пули пролетают насквозь. я, конечно, это периодически замечал, но всё не доходили руки починить.

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

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

по пути обнаружил лимит на 256 поверхностей «с дырками», из-за которого большие уровни рендерились кривовато. убрал лимит вообще, заменив сбором в один большой массив, и потом тимсортом на нём. dt-lutz сразу стал выглядеть (почти) нормально.

также в очередной раз попробовал починить vanilla floodfill bug (который сплоетят для создания monster alcoves в полу). не идеально, но в отличие от прошлых попыток — больше не ломает рендер направо и налево, а большинство дырок замаскированы.

заодно сделал заглушки для нереализованых render styles. stencil (который на самом деле просто красит спрайты в выбраный цвет) тупо сэмулировал цветным светом на спрайт, а про shade сделал вид, что такого нет. надо бы поправить шадер, но лень.
Link2 абырвалг|абырвалг!

стань просветлённым уже сегодня! [Oct. 4th, 2018|12:57 am]
кто даёт мне денег на жрат — тот разрывает круг сансары! давай, не упускай такой отличный шанс почистить карму! давай-давай, а то вдруг в следующей жизни родишься земляным червяком? будет обидно. так что чисти карму. очень уж кушать хочется.
Link

воплощают Розова в жизнь [Oct. 1st, 2018|11:06 pm]
гыг. я, конечно, не удивлён — потому что Розов в плане оффи-копошений никакой не фантаст, а бытописатель. но отчего-то всё равно забавно.
Link1 абырвалг|абырвалг!

очередной дебил [Oct. 1st, 2018|03:03 pm]
суёт пальцы в розетку. потому что купил себе технику с 5.1 саундкартой, а к ней две колонки-перделки. настроить же даунмикс в стерео — неа, никак. поэтому «обычные» эффекты и разговор он нихуя не слышит, и добавляет громкости. после чего получает по ушам «объёмным» эффектом, который звучит громко по всем каналам. но виноват, конечно, не дегенерат, который не желает посмотреть в настройки, а авторы звуков и софта, резонно предполагающие, что если у человека поставлен звук 5.1 — то он и хочет 5.1, а не стерео.

p.s.: больше тысячи лайков к этому говну говорит нам о том, что фильм «идиократия» — дохуя оптимистический.
Link13 абырвалг|абырвалг!

vavoom, рендер [Oct. 1st, 2018|08:31 am]
там, короче, плохо абсолютно всё. кроме того, конечно, что хорошо — а хорошо там почти всё.

а если серьёзно, то он был написан во времена одноядерных процессоров и OpenGL 1. поэтому на карте типа planisphere2, если смотреть вдоль улицы, то ~30 миллисекунд уходит на апдейт секторов (текстуры, высоты, всё вот это), а из оставшегося времени (осталось ~100 мсек — да, вот такой вот FPS) — две трети на бесполезную выборку примерно сорока тысяч сурфэйсов, и треть на то, чтобы затоссить их в GPU. это около ста тысяч вертексов всего.

естественно, по чистой логике — современный GPU должен всё это отрендерить быстрее чем фурри ебутся. но… OpenGL 1. он там был до тех пор, пока я не форкнул. а в то время даже display lists были медленные — и их в рендере нет.

в общем, оно ходит по BSP, чтобы собрать мешок сурфэйсов для рендера, потом снова проходит по этому огромному списку чтобы отрендерить (не забывая нежно засылать каждый ценный вертекс в GPU заново). я сильно подозреваю, что на современных GPU намного быстрее было бы даже если бы рендер забил на это всё, просто захерачил в GPU каждый сектор, а потом просто рисовал уровень посекторно одной командой. на этом всём ужосе я выиграл пару FPS просто девиртуализировав вызов `SetTexture()` — жуть.

не поймите меня неверно: рендер хороший. он делает вполне неплохой beam clipping, и нормально справляется с ~3000-7000 сурфэйсов, чего вполне достаточно для большинства нормальных уровней. на то время (>10 лет назад) этого было достаточно, да и других методов особо не существовало (consumer GPUs и сейчас сосают, а тогда вообще турбопылесосили). при этом там даже потенциально есть раздельный рендер пола/потолка и стен (на горизонтальных поверхностях текстуры меняются реже, например).

в общем, починить это невозможно, это надо переписывать с учётом современных реалий. во-первых, агрессивно кэшировать данные секторов на GPU. во-вторых, перепахать весь код, чтобы сектора, требующие обновлений, сразу собирались в отдельный список, а не сканить их по BSP на каждом кадре (да, апдейтер делает BSP scan, обновляя только потенциально видимые сектора — на то время, опять же, это было удобней и дешевле). а в третьих, я вообще не уверен, что имеет смысл заморачиваться с BSP sorting. есть подозрение, что простой рейкастер по блокмапу и лучше параллелится, и проще писать.

ну, то есть, тупо разбить view frustum на части, запустить в каждой по потоку с trace line (точнее, trace beam), отмечать каждый субсектор, попадающий в cell, как «рендерировай», а заодно использовать его для генерации cell coverage. всё равно преимущества zero overdraw от BSP не используются.

если кто не понял, почему planisphere2 так плохо: там у домов нет top texture. а клиппер умеет отмечать только полностью перекрытые вертикальные регионы. в итоге взгляд вдоль улицы рендерит абсолютно все дома, попавшие в FoV — хотя большинство из них и закрыты другими. даже если сделать вертикальное отсечение — это поможет мало, потому что карта сама по себе двухмерная, и BSP тоже. поэтому время на скан дерева (которое две трети кадра отъедает, напомню) всё равно никуда не денется. ну, станет вместо восьми FPS каких-нибудь десять-двенадцать. маргинальное улучшение — и куча бесполезного кода.

можно, конечно, читернуть, и отпрепроцессить карту, прибив небо над высокими домами в top texture, гвоздиками: всё равно при нормальной игре туда залезть нельзя. поможет, правда, несильно, и только для карт этого специального вида.

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

и про kdizd )
Link10 абырвалг|абырвалг!

shoot at sight [Sep. 30th, 2018|06:48 pm]
поскольку сраное гмыло считает, что оно самое дохуя умное, и требует какой-то ёбани — которое оно считает «аутентификацией» — от моего почтового сервера, добавил фильтр, который сливает всю почту с гмыла в /dev/null.
Link46 абырвалг|абырвалг!

не понимат [Sep. 25th, 2018|11:33 pm]
шестнадцать лет уже существует TimSort, который и быстрее quick sort'а на частично отсортированых последовательностях, и вдобавок stable — а в стандартные библиотеки (привет, glibc!) до сих пор квик суют. уже одно то, что TS как минимум не хуже квиксорта, да вдобавок stable — повод мгновенно повыкидывать квик отовсюду, откуда можно. но нет, диды порятнки нюхали и нам заповедовали, так что таскайте свои реализации с собой.
Link37 абырвалг|абырвалг!

vavoom [Sep. 25th, 2018|04:40 pm]
бляблябля. совсем просмотрел, что вавум для рендера порталов использует stencil buffer, который я использую для рендера декалей. в итоге — выпадение текстур.

пока обхачил отключением декалей для порталов, но это хуёвая идея. раз уж рендер всё равно требует наличия FBO и GLSL 1.20, то надо просто сделать свой, отдельный буфер масок, в текстуре. станет чуть медленней, конечно, но вряд ли критично.

можно, конечно, вместо этого считать точные текстурные координаты декалей, но оно мало того, что куча лишнего кода, так ещё и потенциальный z-fighting, и не будет работать, когда я наконец доделаю декали на полу и потолке — потому что полигоны пола и потолка нифига уже не прямоугольные. gz, собственно, потому и не умеет декали не на стены — он пытается их обсекать математикой, а не трафаретом.
Linkабырвалг!

кстати [Sep. 22nd, 2018|10:07 pm]
в lkml правильно заметили: письмо линуса смердит.

«It's one thing when you can ignore these issues. Usually it’s just
something I didn't want to deal with.»

не видите, нет? первый апостроф обычное аски, второй — юникод, потом опять аски. нет, так НЕ БЫВАЕТ (и да, линус никогда так не писал). и там ещё такое есть. it is either faked, or forged, or both.

«It's one thing when you can ignore these issues. Usually it’s just
something I didn't want to deal with.»

«I am going to take time off and get some assistance on how to
understand people’s emotions and respond appropriately.»

«I know when I really look “myself in the mirror” it will be clear it's
not the only change that has to happen, but hey…»

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

ну, или вариант похуже: его таки смогли как-то подставить, и всё очень плохо.

предпочитаю первый вариант.
Link23 абырвалг|абырвалг!

и полезных новостей (да, опять про вавум) [Sep. 21st, 2018|12:01 pm]
наконец-то сделал то, ради чего туда привинчивались FBO: reverse z. там, конечно, нет стокилометровых открытых областей, но всё равно пусть будет. заодно починил (вроде бы) дурацкий баг, который ломал рендер кучи уровней с вполне стандартными окнами.
Linkабырвалг!

it was fuckin' fast [Sep. 21st, 2018|11:34 am]
не то чтобы я совсем этого не ожидал, но не ожидал так быстро. маленькая приватная беседа с с мунчайлдом (который лидер проекта Pale Moon) возымела результаты с ошеломляющей скоростью. как там и обещал, он выкинул к хуям кок от sjw, и написал намного более вменяемый документ вида «just don't be a dick». без ссылок на девковсов и прочую отраву. я, конечно, не думаю, что убедил его единолично, но наверняка мои простыни текста тоже повлияли.

спасибо, чувак. особенно на фоне пинус кернела (хотя там, вроде как, тоже идут боевые действия; может, и там здравый смысл победит).
Link38 абырвалг|абырвалг!

vavoom [Sep. 18th, 2018|12:41 pm]
допилил динамическое освещение в регуряр рендере: теперь нормально рэйкастит, не просвечивает сквозь стены секретов. ну, и если фаербол пизданулся в дверь с одной стороны, другая сторона двери не освещается.

нашёл мегабаг в компиляторе vavoom c (который сам и вхерачил): для `ref`-аргументов, которые структуры, проверка типов проверяла ровно нихуя. поскольку я некоторый апи в vc перевёл с указателей на ref, то было пропущено несколько мест, где передавалась полная поебень. из серии: «да как оно работало вообще?!»

добавил очень грубый просчёт pvs при загрузке уровня. оно чуть-чуть помогает выкидывать ненужный динамический свет, и я планирую использовать посчитаный pvs вместо грубого reject. считает в несколько потоков, но всё равно медленно. для больших уровней типа supplydp или DooM:One должно дать вполне ощутимый выигрыш.

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

поймал странный баг в glBSP: он зачем-то иногда создаёт сегменты для второй несуществующей стороны одностороннего лайндефа. вутафук? выкину его вообще, и заменю на ajbsp. я и здумовский взял бы, но он настолько обмазан всяким говнищем типа здумовских типов данных, что я ебанусь его приводить в нормальный вид. даже standalone версия уёбищна (как и всё, что родом из здума, впрочем).

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

да, я в курсе про gl nodes, и про zdoom gl nodes, которые сейчас почти все прикладывают к уровням уже посчитаные. но то ли я их гружу как-то неправильно, то ли забыл что-то где-то в постобработке, но некоторые уровни с ними рендерятся неверно. поэтому надёжней тупо ребилдить.

а. и ещё кусок кода, который препроцессит уровень для более шустрого раскидывания декалей, имел сложность в районе O(n^3). ебанись, местами работало на порядок дольше, чем нодбилдер. для больших уровней могло трудиться даже больше минуты. охуел, переписал на O(n), где раньше была минута — теперь меньше секунды.
Linkабырвалг!

торвальдс всё [Sep. 18th, 2018|10:36 am]
пизда линуксу теперь. чтобы было ясно, что натурально пизда — сразу же закоммитили новый кок. девковс, дуралинаада, все дела. хорошо, что у меня всё равно денег на новую технику нет, можно не обновляться.
Link58 абырвалг|абырвалг!

navigation
[ viewing | most recent entries ]
[ go | earlier ]