Quick Links: Download Gideros Studio | Gideros Documentation | Gideros Development Center | Gideros community chat
Gideros 2019.5 released - Gideros Forum

Gideros 2019.5 released

hgy29hgy29 Maintainer
Hi guys, I am proud to announce the availability of Gideros 2019.5.

In this latest version, a lotf of work has been done in order to support non latin font rendering, by integrating HarfBuzz shaping library. Due to its size, it was made into a plugin. HarfBuzz performs accurate glyph transformation and placement, and deals with RTL texts all by itself.

Beside another set of bugfixes, 2019.5 also brings a useful new feature: Gideros player can take screenshots to ease store assets creation.

Here is the full list of changes:

New features

[plugin/harfbuzz] Support for harfbuzz font shaping library
[core/qt] Add application:getKeyboardModifiers()
[player] Add screenshot shortcut (F12)

Improvements

[gfx] Allow querying text position from coordinates and vice-versa
[plugin/luamidi] Update rtmidi to v4.0
[plugin/luamidi] catch errors in lua
[plugin/ads] Update AppLoving SDK
[player] Add iPad Pro 3 & iPhone XR resolutions

Fixes

[gfx] Fix layout constraints and add fontbase layout infos
[uwp] Fix various UTF-8 to widechar conversions
[ios/metal] Sanitize setClip()
[plugin/spout] Fix destructors

As usual you can get the latest version here:
http://giderosmobile.com/download
Tagged:
+1 -1 (+10 / -0 ) Share on Facebook
«13

Comments

  • talistalis Guru
    Perfect release, one more time great job. It can not be the reflection of the job done and my gratitude but i will also donate as soon as i will solve my problem with paypal.
    Thanks again for the great job.

    Likes: hgy29, MoKaLux

    +1 -1 (+2 / -0 ) Share on Facebook
  • Apollo14Apollo14 Member
    SWEET!!!!!
    [gfx] Allow querying text position from coordinates and vice-versa
    What is 'querying text position'? Can you pls drop a code snippet! Many thanks!
    > Newcomers roadmap: from where to start learning Gideros
    "What one programmer can do in one month, two programmers can do in two months." - Fred Brooks
    “The more you do coding stuff, the better you get at it.” - Aristotle (322 BC)
  • hgy29hgy29 Maintainer
    @Apollo14, here you go:
    local text=TextField.new(font,"This is a text")
    local isS,isE=string.find(text:getText()," is ") --Get 'is' word position
    local isSX,isSY=text:getPointFromTextPosition(isS) --Get 'i' starting point
    local isEX,isEY=text:getPointFromTextPosition(isE-1) -- Get 's' end point, that is next space's starting point
    -- Draw a red underline under the 'is' word
    local underline=Pixel.new(0xFF0000,1,isEX-isSX,3)
    underline:setPosition(isSX,2)
    stage:addChild(text)
    stage:addChild(underline) 
    -- Figure out which char is at the middle of the 'is' word (should be 's' since it is larger')
    local c,CX,CY=text:getTextPositionFromPoint((isSX+isEX)/2,0)
    print("'is' mid char is at:"..c.." (location "..CX..","..CY..")")
    +1 -1 (+4 / -0 ) Share on Facebook
  • hgy29hgy29 Maintainer
    I added those two functions in order to ease caret positionning when editing text fields...
  • MoKaLuxMoKaLux Member
    many thanks for the new release! I am looking forward to trying harfbuzz!

    Likes: hgy29

    +1 -1 (+1 / -0 ) Share on Facebook
  • MoKaLuxMoKaLux Member
    yep harbuzz looks pretty amazing, thanks for the addition.

    I thought I needed to activate the plugin first and then do some include stuff but no, it just works out of the box!

    Some sample code:
    	local csvaw01 = csv:getField(1, "txtAr")
    	local awfont = TTFont.new("fonts/trado.ttf", 64)
    	local aw01 = xCenteredTextField.new(csvaw01, awfont, "0xffffff", 1, 1, myappwidth / 2, myappheight / 1.3)
    	self:addChild(aw01)
    I find it quite difficult to write arabic in any editor so I use a csv file instead.

    Once again thank you for this great addition.
    require "donation"
     
    func sendDonation()
       print("ok")
    end

    Likes: talis

    +1 -1 (+1 / -0 ) Share on Facebook
  • MobAmuseMobAmuse Member
    I always test android apk build with the latest version of gideros and what built OK with 2019.4 fails with 2019.5. I have updated Android Studio also.

    Any ideas?

    :app:processReleaseResources FAILED
    13 actionable tasks: 13 executed

    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':app:processReleaseResources'.
    > Android resource linking failed
    Output: C:\Temp\AquaSlots2\tmp\app\build\intermediates\merged_manifests\release\processReleaseManifest\merged\AndroidManifest.xml:92: error: attribute android:configchanges not found.
    error: failed processing manifest.

    Command: C:\Users\adria\.gradle\caches\transforms-1\files-1.1\aapt2-3.2.0-4818971-windows.jar\304434a4d2d0517cf216fcbd02e5b5d0\aapt2-3.2.0-4818971-windows\aapt2.exe link -I\
    C:\Users\adria\AppData\Local\Android\sdk\platforms\android-28\android.jar\
    --manifest\
    C:\Temp\AquaSlots2\tmp\app\build\intermediates\merged_manifests\release\processReleaseManifest\merged\AndroidManifest.xml\
    -o\
    C:\Temp\AquaSlots2\tmp\app\build\intermediates\processed_res\release\processReleaseResources\out\resources-release.ap_\
    -R\
    @C:\Temp\AquaSlots2\tmp\app\build\intermediates\incremental\processReleaseResources\resources-list-for-resources-release.ap_.txt\
    --auto-add-overlay\
    --java\
    C:\Temp\AquaSlots2\tmp\app\build\generated\not_namespaced_r_class_sources\release\processReleaseResources\r\
    --proguard-main-dex\
    C:\Temp\AquaSlots2\tmp\app\build\intermediates\legacy_multidex_aapt_derived_proguard_rules\release\processReleaseResources\manifest_keep.txt\
    --custom-package\
    com.mobileamusements.AquaSlots2TreasureIslandFREE\
    -0\
    apk\
    --output-text-symbols\
    C:\Temp\AquaSlots2\tmp\app\build\intermediates\symbols\release\R.txt\
    --no-version-vectors
    Daemon: AAPT2 aapt2-3.2.0-4818971-windows Daemon #0
    Output: C:\Temp\AquaSlots2\tmp\app\build\intermediates\merged_manifests\release\processReleaseManifest\merged\AndroidManifest.xml:92: AAPT: error: attribute android:configchanges not found.

    error: failed processing manifest.
    Command: C:\Users\adria\.gradle\caches\transforms-1\files-1.1\aapt2-3.2.0-4818971-windows.jar\304434a4d2d0517cf216fcbd02e5b5d0\aapt2-3.2.0-4818971-windows\aapt2.exe link -I\
    C:\Users\adria\AppData\Local\Android\sdk\platforms\android-28\android.jar\
    --manifest\
    C:\Temp\AquaSlots2\tmp\app\build\intermediates\merged_manifests\release\processReleaseManifest\merged\AndroidManifest.xml\
    -o\
    C:\Temp\AquaSlots2\tmp\app\build\intermediates\processed_res\release\processReleaseResources\out\resources-release.ap_\
    -R\
    @C:\Temp\AquaSlots2\tmp\app\build\intermediates\incremental\processReleaseResources\resources-list-for-resources-release.ap_.txt\
    --auto-add-overlay\
    --java\
    C:\Temp\AquaSlots2\tmp\app\build\generated\not_namespaced_r_class_sources\release\processReleaseResources\r\
    --proguard-main-dex\
    C:\Temp\AquaSlots2\tmp\app\build\intermediates\legacy_multidex_aapt_derived_proguard_rules\release\processReleaseResources\manifest_keep.txt\
    --custom-package\
    com.mobileamusements.AquaSlots2TreasureIslandFREE\
    -0\
    apk\
    --output-text-symbols\
    C:\Temp\AquaSlots2\tmp\app\build\intermediates\symbols\release\R.txt\
    --no-version-vectors
    Daemon: AAPT2 aapt2-3.2.0-4818971-windows Daemon #0

    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    * Get more help at https://help.gradle.org

    BUILD FAILED in 6s
    Exec returned: 1
    Export failed! See details above
  • hgy29hgy29 Maintainer
    Yes, there is an issue with applovin, a typo that made it into last release. See ads.gplugin fix here: https://github.com/gideros/gideros/commit/503daac6221046b15398cc0d923d9cd129798cc6
    +1 -1 (+2 / -0 ) Share on Facebook
  • MobAmuseMobAmuse Member
    OK thanks.
  • MobAmuseMobAmuse Member
    Perfect thank you - will donate $$ in morning :)

    ---

    BUILD SUCCESSFUL in 46s
    29 actionable tasks: 29 executed
    Exec returned: 0
    Replaced local.apkname by AquaSlots2 @3
    Replaced local.isUnsigned by @13
    Cp: app/build/outputs/apk/release/app-release.apk -> ../AquaSlots2.apk
    Cd: ..
    RmDir: tmp
    0
    If: 0
    Export done
    +1 -1 (+3 / -0 ) Share on Facebook
  • keszeghkeszegh Member
    is it (and where) on the roadmap to export to Android App Bundle?

    Likes: oleg

    +1 -1 (+1 / -0 ) Share on Facebook
  • olegoleg Member
    keszegh said:

    is it (and where) on the roadmap to export to Android App Bundle?

    hgy29 said:

    Not for 2018.10, but probably for 2018.11!

    :s
    my games:
    https://play.google.com/store/apps/developer?id=razorback456
    мій блог по гідерос https://simartinfo.blogspot.com
    Слава Україні!
  • Apollo14Apollo14 Member
    Google team recently said that app bundles will become mandatory in the future
    > Newcomers roadmap: from where to start learning Gideros
    "What one programmer can do in one month, two programmers can do in two months." - Fred Brooks
    “The more you do coding stuff, the better you get at it.” - Aristotle (322 BC)
  • hgy29hgy29 Maintainer
    edited June 3
    Did anyone here tried to make an Android App Bundle from a gideros export ?
    EDIT: I just tried and it seems to actually build a .aab file, can't tell if it actually works since I don't have an android device
  • olegoleg Member
    edited June 3
    @hgy29
    and the directories base /, feature1 /, feature2 did you do manually?

    https://codelabs.developers.google.com/codelabs/your-first-dynamic-app/index.html#5
    my games:
    https://play.google.com/store/apps/developer?id=razorback456
    мій блог по гідерос https://simartinfo.blogspot.com
    Слава Україні!
  • hgy29hgy29 Maintainer
    no, I just clicked on 'build bundle', and the .aab was made, and it looks like it generated the base directory by itself. Not sure what the 'features' are for.
  • MobAmuseMobAmuse Member
    @hgy29 I have no idea how to make an app bundle from Gideros export, so am still uploading as apk (with warning) to Google Play currently until further notice.
  • hgy29hgy29 Maintainer
    @MobAmuse, all is needed is to untick 'build apk' from APK export, open the project in android studio, then select Build/Generate (signed) bundle in AS Menu bar.

    As I said, I can't guarantee the aab will actually work, but I am surprised no one tried yet! Did you guys became that dependant on automatic APK generation ?
    +1 -1 (+5 / -0 ) Share on Facebook
  • keszeghkeszegh Member
    edited June 3
    for me the main advantage would be to lower size for different cpus without the need to upload several apks.

    Likes: oleg

    +1 -1 (+1 / -0 ) Share on Facebook
  • MobAmuseMobAmuse Member
    @hgy29 I will test that later today cheers. Yes I only use export apk feature now as can't stand bloaty old Android Studio these days normally LOL :) I no longer support iOS so just use that feature of gideros mostly.

    Likes: hgy29, antix

    +1 -1 (+2 / -0 ) Share on Facebook
  • hgy29hgy29 Maintainer
    I'll have a go on android emulator

    Likes: MobAmuse

    +1 -1 (+1 / -0 ) Share on Facebook
  • olegoleg Member
    hgy29 said:

    no, I just clicked on 'build bundle', and the .aab was made, and it looks like it generated the base directory by itself. Not sure what the 'features' are for.

    it will be an ordinary apk without dynamic modules ..
    my games:
    https://play.google.com/store/apps/developer?id=razorback456
    мій блог по гідерос https://simartinfo.blogspot.com
    Слава Україні!
  • olegoleg Member
    hgy29 said:

    Did you guys became that dependant on automatic APK generation ?

    I am such :#

    Likes: keszegh, antix

    my games:
    https://play.google.com/store/apps/developer?id=razorback456
    мій блог по гідерос https://simartinfo.blogspot.com
    Слава Україні!
    +1 -1 (+2 / -0 ) Share on Facebook
  • hgy29hgy29 Maintainer
    hgy29 said:

    I'll have a go on android emulator

    Tried and it worked for my last game. There is a possibility that some plugins/combos may fail though, hard to tell.
    For those willing to check, I had to follow the steps outlined here: https://medium.com/mindorks/android-app-bundle-6c65ce8105a1 to be able to launch my app from AS to the device while using the android bundle step. The thing is android devices don't handle android bundles, only APKs, so in order to try android bundle AS must first generate the bundle, then convert it back to an APK...

    Likes: MobAmuse

    +1 -1 (+1 / -0 ) Share on Facebook
  • MobAmuseMobAmuse Member
    Yes I since built a bundle of a test app and uploaded it to Google Play (blind test only!). It seems to all work OK, albeit a bit painful coming from normal gideros automated apk export :P

    I had to enroll in the new app signing thing on Google Play first and export the newer signing key via Android Studio tho for the app in question to allow the bundle to upload correctly.
  • MobAmuseMobAmuse Member
    edited June 3
    Since rebuilt some more of my apps as bundles and all good so far.
  • hgy29hgy29 Maintainer
    Thanks for the feedback @MobAmuse, I will add the option to build AAB from gideros. It should be as easy as changing a few lines in APK.gexport file. About splitting the app into 'base' and 'features', I am not sure what gideros could/should do.
    +1 -1 (+2 / -0 ) Share on Facebook
  • keszeghkeszegh Member
    sounds great,
    doing this will automatically download only the right binaries for the actual phone, or this only works if we deal with base/features too?
  • hgy29hgy29 Maintainer
    Accoding to the diagram here: https://developer.android.com/guide/app-bundle, it seems that each module embeds binaries for all phones, and that google play create the APK by including only relevant libraries for the target phone.
    That is, if I understood correctly :)
  • keszeghkeszegh Member
    @hgy29 , thanks, then it would be great to have app bundle export straight from gideros before the x64 requirement, so that we can immediately do it the 'right' way.

    Likes: oleg

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