Gideros Changelog

What's new in Gideros 2024.3.1

Apr 2, 2024
  • Improvements:
  • [libraries] Update
  • [gfx/texturepack] Handle mipmap and rawalpha flags
  • [studio] Files in the project can now be marked as 'Never export'
  • Fixes:
  • [library/3d] Be sure to set instance matrices when instancing is enabled
  • [export/ios] Setup first framebuffer before init code
  • [gfx/backend/metal] Allow large uniforms structures
  • [export/quest] Enable Anchor and Scene APIs
  • [export/uwp] Fix render target depth orientation for DirectX
  • [export/apple] Add PrivacyInfo file
  • [studio/themes] Make all themes Mac and Linux compatible

New in Gideros 2024.3 (Mar 15, 2024)

  • Improvements:
  • [core/viewport] Allow RT mode to capture full scene automatically
  • [core/viewport] Allow to specify render target clear option and color in setTarget()
  • [core/profiling] Improve profiling (async threads, yields, etc)
  • [gfx/rendertarget] Allow specifying texture attributes as a table, as in Texture.new, and allow enabling mipmapping
  • [gfx/backend/metal] Handle mipmapping
  • Fixes:
  • [core/font] Add missing [!l] closing tag
  • [gfx/backend/gl] New VBO allocation algorithm
  • [gfx/backend/gl] Don't assume depth buffer is only cleared on depth test enabling
  • [gfx/backend/gl] Optimize state change calls
  • [gfx/sprite] Add missing depthClear flag from setDepthStencil call
  • [gfx/font] Fix strikethrough placement
  • [gfx/backend/dx11] Fix depth testing
  • [core] Fix access issue in Buffer object

New in Gideros 2024.2 (Feb 20, 2024)

  • New features:
  • [export/quest] Implement Scene API
  • [core/sprite] Add Srite:setAutoSort(bool) that tells Gideros to depth sort sprite children on draw
  • [core/viewport] Add Viewport:setTarget(rt) to allow viewports too be rendered automatically to rts
  • [core/textlayout] Support oblique,underlined and strikethrough styles
  • Improvements:
  • [backend/gl] Improve buffer management
  • [core/matrix] Improve API, allow passing vectors on some calls
  • [core/sprite] Allow passing vectors on some calls
  • [export/quest] Report menu button press
  • [export/html5] Better handle WebGL context loss
  • [examples/cube3d] Use new autosort feature
  • Fixes:
  • [ios] Clear touches table when a view is dismissed
  • [plugin/share] Use main lua context for events
  • [lua/compat] require now assumes dots are path separators
  • [core/compositefont] Fix space size determination
  • [core/fontlayout] Tinker with wrappable text layouts handling

New in Gideros 2024.1 (Jan 16, 2024)

  • [plugin/share] Add file import/export capabilities
  • [core/debugging] Avoid losing debugging context on some (most ?) platforms
  • [core/luau] Implement debugging support for mobdebug/ZBS
  • [bridge/deamon] Add more functionalities

New in Gideros 2023.12 (Jan 16, 2024)

  • New features:
  • [android] New Event.APPLICATION_PERMISSION reported when new permissions are gained or denied as a result of a request made by the app
  • [core] Add application:getProjectProperties()
  • [core] Add Cryptography.sha1()
  • [core] Add Cryptography.pbkdf2(password,salt,iterations,outputLength)
  • Improvements:
  • [studio] Make .gproj file more code-versionning friendly
  • Fixes:
  • [core/texture] Avoid mixing extended/non-extended textures in cache
  • [export/html5] Better handle JS events with arrays
  • [core] Avoid accumulating error in repeted setPosition() calls
  • [core] Force refresh after a Sprite:setGhosts()
  • [export/android] Fix set("statusBar")
  • [build] Fix for building UWP with VS 17.8.3

New in Gideros 2023.11 (Nov 9, 2023)

  • Improvements:
  • [core/urlloader] Report error message in corresponding event
  • [core/application] Handle application:set("statusBar") for Android and iOS
  • [core/gfx] Allow specifying stencil clear value
  • [gfx/sprite] Make stencil op inheritable from parents
  • [plugin/ads] Implement AdReady on Android (for ApplovinMax and AdMob)
  • [Library] Update ui and 3d libs
  • Fixes:
  • [gfx/metal] Recreate texture on update if necessary
  • [gfx/metal] Avoid using too many buffers
  • [export/apple] Fix render target depth orientation for Metal
  • [gfx/pixel] Fix extra texture allocation

New in Gideros 2023.10 (Oct 16, 2023)

  • New features:
  • [core/input] Handle numeric keypad keys
  • [core/audio] Add Sound.decode() call to get audio samples from encoded file
  • Improvements:
  • [gfx/backend] Don't allocate generic FBO below 192 bytes except on WebGL, this speeds up rendering on Adreno GPU at least
  • [textfield/ghost] Improve performance
  • [core/gfx] Correctly categorize a few composed matrices
  • [export/meta-quest] Migrate to OpenXR API
  • [export/meta-quest] Support Quest 3 passthrough
  • [Library/ui] Large update
  • Fixes:
  • [core/styling] Fix basic math support
  • [export/win32] Fix an issue with sticky modifier keys
  • [export/android] Only declare LEANBACK_LAUNCHER if TV support is enabled
  • [plugin/imgui] Add missing file on ios
  • [plugin/luasqlite3] Remove, since it is replaced by lsqlite3 plugin
  • [plugin/controller} Xcode 15/iOS17 compat

New in Gideros 2023.9.1 (Sep 22, 2023)

  • Improvements:
  • [gfxbackend/gl] instancing is supported since GL es 3.0 and desktop GL 3.1
  • [plugin/luamidi] Build for Linux
  • [export] Support optional args on exec xml rule
  • [export/qt] Announce as QtLinux on Linux
  • [gfx/particles] Use 32bit indices
  • [gfx/particles] Add a getNumParticles() call
  • [gfx/sprite] Ghost now accept a transform matrix
  • Fixes:
  • [export/APK] fix for Mac
  • [studio] Fix opening player on OSX
  • [gfx/layout] Fix grid relative placement not acepting negative values anymore

New in Gideros 2023.9 (Sep 15, 2023)

  • New features:
  • [core] Add math.fft() and math.ifft()
  • [gfx] Implement Sprite ghosts (Sprite,Pixel,TextField)
  • [audio] Allow to create sounds from raw waveform data
  • [export/linux] Support fullscreen and Screen API
  • Improvements:
  • [layout] Reduce memory usage
  • [layout] Add a fixed grid layout parameter telling Gideros to ignore children size requirements
  • [gfx] Deactivate clipping when 3D transform is detected
  • [gfx] Significantly reduce sprite memory usage
  • [gfx/textfield] Faster recoloring in most cases
  • [gfx/pixel] Reduce memory usage
  • [gfx/movieclip] Make native tween functions available to lua
  • [audio] Allow streaming a wave file
  • [studio] Add icons for Apple and Linux exports
  • [export/uwp] Use UWP Storage API to access files outside sandbox
  • Fixes:
  • [library/3d] fix missing alpha value for fbx (json) models
  • [gfx/layout] Avoid setting invalid bounds on sprites (if computations are still ongoing)

New in Gideros 2023.8 (Aug 25, 2023)

  • New features:
  • [platform] Now available on Debian based Linux (tested on Debian 11, Debian 12 and Ubuntu 22-04)
  • [export/linux] Initial non QT linux export code
  • [export] Add QT Linux target
  • Improvements:
  • [export] Note about QT licensing
  • [plugin/rp3d] add Body:setSprite() so that rp3d can update Sprites after each physics simulation step
  • [addon] Scene builder: allow specifying asset folder and support capsule physics shapes
  • [Addon/SceneBuilder] Support GLTF files
  • [addon/scenebuilder] Support setting physics shape in library
  • [lib/3d] Improve GSCN handling
  • Fixes:
  • [gfx/rt] Fix non POT option not accepted
  • [gfx/sprite] Fix invalid bound caching
  • [gfx/shape] Fix crash when omitting matrix in setFillType
  • [core/Buffer] keep a reference to the buffer object while opened as a file
  • [studio] Ensure output window shows last lines of 'print'
  • [export/win32] Avoid key repeating
  • [export/win32] backport linux http fixes to win32 code
  • [plugin/rp3d] Fix crash on some android
  • [plugin/ads] Add consent API
  • [plugin/ads/AdMob] Implement google consent flow
  • [Library/3d] Fix gltf loader and anim
  • [Samples] Fix controller demo

New in Gideros 2023.7 (Jul 17, 2023)

  • Improvements:
  • [core/profiler] Hide profiling overhead
  • [core/sprite] Improve binding performances
  • [core/layout] Allow to override size after layout
  • [core/layout] Allow offseting the grid
  • [core/styling] Support basic math in styles
  • [gfx/pixel] Avoid unnecessary recomputing for FP precision changes
  • [gfx/particles] Avoid asking for redraw if graphics haven't changed
  • [studio] Enlarge Plugins Require Window
  • [export/android] Separate down and up recovered back key events
  • [export/html] Upgrade to latest emscripten
  • [plugin/ads/admob] Update iOS code for SDK 8/10
  • Fixes:
  • [core/layout] Fix endless loop when shrink=true sometimes

New in Gideros 2023.6 (Jun 19, 2023)

  • Improvements:
  • [core] Remove gvfs related debug lines
  • [core/application] Report logical DPI from getScreenDensity() in UWP
  • [core/profiler] More accurate timings
  • [gfx/path] Avoid invaliding path on setLineThickness if not necessary
  • [gfx/sprite] Avoid unnecessary loop if no children at all
  • [plugin/imgui] Custom image functions now require an explicit ID
  • [plugin/imgui] Added ImGui:getItemRect()
  • [plugin/imgui] Added missing ImGui:imageButtonUV()
  • [plugin/imgui] Added ImGuiTextFilter
  • [plugin/imgui] Added "ImGui:scrollWhenDragging()" to scroll the window when touching void
  • [plugin/imgui] Added "ImGui.cachePoints()", "ImGui.freePoints()"
  • [plugin/imgui] Added "ImGui:plotCachedPoints()", "ImGui:plotCachedHistogram()" see examples
  • [plugin/imgui] Plot function renamed
  • [plugin/imgui] 1.89.6 update
  • [plugin/require] Fill Android OpenUrl in manifest
  • [Library/luashader] Improve std shaders code
  • Fixes:
  • [gfx/backend] Reset depth and stencil clear on state pop
  • [gfx/backend] DX11 VBO weren't always correctly updated
  • [gfx/backend] Fix particle shaders in 3D environment
  • [gfx/layout] Fix an endless loop condition
  • [gfx/opengl] Fix invalid texture filtering parameter sent to OpenGL
  • [gfx/opengl] Disable line smoothing
  • [gfx/path] Fix computing Path2D stroke bounds
  • [gfx/path] Don't clip Path2D filling, it is unnecessary and have issues with 3D
  • [gfx/sprite] Disable world alignment when in perspective projection
  • [gfx/texturepack] Avoid returning weird part when image name isn't found in atlas
  • [export/android] FINE_LOCATION now needs COARSE_LOCATION too
  • [export/apple] Don't call UI things from non UI thread
  • [export/apple] OSX don't have a native virtual keyboard
  • [export/mac] Don't send a keyChar when modifiers are presents beside shift
  • [export/uwp] Fix suspending leading to crash, report background and foreground events
  • [export/win32] fix win32 openDirectoryDialog (needed 3 arguments, now works with 2 arguments)

New in Gideros 2023.5 (May 10, 2023)

  • Improvements:
  • [export/html5] Report modifiers in mouse wheel event
  • [export/android] Update to NDK r25, gradle 7.5, SDK 19 (KitKat) is now the minimum
  • [export/apple] Report modifiers in various calls
  • [plugin/imgui] Update to 1.89.5
  • [plugin/imgui] Added touch gesture detector (WIP)
  • Fixes:
  • [studio] Fixed editor global zoom
  • [gfx/font] Fix computations in composite fonts
  • [audio] Fix an issue when playing empty audio files
  • [audio] Move destructor out of luau GC
  • [plugin/imgui] Fix font atlas update

New in Gideros 2023.4 (Mar 31, 2023)

  • Improvements:
  • [core/gfx] Provision for MSAA in OpenGL
  • [export/html5] Handle get/set screenSize and windowTitle
  • [export/uwp] Handle get screenSize
  • [lua] update sources for latest luau
  • [export/uwp] Enable mipmapping
  • [gfx/path2d] Line position is now sent to the shaders
  • [export/android] Allow to add flags to permissions in manifest
  • [gfx/paths] Allow longer lines by using 32bit indices instead of 16bit
  • [android] Add recommanded way to detect TV's
  • Fixes:
  • [export/android] Locate Java in Android Studio Electric Eel
  • [export/uwp] Fix particle rotation
  • [export/win32] set user-agent in html requests
  • [export/win32] don't assume cwd is executable path
  • [export/win32] Fix scaling / DPI handling
  • [export/uwp] Fix modifiers not correctly reported in key events
  • [player] Optimize print to studio
  • [export/ios] Fix DPI reporting for newer phones

New in Gideros 2023.2 (Feb 21, 2023)

  • Improvements:
  • [sprite] Add Sprite:spriteToLocal to convert from one sprite local space to another
  • [sprite] hitTestPoint accepts a fourth arg specifying which sprite is the reference of x,y coordinates given. if nil global coordinates are assumed as before.
  • [audio] add a way to supply biquad filters parameters
  • [core/screen] add Screen:setTitle() call
  • [core] Improve performance in various fields
  • [player] Handle tablet hover
  • [export/win32] Implement touch/pen support
  • [export/win32] Export icon into app
  • [plugin/ads] Use AdMob 21.5.0 on android
  • [plugin/spout] Compile for win32
  • [library/3d] use Luau internal string:split function (8x faster)
  • [Library] Update many libs
  • Fixes:
  • [core] Fix getChildrenAtPoint
  • [eventdispatcher] Fix removeAllListeners
  • [export/win32] generate APPLICATION_EXIT event
  • [export/win32] Use 64 bit, fix internal app naming
  • [export/win32] Fix GL buffers dropped on resize
  • [export/win32] Fix alert/textinput dialogs not working
  • [export/win32] Fix file dialogs not completely modal
  • [export/win32] Fix project internal name, use app name as default window title
  • [export/win32] Use absolute directory when looking for resources
  • [export/win32] Fix catching of F10 key
  • [export/win32] Fix mouse wheel coordinates (and add buttons)
  • [export/win32] Fix Screen closed state handling
  • [plugin/ads] Fix ads template for winrt
  • [plugin/microphone] winrt support (experimental)
  • [plugin/microphone] Fix building for win32

New in Gideros 2023.1 (Jan 16, 2023)

  • 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

New in Gideros 2022.12 (Dec 6, 2022)

  • Improvements:
  • [library/3d] Handle GLTF animation
  • [core] Improve checking sprite boundaries
  • [export/desktop] implemented pathfileexists for win64 (Qt)
  • [core/styling] Improve layout styling efficiency
  • [export/win32] pathfileexists test if a folder or a file exists + can test for modes: 0=Existence only, 2=Write-only, 4=Read-only, 6=Read and write returns 1 on success or nil on fail
  • [export/android] Support notch on screen
  • [export/uwp] Add modifiers to mouse/touch events + few mintor adjustments
  • [core/styling] Improve performance and allow textfield font to be styled
  • [export/html] Support set cursor
  • [export/win32] Support set cursor
  • [export/uwp] Support set cursor and file pickers
  • [export/mac] Implement set cursor and file dialogs
  • Fixes:
  • [export/win32] getKeyboardModifiers were still activated after keyup events: fixed
  • [export/win32] mouse wheel had a 120 which resulted in delta of 144000 (120120): fixed
  • [core/layout] Fix text size miscalculated, causing constant relayout
  • [core/textlayout] Fix breaking words
  • [export/android] Fix issue with on demand rendering when going into background
  • [export/apple] various redraw and resize fixes

New in Gideros 2022.10 (Nov 4, 2022)

  • [core/ui] Fixed search results not being visible when code is folded
  • [core/ui] Fixed undo/redo actions when using color picker
  • [core/ui] Fixed highlighter not being reset sometimes
  • [core/ui] Added adjustable highlighter delay
  • [core/ui] Added global zoom level
  • [core/ui] Added virtual space selection (only when using ALT + LMB)
  • [core/ui] Added the ability to change the color of whitespaces using styles
  • [core/ui] Added the ability to dock output widget to left and right panels
  • [studio] change position of find/replace dialog box
  • [core] Rework application get/set system
  • [core/signal] wait now accepts a lua predicate
  • [gfx] Fix Particles reallocation after clearing
  • [gfx] Sprite:getBounds gets a new parameter to compute real bounds depending on visibility and clipping
  • [gfx] Layout can optionnaly snap the coordinates to the logical grid
  • [gfx] Fix stencil mask not applied when clearing
  • [gfx/pixel] Fix setColor not triggering render in on-demand rendering
  • [layout] Fix switching back to raw values from styled values
  • [layout] Ensure relayout is done as quickly as possible
  • [layout] Fix layout group not propagating dirty info
  • [layout] Fix computation of required size when logical alignment is requested
  • [layout] Expose adjusted cell spacing in layout info
  • [layout] Add autoclip feature
  • [styles] Improve setStyle speed
  • [core/style] Lookup styles tables following hierarchy
  • [export/win32] Make a few missing plugins available
  • [win32] Improve/Fix http support (UrlLoader)
  • [win32] Update mouse and keyboard support
  • [win32] Report screen density (96, not 0)
  • [win32] Implement some of the getters/setters available on QT
  • [win32] Switch to unicode
  • [win32] Implement getKeyboardModifiers()
  • [winrt] Use initial window size value from project settings
  • [win32] Fix application paths and implement get(directory)
  • [win32] remove GetTempPath call because it caused window to disappear…
  • [win32] fix screen set position
  • [win32] Implement openFileDialog based on @mokalux code
  • [win32] Implement save file and open directory dialogs
  • [html5] Drop use of GLFW, directly use webgl
  • [html5] Fix resizing window
  • [android] Add a context variable to setTextInput call and event
  • [export/android] Intercept KEY_BACK before handled by IME
  • [export/ios] don't allocate buffers for short vertex data
  • [Library] Properly add COLOR mode to 3D library
  • [plugin/iab] Update to google BL 5
  • [plugin/require] Allow setting min sdk requirement (android)
  • [plugin/require] Avoid setting an empty NSUserTrackingUsageDescription
  • [plugin/threads] Deprecate

New in Gideros 2022.9 (Sep 16, 2022)

  • New features:
  • [core] Implement on-demand rendering
  • [core] Support luau parallel threads
  • [core] Add signals for parallel threads, and improve yield api
  • Improvements:
  • [luau] upgrade to latest
  • [core/layout] Improve shrink mode
  • [audio] Use latest OpenAL soft for most platforms (apple,android,qt,uwp,html)
  • Fixes:
  • [android] Fix handling of numeric input
  • [io/win32] Convert filename to wchar_t for win32

New in Gideros 2022.8 (Aug 11, 2022)

  • New features:
  • [export/android] Add an application:setEventMerging() call which allows to enable/disable merging of touch/mouse move events together
  • [export/html] Initial WebXR support
  • Improvements:
  • [library/3d] Better GLTF support
  • [library/3d] Support vertex coloured meshes
  • [example] cute_c2 demo updated
  • [gfx] Allow to disable writing depth buffer through setStencilOperation()
  • [plugin/ads] Add option to include AD_ID permission on android
  • Fixes:
  • [gfx] Fix cloned color transforms
  • [styling] Fixes and improvements
  • [plugin/cute_c2] Fix name conflict with imgui
  • [plugin/share] Fix for Android
  • [html] Disable GApp override in an exported project
  • [gfx] Check 'application' presence in styling functions

New in Gideros 2022.6 (Jun 15, 2022)

  • New features:
  • [gfx] Support texture mipmap
  • [audio] Allow filtering and balance setting in audio/openal
  • [sprite] Initial support for style references
  • [plugin/cute_c2] Add cute_c2 plugin
  • Improvements:
  • [font] Break characters is now considered 'latin', to avoid running through slow harfbuzz shaping when a text is truncated
  • [export/html] Use wasm exception catching: provides a huge boost but only major browsers support it
  • [export/apple] Use OpenAL soft backend for more features
  • [plugins/imgui] ImGui v1.87
  • [plugins/imgui] Removed ImPlot from sources
  • [plugins/imgui] Fixed fonts not being loaded correctly sometimes
  • [plugins/imgui] Fixed key codes sended to inputText callback
  • [plugins/imgui] Added new functions to inputText callback data
  • [plugins/imgui] Added new functions to resize callback data
  • [plugins/imgui] Renamed "Font:getFontSize()" to "Font:getSize()"
  • [plugins/imgui] Renamed "getBufDirty()" to "isBufDirty()"
  • Fixes:
  • [gfx] Sprite: fix self references when cloning
  • [gfx] Fix textfield crashing when created with a sample text
  • [math] Prevent normalize function from returning nan if vector is 0 length
  • [examples] added missing gtween.png for the examples

New in Gideros 2022.5.1 Pre-release (Apr 28, 2022)

  • Improvements:
  • [gfx/rendertarget] Render targets can now be created as NPOT
  • Fixes:
  • [gfx/cloning] Fix a crash condition and better handle textfield cloning
  • [plugin/rp3d] Add sanity checks
  • [library] Fix 3D shader bump mapping for ios

New in Gideros 2022.5 (Apr 27, 2022)

  • New features:
  • [gfx] Sprites are now clonable, except MovieClip
  • [gfx] Support 3D Particles
  • [gfx] Partciles can be multitextured (through shaders)
  • [gfx/particles] Add auto depth sorting of 3D particles
  • [gfx/particles] Differentiate X,Y and Z decay, add acceleration support
  • [gfx/particles] Add a method to retrieve recently dead particles
  • [examples] Add 3D particles demo
  • Improvements:
  • [Library] update to 3d library to better handle texture loading and glb format
  • [library/3d] remove code hack thanks to luau
  • [Library] Update luashader lib
  • [sample/3D-Anim] Improved demo
  • [font/layout] Avoid calling harfbuzz plugion (if present) when text is Latin
  • [core] Use optimized memory allocator for Luau (as we did for Lua)
  • [gfx/textfield] Delay texture recreation until really displayed
  • [ios] Export entitlements file
  • [Studio] Preview pic for GTween example
  • Fixes:
  • [plugin/rp3d] don't try to destroy a body twice
  • [sprite] Fix auto update and autobuffer of effect shaders
  • [audio] Fix audiobinder destructor
  • [studio] Fix 'Browse' buttons not working
  • [library/luashader] Auto correct HLSL swizzling
  • [uwp] Update certificate
  • [Studio] Fix simple word highlighter
  • [Studio] Revert replace function with a minor change - clean one
  • [plugin/rp3d] Fix event listener
  • [ios] fix Metal shaders

New in Gideros 2022.3.1 (Mar 15, 2022)

  • Improvements:
  • [core/sprite] Honor setHiddenChildren in bounds lookup
  • [export/html5] Change optimization settings for faster execution
  • Fixes:
  • [core] check if lua is closing in destructors to avoid crashes
  • [plugin/rp3d] Better fix for crash on reload
  • [gfx/backend] Catch uniform setting mismatch
  • [core/sprite] Fix stencil initialization
  • [core] Fix TexturePack not using premultiplied alpha as it ought to be

New in Gideros 2022.3 (Mar 14, 2022)

  • Improvements:
  • [luau] Update to latest
  • [studio] Expand folded region if search result is inside
  • [studio] Slightly decreased highlighter delay
  • [studio] Types mismatch
  • [studio] Text editor update
  • [studio] Can now open json and xml in Studio
  • [texture] Add a way to disable alpha premultiplication
  • [particles] Accept vector for color
  • [core/layout] Add proportional filling and aspect ratio setting
  • [gfx/pixel] setColor allows vectors parameters + fix anchor point in some cases
  • [core/layout] Avoid wrappable textfield from constantly needing relayout
  • [core] Most color calls now accept vectors. Notable exception is Shape sprite
  • [core] Add a way to hide some childrens from the parent sprite context
  • [core] Speed up (non) rendering of clipped objects
  • [core] Keep state of sprite changes to enable caching for faster response
  • [core] Add application:enableDrawInfo() call
  • [core] Slower integration of mean frame time
  • [core] Improve rendering performance
  • [core] Improve Sprite.getChildrenAtPoint
  • [plugin/rp3d] Update to 0.9.0
  • [export/android] Add exported setting to comply with Android 32
  • [samples] Update more sample .gproj files
  • Fixes:
  • [studio] Fixed highlighter not being reset sometimes
  • [plugin/cbump] Fix destructor
  • [plugin/r3d] Fix reactphysics 3D destructors
  • [build/Linux] Fix linux build script

New in Gideros 2022.1.2 (Jan 26, 2022)

  • Improvements:
  • [build] Package for 64bit on Windows
  • [luashader] Support atan2 function
  • [plugin/luamidi] add setQueueSi
  • [studio] Feed Gideros API to luau type checker
  • [studio] Add more reserved luau words to the syntax highlighterzeLimit and remove queue overflows
  • Fixes:
  • [core] Reserve stack in event dispatcher for luau
  • [player] Fix setFullscreen(false) not restoring normal size
  • [export/apk] Fix AAB generation
  • [samples] Fix Horse project
  • [studio] Fix addon support
  • [studio] Fix player connection
  • [android] Avoid crashing if IP cannot be retrieved for player
  • [plugin/applovin] Fix for android

New in Gideros 2022.1.1 (Jan 20, 2022)

  • New features:
  • [studio] Add block comment
  • [studio] Add customizable shortcuts
  • [studio] Enable Luau type checking
  • Fixes:
  • [desktop] Fix wintab code
  • [export] Fix merging compiled files
  • [core] Fix MovieClip lua_ref for Luau
  • [studio] Fix calltip display
  • [studio] Fix top folding
  • [studio] Fix reconnection to player
  • [studio] Avoid save failed popup box for example projects
  • [pkg] install to 64bit

New in Gideros 2022.1 (Jan 17, 2022)

  • New features:
  • [studio/desktop] Switch to QT6 and 64 bit
  • [studio] Use Scintilla instead of QScintilla for better integration (improved auto indent and EOL annotations)
  • [core] Use luau engine instead of lua 5.1
  • [desktop] Implement application:set("wintabMode")
  • Improvements:
  • [export/android] Upgrade to Gradle 7 (needs JDK 11+)
  • [Library/luaushader] Add support for while/repeat, if-then-else, and better handling of execution flow thanks to luau
  • [plugin/imgui] 1.86 update
  • Removed:
  • [plugin] Deprecate bit plugin (builtin luau, and obsoloted by gideros bit ops)
  • [plugin] Don't compile threads plugin (not compatible with luau)

New in Gideros 2021.11 (Jan 17, 2022)

  • 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 expected Z direction to match what industry usually expect

New in Gideros 2021.10 (Oct 15, 2021)

  • New features:
  • [export/oculus] Oculus Quest export support (BETA)
  • Improvements:
  • [core] Add application:getNativePath()
  • [plugin/imgui] Better way to detect modifiers keys (ALT, CTRL, SHIFT, META (SUPER))
  • [plugin/imgui] 1.84.2 update
  • [plugin/imgui] Added "IO:loadIniSettings(file_path)"
  • [TextureBase] Added "getSize" function
  • [lib/luashader] Handle WebGL2
  • [desktop/input] Propagate table/pen button to touch event
  • [core] Effect stack now support automatic buffer resizing
  • [plugin/reactphysics3d] Add a few missing API calls
  • Fixes:
  • [plugins/bump] Fixes for some API calls
  • [plugin/imgui] Fixed "ImGui:pushFont()"
  • [plugin/imgui] Added "IO:saveIniSettings(file_path)"
  • [plugin/imgui] Fixed "attempt to call a nil value" issue when using input text OR window resize callbacks
  • [Sprite] Fixed "Sprite:redrawEffects()"
  • [qt] Avoid reporting duplicate mouse events for pen events

New in Gideros 2021.9 (Oct 15, 2021)

  • New features:
  • [core] Add Texture.loadAsync() call
  • [core] Add TexturePack.loadAsync() call
  • [core/font] Allow multiple fonts in a single TextField
  • [core/font] Allow to turn TexturePacks into Fonts
  • Improvements:
  • [core] Support grayscale render targets
  • [core] Add TexturePack:getRegionsNames()
  • [tools] Associate .tproj and .GApp extensions so that they open the required tool
  • [plugin/camera] Add a setOrientation() Call (iOS, Android)
  • [plugin/share] Allow setting of photo library usage (iOS)
  • [plugin/virtualtntpad] Update
  • [export/html] Update to latest emscripten (2.0.27)
  • [export/html] Support APPLICATION_SUSPEND/APPLICATION_RESUME
  • Fixes:
  • [core] Fix rendering 3D in render target
  • [player] Allow setting FPS from lua
  • [player] Fix Open project and Restart project menu actions

New in Gideros 2021.8 (Aug 18, 2021)

  • New features:
  • [plugin/camera] Camera plugin now allows to query camera capabilities, control Flash and take pictures
  • Imgui:
  • [plugin/imgui] Added scaled image functions to DrawLists
  • [plugin/imgui] Added InputText callback functions
  • [plugin/imgui] Added new IO functions
  • [plugin/imgui] Added "ImGui:tableSetColumnEnabled(col, bool)"
  • [plugin/imgui] Added button flags enums
  • [plugin/imgui] Added new param to image buttons
  • [plugin/imgui] Changed ImGui:newFrame(dt)
  • [plugin/imgui] Removed ImGui:setAutoUpdateCursor(flag)
  • [plugin/imgui] Added CTX functions
  • [plugin/imgui] Added color drag&drop data
  • [plugin/imgui] Added generic sliders functions
  • [plugin/imgui] Fixed existed sliders functions
  • [plugin/imgui] Removed "Scalar" sliders
  • [plugin/imgui] Fixed Log app output
  • [plugin/imgui] ImPlot WIP
  • [plugin/imgui] Image functions changed
  • [plugin/imgui] Added new enum: ImGuiI.mageScaleMode_XXX
  • [plugin/imgui] Removed "ImGui:imageFilled()"
  • [plugin/imgui] Removed "ImGui:imageButtonWithText()"
  • [plugin/imgui] Removed "ImGui:scaledImageFilled()"
  • [plugin/imgui] Added default size to image buttons
  • [plugin/imgui] Added an ability to control visible area of the image
  • [plugin/imgui] Fixed "scaledImageButton" border
  • [plugin/imgui] Fixed texture memory leaks
  • [plugin/imgui] Fixed shared FontAtlas crush
  • [plugin/imgui] Fixed ImGui:setNextWindowSizeConstraints()
  • [plugin/imgui] Fixed ImGui:tableSetupScrollFreeze(cols, rows)
  • [plugin/imgui] Fixed image clipping
  • [plugin/imgui] Fixed ImPlot memory leaks
  • [plugin/imgui] Fixed image padding
  • [plugin/imgui] Fixed images visible area
  • [plugin/imgui] Fix compilation on non Win32 platforms
  • Fixes:
  • [plugin/require] Fix Apple User tracking message
  • [export/html] catch another warning that crashes html5: 'Interlace handling should be turned on when using png_read_image'
  • [core/effects] Fix clearing of effects rendertarget
  • [core/text] Fix unbalanced text sizing issue

New in Gideros 2021.6 (Jun 23, 2021)

  • New features:
  • [export/html] Basic PWA support
  • [plugin/require] Support Apple user tracking stuff
  • [plugin/ads] New ADS_READY event (indicate the SDK is ready)
  • [plugin/ads] Support Vungle on UWP
  • Improvements:
  • [core] Include keyboard modifiers in Key events (fix #447)
  • [core] Support async version of clipboard access calls (UWP, HTML)
  • [export] Use paletted PNG when exporting some large icons for UWP to meet MS store file size restrictions
  • [plugin/ads] Add support for AppLovin MAX, update Applovin (IOS, Android)
  • [plugin/imgui] 1.83 update
  • [library/luashaders] Specific handling for HTML + reworked support for complex if/then/else (not yet 100% working)
  • Fixes:
  • [core] Fix hitTestPoint() on invisible sprites
  • [plugin/imgui] removed NodeEditor code
  • [plugin/imgui] Fixed texture memory leak
  • [plugin/imgui] disable autoUpdateCursor by default, as it crashes on most platforms

New in Gideros 2021.5 (Apr 27, 2021)

  • Improvements:
  • [plugin/imgui] Update imgui bindings (by @mokalux)
  • [plugin/map] Update by @paulh
  • Fixes:
  • [gfx/rendertarget] Fix clear area size
  • [gfx/pixel] Fix extent check with new setAnchorPoint
  • [gfx/sprite] Fix crash in clearLayoutConstraints()
  • [core/sprite] Fix usage of effects stack on anything above stage
  • [plugin/gaming] Fix a crash in Googleplay/Android

New in Gideros 2021.3 (Apr 1, 2021)

  • Improvements:
  • [gfx/particles] Don't try to draw an empty particle set
  • [gfx/path] Add new options to speed up Path rendering in some cases (curve subdivision+margin setting)
  • [plugin/iab/android] Update to google billing library V3 (incl. pending purchases)
  • [export/android] SDK 30 is now the default
  • Fixes:
  • [gfx/pixel] Fix bindings for get/setAnchorPoint
  • [plugin/osx] Fix import definition (for some plugins)
  • [plugin/imgui] fixed ImGui:setAutoUpdateCursor()
  • [plugin/imgui] Styles fix
  • [plugin/imgui] Image buttons fix
  • [export/uwp] Update temporary signing key
  • [export/apple-mac] Add a Quit menu entry as per apple guidelines
  • [export/apple-mac] Set app package name to specified app name

New in Gideros 2021.2 (Feb 19, 2021)

  • Improvements:
  • [studio] Allow assigning a name to library files through tagging
  • [gfx/layout] Add a 'shrink' layout option
  • [gfx/pixel] Implement setAnchorPoint the same way as in Bitmap
  • [core/lua] Extend string.encodeValue and string.decodeValue functions to deal with 8,16,32 and 64 bit values, as well as handling multiple values at once
  • [plugin/imgui] 1.80 update
  • [plugin/imgui] Changed "ImGui:colorConvertXXXtoXXX" functions. Now it must be called without ImGui instance. Just use "." instead of ":"
  • [plugin/imgui] Added TextEditor widget with Coloring and Style
  • [plugin/imgui] Added fonts functions
  • [plugin/imgui] "FontAtlas:addFonts()" now returns table of fonts
  • [plugin/imgui] Added FontAtlas:getFonts()
  • [plugin/imgui] Added Font:calcWordWrapPositionA()
  • Fixes:
  • [studio] Fix dependency tags parsing
  • [studio] Remove memory limit setting for HTML (not compatible with wasm)
  • [plugin/scenemanager] Update scenemanager.lua: Replaced crossfade by crossFade for consistency between functions name. Plus removed some empty lines.
  • [plugin/iab] Fix iOS IAP support code
  • [plugin/imgui] Clipper fix
  • [plugin/imgui] Fixed sliders/drags
  • [plugin/imgui] Fixed demo windows functions
  • [plugin/imgui] Indices fix
  • [plugin/imgui] Fonts build fix
  • [plugin/imgui] Removed unnecessary assertions
  • [Library] 3D & luashasder: don't use features when they are not available

New in Gideros 2021.1.1 (Jan 19, 2021)

  • Improvements:
  • [gfx/layout] Add anchoring to the layout grid
  • [gfx/effects] Add an option to clear the render target before draw
  • [gfx/shader] Add SYS_BOUNDS shader constant
  • [plugin/rp3d] Allow changin the world parameters
  • [plugin/imgui] Touch support, fix crash for Android, add more bindings
  • [export/android] Inject Android 29 background location permission if needed
  • [export/html5] Track keyboard modifiers + fix dialogs stucks
  • Fixes:
  • [core] Fix a few lua bindings
  • [backend/metal] Fix memory leaks
  • [lib] Fix bloom effect for Metal
  • [export/apple] Fix Mac/iOS export issues
  • [export/apple] Fix .xcasset file reference
  • [export/apple] Remove server entitlement from Mac export by default

New in Gideros 2021.1 (Dec 21, 2020)

  • New features:
  • Implement Sprite effects
  • Changes on Apple targets (now they are out of beta):
  • Metal is now the only renderer (completely removed OpenGL on Apple)
  • Moved the code base to use ARC system (some plugins may still malfunction)
  • Added macos support: the exported project now targets ios, apple tv and macos.
  • Improvements:
  • [plugin/tntvirtualpad] changed function distance to math.distance and pii to math.pi
  • [plugin/imgui] Changes ImGui:beginFullscreenWindow(). It is now have padding by default.
  • [plugin/imgui] Drawlist items can be now rotated.
  • [gfx/shaders] Allow to specify multiple shader type and variant, plus inheritance
  • [sample/bloom] Use effects lib instead of GLSL only shader
  • [library/shaders] Add effects library (Bloom/Blur)
  • Fixes:
  • [android] Fix onTextInput char counting
  • [plugin/camera] Fix for Metal on Apple devices
  • [plugin/camera] Ensure given texture is actually a RenderTarget
  • [plugin/imgui] Fixed existing images function and added new "scaled" functions.
  • [plugin/imgui] Fixed data plotting.
  • [plugin/imgui] Fixed drag&drop.
  • [plugin/ads] Switch to podfile for AdMob on iOS
  • [export/apple] General fixes related to Apple target overhaul

New in Gideros 2020.11.1 (Nov 26, 2020)

  • Improvements:
  • [Library] Small changes 3D and LuaShaders
  • Update movieclipbinder.cpp
  • Recursive visibility check
  • MovieClip:isPlaying()
  • Fixes:
  • [backend/metal] Fix memory leaks
  • [backend/metal] Fix Color3D Shader
  • [plugin/rp3d] Fix convex shape creation
  • [osx] Gideros now runs on MacOS Big Sur

New in Gideros 2020.11 (Nov 26, 2020)

  • Improvements:
  • [studio] Masquerade merged lua file names to mimic what is done on export
  • [core/font] Add missing getDescender() call
  • [core/path] get distance and auto segmentation in getPathPoints()
  • [gfx/backend] Expose projection matrix to shaders
  • [export/android] Provision for adding extra build targets to gradle call
  • [uwp] Request DX10 feature level
  • [plugin/imgui] Update
  • [plugin/rp3d] Update to 0.8.0 version
  • [library] Improve lua shader library
  • [library] 3D library now use lua shader for easier maintainability
  • Fixes:
  • [core/font] Fix inconsistency on layout of empty lines
  • [core/text] fix getTextPositionFromPoint and interwork with layout
  • [core/text] More fixes regarding text pointoffset translation
  • [core/text] Fixed more issue regarding text layout (word-break, etc)
  • [core/pixel] fix setTextureMatrix()
  • [core/math] Fix minor lua stack issue
  • [gfx/metal] Fix setClip()
  • [uwp] Fix HTTP header managemenet (was growing request after request)

New in Gideros 2020.9.1 (Nov 26, 2020)

  • Fixes:
  • [core] Fixing a huge memory leak when loading textures
  • [plugin/require] Fix dereferencing EP_ plugins
  • [plugin/imgui] Change plugin symbol name to match configuration files
  • [plugin/imgui] Update to latest sources

New in Gideros 2020.9 (Aug 31, 2020)

  • New features:
  • [core] Add vector/game specific math functions
  • [plugin/iab] UWP support
  • [plugin/storereview] files for android and uwp
  • [plugin/imgui] ImGui bindings by @Rraptor
  • Improvements:
  • [core/layout] Add offset and origin constraints
  • [core/textlayout] Add 'singleline' option, compute minimum size
  • [gfx] Add Particles:getNearestParticle call
  • [library/luashader] Support nested functions and more code constructs
  • Fixes:
  • [ios] Make APNS code disabled by default, to avoid appstore warning about APNS not enabled
  • [html5] Fix test in JS code for UI, call hide after event is dispatched
  • [plugin/share] share_path files was missing
  • [library/3dbase] Check for proper GLSL extension before enabling shadows
  • [textlayout] fix minimum size computing
  • [backend] Using SYS_CONST_TIME was leading to crashes
  • [export/android] Min target SDK is now 29
  • [library] Update luashader library to support more functions and code sequences

New in Gideros 2020.7.1 (Jul 23, 2020)

  • Improvements:
  • [core] add Sprite:getDrawCount diagnostic call
  • [android] Improve rich text editing support
  • [export/android] Raise default SDK to 28 (required by google store for AAB)
  • Fixes:
  • [studio] Load project file as UTF-8
  • [ios] Change orientation handling on iOS
  • [html] Fix TextInputDialog with empty default text
  • [ios] Report correct orientation to iOS
  • [uwp] Fix DX11 rendering engine (issue with pixel shader constants)
  • [uwp/audio] Expand sound buffer if needed instead of crashing
  • [html5] skip event processing when dialogs are shown
  • [html5] update dialogs style
  • [plugin/firebase] Include in Gideros Distribution
  • [plugin/share] Fix iOS code
  • [plugin/share] Fix Android code (allow sharing of images)
  • [plugin/camera] Fix orientation issue on iOS when app is in landscape + prepare for Metal

New in Gideros 2020.7 (Jul 23, 2020)

  • New features:
  • [library] A library is provided to allow writing shaders in lua, in a platform independent way
  • [plugin/chroma] Add Chroma plugin by @SinisterSoft
  • [plugin/share] Add share plugin (Android/iOS)
  • Improvements:
  • [core/layout] Allow anchoring by floating point amount
  • [core/layout] Layout now accept cellSpacing parameter
  • [core/input] Support F1-F12 keys (on QT)
  • [core/object] Core.class now accepts a destructor has third arg
  • [export/android] Migrate to androidX
  • [export/android] Update gradle and build tools
  • [plugin/lfs] Upgrade to 1.6.3, add unicode support for windows, report AHS flags for windows
  • Fixes:
  • [core/text] Improve tab handling
  • [core/text] Use the previous separator length and not the current one when computing current line width
  • [core/text] Fix reporting of minimum size for empty textfields (for layout)
  • [core/layout] Support zero sized sprites
  • [core/sprite] hitTestPoint and related functions shouldn't return true if Sprite isn't on screen
  • [export/uwp] Fix shader uniforms initialization, reduce Win10 SDK minimum version
  • [export/html5] Support UrlLoader PUT with data
  • [export/android] Ignore exception on buffer based text input
  • [plugin/map] Replace deprecated call
  • [plugin/native] Normalize class names for android
  • [plugin/threads] Fix build for Win32

New in Gideros 2020.5.1 (Jun 7, 2020)

  • New features:
  • [gfx] TextField Layout: add alignx and aligny parameters
  • [plugin/gsfxr] UWP port
  • Fixes:
  • [plugin/ads] Fix gplugin file
  • [player] Fix Always on top functionnality
  • [gfx] Don't rely on rt:clear() honoring the clipping
  • [xmp] Fix file loading random errors
  • [uwp] Fix alpha blending issues
  • [uwp] Avoid throwing an exception on player probing
  • [dx11/shaders] Don't discard pixels for plain color shaders

New in Gideros 2020.5 (May 27, 2020)

  • New features:
  • [uwp] Now supporting Xbox One platform
  • [plugin/controller] Support UWP raw controllers
  • [plugin/controller] Support HTML5
  • Enhancements:
  • [plugin/controller] report hardware ids on windows
  • [plugin/fastnoise] Merge recent additions by @Rraptor
  • [uwp] Migrate to VS2019/Runtime v142
  • [studio] Upgrade to Qt 5.14.2
  • [ui/export] Gideros can read lua files and infer noexec and dependencies from tags in the file
  • [examples] Add controller plugin demo
  • Fixes:
  • [plugin/controller] Fix name reporting on win/html
  • [ios/require] Include a default NSLocation message if GPS isn't used
  • [ios] Fixes for Metal (liquidfun particle shader, RenderTarget upside down, RenderTarget commit)
  • [export/fbig] Load Instant library before gideros code
  • Removals:
  • [plugin/ads] Removal of UWP/WinRT Ads support due to Microsoft discontinuing its Ad SDK

New in Gideros 2020.2 (Feb 11, 2020)

  • New features:
  • [core] Stream mode on UrlLoader
  • [core] New Buffer object
  • [sample] Add Shoutcast example
  • Improvements:
  • [android] Improved heading recovery
  • [ios] Use internal MP3 player
  • [plugin/reactphysics3d] More bindings
  • Fixes:
  • [core] Fix resolution handling
  • [pi] Remove QT code from native Pi sources
  • [plugin/reactphysics3d] Fix joints creation
  • [html5] Fix uncompressed export
  • [gfx/font] Fix uninitialized BG on TTBM fonts
  • [installer/win] Fix doc links
  • [lib] Fix objloader
  • [plugin/lfs] Querying drives isn't allowed on UWP

New in Gideros 2019.12 (Jan 7, 2020)

  • New features:
  • [Core] Allow instanced rendering on Meshes
  • [plugin] Add fastnoise plugin by @MultiPain
  • Improvements:
  • [core] Add accuracy and source to geolocation events
  • [core] Report magnetic X,Y,Z values in Geolocation heading event
  • [core/gfx] Use GL ES 3/ WebGL 2 is available
  • [core/Path2D] Allow gradients in setFillColor
  • [ui/examples] Rework 3D exemples, remove cubemap as it doesn't work anymore
  • [examples] Add 3D animation
  • [examples] Add instancing demo
  • [ios/metal] General improvements and support instancing+depth textures
  • [html5] Update to emscripten upstream, switch to WASM compltely as a consequence
  • Fixes:
  • [studio] Fix dependency graph being lost
  • [studio] Fix newly linked directories leading to file I/O issues
  • [core/fonts] Fix text layouts positionning, add more options
  • [uwp] run open url on UI thread
  • [android] Allow reads from http connections
  • [android] Possible fix for OpenSl crash (#450, #480)
  • [android] Only comment out uses-sdk for AAB
  • [ios/metal] Don't clear error log before displaying
  • [ios/metal] inline shaders functions shall not be called main: use vmain and fmain instead

New in Gideros 2019.10 (Oct 10, 2019)

  • New features:
  • [plugin/reactphysics3d] Integrate ReactPhysics3D physics and collision engine
  • Improvements:
  • [core] Support rendering to depth texture
  • [plugin/ogg] Add opus decoding support
  • [plugin/gmedia] Update for Android
  • Fixes:
  • [core] Minor but annoying issues fixed in layout system
  • [core] Fix 3D rendering matrices handling in viewport
  • [android] Various minor fixes (causing rare crashes)

New in Gideros 2019.9 (Sep 4, 2019)

  • New features:
  • [core] Manage platform permissions from lua (android only currently)
  • [core] Handle 9-patch images in Pixel
  • [core] Allow to set stopPropagation on a sprite
  • Improvements:
  • [studio] Add themes contributed by @oleg, fix MetroDark (by @mokalux)
  • [core] Improve layout functionnality: fixes, more options, can now force layout and get more detailed results
  • [core] Allow to pass a function to Core.class to change superclass args
  • [android] Use official Apache HTTP Client library + log errors
  • Fixes:
  • [ios] Fix metal rendering issue
  • [html5] Ignore PNG related warning
  • [html5] Fix possible floating point issues
  • [fbig] Fix some API calls and update to 6.3

New in Gideros 2019.5 (May 23, 2019)

  • New features:
  • [plugin/harfbuzz] Support for harfbuzz font shaping library
  • [core/qt] Add application:getKeyboardModifiers()
  • [player] Add screenshot shortcut (F12)
  • Enhancements:
  • [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

New in Gideros 2019.4 (May 23, 2019)

  • Enhancements:
  • [gfx] add Particles:scaleParticles() API
  • [core] support aes 192 and 256
  • [android] Optionaly deny backups
  • [html5] Improve error handling
  • [plugins] Add virtualpad
  • Fixes:
  • [gfx] Fix particles allocation
  • [ios] Don't compile metal shaders in debug mode
  • [plugin/ogg] Ogg plugin wasn't fully compiled by default
  • [gfx/opengl] More error checking/safe guards

New in Gideros 2019.2.1 (Mar 13, 2019)

  • [uwp] Fix audio libs for UWP/x64 compat
  • [ios] Add metal lib to project by default
  • [html5] Compress GApp and fix loading progress
  • [gfx] Improve addParticle performance for bulk additions
  • [opengl] Check shader existence before detaching
  • [html5] Don't export loading icon for FBInstant (it isn't shown)
  • [gfx] Improve Layout/setDimension performance
  • [gfx] Fix TTFont using random resolution (Fix Invalid Font Size issue)

New in Gideros 2019.2 (Mar 13, 2019)

  • New features:
  • [core] Support Apple Metal backend for iOS
  • [export] Drop WiNRT for UWP (universal windows platform)
  • Improvements:
  • [gfx] Allow to specify scale when building a texture from raw data
  • [lua] Add string.encodeValue and string.decodeValue, used to encode/decode int and float values to byte sequences
  • Fixes:
  • [core] Allow Core.asyncCall to be reentrant
  • [core] Fix Sprite:getChildrenAtPoint()
  • [core] ensure async calls runs at least once per frame
  • [export/osx] Set minimum supported OSX version
  • [export/apk] Fix absolute/relative path mismatch for key store
  • [plugin/steam] Strip x86 code from steam lib on OSX
  • [plugin/bump] Fix querySegment functions
  • [plugin/gaming] Remove Google Drive dependency (save games are no longer available)
  • [plugin/gaming] Fix iOS player scope (Fix #462)

New in Gideros 2019.1 (Mar 13, 2019)

  • New features:
  • [core] Introduce Sprite:getChildrenFromPoint()
  • [gfx] Add CompositeFont object type
  • [gfx] Allow alpha in textfield
  • Enhancements:
  • [html5] Reduce package size
  • [studio] Make paths relative in project file
  • [export] Probe android path from Windows Registry
  • Fixes:
  • [studio] Fix profiler report count field truncated
  • [core] Fix layout issue
  • [core] Ignore non constrained sprites from layout
  • [megacool] Fix megacool init

New in Gideros 2018.12 (Dec 14, 2018)

  • New features:
  • [studio] Introduce fs-backed folders
  • [html5] Experimental wasm, compress plugins
  • [plugin/luamidi] luamidi for desktop and win32
  • [studio] integrate profiler
  • Improvements:
  • [studio] Add multi-cursor editing
  • [studio] Add shortcuts for debugger (Fix #440)
  • [texturepacker] Associate file type on winows
  • [core] Layout now takes a parameter to enable equally sized cells
  • [core] Add a method to path 2D to compute location of points of the path
  • [core] Allow transparent canvas (for HTML)
  • [examples] Added Spine animation example
  • [examples] Added benchmark example using Core.Profiler
  • [android] Enable multidex
  • [android] Update google services min version to 16.0.0
  • [android] APK are now always signed, using a debug key if no keystore is provided
  • [plugin/camera] add availability check
  • [plugin/map] Integrate @paulh native map plugin
  • [plugin/megacool] Update megacool plugin to lib 3.3.7, added setSharingText api command
  • [plugin/spine] New API calls (cf #451)
  • [plugin/threads] Add luasocket, lfs and json.
  • [plugin/threads] Add configurable exit delay
  • Fixes:
  • [studio] Save outline settings (Fix #446)
  • [studio] Fix windows VSYNC detection
  • [core] Fix broken shaders for color transform
  • [iOS] Minimum SDK is now 8.0 (Fix #448)
  • [ios] Apply scalefactor for exported apps (Should fix #442)
  • [html5] Fix sound enabling on iOS
  • [html5] Fix background colour on export splash screen
  • [plugin/bump] Fix new object allocation system
  • [plugin/bump] Fix bounce and slide collision return values
  • [plugin/camera] Fix random crash on start on QT
  • [plugin/iab] Reissue failed consumes
  • [plugin/liquidfun] Turn off neon has it fails on some platforms
  • [plugin/megacool] Detect size change and reinit (missing deinit part)
  • [plugin/ogg] Fix file streaming issue causing premature end of audio stream (Fix #437)

New in Gideros 2018.10 (Dec 14, 2018)

  • New features:
  • [studio] Add debugging options (breakpoints/stepping/inspect variables)
  • [plugin/Threads] Introduce true threads plugin
  • [plugin/megacool] Add megacool support (Android only)
  • Enhancements:
  • [studio] Improve auto completion proposals with icons
  • [studio] Update icons for HiDPI
  • [studio] Add preferences dialog
  • [android] Use GL ES 3 if available
  • [plugin/lfs] Add a lfs.drives() call to get a list of possible drives (win essentially)
  • [plugin/controller] Allow to control deadzone (Controller.setDeadZone(float)
  • [plugin/ads] update unity and applovin
  • Fixes:
  • [gfx] Avoid multiplying texture scale factor two times
  • [gfx] Fix TextureRegion:getRegion() parameter check
  • [plugin/ogg] Fix looping sound issue
  • [core] Fix Particles.setParticleSpeed

New in Gideros 2018.9 (Sep 10, 2018)

  • New features:
  • [core] document layout system and add missing related constants
  • [studio] Introduce addons system, with GSFXR sound editor addon
  • [studio] Add more examples (gestures, async tasks, addons)
  • [plugin/spine] Native version of spine plugin
  • Enhancements:
  • [studio] Add fullscreen mode (Settings/F11)
  • [android] Update project to recent versions of AS/Tools
  • [android] Allow to remove ARM libs
  • [android] Add an option to timestamp the APK file
  • [plugin/gaming] Update gaming plugin to work with recent APIs and integrate googleplay plugin functionnality
  • Fixes:
  • [core] Fix compatibility of some classes with fake threads
  • [android] fix a no response issue after unlock the screen on some device
  • [html5] Hides highlight that shows on iPhone 6+ when using a browser and Gideros content exported to HTML5.
  • [html5] request an alpha capable buffer
  • [fbinstant] Correct API typo with createAsync
  • [plugin/ads/admob] Fix for bug outlined here: #394
  • [plugin/cbump] Fix issues #404 & #405

New in Gideros 2018.6.3 (Aug 9, 2018)

  • Enhancements:
  • [gfx] Support Bearing command in SVG Paths
  • [gfx] Try all image formats as fallback when type cannot be determined by file name
  • [core] Add getScale() to TextureRegion, and add a parameter to get @1 sizes from getRegion()
  • Fixes:
  • [core] Fix a crash condition when using rendertarget in APPLICATION_EXIT on iOS
  • [core] Fix a crash case with empty sound files
  • [plugin/camera] Fix a crash when camera access is denied
  • [plugin/ogg] Fix end of files not played

New in Gideros 2018.6.3 Pre-release (Aug 4, 2018)

  • Enhancements:
  • [gfx] Support Bearing command in SVG Paths
  • [gfx] Try all image formats as fallback when type cannot be determined by file name
  • [core] Add getScale() to TextureRegion, and add a parameter to get @1 sizes from getRegion()
  • Fixes:
  • [core] Fix a crash condition when using rendertarget in APPLICATION_EXIT on iOS
  • [core] Fix a crash case with empty sound files
  • [plugin/camera] Fix a crash when camera access is denied
  • [plugin/ogg] Fix end of files not played

New in Gideros 2018.6.2 (Jul 4, 2018)

  • Enhancements:
  • [plugin/ogg] Implement setPosition and getLength
  • [player] Add 75% zoom option (Fix #200)
  • Fixes:
  • [plugin/camera] Fix selection routine for Android
  • [plugin/ogg] Fix output file name case for html5
  • [ui] Fix line focusing from output pane click (Fix #327)
  • [desktop] Forward shortcuts to gideros (Fix #382)
  • [desktop] Use VSYNC only if it was explicitly requested
  • [desktop] Properly handle all kind of dialog dismiss (Fix #274)
  • [android] Check audio context validity before attempting to suspend/resume
  • [desktop] Reset mouse button known state on suspend (Fix #347)
  • [player] Fix settings save and iPhone X res tick (Fix #380,#381)
  • [ios] Allow delete key repeating in soft keyboard

New in Gideros 2018.6.1 (Jun 21, 2018)

  • Enhancements:
  • [core] add a removeAllListeners() call to EventDispatchers (incl. Spites)
  • Fixes:
  • FBInstant Update getConnectPlayerEntriesAsync to getConnectedPlayerEntriesAsync to match with document and FB Instant sdk
  • Documented "size" parameter to b2.ParticleSystem:setTexture.
  • [core] Fix TTFont crash and TTFont recoloring
  • [core] Fix random crash on exported desktop app
  • [plugins] Make liquidfun a default plugin for Android
  • [core] Include scale factor into outline size

New in Gideros 2018.6 (Jun 21, 2018)

  • New features:
  • [core] TTFont now support an outline size parameter, which allow to create fonts with a thicker border
  • [core] Support external launch from custom URL schemes
  • Enhancements:
  • [fbig] Update support and docs to 6.2
  • [core] Remove box2d from core gideros (use liquidfun plugin instead)
  • [android] Switch to NDK r17, min SDK is now 14 and armeabi/mips are no longer supported/built
  • [plugin/microphone] Allow usage of other file formats beside wav
  • [plugin/ogg] Allow vorbis encoding when microphone is also used
  • [android] Fixed x64 enable and added x86 disable
  • Fixes:
  • [plugin/microphone] Ask for permission on android 23+ (async)
  • [plugin/camera] Ask for permission for Android 23+
  • [plugin/gaming] fix ptr alignment error on some methods
  • [plugin/ads] updated ads plugin: Unity 2.2.1, Chartboost 7.2.0, AppLovin 8.0.1
  • [doc] Various corrections
  • [plugin/microphone] Ask usage description for iOS

New in Gideros 2018.3.3 (May 10, 2018)

  • Fixes:
  • [html5] Fix iOS 11.3 scroll issue, Fix clip issue and canvas sizing
  • [core] Track font resets due to display change and correctly reinit associated textfields
  • [core] Handle exceptions in fake threads (Fix #368)
  • [qt] ensure context is current before trigger suspend/resume events (fix subsequent rendering issue)
  • [gfx] Pixel: Fix #371 and honor alpha values when making gradients with angles
  • Enhancements:
  • [core/font] More layout ref options

New in Gideros 2018.3.2 (Apr 5, 2018)

  • Enhancements:
  • [core] Improve textfield formatting by allowing long words to be optionnaly cut.
  • Fixes:
  • [gfx/qt] Account for framebuffer changes in resize
  • [core] Report speed and course in geolocation events
  • [core] Ensure file writes are flushed before deiniting gfvs, and that no call to write is made after.
  • [export/apk] Don't pass -t option when installing APK, as some phones refuse installation if that is set
  • [plugin] fix loading on iOS for ogg and gsfxr.
  • [desktop] Reset context of screen creation/show in case it changed
  • [plugin/steam] Add safeguards for getCurrentGameLanguage call
  • [export] Fix automatic inclusion of JSON for FBInstant

New in Gideros 2018.3.1 (Mar 29, 2018)

  • Enhancements:
  • [html5] Rework compression to generate square images (may ease loading)
  • [html5] Better track loading progress (in compressed mode)
  • [fbinstant] Move symbol file out of the package dir to save a few hundred kB
  • [ui/export] Add an option to exclude files from final package (for html5)
  • [plugin/steam] New getCurrentGameLanguage call
  • [fbinstant]: Update to 6.1 API
  • Fixes:
  • [gfx] Fix sprite hierarchy transform (Fix #363, Fix #364)
  • [gfx] Fix TTBMtextField wrong coloring when changing texts
  • [fbinstant] Fixed leaderboards corrected a couple of typos and a local error to fix leaderboards.
  • [fbinstant] Fixed examples Some of the leaderboard examples were incorrect
  • [export/apk] Fix Android SDK detection routine
  • [plugin/gsfxr] Fix for Html5 (file name case issue)

New in Gideros 2018.3 (Mar 16, 2018)

  • Facebook Instant Games:
  • This release brings support for the newest Facebook Instant Games platform
  • Other new features:
  • Procedural sound effects plugin (Thanks to Paul Carter)
  • Steam plugin (Thanks to @totebo)
  • Enhancements:
  • [html5] Various speed improvements
  • [graphics] Rendertarget accepts an autoscale argument to match screen resolution
  • [desktop] Optional VSYNC

New in Gideros 2018.2.1 (Feb 12, 2018)

  • Fixes:
  • Add MOUSE_HOVER to the list of input events for a sprite
  • [bump] remove extraneous check on querySegment functions

New in Gideros 2018.2 (Feb 9, 2018)

  • Enhancements:
  • TileMap cells can now have a colour tint and alpha setting (per tile!!!)
  • TileMap new setTexture command.
  • TileMap new setRepeat command.
  • Requires plugin now has a switch for tilt games (no rotation mode)
  • [core] Handle various new keycodes
  • [android] New splash screen code
  • Fixes:
  • [gps] Honor GPS threshold, fix geolocation source, more binders
  • [doc] Updated movieclip doc
  • [plugin/iab] Correct plugin script
  • [export] Show button disabled until export complete.

New in Gideros 2018.1.1 (Jan 22, 2018)

  • Fixes:
  • [export] Fix macros failing to compile with luac due to libraries missing
  • [doc] Fix Shader doc
  • [plugin/liquidfun] Fix particle rendering and add size setting
  • [android] Fix crashes to due non reentrant mutex
  • [texturepacker] Add common shortcuts

New in Gideros 2018.1 (Jan 6, 2018)

  • New features:
  • New Shader.getProperties() call allows to get technical details about graphics engine (version and limitations)
  • Allow to disable the live syntax checker in studio
  • Fixes:
  • Controller plugin fix - check for null
  • Fix particle shader to cope with transforms
  • Fix background location mechanism
  • Fix 'play' shortcuts in studio
  • Disallow adding files with the same name in the same folder to the project
  • Fix default iOS player not compiling
  • Fix macro buffer allocation too short in lua (causing crashes)
  • Fire APPLICATION_RESIZE on Android

New in Gideros 2017.11.3 (Dec 7, 2017)

  • Fixes:
  • [core] Fix monospaced font texts alignment
  • [export] Improve/Fix APK export on OSX
  • [plugin/gmedia] disable system calls on iOS
  • Enhancements:
  • [core] handling image scaling for tilemaps
  • [core] Add getLogicalBounds method
  • [core] Add getDeviceSafeArea method
  • [export] Use hi-res gideros icons by default
  • [ios] iPhone X compatibility
  • [plugin/liquidfun] Speed boost on NEON platforms

New in Gideros 2017.11.2 (Nov 18, 2017)

  • [studio] Fix outline panel related crashes and wrong behaviors
  • [core] application:getAppId() #345
  • [core] application:getDeviceSafeArea() #346
  • [ios] Attempt to fix UI called on secondary thread (#344)

New in Gideros 2017.11.1 (Nov 18, 2017)

  • Enhancements:
  • [studio] Outline pane
  • [lua] Accept e in strings
  • [core] Support color tag in textfields
  • [ios] Output lua print() to NSLog
  • Fixes:
  • [studio] Check for cancel in add directory content
  • [core] Fix Font redraw
  • [plugin/ogg] Support basic seek

New in Gideros 2017.10 (Oct 19, 2017)

  • New features:
  • [core] Add text layout with automatic wrap support to Font/TextField
  • [plugin/ogg] Ogg vorbis and Theora plugin (all platforms except WinRT)
  • Enhancements:
  • [lua] Support require with directory only (and load init.lua)
  • [plugin/win32] Add export rules for most win32 plugins
  • [plugin/controller] Update controller for iOS
  • [ios] Add 1024x1024 icon
  • [ios] Enable portrait upside down by default
  • [ios] accept all device orientations
  • [win32] Add multiscreen support
  • [html5] add focus on click (#333)
  • [core] Allow non power of 2 textures
  • [studio/export] Allow for LUA based plugins
  • [texturepacker] Warn about problematic files and export sensible file list (Fix #340)
  • Fixes:
  • [plugin/camera] Fix orientation issues (#329)
  • [android] Fix crash on log
  • [win32] fix setFullScreen (#281)
  • [html5] register embind bindings only once in plugins
  • [core] Release textures in Pixel's destructor

New in Gideros 2017.9 (Oct 6, 2017)

  • New features:
  • Consistent random number generator (Core.random()/Core.randomSeed())
  • Automatic multi texture glyph caching for TTFont (by specifying an empty cache text)
  • Multi file TTFonts
  • Enhancements:
  • Various plugin updates and enhancements (gaming, flurry, iab)
  • Fixes:
  • Fix multi-touch handling on player/desktop
  • Use a full sized canvas on WinRT
  • Fix plugins compatibility for AppleTV

New in Gideros 2017.8.2 (Sep 9, 2017)

  • Fixes:
  • Screen:setPosition() would hand app
  • Color shaders weren't taking color transform into account
  • Sprite:setStencilOperation() was not functioning
  • Fix/Improve camera plugin to be consistent across all targets
  • Fix Vungle Ads on iOS

New in Gideros 2017.8.1 (Sep 9, 2017)

  • Fixes:
  • Plugin Camera was rendered upside down on OSX
  • OSX Player and desktop export were crashing on exit
  • Click on file name on output panel in studio would lead to 'file not found' error

New in Gideros 2017.8 (Aug 28, 2017)

  • New features:
  • Native port of bump.lua as a plugin
  • Multi screen/window support (QT only for now)
  • Integrated lua profiler support (see Core.profiler* functions)
  • StoreReview plugin for iOS now bundled with gideros
  • Text To Speech plugin for iOS and Android
  • Enhancements:
  • Plugins now appear in the project tree in studio and are selectable/configurable from there
  • Camera plugin now work on QT (player and desktop exports)
  • Reduce memory footprint of HTML5 export during load phase
  • Gaming plugin now checks and reports license validity
  • Key prompts (during APK signing) cached at studio side for session lifetime
  • Ads/Vungle auto integration and update for Android and iOS
  • Fixes:
  • WinRT Desktop handling of HiDPI screen fixed
  • Desktop export for MacOS now correctly signs the packages for app store submission

New in Gideros 2017.6.3 (Jul 25, 2017)

  • Fixes:
  • Android EGL configuration chooser now filters out ES 1.0 configurations (avoid crashes on some devices)
  • fix bug #322
  • Enhancements:
  • Update gaming/Gamekit for ios (switch to non deprecated iOS apis)
  • Add plugins iOS scripts for gaming/gamekit, applovin, chartboost and admob

New in Gideros 2017.6.2 (Jul 14, 2017)

  • Fix iOS plugins export scripts
  • Fix Mac Store export signing

New in Gideros 2017.6.1 (Jul 14, 2017)

  • Fix export scripts for Android.

New in Gideros 2017.6 (Jul 10, 2017)

  • ENHANCEMENTS:
  • General:
  • Show git hash of build in about dialog
  • Better handle HiDPI screens
  • Implement reverse playing in MovieClip
  • Expose stencil API
  • Improve tilemap handling of filtered textures
  • Export:
  • iOS: Allow to specify schemes used with openUrl() so that they are exported into info.plist (in require plugin)
  • OSX: Allow speciying signing identities
  • HTML5:
  • Support soundtrack playing through XMP
  • Android:
  • Build for all archs by default including 64 bits
  • Use a custom (and hopefully better) config chooser for EGL
  • Win32:
  • Handle mouse wheel
  • Plugins:
  • iOS: Migrate most of basic plugins
  • Android: Improve/ease permission handling in plugins
  • Ads: Add rewarded video for admob
  • Ads: Export hasConnection() to lua
  • Ads: Allow to specify orientation
  • Ads: Update applovin lib for android
  • Ads: Support interstitials in pubcenter (WinRT)
  • FIXES:
  • WinRT:
  • Attempt to fix dpi issues on 8.1 desktop
  • Fix crash when trying to use XAML from lua in main chunk
  • Fix version numbering on export
  • Fix Particle sprite
  • HTML5:
  • *Fix Event.KEY_CHARS handling
  • QT:
  • Fix path retaining in player and desktop app
  • iOS:
  • Fix DPI detection routine

New in Gideros 2017.4.1 (Apr 30, 2017)

  • Note:
  • If you are making your own plugin, be sure to change your Application.mk so that it says:
  • APP_STL := c++_static
  • instead of:
  • APP_STL := gnustl_static
  • to make it compatible with this gideros version.
  • Improvements:
  • Use VBO more wisely
  • Add a method to control VBO usage (Shader.enableVBO())
  • Improve getFile/saveFile in media plugin for QT
  • gdrbridge now accepts a port in addition to ip in play command
  • Fixes:
  • Fix sound not playing on Android/x86
  • Fix gdrbridge/gdrdeamon connection

New in Gideros 2017.4 (Apr 25, 2017)

  • General:
  • Support alpha only textures for fonts to reduce memory requirement
  • Switch to freetype 2.7.1 to improve font rendering
  • Allow numerical value for TTFont smoothing
  • Propagate mouse buttons into touch events and add modifiers
  • Studio:
  • Sort content of .gproj file to ease git/svn merging
  • Export system:
  • Do not encrypt mp3 on iOS and android (background player)
  • WinRT/UWP:
  • WinRT export is now XAML based
  • Support pubcenter ads (microsoft advertising)
  • Plugin scripts for all supported plugins
  • Show/Hide virtual keyboard on winrt
  • HTML5:
  • Player mode support
  • Allow to post gideros events from javascript side
  • Implement getLanguage()
  • Allow packed and original versions: tradeoff between size and memory requirements
  • Allow unencrypted but host locked scripts to share the same key
  • Display app errors in HTML
  • Plugins:
  • Media: Add 'getFile' and 'saveFile' methods for desktop
  • Require: Add support for 2.1 screens
  • Fixes:
  • Plugin/Camera: Fix cleanup for iOS
  • Plugin/Microphone: fix initialisation on Android

New in Gideros 2017.3.1 (Mar 9, 2017)

  • This is a bugfix release for 2017.3.
  • This release fixes lua macro usage across files in Gideros Player(s).

New in Gideros 2017.3 (Mar 7, 2017)

  • NEW PLUGINS:
  • Kiip provider for Android/iOS
  • ENHANCEMENTS:
  • General:
  • Add MovieClip:getFrame (#214)
  • No longer insert any plugin by default on Android. Be sure to activate the ones you need in Gideros Studio
  • UWP: Remove dependency to SQLite extension to ease deployment to windows phone
  • Studio:
  • Make wrap on search default and saves find settings (fix #306)
  • Allow to disable encryption on a file by file basis
  • Export system:
  • Make APK default android export, and mark former one as deprecated
  • Add possibility to load generated APK to connected device
  • Do not ask store password if no key alias chosen in APK/Android
  • Pack all compiled and run files into a single one, fix use of macro across files
  • Encrypt all files types by default when encryption enabled
  • LUA:
  • Macro fixes and new "include" directive:
  • Additional "include" directive can be used as include "filename" to load content of the file at the compilation step, for example:
  • include "macro_functions"
  • will try to open the file "macro_functions", load it's content and paste it at the place of include directive. Of course, any content of any file can be included this way, just like in C preprocessor.
  • New max and min operators:
  • Use for max and >< for min.
  • eg a=bc -- make a = the larger of b or c
  • a=b>pi -- d will be set to 180
  • a=^

New in Gideros 2017.2 (Feb 15, 2017)

  • Improvements:
  • Generate Java stack trace from lua crashes for bug reports on android
  • Differentiate user plugins from standard plugins
  • Avoid showing passwords in plaintext during export
  • Improve Facebook plugin integration on iOS
  • Add show button on export process window to easily navigate to the output directory
  • Add getSize() API on Sprite
  • Bug fixes:
  • Fix key handling crash on iOS
  • Fix camera plugin for iOS
  • Fix Movieclip reference holding
  • Detach children from parent when parent is destroyed

New in Gideros 2016.12.1 (Jan 24, 2017)

  • Fixes:
  • Fix MovieClip init which caused crash
  • Fix splash screen resizing and background color usage
  • Fix heading reporting no longer works after a stop() on Android
  • Fix APK generation script
  • Fix iOS app name setting not used
  • Fix crash when no external storage exists on Android
  • Improvements:
  • HTML5: Reduce size of JS files
  • Additions:
  • Add Show in Finder feature on a file's context menu
  • Add scale mode options for splash image

New in Gideros 2016.12 (Dec 19, 2016)

  • NEW:
  • Beginnings of XML test code for Microsoft Ads (Windows RT/UWP)
  • Requires plugin: This specifies requirements for the manifest and other slight adjustments
  • Lua XML bridge for plugin system with ios export lib in Lua
  • Plugin system download third party libs automatically (cached)
  • Full orientation option for apps that are both portrait and landscape
  • App Name in project properties so it can be different than the project name
  • IMPROVEMENTS:
  • Camera plugin: Added mandatory option
  • Camera plugin: Added usage description (ios)
  • Gaming plugin: Updated to latest Google and Amazon libs
  • IAB plugin: Updated to latest Google and Amazon libs and helpers
  • Apk and Android Studio export: Now fully exports Admob (untested), AppLovin and Chartboost for Ads plugin
  • Apk and Android Studio export: Now fully exports Google Play and Amazon Game Circle for Gaming plugin
  • Added information to Android manifest for Android and Fire TV compatibility
  • Apk and Android Studio export: Now fully exports Google and Amazon payment systems for IAB plugin
  • No encryption if not required
  • Apk and Android Studio export: Now fully exports Flurry plugin
  • Apk and Android Studio export: Now fully exports Controller plugin
  • Permission to write to external storage now only asked for if player
  • Android apps will now prefer to be installed on external memory (Google and Amazon preferred method)
  • BUG FIXES:
  • AppLovin ads plugin: needed onRefresh()
  • Particle init time reference wasn't set to zero on init
  • Renamed TV icon to TV Banner
  • Fixed studio crash if you tinkered with plugin settings too much
  • Fixed lua context issues
  • Fixed iab crash due to nil string
  • Icon, splash and banner images were not being compressed
  • Bitcode was being exported for ios simulator libs
  • Fixed MovieClip reference holding
  • Fixed typo in facebook plugin

New in Gideros 2016.10 (Nov 13, 2016)

  • NEW:
  • Box2D particle contact events: "BEGIN_CONTACT_PARTICLE", "END_CONTACT_PARTICLE", "BEGIN_CONTACT_PARTICLE2", "END_CONTACT_PARTICLE2"
  • Box2D ParticleSystem methods:
  • destroyParticles
  • getParticleCount
  • getParticleGroupList
  • containsParticle
  • Viewport:lookAt(eyex, eyey, eyez, targetx, targety, targetz, upx, upy, upz) -- set up the transform matrix of this viewport taking eye and target positions and up direction as arguments
  • JS.eval(code) -- execute arbitrary Javascript code on HTML5 platform
  • Mesh.clearTexture([slot=0]) -- clear texture
  • Matrix:invert()
  • Matrix:transformPoint()
  • Particles methods:
  • setParticleTag(i, tag) -- set the tag associated to the given particle
  • getParticleTag(i) -- returns the tag associated to the given particle
  • setPaused(isPaused) -- pause or resume this particle system
  • isPaused() -- returns wether this particle system is paused or not
  • getParticles([set, tag]) -- retrieve particles states of this system
  • Sprite methods:
  • setSkewX(kx), getSkewX(), setSkewY(ky), getSkewY(), setSkew(kx, ky), getSkew() -- new skew (aka "shear") transformation effect, kx and ky are numbers in -90..+90 degrees range
  • getAnchorPoint(), setAnchorPoint(ax, ay) -- to relatively set Sprite center position
  • getClip() --> x, y, w, h
  • Sprite:getWidth(true), Sprite:getHeight(true) -- to get sprite width and height without transformations
  • Sprite.setBlendMode(src, dst) -- support of blend functions: Sprite.ZERO, Sprite.ONE, Sprite.SRC_COLOR, Sprite.ONE_MINUS_SRC_COLOR, Sprite.DST_COLOR, Sprite.ONE_MINUS_DST_COLOR, Sprite.SRC_ALPHA, Sprite.ONE_MINUS_SRC_ALPHA, Sprite.DST_ALPHA, Sprite.ONE_MINUS_DST_ALPHA, Sprite.SRC_ALPHA_SATURATE
  • application:setKeyboardVisibility(visible) -- Android and iOS support native soft keyboard, returns true if platform has soft keyboard
  • Plugin (ads): Unity framework and gplugin script (Unity only)
  • Pixel methods allow to replace Bitmap class and more:
  • new(texture, [x = 0], [y = 0], [width = texture width], [height = texture height], [sx = 1], [sy = 1]) -- additional constructor to create Pixel with texture
  • setTexture([texture], [slot], [matrix]) -- set texture and apply matrix to that texture
  • setTextureMatrix(matrix) -- to apply matrix to it's texture
  • setTexturePosition(x, y)
  • getTexturePosition() --> x, y
  • setTextureScale(sx, sy)
  • getTextureScale() --> sx, sy
  • getDimensions() --> width, height
  • IMPROVEMENTS:
  • new camera format detection for Android Camera plugin
  • loading errors checking on GLSL shader creation
  • Mesh.setTexture(texture, [slot=0]) -- to set additional texture for shaders
  • Shader.TIMER constant to allow passing os.timer() value to shaders without lua intervention
  • Path2D:setSvgPath(...) accepts multiple string/number arguments and concatenates them into one string
  • ads plugin: updatedadmob SDK and APIs, interstitial support preload and refresh when closed and fixed setAlignment issue.
  • improved plugin export commands
  • BUGFIXES:
  • Mesh.getIndex correctly checks for maximum number of indexes
  • events are not dispatched to garbage collected object
  • updated APK export for splash screen disable/bgcolor
  • correct path to 'All plugins' folder (Fix plugins not applied on Mac)
  • Sound.setListenerPosition fix
  • UrlLoader: PUT and POST correctly implemented
  • Gideros Studio: fixed sendFile check to print correct status
  • Fixed timer and particles running while app is suspended
  • gdrexport: fixed filedownloader
  • particles compile on WinRT
  • timer resuming after suspend
  • Mesh with empty arrays on WinRT doesn't crash
  • fixed logcat overflowing and crashing
  • every TextField (with bitmap, cached and uncached fonts) has correct behavior: cached TextField is not blurred at window resize and uncached TextField respects logical scale
  • fixed sample parameter behavior for all TextFields
  • Path2D could crash app
  • EXAMPLES:
  • "Graphics/MapClown" added
  • "Audio/Moving sound" added
  • "3D Horse" updated: lighting added
  • "Hardware/Keyboard" updated: soft keyboard support added

New in Gideros 2016.8.2 (Sep 17, 2016)

  • New features:
  • Added plugin installation for iOS
  • Tab switching by ctrl+tab (or cmd+tab) in gideros studio IDE.
  • Allow exporting player only (to create a new Gideros Player with plugins)
  • Add providing Splash background color
  • Add disabling Splash for Android and HTML
  • Android return device type tv, appliance, car or mobile on getDeviceInfo
  • Add additional win32 plugins on export to match those available for Windows Desktop export
  • Bug fixes:
  • OS X looking for plugins in correct place
  • Fixing memory leaks in shader
  • Fix for cpu time used by openal on suspend (android)
  • Remove old macros from Gideros Studio (macros are automatically activated if you use the @ symbol in Lua code)

New in Gideros 2016.8.1 (Aug 24, 2016)

  • Export features:
  • Android Studio upgraded Gradle version
  • Gideros Studio non blocking export dialog with progress
  • Plugin installer now works with built in exports
  • Added lots of plugin installer scripts for Android (Android Studio, Eclipse, APK exports)
  • Allow providing default app and tv icons that are replaced on export for all supported platforms
  • Allow providing default horizontal and vertical splash images that are replaced on export for all supported platforms
  • Gideros Features:
  • Upgraded to latest OpenAL which improves sound latency especially on Android
  • Shader code can be supplied in-line from Lua
  • Textures can be created from raw pixel data
  • Global frame counter in Core.frameStatistics
  • Core.frameStatistics now returns table method to get shader language
  • TextField parameter for alignment: sample
  • RenderTarget can be saved to file
  • Lua features:
  • Built-in macro support
  • Bitwise operators with new metamethods
  • int64 library
  • Binary and octal number constants
  • print() is sent to logcat
  • Fixes:
  • player connectivity
  • correct requesting Open GL on desktop (due to upgrade to Qt 5.6: previously caused Gideros Player to crash on startup for some users)
  • lua and luac binaries compilation with mingw
  • Particles alpha
  • Particles are now visible after removed
  • Android player check file for null pointer when loading existing projects
  • Timer's behavior to run as set
  • Path2d texture positioning
  • Plugins:
  • [Controller] fixed Moga lib for Android 21
  • [Gaming Google Play] show all leaderboards support
  • [Gaming Google Play] step by step achievements handling on GMS
  • [Gaming Google Play] improved API for achievements
  • [Camera] initial alpha version for drawing camera texture in Gideros

New in Gideros 2016.8 Pre (Aug 18, 2016)

  • Export features:
  • Android Studio upgraded Gradle version
  • Gideros Studio non blocking export dialog with progress
  • Plugin installer now works with built in exports
  • added lots of plugin installer scripts for Android (Android Studio, Eclipse, APK exports)
  • allow providing default app and tv icons that are replaced on export for all supported platforms
  • allow providing default horizontal and vertical splash images that are replaced on export for all supported platforms
  • Gideros Features:
  • shaders code can be supplied in-line from Lua
  • textures can be created from raw pixel data
  • global frame counter in Core.frameStatistics
  • Core.frameStatistics now returns table
  • method to get shader language
  • TextField parameter for alignment: sample
  • RenderTarget can be saved to file
  • Lua features:
  • built-in macro support
  • bitwise operators with new metamethods
  • type metatables powerpatch
  • binary and octal number constants
  • int64 library for 64-bit integers
  • print() is sent to logcat
  • Fixes:
  • player connectivity
  • correct requesting Open GL on desktop
  • lua and luac binaries compilation with mingw
  • particles alpha
  • particles are now visible after removed
  • Android player check file for null pointer when loading existing projects
  • Timer's behavior to run as set
  • Path2d texture positioning
  • Plugins:
  • [Controller] fixed Moga lib for Android 21
  • [Gaming Google Play] show all leaderboards support
  • [Gaming Google Play] step by step achievements handling on GMS
  • [Gaming Google Play] improved API for achievements
  • [Camera] initial alpha version for drawing camera texture in Gideros

New in Gideros 2016.06 (Jun 30, 2016)

  • New features:
  • Introduce a threading system allowing to launch tasks in background
  • New Pixel sprite, a simple and fast rectangular coloured sprite
  • New Particles sprite (alpha), which allows to draw several identical dots or bitmaps with varying colour and orientation
  • Releases now include offline docs
  • New examples
  • Lua 5.1 'universal' bytecode
  • UTF8 string library
  • Improvements:
  • Matrix object promoted to full 4x4 (3D) matrix
  • Matrix has sprite transform functions as well as direct scale/rotate/translate/multiply
  • Pixels can be retrieved from a render target through RenderTarget:getPixels()
  • Win32 target general improvements
  • Shaders constants can now be set on a sprite by sprite basis
  • Viewport can now be used to render 3D scenes with different perspectives
  • Switched to QT 5.6 (fix multi monitor issues with gideros studio)
  • Updated luasockets to 3.0rc1 (for IPv6 access)
  • Fixes:
  • Allow to remove a shader from a Sprite through Sprite:setShader(nil)
  • Fixed concurrency issue in UrlLoader on Android, causing random crashes
  • Fixed Render target clear/clipping
  • Android fixed orientation issue on screen suspend
  • Fixed export complete dialog appears only after export is finished
  • Logical scale now applies to Z axis too
  • HTML5 fix mouse buttons reporting
  • Fixed blur shader example to be GL ES compliant

New in Gideros 2016.04 (Jun 30, 2016)

  • New features:
  • HTML5 export now included in official releases! (thanks to those who funded the Kickstarter campaign!)
  • New keyboard event: EVENT.KEY_CHAR is now triggered on some platforms (QT, HTML5, WinRT) to allow grabbing textual representation of text typed on a physical keyboard.
  • Completely rethought the export system: introduce direct APK export (for Android) and app icon generation from a single visual (on some exports, work in progress)
  • Viewport object (inherits from Sprite): displaying same sprite hierarchy in multiple places, eg for split-screen games.
  • Cryptography: MD5 hash and AES128 encryption primitives
  • Additions:
  • Path2D texture support
  • gdrdaemon: Handle player discovery
  • Fixes:
  • Path2D bounds computation
  • Gideros Studio: Handle player loss (as opposed to discovery)
  • LiquidFun issues

New in Gideros 2015.12 (Jan 19, 2016)

  • Added Path2D class and example project
  • Added CFBundleName for MacOSX export
  • Added app category for MacOSX export
  • Fixed touch pressure scaling (values should be between 0 and 1)
  • Fixed iOS/Apple TV Macros affecting Alert dialogs and other stuff
  • Fixed JNI errors in notification and googleplay Android plugins
  • Fixed crash on exit
  • Fixed iOS notification plugin for iOS8+
  • Fixed Catching lua errors within event handlers for suspend/resume/resize
  • Fixed encryption working in bitcoded apps (ios, tvos)
  • Fixed Windows 10 crash on start
  • Fixed Windows 10 resizing issue
  • Studio console search results are displayed on contrasting color
  • Warning: provided luasocket lib for AppleTV in this release is wrong.

New in Gideros 2015.10 (Jan 11, 2016)

  • Touch pressure and type (560a758)
  • Initial support for AppleTV (5340f4a)
  • Gideros Studio themes (294ed40)
  • GMedia lib fixes (2c083e6, c5f6f75)
  • Gideros Studio uses gdrexport for exporting (fecb53d, ea3ba66)
  • Controller reverting back windows code (30323ee)
  • OSX sign and create package on export (a24fa13)
  • Gideros Studio export allows providing bundle name, version and other needed fields (4bcac38, 7710f3a)
  • Microphone plugin added to build flow (92ceac8)
  • iOS moved to latest XCode and iOS SDKs (92f89ad)
  • iOS 9 allow http requests by default (b492421)
  • iOS use assets catalog for icons (92f89ad)
  • iOS 3D issue (6b13302)
  • IAB interface, updated amazon example (690f5c0)
  • Android Studio replace gradle bundle on export (5d316e5)
  • Lua macros for Gideros Studio (1c7f635)
  • Fix Application:setKeepawake for desktop (a0cc10b)
  • Geolocation support for WinRT (4ee1f40)
  • MovieClip memory leak fixed (5add1da)
  • Added HTML5 export option (19d5afa)
  • Fixed Facebook JNI errors (92e9fcd)