Иван
А есть ли вообще люди, которые луа терпеть не могут? Я знаю, что есть люди, ненавидящие питон, например. Или c++.
Wsevolod
ベクゾッド
Иван
Слуш, а я могу лов натянуть на наш графический движок?)
mva
Wsevolod
Когда уже будет луажит на синтаксисе луа 5.4?
Иван
Хотя вряд ли...
mva
Иван
mva
авчом смысл
всё больше и больше пакетов пишутся под 5.3+
ベクゾッド
Хотя вряд ли...
Да, я искал такие возможности. Лов не выдает наружу идентификатор дисплея и окна. Нету таких в ловке
Luсky
GitHub - rxi/lite: A lightweight text editor written in Lua
https://github.com/rxi/lite
Иван
Luсky
Вот проект, от которого можно оттолкнуться - минимальное сишное ядро
Wsevolod
авчом смысл
Ну вот делаю я либу, и из-за луажит, застрявшего на 5.1, приходится юзать старые битовые операции и держать на машине кучку пакетов специально для 5.1
Luсky
GitHub - instead-hub/reinstead: RE:INSTEAD - Lite INSTEAD metaparser-only player
https://github.com/instead-hub/reinstead
mva
есть жирнючий эмбед в которм есть :)
Иван
Оооо!! Вопросик!!! А как дела с байтоёбством на Lua? Насколько это удобно?
Иван
Мы байты вечно сжимаем, лишь бы памяти хватило на устройстве
mva
Luсky
тоже минимкльное ядро и пиксели в комплекте.
mva
ну, если без внешних либ
Leon174
mva
впрочем, там в 5.2+ вроде bit Из коробки
mva
так что чуть полегче
Luсky
mva
но когда я писал crypt_sha256 (не сам sha256, ибо он был лишь частью, а именно crypt() (для поролей)) на чистом 5.1 приходилось сдвиги делать умножением
Иван
ага, вижу чё-то есть https://github.com/ivanstepanovftw/lua/blob/6ef366644f7c3c21cfb17434835edf4ebf970d6d/testes/bitwise.lua#L139
Иван
Луа отстаёт, поднадавите)) Я уже всю обвязку в луа сделал, а руководство до сих пор васм хочет
Luсky
fgntfg
Иван
Я в курсе, что оно может и не взлететь, но я хочу все силы приложить, что бы взлетело
Иван
Люди, голосующие за wasm3, спросили, зачем в случае "C++, Rust" нужна тюрьма из васма. Некоторые высказали мнение, что "устройство не взлетит, если в нём нельзя поковыряться". Кто-то даже предложил OpenLara портировать на куб:
> А почему бы и нет? В GTA 3 на часах играют вон)
Почему я всё ещё рассматриваю Lua - потому что в его случае нужно сделать меньше телодвижений, что бы заработал JIT компилятор. В случае с wasm3 такой фокус не прокатит - кто-то уже пытался в десктопном приложении подружить wasm с JIT, но пришлось тащить туда ещё и LLVM компилятор.
fgntfg
Иван
Иван
Я луа тащу что бы мы игры хотя бы делали хорошие
fgntfg
Похвально
fgntfg
Игры это хорошо
fgntfg
И lua это хорошо
Snusmumriken
Snusmumriken
Но на тему сжатия — у луа есть стрингбуфер, если вы активно используете структуры с кей-валуями, строковые ключи имеют единственный инстанс на всю вм.
tbl = {}
tbk.foo = 10
tbl2 = {}
tbl2.foo = 30
var = "foo"
Строка foo, работающая ключом в двух табличках и значением переменной, существует в единственном экземпляре в вм.
Иван
Snusmumriken
struct это стандартная фигня для упаковки данных в строки для сжатия/сериализации/пересылке по сети например, вариации существуют во множестве языков и имеют примерно один формат для стыковки друг с другом.
Wsevolod
Wsevolod
Правда вроде в >5.1
Snusmumriken
Да, во-первых >5.1, во-вторых не совсем тот формат, помнится.
Highly Likely
Иван
mva
mva
ещё раз говорю же
Snusmumriken
У 5.3+ есть встроенные битопы, на 5.1 есть либы битопов.
mva
битовый сдвиг это умножение на степени двойки
Snusmumriken
Там ещё нужны энд-ор-ксор для указания конкретных битов.
Snusmumriken
str = struct.pack("asdals>ajlskdja", x,y,z)
x, y, z = struct.unpack("asdals>ajlskdja", str)
Тут нет конкретных битов, тут есть упаковка.
С конкретными битами уже развлекаешься как положено.
mva
хотя в С'шной реализации были сдвиги, а у меня умножение :)
Snusmumriken
Что-то странное в датском королевстве
mva
возможно, если порыться, то оно даже тут в логе где-то найдётся
mva
лет N назад
Иван
А возможно ли сделать include файла, без require(), что бы был только один файл? У нас пока нет поддержки файловой системы
mva
што
Иван
Ну, типа есть библиотека, mylib.lua. есть скрипт script.lua, который зависит от mylib.lua. Мне нужно объединить их в один файл, или скомпилировать в один байткод файл
Иван
Ну, нет файловой системы на устройстве
mva
https://code.matthewwild.co.uk/squish
mva
а тут можно сразу скачать: https://matthewwild.co.uk/squish
нельзя, там просто пример был
Иван
Скомпилю, я понял что за сайт. Спасибо!
Snusmumriken
Snusmumriken
Склеиваешь модули в один файл, пихаешь таблички в package.loaded их по нужному имени, реквайришь. Реквайр происходит именно из этой таблички.