@Blendman, Sure
As stated before you will need to install v5.44 x86 LTS with unicode turned off, I have yet to convert this to support unicode (will need pseudotypes for this), x64 just would not work
This is what I got so far, its going to take time to wrap up all AppGameKit functions and not sure I will find the time
; AGK Plugin Framework
; AGK System Prototypes
PrototypeC _GetAGKFunction(Function.s)
Global AGK_CreateString : PrototypeC _CreateString(Size.i)
Global AGK_DeleteString : PrototypeC _DeleteString(*Ptr)
; AGK Function Globals
; Sprite
Global AGK_CreateSprite : PrototypeC.l _CreateSprite(iImageIndex.l)
Global AGK_SetSpritePosition : PrototypeC _SetSpritePosition(iSpriteIndex.l, xPos.f, yPos.f)
Global AGK_SetSpriteSize : PrototypeC _SetSpriteSize(iSpriteIndex.l, Width.f, Height.f)
Global AGK_SetSpriteColor : PrototypeC _SetSpriteColor(iSpriteIndex.l, iRed.l, iGreen.l, iBlue.l, iAlpha.l)
ProcedureCDLL ReceiveAGKPtr(*ptr)
GetAGKFunction._GetAGKFunction=*ptr
AGK_CreateString._CreateString=GetAGKFunction("CREATESTRING_S_L")
AGK_DeleteString._DeleteString=GetAGKFunction("DELETESTRING_0_S")
AGK_CreateSprite._CreateSprite=GetAGKFunction("CREATESPRITE_L_L")
AGK_SetSpritePosition._SetSpritePosition=GetAGKFunction("SETSPRITEPOSITION_0_L_F_F")
AGK_SetSpriteSize._SetSpriteSize=GetAGKFunction("SETSPRITESIZE_0_L_F_F")
AGK_SetSpriteColor._SetSpriteColor=GetAGKFunction("SETSPRITECOLOR_0_L_L_L_L_L")
EndProcedure
; Pluging Functions
ProcedureCDLL CreateRedBox()
spr=AGK_CreateSprite(0)
AGK_SetSpritePosition(spr, 10 , 10)
AGK_SetSpriteSize(spr, 100 , 100)
AGK_SetSpriteColor(spr, 255 , 0, 0, 255)
EndProcedure
To return a string back to AppGameKit you allocate a memory buffer
*Str=AGK_CreateString(Len(Text))
PokeS(*Str, Text)
ProcedureReturn *Str
and the commands.txt file you give the name of the DLL function
#CommandName,ReturnType,ParameterTypes,Windows,Linux,Mac,Android,iOS
CreateRedBox,0,0,CreateRedBox,0,0,0,0
Hope that helps