diff --git a/alliance/src/rds/src/rfmacces.c b/alliance/src/rds/src/rfmacces.c index 95ead9d3..edf794be 100644 --- a/alliance/src/rds/src/rfmacces.c +++ b/alliance/src/rds/src/rfmacces.c @@ -272,6 +272,50 @@ rdsrec_list *segmbkrds( Figure, Segment, Lynx ) break; } } + else + if ( TRANS == RDS_TRANS_ARCW ) + { + switch ( Segment->TYPE ) + { + case LEFT : + case RIGHT : X1R = X1 - DLR; + Y1R = Y1 - (WS >> 1) - DWR - OFFSET; + X2R = X2 + DLR; + Y2R = Y2 - (WS >> 1) - OFFSET; + + break; + + case DOWN : + case UP : X1R = X1 + (WS >> 1) + OFFSET; + Y1R = Y1 - DLR; + X2R = X2 + (WS >> 1) + DWR + OFFSET; + Y2R = Y2 + DLR; + + break; + } + } + else + if ( TRANS == RDS_TRANS_ALCW ) + { + switch ( Segment->TYPE ) + { + case LEFT : + case RIGHT : X1R = X1 - DLR; + Y1R = Y1 + (WS >> 1) + OFFSET; + X2R = X2 + DLR; + Y2R = Y2 + (WS >> 1) + DWR + OFFSET; + + break; + + case DOWN : + case UP : X1R = X1 - (WS >> 1) - DWR - OFFSET; + Y1R = Y1 - DLR; + X2R = X2 - (WS >> 1) - OFFSET; + Y2R = Y2 + DLR; + + break; + } + } X1R = RfmRoundLow ( X1R ); Y1R = RfmRoundLow ( Y1R ); diff --git a/alliance/src/rds/src/rpr.h b/alliance/src/rds/src/rpr.h index dacf96e2..10afa2e8 100644 --- a/alliance/src/rds/src/rpr.h +++ b/alliance/src/rds/src/rpr.h @@ -80,8 +80,10 @@ # define RDS_TRANS_LCW (unsigned char)1 # define RDS_TRANS_RCW (unsigned char)2 # define RDS_TRANS_VWS (unsigned char)3 +# define RDS_TRANS_ALCW (unsigned char)4 +# define RDS_TRANS_ARCW (unsigned char)5 -# define RDS_MAX_TRANS ( RDS_TRANS_VWS + 1 ) +# define RDS_MAX_TRANS ( RDS_TRANS_ARCW + 1 ) # define MBK_REF_REF 0 # define MBK_REF_CON 1 diff --git a/alliance/src/rds/src/rprparse.c b/alliance/src/rds/src/rprparse.c index d2c2ed47..3b2fcfb7 100644 --- a/alliance/src/rds/src/rprparse.c +++ b/alliance/src/rds/src/rprparse.c @@ -126,6 +126,7 @@ static keyword KeywordDefine [ RPR_MAX_KEYWORD ] = { + { "alcw", RDS_TRANS_ALCW }, { "all", RDS_USE_ALL }, { "alu1", ALU1 }, { "alu2", ALU2 }, @@ -136,6 +137,7 @@ { "alu7", ALU7 }, { "alu8", ALU8 }, { "alu9", ALU9 }, + { "arcw", RDS_TRANS_ARCW }, { "c_x_n", C_X_N }, { "c_x_p", C_X_P }, { "calu1", CALU1 }, diff --git a/alliance/src/rds/src/rprparse.h b/alliance/src/rds/src/rprparse.h index 7efe1dd0..040cceff 100644 --- a/alliance/src/rds/src/rprparse.h +++ b/alliance/src/rds/src/rprparse.h @@ -31,7 +31,7 @@ # define RPR_MAX_RDS_UNIT 100000L # define RPR_EPSILON ((double)0.001) # define RPR_MAX_BUFFER 512 -# define RPR_MAX_KEYWORD 149 +# define RPR_MAX_KEYWORD 151 # define RPR_SEPARATORS_STRING " \t\n" # define RPR_COMMENT_CHAR '#'