Igor
Я просто не понимаю, почему это происходит
UtoECat
Да, ну эту проблему я уже решил давно в коде для повторения бага, у меня не получается повторить из основной кодовой базы проблему
а... ну там что угодно может быть, в том числе с луа не связанное) Как там у тебя цикл устроен может покажешь, а не в отдельном примере?
UtoECat
Да пробовал уже
Вот это меня напрягает, ты куда #define LUAI_ASSERT у себя впихнул? Или может ты забыл объектники луашки пересобрать после изменения хидера?
Igor
Каждому cpp файлу передаётся дефайн этот
UtoECat
Глобально определил в CMake
ммм... ну чёт оно не сработало у тебя. Попробуй ручками в хидер добавить
UtoECat
Каждому cpp файлу передаётся дефайн этот
а зачем?) это сами исходники луа с этим #define надо собрать)
Igor
У меня lua тоже через CMake собирается
Igor
Я проверял, таргет машины получает ассерт
UtoECat
Я проверял, таргет машины получает ассерт
в основном проекте? Или в тестовом примере тоже? Если второе да - то нет, оно не сработало) иначе бы ассерт ты тогда увидел давно
Igor
Тестовый без него отдебажил
Igor
Вот отправлялка эвентов для всех C++-объектов для потоков на первом скрине, на втором функция уже отправляющая эвент в сам Lua поток. Функция createEventArgument просто вгружает в стек потока аргументы в зависимости от переданного эвента и выглядит примерно вот так, как на 3 скрине.
Igor
Igor
Igor
Вот код скрипта chatexec.lua и test.lua соответственно
Igor
Igor
Панику я получаю, если первый скрипт обращается к объекту, который был инвалидейтнут
Igor
То есть условно, есть объект игрока, я его сохранил в глобальную переменную, перезашёл на сервер и попытался обратиться к этой глобальной переменной из chatexec скрипта
Igor
Ошибка ожидаема в таком случае, но вылетает она совсем не там, где я её ожидаю
Igor
Более того, lua_resume вызывается для chatexec.lua, но lua_panic принтит, что ошибка в test.lua, и паниковать машина начинает сразу же после вызова lua_resume для chatexec, то есть до test скрипта дело не доходит даже
Михаил
я щас буду дебажить своим скриптом вместо тысячи слов скобочек...
Михаил
просто макросы с Си перепишу сюда и будет удобно
Михаил
потому что поиск той строки где присваивается значение _VERSION это какое то фиаско
Михаил
вот пушится строка на стек, видно а где имя поля задается просто гадать надо
Михаил
нету lua_setglobal
Igor
До меня дошло судя по всему
Igor
Я даже не хочу рассказывать причину, мне попросту стыдно)))))
Igor
Скажу только то, что код делал именно то, что я его просил делать
Igor
И проблема была совсем не в корутинах
Igor
Да, ошибка исправилась🥲
Uni_X
😁
Uni_X
Спустя 5 дней дебага, мы поняли что код работает правильно... Осталось вспомнить, что мы вообще пишем...
Petr
Я даже не хочу рассказывать причину, мне попросту стыдно)))))
Это норма. Я недавно пару часов негодовал какого хера XUnit в Assert.Throws<ExceptionType>(...) не ловит эксепшен и ругается на него. Оказывается эксепшен этот летел в коде теста строкой выше и поэтому валил тест.
Михаил
я написал развертку макросов на луа. Теперь могу копипастить значительное количество макросов прямиком в свой скрипт для гдб
Михаил
прям движок макросов. вложенность работает
Сергей
В лагере был спецкурс по сишным макросам
Сергей
делали реализацию чего-то типа питоновской функции map чисто на дефайнах
Сергей
ну и сказать что я ничего не понял это ничего не сказать
Igor
Зато прекрасный пример того, как НЕ стоит писать код на Си))))
Petr
Зато прекрасный пример того, как НЕ стоит писать код на Си))))
Писать не надо, понимать очень полезно. К сожалению много проектов вынуждены к черной магии макросов в силу слабости средств метапрограммирования в сях. Да и вообще совсем без макросов увы тяжело. Вспоминаю свое обучение си и плачу. Классно что си до сих пор учат. Самый важный язык.
Igor
Писать не надо, понимать очень полезно. К сожалению много проектов вынуждены к черной магии макросов в силу слабости средств метапрограммирования в сях. Да и вообще совсем без макросов увы тяжело. Вспоминаю свое обучение си и плачу. Классно что си до сих пор учат. Самый важный язык.
Не, ну я ж не говорю, что от макросов отказаться полностью нужно. Они очень даже полезны, но надо меру знать, есть тонкая грань между "макросы помогают" и "макросы делают код нечитаемым".
Uni_X
Сегодня, благодаря Стиму я узнал всю подноготную своего компьютера
Uni_X
Неожиданно оказалось, что у меня 4 гб оперативы и 500 мб видеопамяти... И поддерживается OpenGL 3.3)
Hello, World! 🎄
Uni_X
виндовс?
Линукс
Михаил
Линукс
glxinfo | grep nGL
Uni_X
А... Так можно было...
Михаил
Uni_X
Сергей
Hello, World! 🎄
Всеволод
glxinfo | grep nGL
У меня арч, кстати...
Неполноценный
Hello, World! 🎄
Hello, World! 🎄
А ещё nixos Linux
Неполноценный
Неполноценный
Я даже не знаю, что мне должно дать название ваших дистрибутивов на ПК.
Всеволод
BTW I Use Arch | Know Your Meme https://knowyourmeme.com/memes/btw-i-use-arch
Неполноценный
Э.. ну ладно.
Сергей
У меня арч, кстати...
У меня... Я думаю и так понятно
Михаил
у меня опенсусе
Михаил
Михаил
Snusmumriken
Михаил
да-да
Uni_X
Интересно, есть ли люди с Nix'ом...
Igor
I use arch btw
Igor
)))