302{
303 NSAssert(
gOOJSMainThreadContext == NULL,
@"-[OOJavaScriptEngine createMainThreadContext] called while the main thread context exists.");
304
305
307
308
310 {
311 OOLog(
@"script.javaScript.init.error",
@"%@",
@"***** FATAL ERROR: failed to create JavaScript context.");
312 exit(1);
313 }
314
316
319
320#if JS_GC_ZEAL
321 uint8_t gcZeal = [[NSUserDefaults standardUserDefaults] oo_unsignedCharForKey:@"js-gc-zeal"];
322 if (gcZeal > 0)
323 {
324
325 OOLog(
@"script.javaScript.debug.gcZeal",
@"Setting JavaScript garbage collector zeal to %u.", gcZeal);
327 }
328#endif
329
331
332
334
335
338 {
339 OOLog(
@"script.javaScript.init.error",
@"%@",
@"***** FATAL ERROR: failed to look up standard JavaScript classes.");
340 exit(1);
341 }
342 [self registerStandardObjectConverters];
343
346
347
380
381
383 properties:[NSDictionary dictionaryWithObject:JSSpecialFunctionsObjectWrapper(gOOJSMainThreadContext)
384 forKey:@"special"]];
385
387
388 OOLog(
@"script.javaScript.init.success",
@"%@",
@"Set up JavaScript context.");
389}
void OOConstToJSStringInit(JSContext *context)
void InitOOJSClock(JSContext *context, JSObject *global)
void InitOOJSDock(JSContext *context, JSObject *global)
void InitOOJSEntity(JSContext *context, JSObject *global)
void InitOOJSEquipmentInfo(JSContext *context, JSObject *global)
void InitOOJSExhaustPlume(JSContext *context, JSObject *global)
void InitOOJSFlasher(JSContext *context, JSObject *global)
void InitOOJSFont(JSContext *context, JSObject *global)
void InitOOJSFrameCallbacks(JSContext *context, JSObject *global)
void CreateOOJSGlobal(JSContext *context, JSObject **outGlobal)
void SetUpOOJSGlobal(JSContext *context, JSObject *global)
void InitOOJSManifest(JSContext *context, JSObject *global)
void InitOOJSMissionVariables(JSContext *context, JSObject *global)
void InitOOJSMission(JSContext *context, JSObject *global)
void InitOOJSOolite(JSContext *context, JSObject *global)
void InitOOJSPlanet(JSContext *context, JSObject *global)
void InitOOJSPlayerShip(JSContext *context, JSObject *global)
void InitOOJSPlayer(JSContext *context, JSObject *global)
void InitOOJSQuaternion(JSContext *context, JSObject *global)
void InitOOJSScript(JSContext *context, JSObject *global)
void InitOOJSShipGroup(JSContext *context, JSObject *global)
void InitOOJSShip(JSContext *context, JSObject *global)
void InitOOJSSoundSource(JSContext *context, JSObject *global)
void InitOOJSSound(JSContext *context, JSObject *global)
void InitOOJSSpecialFunctions(JSContext *context, JSObject *global)
void InitOOJSStation(JSContext *context, JSObject *global)
void InitOOJSSun(JSContext *context, JSObject *global)
void InitOOJSSystemInfo(JSContext *context, JSObject *global)
void InitOOJSSystem(JSContext *context, JSObject *global)
void InitOOJSTimer(JSContext *context, JSObject *global)
void InitOOJSVector(JSContext *context, JSObject *global)
void InitOOJSVisualEffect(JSContext *context, JSObject *global)
void InitOOJSWaypoint(JSContext *context, JSObject *global)
void InitOOJSWorldScripts(JSContext *context, JSObject *global)
void InitOOJSWormhole(JSContext *context, JSObject *global)
#define JS_BeginRequest(context)
#define JS_EndRequest(context)
#define OOJSENGINE_JSVERSION
static void ReportJSError(JSContext *context, const char *message, JSErrorReport *report)
#define OOJSENGINE_CONTEXT_OPTIONS
JSContext * gOOJSMainThreadContext
#define OOLog(class, format,...)
BOOL lookUpStandardClassPointers()
id jsScriptFromFileNamed:properties:(NSString *fileName,[properties] NSDictionary *properties)