Quick Links: Download Gideros Studio | Gideros Documentation | Gideros Development Center | Gideros community chat | DONATE
Gideros 2021.11 released — Gideros Forum

Gideros 2021.11 released

Hi all,

Gideros 2021.11 is finally ready. Mac version literally took days to upload, but at last it is there.

It comes with its usual set of fixes and minor improvements, in particular it now works out of the box with iOS/ATV simulators, native Base64 encoding/decoding are now part of Core (no needs for luasocket anymore for this sole purpose) and Android HTTP legacy engine has been dropped.

It also integrate a little experiment (which may be dropped if it is of no use in the end): in this version, Gideros accept lua code with french keywords, so that french people could write:
!FR
local afficher=print
pour i=1,5 faire
	afficher(i)
fin
It is obviously intended for teaching programing concepts to french kids, Gideros being very simple to learn and a good fit for that.

UWP projects now needs VS2022 and runtime 143.

But the biggest improvements in 2021.11 is about 3D and VR, with an improved support for Oculus Quest 2, libraries for loading GLTF/GLB models, dedicated Matrix calls for handling quaternion-based rotation vectors, and other things along that line.
Gideros 2021.11 even includes an Oculus demo to get you started.
See for yourself:

New features
[core] Added Matrix:duplicate() and Matrix.fromSRT()
[gfx/mesh] Add setCullMode() call
[core] Add a mouseType field in mouse events, to distinguish real and synthetic events
[core] Add Base64 functions
[Library] Support GLTF/GLB 3D import
[examples] Add an Oculus demo
[plugin/share] implement for UWP

Experiments
[lua] Add optional French language keywords
[studio/textedit] Detect and hilight syntax for 'French' lua

Improvements
[oculus] Add touch and trackpad reporting
[mesh] Allow strings instead of arrays in setXXXArrays()
[mesh] Use 32bit index array instead of 16bit
[android] Make sure we get Event.APPLICATION_BACKGROUND immediately
[plugin/share] Support more mime types for iOS
[android] Remove Old apache HTTP (Fix #331)
[plugin/share] Support multiple mime types
[apple] Include simulator metal library
[winrt] Update to use runtime v143 and VS2022
[android] Update base build to SDK 31
[Library] Add Oculus support library
[Library] Update 3D and Shader libs

Fixes
[oculus] Fix Hand mesh indices
[desktop] Fix tablet button reporting
[gfx/opengl] Fix ortho projection for render target (Z axis was inverted)
[plugin/android] Add various missing androidx references
[plugin/share] Fix iOS code
[core] Fix mesh binder
[export/uwp] Fix SoundChannel:getPosition() resolution
[export/oculus] Fix suspend/resume
[plugin/imgui] fix for uwp

Breaking changes
[library/3d] Invert Z direction to match what industry usually expect

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

Comments

  • thanks, let me repeat my request here as well i made for the prerelease:
    for the mouse event the pressure info of the touch event does not seem to be forwarded.
  • hgy29hgy29 Maintainer
    edited November 2021
    keszegh said:

    thanks, let me repeat my request here as well i made for the prerelease:
    for the mouse event the pressure info of the touch event does not seem to be forwarded.

    Yes, sorry for not replying earlier about this (and the other point). First I didn't think about forwarding pressure, and now I think it shouldn't be necessary. The aim of forwarding the mouse 'type' was to possibly distinguish between real mouse events and synthesized ones. If you need pressure you'll want to listen for real touch events. If you need mouse events too, you can avoid them being processed twice by checking the mouseType. That was the idea (and I still don't see why that won't work in your case).

    For the missing 'pen up' event, I really don't see why this would happen at all. In my previous tests with a wacom tablet, I always had paired touch_enter/touch_leave events as expected.
  • keszeghkeszegh Member
    edited November 2021
    @hgy29 , i think all my issues are imgui specific, that's why i hoped that perhaps it processes mouse events and stops propagating only them and that's why i wanted to listen to mouse events myself.
    the missing pen up event is also somehow imgui specific.
    if imgui sprite would only listen to gideros generated events then i think all would be fine, the issue must be due to the fact that imgui is handling events in a more basic level and it does it incorrectly when a wacom pen/ink is generating them. @rrraptor ?
    (i hope to solve this issue soon somehow, my work is stalled due to that and also i hate to harrass you two about this issue which just seems to matter to me specifically at this point)

    thanks
  • keszeghkeszegh Member
    edited December 2021
    @hgy29 , i'm trying to test wacom and imgui etc. one anomaly that may affect my issues is the following (no imgui at all in this example):

    if on touch events i have:
    function onTouch(event)
      if lastEv~=event.type then print(event.type.."  "..event.touch.mouseButton) end
        lastEv=event.type
    end
    then if i press right-button of pen and move it and release, i get
    "touchesBegin 2"
    "touchesMove 2"
    "touchesEnd 2"

    yet if i just press it and don't move it or just move it a little and then release it, i get
    "touchesBegin 2"
    "touchesMove 2"
    "touchesEnd 1"

    so the end event has wrong button info. this may be related to the issue where 'touchesEnd' event is missing completely when used together with imgui i wrote about earlier. perhaps if this would be corrected, then it would improve my case.

    Likes: MoKaLux

    +1 -1 (+1 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    I understand, but I don't know how I could possibly correct this since the button information is directly taken from the upper layers (QT)
  • keszeghkeszegh Member
    edited December 2021
    hgy29 said:

    I understand, but I don't know how I could possibly correct this since the button information is directly taken from the upper layers (QT)

    that's annoying. at this point the only thing i see that may seem to help is to enable (more precisely: add a way to disable/enable from gideros code) the wintab driver in qt. i've linked the qt links related to that, let me repeat some:

    https://doc.qt.io/qt-5.12//qtgui-attribution-wintab.html
    https://codereview.qt-project.org/c/qt/qtbase/+/295623
    https://bugreports.qt.io/browse/QTBUG-83218
  • hgy29hgy29 Maintainer
    It seems the patch you mention was integrated into QT5.15, while we still use Qt5.14.
    I'll try to switch to QT6.2, but beware: https://bugreports.qt.io/browse/QTBUG-93889
  • hgy29hgy29 Maintainer
    And if QT is the issue here, I can try to add ink support to UWP export, and possibly to OSX export too
  • OSX support i assumed is there, even though i cannot test it, in the past it had pressure sensitivity i think. if not, then please add.

    UWP would be best when using windows, i anyway don't like dependency on QT for unclear legal dependency, but some features that i used seemed to be missing when exporting to UWP. i don't remember which, perhaps one major was the pen support. so if UWP will have that then i can check back what else would i need.

    so overall let's switch to QT5.15 and add switch option to wintab/windows ink and see what happens.

    and yet again: thanks
  • hgy29hgy29 Maintainer
    that'll take some work to switch to QT6, many API were deprecated/replaced
  • wouldn't be as a first step moving to qt 5.15 easier and thus faster?
  • 1) Is it possible to know if app is in fullscreen?
    2) Is it possible to change the behaviour of "Maximize" button to NOT go to fullscreen on Windows?

    Likes: MoKaLux

    +1 -1 (+1 / -0 )Share on Facebook
  • i'm trying to work around qt/pen issues, what i miss a lot is the hover information when i use the pen. hovering is very useful in imgui (change item visuals, trigger popups, etc).
  • MoKaLuxMoKaLux Member
    edited December 2021
    Event.MOUSE_UP doesn't seem to be called for me :/ Am I missing something please?
    self.mypixelzoom:addEventListener(Event.MOUSE_DOWN, function(e)
    	if self.mypixelzoom:hitTestPoint(e.x, e.y) then
    		self.iszoomout = true
    	end
    	e:stopPropagation()
    end)
    self.mypixelzoom:addEventListener(Event.MOUSE_UP, function(e) -- this is never called!
    	self.iszoomout = false
    	print("zoom out", self.iszoomout)
    	e:stopPropagation()
    end)
    EDIT: my problem was that an other button had also mouse events but badly implemented which was messing with the other mouse events. To be more precise this was a stopeventpropagation issue. All good now :)
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • SinisterSoftSinisterSoft Maintainer
    I've ordered a Quest 2, will port RetroStar to it I think... :)

    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
    +1 -1 (+3 / -0 )Share on Facebook
  • would it be possible that the icon of the app in windows is what is set as 'app icon' in project properties?
  • hgy29hgy29 Maintainer
    It would require embedding a tool for modifying the icon in the binary (windres), which could cause licensing issues possibly. I'll have a look

    Likes: keszegh

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

    Hi all,
    ...
    But the biggest improvements in 2021.11 is about 3D and VR, with an improved support for Oculus Quest 2, libraries for loading GLTF/GLB models, dedicated Matrix calls for handling quaternion-based rotation vectors, and other things along that line.
    Gideros 2021.11 even includes an Oculus demo to get you started.
    ...
    New features
    [core] Added Matrix:duplicate() and Matrix.fromSRT()
    [gfx/mesh] Add setCullMode() call
    [core] Add Base64 functions
    [Library] Support GLTF/GLB 3D import
    [examples] Add an Oculus demo
    [Library] Add Oculus support library
    [Library] Update 3D and Shader libs
    ...

    Hope you are doing good despite the war :(

    I have a quick question please: does gideros support gltf/glb animations? I am just curious ;)

    And a bonus question: is Matrix.fromSRT() related to quaternions? (I believe I need quaternions for moving the player in the direction it is facing in r3d).

    (at) hgy29 I am proposing this new 3D-Anim demo for gideros https://github.com/mokalux/GIDEROS_LUAU_SAMPLES/tree/main/3D-Anim
    I updated some files in Library/3dbase:
    -now the textures are automatically fetched from the json file
    -added support for normal map textures for the json (from fbx) models
    -added handling of transparency colors and textures for the .obj format
    -cleaned almost all library files with the help of great LUAU hints
    -formatting

    Could you please have a look and see if you like it, I tested the files with json animated models, .objs and .glb.


    Viva Gideros LUAU <3
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • hgy29hgy29 Maintainer
    MoKaLux said:


    I have a quick question please: does gideros support gltf/glb animations? I am just curious ;)

    Not yet, although I'd really like to add them. I just didn't have a suitable gltf file to see how they are defined.
    MoKaLux said:


    And a bonus question: is Matrix.fromSRT() related to quaternions? (I believe I need quaternions for moving the player in the direction it is facing in r3d).

    Yes, the 'rotate' component of the SRT matrix is expected to be a quaternion.
    MoKaLux said:


    I am proposing this new 3D-Anim demo for gideros https://github.com/mokalux/GIDEROS_LUAU_SAMPLES/tree/main/3D-Anim
    I updated some files in Library/3dbase:
    -now the textures are automatically fetched from the json file
    -added support for normal map textures for the json (from fbx) models
    -added handling of transparency colors and textures for the .obj format
    -cleaned almost all library files with the help of great LUAU hints
    -formatting

    Could you please have a look and see if you like it, I tested the files with json animated models, .objs and .glb.


    Will do when I get a chance, thanks for your contributions :)

    Likes: MoKaLux

    +1 -1 (+1 / -0 )Share on Facebook
Sign In or Register to comment.