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

Gideros 2023.1 Released

First 2023 release of Gideros is here. New features, improvements and bug fixes as usual. I'll let you discover by yourselves:

New features
[core] Implement mouse_enter and mouse_leave events on desktop
[core] Add memory leak identification tool
[library] Add ui lib
[library/3d] Support Magica voxel file format (.vox)
[addon] Add Scene builder addon

Improvements
[core/shape] Expose tesselator to lua
[core/textfield] color tags in text now accept style references
[core/textfield] getTextPositionFromPoint now returns the line number also
[core/matrix] Decompose matrices into euler
[library] Include std lua shaders
[library/3d] update 3dbase 3DObjLoader to support latest Blender > 3.4.0 obj format
[library/3d] Add scene loader
[plugin/rp3d] Report contact points on collision
[ios/osx] Implement clipboard access
[win32] Support on demand rendering
[android] Implement clipboard access
[export/mac] Set window size to requested dimensions right on start

Fixes
[core/viewport] Reference Content in children internal table
[core/styling] Don't bother clearing caches for now, since it can miss some caches anyway
[core/styling] Fix styling issues
[core] Don't propagate downward changes if flags are already set on children
[gfx/backend] Include the stride parameter to attributes descriptor
[core/shader] shader binder for stride field
[core] Avoid unecessary work when no effects are in use
[core] remove parent ref after sprite cloning
[osx] Handle retina displays (HiDPI)
[osx] Fix mouse wheel value
[android] Fix external storage permission request

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

Comments

  • "[core] Implement mouse_enter and mouse_leave events on desktop"
    what are these and where are they documented?
  • hgy29hgy29 Maintainer
    keszegh said:

    "[core] Implement mouse_enter and mouse_leave events on desktop"
    what are these and where are they documented?

    They tell when the mouse enters or leaves the window. They are Event.MOUSE_ENTER and Event.MOUSE_LEAVE, and have x,y coordinates, at least enter has.

    Likes: keszegh, MoKaLux

    +1 -1 (+2 / -0 )Share on Facebook
  • MoKaLuxMoKaLux Member
    edited January 2023
    keszegh said:

    "[core] Implement mouse_enter and mouse_leave events on desktop"
    what are these and where are they documented?

    I don't know how we could live without those :D I am going to document them asap!
    FYI
    EDIT: oh that works for window I thought that would work on Sprites :o
    EDIT2: MOUSE_ENTER, I couldn't get the e.button and e.modifiers values
    EDIT2: MOUSE_LEAVE, I couldn't get the e.modifiers + I have always the same values for e.x and e.y
    or I have no clue how this is working :D https://wiki.gideros.rocks/index.php/Event.MOUSE_ENTER, https://wiki.gideros.rocks/index.php/Event.MOUSE_LEAVE

    Thank you very much hgy29 for all your hard work and yet another AWESOME RELEASE.

    I wish I had paypal for a donation :'( trying to help with the wiki in the meantime (and maybe some c++? :p )
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • MoKaLuxMoKaLux Member
    edited January 2023
    First 2023 release of Gideros is here. New features, improvements and bug fixes as usual. I'll let you discover by yourselves:

    New features[core] Add memory leak identification tool
    Guys do you know where it is? I think I have a memory leak and would like to identify it ;)

    EDIT: I found it :) "Core.enableAllocationTracking", I will try it and add it to wiki asap!
    EDIT2: I also have no clue about how to use it :s , added to wiki but may be very wrong/useless! sorry https://wiki.gideros.rocks/index.php/Core.enableAllocationTracking

    EDIT3: is enableAllocationTracking the count value?
    * v *	name	test1
    * v *	callers	table: 0x0000020d7488e8a0
    * v2 *	<a href="https://forum.giderosmobile.com/profile/wiki" rel="nofollow">@wiki</a>.lua:1:0000020d66ed9ec0	table: 0x0000020d7488e7e0
    * v3 *	count	10
    * v3 *	time	0.018023999999059015
    * v *	time	0.018023999999059015
    * v *	count	10
    * v *	name	test3
    * v *	callers	table: 0x0000020d7488e120
    * v2 *	<a href="https://forum.giderosmobile.com/profile/wiki" rel="nofollow">@wiki</a>.lua:1:0000020d66ed9ec0	table: 0x0000020d7488e060
    * v3 *	count	10
    * v3 *	time	0.0008948999993663165
    * v *	time	0.0008948999993663165
    * v *	count	10
    * v *	name	test2
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • hgy29hgy29 Maintainer
    enableAllocationTracking takes a single parameter, a boolean indication if collection should be started or ended. When ended (false), it returns a table of all newly created tables as keys, and where in the code they were created as value.

    Example of use:
    Core.enableAllocationTracking(true)
    ... Do something
    local t=Core.enableAllocationTracking(false)
    			if t then
    				local counts={}
    				for k,v in pairs(t) do
    					counts[v]=(counts[v] or 0)+1
    				end
    				local sort={}
    				for k,_ in pairs(counts) do
    					table.insert(sort,k)
    				end
    				table.sort(sort,function(a,b) return counts[a]>counts[b] end)
    				for _,k in ipairs(sort) do
    					print(counts[k],k)
    				end
    			end
    Sorry for the indentation, it is a partial copy paste from my own code

    Likes: MoKaLux, pie

    +1 -1 (+2 / -0 )Share on Facebook
  • thank you hgy29 for the explanations and sample code.
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
Sign In or Register to comment.