123 basic - HTML5 for GLBasic

Previous topic - Next topic

Hemlos

 
this poor baby!  :O

Im so surprised you dropped the ball here!
Your time invested "as is" would have been totally worth any reasonable price to me, regardless if future updates had only been, say 1 or 2 years apart. Heck ive bought software that never gets updated.


PS. a great oversized, thank you.  :coke:

PPS. Did you do this for a grade at MiT?
Quote from: coolo on 2012-Oct-12
Because my time is very limited and I am not able to support and develop everything of 123basic on my own anymore, I decided to open source "my baby" :D. It is MIT licensed, so I think everyone can use this piece of code in his/her project.
Bing ChatGpt is pretty smart :O

metzzo

Nice to see that you like this step :)

Quote from: Hemlos on 2012-Oct-12

this poor baby!  :O

Im so surprised you dropped the ball here!
Your time invested "as is" would have been totally worth any reasonable price to me, regardless if future updates had only been, say 1 or 2 years apart. Heck ive bought software that never gets updated.
Nice to hear, but I think making it available to everyone makes everyone happier - the best thing that can happen is to see people actually using 123basic :)

Quote from: Hemlos on 2012-Oct-12
PPS. Did you do this for a grade at MiT?
Nope, this is just the license of the 123basic compiler & library. MIT is a very liberal license that allows basically everything :D http://opensource.org/licenses/mit-license.php
That's no Bug, that's my project!

http://programming-with-design.at/

Kitty Hello

Aw, very sad to hear this.
I hope someone tries to continue working on it. Especially towards using GLBasic as a scripting language.

Moru

Thankyou, I will surely have a play with this the first free moment I get!

Poetronic

Aw man, so sorry to hear that you discontinue the project. This is something I would really have liked to get out of GLBasic! Hopefully the open source version will find some skilled developers (I'm surely not one of them, sorry...).

Anway, please keep it up, I will definitely be one of the first people to buy it!  :good:
ILI-Blocks, my first game ever - please check it out! http://www.glbasic.com/forum/index.php?topic=8654.0

Marmor


Hemlos

haha, you just did, now pickup that medicine ball with moru ;P
Bing ChatGpt is pretty smart :O

metzzo

Hey guys!

Recently I've started working on 123basic again and I think it's ready to show it to you guys.
First of all the Changelog:

Code (glbasic) Select
0.5
Fixed: INIGET$ returns "NO_DATA" if data does not exist
Fixed: NETWEBEND redirects properly
Fixed: ALPHAMODE behaves more like GLB (but not quite the same)
Fixed: PRINT with unknown characters does not crash - ignores them
Fixed: SMOOTHSHADING works properly
Fixed: MEM2SPRITE works again on newer browsers
Fixed: SOX with libmad
Fixed: MUSIC playback & looping
Added: MUSICVOLUME
Added: PAUSEMUSIC
Fixed: ALPHAMODE 0.5; SHOWSCREEN did cause weird graphical gliches


0.4
Fixed: NOT fixed.
Fixed: ROTOSPRITE/ROTOANIM/ROTOZOOMSPRITE/ROTOZOOMANIM use correct image handle when rotating
Changed: New file structure of project
Fixed: Default Font is now loaded properly - even if its not in the /Media directory
Added: GETNUMJOYSTICKS()
Added: GETJOYX, GETJOYY, GETJOYZ
Added: GETJOXRX, GETJOYRY, GETJOYRZ
Added: GETJOYNAME$
Added: GETJOYBUTTON
Added: GETDIGIX/GETDIGIY
Fixed: "FOR i = 0 TO 0 STEP 0" had wrong behaviour
Fixed: SETSCREEN does not ignore Fullscreen parameter anymore and the width/height is set properly
Fixed: TYPE Foo; Bar; FUNCTION Asdf: Bar; RETURN Bar; ENDFUNCTION // this returned the value of self.Bar instead of the value of the parameter
Fixed: TYPE asdf; Foo; FUNCTION Bar: FOR Foo = 0 TO 10; NEXT; STDOUT Foo; ENDFUNCTION; ENDTYPE // Implicit self in For should create new local variable to maintain compatibility
Fixed: ZOOMSPRITE 0,0,0,-1,1 // position of image was not correct
Fixed: "settings.xml" with more than 1 target didnt function properly
Fixed: VIEWPORT sets origin properly
Changed: Began to work on VM - does not run yet
Fixed: Float in array access bug
Fixed: LEN("\n", TRUE) crashed
Fixed: SPLIT returned wrong array length
Fixed: POLYVECTOR with mode == 1 and no POLYNEWSTRIP crashed
Fixed: POLYVECTOR messed up VIEWPORT
Fixed: "Hugo" < "Manfred" evaluates as expected (<,>,>=,<= are overloaded properly)
Fixed: Arrays with ref that were not initialized with DIM/REDIM had wrong defaultval (caused to problems with strings for example)


I have mainly fixed a lot of bugs... I mean a _lot of_ bugs. Stuff like ddgui compiles and executes properly (but because it is not adapted to the GLB_ON_LOOP it freezes sometimes - but this is not the fault of 123basic :D). Things like Joystick support are also implemented (but not yet tested enough). The only demo that is not working properly is "Scramble", because it heavily uses POLYSPRITE which can not be executed properly in HTML5 without WebGL, because it lacks proper support for drawing textured and tinted polygons.

Personally, Id say 123basic should be capable of running every GLB game that does not use POLYSPRITE with tinting and is modified to not use a mainloop (GLB_ON_LOOP instead).

Use it?
The repository of 123basic is https://github.com/metzzo/123-basic, so everyone can view the compiler and the library and maybe even contribute.

Currently there are two possibilities to code in 123basic:

Online is surely easier to use, because it is directly available with no installation. The macro is not as easy to set up, but you can compile your GLB project directly from the IDE. Compile 123basic from the IDE, than set up the macro (see "Macro.txt") and voilá you can directly compile to 123basic from the GLB IDE.

If you do so, 123basic will start a local server, because it needs it to access certain media without causing a DOM security exception.

Demos?
My testing suite consists primarly of:

All samples are only tested with current Chrome version. Firefox is likely to function properly. IE/Opera/Safari not so much. EDIT: I've just tested some demos on FF - a lot of them are crashing. Im currently trying to fix this problem. EDIT2: The problem is caused by a Firefox bug.

What's next?
I would like you to use 123basic, show me bugs, maybe suggestions for improvement and so on. If you find any bug, it would make it much easier for me, if you send me some snippet so i can debug it.

I would also expand the IDE, library (NET..., X_..., GUI, other funny stuff), continue implementing VM, ... There is a lot to do!

Also in regards of tutorials, some YT videos and a proper website is also on the ToDo list.

If you have any questions, feel free to ask them :)
That's no Bug, that's my project!

http://programming-with-design.at/

DaCarSoft

Oh my god!!! This is really "Cool..."

Congratulations!!!!   Your work is impressive...

It appears to work ok under Safari and Firefox at first attempt.

I've just downloaded all the stuff on GitHub to see how it should be used and start playing with it.

Please, don't forget this project!!!

Cheers.

"Si quieres resultados distintos... no hagas siempre lo mismo" - Albert Einstein.

Marmor


mentalthink

This are really good news Coolo!!! I hope you continue with this Html5, I think the GLBasic version and yours, are very diffferent, I try a couple of examples and it's really nice the speed them are loaded into the browser...

Thanks a lot for continue this Huge project...  :booze: :booze:

erico


MrTAToad


metzzo

Thanks guys! Id love to see 123basic being used!

I just fixed the FF problem - which seems like only occured to me (it was a result of getImageData returning inaccurate pixel data which was needed for LOADFONT to determine the width/height of cells)
That's no Bug, that's my project!

http://programming-with-design.at/

Hark0

 :O

OH MY GOD!

WORKS ON MY IPAD1, SAFARI... AND CHROME!!!

:good:

Very good job @coolo, this its a REAL implementation of html5 with GLB!

Don't stop the project! ;)

Melange IDE works too on iOS 5.1.... BRAVO!!!
http://litiopixel.blogspot.com
litiopixel.blogspot.com - Desarrollo videojuegos Indie · Pixel-Art · Retroinformática · Electrónica Development Indie Videogames · Pixel-Art · Retrocomputing · Electronic