#include #include "../fixed.h" enum Length { L_VERYSHORT = 50, L_SHORT = 100, L_MEDIUM = 200, L_LONG = 400, L_VERYLONG = 1000 }; enum HillSize { H_SMALL = 10, H_MEDIUM = 20, H_BIG = 40 }; enum HillType { UP_HILL = +1, DOWN_HILL = -1 }; enum CurveStrength { C_EASY = 2, C_MEDIUM = 4, C_HARD = 6 }; enum CurveType { LEFT_CURVE = -1, RIGHT_CURVE = +1 }; enum Decoration { PALMTREE = 0, DEADTREE = 1, OAKTREE = 2 }; void initData( void ); void createCircuit( void ); void projectCircuitFP( void ); void projectCircuitFP( uint16_t index ); void printCircuit( void ); void printCircuit( int i ); void drawCircuitSegment( uint16_t index ); void drawDecoration( uint16_t index ); void freeDecoration( void ); void prepareDecoration( void ); void addStraightLine( Length l ); void addCurve( Length l, CurveStrength s, CurveType t ); void addHill( Length l, HillSize s, HillType t ); fixed_t interpolatePositionX( double currentZ ); fixed_t interpolatePositionY( double currentZ );