-//shift list_namelist name > reduce vlink
-vlink:
-LINK NAME LINK link_namelist PATH {insert_vlink($2, 0); };
-| LINK link_namelist PATH {insert_vlink(NULL, 0);};
-| LINK REF PATH {insert_vlink(NULL, $2);};//vdat of ref
-| LINK NAME LINK REF PATH {insert_vlink($2, $4);};//modelname of ref
-;
-
-
-olink:
-set_namelist MOPEN REF
-;
-
-ref_id:
-LINK REF {$$ = $2;};
-;
-
-
-vdat_statement:
-set_namelist SS spritesheet_statement
-| set_namelist SS vlink
-;
-
-spritesheet_statement:
-NAME D HEIGHT WIDTH PATH {insert_framesheet($1, $2, $3, $4, 0, $5);};
-| NAME D PATH {insert_framesheet($1, $2, 0, 0, 0, $3);};
-| NAME HEIGHT WIDTH PATH {insert_framesheet($1, 0, $2, $3, 0, $4);};
-| NAME PATH {insert_framesheet($1, 0, 0, 0, 0, $2);};
-| NAME D HEIGHT WIDTH ref_id PATH {insert_framesheet($1, $2, $3, $4, $5, $6);};
-| NAME D ref_id PATH {insert_framesheet($1, $2, 0, 0, $3, $4);};
-| NAME HEIGHT WIDTH ref_id PATH {insert_framesheet($1, 0, $2, $3, $4, $5);};
-| NAME ref_id PATH {insert_framesheet($1, 0, 0, 0, $2, $3);};
+frame_spec:
+ NUM NUM { $$ = (struct frame_spec_t) {SFACE,$1,$2}; }
+| FACING { $$ = (struct frame_spec_t) {$1,0,0}; }
+| FACING NUM NUM { $$ = (struct frame_spec_t) {$1,$2,$3}; }
+| %empty { $$ = (struct frame_spec_t) {SFACE,0,0}; }