Hi everyone,
Gideros 2024.6 is out. It mostly bring fixes, but there is a possibly breaking change in the way device orientation is handled on iOS and Android: the auto-rotation setting, now in Graphics tab of project settings, used to enable the device to autorotate the canvas depending on physical orientation, in an all or nothing way.
Now you can select to allow normal orientation only (the one you choosed in orientation setting, that is fixed orientation), both normal and upside down, all orientations (4 or only 3 on some android devices), or only use whatever the system thinks is the best.
This is a quite complex change, so don't hesitate to report any issues with it.
Full change set:
Improvements[export/ios] Allow changing keyboard type
[plugin/ogg] Support opus recording
[plugin/ogg] Support Theora encoding
[core] Rework screen orientation (breaking change)
Fixes[gfx/textfield] Fix placement computations in texts
[export/apple] Fix special keys key codes for Mac
[export/oculus] fix menu action label
[gfx/path] Allow setLineThickness to be called before setPath()
[layout] Allow layout to be triggered when Sprite ios added to stage
[gfx/sprite] Add missing Sprite.STENCIL_GREATER definition
[plugin/camera] Fix for QT 6
Download it from here:http://giderosmobile.com/download
Comments
I'm seeing one strange issue, though. I see it in every build since 2024.3, and I wonder if may be related to the issues discussed in the 2024.3 announcement thread.
What I'm seeing it that if at some point a sprite has no children, then a child is added before the next frame, then when garbage collection happens, it will corrupt that sprite, possibly releasing some memory that wasn't garbage. In some cases I see sprites distorted, and in other cases completely blank. This happens in the player and in exported apps, at least on Android.
It's taken me quite a while to narrow this down to the point that the small block of code below reproduces the error. If the variable show_failure is nil, you'll see a text field immediately, and then another will be added 3 seconds later. If you uncomment the first line so show_failure is set to true the code will remove the first text field from the main sprite before adding the new one, and if that's done followed by a collectgarbage(), the screen goes blank after 1 frame, so both text fields are gone. In older versions of Gideros (definitely in 2023.11, but I think it may be anything older than 2024.3) it will display both text fields even if show_failure is set to true.
Here's the code:
Likes: MoKaLux, hgy29, pie
Likes: MoKaLux, PaulH
Depending on the opengl driver, this could create loss of data or even crashes.
If anyone is interested, here is the fix: https://github.com/gideros/gideros/commit/78f90039bc42c8da8d2ac8bbd78200d2698b37fe
Likes: keszegh, pie, MoKaLux
Likes: MoKaLux, kinrpg
it would be great if that was the only cause of crashes.
Likes: MoKaLux
Fragmenter - animated loop machine and IKONOMIKON - the memory game
Likes: MoKaLux, hgy29
Thank you captain hgy29, mister PaulH and all of you guys (pals?)
Likes: PaulH, hgy29, kinrpg
(Still working just fine in a win32 build)
EDIT: clicking the maximize button (which goes to full screen in Qt!) works as expected
Likes: MoKaLux
PLUS: that fixed the ALT+ENTER full screen bug I had for Qt builds
Thank you captain hgy29
when i go to full-screen and then back to non-full screen using application:setFullScreen then 'auto-scaling' goes wrong in the (windows) player.
(note: switching full-screen with alt+return does not have this issue)
Fragmenter - animated loop machine and IKONOMIKON - the memory game
Could you give a bit more details please ? I have no problem opening Gideros apps built for HTML on my iOS safari (iPhone 15). Issues could be caused by compression, but also other things. It would help to know the browser version and the export settings. It could also be a problem with the web server not understanding webassembly MIME Type
ChangeLog:
[gfx/textfield] Fix text layout in case of single line
[backend/opengl] Fix deleted buffers not unbound
[backend/gl] Don't assume buffer bindings are kept between frames
[export/html] Ignore JPEG truncated warning
[export/win32] Fix fetching state of Alt key
[plugin/ogg] Fix theora building on UWP
Likes: pie, MoKaLux, dreiko65, keszegh, kinrpg
about the player full screen issues. when in fullscreen the player menus do not open for me on windows.
Fragmenter - animated loop machine and IKONOMIKON - the memory game
the list of functions that it has (in github you mention converting to ogg for example)?
is it supported on all platforms?
Fragmenter - animated loop machine and IKONOMIKON - the memory game
Likes: keszegh, MoKaLux, pie
Fragmenter - animated loop machine and IKONOMIKON - the memory game
EDIT: only example copied will create the functions page asap
EDIT2: I tried to wrap my head around Theora but couldn't add much to the wiki. I leave the theora.core doc only as hgy29 sample code
Likes: pie, kinrpg
I checked and my video card is old and supports OpenGL3.3 will it be too old?
The Gideros Studio editor doesn't recognise the ~ ` (the key just below ESC) and " ' (the key to the left of RETURN) keys on my keyboard (Apple Mini Magic Keyboard), but everything else is fine, including the special characters.
I'll have to test other keyboards to see if it's something in the editor or the model of keyboard/layout used, but you can't programme in the editor without being able to type ".
Gideros Player opens beautifully (as shown in the attached image) without any problems. Same thing when building the package for windows, Gideiros Player runs in Wine without any problems.
Likes: MoKaLux
the Player crashes are back!
After updating to 2024.6.1 the Player only crashed one or two times at most.
Now the Player crashes a lot, I mean every 2 or 3 builds ("start"). Sorry I don't have more info.
AppName GiderosPlayer.exe AppVersion 0.0.0.0 AppTimeStamp 667a6ae9 ModuleName nvoglv64.dll ModuleVersion 31.0.15.5134 ModuleTimeStamp 65b7c9b2 ExceptionCode c0000005 FaultingOffset 0000000000522b67 ProcessId 0x5a0 ProcessCreationTime 0x1dad3bbcb7723a6 AppPath C:\Program Files\Gideros\GiderosPlayer.exe ModulePath C:\Windows\System32\DriverStore\FileRepository\nvhdc.inf_amd64_7f14eb0fd6d4fd5b\nvoglv64.dll IntegratorReportId 10d8fe0a-5a88-4046-875f-023c9ea4aa16 PackageFullName PackageRelativeAppId
Another thing I'm seeing is a graphical artifact in a game that builds a lake map tile by tile. Each tile is built on its own render target, and all drawn onto another. With the newer builds most of the lake map looks as it should, but at some point a tile will be made at a smaller scale, and every subsequent tile will have the same issue, so as the map gets built in columns from left to right, the right side ends up made of dots, each a miniature tile. That's buried in a lot of layers of code, and split up to do the work over multiple frames so the app doesn't appear to hang while doing a bunch of processing. As a result it's going to take some time to try to pin down what's going on, but I'll try to come up with a small amount of code that will reproduce it.
Likes: MoKaLux, dreiko65
Core.profilerStart()
I have no idea if that's related to any other issues, though.
Likes: MoKaLux
Gideros Studio -> Tools -> Check Syntax All:
---------- Compile started at 05:52:49.615 ----------
"C:/Program Files/Gideros/Tools/luac.exe" -o ".tmp/main.lua.bin" "assets/main.lua"
C:/Program Files/Gideros/Tools/luac.exe: assets/main.lua:148: unexpected symbol near 'if'
make: *** [.tmp/main.lua.bin] Error 1
========== Compile finished ==========
assets/main.lua:148:
I don't know if this false flag is critical for Gideros.
is it possible to turn these warnings off?
EDIT: I didn't experienced any Player crashes lately but unable to pinpoint what was causing them