OGSR / OGSR-Engine

OGSR Project - Evolution of X-Ray Engine for S.T.A.L.K.E.R.: Shadow of Chernobyl
https://discord.gg/Q6QDxbNcfR
Other
456 stars 86 forks source link

Registration class `FS_Path` for Lua #459

Open Graff46 opened 1 year ago

Graff46 commented 1 year ago

Некоторые методы экспортированные из CLocatorAPI в Lua (например .def("get_path", &CLocatorAPI::get_path), метод get_path) возвращают экземпляры FS_Path, но Lua "не понимает" этот тип и бросает ошибку. Я вернул регистрацию FS_Path для Lua, но без методов.

Graff46 commented 1 year ago

Возможно стоит раскомментировать методы?

joye-ramone commented 1 year ago

там 2 метода get_path и append_path вопрос - зачем они в скриптах ? я только update_path испольшую get_path вообще возращяет ссылку на внутренний объект движка непотяно зачем

Graff46 commented 1 year ago

там 2 метода get_path и append_path вопрос - зачем они в скриптах ? я только update_path испольшую get_path вообще возращяет ссылку на внутренний объект движка непотяно зачем

Хз что там наделали. Мне надо было использовать append_path, пол ночи искал ошибку. Если что-то есть, оно должно быть рабочим или этого не должно быть.

joye-ramone commented 1 year ago

вместо append_path испольщуй update_path - тоже самое делает без FS_Path

а тебе для твоих махинаций с FS ну да. тебе надо чинить. но обычно это не надо и так только накосячиить можно

Graff46 commented 1 year ago

вместо append_path испольщуй update_path - тоже самое делает без FS_Path

Разве? append_path Добавляет новый путь с алиасом (если бы он был в fs_game.ltx). А update_path возвращает абсолютный путь от алиаса и относительного пути. Вот так у меня работает:

local fs = getFS()
fs:append_path('$game_weathers$', fs:update_path('$game_config$', 'environment\\weathers'), '', 1)
joye-ramone commented 1 year ago

Да. да. Я вспомнил что у тебя там с работы с путями для сюжета. ну тогда да тебе надо вернуть это все

Graff46 commented 1 year ago

Да. да. Я вспомнил что у тебя там с работы с путями для сюжета. ну тогда да тебе надо вернуть это все

Не для сюжета. У меня одновременно 2 погоды ТЧшная и ЗПшная, я хочу переключать их ингейм. Я написал за ночь рабочий код, но возможно с большими утечками, скрытыми багами, костылями и тд. Вот коммит: https://github.com/Graff46/OGSR-Engine/commit/5f993f96e56208a7f5df0b8eb52ad3ad4df5eff8

Graff46 commented 1 year ago

Вы тогда или добавьте эти правки или удалите 2 метода возвращающие экземпляры путей, а то кто нибудь заюзает в своих модах и тоже будет пол дня причину искать.

joye-ramone commented 1 year ago

да. я б просто убрал методы пока. у тебя очень спец кейс. не везде такое надо.