#π Jonk Stuff
1 messages Β· Page 4 of 1
it could be fun
im wokring on the instructions
(im learning bit manipulation with this xd)
wait
why im calling execute in the 0x3 instruccion
im dumb asf
and it doesnt go to the next direction
it skips the next direction
aaaah
i have the 50% of this emulator done?
idk
it works i guess
hmmm
inputs
and its done
done?!?!?!?!
lets seee
connecting this to openfl
i dont like how toml files works
ill be searching for others
im using hxmini
(matter.ini)
Endless ping-pong with a computer
yeaaah
im making a ecs system in haxeflixel
like
fuck flxsprite
im making my own stuff
kinda
idk
This sounds really cool
I think at one point there was a discussion about potentially switching to ecs in Flixel
nice
learning abt emulators teached me some things
i can do some interesting things with ints
im thinking on this format
0x01 => ADD
0x100 => We need to get the first number of the hex code, this one is 1, this means the vm will use a constant, not a register
0x001 => Same logic, but now is zero, so is using a register
with this i dont need to recicle registers
idk if i will apply this ever
but that idea will keep in my mind
How fast is this? Cuz I want to download this code
pretty slow tbh
it was a experiment
just use a register based vm
np
conductor is done
i tried to do things in opengl
i forgot how to make things in opengl
......
i guess its time to re-learn opengl

taperfeittaperfeit
ive been looking to old videos posted here
and...
oh god
the way on how i handled a draw function in a bitmap was horrible
π
i think with this shit my lungs are inhaling air in unimaginable quantities
π
ill be working on this
nvm, i need to finish a lot of externs
simple2d is dead
||me gusta macros pls i need cxx2hx, this is painful||
Have you considered writing internal parts of your library in C++ then extern those instead maybe?
It has it's pros and cons but it's still an option to avoid externing the entirety of sdl3
yeah, but im doing this bc i want have some bindings already done and not have to do this for every project, when i finish this, ill publish it on haxelib
and for sdl3 im just going to make the functions for creating windows and handle gl
You could eventually have a generator I guess
i already have a generator for the macros, i dont know how i will handle the functions, i will do it manually i guess?
haxe doesnt have short and ushort so im using uint16, and for unsigned char im using uint8, it should be fine
wai how do you figure out what types to use :keoiki:
all the structs are doneee
now i can work in functions
yaaay
π
127 functions
hmmm
its fine i guess
first five yaay (im ignoring vulkan)
how do i create bindings in hl? can i reuse the ones i already have? if the answer is no, i wont, this is already too much
Look at funkin' view's externs
The fastest running opengl fnf engine in haxe of now - we're optimizing and organizing this frequently and making the codebase exponentially flexible while also making it so you experience ...
The fastest running opengl fnf engine in haxe of now - we're optimizing and organizing this frequently and making the codebase exponentially flexible while also making it so you experience ...
This is the haxe variant with both the externs set up properly
You can reference from them idc but twist: I learnt them both in a span of 3 days
So now I utilize them both for funkin' view
the answer to my question is no, so im not doing the bindings from zero
Contribute to Kriptel/hl-LuaJIT development by creating an account on GitHub.
Oh no you can still create an hl glfw extern
You just have to basically wrap it as a seperate cpp file due to how I work with it
if i have some time i will make hl bindings
but for now i will make just the cpp ones
Thas cool
For me I have externs as a tool for my internal shit
Funkin' View's chart system and audio system
i think i have the glfw bindings done
i just need to make the callbacks typedefs and is done
i should be able to test this
if you want to use vulkan
its your problem
in theory
its done
IT WORKS
I HATE HXCPP BUT IT WORKS
at least the windows works
im testing the callbacks
the callbacks doesnt works π
Vulkan and opengl are theoretically the same performance if you just program it improperly but I just don't give a shit
I just use opengl/peote-view
nonono
there are some gpus that are specialized in vulkan
so vulkan runs faster
back to work
im just using the linc_glfw method, i just wanna finish this
There are gpus specialized for it but they do fancy shit like vfx or stuff
callbacks are working
now i must admit that the ai ββdid the functions (except the handlers), if i had done it manually i would still be doing it now
Realistic shadows and the bloom effect
for now the glfw bindings are useless bc you need glad for rendering
but if someone wants to test it
its fine
i should make bindings for miniaudio? 
stb_image has a lot of functions
im just making the esentials
done
its time for making glm bindings
ok.
im just making matrix and vector classes
hmm, tf is this
you know what?
im making the glad externs
im using opengl core 3.3
prayge
WAZAA
ITS WORKING
i only have 1649 functions
hxglad has +5000
but in hxglad you cant do 
maybe imgui bindings?
dang you mapped the entire api?
i think there's quite a few imgui externs already about
jeremy's iirc has an abstraction so it works on cpp and web
the glad api, no, theres a lot of functions, glfw maybe and stb_image, no, just the essentials one, i wanna have a quick gui system so im making the imgui bindings
how you figured this stuff out so quick is crazy
took me ages π€£
you're awesome dude
ty dude!
this is usable
you can make games using this
now im going for audio
but first imgui
maybe not
theres a crazy error that i dont know how to fix
aaah im sooooooooooo bored
SDL_Keyboard done
dont fall into the ai trap tooo

im not making +10000 functions by hand π
sixseven
how i should handle getters and setters
hmmmm
and i still dont know how im supposed to handle classes
now i can read the ast properly
How fast is it?
idk, i cant make any kind of test rn
my question now is, how tf im supposed to support typing
hmmmmmm
first im doing classes
string and String are supposed to be different things
the same logic applies to int and Int, float and Float, boolean and Boolean, etc
i think i need to redo all the class system
i have constructors
and static variables
kinda
i guess its time to make typing
hmmm
typing works
wow
thats all for today
im making a simple ast walker because in some situations a bytecode interpreter is slower than a ast walker
and in the situations when the ast walker is slower the difference is so small that sometimes it doesnt matter
this is my progress
jang from jonk lang
xd
i dont have functions
i dont have loops
i dont have conditionals
no tienes nadota entonces
hoy aΓ±ado eso, es facil de hacer
me enfoque en crear un std propio, tuve esa espina clavada al hacer ruleparsers
i h a t e t h e s u n
I HATE THE SUN
byebyesun
ok, ill be working in functions
functions done
slow asfuck
but it works i guess
i dont have idea how i will handle for loops
oh im dumb
the prints are the slow thing
real time without prints
thats kinda fast
func renamed to callable
mirror temple b side
that is a good song
jang is now a haxelib
you can call functions from haxe now
if statements done
while*
ihateschool
ive refactored everything
so i can include error messages now
hmmm
nah if it works it works

peak
making a better ast viewer
thats all for today
today progress:
- error messages
- refactored code
- new ast viewer
tomorrow i will work in
- if statements
- custom classes
and inheterance
with inheterance i could finally work in iterators and for loops
a iterator will be a class
thats all
:3
cmon brain i need this, this project is kinda pointless
DAMN
if statements are working
wait
i dont have arrays and basic objects
oh my
im so dumb
how i could forget about those primitives
If you like these restorations, consider donating at https://www.patreon.com/JamminSam or https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=Z48HC6C37U8AY&source=url
Download: https://drive.google.com/open?id=1jUTvy4Bf81cFl8KxzBV0u2qz9WbL83Tm&usp=drive_fs
Composed by David Wise. Recreated by me. This is for this track only an...
thanks youtube
VACATIONS
YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY
i dont wanna code today
i found a bug in while loops
idk why but haxe isnt telling me where the bug is
oasjfodafdsjdsf
i love celeste
that error was dumb
so basically what im doing for operators like += or -= was
if (op.contains("=")){
//logic
}
that logic had problems with operators like != or ==, so i just basically changed it to
if (op == "=" || op == "+=" || op == "-=" || op == "*=" || op == "/=") {
//logic
}
fibonacci 10
you can now access to fields and modify fields in a object
but that is super sloowww
i guess its because everytime you want to access to a field you are creating a new ObjectInstance that has the getVariable and setVariable, and everytime you want to access or modify a field u are making the instance and modifiyng a map
you can now do this
ive made some functions for the std
i still love how the errors works
its just a throw
basic lexer
Ed JavaScript?
Y como que 300 ms
No es muy lento o para tu proc sador seria normal
un lenguaje por el estilo
y este es el tiempo real
demora tanto por el ast viewer
que es recursivo
algo asi se veria el ast
ahora que lo leo...
me olvide poner en que linea inicia
cual es la posicion inicial
y cual es la final
maΓ±ana lo hare
im still worried about objects
they are very slow
new commit
yaaay
yaay
i should make instances callable?
like
let a = new Custom(....);
a() //Its handled by the function __on_call__
im very happy with jang
im not going to implement bytecode, while bytecode is incredibly fast for some things, for complex tasks it can perform as well as an ast walker if you use a stackbased VM, and i dont feel like thinking about compilers right now
(im tired of register allocators logic)
im making the class expressions rn
wip
XD
ok
static variables are working
aeaeae
without ast viewer
classes update
yaaay
its time for...
inheritance
INHERITANCE DONE
OMGOGOMGOMG
i love jang omg
you can even extend with classes that are made in haxe
π
ok i feel my life kinda pointless now
wait, i forgot about for loops
i guess i will make more std classes
i dont wanna work in iterators logic π
oh, and getters and setters
im changing my import logic
from import path.Class
to
from 'path' import { variable, function, class
cada dia mas js
tristemente π
o tienes una sugerencia de como lo podria hacer?
should i have enums?
yeah why not
i would like
algebraic data enums
like in haxe
you can store data in the enums
but first im making the import logic
imports done
yaaay
you can modify Jang.resolveScript, thats the functions that handles imports
this is the placeholder
same output
aaah
i wanna make a jang documentation website
but my english is so bad
ajfkosjgkdfnsmg
i will test it with flixel
i need to install flixel...
this is boring
aint no way
jang typing compatible with haxe lets gooo
this will be helpful in the future
i can work in classes now i think
im pretty happy with this
(oh, i dont have implicist cast)
I HATE TERRARIA
IVE KILLED 10 MOTHRONS
POST PLANTERRA
AND I STILL DONT HAVE THE BROKEN SWORD
I ONLY HAVE EYES OF CTHULHU IN MY INVENTORY
JVDGHKMDFH KL
HAHH
I GOT IT ON THE FIRST TRY
-# My friend took more than 65 attempts, God have mercy on you
one hour
no broken sword
blood moon
'idgnfdojbnkdncxokvmvx
im not in summoner
i was range (multi class)
but yeah
It was luck
And it was my first time
i love Terraria
It was a such entrainment game
IDFPOIDSJOCXHIJTJFDOKS
GDSKGLFDSNG_fdsgdsMLKADMFAS
OMGOMGOMGOMOGMOGMOGMOMGOMGOMG
YEARS TRYING TO BEAT THIS SONG
LITERALLY YEARS
FSGJFDGNLKBSDFSA
IM GOD
THIS IS MY PEAK
should i support haxe classes in jang?
so you just can make a flxsprite
I LOVE THAT PET
OMG THATS A CUTE TORCH
i love the terrablade
what a good weapon
i cant believe ive never fighted to duke fishron
starlight at my first attemp
holy
thanks terraria
back to jang
Creo en estas ocasiones deberΓas considerar tener ShareX con un marci para mostrar el cΓ³digo de manera mΓ‘s bonita
Marco*
Como solΓa tenerlo yo
osea digo para que estΓ© algo decorado, no es de ahuevo KSKDS
parece un gato fumandose un porro ese icono
no porro? π₯Ί
when i finish with jang
i will try to make python
in haxe
using a stack vm
[jang is a simple ast walker rn]
ok...
ive been reading
rn in jang im doing autobox
(javascript way to access fields and methos in primitives)
but
it seems
that in python doesnt do autobox
in python
EVERYTHING is an object
theres no immutable primitives
you are making
X = 1
you are making
X = int(1)
x zfngbjg
and i need to implement functions like __add__ for every primitive
DAMN
EVEN FUNCTIONS ARE OBJECTS
wow python
i finish for loops in jang
and its done
so i can work in python
i think the python port in haxe will be a big project
so i will make another project post just for it
Jonk Stuff is just for silly things that i do here
i like talk to myself
(im doing everything instead of working in for loops)
hold on
isnt working
DKSGNSKGN
im so dumb
i was ussing the wrong enum
damn
the walls are breathing
its time of including enums in haxe
π₯Ί
im not doing algebraic data enums
that would be really hard to implement
im reworking
the imports system
and how you access the std
now im doing a rulescript stuff
like searching everything
in a file
and updating it
but now i will make something more like
haxe stuff
the import syntax will be the same
but im testing things rn
nice
it works
i will try to make jang a deno kind
application
like
jang --run
it will run main.jn
jang --build
it will bundle the scripts in a exe
idk if thats possible
xd
i regret from this words
this is a peak instrument
it changed my life
i love it
im happy
im happy
im happy
im happy
im happy
im happy
im happy
im happy
im happy
im happy
im happy
im happy
what makes u happi so much :0
ocarina
peak
ive spent half of an hour talking to myself
d a m n
and it is recorded
h o l y
lets see the size of the file
oksdgjndfghndhng
i know the song
but my fingers and my lungs arent syncronized
sfhijrfjhfgmj
Are your lungs meant to be synchronised to your fingers? π
kinda
its a flute-kind instrument
i need to exale air and move my fingers really fast
π
i have cameras now
using matrix
but
uuuh
the zoom is the only problem
its weird
it doesnt works properly
topleft corner zoom instead of center?
ive spend one hour doing this function, and it doesnt works as i expected π
lkpgkdnfglfd
oh and can i try this framework out when it is on github
it isnt a framework
its the core of my fnf engine
it shouldnt be used for making games
cuz no batching
but try it
mess aroung with the
code
i need to work in a batching system rn
it will work like in libgdx
var batch:TextureBatch = new TextureBatch()
batch.begin(txt)
batch.drawImage(x, y)
batch.drawFrame(x, y, new Rectangle(fx, fy, fw, fh))
batch.end()
thats the idea i have
i will use that class for notes
and strums
wait will the user need to do something with texturebatch or will the engine handle it
i mean, its just a recreation of fnf
no modding
but if i add modding
the user / modder should work with the engine like in libgdx
im not struggling with batching multiple textures, shaders and matrix
thats annoying
also, add modding using opengl its really complex
in summary
no autobatching
thats manual
o
I'm already doing that quite literally with just having a wrapper wtf are you doing bro
/hj
wdym
nice
now i have sound time
its time of making sound properties
wait
what im doing
i need to work in inputs
im so dumb
Funkin' view is simply the opposite of this simple thing if you didn't know
There was a literal extern needed to have the best fnf audio system out of all of them whilst the required patches were needed, including but not limited to vocal sync
no difference

sorry buddy but i have problems with funkin view
What are the problems though
Also don't worry it's not for everyone to worry about
They'll just focus on the game and they'll be good to go
theyre personal, for me its unnecessarily complex, the progress is practically nonexistent because you focused on things that are literally imperceptible, and the loading times are absurdly long
What loading times are you talking about? The loading time before a song, or before the game opens?
before a song
yaaaay
15 dollars
Oh, it depends on how much all of your assets to be used in the song cost yo
uuuh, bf dad gf notes
make a mini copy of terraria 
wait, thats a good idea ngl
i dont like the idea of a mini copy of terraria
maybe more like a topdown survival game
i love the regretion
Makes sense
i mean, i like the idea of a survival
doneeee
nice
its time
im testing the engine in linux
π
damn i need to sudo everything
damn
no?
pues ocupas solo instalar cosas con sudo, ejecutar aplicaciones no tendrΓa que porque pediro permisos se super usuario
pos para aplicaciones normales no, pero para aplicaciones que paran sobreescribiendo datos si
No?
Mira
Tu app tiene permiso de hacer de normal todo
Menos cambiar cosas de sistema
Escribir datos en /home/*/
/temp/
Generalmente no tendrΓa que por quΓ© tener problemas
y si haces algo fuers de ahΓ
O tambiΓ©n puedes en el working directory
solamente la cosa
no deberΓa pedir super user
lo sΓ© de memoria, Undertale BoundFate para debug hace a cada rato write a logs-date.log
a chucha, la unica particion que tengo es home
una chiqui
Huh?
bueno normal hacer particiΓ³n a home pero era opcional y siendo tu primera vez te convendrΓa mejor tener todo en una sola
Porque uno nunca sabe cuΓ‘nto puede necesitar
im back
π
my mind is flying
i wanna make a real language
bc -> vm -> pack into an executable
in haxe
like nx but better because it is made by jonk
nxscript++
!!
variable = "string"
CONSTANT = 1231
fn function(){}
while condition {
}
for variable in iterator {}
class damn extends anotherdamn{}
if condition {}
else if anotherCondition {}
else {}
syntax concept
can it handle C = CB = CB2 = N = A = A = 2
yeah?
i will keep the var, const syntax, this one could make some problems with scopes
making the compiler to bytes
storing the constant pool to bytes works
it works
nice
in the future i will add support for arrays and objects
maybe
i will go for autoboxing
again
it not the fastest solution to fields in primitives
but it gives me a lot of freedom
also i can do custom operators
like in python
return this.value += v;
}```
operators are working
finally, simple operators
its worthy the complexity bc it allows the user to make the operators work in custom classes
Γ±ice
should i allow cpp functions?
like, the users can call c - cpp functions in the lang
its compile so i can make inline functions
should i make that type of functions?
(this is why i love vms :v)
this is what im doing for every class / primitives
god pls kill me
;v
i forgot about the modulo operation
:|
for every operator
D:
all this work because i wanna make a game framework in a custom language
:v
guardalo en bytes
ya esta en bytes
solo que uso la extension bit viewer
asi que puedo ver binarios
im so dumb
im so dumb
im so dumb
im so dumb
im so dumb
im so dumb
im so dumb
im so dumb
im so dumb
how i will encapsulate the classes in bytecode
its my first time doing this
why discord is like at three fps
why is discord lagging my entire pc wtf
nice
now it isnt lagged
use a get memb r function
me da weba tener que hacer la logica para fields y variables solas
β
dayum, k
i hate haxe language server
wtf is this (variable l / r is being used without being initialized)
bullshit
its working
π₯Ή
at least the binaries works
you should probably use binary files
idk 0.2ms vs 0.02ms is a difference
and the compiling to bytes is fast
wow
simple example to binaries
implicit casts are now customizable
i need to fix that bug in floats
arrays are working
i have more (useful) classes than in jang at this point
"new" works now
working in objects rn
no
first access
you can in theory do
var a: string = "aeae"
a[1] #e
yep
objects works
if statements works
imports works
ill be working on std classes
i forgot about loops
damn
with the loops done i will work in inheritance
and work in inputs, outputs
bytes
etc, etc
while loops done
thats all for today
wow
i could tell a 40% of the lang is done
nah maybe 30% or 25%
today i will work on
hmm
for loops
custom iterators
and custom classes
- inheritance
it works
ii dont know how
but for loops works
all that for this
so its time for coding iterators in everything
i dont care if the for instructions arent optimized
this works
im thinking on
making clear in a low level programming language
like c, c++, rust or zig
i will move to zig
so i can do more complex things
and i think
that will make the ffi easier
cuz tbh
i dont find a way to connect callfunc or libffi to clear in haxe
fuck zig im going with the old c
windows 95 C? π
....
it just handles + - * /
but at least i understand what it does
with this everything is done
i hope
i need
to make
a function
for
making
dynamic size strings
JGHOMFLPKJFJ,.FGHMG
MFGXLHFGH
i hate this
but
it works
i think im falling in love with realloc
weird shit asf
lexer done probably
for expressions / syntax nodes i think i will be using unions
i think unions arent the best thing for expressions
(cuz you are allocating memory for every expression)
but it will work
probably
forcing oop in c
:v
im creating exprs
finally
-# all this because i wanted to make a clone of fnf in a language i liked (a language that doesnt exist, ignoring haxe)
i will rest
awawawawawawawaaawawa
