Quick Links: Download Gideros Studio | Gideros Documentation | Gideros community chat | DONATE
Gideros 2024.9 Released — Gideros Forum

Gideros 2024.9 Released

Hi everyone,

I have just released Gideros 2024.9. Not because it brings many new features, but because it had many minor changes not released for months. Perhaps the only notable addition is TextureBase:update() call, which allows to upload a new image (from raw bytes) to an already existing texture.

Full change set:

Improvements

[plugin/iab] Use Billing library v7.0 on Android
[plugin/ads] Use latest GMS version
[plugin/iab] Use latest Amazon IAP SDK
[android/iab] Allow GooglePlay IAB to fallback to old API
[export/ios] Set supported orientations in Info.plist
[gfx/fontbase] Add TLF_TABLE to enable table like layout
[gfx/texture] Add TextureBase:update() API to change an existing texture content
[Library] Update UI Library

Fixes

[export/apple] Handle setFps on MacOS
[gfx/path] Fix line length computation

Download it from here:
http://giderosmobile.com/download
Tagged:
+1 -1 (+8 / -0 )Share on Facebook

Comments

  • kinrpgkinrpg Member
    edited September 15
    Unfortunately, the problem of Gideros Player not opening still persists. All other tools are working.

    Edit: And a few more feedback. The linux version correctly performed the Gideros Player, including exporting the final executable to windows and running via Wine. I copied the files to another notebook with windows 10 and... It did not work, the game appears in the window manager, consuming memory and processing at the correct average value but no window is displayed on the screen.

    Another test was with the Controller plugin. In linux I ran the game with the active plugin and immediately it closed the gideros player window. In the encarting if I export to windows and run it using wine, the plugin works and recognizes the control buttons normally.

  • on Mac, click the Starts Gideros Player button will open the player, but it can not connect.
    I try some old releases, 2020.11.1 work fine.
  • piepie Member
    Xman said:

    on Mac, click the Starts Gideros Player button will open the player, but it can not connect.
    I try some old releases, 2020.11.1 work fine.


    It's an issue that happens since some release ago
    from the top menu try Player> Player Settings.. and fill in your player ip (which you can see in the player itself)
    localplayer_gd.png
    515 x 318 - 11K

    Likes: MoKaLux, Xman

    +1 -1 (+2 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    Xman said:

    on Mac, click the Starts Gideros Player button will open the player, but it can not connect.
    I try some old releases, 2020.11.1 work fine.

    Probably some security restriction Apple enabled recently. I will have to investigate, but I don't often use my Mac for development.
  • hgy29hgy29 Maintainer
    hgy29 said:

    I will have to investigate, but I don't often use my Mac for development.

    I tried just now and it worked perfectly on my Mac: the newly open player is seen in the detected players bars and connected automatically.
    The only case were it doesn't work is when I forget to close some other Gideros Studio running on another computer in the same network: that other Studio would steal the Mac player connection...

    Likes: MoKaLux, pie

    +1 -1 (+2 / -0 )Share on Facebook
  • XmanXman Member
    edited September 28
    It seems the studio will not connect to the player automatically.
    only change the player ip or click Localhost Toggle will start the connection.
  • MoKaLuxMoKaLux Member
    edited October 18
    RenderTarget seems to be broken on android :|

    I have an "old" app that worked on android. It uses renderTarget to draw pixels. On latest Gideros the clear function seems not to be working?

    I looked into Gideros source code but couldn't find something specific to android. I searched GH and thought that was this issue: https://github.com/gideros/gideros/issues/241 so I tested on my 3 android phones and the issue persists on all of them.

    I suspect something along those fixes https://github.com/search?q=repo:gideros/gideros+RenderTarget&type=commits

    this one in particular: https://github.com/gideros/gideros/commit/a35285d872aa1795e2f33d5d2a73054c32d92878 (17 August 2021)

    My app was made before 17 August 2021 and I didn't update it until today :(

    Unfortunately for some reasons I cannot compile Gideros from source anymore :s

    Could somebody possibly confirm they have this issue?

    Thank you :)

    PS: rendertarget clear works as expected when exporting to win Qt!
    PS2: I tried with an apk build, my app works fine, it's only rendertarget:clear that is not working o:)
    PS3: I can share the code or make a smaller one to show my issue
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • hgy29hgy29 Maintainer
    Hi @MoKaLux, yes it would be great if you could share a small test code to reproduce the issue

    Likes: MoKaLux

    +1 -1 (+1 / -0 )Share on Facebook
  • MoKaLuxMoKaLux Member
    edited October 22
    thank you hgy29 and sorry for the delay :(
    I have this sample code:
    -- rendertarget clear on android bug?
    application:setBackgroundColor(0x00557f)
    local mydrawingsprite = Sprite.new()
    local mytilert = RenderTarget.new(256, 256, false, { pow2=false } )
    local mytilebmp = Bitmap.new(mytilert)
    mydrawingsprite:addChild(mytilebmp)
    stage:addChild(mydrawingsprite)
    -- some vars
    local brush = Pixel.new(0xff0000, 1, 1, 1)
    brush:setAnchorPoint(0.5, 0.5)
    local mycolor = 0xffffff -- initial starting color
    local coorx, coory = 0, 0
    local ecoorx, ecoory = 0, 0
     
    -- mouse events
    mytilebmp:addEventListener(Event.MOUSE_DOWN, function(e)
    	if mytilebmp:hitTestPoint(e.x, e.y) then
    		coorx, coory = mytilebmp:globalToLocal(e.x, e.y)
    		ecoorx, ecoory = math.floor(coorx), math.floor(coory)
    		brush:setColor(mycolor)
    		cursorS1(ecoorx, ecoory)
    		e:stopPropagation()
    	end
    end)
    mytilebmp:addEventListener(Event.MOUSE_MOVE, function(e)
    	if mytilebmp:hitTestPoint(e.x, e.y) then
    		print("x", e.x, e.y) -- this works on android
    		coorx, coory = mytilebmp:globalToLocal(e.x, e.y)
    		ecoorx, ecoory = math.floor(coorx), math.floor(coory)
    		cursorS1(ecoorx, ecoory)
    		e:stopPropagation()
    	end
    end)
    mytilebmp:addEventListener(Event.MOUSE_UP, function(e)
    	e:stopPropagation()
    end)
     
    function cursorS1(coorx, coory)
    	mytilert:clear(mycolor, 1, coorx, coory, 4, 4) -- this doesn't work on android
    end
    This working sample (you can copy/paste) demonstrates my issue. Drag your mouse/finger to draw:
    - on desktop Gideros Player this works as expected
    - on android Gideros Player rendertarget doesn't seem to work

    PS: I also tried with touch events but still didn't work on android :'(

    Likes: PaulH

    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
    +1 -1 (+1 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    Good news @MoKaLux, I managed to reproduce and fix it: https://github.com/gideros/gideros/commit/9b410ae6c2f3af74ce2f942d9dde49a7aec86cde
    It actually could have caused rendring troubles in other cases too, perhaps crashes.

    Likes: MoKaLux, PaulH

    +1 -1 (+2 / -0 )Share on Facebook
  • btw this reminds me that in the past just shortening the index array of a Mesh using resizeIndexArray was enough to 'hide the end of the mesh', yet recently this lead to glitches and i fixed this by resizing also the vertex, texturecoordinate and color arrays.

    Likes: MoKaLux

    +1 -1 (+1 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    @keszegh, it could be related, but maybe not. If you can reproduce it then I'll have a look, because I want Gideros to be as clean as possible.

    Likes: MoKaLux, PaulH

    +1 -1 (+2 / -0 )Share on Facebook
  • keszeghkeszegh Member
    edited October 24
    @hgy29 , it took me an hour to reproduce the bug in a nice little example, but finally here it is:
    https://www.dropbox.com/scl/fi/frf9r8mo338mlwm1kwgfm/MeshGlitchTest.zip?rlkey=wxl4d7r8rfpra8ww9i7azssih&dl=0
    if you comment out the two lines
    meshArray[j]:resizeVertexArray(4*currmod)		
    meshArray[j]:resizeColorArray(4*currmod)
    then all kinds of glitches will begin (at least for me). i'm testing on windows.

    Likes: MoKaLux, PaulH

    +1 -1 (+2 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    @keszegh, thanks for the example. I was able to reproduce, understand anf fix the problem: https://github.com/gideros/gideros/commit/0783805a3e2db8e6bae31f08b9f8c6aab7f896a8
    It was appearing because your code sometimes ended up to empty completely the index array, leading to 0 sized VBO which weren't properly handled.

    Likes: keszegh, MoKaLux, PaulH, pie

    +1 -1 (+4 / -0 )Share on Facebook
  • MoKaLuxMoKaLux Member
    edited October 26
    hi Giderians :)
    Just a little thing ;)
    In Gideros Studio, when you right click on Files it says that F3 would Refresh the file hierarchy.

    On my windows machine it doesn't do it :p instead it iterates on any highlighted words I have in my code (that's a discovery for me and is in the wiki https://wiki.gideros.rocks/index.php/Getting_Started#Gideros_Studio_IDE_keyboard_shortcuts).

    That's it from me :)

    Happy Gideroing!
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • MoKaLuxMoKaLux Member
    edited October 28
    I found a typo in tnt virtual pad which crashes the app. It should be scale:
    https://github.com/gideros/gideros/blob/0783805a3e2db8e6bae31f08b9f8c6aab7f896a8/plugins/virtualpad/luaplugin/tntvirtualpad.lua#L1173

    I am trying to rollback the math.distance to be lua code as this is faster! DONE

    I am working on it and will push asap! DONE :) tested on windows and android Gideros Player
    https://github.com/gideros/gideros/pull/569

    EDIT: I changed all spaces to be tab, it doesn't look good in GH but looks good in Gideros Studio

    EDIT2: I haven't used the fastest distance formula in the commit :s. I used:
    local function distance(xA, yA, xB, yB)
    	local dx = xB - xA
    	local dy = yB - yA
    --	return (dx*dx + dy*dy)^0.5 -- much faster than math.sqrt
    	return (dx^2 + dy^2)^0.5 -- the fastest
    end
    The one I pushed to GH is the second fastest distance formula. With the new one we gain a little more ms :'(
    pls see: https://wiki.gideros.rocks/index.php/Math.distance#Alternatives

    That should be good enough because I don't want to mess the GH commit. Please tell me if I should redo the commit ;)
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • hgy29hgy29 Maintainer
    MoKaLux said:

    Please tell me if I should redo the commit

    Don't bother, it is good enough that way

    Likes: MoKaLux

    +1 -1 (+1 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    MoKaLux said:
    A new alternative is coming. With next Gideros, which will have an updated luau engine, you'll be able to write:
    local p1,p2=vector(10,20),vector(30,40)
    local distance=#(p2-p1)
    This will be twice as fast as current best method.

    Likes: MoKaLux, pie

    +1 -1 (+2 / -0 )Share on Facebook
  • MoKaLuxMoKaLux Member
    edited October 30
    hello hgy29, I am subscribed to Gideros GH and couldn't understand most of the new updates :s
    As always you put a lot of work in this one too o:)

    Gideros is a beast under the hood >:)

    I have already updated the latest luau page https://wiki.gideros.rocks/index.php/Latest_Luau so we have an overview of latest changes

    The next "challenge" will be to properly update the wiki with all the new good stuff :(

    Thank you in advance for the next Gideros release hgy29 <3

    Likes: pie

    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
    +1 -1 (+1 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    @MoKaLux, maybe not all new luau features will land in Gideros, but I'd really like to benefit from native compilation they've been working on. I'll start experimenting with that in a few minutes.
    Meanwhile I can already announce that next Gideros will introduce code breaking changes. I decided to drop support for vectors of 4 values in luau and only keep 3 values. I believe 'w' coordinate is rarely used anyway and it allows the save 20% of memory and gain performances. Vectors of four numbers where used to convey colors though, so I added another lua type for this specific purposes, since colors needn't to be 32 bit for each channel.
    If you guys were using vectors of four values, then you'll have to find other ways.

    Likes: MoKaLux

    +1 -1 (+1 / -0 )Share on Facebook
  • MoKaLuxMoKaLux Member
    edited November 6
    hgy29 said:

    A new alternative is coming. With next Gideros, which will have an updated luau engine, you'll be able to write:

    local p1,p2=vector(10,20),vector(30,40)
    local distance=#(p2-p1)
    This will be twice as fast as current best method.
    Some results on my machine https://wiki.gideros.rocks/index.php/Optimizations#Distance

    More than 50% faster with vectors :o

    PS: should have posted in Gideros 2024.11 Release thread :p

    Viva Gideros, Viva Luau <3
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
Sign In or Register to comment.