Post AXi8sjHMw7m27eN9lI by Houl@mstdn.vector1.dev
(DIR) More posts by Houl@mstdn.vector1.dev
(DIR) Post #AXhKVxD5ynUcxbJu1A by indev@udongein.xyz
2023-07-14T21:35:31.925515Z
1 likes, 0 repeats
Ура, сегодня я поумнел - один человек рассказал способ реалицации юзердаты в lua с геттерами, сеттерами, пользовательскими полями, и при этом не основанный на сотнях strcmp, как в srb2(kart). Вот я и пошел там это пробовать реализовать. Хорошие новости - я написал базовую библиотеку для этого, и уже переписал под этот способ 7 полей mobj_t. Плохие новости - у mobj_t полей всего 64, а ведь есть еще куча других структур, плюс _G в котором сотни разных полей и констант :blobfoxdead:
(DIR) Post #AXhKVy1mwK2hUp2O24 by indev@udongein.xyz
2023-07-14T21:42:53.953997Z
1 likes, 1 repeats
https://github.com/STJr/SRB2/blob/master/src/lua_script.c#L154Просто посмотрите на это :blobwtfnotlikethis:
(DIR) Post #AXi8sjHMw7m27eN9lI by Houl@mstdn.vector1.dev
2023-07-14T21:48:48Z
1 likes, 0 repeats
@indev что за парад else if
(DIR) Post #AXi8sjzgHNDeL56XpY by indev@udongein.xyz
2023-07-14T21:53:38.982379Z
1 likes, 0 repeats
@Houl Именно. Можно понять, конечно, зачем - чтобы пользователь случайно что-то нужное не перезаписал, плюс чтобы некоторые переменные сохраняли актуальность (leveltime например, которая обновляется каждый кадр). Только вот это далеко не оптимальный метод :blobwtfnotlikethis:
(DIR) Post #AXi8u5O0EEzWyY7dlQ by indev@udongein.xyz
2023-07-14T21:37:45.629441Z
1 likes, 0 repeats
Зато как закончу, портирую это в террариум, и не придется больше использовать костыль в виде хранения сущностей как таблиц с полем ref, в котором сама userdata хранится
(DIR) Post #AXi8uQMIFn6O1KU4W0 by Houl@mstdn.vector1.dev
2023-07-14T21:54:38Z
1 likes, 0 repeats
@indev :blobcatheadache: