Size: a a a

2020 February 07

S

Snusmumriken in pro.lua
Alxius R
А что дало написание Стим библиотеки ? Функцию позвать друга и ачивки или что то ещё?
Функция "позвать друга" — немножко более объёмная чем кажется. Там целая система лобби, сетевая библиотека для связи с пользователями по ID (причём как с гарантированной доставкой, так и без, с шифрованиями и подтверждениями личности), таблицы рейтингов, выделенные серверы или p2p.

Ещё войсчат, проверка наличия/отсутствия DLC (и их покупка-установка-удаление через апи), сами друганы и их переписка, кланы, "те с кем недавно играл", группы.
Облачное хранилище сейвов, плюс кеширование этого на жд.
Мастерская стима (закачка своего контента или загрузка чьего-то) и стимовый инвентарь.
Управление встроенным в стим музыкальным проигрывателем.
Функции для стриминга картинки, совместной игры на одном ПК по сети (стримингом), либа геймпадов (xbox/ps3-4/switch/steam-controller) и встроенный браузер а ля surface для использования внутри игры (можно накодить внутриигровой монитор, отображающий реальный тырнет )) ).
источник

AR

Alxius R in pro.lua
Это уже куча функций а не одна.
источник

AR

Alxius R in pro.lua
Выглядит впечатляюще
источник

S

Snusmumriken in pro.lua
Первый абзац — это то, во что выливается "позвать друга". Потому что связь или линковка производится стимовыми сетевыми либами через стимовые серверы. Хотя можно и иначе, там есть механизмы, которыми можно звать друзей на не связанные со стимом серверы, хотя это настолько редко и мало используется, что далеко не дефолтная опция.
источник

S

Snusmumriken in pro.lua
Aydar Zarifullin
Может оно и так, тоже маюсь с коллбэками. В кваке хочу на почти каждую сишную функции сделать луашный коллбэк чтобы можно было хоть какое-то поведение скриптовать на луях.
Дык сделай аналогично. Если есть функция в табличке — вызови её из сишки. Если нет — нет. Это будет достаточно просто и удобно одновременно. А вот дёргать из сишки луёвые библиотеки — вредно.

Какая квака-то?
источник

S

Stunni in pro.lua
10
источник

S

Snusmumriken in pro.lua
@Stunni_original, are you jyshynosylashe7503?
источник

AZ

Aydar Zarifullin in pro.lua
Snusmumriken
Дык сделай аналогично. Если есть функция в табличке — вызови её из сишки. Если нет — нет. Это будет достаточно просто и удобно одновременно. А вот дёргать из сишки луёвые библиотеки — вредно.

Какая квака-то?
По-разному, сейчас вторая. Но пока нет ничего, не могу api продумать...

https://github.com/iZarif/q2pro/blob/master/README.md
источник

S

Stunni in pro.lua
Snusmumriken
@Stunni_original, are you jyshynosylashe7503?
No
источник

S

Stunni in pro.lua
Нет крч
источник

S

Stunni in pro.lua
Это я прикальнулся. Если нельзя, то не буду.
источник

S

Snusmumriken in pro.lua
А, ну лады : )
Просто ты такой проходишь проверку на бота вместо бота.
источник

S

Snusmumriken in pro.lua
Ботам не подсказывать!
источник

S

Stunni in pro.lua
Snusmumriken
Ботам не подсказывать!
Окей :)
источник
2020 February 09

AZ

Aydar Zarifullin in pro.lua
Snusmumriken
Ну там, я в своей стимовой либе делал вызов луёвых функций, типа:
lua_rawgeti(L, LUA_REGISTRYINDEX, callback_table);
lua_getfield(L, -1, "userfunc");
lua_call(L, 0, 0);

Но там сама библиотека инициализирует и выдаёт юзеру в пользование табличку callback_table, и запоминает ссылку на неё. Пользователь заносит в неё функции, и дёргает сишную "вызвать колбеки", которая дёргает луёвые. Это конечно тоже не очень хорошо, и по хорошему надо бы выгружать в луа список колбеков, которые были вызваны с предыдущего дёрганья, но у меня не было желания делать сто тысяч миллиардов типов колбеков, там уже особенности самой steamworks. То есть, структура как бы не очень приятная, но хоть нет зависимостей от внешних модулей.
Насколько целесообразно делать отдельную таблицу  для коллбэков? Почему просто в таблицу модуля их не засунуть?
источник

S

Snusmumriken in pro.lua
Можно и так, но мне показалось логичнее выделить для структуризации.
источник

RS

Roman Silin in pro.lua
Хехей. Есть кто-нибудь с опытом работы с LPeg? Чет сложно пока даётся.
источник

S

Snusmumriken in pro.lua
Оче мало, всё больше обычные pcre. Ты можешь погуглить просто peg grammar, там много всего
источник

T

The Dormouse in pro.lua
Roman Silin
Хехей. Есть кто-нибудь с опытом работы с LPeg? Чет сложно пока даётся.
Есть, но не то, что бы прям большие грамматики писал.
источник

T

The Dormouse in pro.lua
Roman Silin
Хехей. Есть кто-нибудь с опытом работы с LPeg? Чет сложно пока даётся.
Можешь посмотреть мой Brainfuck на LPeg, там есть код и слайды с объяснением, что происходит. https://github.com/Penguinum/brainfuck2lua
источник