crypt of decay - Post a comment [entries|archive|friends|userinfo]
ketmar

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

увы и ах Apr. 18th, 2019|01:03 am

ketmar
к сожалению, набор хаков для поддержки 3д полов гоззы грозил разрастись в полную пиздецому. поэтому я принял Волевое Решение полностью переписать реализацию полов в вавумчике. теперь она гибридная, и поддерживает как оригинальные вавум-полы, так и гоззо-сраку. конечно, там ещё дофига багов (особенно с текстурами), но уже можно побегать, и выглядит почти нормально. и пропали некоторые дырки — где вавумчик раньше не понимал, куда текстуру натягивать, и поэтому не натягивал вообще никуда.

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

в целом код стал уёбищней по дизайну, но с меньшим количеством говнохаков. увы, но уебанская гоззо-система типа такой стандарт, так что пришлось. из плюсов — код теперь не охуеет, если 3д-полы наедут друг на друга, или выедут за границы базового сектора, или ещё какая-нибудь подобная херня произойдёт: csg всё порешает, правильно отсортирует, нужное объединит, ненужное выкинет.
Link Read Comments

Reply:
From:
(will be screened)
Identity URL: 
имя пользователя:    
Вы должны предварительно войти в LiveJournal.com
 
E-mail для ответов: 
Вы сможете оставлять комментарии, даже если не введете e-mail.
Но вы не сможете получать уведомления об ответах на ваши комментарии!
Внимание: на указанный адрес будет выслано подтверждение.
Username:
Password:
Subject:
No HTML allowed in subject
Message: