Microsoft XNA Game Studio 3.0 Unleashed - Errata
Any Chapters not listed here do not have any known errors. The complete list of chapters can be found on the main Microsoft XNA Game Studio 3.0 Unleashed book information page.
If you find an error in the book, please create a new post to this forum.
Introduction
Page 2
Software Requirements
There is outdated information in the introduction. The text should state that Microsoft Visual C# 2008 Express or any Visual Studio 2008 SKU (not Visual C# 2005 Express). It should also state Microsoft XNA Game Studio 3.0 and not Express. Finally, DirectX 9.0c is no longer a requirement to install first. The XNA Game Studio setup will take care of this now. Thanks to
alvin for pointing this out in the forums.
Chapter 1
Page 15
Installing XNA Game Studio
The Warning box at the bottom of the page is no longer valid. It is no longer required to run Visual C# Express once before installing XNA Game Studio. This was a requirement early on, but is no longer the case. Thanks to
alvin for pointing this out in the forums.
Chapter 3
Code Fix on CD
Chapter 3 was edited with the CTP version of XNA Game Studio 3.0. As a result the XNAPerformanceChecker.csproj file is incorrect. The result is that the assemblies it references cannot load successfully. This can be corrected by either following the steps here or by overwriting the current .csproj file with the updated one: XNAPerformanceChecker.csproj. Thanks to Pelham for pointing this out in the forums.
Pages 42,43
Benchmarking
In the code there are extra > values after the methods TransformVectorByReferenceAndOut() and TransformVectorByReferenceAndOutVectorAdd(). The > needs to be removed. Thanks to Myth for pointing this out in the forums.
Chapter 4
Page 57
Creating a Camera
"We then need to add a call to InitializeCamera in the beginning of our LoadGraphicsContent method." should be "We then need to add a call to InitializeCamera in the beginning of our LoadContent method." Thanks to alvin for pointing this out in the forums.
Page 75
Checking Performance
The assignment of the vertexBuffer should be the following code:
vertexBuffer = new VertexBuffer(graphics.GraphicsDevice,
VertexPositionNormalTexture.SizeInBytes * vertices.Length,
BufferUsage.WriteOnly);
The code listed in the book was not correctly changed from the previous edition. Thanks to Myth for pointing this out in the forums.
Chapter 7
Code Fix on CD
Sound Demo
Much to my dismay there is an issue with the code on the CD. The SoundDemo had test code and didn't include the content.contentproj file. As a result after the Chapter 7 code and assets are copied from the CD onto your hard drive you will need to download and extract two files.
Download
Chapter7Fix.zip and extract to the Chapter7 folder. It will overwrite the Game1.cs file in the SoundDemo folder. It will add the missing content.contentproj to the SoundDemo\Content folder.
Chapter 9
Code Fix on CD
Sort Order Demo and Progress Bar Demo
With the change from XNA Game Studio 1.0 Refresh to XNA Game Studio 3.0, Microsoft included a enumeration type for buttons. In the original book we created our own type InputHandler.ButtonType. The built in enum type is simply Buttons. In the Game1.cs files for both the Sort Order Demo and the Progress Bar demo both reference the custom enum type which does not exist in the XELibrary code. The code should reference Buttons instead of InputHandler.ButtonType.
Download
Chapter9Fix.zip and extract to the Chapter9 folder. It will overwrite the Game1.cs files in the SortOrderDemo and ProgressBarDemo folders.
Alternatively, you can search and replace (Case Sensative) InputHandler.ButtonType. with Buttons. in the Game1.cs files in both the SortOrderDemo and the ProgressBarDemo solutions.
Pages 179,180,187
Practical Sprite Batches
All instances of code where InputHandler.ButtonType. is found, it should be replaced with Buttons.
Page 178 - 183
Practical Sprite Batches
One Figure image was in the incorrect position. This caused Figures 9.3 to 9.6 to not have the correct images.
Figure 9.3 shapes.png
Figure 9.4 SpriteSortMode.Deferred does not sort the images drawn and displays them in the order they were drawn in the code.
Figure 9.5 SpriteSortMode.BackToFront sorts images based on the layer depth values, with the highest number being farthest from the screen.
Figure 9.6 SpriteSortMode.FrontToBack sorts the images based on the layer depth values, with the lowest number being farthest from the screen.