Showing posts with label bug. Show all posts
Showing posts with label bug. Show all posts

2014-02-21

Level Up - Construct 2: Don't Confuse "+" And "&"

I just spent over an hour debugging a problem in my Construct 2 code. Suffice to say the solution is now ingrained in my brain. Now, I want to explain a little intricacy of C2.

TLDR: In Construct 2, whenever you are dealing with text and you want to concatenate/append additional text (or a variable), then you need to use the ampersand "&" symbol. Using the plus "+" symbol will cause a silent error/bug, i.e. the program won't tell you that there is a bug. Ex: If I try to set text to "Score: " + PlayerScore, then the value of the variable `PlayerScore` will not appear. The correct way to set the text would have been: "Score: " & PlayerScore. Note, the only difference between the two codes was the plus and ampersand.

Other programming languages have "overloaded" concatenaters, meaning the "+" symbol in some languages like Java are contextual. Depending on the value to the right and left of the plus sign, it will act a different way rather than not working at all, as in C2.

In Construct 2, the only time that you should use the plus symbol is when you want to add two numbers together. That is it.

Anyways, the issue that I was trying to solve for over an hour involved using WebStorage and Functions with programmatically assigned parameters. Saving and retrieving values was working great, just not exactly the way I wanted it to. I had a highscores table for easy, medium, and hard difficulties, but they were all staying the same values across each of them. My buggy code included lots of ampersands surrounding the entire area, but basically, this is what it looked like: Save("HighScore" + LevelDifficulty, PlayerPoints). Note: The plus sign is wrong.

No programming languages I use have the ampersand as a String concatenate. So, when I viewed the code snippets a few times, even completely writing them, my mind knew exactly that String + String should be working.

If I hadn't already read the manual/documentation before this point, then I probably wouldn't have found the answer myself.


Experience built through learned mistakes.
~ Danial Goodwin ~

ps - Just in case I haven't said it enough yet... When you are using Construct 2 and dealing with text, use the ampersand, &. Don't use the plus, +, sign!




2014-01-22

Construct 2 Bug Export To Windows 8: Too many characters in description.

Here's the full error message in Visual Studio:

"The 'Description' attribute is invalid - The value '' is invalid according to its datatype 'http://WPTokens:ST_String' - The actual length is greater than the MaxLength value"

Basically, this error says that your description is too long.

Through trial and error, I've found out that the max allowable length of the Windows 8 app description in WMAppManifest.xml is 256 characters. So, in order to fix this problem, all you have to do open "WMAppManifest.xml", which can be found in the Properties folder of your app's project. Then, edit your description so that it is not as long. I used Notepad++ to count the number of characters in the description.

I spent a few minutes looking for the official documentation for this file, but didn't find it. I found many official resources for Windows 8 that was close, but weren't for the exact file WMAppManifest.xml. Here's one of the links that is something that I'm looking for <link>.

If you know where the official page for this documentation of max length of 256 characters for the description, then please let me know. This bug still hasn't been reported to the developers of Construct 2 yet, because I think there will be other areas around this spot that also has bugs, and I would like to report them all in one go. This will make things much easier for the developer also. And, it's always good to source fixes.



A picture of the error message.


~ Danial Goodwin ~



2014-01-11

Construct 2: Reporting Bugs for Windows Phone 8

For the past few WP8 apps I've been creating using Construct 2, I've been manually making the necessary bug fixes myself. Today I've decided to properly report three of these bugs to the developers of Construct 2. My last bug report that I sent to them a few weeks ago was fixed. And, I expect the same with these bugs, especially, since I described them almost like I fixed it for them. ;)

The three errors reported:
- WP8 Export: Fullscreen not being set
- WP8 Export: App title not carrying over to WP8
- Windows Phone 8 Export, no apostrophes allowed

In the meantime, until these errors are fixed, you can visit the links to see how I solved the problems manually. If the links don't work, then that most likely means that the bug has been fixed and the bug report post has moved to a different place.


UPDATE: Each of these reported bugs have now been fixed! Construct 2, release 157

~ Danial Goodwin ~



2013-12-19

Construct 2: Landscape Bug Fixed for Windows Phone 8 Export

A few days ago, I submitted a thorough bug report for Windows Phone 8 apps made from Construct 2 not going to landscape mode when it's supposed to. But, thanks to the great developers of C2, this bug has now been quickly fixed for the current beta release r155. So, this saves you C2 developers an extra step.

Get Construct 2

~ Danial Goodwin ~



2013-12-15

C2: [Bug Fix] Windows Phone Export Doesn't Go Full-Screen or Landscape Mode

So, in my quest to create 100 Windows apps, I'm finding more solutions to bugs/issues/problems with the export of Windows Phone from Construct 2.

Problem: No Fullscreen. Here's how to fix it:
1. After you have exported the app from Construct 2, open MainPage.xaml
2. Find the line that says:
shell:SystemTray.IsVisible="True"

And, change it to:
shell:SystemTray.IsVisible="False"



Problem: No Landscape Mode. Here's how to fix it:
1. After you have exported the app from Construct 2, open MainPage.xaml
2. Find the line that says:
SupportedOrientations="Portrait" Orientation="Portrait"

And, change it to:
SupportedOrientations="Landscape" Orientation="Landscape"


That should do it! =]

UPDATE: The landscape mode problem has now been fixed! (2013-12-19)

~ Danial Goodwin ~



Error: The Windows Phone Emulator wasn't able to ensure the virtual machine was running

Here's just another problem that I experienced while trying to create a Windows Phone app. It didn't come up last night for my last app. So, I figured out that I was running too many things at once for my 4GB RAM laptop. Or, should I say, Windows was running too many things? The one differentiating factor between last night and tonight was that tonight there was a "Windows Maintenance in progress". But, it wasn't too bad. I just closed out every other program I had open, including the Dropbox sync and I was able to continue opening the Windows Phone WXGA emulator so that I could take screenshots for the store.

Here's the full error report:
[Window Title]Windows Phone Emulator 
[Content]The Windows Phone Emulator wasn't able to ensure the virtual machine was running:
Something happened while starting a virtual machine: 'Emulator WXGA.danial' could not initialize. (Virtual machine ID C3F3456A-1234-ASDF-87GH-ABD23456GG90)
Not enough memory in the system to start the virtual machine Emulator WXGA.danial with ram size 1024 megabytes. (Virtual machine ID C3F3456A-1234-ASDF-87GH-ABD23456GG90)
[Close]

~ Danial Goodwin ~



2013-12-13

Bug Fix: Windows Phone Not Detected, Can't Connect To Windows Phone Developer Registration

The Problem:
"Status: Unable to connect to a phone. For Windows Phone 7 phones make sure the Zune software is running and the Zune recognizes your phone. For Windows Phone 8 phones make sure that the Windows Phone IP Over USB Transport (IpOverUsbSvc) service is running."

The Solution:
- What worked for me was just using a regular USB cable and plugging it in directly to the computer rather than going through an USB hub.

- For many other, what works is ensuring that "Windows Phone IP Over USB Transport" (IpOverUsbSvc) is running. How to do that? Here's an easiest way: Go into start, search "Administrative Tools" -> Click "Services", then find and double-click on "Windows Phone IP Over USB Transport", and find the start or maybe even the reset button.

~ Danial Goodwin ~



C2: Bug Fix for Windows Phone Orientation

Currently, in Construct 2 r152, there is a bug that always puts the Windows Phone 8 export in portrait mode. This can be changed after exporting and viewing in Visual Studios. Open MainPage.xaml, find the line that says orientation or portrait and change that value to landscape, or whatever you would like.

~ Danial Goodwin ~



2013-09-27

Share: What is so great about Computer Science?

"I don't know of any other discipline that makes you feel so much like a wizard. Even engineering doesn't really feel that way, because you actually have to do real work fitting things together and what not.

In contrast, when you program something, you're basically just muttering incantations and casting spells. Do it right, and incredible stuff just springs to life.

And the stuff you're manipulating is almost dreamlike. Take a simple bug fix, for example. The concept doesn't quite exist in other forms of engineering, because if you're building something physical, even a small design flaw is difficult to fix. You have to take it apart, whack stuff into position, and usually you just wind up realizing that it would be easier to rebuild everything from scratch.

Whereas for a computer scientist, that's normal. Change a few things here and there, and bam - your updated program bursts into existence. You can do this because manufacturing software is easy (compile and run, or some equivalent) - almost all the work and difficulty is in thinking of it and designing it. It's basically an abstract mental construct.

Also, if you're a lazy bum like me, you'll fit right in. All computer scientists worth their salt have a massive hatred of tedium. That's why we always want to automate and generalize everything! Repetitive boring work is for machines.

Case in point: I recently had to enter a bunch of data on a website. There was no nice bulk upload facility, so I was reduced to painstakingly copying and pasting stuff from my file into their forms. After doing this for about a minute, I came to my senses and remembered that I wasn't a Muggle.
 
Less than an hour later, I had a program that just mimicked all my copy/paste actions hundreds of times faster than me. Hours of tedious error-prone work turned into a few minutes. As a bonus, it impressed the hell out of people who passed by and saw me reading a book while a bunch of text fields magically filled themselves on the screen. (I may have put in a slight time delay just for fun...)

Like I said, CS makes you a wizard."

Source: Quora's Nadeem Mohsin