Jump to content

Skunkworks: Offline Mechlab For Windows


192 replies to this topic

#81 focuspark

    Member

  • PipPipPipPipPipPipPipPipPip
  • The Ardent
  • The Ardent
  • 3,180 posts

Posted 25 November 2013 - 01:39 PM

View PostNRP, on 25 November 2013 - 01:07 PM, said:

Further testing reveals the problem also occurs with the following mechs:

Cataphracts
Blackjacks
Hunchbacks
Kintaros
Cicadas
Centurions

This is all I tried, so there could be problems with other mechs. I suggest you test each and every mech before submitting an update.

All of those 'mech have been (and are) tested. Sounds more like a problem with the new build retrieval logic and your phone. I'll look at making that portion of the software more robust and hopefully get a patch out quickly.

#82 NRP

    Member

  • PipPipPipPipPipPipPipPipPip
  • Fire
  • Fire
  • 3,949 posts
  • LocationCalifornia

Posted 25 November 2013 - 02:06 PM

For reference, my phone is a Lumia 920 with 24 GB free storage space.

And it's red. Because red is hawt.

#83 focuspark

    Member

  • PipPipPipPipPipPipPipPipPip
  • The Ardent
  • The Ardent
  • 3,180 posts

Posted 25 November 2013 - 02:09 PM

View PostNRP, on 25 November 2013 - 02:06 PM, said:

For reference, my phone is a Lumia 920 with 24 GB free storage space.

And it's red. Because red is hawt.

Windows Phone 8... I have Windows Phone 7, and can only emulate Windows Phone 8.

Seems I need a more rigorous process to certify WP8.

#84 NRP

    Member

  • PipPipPipPipPipPipPipPipPip
  • Fire
  • Fire
  • 3,949 posts
  • LocationCalifornia

Posted 25 November 2013 - 09:20 PM

Ok, more test results. In addition to the other mechs I listed, the app crashes upon naming the following mechs:

Spider
Trebuchet
Highlander (Heavy Metal is fine, all others crash)
Awesome (Pretty Baby is fine, all others crash)
Victor (Dragon Slayer is fine, all others crash)

It's weird, I know the Awesome 8Q and 9M and Highlander 733C worked before because I had saved builds for them, but they now they crash upon naming.

#85 Muzakman

    Member

  • PipPipPipPipPip
  • Rage
  • Rage
  • 102 posts
  • Twitter: Link
  • LocationChicago

Posted 25 November 2013 - 10:15 PM

Looks like hero mechs are OK but others aren't...

On a side note, and irrespective of the other reasons you gave focuspark, you could likely port the app to Android/iOS pretty easily with Mono. Full C# 5.0 support along with licensing changes to some PCL's (HttpClient comes to mind) make Mono an attractive and easy way to port.

#86 smokefield

    Member

  • PipPipPipPipPipPipPip
  • 989 posts
  • Locationalways on

Posted 25 November 2013 - 10:50 PM

i just dld it but it crashes on my lumia 625. both versions...:)...

#87 focuspark

    Member

  • PipPipPipPipPipPipPipPipPip
  • The Ardent
  • The Ardent
  • 3,180 posts

Posted 26 November 2013 - 08:54 AM

All I've located the bug. I'll post the offending source code below, see if you can spot the error.

In version 1.8.0, in an effort to reduce the package size, I removed most of the PGI generated art and decided to have the app download the art from static.mwomercs.com instead. The theory was that if the package was smaller, I could upload it more frequently (the 36MB package took 16 min to upload). I was successful in reducing the package size to about 1.5 MB but there was a side effect that I hadn't anticipated (or experienced): static.mwomercs.com (the PGI image web server) would fail to deliver images to certain people.

I'm not certain what the logic is with regards to the server delivering no image or a corrupted image, but it does happen and seems to have to specific individuals repeatedly. So, while most users report no problem, some users report having nothing but problems.

The good news: I've "hardended" the app and it will no longer crash due to "bad" images from static.mwomercs.com

The bad news: I've not added any PGI art back to the package, so if PGI refuses to deliver art to you you're images will be blank.

	    internal static BitmapImage GetMechDoll(Chassis chassis)
	    {
		    BitmapImage bitmap = null;
		    string storagePath = String.Format("Art/Doll/{0}.png", chassis.Serial);
		    string networkUrl = chassis.DollUrl;
		    if (Constants.ForceLocalDollArt.Contains(chassis.Serial))
		    {
			    bitmap = new BitmapImage(new Uri("Art/Doll/" + chassis.Serial + ".png", UriKind.Relative));
		    }
		    else
		    {
			    lock (_wpfs)
			    {
				    if (_wpfs.FileExists(storagePath))
				    {
					    bitmap = new BitmapImage();
					    bitmap.SetSource(_wpfs.OpenFile(storagePath, FileMode.Open, FileAccess.Read, FileShare.Read));
				    }
				    else
				    {
					    WebClient webclient = new WebClient();
					    webclient.OpenReadCompleted += (object sender, OpenReadCompletedEventArgs e) =>
					    {
						    if (e.Cancelled || e.Result == null)
							    return;
						    try
						    {
							    lock (_wpfs)
							    {
								    if (!_wpfs.DirectoryExists("Art/Doll"))
								    {
									    _wpfs.CreateDirectory("Art/Doll");
								    }
								    using (System.IO.IsolatedStorage.IsolatedStorageFileStream stream = _wpfs.OpenFile(storagePath, FileMode.Create, FileAccess.Write, FileShare.Write))
								    {
									    byte[] buffer = new byte[1024];
									    int read = -1;
									    while ((read = e.Result.Read(buffer, 0, buffer.Length)) > 0)
									    {
										    stream.Write(buffer, 0, read);
									    }
									    stream.Flush();
								    }
							    }
						    }
						    catch { }
					    };
					    webclient.OpenReadAsync(new Uri(networkUrl, UriKind.Absolute));
					    bitmap = new BitmapImage(new Uri(networkUrl, UriKind.Absolute));
				    }
			    }
		    }
		    return bitmap;
	    }


#88 NRP

    Member

  • PipPipPipPipPipPipPipPipPip
  • Fire
  • Fire
  • 3,949 posts
  • LocationCalifornia

Posted 26 November 2013 - 09:52 AM

If it makes any difference, I have noticed that sometimes the mech images aren't immediately available but they do eventual show up, sometimes after a day or two.

#89 focuspark

    Member

  • PipPipPipPipPipPipPipPipPip
  • The Ardent
  • The Ardent
  • 3,180 posts

Posted 26 November 2013 - 11:16 AM

View PostNRP, on 26 November 2013 - 09:52 AM, said:

If it makes any difference, I have noticed that sometimes the mech images aren't immediately available but they do eventual show up, sometimes after a day or two.

This is an artifact of the http://static.mwomercs.com web server either being slow, or slowed by a slow connection (on your end). This is also the reason images get corrupted during download and have been causing the app to crash.

I'll make another update ASAP which cleans up corrupted images so that you're not trapped with missing art forever. I choose to push the fix ASAP without any back up just because it's impact people directly.

Interesting info: so far only people who use the the www.mwomercs.com webste (aka forums) are reporting issues with the image downloads. It's quite possible that the massive image download combined with forum usage gets users marked as DDOS pirates and blocks them. Just a guess.

#90 focuspark

    Member

  • PipPipPipPipPipPipPipPipPip
  • The Ardent
  • The Ardent
  • 3,180 posts

Posted 27 November 2013 - 08:31 AM

View PostMuzakman, on 25 November 2013 - 10:15 PM, said:

Looks like hero mechs are OK but others aren't...

On a side note, and irrespective of the other reasons you gave focuspark, you could likely port the app to Android/iOS pretty easily with Mono. Full C# 5.0 support along with licensing changes to some PCL's (HttpClient comes to mind) make Mono an attractive and easy way to port.

Heroes work is just luck :) (or maybe PGI puts their art a "better" server)

As for iOS and Android ports; the issues isn't with their respective programming languages (Objective-C and Java), those I could brush up on, it's with the OS APIs (aka application programming interfaces). Simple things like displaying rectangles, drawing a text block, or reading a file are done very differently in each OS. It's this "mapping" to another API which would be too time consuming.

#91 NRP

    Member

  • PipPipPipPipPipPipPipPipPip
  • Fire
  • Fire
  • 3,949 posts
  • LocationCalifornia

Posted 29 November 2013 - 07:22 PM

Does the "Save" icon actually do anything? When pressed, there is no indication that the build has been saved. Not a big deal because it seems like the app always saves your build regardless if you press the icon or not. However, it would be nice if the "Save" icon was white when you could save, and it was greyed out when you can't save (for example, your build didn't change).

#92 focuspark

    Member

  • PipPipPipPipPipPipPipPipPip
  • The Ardent
  • The Ardent
  • 3,180 posts

Posted 30 November 2013 - 06:34 PM

View PostNRP, on 29 November 2013 - 07:22 PM, said:

Does the "Save" icon actually do anything? When pressed, there is no indication that the build has been saved. Not a big deal because it seems like the app always saves your build regardless if you press the icon or not. However, it would be nice if the "Save" icon was white when you could save, and it was greyed out when you can't save (for example, your build didn't change).

Yes, the save icon saves the current loadout to internal storage. The app also saves the 'mech upon most changes for you as well. I suppose the icon no longer needs to be there (it's predates the app saving each change), but it's a nice to have and in case there's something I forgot to wire up for auto-save it'll be handy.

As for changing its color, I currently do not track when you've made changes vs last time you saved. So adding the greyed out look would be rather expensive; not sure it's worth the effort.

FYI: you can always save, even if you've made no changes :)

But, yes I do get your point. I'll look into removing the button completely since that's much cheaper than tracking when your current loadout differs from the last saved version.

#93 NRP

    Member

  • PipPipPipPipPipPipPipPipPip
  • Fire
  • Fire
  • 3,949 posts
  • LocationCalifornia

Posted 30 November 2013 - 07:05 PM

Really, it's fine as it is. I actually prefer having the save icon there. Since you have a "Delete" icon, it's logical to also have a "Save" icon, even if it is redundant.

Oh yeah, the app hasn't been crashing lately, even for the mechs I recently mentioned. I guess the problem has to do with what the app does when the image data isn't immediately available.

Edited by NRP, 30 November 2013 - 07:10 PM.


#94 focuspark

    Member

  • PipPipPipPipPipPipPipPipPip
  • The Ardent
  • The Ardent
  • 3,180 posts

Posted 02 December 2013 - 05:09 PM

WP Marketplace really should have approved the latest update by now. I'm wondering if the holiday weekend didn't slow everything down. I promise to update this thread as soon as the patch is approved (and yes it should "fix" everything).

#95 Pariah Devalis

    Member

  • PipPipPipPipPipPipPipPipPipPip
  • The Clan Cat
  • The Clan Cat
  • 7,655 posts
  • Google+: Link
  • Twitter: Link
  • LocationAboard the NCS True Path

Posted 02 December 2013 - 05:24 PM

Great job so far. Since my last post, all crashes, for me, are gone. Oddly, before your Jester Patch came out, I got a Jester Patch download a day prior. I have no idea why it keeps giving me incomplete or false builds to download, but no harm was done.

#96 focuspark

    Member

  • PipPipPipPipPipPipPipPipPip
  • The Ardent
  • The Ardent
  • 3,180 posts

Posted 03 December 2013 - 09:04 AM

The patch which fixes all of the annoying crash bugs related to issues with static.mwomercs.com and/or network problems has been released by the WP Marketplace. Users can either wait for the Marketplace to prompt them to update the app, or they can search for the app in the Marketplace and choose the 'Update' button (next to the 'Share' button) to get the update immediately.

Next patch will include the two new Griffin as well as the two new Wolverine mech chassis.

Also, some perf improvements related to loading images on slower internal memory (like my personal phone).

#97 focuspark

    Member

  • PipPipPipPipPipPipPipPipPip
  • The Ardent
  • The Ardent
  • 3,180 posts

Posted 03 December 2013 - 11:47 AM

... it'll include the JR7-O "Oxide" as well, assuming they post the stats for it by this weekend.

#98 NRP

    Member

  • PipPipPipPipPipPipPipPipPip
  • Fire
  • Fire
  • 3,949 posts
  • LocationCalifornia

Posted 04 December 2013 - 07:08 AM

It looks like assault JJs are still counted as 1 ton each.

#99 focuspark

    Member

  • PipPipPipPipPipPipPipPipPip
  • The Ardent
  • The Ardent
  • 3,180 posts

Posted 04 December 2013 - 08:29 AM

View PostNRP, on 04 December 2013 - 07:08 AM, said:

It looks like assault JJs are still counted as 1 ton each.

As I understand it, 80, 85, and 90 ton assaults should have 1 ton jump jets. Only 95 and 100 ton assaults use 2 ton jump jets.

Looks (to me) like the app is still performing the correctly logic for correct sizing components per 'mech.

#100 focuspark

    Member

  • PipPipPipPipPipPipPipPipPip
  • The Ardent
  • The Ardent
  • 3,180 posts

Posted 04 December 2013 - 08:36 AM

:: confirmed, if you try and put jump jets on an Atlas they cost 2 tons (and show red because they shouldn't be there).





5 user(s) are reading this topic

0 members, 5 guests, 0 anonymous users