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 Classic Chat / A Recap of status of things in the Google List

Author
Message
Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 26th Jul 2013 21:20
I decided this morning that it wouldn't hurt to test all the Google Issues that are labeled 'Fixed' (and some that are labeled 'Accepted') to see if they are still fixed for v10816.

This was prompted when one my my issues, #583, was labeled as fixed and I tested it and it sort of is, but now it has a new bug.

So here is my list (if you don't see an issue, check to see if it is has comments indicating that it really wasn't an issue, or something).

Ones to note are those for UDT's, especially #449, which really needs to be fixed. But #438 appears to be fixed, which is good, even though it is not labeled as 'fixed'.

I only went back to the start of the 400s.


Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master
Mobiius
Valued Member
21
Years of Service
User Offline
Joined: 27th Feb 2003
Location: The Cold North
Posted: 26th Jul 2013 22:37
Quote: "Issue 528: Fullscreen Windows 8 Start button Crash
Could not test, not having a Windows 8 box/tablet.
Currently listed as under investigation (13-Apr-2013)"

I've just tested one of my apps in Win8, and the windows key does nothing. The start screen doesn't appear, the app doesn't pause, and it deffo doesn't crash. (But on a down side, the start screen doesn't appear.)

3D Bang Bang 2, check it out!

My website! [href]http:\\www.TeamDefiant.co.uk[/href]
Naphier
14
Years of Service
User Offline
Joined: 2nd Oct 2010
Location: St Petersburg, Florida
Posted: 26th Jul 2013 23:34
476: file was removed because bug is fixed as of last time I tried to run video. (a few builds ago now)

496 is only sort of addressed... but whatever. I guess we'll never know when an app was sent to the background, but only when it regains focus... Not all that helpful.

There are still a lot of issues with the edit boxes. My main peeve is that I can't tell when the keyboard is open and what amount of screen it takes up. It is standard to have edit boxes at the bottom of a screen for messaging-oriented apps and the alternate edit box is just an ugly little thing.

There's also still a lot of issues with UDT arrays allowing access to OOB indices.
I'm assuming you're trying to review the fixed items, so I'll stop there.
Everything else on your list seems fine. Do you have any insight on what will be attempted to be fixed for the "stable" release?

Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 26th Jul 2013 23:49
I was just reviewing things that were labeled as 'fixed'.

If you have new issues that aren't in the list that you can provide sample code for, post them. But please don't just post that something doesn't work without a clear way for us to test it (ie. sample code that illustrates the problem).

And always specify the AppGameKit version (v10816 is the current beta), whether it was tested via a Player and where the Player came from, etc.

Thank you all in advance for providing clear issues and a way for them to be tested in the environment that you are working in.

I also highly recommend making sure that you test in the most recent version of AppGameKit before declaring something a bug.

Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master
Digital Awakening
AGK Developer
22
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Sweden
Posted: 27th Jul 2013 12:58
As I am making my new level editor and GUI functions I keep running into issue 449. It means I have to debug more and make workarounds. This is something that needs fixing to allow us to make more powerful functions.

Digital Awakening
AGK Developer
22
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Sweden
Posted: 28th Jul 2013 15:52
According to the update on Kickstarter it seems that these bugs won't be fixed for 108 final. Is there a 109 planned?

Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 28th Jul 2013 17:54
I suspect the UDT ones will have to be fixed. They are significant. They are not mentioned in the Kickstarter.

Things to do with the IDE are to be part of the Kickstarter funded things.

Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master
Mobiius
Valued Member
21
Years of Service
User Offline
Joined: 27th Feb 2003
Location: The Cold North
Posted: 29th Jul 2013 17:31 Edited at: 29th Jul 2013 17:31
I guess I'm the only person who has never had any issues with UDT's.

I don't see the need to pass a UDT into a function due to them being global?

Can someone explain to me why working on a copy of the data is better than just working on the data? I've had no need in any of my games, DBPro or AppGameKit to have multiple copies of a UDT, so have never needed to pass copies into functions.

3D Bang Bang 2, check it out!

My website! [href]http:\\www.TeamDefiant.co.uk[/href]
Naphier
14
Years of Service
User Offline
Joined: 2nd Oct 2010
Location: St Petersburg, Florida
Posted: 29th Jul 2013 17:40
It's more like this:
Say you have a UDT defined as
type myType
a as integer
endtype

and a BUNCH of UDT variables
var1 as myType
var2 as myType
...


You want to be able to perform an operation on ANY of the myType UDTs
like this:
function SquareMyTypeA(myUDTinput as myType)
myUDTinput.a = myUDTInput.a ^ 2
endfunction

With a function like this you can pass ANY myType UDTs.
Currently you'd have to define a different function like this for every single UDT variable name you make.
Obviously this type of operation is trivial, but hopefully you can see how it would be very helpful.
The same thing goes with passing arrays.
Right now I have 10 or more basically identical functions that could be one function if I could just pass the array's name. Instead I have to define a new function for every array I make... Far from efficient and it is a waste of time.

So really it's not an issue of it being global, though that is helpful. It's an issue of not being able to pass them by their name. At least that's my gripe.

Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 29th Jul 2013 17:47
Naphier, while your sample function illustrates why one might want to pass in a UDT, it wouldn't work.

The AppGameKit Basic functions only pass by value, not by reference. So setting the UDT value within the function wouldn't 'take'. It would not pass back up to the calling function.

But you can pass back the computed value and do something like:
myUDT.a = SquareMyTypeA(myUDT)

Of course, a lot of the issues disappear in Tier 2. You can pass arrays, function names, all sorts of stuff, as parameters.

Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master
Naphier
14
Years of Service
User Offline
Joined: 2nd Oct 2010
Location: St Petersburg, Florida
Posted: 29th Jul 2013 18:14
Makes sense. I though not being able to pass by reference was the issue.
Still your example would be helpful to be able to do and reduce the redundancy a bit.

Markus
Valued Member
20
Years of Service
User Offline
Joined: 10th Apr 2004
Location: Germany
Posted: 29th Jul 2013 18:16
@Ancient Lady
agk should give structs(udts) (intern) as pointer like other languages do
because its much faster. the memory still exists, don't need to allocate again and don't need to copy.
udt=udt[x] do a copy
udt=instance(udt[x]) maybe use the original.
The way is the goal.
Mobiius
Valued Member
21
Years of Service
User Offline
Joined: 27th Feb 2003
Location: The Cold North
Posted: 29th Jul 2013 19:02
What I'm trying to say is I've never needed to create multiple UDT's with the same format.

E.G.
Type01[1] as MyType
Type02[1] as MyType

If I was duplicating data like this, I'd set the UDT up as a multidimentional array, and pass the ID for the specific element into the function. (As I do in my UI engine.)

E.G.

Screen[ ScreenID, ElementID ] as My Type

Function FadeScreenIn( ScreenID )
Screen[ ScreenID, ElementID ].ItsVariable
EndFunction


I wouldn't create multiple UDT's (as below) as it's simply not workable in a procedural language.

(I wouldn't do this.)
Screen01[ 1 ] as MyUDT
Screen02[ 1 ] as MyUDT

3D Bang Bang 2, check it out!

My website! [href]http:\\www.TeamDefiant.co.uk[/href]
Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 29th Jul 2013 20:02 Edited at: 29th Jul 2013 20:04
@Markus, unfortunately there is 'should' and 'is'.

I know in Javascript, it is always by reference for any structure or array reference.

And I wish it were that way in AppGameKit Basic, but it isn't.

@Mobiius, there are many situations where wanting to pass a UDT is a preferred way to handle something. As it stands, everyone is forced to use global arrays and index passing. Yes, it works. But programming style like that should not be forced by a language. If/when TGC can fix the issues with UDTs, it will make things simpler for people using Tier 1.

EDIT: By being forced to use global arrays and index passing, if you want to be able to use the same function on a different array, you have to duplicate the function for each array. If we could pass in arrays, then it would also be another way around the issue. But we can't do that either.

Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master
Digital Awakening
AGK Developer
22
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Sweden
Posted: 30th Jul 2013 01:30
Passing by reference would be so nice. But you can return a whole UDT though. So you can do:


Also I wish I could do this: udt1 = udt2
As long as both are the same type.

Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 30th Jul 2013 05:18
Quote: "Also I wish I could do this: udt1 = udt2"

This is doable. As long as you don't expect updates done to udt1 to appear in udt2.

I haven't tried returning a UDT from a function for quite a while. I didn't have much luck with it before I switched to Tier 2 (and all the things that fixed and made available, like pass by reference).

Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master
Digital Awakening
AGK Developer
22
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Sweden
Posted: 30th Jul 2013 12:24
Quote: "This is doable. As long as you don't expect updates done to udt1 to appear in udt2."


Hmm, tried it now and it worked. Must have been the passing UDTs between functions that messed things up when I tried it in my editor last week.

Login to post a reply

Server time is: 2024-11-24 18:43:32
Your offset time is: 2024-11-24 18:43:32