39static NSString * 
const kCacheName            = 
@"sanitized legacy scripts";
 
   42@interface OOPListScript (SetUp)
 
   44+ (NSArray *)scriptsFromDictionaryOfScripts:(NSDictionary *)dictionary filePath:(NSString *)filePath;
 
   45+ (NSArray *) loadCachedScripts:(NSDictionary *)cachedScripts;
 
   46- (id)initWithName:(NSString *)name scriptArray:(NSArray *)script metadata:(NSDictionary *)metadata;
 
   53+ (NSArray *)scriptsInPListFile:(NSString *)filePath
 
   56    if (cachedScripts != 
nil)
 
   63        if (dict == 
nil)  
return nil;
 
    53+ (NSArray *)scriptsInPListFile:(NSString *)filePath {
…}
  
   80    return [_metadata objectForKey:kMDKeyName];
 
 
   86    return [_metadata objectForKey:kMDKeyDescription];
 
 
   92    return [_metadata objectForKey:kMDKeyVersion];
 
 
  104    if (target != 
nil && ![target isKindOfClass:[
ShipEntity class]])
 
  106        OOLog(
@"script.legacy.run.badTarget", 
@"Expected ShipEntity or nil for target, got %@.", [target 
class]);
 
  113    [PLAYER runScriptActions:_script
 
  114             withContextName:[
self name]
 
  115                   forTarget:(ShipEntity *)target];
 
 
  123@implementation OOPListScript (SetUp)
 
  125+ (NSArray *)scriptsFromDictionaryOfScripts:(NSDictionary *)dictionary filePath:(NSString *)filePath
 
  127    NSMutableArray      *result = 
nil;
 
  128    NSEnumerator        *keyEnum = 
nil;
 
  130    NSArray             *scriptArray = 
nil;
 
  131    NSDictionary        *metadata = 
nil;
 
  132    NSMutableDictionary *cachedScripts = 
nil;
 
  139    metadata = [
dictionary objectForKey:kKeyMetadata];
 
  140    if (![metadata isKindOfClass:[NSDictionary 
class]]) metadata = 
nil;
 
  142    for (keyEnum = [dictionary keyEnumerator]; (key = [
keyEnum nextObject]); )
 
  145        if ([key isKindOfClass:[NSString 
class]] &&
 
  146            [scriptArray isKindOfClass:[NSArray 
class]] &&
 
  150            if (scriptArray != 
nil)
 
  152                script = [[
self alloc] initWithName:key scriptArray:scriptArray metadata:metadata];
 
  155                    [
result addObject:script];
 
  156                    [
cachedScripts setObject:[
NSDictionary dictionaryWithObjectsAndKeys:scriptArray, kKeyScript, metadata, kKeyMetadata, nil] forKey:key];
 
  166    return [[
result copy] autorelease];
 
   125+ (NSArray *)scriptsFromDictionaryOfScripts:(NSDictionary *)dictionary filePath:(NSString *)filePath {
…}
  
  170+ (NSArray *) loadCachedScripts:(NSDictionary *)cachedScripts
 
  172    NSEnumerator        *keyEnum = 
nil;
 
  177    for (keyEnum = [cachedScripts keyEnumerator]; (key = [
keyEnum nextObject]); )
 
  179        NSDictionary *cacheValue = [
cachedScripts oo_dictionaryForKey:key];
 
  180        NSArray *scriptArray = [
cacheValue oo_arrayForKey:kKeyScript];
 
  181        NSDictionary *metadata = [
cacheValue oo_dictionaryForKey:kKeyMetadata];
 
  182        OOPListScript *script = [[
self alloc] initWithName:key scriptArray:scriptArray metadata:metadata];
 
  185            [
result addObject:script];
 
  190    return [[
result copy] autorelease];
 
   170+ (NSArray *) loadCachedScripts:(NSDictionary *)cachedScripts {
…}
  
  194- (id)initWithName:(NSString *)name scriptArray:(NSArray *)script metadata:(NSDictionary *)metadata
 
  199        _script = [
script retain];
 
  202            if (metadata == 
nil)  metadata = [
NSDictionary dictionaryWithObject:name forKey:kMDKeyName];
 
  205                NSMutableDictionary *mutableMetadata = [[
metadata mutableCopy] autorelease];
 
  207                metadata = mutableMetadata;
 
   194- (id)initWithName:(NSString *)name scriptArray:(NSArray *)script metadata:(NSDictionary *)metadata {
…}
  
NSArray * OOSanitizeLegacyScript(NSArray *script, NSString *context, BOOL allowAIMethods)
 
#define OOLogOutdentIf(class)
 
#define OOLog(class, format,...)
 
#define OOLogIndentIf(class)
 
NSDictionary * OODictionaryFromFile(NSString *path)
 
static NSString *const kCacheName
 
static NSString *const kMDKeyDescription
 
static NSString *const kKeyMetadata
 
static NSString *const kKeyScript
 
static NSString *const kMDKeyVersion
 
static NSString *const kMDKeyName
 
void setObject:forKey:inCache:(id inElement,[forKey] NSString *inKey,[inCache] NSString *inCacheKey)
 
id objectForKey:inCache:(NSString *inKey,[inCache] NSString *inCacheKey)
 
OOCacheManager * sharedCache()
 
NSArray * scriptsFromDictionaryOfScripts:filePath:(NSDictionary *dictionary,[filePath] NSString *filePath)
 
NSArray * loadCachedScripts:(NSDictionary *cachedScripts)
 
NSString * scriptDescription()