summaryrefslogtreecommitdiff
path: root/app/bin/compound.h
diff options
context:
space:
mode:
Diffstat (limited to 'app/bin/compound.h')
-rw-r--r--app/bin/compound.h167
1 files changed, 84 insertions, 83 deletions
diff --git a/app/bin/compound.h b/app/bin/compound.h
index edcbb66..0a4a0ae 100644
--- a/app/bin/compound.h
+++ b/app/bin/compound.h
@@ -17,7 +17,7 @@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef COMPOUND_H
@@ -29,77 +29,72 @@
typedef enum { TOnormal, TOadjustable, TOpierInfo, TOpier, TOcarDesc, TOlast } TOspecial_e;
typedef struct {
- char * name;
- FLOAT_T height;
- } pierInfo_t;
+ char * name;
+ FLOAT_T height;
+} pierInfo_t;
typedef union {
- struct {
- FLOAT_T minD, maxD;
- } adjustable;
- struct {
- int cnt;
- pierInfo_t * info;
- } pierInfo;
- struct {
- FLOAT_T height;
- char * name;
- } pier;
- } turnoutInfo_u;
-
-typedef struct turnoutInfo_t{
- SCALEINX_T scaleInx;
- char * title;
- coOrd orig;
- coOrd size;
- wIndex_t segCnt;
- trkSeg_p segs;
- wIndex_t endCnt;
- trkEndPt_p endPt;
- PATHPTR_T paths;
- int paramFileIndex;
- char * customInfo;
- DIST_T barScale;
- TOspecial_e special;
- turnoutInfo_u u;
- wBool_t pathOverRide;
- wBool_t pathNoCombine;
- char * contentsLabel;
- } turnoutInfo_t;
+ struct {
+ FLOAT_T minD, maxD;
+ } adjustable;
+ struct {
+ int cnt;
+ pierInfo_t * info;
+ } pierInfo;
+ struct {
+ FLOAT_T height;
+ char * name;
+ } pier;
+} turnoutInfo_u;
+
+typedef struct turnoutInfo_t {
+ SCALEINX_T scaleInx;
+ char * title;
+ coOrd orig;
+ coOrd size;
+ wIndex_t segCnt;
+ trkSeg_p segs;
+ wIndex_t endCnt;
+ trkEndPt_p endPt;
+ PATHPTR_T paths;
+ int paramFileIndex;
+ char * customInfo;
+ DIST_T barScale;
+ TOspecial_e special;
+ turnoutInfo_u u;
+ wBool_t pathOverRide;
+ wBool_t pathNoCombine;
+ char * contentsLabel;
+} turnoutInfo_t;
#define xtitle(X) \
(X->title)
typedef struct extraDataCompound_t {
- extraDataBase_t base;
- coOrd orig;
- ANGLE_T angle;
- BOOL_T handlaid;
- BOOL_T flipped;
- BOOL_T ungrouped;
- BOOL_T split;
- BOOL_T pathOverRide;
- BOOL_T pathNoCombine;
- coOrd descriptionOrig;
- coOrd descriptionOff;
- coOrd descriptionSize;
- char * title;
- char * customInfo;
- TOspecial_e special;
- turnoutInfo_u u;
- PATHPTR_T paths;
- PATHPTR_T currPath;
- long currPathIndex;
- wIndex_t segCnt;
- trkSeg_p segs;
- drawLineType_e lineType;
- } extraDataCompound_t;
-
-extern TRKTYP_T T_TURNOUT;
-extern TRKTYP_T T_STRUCTURE;
-extern TRKTYP_T T_BEZIER;
-extern TRKTYP_T T_BZRLIN;
-extern TRKTYP_T T_CORNU;
+ extraDataBase_t base;
+ coOrd orig;
+ ANGLE_T angle;
+ BOOL_T handlaid;
+ BOOL_T flipped;
+ BOOL_T ungrouped;
+ BOOL_T split;
+ BOOL_T pathOverRide;
+ BOOL_T pathNoCombine;
+ coOrd descriptionOrig;
+ coOrd descriptionOff;
+ coOrd descriptionSize;
+ char * title;
+ char * customInfo;
+ TOspecial_e special;
+ turnoutInfo_u u;
+ PATHPTR_T paths;
+ PATHPTR_T currPath;
+ long currPathIndex;
+ wIndex_t segCnt;
+ trkSeg_p segs;
+ drawLineType_e lineType;
+} extraDataCompound_t;
+
extern DIST_T curBarScale;
extern dynArr_t turnoutInfo_da;
extern dynArr_t structureInfo_da;
@@ -135,9 +130,11 @@ void SetParamPaths( turnoutInfo_t * to, PATHPTR_T paths );
#define FIND_TURNOUT (1<<11)
#define FIND_STRUCT (1<<12)
-void FormatCompoundTitle( long, char *);
-BOOL_T WriteCompoundPathsEndPtsSegs( FILE *, PATHPTR_T, wIndex_t, trkSeg_p, EPINX_T, trkEndPt_p);
-void ParseCompoundTitle( char *, char **, int *, char **, int *, char **, int * );
+void FormatCompoundTitle( long, char *);
+BOOL_T WriteCompoundPathsEndPtsSegs( FILE *, PATHPTR_T, wIndex_t, trkSeg_p,
+ EPINX_T, trkEndPt_p);
+void ParseCompoundTitle( char *, char **, int *, char **, int *, char **,
+ int * );
void FormatCompoundTitle( long, char *);
void ComputeCompoundBoundingBox( track_p);
turnoutInfo_t * FindCompound( long, char *, char * );
@@ -149,7 +146,8 @@ void DrawCompoundDescription( track_p, drawCmd_p, wDrawColor );
DIST_T DistanceCompound( track_p, coOrd * );
void DescribeCompound( track_p, char *, CSIZE_T );
void DeleteCompound( track_p );
-track_p NewCompound( TRKTYP_T, TRKINX_T, coOrd, ANGLE_T, char *, EPINX_T, trkEndPt_p, PATHPTR_T, wIndex_t, trkSeg_p );
+track_p NewCompound( TRKTYP_T, TRKINX_T, coOrd, ANGLE_T, char *, EPINX_T,
+ trkEndPt_p, PATHPTR_T, wIndex_t, trkSeg_p );
BOOL_T WriteCompound( track_p, FILE * );
BOOL_T ReadCompound( char *, TRKTYP_T );
void MoveCompound( track_p, coOrd );
@@ -172,35 +170,38 @@ wIndex_t FindListItemByContext( wList_p, void *);
/* cturnout.c */
+extern long curTurnoutEp;
EPINX_T TurnoutPickEndPt( coOrd p, track_p );
-BOOL_T SplitTurnoutCheck(track_p,coOrd,EPINX_T ep,track_p *,EPINX_T *,EPINX_T *,BOOL_T check, coOrd *, ANGLE_T *);
+BOOL_T SplitTurnoutCheck(track_p,coOrd,EPINX_T ep,track_p *,EPINX_T *,EPINX_T *,
+ BOOL_T check, coOrd *, ANGLE_T *);
void GetSegInxEP( signed char, int *, EPINX_T * );
void SetSegInxEP( signed char *, int, EPINX_T) ;
-wIndex_t CheckPaths( wIndex_t, trkSeg_p, PATHPTR_T );
-turnoutInfo_t * CreateNewTurnout( char *, char *, wIndex_t, trkSeg_p, PATHPTR_T, EPINX_T, trkEndPt_p, wBool_t, long );
+wIndex_t CheckPaths( wIndex_t, trkSeg_p, PATHPTR_T, char* );
+turnoutInfo_t * CreateNewTurnout( char *, char *, wIndex_t, trkSeg_p, PATHPTR_T,
+ EPINX_T, trkEndPt_p, wBool_t, long );
void DeleteTurnoutParams(int fileInx);
turnoutInfo_t * TurnoutAdd( long, SCALEINX_T, wList_p, coOrd *, EPINX_T );
STATUS_T CmdTurnoutAction( wAction_t, coOrd );
-BOOL_T ConnectAdjustableTracks( track_p trk1, EPINX_T ep1, track_p trk2, EPINX_T ep2 );
-track_p NewHandLaidTurnout( coOrd, ANGLE_T, coOrd, ANGLE_T, coOrd, ANGLE_T, ANGLE_T );
+BOOL_T ConnectAdjustableTracks( track_p trk1, EPINX_T ep1, track_p trk2,
+ EPINX_T ep2 );
+track_p NewHandLaidTurnout( coOrd, ANGLE_T, coOrd, ANGLE_T, coOrd, ANGLE_T,
+ ANGLE_T );
void NextTurnoutPosition( track_p trk );
-enum paramFileState GetTrackCompatibility(int paramFileIndex, SCALEINX_T scaleIndex);
+enum paramFileState GetTrackCompatibility(int paramFileIndex,
+ SCALEINX_T scaleIndex);
/* ctodesgn.c */
void EditCustomTurnout( turnoutInfo_t *, turnoutInfo_t * );
long ComputeTurnoutRoadbedSide( trkSeg_p, int, int, ANGLE_T, DIST_T );
/* cstruct.c */
-turnoutInfo_t * CreateNewStructure( char *, char *, wIndex_t, trkSeg_p, BOOL_T );
-enum paramFileState GetStructureCompatibility(int paramFileIndex, SCALEINX_T scaleIndex);
-turnoutInfo_t * StructAdd( long, SCALEINX_T, wList_p, coOrd * );
+turnoutInfo_t * CreateNewStructure( char *, char *, wIndex_t, trkSeg_p,
+ BOOL_T );
+enum paramFileState GetStructureCompatibility(int paramFileIndex,
+ SCALEINX_T scaleIndex);
+turnoutInfo_t * StructAdd( long, SCALEINX_T, wList_p, coOrd * );
STATUS_T CmdStructureAction( wAction_t, coOrd );
BOOL_T StructLoadCarDescList( wList_p );
void DeleteStructures(int fileIndex);
-/* cstrdsgn.c */
-void EditCustomStructure( turnoutInfo_t * );
-
-STATUS_T CmdCarDescAction( wAction_t, coOrd );
-BOOL_T CarCustomSave( FILE * );
#endif