Implement assorted external methods
Implement some Game/GameComponent/DrawableGameComponent externals and stub out some XACT ones.
Improve game to Initialize, Update and Draw components appropriately (though not in any particular order).
Replace backslashes in asset paths with forward slashes.
Don't invoke XNA games' Main() functions since they immediately dispose the game object (it's impossible for game.Run to block like it does in Windows Forms). Instead, manually construct and run a Game instance.
Implement more externals.
Expand asset manifest for RPG demo. Fixes controls screen.
Fix issue where translating mscorlib in stubbed mode produced String.Empty with a value of null instead of "". This is addressed by pulling static field initializers out of static constructors and lifting those values into the initial field definition. Note that the assignments will still live in the cctor, so there's some duplication, but this is necessary to preserve behavior if the cctor reassigns a static field during its execution.
Renamed JSExpression.IsStatic to JSExpression.HasGlobalStateDependency since the original name was so poorly chosen that I had already forgotten what it meant.
Improve the new static constructor analysis to cope better with busted/unimplemented IL. This makes it possible to properly extract default values for static fields from assemblies like mscorlib.
Implement a few new IL expressions to return untranslatable expressions, and tweak a few previous 'abort translation' ones to return untranslatable expressions as well.
Implement the LineSpacing property for the XNA SpriteFont stub. Fixes the help screen in the RPG demo.
Warn in the log when applying an HTML5 font to the canvas fails. This usually indicates that loading the CSS3 web font failed, so it's useful to know that (since the resulting behavior is bizarre in IE).
Temporarily make InternalDrawString ignore requests to render undefined or null as text. The RPG starter kit produces these since it's really low-quality code.
Implement a profile system that allows basic control over project configuration and post-processing of build results.
Automatically load all profiles from the compiler directory at startup.
Add profiles for XNA3 and XNA4 projects that detect use of the XNA framework build targets and automatically load the appropriate proxies for that version of XNA.
Simplify the configuration files for the demos since profile auto-detection is sufficient for them.
JSILc writes the names of output files to stdout so that you can easily get a list of outputs.
The XNA4 profile copies texture and passthrough content to the content output directory if one is set.
Add PNGQuant to the upstream folder.
The XNA4 profile now produces a content manifest for each content project it processes.
JSIL.Browser.js will now automatically load the assets listed within any content manifest included in the page.
Separate out the 'File' asset type and 'PassThrough' content so that extensions are ignored when loading PassThrough content.
Implement List<T>.ToArray() in Bootstrap.
Implement basic support for System.Type.GetType(string)
Implement basic support for assembly short names
XNA 4 profile will copy XNB files to the output directory and add them to the content manifest as XNB if it can't do anything better with the content they contain
SolutionBuilder tracks project build dependencies so that profiles can retrieve information on parent projects (this enables the XNA 4 profile to locate the output directory and the XNB files)
Add partial support for loading XNB files to XNACore
Implement a basic stub for MemoryStream
Add a basic test for System.Type.GetType(string)
Fix incorrect this-reference in overloaded generic methods and add a test.
Fix FindOverload breaking when an overload's argument type is a generic parameter
Fix GenericMethod(T).call and GenericMethod(T).apply.
Add partial implementation of XNA ContentReader
Fix handling of generic type arguments in System.Type.GetType(string)
Expand the test cases for System.Type.GetType(string) so that they cover assembly names as well
Fix System.Type.GetType(string)'s handling of stray spaces in type names
Fix System.Type.GetType(string) failing when it has valid generic arguments but can't resolve the type itself
If a type reader cannot be found in ContentReader.ReadObject, log a meaningful warning and return null