File rasmol-upstream_distfix.patch of Package rasmol
--- src/abstree.c
+++ src/abstree.c
@@ -1289,15 +1289,15 @@
double CalcDistance( RAtom __far *atm1, RAtom __far *atm2 )
{
- register Long dx,dy,dz;
+ register double dx,dy,dz;
register double dist2;
- dx = atm1->xorg - atm2->xorg + atm1->fxorg - atm2->fxorg;
- dy = atm1->yorg - atm2->yorg + atm1->fyorg - atm2->fyorg;
- dz = atm1->zorg - atm2->zorg + atm1->fzorg - atm2->fzorg;
- if( dx || dy || dz )
+ dx = (double)(atm1->xorg - atm2->xorg + atm1->fxorg - atm2->fxorg);
+ dy = (double)(atm1->yorg - atm2->yorg + atm1->fyorg - atm2->fyorg);
+ dz = (double)(atm1->zorg - atm2->zorg + atm1->fzorg - atm2->fzorg);
+ if( dx != 0.0 || dy != 0.0 || dz != 0.0 )
{ dist2 = dx*dx + dy*dy + dz*dz;
- return( sqrt(dist2)/250.0 );
+ return( sqrt(dist2/62500.) );
} else return 0.0;
}
--- src/render.c
+++ src/render.c
@@ -1919,6 +1919,12 @@
for( i=0; str[i] && i<12; i++ )
if( str[i]!=' ' )
WriteChar(str[i]);
+
+ if (ptr->atm->model)
+ {
+ sprintf(buffer,"/%d",ptr->atm->model);
+ WriteString(buffer);
+ }
if( flag )
{ sprintf(buffer," (%ld)",ptr->atm->serno);
@@ -2182,7 +2188,7 @@
/* [GSG 11/21/95] */
AddMonitors2(PickHist[0].atm, PickHist[2].atm,
PickHist[1].atm, (RAtom __far *)NULL,
- (short) (rint(temp*100)), 128, PickAngle);
+ (Long) (rint(temp*100)), 128, PickAngle);
ReDrawFlag |= RFRefresh;
@@ -2207,7 +2213,7 @@
/* [GSG 11/21/95] */
AddMonitors2(PickHist[0].atm, PickHist[3].atm,
PickHist[1].atm, PickHist[2].atm,
- (short) (rint(temp*100)), 128, PickTorsn);
+ (Long) (rint(temp*100)), 128, PickTorsn);
ReDrawFlag |= RFRefresh;
}
}
--- src/repres.c
+++ src/repres.c
@@ -523,7 +523,7 @@
/* [GSG 11/21/95] AddMonitors2 can add a monitor w/a given number */
void AddMonitors2( RAtom __far *src, RAtom __far *dst,
RAtom __far *mid1, RAtom __far *mid2,
- short dist, unsigned char units, int monmode )
+ Long dist, unsigned char units, int monmode )
{
register Monitor **prev;
register Monitor *ptr;
@@ -567,17 +567,9 @@
void AddMonitors( RAtom __far *src, RAtom __far *dst )
{
- register Long dx, dy, dz;
- register Long dist;
- short temp;
+ Long temp;
- dx = src->xorg - dst->xorg + src->fxorg - dst->fxorg;
- dy = src->yorg - dst->yorg + src->fyorg - dst->fyorg;
- dz = src->zorg - dst->zorg + src->fzorg - dst->fzorg;
-
- /* ptr->dist = 100.0*CalcDistance(src,dst) */
- dist = isqrt( dx*dx + dy*dy + dz*dz );
- temp = rint(100.0*CalcDistance(src,dst));
+ temp = (Long)rint(100.0*CalcDistance(src,dst));
AddMonitors2(src, dst,
(RAtom __far *)NULL, (RAtom __far *)NULL, temp, 127, PickDist);
--- src/repres.h
+++ src/repres.h
@@ -99,7 +99,7 @@
RAtom __far *mid2;
RAtom __far *dst;
int monmode;
- int dist;
+ Long dist;
short col;
unsigned char units;
} Monitor;
@@ -162,7 +162,7 @@
void DeleteMonitors( void );
void AddMonitors2( RAtom __far*, RAtom __far*,
RAtom __far*, RAtom __far*,
- short, unsigned char, int );
+ Long, unsigned char, int );
void AddMonitors( RAtom __far*, RAtom __far* );
void CreateMonitor( Long, Long );
void DisplayMonitors( void );