Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

AppGameKit Studio Chat / AppGameKit Studio Version 2019.09.17

Paul Johnston
TGC Developer
Years of Service
User Offline
Joined: 16th Nov 2002
Location: United Kingdom
Posted: 17th Sep 2019 14:28
I've uploaded a new version to Steam and the TGC downloads area with the following changes

- Added SnapChat commands ShareSnapChatImage and SetSnapChatStickerSettings
- Added command GetAppInstalled to check if an app is installed on Android
- Fixed Random2 not being given a unique seed during startup
- Improved sprite rendering performance on both OpenGL and Vulkan
- Fixed crash when using SetPhysicsDebugOn()
- Fixed SetPhysicsDebugOn() not drawing some shapes
- Removed "Swap chain is out of date" error message which was used for internal testing
- Fixed immediate present mode still using a delayed present function
- Removed x86 compatibility from Android apps due to lack of device support and increasing binary size
- Minimum supported version of Android is now 4.4 (API 19)
- Added additional location description strings to exported plist files to satisfy Apple requirements
- Fixed 2D and 3D particles causing a crash if they aren't assigned an image
- Fixed 2D and 3D particles not interpolating colors correctly
- Fixed SetPresentMode and ForcePresent not being recognised as commands
- Improved shader error messages to refer to the base shader filename where available
- Fixed a failed shader compile causing all further shaders to fail to compile
- Fixed small dot sometimes appearing beween words when using new fonts
- Fixed performance issue when looping through thousands of objects or sprites
- If errors occur, always display "Message Window" even if it's been closed
- Fixed ignore case on include/insert file names, when locating file inside project.
- The IDE now remembers to restore your customised style on next startup
- Projects can be Dragged & Dropped into the IDE (Windows version)
- Instant right click menu when using "event based rendering"
- Enable code properties by default
- Allow the hiding of the tab drop down button
- Prevented right click popup windows from being moveable and dockable
- "Current project" selection in project window, will now always be visible in the top of the window
- After "Run" - disable restoring of cursor position, keep everything as is
- Corrected some spelling errors
- Install Additional Files - fixed "Installing C++ Libraries To" displaying the wrong folder name
- Code folding feature added (this is in Beta and has to be turned on via preferences, please report any issues)
- Allow the creation of source files using sub folders.
- Added - Save all edited files from all projects when compiling
- You can now drag & drop folder locations from Windows explorer
- Tool tips added to icon size icons
- Right click menu now has "Add folder location" option
- Source files can be Dragged & Dropped into the IDE (Windows version)
- Added right click project media folders to select "Open in Explorer" and "Refresh Files"
- New Code Folding added! Open and close areas of source code. You can use the new "foldstart" and "foldend" text markers and these control loops: while - endwhile, do - loop, function - endfunction, remstart - remend, select - endselect, case - endcase, for - next, if - endif, repeat - until. This new feature should be considered in BETA. If you find any issues with it please report them.
- Added - CRTL+SHIFT+F Advanced find dialog Fixed - Undo/Redo, auto indentation was not added to undo buffers and coulod cause a crash when using Undo/Redo
- Added right click menu to editor "tabs" - Close/Close All Other/Close All Support for Shift+Tab on a single line to unindent
- Fixed calling functions as parameters to functions causes the intellisense to break
- Mouse hover over a command now displays command Help Syntax
- Fixed CTRL+D not removing clipboard data anymore
- Fixed Rem tab breaking the syntax highlighting
- Fixed missing syntax highlight and F1 help for ForcePresent()/SetPresentMode(mode)
- Fixed Search/Replace - could sometimes crash the IDE
- Added support for shift+backspace
- Autocomplete menu now follow scrollbars
- Autocomplete menu will now display above the cursor if menu will go outside the editor window
- Fixed problem where you search and press left-right arrow, cursor was not always placed correct
- Improved "user function" parsing, when displaying user function syntax
- Fixed closing a tab (editor) it now selects a new active editor
- Fixed a problem after closing an editor, the CTRL+TAB didn't work
- Fixed Undo/Redo could move breakpoints/markers/code folding markers
- Fixed a problem with shift-tab with selection.
- Fixed GOTO Line dialog, reset input and make sure we have a active editor
- Enable / Disable option for Hover over a command help syntax
- Added Hide Tab Dropdown Button option
- Added a new preference setting "Ask Before Quitting AppGameKit Studio.", when checked it will allow you to cancel quit.
- HDPI Default preferences 4k: fonts size 24/large icons. Surface Pro(and like): fonts size 22/large icons.
- Draw Mode - Fit Sprite Size to Grid is now set as off by default
- Draw Mode - Esc key exits draw mode
- Toolbar - 2D/Script options are now shown as a toggle button
- Added "Exit Draw Mode" button user in draw mode
- Added layer support and dialog to text/edit/sprite properties pages
- Toolbar Drop Downs - these now display all entries without scrollbars
- Fixed Font path issue - when project is moved cross platform, resolved the font path so they can be moved between platforms.
- Fixed a crash when a scene file with a non-existing font
- Fixed - scene_cleanup() now reset array groups.
- Added new Code Properties system
- You can now use: #export syntax to highlight items
- New and old syntax systems will work for code properties
- New format is as follows:
#export(header,"3D Car Demo." )
#export(message,"Make your source code changes below.")
global mystring$ = "Level Name" #export ( string , "Change level name" )
global fogmin = 255 #export(integer,"Set fog minimum range" )
global bounce# = 300.000000 #export(float,"Bounce Car.")
global myobject$ = "SM_Veh_Car_Police_01.fbx" #export(selectfile,"Select 3D object file.")
- Current project is now compiled before opening the export dialog, to make sure you have the latest changes

Let me know if you have any problems
Bored of the Rings
Years of Service
User Offline
Joined: 25th Feb 2005
Location: Middle Earth
Posted: 17th Sep 2019 15:11
thanks Paul and TGC, that's quite a list.
Professional Programmer, languages: SAS, C++, SQL, PL-SQL, DBPro, Purebasic, JavaScript, others
Years of Service
User Offline
Joined: 30th May 2014
Location: Shropshire, United Kingdom
Posted: 17th Sep 2019 15:16
Woah! Now that's an update and a half. Thank you.
Win 10 Pro - AMD RYZEN 7 Octacore 3.8ghz - 32GB DDR4 - RTX 2070 8GB
Years of Service
User Offline
Joined: 19th Apr 2017
Posted: 17th Sep 2019 15:30
Great update.

I just posted an issue

Creating a sprite in code and setting it's color doesn't appear to work correctly anymore. On the previous version I created a sprite and set it's color to 204,204,204,255. That made it grey.

Now after updating to the new version it is all multi-colored.
Paul Johnston
TGC Developer
Years of Service
User Offline
Joined: 16th Nov 2002
Location: United Kingdom
Posted: 17th Sep 2019 16:16
Quote: "Creating a sprite in code and setting it's color doesn't appear to work correctly anymore"

I've replied in your Github issue, but I'm unable to replicate the issue, the following code seems to work as expected
Years of Service
User Offline
Joined: 11th Oct 2011
Posted: 17th Sep 2019 17:56
Great to see the update (especially the code folding) but I'm still struggling with the mac build since release.

A few times a day AGKS crashes out with a rerun , report, ignore box (standard mac box). I don't ever remember this happening with the BETA.

In the last 2 versions I've never been able to make a working APK file. The beta build works fine but are of course out of date now.

I get an error "Failed to export project: AAPT2 program not found. "

Does anyone have any ideas how to fix this ?
If it\'s not broken don\'t keep trying to fix it.
Years of Service
User Offline
Joined: 22nd Jan 2011
Location: Netherlands
Posted: 17th Sep 2019 19:19
A very long list of fixes..! Many thanks for the hard work that must have gone into this.
Valued Member
Years of Service
User Offline
Joined: 3rd Jul 2016
Location: Laniakea Supercluster
Posted: 17th Sep 2019 20:51
That's quite a list. And sprite performance is as fast as it used to be.

Thanks alot Paul !!

Coders don't die, they just gosub without return
Years of Service
User Offline
Joined: 3rd Dec 2008
Location: The Netherlands
Posted: 17th Sep 2019 21:50 Edited at: 17th Sep 2019 22:07
Excellent! Thanks a lot.

Could it be possible to add "/*" - "*/" to the codefolding commands?

Would it be possible to add shift + open/close fold to open/close the sub-folds? Like in the previous incarnation of AGK.
Regards Sph!nx
Rick Nasher
Years of Service
User Offline
Joined: 25th Jul 2017
Location: Amsterdam
Posted: 18th Sep 2019 22:56 Edited at: 18th Sep 2019 23:00
Wow! Now there's list of lots of stuff done. Well done and kudos for this one!

But, now suddenly getting an "Error: Joystick 0 does not exist in player_manager.agc at line 324" which is:

Also, unfortunately the issue c0d3r9 also mentioned indeed hasn't been fixed:
(In Windows) Double-clicking on a project file doesn't load it into AGKS, instead it just launches AGKS without the file loaded.

BTW: The folding's working quite good imho and the interface appears to have a better readability on my laptop screen. Dunno if that's me or that it has been modified. But tumbs up!
Kevin Cross
Years of Service
User Offline
Joined: 15th Nov 2003
Location: London, UK
Posted: 18th Sep 2019 23:06
Any chance the scroll speed can be fixed in the next version please? I didn't see it in the list so will assume it wasn't fixed.
OryUI - A WIP AGK2 UI Framework
Years of Service
User Offline
Joined: 9th Oct 2002
Posted: 18th Sep 2019 23:35
Rick Nasher wrote: "But, now suddenly getting an "Error: Joystick 0 does not exist in player_manager.agc at line 324" which is: "

@Rick Nasher - Few quick questions, did you enumerate all joystick devices with 'CompleteRawJoystickDetection()' before running that command? And also, did you have a bypass in case that code is executed on a system that lacks a joystick device entirely?

If the joystick device truly doesn't exist, either because one isn't plugged in or hasn't been enumerated, I would expect AGKS/V2 to throw out an error like that. Any joystick checks should be qualified with:

if GetRawJoystickExists(#)=1
// input checks

Before any input checks. Helps with required bypassing as well as multiple input device support. Any value checks can then be passed to a variable for an input check like in your line above.
Valued Member
Years of Service
User Offline
Joined: 10th Feb 2004
Location: Essex, UK
Posted: 20th Sep 2019 10:55 Edited at: 20th Sep 2019 18:47
Fantastic update, however when I try to run my Zompie RPG game in AppGameKit Studio, I get a photo-editing application installer start up!

I'm going to have to start commenting code to see which bit is causing this bizarre behaviour as it doesn't appear to happen with other projects.

[EDIT] - I've pinned it down to the LoadVideo command. If I use LoadVideo anywhere, the Paint Shop Pro installer starts up which is just a really weird thing to happen. Anyone else getting strange happenings with LoadVideo?

[EDIT 2] - It's doing the same thing on the latest AppGameKit Classic too. Urrrggg...

[EDIT 3] - It was something to do with using the 32bit AGK. I have switched to 64bit and it's all working fine again, so most likely a issue with my system.

...and built-in shadows in Vulkan are still not working properly for me.
Rick Nasher
Years of Service
User Offline
Joined: 25th Jul 2017
Location: Amsterdam
Posted: 21st Sep 2019 18:13 Edited at: 21st Sep 2019 18:33

Never used to do that in the past I believe. Afaik the joystick commands worked regardless: If a real joystick existed it would be used, if didn't then the W,A,S,D keys were used, which is actually what I use this for.

Quote: "

The AppGameKit joystick is an emulated input method that uses whatever device inputs are available to produce a joystick style input in the range -1 to 1. If a physical joystick is attached to the system then that will be used, otherwise if a full sized keyboard is found the keys W,A,S,D will be used as the four directions for the joystick. If neither of these exist then a virtual joystick will be created on screen that can be controlled with either a touch screen or mouse. The virtual joystick used will be index 1, if it already exists its values will be fed into this emulated joystick command. You may position this virtual joystick at a position of your choice on screen using SetJoystickScreenPosition. Every platform is guaranteed to have a method of generating an AppGameKit joystick X value.

Quote: "

Returns the current Y value for the physical joystick at the given index. This will be in the range -1.0 to 1.0 with 0 being centered.

So.. What changed?

UPDATE: Works fine in AppGameKit Classic 17-09-2019. Perhaps it's scene editor related?
Years of Service
User Offline
Joined: 9th Oct 2002
Posted: 21st Sep 2019 22:14 Edited at: 21st Sep 2019 22:15
@Rick Nasher

There is a big difference between 'GetJoystickX()' and 'GetRawJoystickX(#)'. The former uses AGK's internal emulation method and is not index based. The 'raw' joystick operations use direct device specific input mechanisms and are index based. The 'raw' system is dependent on device enumeration and index assignment, the emulation based commands are not.

So you can use the 'GetJoystickX()' command independent of any of the direct device commands, including without having to query for devices before analyzing inputs. But to use the 'raw' command set, which supports multiple devices and a much wider array of axis and button input options, you need to check for those devices in advance before using the commands.

I don't know if/when anything has changed, it's been this way as far as I can remember. Perhaps proper 'raw' device enumeration wasn't enforced correctly in an older build or something and now is. Device enumeration for direct input options is very common and nothing unusual in development languages. For either command set though, the developer just has to use each set as required.
Rick Nasher
Years of Service
User Offline
Joined: 25th Jul 2017
Location: Amsterdam
Posted: 23rd Sep 2019 20:43 Edited at: 23rd Sep 2019 20:44

Thanks very much for the explanation and pointing to the cause.

Indeed it appears this proper enumeration wasn't mandatory before. I've tested in AGK2/Classic and still working as before there, so Studio currently appears to be the only version that has it implemented properly and is more strict.
Hence my stumbling over what essentially was a coding error on my behave. Thanks go to Paul and TGC for fixing this in Studio. Appears they didn't do it yet in AGK2/Classic version though, but I can understand that has less priority or perhaps they just forgot.

The other issue I posted above and also on GitHub, remains though:
AGKS still isn't able to open project files by double clicking or right clicking them in explorer. It opens up Studio but without the project file loaded.

Hope they can fix this for is expected behaviour, at least in Windows. Dunno about other OS-es, but I think there too.
I think anybody would frown if clicking on a .docx file wouldn't result in Word opening with the file loaded or .txt files not opening up in Notepad etc like that. It's just a matter of piping the file into the editors buffer if you ask me.
Rick Nasher
Years of Service
User Offline
Joined: 25th Jul 2017
Location: Amsterdam
Posted: 28th Sep 2019 16:22
No fix yet in 2019.09.27
Conjured Entertainment
AGK Developer
Years of Service
User Offline
Joined: 12th Sep 2005
Location: Nirvana
Posted: 29th Sep 2019 13:06 Edited at: 29th Sep 2019 13:08

That is a lot of work in here.

Thank Paul for all you do for us with all versions of AGK.

Coding things my way since 1981 -- Currently using AppGameKit V2 Tier 1

Login to post a reply

Server time is: 2021-10-22 00:25:31
Your offset time is: 2021-10-22 00:25:31