#DreamWork - Powerful Lua Framework

1 messages · Page 1 of 1 (latest)

silver cobalt
#

I honestly don't know when the name stopped reflecting the essence of this project, but it has gone a bit further than just a package manager.

The current goal of the project is to re-implement, accelerate and extend the existing glua api.

It doesn't affect the code execution of regular addons, the project doesn't aim to "fix glua", it's a separate environment for executing code for supported packages and addons.

I'm not sure if anyone besides me is interested in this project, but I decided to write about it nonetheless, I think I'll publish some interesting moments in the development process here.

GitHub repo: https://github.com/Pika-Software/glua-package-manager

I'm currently working on a crypto library, which includes sub-libraries that implement packing/compression/encoding/encryption/hashing etc.

GitHub

Package Manager for Garry's Mod. Contribute to Pika-Software/glua-package-manager development by creating an account on GitHub.

#

Current welcome message & init logs

silver cobalt
#

also client startup, not that it is important, but in the logs can be seen supported binary modules

compact jasper
#

Sounds like a cool concept

#

It also sounds like something that might be dangerous to use as a base for other addons because if you stop supporting it, the addon would die as well

bitter bronze
#

Is this basically a glua runtime that is separate from gmod? So I could have some addon logic in a webserver? 😅

silver cobalt
silver cobalt
#

it's something similar to the starfallex from thegrb93, but without the chips and restrictions

bitter bronze
silver cobalt
#

I will post progress here, so I guess it will make more sense in the future

silver cobalt
#

Added full implementation of CRC-(8-32) and its algorithms (actually you can use any algorithm by knowing its poly, init, in_ref, out_ref, xor ..... )

silver cobalt
#

I rewrote, optimized and documented the internal library for utf8 strings, now it is extremely fast. I plan to improve its performance even more in future updates. Right now this is an extended version of the utf-8 library from lua 5.4

silver cobalt
#

performance tests

#
local ch1, ch2, ch3, ch4, ch5 = utf8.codepoint( "привет" )

gpm.bench( "utf8.char", function()
    return utf8.char( ch1, ch2, ch3, ch4, ch5 )
end )

gpm.bench( "utf8.codepoint", function()
    return utf8.codepoint( "привет" )
end )

gpm.bench( "utf8.codes", function()
    for p, c in utf8.codes( "привет" ) do end
end )

gpm.bench( "utf8.len", function()
    return utf8.len( "привет" )
end )

gpm.bench( "utf8.normalize", function()
    return utf8.normalize( "при\254вет" )
end )

gpm.bench( "utf8.offset", function()
    return utf8.offset( "привет", 3 )
end )

gpm.bench( "utf8.sub", function()
    return utf8.sub( "привет", 1, 3 )
end )

gpm.bench( "utf8.reverse", function()
    return utf8.reverse( "привет" )
end )

gpm.bench( "utf8.lower", function()
    return utf8.lower( "привет" )
end )

gpm.bench( "utf8.upper", function()
    return utf8.upper( "привет" )
end )
#

x64-86 branch

silver cobalt
#

punycode library

silver cobalt
#

time library and as fact os library was previously removed from std

errant niche
#

I hope my os doesnt get an std

glass comet
silver cobalt
#

DreamWork - Powerfull Lua Framework

#

currently working on a virtual file system

#

also I changed the title for a better one

silver cobalt
#

I haven't posted in a while because work has been slowly consuming my time and soul, but now I have some free time.

#

I added a few dreamwork.engine hooks to capture mounting of addons and source games. I won't say that everyone needs this, but it is required for internal work in dreamwork, so now it's here. In the future, I will add hook objects for developers, but right now, the libraries where they should be located aren't ready

#

All std.print* functions will now output the entire text (even if it exceeds 5,000 characters), i.e., the text will not be truncated.

#

Ignore the changes on the screenshot; it's just a screenshot with functions. The actual changes are too big. If you're interested, check out the commit history.

#

Added a couple of new globals for “pretty if checks”

#

string library has gained a new fast function for string interpolation

#

time library got a more handy function for measuring elapsed time, time.elapsed also exists, it's just a more "sugar" version of it

#

fs library is consuming all of my time; it turned out to be much larger and more difficult to implement than I expected. Also I noticed that the old binary modules for async fs are now simply crashing the game on x64 branch

compact jasper
#

*Powerful
I agree that “powerfull” makes more logical sense, but we live in hell and English is a clown language

compact jasper
silver cobalt
#

DreamWork - Powerful Lua Framework

silver cobalt
#

one funny function that i made before

silver cobalt
#

not sure how important it is, but we made a new logo (ascii art in console) after project rename

silver cobalt
#

rewrote checksum functions into handy classes