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: