var searchIndex = {}; searchIndex["elma"] = {"doc":"","items":[[3,"Position","elma","Shared position struct used in both sub-modules.",null,null],[12,"x","","X-position.",0,null],[12,"y","","Y-position.",0,null],[4,"ElmaError","","",null,null],[13,"AcrossUnsupported","","",1,null],[13,"InvalidLevelFile","","",1,null],[13,"InvalidGravity","","",1,null],[13,"InvalidObject","","",1,null],[13,"InvalidClipping","","",1,null],[13,"EODMismatch","","",1,null],[13,"EOFMismatch","","",1,null],[13,"InvalidEvent","","",1,null],[13,"EORMismatch","","",1,null],[13,"InvalidTimeFormat","","",1,null],[13,"PaddingTooShort","","",1,null],[13,"NonASCII","","",1,null],[13,"Io","","",1,null],[13,"StringFromUtf8","","",1,null],[5,"trim_string","","Trims trailing bytes after and including null byte.",null,null],[5,"time_format","","Converts the string-as-i32 times in top10 list to strings.",null,{"inputs":[{"name":"i32"}],"output":{"name":"result"}}],[5,"string_null_pad","","Pads a string with null bytes.",null,{"inputs":[{"name":"str"},{"name":"usize"}],"output":{"name":"result"}}],[0,"lev","","",null,null],[3,"Object","elma::lev","Object struct. Every level requires one `ObjectType::Player` Object and at least one `ObjectType::Exit` Object.",null,null],[12,"position","","Position. See `Position` struct.",2,null],[12,"object_type","","Type of Object, see `ObjectType`.",2,null],[3,"Polygon","","Polygon struct.",null,null],[12,"grass","","Grass polygon.",3,null],[12,"vertices","","Vector with all vertices, see `Position` struct.",3,null],[3,"Picture","","Picture struct.",null,null],[12,"name","","Picture name.",4,null],[12,"texture","","Texture name.",4,null],[12,"mask","","Mask name.",4,null],[12,"position","","Position. See `Position` struct.",4,null],[12,"distance","","Z-distance",4,null],[12,"clip","","Clipping.",4,null],[3,"ListEntry","","Top10 list entry struct.",null,null],[12,"name_1","","Player 1 name.",5,null],[12,"name_2","","Player 2 name.",5,null],[12,"time","","Time.",5,null],[3,"Level","","Level struct that contains all level information.",null,null],[12,"raw","","Raw binary data of a loaded or finalized constructed level.",6,null],[12,"version","","Elma or Across level.",6,null],[12,"link","","Random number that links level file to replay files.",6,null],[12,"integrity","","Contains four integrity checks.",6,null],[12,"name","","Level name.",6,null],[12,"lgr","","LGR file name.",6,null],[12,"ground","","Ground texture name.",6,null],[12,"sky","","Sky texture name.",6,null],[12,"polygons","","Vector with all polygons (See `Polygon`).",6,null],[12,"objects","","Vector with all objects (See `Object`).",6,null],[12,"pictures","","Vector with all pictures (See `Picture`).",6,null],[12,"top10_single","","Vector of Top10 single-player names and times.",6,null],[12,"top10_multi","","Vector of Top10 multi-player names and times.",6,null],[4,"Version","","Game version.",null,null],[13,"Across","","",7,null],[13,"Elma","","",7,null],[4,"ObjectType","","Type of object.",null,null],[13,"Apple","","",8,null],[12,"gravity","elma::lev::ObjectType","",8,null],[12,"animation","","",8,null],[13,"Exit","elma::lev","",8,null],[13,"Killer","","",8,null],[13,"Player","","",8,null],[4,"Direction","","Apple direction object.",null,null],[13,"Normal","","",9,null],[13,"Up","","",9,null],[13,"Down","","",9,null],[13,"Left","","",9,null],[13,"Right","","",9,null],[4,"Clip","","Picture clipping.",null,null],[13,"Unclipped","","",10,null],[13,"Ground","","",10,null],[13,"Sky","","",10,null],[5,"crypt_top10","","Decrypt and encrypt top10 list data. Same algorithm for both.",null,null],[5,"parse_top10","","Parse top10 lists and return a vector of `ListEntry`s",null,null],[11,"eq","","",7,null],[11,"fmt","","",7,null],[11,"default","","",7,{"inputs":[],"output":{"name":"version"}}],[11,"eq","","",8,null],[11,"ne","","",8,null],[11,"fmt","","",8,null],[11,"default","","",8,{"inputs":[],"output":{"name":"objecttype"}}],[11,"eq","","",9,null],[11,"fmt","","",9,null],[11,"default","","",9,{"inputs":[],"output":{"name":"direction"}}],[11,"eq","","",2,null],[11,"ne","","",2,null],[11,"default","","",2,{"inputs":[],"output":{"name":"object"}}],[11,"fmt","","",2,null],[11,"new","","",2,{"inputs":[],"output":{"name":"self"}}],[11,"eq","","",3,null],[11,"ne","","",3,null],[11,"default","","",3,{"inputs":[],"output":{"name":"polygon"}}],[11,"fmt","","",3,null],[11,"new","","Create a new empty polygon.",3,{"inputs":[],"output":{"name":"self"}}],[11,"eq","","",10,null],[11,"fmt","","",10,null],[11,"default","","",10,{"inputs":[],"output":{"name":"clip"}}],[11,"eq","","",4,null],[11,"ne","","",4,null],[11,"default","","",4,{"inputs":[],"output":{"name":"picture"}}],[11,"fmt","","",4,null],[11,"new","","Creates a new picture with default values.",4,{"inputs":[],"output":{"name":"self"}}],[11,"eq","","",5,null],[11,"ne","","",5,null],[11,"default","","",5,{"inputs":[],"output":{"name":"listentry"}}],[11,"fmt","","",5,null],[11,"clone","","",5,null],[11,"cmp","","",5,null],[11,"partial_cmp","","",5,null],[11,"new","","",5,{"inputs":[],"output":{"name":"self"}}],[11,"eq","","",6,null],[11,"ne","","",6,null],[11,"fmt","","",6,null],[11,"default","","",6,{"inputs":[],"output":{"name":"level"}}],[11,"new","","Returns a new `Level` struct.",6,{"inputs":[],"output":{"name":"self"}}],[11,"load","","Loads a level file and returns a `Level` struct.",6,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"update","","Combines the `Level` struct fields to generate the raw binary data, and calculates\nintegrity sums. Called automatically when using the `get_raw` or `save` methods,\nand is provided mainly for convinience if you need to use it manually.",6,null],[11,"topology_check","","Check topology of level.",6,null],[11,"get_raw","","Converts all struct fields into raw binary form and returns the raw data.",6,null],[11,"generate_link","","Generate a random link number. When you save a level, it will keep the original link\nnumber unless explicitly changed manually or by running this function before saving.",6,null],[11,"save","","Saves level as a file.",6,null],[0,"rec","elma","",null,null],[3,"Frame","elma::rec","One frame of replay.",null,null],[12,"bike","","Bike position.",11,null],[12,"left_wheel","","Left wheel position.",11,null],[12,"right_wheel","","Right wheel position.",11,null],[12,"head","","Head position.",11,null],[12,"rotation","","Bike rotation. Range 0..10000.",11,null],[12,"left_wheel_rotation","","Left wheel rotation. Range 0..255.",11,null],[12,"right_wheel_rotation","","Right wheel rotation. Range 0..255.",11,null],[12,"throttle","","Throttle.",11,null],[12,"right","","Right direction. True = right, False = left.",11,null],[12,"volume","","Spring sound effect volume.",11,null],[3,"Event","","Replay events.",null,null],[12,"time","","Time of event.",12,null],[12,"event_type","","Event type.",12,null],[3,"Replay","","Replay struct",null,null],[12,"raw","","Raw binary data.",13,null],[12,"multi","","Whether replay is multi-player or not.",13,null],[12,"flag_tag","","Whether replay is flag-tag or not.",13,null],[12,"link","","Random number to link with level file.",13,null],[12,"level","","Full level filename.",13,null],[12,"frames","","Player one frames.",13,null],[12,"events","","Player one events.",13,null],[12,"frames_2","","Player two frames.",13,null],[12,"events_2","","Player two events.",13,null],[4,"EventType","","Type of event.",null,null],[13,"Touch","","Apple or flower touch, with index of object.",14,null],[12,"index","elma::rec::EventType","",14,null],[13,"Turn","elma::rec","",14,null],[13,"VoltRight","","",14,null],[13,"VoltLeft","","",14,null],[13,"Ground","","Ground touch, for sound effects. Two types; if alternative is true, uses the second type.",14,null],[12,"alternative","elma::rec::EventType","",14,null],[11,"eq","elma::rec","",11,null],[11,"ne","","",11,null],[11,"default","","",11,{"inputs":[],"output":{"name":"frame"}}],[11,"fmt","","",11,null],[11,"new","","Returns a new Frame struct with default values.",11,{"inputs":[],"output":{"name":"self"}}],[11,"eq","","",12,null],[11,"ne","","",12,null],[11,"default","","",12,{"inputs":[],"output":{"name":"event"}}],[11,"fmt","","",12,null],[11,"eq","","",14,null],[11,"ne","","",14,null],[11,"fmt","","",14,null],[11,"default","","",14,{"inputs":[],"output":{"name":"eventtype"}}],[11,"new","","Returns a new Event struct with default values.",12,{"inputs":[],"output":{"name":"self"}}],[11,"eq","","",13,null],[11,"ne","","",13,null],[11,"fmt","","",13,null],[11,"new","","Return a new Replay struct.",13,{"inputs":[],"output":{"name":"self"}}],[11,"load","","Loads a replay file and returns a Replay struct.",13,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"save","","Save replay as a file.",13,null],[11,"get_time_ms","","Get time of replay. Returns tuple with milliseconds and whether replay was finished,\ncaveat being that there is no way to tell if a replay was finished or not just from the\nreplay file with a 100% certainty. Merely provided for convinience.\n# Examples",13,null],[11,"get_time_hs","","Get time of replay. Returns tuple with hundredths and whether replay was finished,\ncaveat being that there is no way to tell if a replay was finished or not just from the\nreplay file with a 100% certainty. Merely provided for convinience.",13,null],[17,"HEAD_DIAMETER","elma","",null,null],[17,"HEAD_RADIUS","","",null,null],[17,"OBJECT_DIAMETER","","",null,null],[17,"OBJECT_RADIUS","","",null,null],[11,"fmt","","",1,null],[11,"from","","",1,{"inputs":[{"name":"error"}],"output":{"name":"elmaerror"}}],[11,"from","","",1,{"inputs":[{"name":"fromutf8error"}],"output":{"name":"elmaerror"}}],[11,"eq","","",0,null],[11,"ne","","",0,null],[11,"default","","",0,{"inputs":[],"output":{"name":"position"}}],[11,"fmt","","",0,null]],"paths":[[3,"Position"],[4,"ElmaError"],[3,"Object"],[3,"Polygon"],[3,"Picture"],[3,"ListEntry"],[3,"Level"],[4,"Version"],[4,"ObjectType"],[4,"Direction"],[4,"Clip"],[3,"Frame"],[3,"Event"],[3,"Replay"],[4,"EventType"]]}; initSearch(searchIndex);