2007-07-18 15:42:58 +00:00
/* verifyOXP.plist
2007-07-19 10:44:52 +00:00
Various things used internally by the OXP verifier.
2007-07-18 15:42:58 +00:00
*/
{
2007-07-19 11:21:01 +00:00
stages =
2007-07-18 15:42:58 +00:00
(
2007-07-19 11:21:01 +00:00
"OOCheckRequiresPListVerifierStage",
2007-07-19 12:09:01 +00:00
"OOCheckDemoShipsPListVerifierStage",
2007-07-20 22:14:22 +00:00
"OOCheckEquipmentPListVerifierStage",
2007-07-20 22:44:37 +00:00
"OOTextureVerifierStage",
"OOCheckShipDataPListVerifierStage"
2007-07-20 22:14:22 +00:00
);
excludeStages =
(
/* Add stages here to stop them from being used. For instance, to
skip the texture verification, create a verifyOXP.plist file in
your AddOns folder with the following content:
{ excludeStages = ( "OOTextureVerifierStage" ); }
*/
2007-07-18 15:42:58 +00:00
);
logControlOverride =
{
// Note: only yes and no here, no inherit or $metaclass
dataCache.rebuild.pathsChanged = "no";
verifyOXP = "yes";
verifyOXP.stage = "yes";
};
2007-07-19 11:21:01 +00:00
logShowMessageClassOverride = "no";
2007-07-18 15:42:58 +00:00
knownRootDirectories =
(
// Folder names that are meaningful inside an OXP
"AIs",
"Config",
"Images",
"Models",
"Music",
"Scripts",
"Shaders",
"Sounds",
"Textures"
);
knownConfigFiles =
(
"autoAImap.plist",
"characters.plist",
2007-07-18 23:53:51 +00:00
"commodities.plist",
2007-07-18 15:42:58 +00:00
"customsounds.plist",
"demoships.plist",
"descriptions.plist",
"equipment.plist",
"hud.plist",
2007-07-18 23:53:51 +00:00
"illegal_goods.plist",
"keyconfig.plist",
"material-defaults.plist",
2007-07-18 15:42:58 +00:00
"missiontext.plist",
"nebulatextures.plist",
"planetinfo.plist",
"requires.plist",
"script.plist",
2007-07-18 23:53:51 +00:00
"script.js",
2007-07-18 15:42:58 +00:00
"shipdata.plist",
"shipyard.plist",
"speech_pronounciation_guide.plist",
"startextures.plist",
"world-scripts.plist"
);
2007-07-19 11:21:01 +00:00
junkFiles =
2007-07-19 10:44:52 +00:00
(
2007-07-19 11:21:01 +00:00
// Files generated by operating systems and tools which can be ignored.
".DS_Store",
"Thumbs.db",
"zipinfo.txt"
2007-07-19 10:44:52 +00:00
);
2007-07-19 12:09:01 +00:00
skipDirectories =
(
2007-07-25 16:43:29 +00:00
// Directories to silently skip (version control systems make these).
2007-07-19 12:09:01 +00:00
".svn",
"CVS"
);
2007-07-19 11:21:01 +00:00
readMeNames =
{
stems =
(
"readme",
"read me",
"read_me",
"read me now",
"read me first",
"readme!",
"read me!",
"read_me!",
"read me now!",
"read me first!"
);
extensions =
(
"",
".txt",
".html",
".htm",
".rtf",
".doc"
);
};
requiresPListSupportedKeys =
2007-07-18 15:42:58 +00:00
(
2007-07-19 11:21:01 +00:00
"version",
"max_version"
2007-07-18 15:42:58 +00:00
);
2007-07-20 16:29:40 +00:00
debugGraphvizTempate =
{
/* Bits needed to generate graphviz code describing verifier stage
dependency relationships. This is generated (and written to the
current working directory) if the preference
"oxp-verifier-dump-debug-graphviz" is set to YES.
*/
2007-07-20 20:02:48 +00:00
preamble = "// OXPVerifier stage dependencies:\n\ndigraph stagedeps\n{\n\tgraph [charset=\"UTF-8\", label=\"OXPVerifier dependency graph\\n%@\", labelloc=t, labeljust=l];\n\tnode [shape=box];\n\t\n\tstart [label=Start shape=Mdiamond];\n\tend [label=End shape=Msquare];\n\t\n";
node = "\tst%p [label=\"%@\\n“%@”\"];\n";
2007-07-20 16:29:40 +00:00
forwardPreamble = "\t\n\t// Forward arcs, from dependencies to dependents.\n\t// These indicate acceptable execution orders.\n\tedge [arrowhead=normal, color=blue];\n";
2007-07-20 20:02:48 +00:00
forwardArc = "\tst%p -> st%p;\n";
startArc = "\tstart -> st%p;\n";
2007-07-20 16:29:40 +00:00
backwardPreamble = "\t\n\t// Backward arcs, from dependents to dependencies.\n\t// There should be one backwards arc for each forward arc.\n\tedge [arrowhead=dot, color=green, constraint=false];\n";
2007-07-20 20:02:48 +00:00
backwardArc = "\tst%p -> st%p;\n";
endArc = "\tst%p -> end [constraint=true, arrowhead=none, arrowtail=dot];\n";
2007-07-20 16:29:40 +00:00
postamble = "}\n";
};
2007-07-21 11:03:32 +00:00
shipdataPListSettings =
{
knownShipKeys =
(
"like_ship",
"max_flight_speed",
"max_flight_roll",
"max_flight_pitch",
"max_flight_yaw",
"thrust",
"accuracy",
"max_energy",
"energy_recharge_rate",
"forward_weapon_type",
"aft_weapon_type",
"weapon_energy",
"scanner_range",
"missiles",
"has_ecm",
"has_scoop",
"has_escape_pod",
"has_energy_bomb",
"has_fuel_injection",
"has_cloaking_device",
"has_military_jammer",
"has_military_scanner_filter",
"fragment_chance",
"has_shield_booster",
"has_shield_enhancer",
"fuel",
"bounty",
"ai_type",
"max_cargo",
"likely_cargo",
"extra_cargo",
"cargo_carried",
"cargo_type",
"model",
"materials",
"shaders",
"smooth",
"density",
"name",
"roles",
"exhaust",
"is_hulk",
"subentities",
"frangible",
"laser_color",
"scanClass",
"launch_actions",
"script_actions",
"death_actions",
"setup_actions",
"escorts",
"beacon",
"rotational_velocity",
"track_contacts",
"weapon_position_forward",
"weapon_position_aft",
"weapon_position_port",
"weapon_position_starboard",
"scoop_position",
"heat_insulation",
"pilot",
"unpiloted",
"escort-role",
"escort-ship",
"cargo_carried",
"missile_launch_position",
"missile_role",
"escape_pod_model",
"aft_eject_position",
"auto_ai"
);
knownStationKeys =
(
"rotating",
"defense_ship",
"defense_ship_role",
"hasShipyard",
"port_radius",
"port_dimensions",
"equivalent_tech_level",
"max_scavengers",
"max_defense_ships",
"max_police",
"equipment_price_factor"
);
knownPlayerKeys =
(
"extra_equipment",
"hud",
"view_position_forward",
"view_position_aft",
"view_position_port",
"view_position_starboard",
"custom_views",
"max_missiles"
);
2007-07-25 16:43:29 +00:00
entrySchema =
{
type = "dictionary";
2007-07-27 00:53:44 +00:00
requiredKeys = ( "model", "name", "roles" );
2007-07-25 16:43:29 +00:00
$definitions =
{
// "Special" types referred to above.
$weaponType =
{
type = "enumeration";
values =
(
"WEAPON_NONE",
"WEAPON_PLASMA_CANNON",
"WEAPON_PULSE_LASER",
"WEAPON_BEAM_LASER",
"WEAPON_MINING_LASER",
"WEAPON_MILITARY_LASER",
"WEAPON_THARGOID_LASER"
);
};
$materialDict =
{
type = "dictionary";
schema =
{
ambient = "$colorSpecifier";
diffuse = "$colorSpecifier";
diffuse_map = "$textureSpecifier";
emission = "$colorSpecifier";
shininess =
{
type = "positiveInteger";
max = "128";
};
specular = "$colorSpecifier";
fragment_shader = "$shaderFileName";
textures =
{
type = "array";
valueType = "$textureSpecifier";
};
uniforms =
{
type = "dictionary";
valueType =
{
type = "oneOf";
options =
(
"string",
{
type = "dictionary";
schema =
{
asMatrix = "boolean";
binding = "string";
clamped = "boolean";
normalized = "boolean";
type =
{
type = "enumeration";
values =
(
"binding",
"float",
"real",
"int",
"integer",
"texture"
);
};
value = "float";
};
}
);
};
};
vertex_shader = "$shaderFileName";
};
};
$textureSpecifier =
{
type = "oneOf";
options =
(
"string",
{
type = "dictionary";
schema =
{
anisotropy = "positiveFloat";
mag_filter =
{
type = "enumeration";
values =
(
"nearest",
"linear"
);
};
min_filter =
{
type = "enumeration";
values =
(
"nearest",
"linear",
"mipmap",
"default"
);
};
name = "string";
no_shrink = "boolean";
repeat_s = "boolean";
repeat_t = "boolean";
texture_LOD_bias = "float";
};
}
);
};
$scanClass =
{
type = "enumeration";
values =
(
"CLASS_NOT_SET",
"CLASS_BUOY",
"CLASS_CARGO",
"CLASS_MILITARY",
"CLASS_MISSILE",
"CLASS_POLICE",
"CLASS_ROCK",
"CLASS_STATION",
"CLASS_THARGOID"
);
};
$cargoType =
{
type = "enumeration";
values =
(
"CARGO_NOT_CARGO",
"CARGO_SLAVES",
"CARGO_ALLOY",
"CARGO_MINERALS",
"CARGO_THARGOID",
"CARGO_RANDOM",
"CARGO_SCRIPTED_ITEM",
"CARGO_CHARACTER"
);
};
$customViewSpec =
{
type = "dictionary";
schema =
{
view_description = "string";
view_position = "vector";
view_orientation = "quaternion";
weapon_facing =
{
type = "enumeration";
filter = "lowerCase";
values =
(
"forward",
"aft",
"port",
"starboard"
);
};
};
};
// Types handled in code.
$modelName =
{
type = "delegatedType";
baseType =
{
type = "string";
filter = "lowerCase";
requiredSuffix = ".dat";
};
key = "modelName";
};
$colorSpecifier =
{
type = "delegatedType";
baseType =
{
type = "oneOf";
options =
(
"array",
"dictionary",
"string"
);
};
key = "colorSpecifier";
};
$textureFileName =
{
type = "delegatedType";
baseType =
{
type = "string";
filter = "lowerCase";
requiredSuffix = ".png";
};
key = "textureFileName";
};
$aiFileName =
{
type = "delegatedType";
baseType =
{
type = "string";
filter = "lowerCase";
requiredSuffix = ".plist";
};
key = "aiFileName";
};
$shaderFileName =
{
type = "delegatedType";
baseType =
{
type = "string";
filter = "lowerCase";
requiredSuffix =
(
".vertex",
".vert",
".fragment",
".frag"
);
};
key = "shaderFileName";
};
$exhaustSpecifier =
{
type = "delegatedType";
baseType = "string";
key = "exhaustSpecifier";
};
$subEntitySpecifier =
{
type = "delegatedType";
baseType = "string";
key = "subEntitySpecifier";
};
$scriptActions =
{
type = "delegatedType";
baseType = "array";
key = "scriptActions";
};
$characterKey =
{
type = "delegatedType";
baseType = "string";
key = "characterKey";
};
$shipRole =
{
type = "delegatedType";
baseType = "string";
key = "shipRole";
};
$shipKey =
{
type = "delegatedType";
baseType = "string";
key = "shipKey";
};
$roles =
{
type = "delegatedType";
baseType = "string";
key = "roles";
};
$scriptCondition =
{
type = "delegatedType";
baseType = "string";
key = "scriptCondition";
};
$scriptCouplet =
{
type = "delegatedType";
baseType = "dictionary";
key = "scriptCouplet";
};
$portDimensions =
{
type = "delegatedType";
baseType = "string";
key = "portDimensions";
};
$extraEquipmentDictionary =
{
type = "delegatedType";
baseType = "dictionary";
key = "extraEquipmentDictionary";
};
$hudFileName =
{
type = "delegatedType";
baseType = "string";
key = "hudFileName";
};
$cargoCarried =
{
type = "delegatedType";
baseType = "string";
key = "cargoCarried";
};
};
schema =
{
like_ship = "$shipRole";
max_flight_speed = "positiveFloat";
max_flight_roll = "positiveFloat";
max_flight_pitch = "positiveFloat";
max_flight_yaw = "positiveFloat";
thrust = "positiveFloat";
accuracy = "float";
max_energy = "positiveFloat";
energy_recharge_rate = "positiveFloat";
forward_weapon_type = "$weaponType";
aft_weapon_type = "$weaponType";
weapon_energy = "positiveFloat";
scanner_range = "positiveFloat";
missiles = "positiveInteger";
has_ecm = "fuzzyBoolean";
has_scoop = "fuzzyBoolean";
has_escape_pod = "positiveInteger";
has_energy_bomb = "fuzzyBoolean";
has_fuel_injection = "fuzzyBoolean";
has_cloaking_device = "fuzzyBoolean";
has_military_jammer = "fuzzyBoolean";
has_military_scanner_filter = "fuzzyBoolean";
fragment_chance = "fuzzyBoolean";
has_shield_booster = "fuzzyBoolean";
has_shield_enhancer = "fuzzyBoolean";
fuel = "positiveInteger";
bounty = "positiveInteger";
ai_type = "$aiFileName";
max_cargo = "positiveInteger";
likely_cargo = "positiveInteger";
extra_cargo = "positiveInteger";
cargo_carried = "$cargoCarried";
cargo_type = "$cargoType";
model = "$modelName";
materials = "$materialDict";
shaders = "$materialDict";
smooth = "boolean";
density = "positiveFloat";
name = "string";
roles = "$roles";
exhaust =
{
type = "array";
valueType = "$exhaustSpecifier";
};
is_hulk = "boolean";
subentities =
{
type = "array";
valueType = "$subEntitySpecifier";
};
frangible = "boolean";
laser_color = "$colorSpecifier";
scanClass = "$scanClass";
launch_actions = "$scriptActions";
script_actions = "$scriptActions";
death_actions = "$scriptActions";
setup_actions = "$scriptActions";
escorts = "positiveInteger";
beacon = "string";
rotational_velocity = "quaternion";
track_contacts = "boolean";
weapon_position_forward = "vector";
weapon_position_aft = "vector";
weapon_position_port = "vector";
weapon_position_starboard = "vector";
scoop_position = "vector";
heat_insulation = "positiveFloat";
pilot = "$characterKey";
unpiloted = "fuzzyBoolean";
escort-role = "$shipRole";
escort-ship = "$shipKey";
missile_launch_position = "vector";
missile_role = "$shipRole";
escape_pod_model = "$modelName";
aft_eject_position = "vector";
auto_ai = "boolean";
rotating = "boolean";
defense_ship = "$shipKey";
defense_ship_role = "$shipRole";
hasShipyard =
{
type = "oneOf";
options =
(
"$scriptCondition",
"boolean"
);
};
conditions = "$scriptCouplet";
port_radius = "positiveFloat";
port_dimensions = "$portDimensions";
equivalent_tech_level = "integer";
max_scavengers = "positiveInteger";
max_defense_ships = "positiveInteger";
max_police = "positiveInteger";
equipment_price_factor = "positiveFloat";
extra_equipment = "$extraEquipmentDictionary";
hud = "$hudFileName";
view_position_forward = "vector";
view_position_aft = "vector";
view_position_port = "vector";
view_position_starboard = "vector";
custom_views =
{
type = "array";
valueType = "$customViewSpec";
};
max_missiles = "positiveInteger";
};
};
2007-07-21 11:03:32 +00:00
};
2007-07-18 15:42:58 +00:00
}