User Tools

Site Tools


formats:zax

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
formats:zax [2009-10-11 00:27] edheldilformats:zax [2009-11-08 23:46] edheldil
Line 1: Line 1:
-==== ZAX File Format ====+==== CObject Text File ====
  
-=== Purpose: ===+==== Purpose: ====
  
-=== EBNF specification ===+zax files 
 + 
 +textures 
 + 
 +surface types (.STY) 
 +...? 
 + 
 +==== EBNF specification ===
 + 
 +  (* FIXME: I have not tested this specification, so there are probably errors in it *) 
 +  (* FIXME: Dynamic Properties are not handled in this description *) 
 +  (* FIXME: DialogTree dash lines are not handled in this description *) 
 +  (* FIXME: spurious empty lines and EOLs are not handled as well *) 
 +   
 +  cobject = classname , [ init_args ] , EOL , cobject_data ; 
 +   
 +  init_args = "(" , int , { "," , int } , ")"
 +   
 +  cobject_data = indent, "{" , EOL, ( keyvalue_data | raw_data ) , indent, "}"
 +  keyvalue_data = { indent , key , "=" , value , EOL } ; 
 +  raw_data = { indent , value , EOL } ; 
 +   
 +  key = limited string ; 
 +  value = string | bool | int | float | cobject ; 
 +  indent = { whitespace } 
 +   
 +  bool = "0" | "1"
 +  int = ( [ "-" ] , digit , { digit } ) | limited string ; 
 +  float = float decimal | float exponential | limited string ; 
 +  float decimal = [ "-" ] , digit , { digit } , "." , digit , { digit } ; 
 +  float exponential = float decimal , "e" , [ "-" ] , digit , { digit } ; 
 +  string = { printable | whitespace } ; 
 +  limited string = keychar | ( keychar , { keychar | whitespace } , keychar } ; 
 +  classname = letter , { letter | digit | "-" } ; 
 +   
 +  EOL = "\r" , "\n"
 +  digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
 +  whitespace = " " | "\t"
 +   
 +  (* meaning of these is hopefully clear *) 
 +  printable = ? "\041" .. "\176" ? ;  
 +  keychar = ? "\041" .. "\074" ? | ? "\076" .. "\176" ? ; (* probably some other chars except "=" are banned as well *) 
 +  letter = ? "A" .. "Z" ? | ? "a" .. "z" ? ; 
 + 
 +==== Classes ==== 
 +Activities/AIs, Actions, ...
  
-  zax ::= "CLayerSaveData" EOL attributes 
-  attributes ::= "{" EOL attribute_list "}" 
-  attribute_list ::= attribute attribute_list 
-                  | e 
-  attribute ::= key "=" value EOL 
-  ... 
formats/zax.txt · Last modified: 2010-10-17 21:51 by edheldil