libnltrack/libnltrack.c File Reference

#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "libnltrack.h"

Include dependency graph for libnltrack.c:

Functions

void swap (char *v1, char *v2)
void SwapEndianFloat (float *val)
void SwapEndianInt (int *val)
int byteInt (char data[3], int endian)
float byteFloat (FILE *file, int endian)
long filelength (int f)
char * ReadBytes (FILE *file, size_t length)
void WriteBytes (FILE *file, char *data, size_t length)
char ReadByte (FILE *file)
void WriteByte (FILE *file, char byte)
int ReadBool (FILE *file)
void WriteBool (FILE *file, int state)
int ReadKey (FILE *file)
void WriteKey (FILE *file, int key)
int ReadInt (FILE *file)
void WriteInt (FILE *file, int value)
float ReadFloat (FILE *file)
void WriteFloat (FILE *file, float value)
void ReadNull (FILE *file, size_t length)
void WriteNull (FILE *file, size_t length)
char * ReadString (FILE *file, size_t length)
void * WriteString (FILE *file, char *string)
Color ReadColor (FILE *file)
void WriteColor (FILE *file, Color color)
int NlSave (char *filename, NlTrack *Track)
int NlOpen (char *filename, NlTrack *Track)

Function Documentation

float byteFloat ( FILE *  file,
int  endian 
)

References BIG_ENDIAN_NL, LITTLE_ENDIAN_NL, and SwapEndianFloat().

Referenced by ReadFloat().

int byteInt ( char  data[3],
int  endian 
)

References BIG_ENDIAN_NL, LITTLE_ENDIAN_NL, and SwapEndianInt().

Referenced by ReadInt().

long filelength ( int  f  ) 

Referenced by NlOpen().

int NlOpen ( char *  filename,
NlTrack Track 
)

References SCOBObject::_11, SCOBObject::_12, SCOBObject::_13, SCOBObject::_14, SCOBObject::_21, SCOBObject::_22, SCOBObject::_23, SCOBObject::_24, SCOBObject::_31, SCOBObject::_32, SCOBObject::_33, SCOBObject::_34, SCOBObject::_41, SCOBObject::_42, SCOBObject::_43, SCOBObject::_44, SegmentTransport::accel, SegmentLift::accel, NlTrack::authorComments, NlTrack::beziers, BEZR, NlTrack::bezrsize, SegmentBreak::blockSegment, SEGMSegment::breaks, CATW, NlTrack::catwalks, Catwalk::catwalkType, NlTrack::catwsize, NlTrack::chunkscen, SegmentBreak::completeStop, Bezier::continuesRoll, Bezier::cp1X, Bezier::cp1Y, Bezier::cp1Z, Bezier::cp2X, Bezier::cp2Y, Bezier::cp2Z, SegmentNodes::data, SegmentBreak::decel, SegmentTransport::decel, SegmentLift::decel, NlTrack::detailTextureFilename, SCOBObject::dummyString, NlTrack::enableWater, SegmentStation::entranceSide, ENVC, NlTrack::envcsize, NlTrack::envFilename, Bezier::equalDistanceCP, filelength(), Catwalk::flags, Tube::flags, FreeNode::flags, FundNode::flags, SegmentLift::flags, SEGMSegment::flags, Catwalk::fn1index, Catwalk::fn2index, Catwalk::fn3index, Catwalk::fn4index, NlTrack::freeNodes, FREN, NlTrack::frensize, FUND, NlTrack::fundNodes, NlTrack::fundsize, FundNode::fundType, Train::gearColor, NlTrack::groundTextureFilename, SegmentStation::hideBreaks, SegmentBreak::hyster, SEGMSegment::individualTrackColor, INFO, NlTrack::infosize, SegmentBreak::launch, SegmentBreak::launchAccel, SegmentStation::launchAccel, SEGMSegment::lift, SegmentLift::liftStyle, SegmentStation::mainBrakeDecel, NlTrack::major, NlTrack::markup, NlTrack::minor, Tube::n1index, Tube::n1segIndex, Tube::n1type, Tube::n2index, Tube::n2segIndex, Tube::n2type, SegmentBreak::newTriggerBehaviour, NLIM, NlTrack::nlimsize, NlTrack::numBeziers, NlTrack::numCars, NlTrack::numDetailTextureRepeats, NlTrack::numGroundTextureRepeats, SegmentStation::numPasses, NlTrack::numTrains, NlTrack::numWaterTextureRepeats, SCOBObject::objectFilename, NlTrack::objects, SegmentNode::pos, Tree::posX, FreeNode::posX, FundNode::posX, Bezier::posX, Tree::posY, FreeNode::posY, FundNode::posY, Bezier::posY, Tree::posZ, FreeNode::posZ, FundNode::posZ, Bezier::posZ, SegmentStation::preBrakeDecel, SegmentStation::preBrakeHyster, SegmentStation::preBrakeSpeedLimit, SegmentBreak::railingLeft, SegmentTransport::railingLeft, SegmentLift::railingLeft, SegmentBreak::railingRight, SegmentTransport::railingRight, SegmentLift::railingRight, RASC, NlTrack::rascsize, ReadBool(), ReadByte(), ReadColor(), ReadFloat(), ReadInt(), ReadKey(), ReadNull(), ReadString(), Bezier::relativeRoll, SkipByte::reserved, NlTrack::reserved, NlTrack::reserved0, NlTrack::reserved1, NlTrack::reserved2, NlTrack::reserved3, NlTrack::reservedString, Train::restraintColor, SegmentStation::reverseCableLift, NlTrack::revision, Bezier::roll, Tree::rotation, Tube::rotation, FundNode::rotation, NlTrack::scaleX, NlTrack::scaleZ, SCEN, NlTrack::scensize, SCOB, NlTrack::scobsize, NlTrack::seaLevel, Train::seatColor, NlTrack::seg, SEGM, SEGMENT_BREAK, SEGMENT_LIFT, SEGMENT_NORMAL, SEGMENT_STATION, SEGMENT_TRANSPORT, NlTrack::segmsize, NlTrack::segs, FundNode::size, SEGMSegment::size, NlTrack::sizeX, NlTrack::sizeZ, Catwalk::skipByteCount, Catwalk::skipBytes, SegmentTransport::speed, SegmentLift::speed, SegmentTransport::speedDown, SegmentTransport::speedDownSpeedLimit, SegmentBreak::speedLimit, SegmentTransport::speedUpPasses, SEGMSegment::station, SegmentStation::stationHidden, SegmentStation::stationType, SegmentBreak::stopWaitTime, NlTrack::style, SUPP, NlTrack::supportsColor, NlTrack::suppsize, SegmentStation::sync, TERA, NlTrack::terasize, NlTrack::terrainHeight, Train::textureFilename, NlTrack::totalCatwalks, NlTrack::totalFreeNodes, NlTrack::totalFundNodes, NlTrack::totalObjects, SegmentNodes::totalRASCs, NlTrack::totalSegment, NlTrack::totalSegments, NlTrack::totalTrees, NlTrack::totalTubes, NlTrack::trackClosedCircuit, NlTrack::trackCrosstieColor, SEGMSegment::trackCrosstileColor, NlTrack::trackMode, SEGMSegment::trackRailColor, NlTrack::trackRailColor, SEGMSegment::trackSpineColor, NlTrack::trackSpineColor, NlTrack::train, NlTrack::trainColor, Train::trainColor, NlTrack::trainGearColor, NlTrack::trainRestraintColor, NlTrack::trainSeatColor, SEGMSegment::transport, SegmentBreak::transportAccel, SegmentStation::transportAccel, SegmentBreak::transportDecel, SegmentStation::transportDecel, SegmentBreak::transportSpeed, SegmentStation::transportSpeed, SegmentTransport::transportStyle, SegmentBreak::transportType, SegmentStation::transportType, TRCK, NlTrack::trcksize, NlTrack::trees, Tree::treeType, SegmentBreak::triggerPos, TUBE, NlTrack::tubes, NlTrack::tubesize, Tube::tubeType, NlTrack::tunnelColor, SegmentNode::type, SEGMSegment::type, NlTrack::use16friction, Train::useIndividualColor, SegmentStation::useLaunch, SegmentStation::usePreBrake, FundNode::useRotationValue, FundNode::useSizeValue, SegmentBreak::useTransport, SegmentStation::useTransportation, SEGMSegment::useTunnel, NlTrack::useTunnelColor, NlTrack::useWaves, SegmentStation::waitAvg, SegmentStation::waitDev, SegmentStation::waitMax, SegmentStation::waitMin, NlTrack::waterReflectiveness, NlTrack::waterTextureFilename, and NlTrack::waveScale.

Referenced by main().

int NlSave ( char *  filename,
NlTrack Track 
)

References SCOBObject::_11, SCOBObject::_12, SCOBObject::_13, SCOBObject::_14, SCOBObject::_21, SCOBObject::_22, SCOBObject::_23, SCOBObject::_24, SCOBObject::_31, SCOBObject::_32, SCOBObject::_33, SCOBObject::_34, SCOBObject::_41, SCOBObject::_42, SCOBObject::_43, SCOBObject::_44, SegmentTransport::accel, SegmentLift::accel, NlTrack::authorComments, NlTrack::beziers, BEZR, NlTrack::bezrsize, SegmentBreak::blockSegment, SEGMSegment::breaks, CATW, NlTrack::catwalks, Catwalk::catwalkType, NlTrack::catwsize, NlTrack::chunkscen, SegmentBreak::completeStop, Bezier::continuesRoll, Bezier::cp1X, Bezier::cp1Y, Bezier::cp1Z, Bezier::cp2X, Bezier::cp2Y, Bezier::cp2Z, SegmentNodes::data, SegmentBreak::decel, SegmentTransport::decel, SegmentLift::decel, NlTrack::detailTextureFilename, SCOBObject::dummyString, NlTrack::enableWater, SegmentStation::entranceSide, ENVC, NlTrack::envcsize, NlTrack::envFilename, Bezier::equalDistanceCP, Catwalk::flags, Tube::flags, FreeNode::flags, FundNode::flags, SegmentLift::flags, SEGMSegment::flags, Catwalk::fn1index, Catwalk::fn2index, Catwalk::fn3index, Catwalk::fn4index, NlTrack::freeNodes, FREN, NlTrack::frensize, FUND, NlTrack::fundNodes, NlTrack::fundsize, FundNode::fundType, Train::gearColor, NlTrack::groundTextureFilename, SegmentStation::hideBreaks, SegmentBreak::hyster, SEGMSegment::individualTrackColor, INFO, NlTrack::infosize, SegmentBreak::launch, SegmentBreak::launchAccel, SegmentStation::launchAccel, SEGMSegment::lift, SegmentLift::liftStyle, SegmentStation::mainBrakeDecel, NlTrack::major, NlTrack::markup, NlTrack::minor, Tube::n1index, Tube::n1segIndex, Tube::n1type, Tube::n2index, Tube::n2segIndex, Tube::n2type, SegmentBreak::newTriggerBehaviour, NLIM, NlTrack::nlimsize, NlTrack::numBeziers, NlTrack::numCars, NlTrack::numDetailTextureRepeats, NlTrack::numGroundTextureRepeats, SegmentStation::numPasses, NlTrack::numTrains, NlTrack::numWaterTextureRepeats, SCOBObject::objectFilename, NlTrack::objects, SegmentNode::pos, Tree::posX, FreeNode::posX, FundNode::posX, Bezier::posX, Tree::posY, FreeNode::posY, FundNode::posY, Bezier::posY, Tree::posZ, FreeNode::posZ, FundNode::posZ, Bezier::posZ, SegmentStation::preBrakeDecel, SegmentStation::preBrakeHyster, SegmentStation::preBrakeSpeedLimit, SegmentBreak::railingLeft, SegmentTransport::railingLeft, SegmentLift::railingLeft, SegmentBreak::railingRight, SegmentTransport::railingRight, SegmentLift::railingRight, RASC, NlTrack::rascsize, Bezier::relativeRoll, SkipByte::reserved, NlTrack::reserved, NlTrack::reserved0, NlTrack::reserved1, NlTrack::reserved2, NlTrack::reserved3, NlTrack::reservedString, Train::restraintColor, SegmentStation::reverseCableLift, NlTrack::revision, Bezier::roll, Tree::rotation, Tube::rotation, FundNode::rotation, NlTrack::scaleX, NlTrack::scaleZ, SCEN, NlTrack::scensize, SCOB, NlTrack::scobsize, NlTrack::seaLevel, Train::seatColor, NlTrack::seg, SEGM, SEGMENT_BREAK, SEGMENT_LIFT, SEGMENT_NORMAL, SEGMENT_STATION, SEGMENT_TRANSPORT, NlTrack::segmsize, NlTrack::segs, FundNode::size, SEGMSegment::size, NlTrack::sizeX, NlTrack::sizeZ, Catwalk::skipByteCount, Catwalk::skipBytes, SegmentTransport::speed, SegmentLift::speed, SegmentTransport::speedDown, SegmentTransport::speedDownSpeedLimit, SegmentBreak::speedLimit, SegmentTransport::speedUpPasses, SEGMSegment::station, SegmentStation::stationHidden, SegmentStation::stationType, SegmentBreak::stopWaitTime, NlTrack::style, SUPP, NlTrack::supportsColor, NlTrack::suppsize, SegmentStation::sync, TERA, NlTrack::terasize, NlTrack::terrainHeight, Train::textureFilename, NlTrack::totalCatwalks, NlTrack::totalFreeNodes, NlTrack::totalFundNodes, NlTrack::totalObjects, SegmentNodes::totalRASCs, NlTrack::totalSegment, NlTrack::totalSegments, NlTrack::totalTrees, NlTrack::totalTubes, NlTrack::trackClosedCircuit, NlTrack::trackCrosstieColor, SEGMSegment::trackCrosstileColor, NlTrack::trackMode, SEGMSegment::trackRailColor, NlTrack::trackRailColor, SEGMSegment::trackSpineColor, NlTrack::trackSpineColor, NlTrack::train, NlTrack::trainColor, Train::trainColor, NlTrack::trainGearColor, NlTrack::trainRestraintColor, NlTrack::trainSeatColor, SEGMSegment::transport, SegmentBreak::transportAccel, SegmentStation::transportAccel, SegmentBreak::transportDecel, SegmentStation::transportDecel, SegmentBreak::transportSpeed, SegmentStation::transportSpeed, SegmentTransport::transportStyle, SegmentBreak::transportType, SegmentStation::transportType, TRCK, NlTrack::trcksize, NlTrack::trees, Tree::treeType, SegmentBreak::triggerPos, TUBE, NlTrack::tubes, NlTrack::tubesize, Tube::tubeType, NlTrack::tunnelColor, SegmentNode::type, SEGMSegment::type, NlTrack::use16friction, Train::useIndividualColor, SegmentStation::useLaunch, SegmentStation::usePreBrake, FundNode::useRotationValue, FundNode::useSizeValue, SegmentBreak::useTransport, SegmentStation::useTransportation, SEGMSegment::useTunnel, NlTrack::useTunnelColor, NlTrack::useWaves, SegmentStation::waitAvg, SegmentStation::waitDev, SegmentStation::waitMax, SegmentStation::waitMin, NlTrack::waterReflectiveness, NlTrack::waterTextureFilename, NlTrack::waveScale, WriteBool(), WriteByte(), WriteBytes(), WriteColor(), WriteFloat(), WriteInt(), WriteKey(), WriteNull(), and WriteString().

int ReadBool ( FILE *  file  ) 

References ReadByte().

Referenced by NlOpen().

char ReadByte ( FILE *  file  ) 

References ReadBytes().

Referenced by NlOpen(), and ReadBool().

char* ReadBytes ( FILE *  file,
size_t  length 
)

Color ReadColor ( FILE *  file  ) 

References Color::a, Color::b, Color::g, Color::r, and ReadBytes().

Referenced by NlOpen().

float ReadFloat ( FILE *  file  ) 

References BIG_ENDIAN_NL, and byteFloat().

Referenced by NlOpen().

int ReadInt ( FILE *  file  ) 

References BIG_ENDIAN_NL, byteInt(), and ReadBytes().

Referenced by NlOpen().

int ReadKey ( FILE *  file  ) 

References BEZR, CATW, ENVC, FREN, FUND, INFO, NLIM, RASC, ReadBytes(), SCEN, SCOB, SEGM, SUPP, TERA, TRCK, and TUBE.

Referenced by NlOpen().

void ReadNull ( FILE *  file,
size_t  length 
)

References ReadBytes().

Referenced by NlOpen().

char* ReadString ( FILE *  file,
size_t  length 
)

References ReadBytes().

Referenced by NlOpen().

void swap ( char *  v1,
char *  v2 
)

Referenced by SwapEndianFloat(), and SwapEndianInt().

void SwapEndianFloat ( float *  val  ) 

References swap().

Referenced by byteFloat(), and WriteFloat().

void SwapEndianInt ( int *  val  ) 

References swap().

Referenced by byteInt(), and WriteInt().

void WriteBool ( FILE *  file,
int  state 
)

References WriteByte().

Referenced by NlSave().

void WriteByte ( FILE *  file,
char  byte 
)

void WriteBytes ( FILE *  file,
char *  data,
size_t  length 
)

Referenced by NlSave(), WriteByte(), and WriteKey().

void WriteColor ( FILE *  file,
Color  color 
)

References Color::a, Color::b, Color::g, Color::r, and WriteByte().

Referenced by NlSave().

void WriteFloat ( FILE *  file,
float  value 
)

References SwapEndianFloat().

Referenced by NlSave().

void WriteInt ( FILE *  file,
int  value 
)

References SwapEndianInt().

Referenced by NlSave(), and WriteString().

void WriteKey ( FILE *  file,
int  key 
)

References BEZR, CATW, ENVC, FREN, FUND, INFO, NLIM, RASC, SCEN, SCOB, SEGM, SUPP, TERA, TRCK, TUBE, and WriteBytes().

Referenced by NlSave().

void WriteNull ( FILE *  file,
size_t  length 
)

References WriteByte().

Referenced by NlSave().

void* WriteString ( FILE *  file,
char *  string 
)

References WriteByte(), and WriteInt().

Referenced by NlSave().


Generated on Sun May 25 21:42:45 2008 for libnltrack by  doxygen 1.5.6