This project is read-only.

xnanimation on xbox with xna 3.1

Feb 17, 2010 at 10:34 PM

I've been trying to get xnanimation to work on the xbox for awhile but I've been running into problems.  I checked the thread here : http://xnanimation.codeplex.com/Thread/View.aspx?ThreadId=30744  but it seems a bit outdated and didn't solve my problem.  I saw a thread here: http://forums.xna.com/forums/p/46758/286835.aspx and posted on it because the errors were similar to mine but haven't come to a resolution.  Here are the errors I'm coming up with when trying to run on the xbox:

Error 1 The best overloaded method match for 'XNAnimation.Controllers.AnimationController.Update(System.TimeSpan, Microsoft.Xna.Framework.Matrix)' has some invalid arguments C:\Users\Brent\xna\loadmods\loadmods\loadmods\DrawModels.cs 149 13 Xbox 360 Copy of loadmods
Error 2 The type 'Microsoft.Xna.Framework.Matrix' is defined in an assembly that is not referenced. You must add a reference to assembly 'Microsoft.Xna.Framework, Version=3.1.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d'. C:\Users\Brent\xna\loadmods\loadmods\loadmods\DrawModels.cs 149 13 Xbox 360 Copy of loadmods
Error 3 Argument '2': cannot convert from 'Microsoft.Xna.Framework.Matrix [c:\Program Files\Microsoft XNA\XNA Game Studio\v3.0\References\Xbox360\Microsoft.Xna.Framework.dll]' to 'Microsoft.Xna.Framework.Matrix []' C:\Users\Brent\xna\loadmods\loadmods\loadmods\DrawModels.cs 149 66 Xbox 360 Copy of loadmods
Error 4 The type 'Microsoft.Xna.Framework.Graphics.Model' is defined in an assembly that is not referenced. You must add a reference to assembly 'Microsoft.Xna.Framework, Version=3.1.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d'. C:\Users\Brent\xna\loadmods\loadmods\loadmods\DrawModels.cs 213 17 Xbox 360 Copy of loadmods
Error 5 'Microsoft.Xna.Framework.Graphics.Model' does not contain a definition for 'Meshes' and no extension method 'Meshes' accepting a first argument of type 'Microsoft.Xna.Framework.Graphics.Model' could be found (are you missing a using directive or an assembly reference?) C:\Users\Brent\xna\loadmods\loadmods\loadmods\DrawModels.cs 213 73 Xbox 360 Copy of loadmods
Error 6 The best overloaded method match for 'Microsoft.Xna.Framework.Graphics.EffectParameter.SetValue(string)' has some invalid arguments C:\Users\Brent\xna\loadmods\loadmods\loadmods\DrawModels.cs 233 25 Xbox 360 Copy of loadmods
Error 7 Argument '1': cannot convert from 'Microsoft.Xna.Framework.Matrix[]' to 'string' C:\Users\Brent\xna\loadmods\loadmods\loadmods\DrawModels.cs 233 64 Xbox 360 Copy of loadmods

It works perfectly on the PC.  When I remove everything to do with XNAnimation it works on the xbox just fine.  I have the XBOX xnanimation referenced and the x86 xnanimationpipeline referenced in the content references.  Why would it work on the PC (using xna 3.1 by the way) but give me these kinds of errors on the xbox? 

Thanks for any help.

Feb 17, 2010 at 11:05 PM

My bad! Somehow a wrong version of the Xbox DLL slipped all the way into the last package I uploaded! Go and re-download it, and sorry for any incoveniences.

Feb 18, 2010 at 1:11 AM

I re-downloaded and re-referenced and I'm still getting the same errors.  I also tried to start a new xbox project to test it out and I couldn't change the content processor to xnanimation after referencing the new xnanimaiton and referencing the new xnanimationpipeline in the content references.  Is there something basic I'm doing wrong here?

Feb 18, 2010 at 1:24 AM

Strange, I have just created a new Xbox test project and works fine for me. You must reference XNAnimation.dll inside your "<SolutionName>\<ProjectName>\References" folder, and XNAnimationPipeline.dll inside "<SolutionName>\<ProjectName>\Content\References".

If the problem persists, feel free to send me your project and I'll take a look at it.

Feb 18, 2010 at 7:13 AM

You can get it here:

http://www.megaupload.com/?d=SUO4OJU7

I just sent the new XBOX project I started instead of my whole project because I'm getting the same kind of errors.  Clearly I'm doing some basic thing wrong that I can't figure out.  I did find out, however, that I couldn't change the content processor before because I didn't upgrade the project from 3.0 to 3.1.  It defaults to 3.0 on a new project, whoops.  But now that I've got it upgraded and the references going, I'm getting the same kind of errors.  Thanks for your time.

Feb 18, 2010 at 5:23 PM

Finally figured it, VS was looking for a generic assembly when building the Xbox version of the DLL, so it chose Windows XNA assemblies instead of Xbox's ones. Library package updated, try it now.

Feb 18, 2010 at 7:28 PM

It seemed to go further.  This time I got this message after the deploy started:

An unhandled exception of type 'Microsoft.Xna.Framework.Content.ContentLoadException' occurred in Microsoft.Xna.Framework.dll

Additional information: Error loading "boy". Cannot find ContentTypeReader XNAnimation.Pipeline.SkinnedModelReader, XNAnimation, Version=0.7.0.0, Culture=neutral, PublicKeyToken=121fbd51268a0405.

The name of my model is boy by the way.  What could be causing this?

Feb 18, 2010 at 8:07 PM

Right now my Xbox is unplugged from Live, so I can't reproduce the error to the same level you are doing. Since you have XNA GS 3.0 installed in your computer, could you download the BETA2 libraries and do the same test app? Maybe the bug got introduced with VS2008/XNA 3.1 and I can trace it back.

Feb 18, 2010 at 9:04 PM
Edited Feb 18, 2010 at 9:35 PM

I started a new Xbox project and made sure the project properties said V.3.0.  When I referenced the BETA2 libraries, I couldn't get xnanimation on the content processor dropdown.  After checking and rechecking that I was on a 3.0 project and that I was using the BETA2 libraries, I remembered that I had this problem before.  I re-found this thread: http://xnanimation.codeplex.com/Thread/View.aspx?ThreadId=39562  and got the libraries that Anubis9 offered on the last post.  I used the first mirror.  THESE would allow me to get the content processor working for a model.  What I'm saying is, the BETA2 released here: http://xnanimation.codeplex.com/releases/view/14889 has never worked for me before and it looks like it hasn't worked for a lot of people.

I couldn't get it to run, however, because I assume these dlls are for windows only.  There wasn't an Xbox version in the file offered by Anubis9 in that post.  I would really like to get my animations working on Xbox with XNA 3.1.  It's pretty much the last thing I need to figure out, the game works on Xbox without animation.  Sorry to put you through this, thanks for all the help so far.

Also, since you aren't connected to Live, I can test projects on the Xbox for you if that would help resolve this.

Feb 18, 2010 at 9:47 PM

Oh, take a look at this: http://xnanimation.codeplex.com/Thread/View.aspx?ThreadId=30744

The 27th post down describes a fix to errors people were getting that are the same as mine. User Bino said:

"Hi,

I got this working on the XBOX360 with XNA 3.0 with regards to the error - Cannot find ContentTypeReader XNAnimation.Pipeline.SkinnedModelReader.

I can't take credit for the solution.

Goto line 24 in AssemblyHelper.CS of the XNAnimationPipeline project and change the token to 0c21691816f8c6d0

The line should read:

private static readonly string xboxPublicKeyTokens = "0c21691816f8c6d0";

Hope this helps.

Bino"

It seemed to start working for people after that.  Would doing that to the BETA3 work?  My problem is that I don't know exactly what they're describing that should be done.

Feb 19, 2010 at 6:50 AM

So I finally got it working, whew.  I ended up getting the source code and adding the 3 projects (XNAnimation, XNanimation for XBOX and Pipepline) to the solution and referencing those projects where I used to reference the DLLs.  This was all mentioned here: http://xnanimation.codeplex.com/Thread/View.aspx?ThreadId=30744.  I also changed the line 24 in AssemblyHelper.CS like what was mentioned. 

It seems to make my build time go way up, though, and my performance took at noticeable hit, haha.  If it's not one thing, it's another.  I'd like to get my hands on some plain ol' working DLLs but I guess this will do for now.

Another headache I had was for some reason, when I upgraded my project to 3.1, Microsoft.Xna.Framework and Microsoft.Xna.Framework.Game didn't upgrade with everything else.  It took me awhile to figure this out.  Anyway, hope this is helpful to someone else if they get into some trouble.

 

Feb 19, 2010 at 10:52 AM

That was going to be my last resort: strangely, if you compile XNAnimation along with your source code, everything works fine. I'll continue researching in a way of properly compiling the Xbox version.

Feb 25, 2010 at 4:55 PM

Hey, I'm having real trouble getting XNAnimation to work on the XBOX (with xna version 3.1). I have followed everything I've researched online but nothing works for me. Could you possibly upload a download of an XBOX version that can be deployed? I've tried the 'Create copy of for XBOX' option on the Windows project but I just get those annoying assembly reference errors, but it didn't have the option to deploy either. I'm part of a team for a university project and we are quite desperate to get this working.

Feb 25, 2010 at 10:49 PM

Sorry, I'll be away until Saturday afternoon, and won't be able to test anything in my XBox :(

In the meantime, you can download the source code and include the XNAnimation and XNAnimationPipeline projects in your solution; if the DLLs are compiled this way, they are correctly generated.

Mar 2, 2010 at 1:33 PM

Hi BretnPorter.

I've tried to figure out the solution you used. What I'm unsure of is if you used XNA 3.0 or 3.1 when you just implemented the XNAnimation and XNAnimationPipeline.

I've tried this in every way I can think of, including changing the line in AssemblyHelper.cs, nothing works for me.

I get some sort of error when I try compiling that got something to do with EffectCompiler.exe, do you have this problem?

Is it possible for you to upload an example project with everything implemented and working? You see me and a classmate is working on our Bachelor assignment designing a game to 360. But need this to work to be able to play animations.

Would be a great help if we either could get the 360-dll file to work, or using the other solution you suggested Brent.

 

Regards

Kraven911

Mar 8, 2010 at 6:39 PM

I've been working with 3.1.  That was an issue for awhile, though, because whenever I upgraded a project from 3.0 to 3.1, several elements wouldn't upgrade and I kept getting errors.  I eventually figured out that I needed to go through the items in my project, make sure they were all 3.1, and upgrade anything that wasn't.

As far as the XNAnimation and XNAnimationPipeline dlls go, as long as I was working on windows, they worked for me fine (that is, as long as I had working dlls.  I've gone through so many now it's a bit confusing but it's all in previous posts).  Working on the 360 was the real problem.  I eventually got that working by downloading the latest project file for XNAnimation (rather than the straight dlls), adding XNAnimation, XNAnimation for xbox (or something similar to that), and XNAnimationPipeline from the XNanimation project into my project.  I then referenced those where I used to reference the dlls.  Oh, I also changed AssemblyHelper.cs too.

In short, dlls for windows, project files for xbox.  That's how it worked for me.  Also, make sure everything in your project is 3.1.  Beyond that I would make sure your project works without any animation to make sure the problem isn't somewhere else.

Apr 19, 2010 at 8:23 PM
Edited Apr 19, 2010 at 10:13 PM

Any REAL solution to this yet?


When adding the contentpipeline to my xbox360 project(and the xnalibrary to the normal references) no importers are available.



Tried downloading source but it says effectcompiler.exe stopped working when I try to build.

 

Should I go back to 3.0, does it work with the dlls that are available?

 

Basicly error I am getting is:

An unhandled exception of type 'System.TypeLoadException' occurred in Unknown Module.

Additional information: File or assembly name 'Microsoft.Xna.Framework, Version=2.0.0.0, Culture=neutral, PublicKeyToken=51C3BFB2DB46012C', or one of its dependencies, was not found.

Edit: Anyone have a working(3.0 o 3.1) solution folder they can share?