Posted: 4th Jan 2019 22:15
The ability to pass custom data types to a C++ plugin.
Posted: 21st Jan 2019 12:29
The info boxes, which show up after entering a command to display possible commands and variables, could offer more space so even long commands & their variable requirements can be completely displayed.
Posted: 23rd Jan 2019 0:36
GetType(handle as integer)

Which returns;
TYPE_INVALID=0
TYPE_IMAGE=1
TYPE_SPRITE=2
TYPE_TEXT=3
TYPE_OBJECT=4
TYPE_VECTOR=5
TYPE_FONT=6
TYPE_MESH_MEMBLOCK=7
TYPE_IMAGE_MEMBLOCK=8
TYPE_SOUND_MEMBLOCK=9
TYPE_TWEEN=10
TYPE_PARTICLES=11
TYPE_EDITBOX=12
TYPE_JOINT=13
and so on
Posted: 23rd Jan 2019 5:03
nd so on


CreateText(1, "hi")
CreateSprite(1, "char.jpg")
MyType = GetType(1)

Maybe I am misunderstanding, but I don't see how this would work
Posted: 23rd Jan 2019 6:07
Maybe I am misunderstanding, but I don't see how this would work


i expect blink means something like:

This = CreateText("hi")
ThisType = GetType(This)

...where ThisType = 3 (Text) in the suggested return results.
Posted: 23rd Jan 2019 7:04
Ortu is right. I forgot you can have the same handels for different type of objects...bugga!
Posted: 23rd Jan 2019 15:04
...but you can have the same ID for text and sprite so the integer input isn't enough.
We would need to be able to create an Object which can be any type for this to work. The Object would need to contain an integer ID so we can continue using ALL of the other commands that currently need an integer ID.

EDIT: this could be done using code without adding to the language.
+ Code Snippet
type objectType
    typ as integer
    id as integer
endtype

function CreateSpriteObject()
    obj as objectType
    obj.id = CreateSprite(0)
    obj.typ = object_sprite
endfunction

...and so on...
Posted: 23rd Jan 2019 19:58
Yes. That is a good approach
Posted: 30th Jan 2019 20:33
I'd quite like some OOP. Having looked at the intepreter source, i realise you can't do any indirection (without hacking the stack frame, anyway !). I also appreciate that significant language changes to the compiler are non trivial.

My suggestion is for a simple but useful extension which is purely syntactic. I have actually written code like this to encapsulate libraries and so on.

type myclass
<members>
endtype

function myclass_initialise(this ref as myclass,...)
function myclass_update(this ref as myclass...)

demo as myclass
myclass_initialise(demo,...)

It would seem that dot operators aren't extensively used. My suggestion is a syntactic shim that converts

demo.initialise(<parameters>
into myclass_initialise(demo,<parameters>

So types automatically become a sort of quasi class that you can use straight off.

Now there are obviously huge problems with this. You can't inherit, there's no polymorphism and so on. You can work round some if not all of that to a degree. But I think it would add something to AppGameKit Basic Tier 1 in terms of encapsulation and readability. without large amounts of work and complex changes to the compiler - I haven't obviously seen the compiler source, but all it would need to do is to change the parsing to allow a '.' or other character to appear in the name, detect that, and then do the syntactic switch by looking at the type of the entity before the seperator.

(For simplicity, it probably wouldn't be worth changing the actual definition part)

There wouldn't seem to be any issues with old code, which would work as normal, as the dot character isn't allowed in function identifiers anyway.
Posted: 3rd Feb 2019 12:28
Might be nice to have the opposite to GetUnixFromDate() i.e. GetDateFromUnix()

Pass a unix timestamp through to it and get a date returned. It probably doesn't matter if it's one string as we can chop it up to format it how we want it.
Posted: 3rd Feb 2019 12:29
Had network issues so double posted
Posted: 3rd Feb 2019 23:58
Arduino serial command !

https://blog.manash.me/serial-communication-with-an-arduino-using-c-on-windows-d08710186498
Posted: 4th Feb 2019 20:27
"They have said before that they will not do function references or even variable references outside of passing variable references"

The VM cannot do function references or any sort of indirect jump ; there is no opcode that supports it. However, this design is entirely static ; it is syntactic sugar. In some ways it is more like modules than objects. I do it anyway ; it would just make the code look neater You'd write app.moveto(0,0) rather than Class_MoveTo(app,0,0)
Posted: 5th Feb 2019 11:57
use #insert inside an already inserted files. At the moment you can't use another #insert line inside a file that was inserted in the main agc file with #insert.
Posted: 5th Feb 2019 15:30
ttps://blog.manash.me/serial-communication-with-an-arduino-using-c-on-windows-d08710186498


Id second the wish for adding generic serial port access to AGK. Its possible to use UARTs in windows with a plugin in AppGameKit but android and Pi versions need "other" methods which are a massive pain. (TCP-UART bridge or PIGPIOD)

Android plugins would be great but not sure thats possible due to the architecture of android.
Posted: 9th Feb 2019 2:29
Support for scale animations in .3ds .fbx files etc
Posted: 10th Feb 2019 9:04
Export to a .AppImage on linux platforms
Posted: 15th Feb 2019 20:56
Not have editboxes gain focus instantly when touched. In most apps you can press a text box and scroll the screen and the text box won't activate because the screen moved. With AppGameKit if you try and swipe the screen and hit an edit box before swiping it gains focus and the keyboard appears breaking the swipe. I can't find a workaround for this yet.

EDIT: I think the main issue with this is GetPointerX and GetPointerY when pressed inside an editbox stops changing when the mouse/pointer is moved around while held down so any code to swipe/scroll the screen stops working. You have to click outside of the editbox before it works again. That's not so easy to do if you have a few editboxes near each other like a form.
Posted: 16th Feb 2019 7:56
One thing I would like to see is default function parameter values, like:

Function MyFunc( a as string ="", b as integer =0)

So calling it could be:

MyFunc()
MyFunc( "Test" )
MyFunc( "Test, 1 )

All would be valid as long as the parameter values were in order, missing ones would just use default values.
Posted: 16th Feb 2019 8:44
I'm thinking an edit box should be activated on pointer released rather than pointer pressed