Author Topic: blocklandjs development thread (development halted)  (Read 7716 times)

blocklandjs

blocklandjs is a joint project between me and a friend
we are aiming to replace torquescript entirely (only relying on it for mundane things like requirements or function importing), and create one dll to finish all dlls, as well as adding in a unique set of functions that will allow you to hopefully detour functions in memory to your own, allowing for on-the-fly patching (in a sense), as well as allowing you to call torquescript functions with a very simple importing system




torquescript vs javascript

currently this dll is used in visolator's mining, as it helps speed up calculations. compared to torquescript, javascript is ~5.3 times faster (directly in math computation) then torquescript. this helps a ton when you have a metric-forgetton of calculations you want to do, and you don't want to sit around waiting for blockland to respond.

javascript benchmarks
torquescript benchmarks

contributing

the more eyes the better. please help me maintain this project by forking our github repo and or submitting pull requests



how to get started

download the latest release on github
place all of the .dll and .bin files into your blockland/ directory (dlls can be put in modules/)
once you've started blockland, inject the dll with your dll injector of choice, and if everything's started up correctly you'll have a message saying that it's initialized and all of that jazz



READ THE WIKI

this thread will be updated with info as we go along.



« Last Edit: December 12, 2016, 09:28:08 AM by Metario »

changelog

most of this is on our github repo

Quote
november 8th

pushed an update enabling the return of eval, and getting global variables
might add hooking into codeblocks::execute soon


november 11th
we now have global variable support

november 12th
pushed out the first "release" on github

november 13th
edited release, fixed support on linux

november 18th
major update
Added Object Creation, getting index tables, referencing functions (almost done, have to setup prototypes n stuff I guess), improved performance, add(ing) findclientbyname stuff in a bit.
Added several new sigs we need to reference

november 20th
update- fixed execution from files, i might get around to figuring out how to do the same ts_func stuff in blocklandlua

november 29th
update- added ts_func (callable by js, but include a .cs file with your addon to import functions in)
cleaned up code, new trello board (project members only :( )
fixed js_call

november 30th
fixed alot of stuff, added back get/setobjectfields
first release

december 1st
fixed ts_func
pushed out v1.2 release




reserved for anything else
« Last Edit: December 02, 2016, 01:55:27 AM by Metario »

« Last Edit: November 07, 2016, 09:03:20 PM by Metario »

I don't know anything about torquescript, as I usually mention when I post in this board, so I'm no expert, but possibly port's "bindings" to lua could be of some help
https://github.com/portify/BlocklandLua
« Last Edit: November 01, 2016, 05:55:44 AM by Foxscotch »

I don't know anything about torquescript, as I usually mention when I post in this board, so I'm no expert, but possibly port's "bindings" to lua could be of some help
https://github.com/portify/BlocklandLua
maybe but the implementation is mostly c++

so I debugged it last night; it's related to the stack heap /and/ could be related to how we reenter the VM without calling it in the proper context maybe.
(pssst trinick you should find what we're doing wrong type)
if it helps as well we are creating a functiontemplate on init for print, haven't tested with that removed.

maybe but the implementation is mostly c++
I'm not sure what you're trying to say. what implementation? there are four things you could conceivably be talking about. your code seems to be C++, port's is, V8 is written in C++, and LuaJIT is written in C, of which C++ is a superset. so I am just really confused about what you mean

I'm not sure what you're trying to say. what implementation? there are four things you could conceivably be talking about. your code seems to be C++, port's is, V8 is written in C++, and LuaJIT is written in C, of which C++ is a superset. so I am just really confused about what you mean
sorry, let me clarify
those bindings dont really help because it seems to be an issue with the underlying base (as in the v8 engine really doesn't like compiling our stuff)
because of the engine differences (we have to enter contexts, all that stuff and create new vms), they really honestly aren't comparable but thank you for your input

confusing
but with our previous attempt at this

that /works/ so far
thank the loving lord

to ruin your fun i've decided to show this
wooooooooooooooo
it works


aaaaaaaa it's so beautiful

Could it do large amount of math or is it still under Torque's limits?

Could it do large amount of math or is it still under Torque's limits?
it can do large amounts of math, as the engine is running under it's own "thread", it's not limited to any torque limits other then by how you eval stuff
and it's also very very very loving quick
(look at benchmark later)
i'm adding executing from script files, possibly interfacing with clients, etc etc but it's going to take some time

i'm uploading all of the source files to github, check back later on https://github.com/ohninedotseven/blockland-v8
« Last Edit: November 08, 2016, 11:12:38 PM by Metario »

do you know what this could be used for?
if you get html and css in blockland, we can have a functioning web browser in torque
unless thats not possible at all

do you know what this could be used for?
if you get html and css in blockland, we can have a functioning web browser in torque
unless thats not possible at all
/technically/ it is, but you can't really display it without something reading each individual pixel of the rendered screen or something like awesomium

also that benchmark isn't representative (or accurate), it's way faster it seems


if you want the dll pm me or something (or just compile it off of the github source code)
« Last Edit: November 07, 2016, 10:55:32 PM by Metario »


fixed the post
those times are in ms, v8 is loving fast
« Last Edit: November 07, 2016, 09:53:50 PM by Metario »

Quote
pushed an update enabling the return of eval, and getting global variables
might add hooking into codeblocks::execute soon

jump to changelog
« Last Edit: November 29, 2016, 10:25:33 PM by Metario »