Index: file.c =================================================================== --- file.c (revision 19585) +++ file.c (revision 19586) @@ -436,7 +436,9 @@ if (trefdes != NULL) { rx = trefdes->X - ox; ry = trefdes->Y - oy; - rdir = trefdes->Direction; + if (!pcb_text_old_direction(&rdir, trefdes->rot)) { +#warning textrot TODO: incompatibility warning + } rscale = trefdes->Scale; } else { @@ -581,7 +583,11 @@ arc->Height, arc->Thickness, arc->Clearance, arc->StartAngle, arc->Delta, F2S(arc, PCB_OBJ_ARC)); } textlist_foreach(&layer->Text, &it, text) { - pcb_fprintf(FP, "\tText[%[0] %[0] %d %d ", text->X, text->Y, text->Direction, text->Scale); + int dir; + if (!pcb_text_old_direction(&dir, text->rot)) { +#warning textrot TODO: incompatibility warning + } + pcb_fprintf(FP, "\tText[%[0] %[0] %d %d ", text->X, text->Y, dir, text->Scale); pcb_print_quoted_string(FP, (char *) PCB_EMPTY(text->TextString)); fprintf(FP, " %s]\n", F2S(text, PCB_OBJ_TEXT)); } Index: parse_y.c =================================================================== --- parse_y.c (revision 19585) +++ parse_y.c (revision 19586) @@ -2339,7 +2339,7 @@ #line 1099 "parse_y.y" /* yacc.c:1646 */ { /* use a default scale of 100% */ - pcb_text_new(Layer,yyFont,OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), (yyvsp[-3].number), 100, 0, (yyvsp[-2].string), pcb_flag_old((yyvsp[-1].integer))); + pcb_text_new(Layer,yyFont,OU ((yyvsp[-5].measure)), OU ((yyvsp[-4].measure)), (yyvsp[-3].number) * 90.0, 100, 0, (yyvsp[-2].string), pcb_flag_old((yyvsp[-1].integer))); free ((yyvsp[-2].string)); } #line 2346 "parse_y.c" /* yacc.c:1646 */ @@ -2353,11 +2353,11 @@ pcb_layer_t *lay = &yyData->Layer[yyData->LayerN + (((yyvsp[-1].integer) & PCB_FLAG_ONSOLDER) ? PCB_SOLDER_SIDE : PCB_COMPONENT_SIDE) - 2]; - pcb_text_new(lay ,yyFont, OU ((yyvsp[-6].measure)), OU ((yyvsp[-5].measure)), (yyvsp[-4].number), (yyvsp[-3].number), 0, (yyvsp[-2].string), + pcb_text_new(lay ,yyFont, OU ((yyvsp[-6].measure)), OU ((yyvsp[-5].measure)), (yyvsp[-4].number) * 90.0, (yyvsp[-3].number), 0, (yyvsp[-2].string), pcb_flag_old((yyvsp[-1].integer))); } else - pcb_text_new(Layer, yyFont, OU ((yyvsp[-6].measure)), OU ((yyvsp[-5].measure)), (yyvsp[-4].number), (yyvsp[-3].number), 0, (yyvsp[-2].string), + pcb_text_new(Layer, yyFont, OU ((yyvsp[-6].measure)), OU ((yyvsp[-5].measure)), (yyvsp[-4].number) * 90.0, (yyvsp[-3].number), 0, (yyvsp[-2].string), pcb_flag_old((yyvsp[-1].integer))); free ((yyvsp[-2].string)); } @@ -2379,10 +2379,10 @@ pcb_layer_t *lay = &yyData->Layer[yyData->LayerN + (((yyvsp[-1].flagtype).f & PCB_FLAG_ONSOLDER) ? PCB_SOLDER_SIDE : PCB_COMPONENT_SIDE) - 2]; - pcb_text_new(lay, yyFont, NU ((yyvsp[-6].measure)), NU ((yyvsp[-5].measure)), (yyvsp[-4].number), (yyvsp[-3].number), 0, (yyvsp[-2].string), (yyvsp[-1].flagtype)); + pcb_text_new(lay, yyFont, NU ((yyvsp[-6].measure)), NU ((yyvsp[-5].measure)), (yyvsp[-4].number) * 90.0, (yyvsp[-3].number), 0, (yyvsp[-2].string), (yyvsp[-1].flagtype)); } else - pcb_text_new(Layer, yyFont, NU ((yyvsp[-6].measure)), NU ((yyvsp[-5].measure)), (yyvsp[-4].number), (yyvsp[-3].number), 0, (yyvsp[-2].string), (yyvsp[-1].flagtype)); + pcb_text_new(Layer, yyFont, NU ((yyvsp[-6].measure)), NU ((yyvsp[-5].measure)), (yyvsp[-4].number) * 90.0, (yyvsp[-3].number), 0, (yyvsp[-2].string), (yyvsp[-1].flagtype)); free ((yyvsp[-2].string)); } #line 2389 "parse_y.c" /* yacc.c:1646 */ Index: parse_y.y =================================================================== --- parse_y.y (revision 19585) +++ parse_y.y (revision 19586) @@ -1098,7 +1098,7 @@ : T_TEXT '(' measure measure number STRING INTEGER ')' { /* use a default scale of 100% */ - pcb_text_new(Layer,yyFont,OU ($3), OU ($4), $5, 100, 0, $6, pcb_flag_old($7)); + pcb_text_new(Layer,yyFont,OU ($3), OU ($4), $5 * 90.0, 100, 0, $6, pcb_flag_old($7)); free ($6); } ; @@ -1112,11 +1112,11 @@ pcb_layer_t *lay = &yyData->Layer[yyData->LayerN + (($8 & PCB_FLAG_ONSOLDER) ? PCB_SOLDER_SIDE : PCB_COMPONENT_SIDE) - 2]; - pcb_text_new(lay ,yyFont, OU ($3), OU ($4), $5, $6, 0, $7, + pcb_text_new(lay ,yyFont, OU ($3), OU ($4), $5 * 90.0, $6, 0, $7, pcb_flag_old($8)); } else - pcb_text_new(Layer, yyFont, OU ($3), OU ($4), $5, $6, 0, $7, + pcb_text_new(Layer, yyFont, OU ($3), OU ($4), $5 * 90.0, $6, 0, $7, pcb_flag_old($8)); free ($7); } @@ -1137,10 +1137,10 @@ pcb_layer_t *lay = &yyData->Layer[yyData->LayerN + (($8.f & PCB_FLAG_ONSOLDER) ? PCB_SOLDER_SIDE : PCB_COMPONENT_SIDE) - 2]; - pcb_text_new(lay, yyFont, NU ($3), NU ($4), $5, $6, 0, $7, $8); + pcb_text_new(lay, yyFont, NU ($3), NU ($4), $5 * 90.0, $6, 0, $7, $8); } else - pcb_text_new(Layer, yyFont, NU ($3), NU ($4), $5, $6, 0, $7, $8); + pcb_text_new(Layer, yyFont, NU ($3), NU ($4), $5 * 90.0, $6, 0, $7, $8); free ($7); } ;