This repository has been archived by the owner on Aug 24, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 242
jsilConfig
Katelyn Gadd edited this page Nov 23, 2015
·
20 revisions
The JSIL script loader (contained in JSIL.js) is responsible for loading the scripts necessary to run a JSIL game or application. The script loader (and other parts of JSIL) read configuration settings from a global variable named jsilConfig.
The jsilConfig object is a JSON-style dictionary. The following keys can be provided:
Key | Type | Default Value | Description |
---|---|---|---|
manifests | Array | [] | A list of manifests to load. You typically want to include the name of your application in this list ("Foo.exe") along with any other assemblies or content projects you want to load ("Content /FooContent.contentproj"). |
Search Paths | |||
Key | Type | Default Value | Description |
libraryRoot | String | "../Libraries/" | Where JSIL looks for libraries (like JSIL.Bootstrap). |
manifestRoot | String | "" | Where JSIL looks for manifests (like MyApp.manifest.js). |
scriptRoot | String | "" | Where JSIL looks for application scripts. |
fileRoot | String | "" | Where JSIL looks for raw files included with your application. |
assetRoot | String | "" | |
contentRoot | String | "Content/" | Where JSIL looks for XNA content (.xnb files and the like) |
fileVirtualRoot | String | fileRoot or "" | If readOnlyStorage is enabled, this controls the root directory where all your files are available. You may need to fiddle with this to reproduce the way your application is normally laid out on disk. |
Default UI | |||
Key | Type | Default Value | Description |
showProgressBar | Boolean | false | If true, shows a basic progress bar while loading. |
showFullscreenButton | Boolean | false | If true, shows a button to allow the user to enter HTML5 Full Screen mode, if available. |
showStats | Boolean | false | If true, shows basic performance statistics in an element with id="stats". |
graphicalStats | Boolean | false | If true, replaces the textual stats display with a simplified graphical display. |
Optional Features | |||
Key | Type | Default Value | Description |
CORS | Boolean | false | If true, turns on required support for Cross Origin Resource Sharing. You will need this to load assets (like images or sounds) from a server different than the one hosting your game. Note that many browsers still do not support this. |
printStackTrace | Boolean | false | If true, printStackTrace.js will be loaded to provide more detailed stack traces for errors in your application. This can be useful for debugging but comes with a performance penalty. |
webgl2d | Boolean | false | If true, webgl-2d will be loaded and used if available to accelerate graphics rendering (instead of HTML5 Canvas). WebGL-2D provides superior performance for games that use lots of color multiplication. |
xml | Boolean | false | Enables partial System.Xml support. |
gamepad | Boolean | false | If true, gamepad.js will be loaded to provide support for XBox 360 controllers in compatible browsers on compatible PCs. |
winForms | Boolean | false | If true, the JSIL support libraries for System.Windows.Forms and System.Drawing will be loaded. |
xna | Integer | If an XNA version is specified, JSIL support libraries for that version of XNA will be loaded. Supported versions are 3 and 4. | |
readOnlyStorage | Boolean | false | If true, the JSIL support libraries for read-only filesystem emulation will be loaded. Read-only filesystem emulation exposes all your application's files in a virtual filesystem that you can access with the standard .NET File APIs. |
localStorage | Boolean | false | If true, the JSIL support libraries for localStorage filesystem emulation will be loaded. localStorage filesystem emulation provides a writable filesystem that you can access with the standard .NET File APIs that is automatically saved by the user's browser in localStorage. The XNA StorageDevice / StorageContainer APIs will also utilize this to save games. |
interpreter | Boolean | false | If true, the JSIL support libraries for LINQ Expressions interpretation will be loaded (about 2Mb). It will provide support for LambdaExpression and Expression Compile method, but will work only if System.Colocal assembly was translated with BCL proxies. |
Extension Hooks | ||
---|---|---|
Key | Arguments | Description |
getScreenDimensions | void | If provided, this function should return an array containing the width and height of the screen. This allows you to control the screen dimensions seen by consumers of the Windows Forms and XNA APIs. |
reportFps | drawsPerSecond, updatesPerSecond, cacheSize, isWebGL | If provided, this function is called once per second with information on the current performance of the running game. |
updateProgressBar | prefix, suffix, bytesLoaded, bytesTotal | If provided, this function is called to update the loading progress bar. Prefix and suffix are strings that provide more information on the state of the loading process. bytesLoaded and bytesTotal represent the progress of the load. Note that loads currently have multiple stages so you will see progress go from 0 to 100% at least twice. |
onLoadFailure | path, errorText | If provided, this function is called once each time a file fails to load. |
onLoadFailed | loadFailures | If provided, this function is called once at the end of the loading process if any part of the load failed. The loadFailures argument is an array containing information on all of the failures. You can use this callback to present simple information to the user informing them that the load failed and suggesting solutions. |