1{
2identifier: "re [a-z_]+",
3rectangle: "list [4] integer",
4test: {
5	x: "required integer",
6},
7characters: {
8	_character: "repeated character",
9},
10character: {
11	id: "required identifier",
12	walk: "optional integer",
13	glide: "optional integer",
14	jump: "optional integer",
15	boost: "optional integer",
16	hitpoints: "required integer",
17	vehicle: "optional boolean",
18	passenger_x: "optional integer",
19	passenger_y: "optional integer",
20	traction: "optional integer",
21	weight: "optional integer",
22	feet_width: "optional integer",
23	loop_sound: "optional string",
24	on_attack: "optional formula",
25	on_die: "optional formula",
26	vehicle_die_object: "optional string",
27	springiness: "optional integer",
28	friction: "optional integer",
29	radial_distortion: "optional integer",
30	radial_distortion_intensity: "optional integer",
31	default: "optional string",
32	_portrait: "optional icon",
33	_name: "optional icon",
34	_icon: "optional icon",
35	_stand: "required frame",
36	_turn: "optional frame",
37	_push: "optional frame",
38	_stand_up_slope: "optional frame",
39	_stand_down_slope: "optional frame",
40	_crouch: "optional frame",
41	_roll: "optional frame",
42	_lookup: "optional frame",
43	_gethit: "optional frame",
44	_interact: "optional frame",
45	_attack: "optional frame",
46	_up_attack: "optional frame",
47	_run_attack: "optional frame",
48	_jump_attack: "optional frame",
49	_fall_spin_attack: "optional frame",
50	_idle: "optional frame",
51	_walk: "optional frame",
52	_run: "optional frame",
53	_jump: "optional frame",
54	_fall: "optional frame",
55	_slide: "optional frame",
56	_spring: "optional frame",
57	_die: "optional frame",
58	_swim_side_idle: "optional frame",
59	_swim_down_idle: "optional frame",
60	_swim_up_idle: "optional frame",
61	_swim_side: "optional frame",
62	_swim_down: "optional frame",
63	_swim_up: "optional frame",
64	_current_generator: "optional current_generator",
65	_vars: "optional variables",
66},
67icon: {
68	id: "optional string",
69	image: "required string",
70	rect: "required rectangle",
71},
72frames: {
73	_frame: "repeated icon",
74},
75frame: {
76	image: "required string",
77	collide_x: "optional integer",
78	collide_y: "optional integer",
79	collide_w: "optional integer",
80	collide_h: "optional integer",
81	collide: "optional string",
82	disabled: "optional boolean",
83	rect: "optional string",
84	x: "optional integer",
85	y: "optional integer",
86	w: "optional integer",
87	h: "optional integer",
88	hit_x: "optional integer",
89	hit_y: "optional integer",
90	hit_w: "optional integer",
91	hit_h: "optional integer",
92	hit_frames: "optional string",
93	velocity_x: "optional integer",
94	velocity_y: "optional integer",
95	feet_x: "required integer",
96	feet_y: "required integer",
97	accel_x: "optional integer",
98	accel_y: "optional integer",
99	platform_x: "optional integer",
100	platform_y: "optional integer",
101	platform_w: "optional integer",
102	frames: "optional integer",
103	frames_per_row: "optional integer",
104	duration: "optional integer",
105	scale: "optional integer",
106	pad: "optional integer",
107	reverse: "optional boolean",
108	rotate_on_slope: "optional boolean",
109	sound: "optional string",
110	damage: "optional integer",
111	blur: "optional integer",
112	events: "optional string",
113},
114current_generator: {
115	type: "required string",
116	intensity: "optional integer",
117	radius: "optional integer",
118	falloff: "optional integer",
119},
120}