crypt of decay - April 13th, 2019 [entries|archive|friends|userinfo]
ketmar

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

April 13th, 2019

пришлось... [Apr. 13th, 2019|05:26 pm]
[Tags|, , ]

…рассовать везде флажков «флипнуто» и заебаться их проверками, но уебанские 3д-полы из гоззы почти работают. с мелочами типа «иногда не угадал, где рисовать боковую текстуру».

забавно, что в гоззе это сделали изначально неправильно, и у них там проблемы по всем полям. вавумчик вполне универсально хранит список с пустыми областями для сектора. и когда добавляешь туда 3д-пол, вавумчик просто «вырезает» его из пустот. а гозза зачем-то хранит список 3д-полов в секторе. при этом ещё и копирует плоскости пола-потолка.

собственно, гозза не в состоянии двигать вавумовские 3д-полы как раз потому, что вынуждена копировать плоскости, а не просто хранить ссылки. а я, в свою очередь, был вынужден флипать. сначала я тоже заморочился копированием, а потом подумал — и вместо этого попривинчивал в стратегических местах флажки «флипнуть пол» и «флипнуть потолок». на самом деле — кривовато вышло, и в куче мест, но более-менее работает. к сожалению, в саму плоскость флаг запихать нельзя. но надо будет сделать какой-то прокси-объект, что ли, а то всенепременно где-то забуду проверить флажок. собственно, намедни и забыл, и игрок на некоторых полах разгонялся до вертикальной скорости -1050. конечно, физика через пол провалиться не позволяла, но она же и считала, что при переходе из сектора в сектор ты упал с охуенной высоты: а как ещё такую скорость набрать-то?

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

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

надо, кстати, уже и добавить поддержку 3д-полов от edge. они, вроде как, вполне конвертируются в `Set_3DFloor()`.
Link2 meows|meow!

navigation
[ viewing | April 13th, 2019 ]
[ go | Previous Day|Next Day ]