tIDE, xTile, Demo v4.0.0 for XNA 4.0 released

Feb 21, 2011 at 7:57 AM

I am pleased to announce that version 4.0.0 of the editor, engine and demo are now available for .NET 4.0 and XNA 4.0 CTP. Please note that, as of this version, the Zune platform is no longer supported. On a more positive note, support for Windows Phone 7 will be added as soon as it becomes available in XNA 4.0.

tIDE v.2.0.0 MSI Installer

xTile v2.0.0 Engine

PC Demo v2.0.0

This release was possible in part thanks to the initial efforts of user bsimser to migrate the editor and engine to .NET / XNA 4.0.

Feb 22, 2011 at 12:29 PM

Not sure what you mean by support for WP7 as soon as it becomes available in XNA 4.0. It already is. I'll take a look later today to see what it'll take to get the demo app running on WP7 (just need to update the demo to use the touch interface and maybe make some adjustments to use Isolated Storage for retrieving data).

Feb 22, 2011 at 12:44 PM
Edited Feb 22, 2011 at 1:29 PM

My version of XNA Studio 4.0 supports only Windows and X360 Games and Game Library Projects. Maybe I need to update?

(Edit) I think I found the source of the problem, XNA GS 4 will install WP7 templates only if Windows Phone Developer Tools are installed beforehand. Doh...

(Edit 2) It seems like the WPDT is constrained to work with VS 2010 Express, and is in fact, part of the SDK. This conflicts with my Business edition, so no can do for now.. unless I'm missing something here...

Feb 22, 2011 at 1:59 PM

You should be able to just install the Windows Phone Developer Tools and it'll all be updated. Although I didn't have XNA 4 installed already without the WP7 tools. You might have to uninstall the XNA portion and just install the WP7 toolkit (which includes XNA 4 and all the fixins for WP7 development). It shouldn't be constrained. I have it installed and working with Visual Studio 2010 Ultimate.

Feb 22, 2011 at 2:14 PM
Edited Feb 22, 2011 at 3:17 PM

Did it force you to install VS2010 Express? I've read somewhere it also forces you to uninstall any non-express edition, but I haven't tried it myself to be honest.

(edit) Ok..I confirm it worked with my edition of VS. V2.0.1 of the engine will feature WP7 support :) 

Feb 22, 2011 at 4:09 PM

i've jut downloaded the libraries, followed the tutorial, and getting an error when LoadingSheets:

No se controló Microsoft.Xna.Framework.Content.ContentLoadException  

Message=Error loading "..\TileSheets\Background01.png". File not found.  Source=Microsoft.Xna.Framework  

StackTrace:       en Microsoft.Xna.Framework.Content.ContentManager.OpenStream(String assetName)       en Microsoft.Xna.Framework.Content.ContentManager.ReadAsset[T](String assetName, Action`1 recordDisposableObject)       en Microsoft.Xna.Framework.Content.ContentManager.Load[T](String assetName)       en xTile.Display.XnaDisplayDevice.LoadTileSheet(TileSheet tileSheet)       en xTile.Map.LoadTileSheets(IDisplayDevice displayDevice)       en TIDE.Game1.Initialize() en F:\Programacion 2011\TIDE\TIDE\TIDE\Game1.cs:línea 48       en Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)       en Microsoft.Xna.Framework.Game.Run()       en TIDE.Program.Main(String[] args) en F:\Programacion 2011\TIDE\TIDE\TIDE\Program.cs:línea 15  InnerException: System.IO.FileNotFoundException       Message=Error loading "TileSheets\Background01.png.xnb". File not found.      Source=Microsoft.Xna.Framework       StackTrace:            en Microsoft.Xna.Framework.TitleContainer.OpenStream(String name)            en Microsoft.Xna.Framework.Content.ContentManager.OpenStream(String assetName)       InnerException: 


What i'm doing worng?


Feb 22, 2011 at 6:33 PM

Can you verify if you did Step 6 correctly, that is, added the map and tile sheet images in the content project under the appropriate directories?

Feb 22, 2011 at 10:24 PM

@bsimser: I met a stumbling block whilst trying to deploy to WP7 (and this happens to be a problem in X360 too.. it's just that I've yet to test it): internally, the content pipeline, i.e. the ContentTypeReader<T> and ContentTypeWriter<T> implementations for Map objects use the .tide XML map format that is in turn implemented using  System.Xml.XmlTextReader and XmlTextWriter. Unfortunately these XML classes are not available in Xna 4.0 for Xbox and WP7. I think this was not the casewith XNA 3.1. To get everything to compile for now, I use conditional compilation that simply throws a NotSupportedException for platforms other than Windows. This unfortunately results in this exception being throw when deploying to the 360 and WP7.


To solve this I will need to devise a storage format for the content pipeline that does not depend on XmlTextReader and XmlTextWriter. I was actually thinking about designing a binary version of the tide map format so I can depend on System.IO classes only and avoid references to System.Xml.

Feb 23, 2011 at 7:02 AM

Yes i did. I have two folders in the Content Pipeline, called Maps, and TileSheets

Feb 23, 2011 at 8:05 AM

@XNABaby If you want, you may ZIP and send me a copy of your tutorial project and I can have a look at it.

Feb 23, 2011 at 2:50 PM

Thank you!!




Feb 23, 2011 at 3:59 PM
Edited Feb 23, 2011 at 4:37 PM

Ok, here's what I did to fix it:

1) Within the properties grid of content file "Map01.tide", I set the Content Importer and Content Processor properties respectively to "tIDE Map Importer" and "tIDE Map Processor". These are usually set automatically but for some reaosn where blank.

2) Within the properties grid of content files "Background01.png", "Background02.png", "Background03.png" and "TileSheet01.png", I set the Build Action property to None since, in XNA 4.0, this causes a conflict with the tIDE Map Processor which also processes these image files to XNBs. I din't think this was an issue in XNA 3.1. I should update the tutorial to reflect this.

3) Unlike XNA 3.1, XNA 4.0 is very stringent on the Viewport (clipping) region not being larger than the display device's dimensions and causes a crash when this is set to 800 x 600 pixels as in the tutorial. I replaced the line


viewport = new xTile.Dimensions.Rectangle(new Size(800, 600));




viewport = new xTile.Dimensions.Rectangle(new Size(graphics.PreferredBackBufferWidth, graphics.PreferredBackBufferHeight));


I think I will handle this issue internally within the engine by clipping the specified clipping region itself to the display's dimensions. This should hopefully avoid breaking old code.

Feb 23, 2011 at 6:27 PM

Great!!!! It works!!!


Thanks a lot!!

Mar 7, 2011 at 5:12 PM

Have you tried using LINQ to XML? That may be supported on XBOX and WinPhone7. I always use it now in all my projects and never touch the System.XML stuff really anymore.

Mar 8, 2011 at 9:25 AM

I'll be posting an update with a solution soon.. hang on in there!