/************************************************************ * * * tracks.c * * * * * LPGE 1997 * * * * Copyright (C) 1996 Sony Computer Entertainment Inc. * * All Rights Reserved * * * ***********************************************************/ /**************************************************************************** includes ****************************************************************************/ #include "tunnel.h" #include "tunnel2.h" #include "flying.h" #include "tracks.h" /**************************************************************************** constants, globals, macros ****************************************************************************/ // if tracks are specified by loading pre-created datafile, // much of this file doesn't apply #if (TRACK_CREATION_METHOD==CREATE_TRACKS_BY_FUNCTION) // building blocks of tunnels TunnelChunk chunks[MAX_CHUNKS_PER_DESCRIPTION]; #define CLEAR_TRACK_CREATION_DATA \ { \ int i; \ for (i = 0; i < MAX_CHUNKS_PER_DESCRIPTION; i++) \ { \ flagList[i] = FALSE; \ setRECT( &offsetList[i], 0, 0, 0, 0); \ imageList[i] = NULL; \ imageIdList[i] = -1; \ } \ } #define SORT_IMAGE_IDS_GIVEN_POINTER_LIST \ { \ int i; \ for (i = 0; i < MAX_CHUNKS_PER_DESCRIPTION; i++) \ { \ if (imageList[i] != NULL) \ { \ imageIdList[i] = GetImageIdGivenPointer(imageList[i]); \ } \ else \ imageIdList[i] = -1; \ } \ } /**************************************************************************** function ****************************************************************************/ // use PrintTunnelDescription(track) // and GenerateAndPrintSplineListOfDescription (thisTrack, // &worldOrigin, &worldMatrix) // to print-out (log) all data on a track void CreateTheSetTracks (void) { TunnelDescription *thisTrack; VECTOR worldOrigin; MATRIX worldMatrix; GsIMAGE *imageList[MAX_CHUNKS_PER_DESCRIPTION]; int imageIdList[MAX_CHUNKS_PER_DESCRIPTION]; int flagList[MAX_CHUNKS_PER_DESCRIPTION]; RECT offsetList[MAX_CHUNKS_PER_DESCRIPTION]; //ClutAnimation clutAnimations[MAX_CLUT_ANIMATIONS_PER_DESCRIPTION]; DrawProcess drawProcesses[MAX_DRAW_PROCESSES_PER_DESCRIPTION]; int i; HERE; // clear data for (i = 0; i < NUMBER_SET_TRACKS; i++) { InitDescription( &SetTracks[i]); } for (i = 0; i < MAX_CHUNKS_PER_DESCRIPTION; i++) { flagList[i] = FALSE; setRECT( &offsetList[i], 0, 0, 0, 0); imageList[i] = NULL; } // basic setup (see no point in deviating from this) setVECTOR( &worldOrigin, 0, 0, 0); InitMatrix( &worldMatrix); CLEAR_TRACK_CREATION_DATA HERE; // NOTE: tracks do not NEED to be declared in the order of their numbers: // search for the FIRST to Nth identifiers to find where they appear #if 0 // VERSION 1: 43 tracks, some a bit poor // FIRST // two straights split by two semi-circle left-handers thisTrack = &SetTracks[FIRST]; SetTrackClassicShape(thisTrack, FIRST); imageList[0] = &BarRedTextureInfo; setRECT( &offsetList[0], 0, 0, 64, 64); SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDescriptionNumberSectionsDrawn(thisTrack, 16); // SECOND thisTrack = &SetTracks[SECOND]; SetTrackClassicShape(thisTrack, SECOND); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, TWENTY_FIRST, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); // THIRD // two straights split by two semi-circle right-handers thisTrack = &SetTracks[THIRD]; SetTrackClassicShape(thisTrack, THIRD); imageList[0] = &DynamicAreaTwoTextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SEVENTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetDescriptionNumberSectionsDrawn(thisTrack, 24); #if 0 SetClutAnimation ( &AllClutAnimations[ClutAnimationIndex], &SimpleBlueTextureInfo, 32, FIRST, 16); SetClutAnimationsForTrackDescription (thisTrack, 1, &AllClutAnimations[ClutAnimationIndex]); ClutAnimationIndex++; #endif // FOURTH thisTrack = &SetTracks[FOURTH]; SetTrackClassicShape(thisTrack, FOURTH); SetDefaultLightingAndTexturingForDescription(thisTrack); SetTrackFogging(thisTrack, -8000, 29099400, 0, 0, 0); // FIFTH thisTrack = &SetTracks[FIFTH]; SetTrackClassicShape(thisTrack, FIFTH); SetDefaultLightingAndTexturingForDescription(thisTrack); SetDescriptionNumberSectionsDrawn(thisTrack, 16); // SIXTH // full circle right-hander // first section alone is straight thisTrack = &SetTracks[SIXTH]; SetTrackClassicShape(thisTrack, SIXTH); imageList[0] = &SmoothSpectrumTextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &SmoothSpectrumTextureInfo; imageList[3] = &DynamicAreaTwoTextureInfo; flagList[2] = TWIST_NINETY_DEGREES; setRECT( &offsetList[0], 0, 0, 64, 32); setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[2], 0, 0, 64, 32); setRECT( &offsetList[3], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 4, imageList, flagList, offsetList, 8); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetDescriptionShapesPerSection(thisTrack, 8); #if 0 SetClutAnimation ( &AllClutAnimations[ClutAnimationIndex], &BarSpectrumTextureInfo, 120, SECOND, 64); SetClutAnimation ( &AllClutAnimations[ClutAnimationIndex+1], &SmoothSpectrumTextureInfo, 120, SECOND, 64); SetClutAnimation ( &AllClutAnimations[ClutAnimationIndex+2], &SmoothRedTextureInfo, 120, SECOND, 32); SetClutAnimationsForTrackDescription (thisTrack, 3, &AllClutAnimations[ClutAnimationIndex]); ClutAnimationIndex += 3; #endif SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SIXTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); // SEVENTH thisTrack = &SetTracks[SEVENTH]; SetTrackClassicShape(thisTrack, FOURTH); imageList[0] = &SmoothSpectrumTextureInfo; imageList[1] = &SmoothRedTextureInfo; imageList[2] = &TileFiveTextureInfo; //setRECT( &offsetList[0], 0, 0, 64, 64); //setRECT( &offsetList[1], 0, 0, 64, 32); //setRECT( &offsetList[2], 0, 0, 64, 64); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 3, imageList, flagList, offsetList, 27); SetDescriptionNumberSectionsDrawn(thisTrack, 24); SetDescriptionShapesPerSection(thisTrack, 8); SetTrackFogging(thisTrack, -12496, 29099400, 0, 0, 0); #if 0 SetClutAnimation ( &AllClutAnimations[ClutAnimationIndex], &BarSpectrumTextureInfo, 120, SECOND, 64); SetClutAnimation ( &AllClutAnimations[ClutAnimationIndex+1], &SmoothSpectrumTextureInfo, 120, SECOND, 64); SetClutAnimation ( &AllClutAnimations[ClutAnimationIndex+2], &SmoothRedTextureInfo, 120, SECOND, 32); SetClutAnimation ( &AllClutAnimations[ClutAnimationIndex+3], &BarRedTextureInfo, 32, FIRST, 16); SetClutAnimationsForTrackDescription (thisTrack, 4, &AllClutAnimations[ClutAnimationIndex]); ClutAnimationIndex += 4; #endif // EIGHTH // full circle right-hander // first section alone is straight thisTrack = &SetTracks[EIGHTH]; SetTrackClassicShape(thisTrack, SIXTH); SetDefaultLightingAndTexturingForDescription(thisTrack); SetTrackFogging(thisTrack, -12496, 29099400, 128, 128, 128); SetFogEffectForTrack(thisTrack, SECOND); SetDescriptionNumberSectionsDrawn(thisTrack, 12); // NINTH // complex circular curler thisTrack = &SetTracks[NINTH]; SetTrackClassicShape(thisTrack, FIFTH); imageList[0] = &Chevron1TextureInfo; flagList[0] = TWIST_NINETY_DEGREES; setRECT( &offsetList[0], 0, 0, 64, 32); SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_BRIGHTLY_AROUND_AXES, 60); SetDescriptionNumberSectionsDrawn(thisTrack, 16); // TENTH // two straights, two medium corners thisTrack = &SetTracks[TENTH]; SetTrackClassicShape(thisTrack, SEVENTH); imageList[0] = &DynamicAreaTwoTextureInfo; imageList[1] = &DynamicAreaThreeTextureInfo; imageList[2] = &Wave16TextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 4, imageList, flagList, offsetList, 12); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetDescriptionNumberSectionsDrawn (thisTrack, 16); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDescriptionNumberSectionsDrawn(thisTrack, 24); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, TWENTY_EIGHTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, TWENTY_NINTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, THIRTIETH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, THIRTY_FIRST, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); #if 0 SetClutAnimation ( &AllClutAnimations[ClutAnimationIndex], &HorizontalLargeTextureInfo, 240, THIRD, 256); SetClutAnimationsForTrackDescription (thisTrack, 1, &AllClutAnimations[ClutAnimationIndex]); ClutAnimationIndex += 1; #endif // ELEVENTH thisTrack = &SetTracks[ELEVENTH]; SetTrackClassicShape(thisTrack, SECOND); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, FIFTEENTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); // TWELFTH thisTrack = &SetTracks[TWELFTH]; SetTrackClassicShape(thisTrack, SECOND); imageList[0] = &Chevron1TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &Number23TextureInfo; //&PanelTextureInfo; imageList[3] = &Number27TextureInfo; //&CircleTextureInfo; imageList[4] = &Number10TextureInfo; //&TileFiveTextureInfo; imageList[5] = &DynamicAreaThreeTextureInfo; imageList[6] = &Wave16TextureInfo; imageList[7] = &DynamicAreaFourTextureInfo; for (i = 0; i < 8; i++) { setRECT( &offsetList[i], 0, 0, 64, 32); } flagList[0] = TWIST_NINETY_DEGREES; // rotate chevron racing-arrow setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[2], 0, 0, 32, 32); setRECT( &offsetList[3], 0, 0, 32, 32); setRECT( &offsetList[5], 0, 0, 32, 32); setRECT( &offsetList[6], 0, 0, 32, 32); setRECT( &offsetList[7], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 8, imageList, flagList, offsetList, 4); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SECOND, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, THIRD, SECOND, SECOND); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, NINTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, TENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); // THIRTEENTH // four draw processes thisTrack = &SetTracks[THIRTEENTH]; SetTrackClassicShape(thisTrack, SECOND); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 4, imageList, flagList, offsetList, 9); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, FIRST, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, FOURTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[2], &DynamicAreaThreeTextureInfo, FIFTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, SIXTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); // FOURTEENTH // use clut animation on the panel texture thisTrack = &SetTracks[FOURTEENTH]; SetTrackClassicShape(thisTrack, FOURTH); imageList[0] = &Number23TextureInfo; //&PanelTextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_BRIGHTLY_AROUND_AXES, 60); SetTrackFogging(thisTrack, -12496, 29099400, 128, 0, 0); SetFogEffectForTrack(thisTrack, THIRD); SetDescriptionNumberSectionsDrawn(thisTrack, 36); SetDescriptionShapesPerSection(thisTrack, 8); // FIFTEENTH thisTrack = &SetTracks[FIFTEENTH]; SetTrackClassicShape(thisTrack, SECOND); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetDescriptionNumberSectionsDrawn(thisTrack, 12); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, SECOND, SECOND, SECOND); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); // SIXTEENTH thisTrack = &SetTracks[SIXTEENTH]; SetTrackClassicShape(thisTrack, SECOND); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetDescriptionNumberSectionsDrawn(thisTrack, 12); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRD, THIRD, THIRD); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); // SEVENTEENTH thisTrack = &SetTracks[SEVENTEENTH]; SetTrackClassicShape(thisTrack, FOURTH); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; for (i = 0; i < 3; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 3, imageList, flagList, offsetList, 27); SetDescriptionNumberSectionsDrawn(thisTrack, 24); SetDescriptionShapesPerSection(thisTrack, 8); SetTrackFogging(thisTrack, -12496, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, SEVENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, NINTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[2], &DynamicAreaThreeTextureInfo, TENTH, THIRD, THIRD); SetDrawProcessesForTrack(thisTrack, 3, drawProcesses); // EIGHTEENTH thisTrack = &SetTracks[EIGHTEENTH]; SetTrackClassicShape(thisTrack, FIRST); imageList[0] = &FireBackgroundImageInfo; setRECT( &offsetList[0], 86, 10, 32, 64); // portion only SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); //SetDescriptionNumberSectionsDrawn(thisTrack, 24); SetDescriptionShapesPerSection(thisTrack, 16); SetDescriptionNumberSectionsDrawn(thisTrack, 16); // NINETEENTH // two straights split by two semi-circle left-handers thisTrack = &SetTracks[NINETEENTH]; SetTrackClassicShape(thisTrack, FIRST); imageList[0] = &FireBackgroundImageInfo; setRECT( &offsetList[0], 182, 10, 32, 64); SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDescriptionShapesPerSection(thisTrack, 16); SetDescriptionNumberSectionsDrawn(thisTrack, 16); // TWENTIETH // four draw processes thisTrack = &SetTracks[TWENTIETH]; SetTrackClassicShape(thisTrack, SECOND); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 4, imageList, flagList, offsetList, 9); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, NINTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, TWENTY_THIRD, SECOND, SECOND); SetDrawProcess2( &drawProcesses[2], &DynamicAreaThreeTextureInfo, TWENTY_FOURTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, TWENTY_FIFTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); // TWENTY_FIRST thisTrack = &SetTracks[TWENTY_FIRST]; SetTrackClassicShape(thisTrack, SECOND); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; for (i = 2; i < 32; i += 2) { imageList[i+0] = imageList[i-2]; imageList[i+1] = imageList[i-1]; } for (i = 0; i < 32; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 32, imageList, flagList, offsetList, 1); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, FIRST, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, EIGHTH, SECOND, SECOND); SetDrawProcessesForTrack(thisTrack, 2, drawProcesses); // TWENTY_SECOND thisTrack = &SetTracks[TWENTY_SECOND]; SetTrackClassicShape(thisTrack, SECOND); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, TWENTY_SECOND, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); // TWENTY_THIRD thisTrack = &SetTracks[TWENTY_THIRD]; SetTrackClassicShape(thisTrack, SECOND); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, NINETEENTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); // TWENTY_FOURTH thisTrack = &SetTracks[TWENTY_FOURTH]; SetTrackClassicShape(thisTrack, SECOND); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, TWENTIETH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); // TWENTY_FIFTH thisTrack = &SetTracks[TWENTY_FIFTH]; SetTrackClassicShape(thisTrack, SECOND); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, SIXTEENTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); // TWENTY_SIXTH thisTrack = &SetTracks[TWENTY_SIXTH]; SetTrackClassicShape(thisTrack, SECOND); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, SEVENTEENTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); // TWENTY_SEVENTH thisTrack = &SetTracks[TWENTY_SEVENTH]; SetTrackClassicShape(thisTrack, SECOND); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, EIGHTEENTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); // TWENTY_EIGHTH thisTrack = &SetTracks[TWENTY_EIGHTH]; SetTrackClassicShape(thisTrack, EIGHTH); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetDescriptionNumberSectionsDrawn(thisTrack, 24); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, EIGHTEENTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); // TWENTY_NINTH thisTrack = &SetTracks[TWENTY_NINTH]; SetTrackClassicShape(thisTrack, NINTH); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, SIXTEENTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); // THIRTIETH thisTrack = &SetTracks[THIRTIETH]; SetTrackClassicShape(thisTrack, TENTH); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetDescriptionNumberSectionsDrawn(thisTrack, 24); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, SEVENTEENTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); // THIRTY_FIRST thisTrack = &SetTracks[THIRTY_FIRST]; SetTrackClassicShape(thisTrack, ELEVENTH); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, TWENTY_FIFTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); // THIRTY_SECOND thisTrack = &SetTracks[THIRTY_SECOND]; SetTrackClassicShape(thisTrack, TWELFTH); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, TWENTY_FOURTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); // THIRTY_THIRD thisTrack = &SetTracks[THIRTY_THIRD]; SetTrackClassicShape(thisTrack, ELEVENTH); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 4, imageList, flagList, offsetList, 16); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, TWENTY_THIRD, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, TWENTY_FOURTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[2], &DynamicAreaThreeTextureInfo, TWENTY_FIFTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, TWENTY_SIXTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); // THIRTY_FOURTH thisTrack = &SetTracks[THIRTY_FOURTH]; SetTrackClassicShape(thisTrack, ELEVENTH); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 4, imageList, flagList, offsetList, 16); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, FIFTEENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, SIXTEENTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[2], &DynamicAreaThreeTextureInfo, SEVENTEENTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, EIGHTEENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); // THIRTY_FIFTH thisTrack = &SetTracks[THIRTY_FIFTH]; SetTrackClassicShape(thisTrack, TWELFTH); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -6996, 29099400, 128, 0, 0); SetFogEffectForTrack(thisTrack, THIRD); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, FOURTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); // THIRTY_SIXTH thisTrack = &SetTracks[THIRTY_SIXTH]; SetTrackClassicShape(thisTrack, ELEVENTH); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); imageList[0] = &Wave16TextureInfo; imageList[1] = &Wave16TextureInfo; imageList[2] = &Wave16TextureInfo; imageList[3] = &Wave16TextureInfo; imageList[4] = &Wave16TextureInfo; imageList[5] = &Wave16TextureInfo; imageList[6] = &Wave16TextureInfo; imageList[7] = &Wave16TextureInfo; imageList[8] = &Wave16TextureInfo; imageList[9] = &Wave16TextureInfo; imageList[10] = &Wave16TextureInfo; imageList[11] = &SimpleBlueTextureInfo; for (i = 0; i < 12; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } setRECT( &offsetList[11], 0, 0, 64, 64); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_POLYGONS, 12, imageList, flagList, offsetList, 1 + (1<<8)); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_BRIGHTLY_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, TWENTY_SEVENTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); // THIRTY_SEVENTH thisTrack = &SetTracks[THIRTY_SEVENTH]; SetTrackClassicShape(thisTrack, ELEVENTH); imageList[0] = &Number2TextureInfo; imageList[1] = &Number3TextureInfo; imageList[2] = &Number4TextureInfo; imageList[3] = &Number5TextureInfo; imageList[4] = &Number6TextureInfo; imageList[5] = &Number7TextureInfo; imageList[6] = &Number8TextureInfo; imageList[7] = &Number9TextureInfo; #if 0 for (i = 0; i < 8; i++) { setRECT( &offsetList[i], 0, 0, 64, 64); } flagList[7] = TWIST_NINETY_DEGREES; #endif SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 8, imageList, flagList, offsetList, 8); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); // THIRTY_EIGHTH thisTrack = &SetTracks[THIRTY_EIGHTH]; SetTrackClassicShape(thisTrack, ELEVENTH); imageList[0] = &Number10TextureInfo; imageList[1] = &Number12TextureInfo; imageList[2] = &Number14TextureInfo; imageList[3] = &Number15TextureInfo; imageList[4] = &Wave16TextureInfo; imageList[5] = &DynamicAreaFourTextureInfo; imageList[6] = &Number18TextureInfo; imageList[7] = &Number19TextureInfo; for (i = 0; i < 8; i++) { setRECT( &offsetList[i], 0, 0, 64, 64); } setRECT( &offsetList[0], 0, 0, 64, 32); setRECT( &offsetList[4], 0, 0, 32, 32); setRECT( &offsetList[5], 0, 0, 32, 32); flagList[0] = TWIST_NINETY_DEGREES; flagList[1] = TWIST_NINETY_DEGREES; setRECT( &offsetList[0], 0, 0, 64, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 8, imageList, flagList, offsetList, 8); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, TWENTY_EIGHTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaFourTextureInfo, TWENTY_NINTH, SECOND, SECOND); SetDrawProcessesForTrack(thisTrack, 2, drawProcesses); // THIRTY_NINTH thisTrack = &SetTracks[THIRTY_NINTH]; SetTrackClassicShape(thisTrack, ELEVENTH); imageList[0] = &Number20TextureInfo; imageList[1] = &Number22TextureInfo; imageList[2] = &Number23TextureInfo; imageList[3] = &Number24TextureInfo; imageList[4] = &Number25TextureInfo; imageList[5] = &Number26TextureInfo; imageList[6] = &Number27TextureInfo; imageList[7] = &Number29TextureInfo; for (i = 0; i < 8; i++) { setRECT( &offsetList[i], 0, 0, 64, 64); } setRECT( &offsetList[2], 0, 0, 32, 32); setRECT( &offsetList[3], 0, 0, 64, 32); setRECT( &offsetList[6], 0, 0, 32, 32); flagList[1] = TWIST_NINETY_DEGREES; //flagList[3] = TWIST_NINETY_DEGREES; flagList[4] = TWIST_NINETY_DEGREES; flagList[5] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 8, imageList, flagList, offsetList, 8); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); // FOURTIETH thisTrack = &SetTracks[FOURTIETH]; SetTrackClassicShape(thisTrack, THIRTEENTH); imageList[0] = &Number8TextureInfo; imageList[1] = &Number23TextureInfo; imageList[2] = &Number10TextureInfo; imageList[3] = &Number27TextureInfo; #if 0 for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 64, 64); } setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[3], 0, 0, 32, 32); #endif SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 4, imageList, flagList, offsetList, 16); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); // FORTY_FIRST thisTrack = &SetTracks[FORTY_FIRST]; SetTrackClassicShape(thisTrack, THIRTEENTH); imageList[0] = &SimpleBlueTextureInfo; imageList[1] = &Number2TextureInfo; imageList[2] = &Number7TextureInfo; imageList[3] = &Number25TextureInfo; #if 1 for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 64, 64); } setRECT( &offsetList[2], 0, 0, 0, 0); #endif SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 4, imageList, flagList, offsetList, 16); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); // FORTY_SECOND thisTrack = &SetTracks[FORTY_SECOND]; SetTrackClassicShape(thisTrack, FOURTEENTH); // PROBLEM: only 3 textures set here, 4 used for track, // relies on previous data in imageList imageList[0] = &Number26TextureInfo; imageList[1] = &Number29TextureInfo; imageList[2] = &Number3TextureInfo; #if 0 for (i = 0; i < 3; i++) { setRECT( &offsetList[i], 0, 0, 64, 64); } flagList[0] = TWIST_NINETY_DEGREES; #endif SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 4, imageList, flagList, offsetList, 16); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); // FORTY_THIRD thisTrack = &SetTracks[FORTY_THIRD]; SetTrackClassicShape(thisTrack, SEVENTH); imageList[0] = &DynamicAreaTwoTextureInfo; imageList[1] = &DynamicAreaThreeTextureInfo; imageList[2] = &Wave16TextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 4, imageList, flagList, offsetList, 12); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetDescriptionNumberSectionsDrawn (thisTrack, 16); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDescriptionNumberSectionsDrawn(thisTrack, 24); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SECOND, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, THIRTY_THIRD, SECOND, SECOND); SetDrawProcess2( &drawProcesses[2], &DynamicAreaThreeTextureInfo, TWENTY_SEVENTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, TWENTIETH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); #endif // VERSION 1: lots of tracks, some poor #if 0 // VERSION 2 // FIRST thisTrack = &SetTracks[FIRST]; SetTrackClassicShape(thisTrack, TWELFTH); // FIFTH //SetDefaultLightingAndTexturingForDescription(thisTrack); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number23TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &Chevron1TextureInfo; //&PanelTextureInfo; imageList[3] = &Number27TextureInfo; //&CircleTextureInfo; imageList[4] = &DynamicAreaThreeTextureInfo; imageList[5] = &Wave16TextureInfo; imageList[6] = &Number10TextureInfo; //&TileFiveTextureInfo imageList[7] = &DynamicAreaFourTextureInfo; flagList[2] = TWIST_NINETY_DEGREES; // rotate chevron racing-arrow setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[4], 0, 0, 32, 32); setRECT( &offsetList[5], 0, 0, 32, 32); setRECT( &offsetList[7], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 8, imageList, flagList, offsetList, 21); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SECOND, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, THIRD, SECOND, SECOND); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, NINTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, TENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SECOND thisTrack = &SetTracks[SECOND]; SetTrackClassicShape(thisTrack, EIGHTH); // FIFTEENTH SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number29TextureInfo; imageList[1] = &Wave16TextureInfo; imageList[2] = &DynamicAreaTwoTextureInfo; for (i = 1; i < 3; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 3, imageList, flagList, offsetList, 40); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); #if 0 // restore later SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, FIRST, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, FOURTH, SECOND, SECOND); #endif SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SIXTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, THIRTY_SEVENTH, SECOND, SECOND); SetDrawProcessesForTrack(thisTrack, 2, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRD thisTrack = &SetTracks[THIRD]; SetTrackClassicShape(thisTrack, EIGHTH); SetDescriptionNumberSectionsDrawn(thisTrack, 24); SetDescriptionShapesPerSection(thisTrack, 8); imageList[0] = &Wave16TextureInfo; imageList[1] = &SimpleBlueTextureInfo; imageList[2] = &BarRedTextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[2], 0, 0, 32, 32); flagList[2] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 3, imageList, flagList, offsetList, 40); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SECOND, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FOURTH thisTrack = &SetTracks[FOURTH]; SetTrackClassicShape(thisTrack, TWELFTH); // SIXTEENTH SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); flagList[0] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 166); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_FIFTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTH thisTrack = &SetTracks[FIFTH]; SetTrackClassicShape(thisTrack, NINTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); #if 0 imageList[0] = &Number27TextureInfo; imageList[1] = &Number8TextureInfo; imageList[2] = &Number10TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 3, imageList, flagList, offsetList, 26); #endif imageList[0] = &Wave16TextureInfo; imageList[1] = &BarRedTextureInfo; // &DynamicAreaTwoTextureInfo; for (i = 0; i < 2; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } flagList[1] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 2, imageList, flagList, offsetList, 38); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_FOURTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, TENTH, SECOND, SECOND); SetDrawProcessesForTrack(thisTrack, 2, drawProcesses); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ #if 0 // SIXTH thisTrack = &SetTracks[SIXTH]; SetTrackClassicShape(thisTrack, SEVENTEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; for (i = 0; i < 2; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 2, imageList, flagList, offsetList, 38); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_FOURTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, THIRTY_FIFTH, SECOND, SECOND); SetDrawProcessesForTrack(thisTrack, 2, drawProcesses); CLEAR_TRACK_CREATION_DATA #endif // SIXTH thisTrack = &SetTracks[SIXTH]; SetTrackClassicShape(thisTrack, TWELFTH); // SECOND imageList[0] = &Chevron1TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &Number23TextureInfo; //&PanelTextureInfo; imageList[3] = &Number27TextureInfo; //&CircleTextureInfo; imageList[4] = &Number10TextureInfo; //&TileFiveTextureInfo; imageList[5] = &DynamicAreaThreeTextureInfo; imageList[6] = &Wave16TextureInfo; imageList[7] = &DynamicAreaFourTextureInfo; for (i = 0; i < 8; i++) { setRECT( &offsetList[i], 0, 0, 64, 32); } flagList[0] = TWIST_NINETY_DEGREES; // rotate chevron racing-arrow setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[2], 0, 0, 32, 32); setRECT( &offsetList[3], 0, 0, 32, 32); setRECT( &offsetList[5], 0, 0, 32, 32); setRECT( &offsetList[6], 0, 0, 32, 32); setRECT( &offsetList[7], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 8, imageList, flagList, offsetList, 42); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SECOND, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, THIRD, SECOND, SECOND); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, NINTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, TENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); /********************************************************************** TRACK DIVIDER **********************************************************************/ // SEVENTH thisTrack = &SetTracks[SEVENTH]; SetTrackClassicShape(thisTrack, TENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 400); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SECOND, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // EIGHTH thisTrack = &SetTracks[EIGHTH]; SetTrackClassicShape(thisTrack, SECOND); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 32); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_FIFTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // NINTH thisTrack = &SetTracks[NINTH]; SetTrackClassicShape(thisTrack, TWELFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number15TextureInfo; imageList[1] = &Number19TextureInfo; imageList[2] = &Number23TextureInfo; imageList[3] = &Number25TextureInfo; imageList[4] = &Number22TextureInfo; imageList[5] = &Number24TextureInfo; imageList[6] = &Number29TextureInfo; imageList[7] = &Number5TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 8, imageList, flagList, offsetList, 22); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TENTH thisTrack = &SetTracks[TENTH]; SetTrackClassicShape(thisTrack, EIGHTH); // NINETEENTH SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number23TextureInfo; imageList[1] = &Number26TextureInfo; imageList[2] = &Number27TextureInfo; imageList[3] = &Number29TextureInfo; flagList[1] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 4, imageList, flagList, offsetList, 30); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // ELEVENTH thisTrack = &SetTracks[ELEVENTH]; SetTrackClassicShape(thisTrack, TWELFTH); // FIFTH //SetDefaultLightingAndTexturingForDescription(thisTrack); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number4TextureInfo; imageList[1] = &Number5TextureInfo; imageList[2] = &Number25TextureInfo; imageList[3] = &Wave16TextureInfo; imageList[4] = &DynamicAreaTwoTextureInfo; imageList[5] = &DynamicAreaThreeTextureInfo; imageList[6] = &DynamicAreaFourTextureInfo; setRECT( &offsetList[3], 0, 0, 32, 32); setRECT( &offsetList[4], 0, 0, 32, 32); setRECT( &offsetList[5], 0, 0, 32, 32); setRECT( &offsetList[6], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 7, imageList, flagList, offsetList, 24); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_FIRST, THIRD, THIRD); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, FOURTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[2], &DynamicAreaThreeTextureInfo, SIXTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, TWENTY_FIFTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackFogging(thisTrack, -6500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWELFTH thisTrack = &SetTracks[TWELFTH]; SetTrackClassicShape(thisTrack, TWELFTH); // TWELFTH //SetDefaultLightingAndTexturingForDescription(thisTrack); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[2], 0, 0, 32, 32); setRECT( &offsetList[3], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 4, imageList, flagList, offsetList, 42); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, SECOND, THIRD, THIRD); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, THIRD, FIRST, FIRST); SetDrawProcess2( &drawProcesses[2], &DynamicAreaThreeTextureInfo, FIFTEENTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, EIGHTEENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackFogging(thisTrack, -6500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTEENTH thisTrack = &SetTracks[THIRTEENTH]; SetTrackClassicShape(thisTrack, TWENTIETH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 200); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SECOND, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FOURTEENTH thisTrack = &SetTracks[FOURTEENTH]; SetTrackClassicShape(thisTrack, NINETEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number23TextureInfo; imageList[1] = &Number26TextureInfo; imageList[2] = &Number27TextureInfo; imageList[3] = &Number29TextureInfo; flagList[1] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 4, imageList, flagList, offsetList, 45); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTEENTH thisTrack = &SetTracks[FIFTEENTH]; SetTrackClassicShape(thisTrack, TWENTY_FIRST); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 200); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_NINTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SIXTEENTH thisTrack = &SetTracks[SIXTEENTH]; SetTrackClassicShape(thisTrack, TWENTY_SECOND); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 200); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SEVENTEENTH thisTrack = &SetTracks[SEVENTEENTH]; SetTrackClassicShape(thisTrack, TWENTY_THIRD); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 200); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, FOURTIETH, FIRST, FIRST); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // EIGHTEENTH thisTrack = &SetTracks[EIGHTEENTH]; SetTrackClassicShape(thisTrack, TWENTY_FOURTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetDescriptionShapesPerSection(thisTrack, 8); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, FORTY_SECOND, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // NINETEENTH thisTrack = &SetTracks[NINETEENTH]; SetTrackClassicShape(thisTrack, TWENTY_FIFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 200); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, FORTY_THIRD, FIRST, FIRST); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTIETH thisTrack = &SetTracks[TWENTIETH]; SetTrackClassicShape(thisTrack, TWENTY_SIXTH); SetDescriptionShapesPerSection(thisTrack, 8); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, FORTY_FOURTH, FIRST, FIRST); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_FIRST thisTrack = &SetTracks[TWENTY_FIRST]; SetTrackClassicShape(thisTrack, TWENTY_SEVENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_FIRST, FIRST, FIRST); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_SECOND thisTrack = &SetTracks[TWENTY_SECOND]; SetTrackClassicShape(thisTrack, TWENTY_EIGHTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); #if 0 imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); #endif // UNTIL SHAPE FIXED imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, TWENTY_NINTH, FIRST, FIRST); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_THIRD thisTrack = &SetTracks[TWENTY_THIRD]; SetTrackClassicShape(thisTrack, TWENTY_NINTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_THIRD, FIRST, FIRST); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_FOURTH thisTrack = &SetTracks[TWENTY_FOURTH]; SetTrackClassicShape(thisTrack, THIRTIETH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number29TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_FIFTH thisTrack = &SetTracks[TWENTY_FIFTH]; SetTrackClassicShape(thisTrack, THIRTY_FIRST); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number10TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_SIXTH thisTrack = &SetTracks[TWENTY_SIXTH]; SetTrackClassicShape(thisTrack, THIRTY_SECOND); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_SEVENTH thisTrack = &SetTracks[TWENTY_SEVENTH]; SetTrackClassicShape(thisTrack, THIRTY_THIRD); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, FORTY_FIFTH, FIRST, FIRST); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_EIGHTH thisTrack = &SetTracks[TWENTY_EIGHTH]; SetTrackClassicShape(thisTrack, TWELFTH); //SetDefaultLightingAndTexturingForDescription(thisTrack); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[2], 0, 0, 32, 32); setRECT( &offsetList[3], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 4, imageList, flagList, offsetList, 42); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, FORTY_EIGHTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, FORTY_NINTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[2], &DynamicAreaThreeTextureInfo, FIFTIETH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, FIFTY_FIRST, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackFogging(thisTrack, -6500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_NINTH thisTrack = &SetTracks[TWENTY_NINTH]; SetTrackClassicShape(thisTrack, TWELFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); setRECT( &offsetList[1], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 2, imageList, flagList, offsetList, 90); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, FIFTY_SECOND, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, FIFTY_THIRD, SECOND, SECOND); SetDrawProcessesForTrack(thisTrack, 2, drawProcesses); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTIETH thisTrack = &SetTracks[THIRTIETH]; SetTrackClassicShape(thisTrack, TWELFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); setRECT( &offsetList[1], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 2, imageList, flagList, offsetList, 86); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, FIFTY_FOURTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, FIFTY_FIFTH, SECOND, SECOND); SetDrawProcessesForTrack(thisTrack, 2, drawProcesses); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_FIRST thisTrack = &SetTracks[THIRTY_FIRST]; SetTrackClassicShape(thisTrack, TWELFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[2], 0, 0, 32, 32); setRECT( &offsetList[3], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 4, imageList, flagList, offsetList, 43); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, FIFTY_SIXTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, FIFTY_SEVENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[2], &DynamicAreaThreeTextureInfo, FIFTY_EIGHTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, FIFTY_NINTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_SECOND thisTrack = &SetTracks[THIRTY_SECOND]; SetTrackClassicShape(thisTrack, TWELFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[2], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 3, imageList, flagList, offsetList, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, SIXTIETH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, SIXTY_FIRST, FIRST, FIRST); SetDrawProcess2( &drawProcesses[2], &DynamicAreaThreeTextureInfo, SIXTY_SECOND, SECOND, SECOND); SetDrawProcessesForTrack(thisTrack, 3, drawProcesses); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_THIRD thisTrack = &SetTracks[THIRTY_THIRD]; SetTrackClassicShape(thisTrack, THIRTY_THIRD); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_FOURTH thisTrack = &SetTracks[THIRTY_FOURTH]; SetTrackClassicShape(thisTrack, THIRTY_FOURTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_FIFTH thisTrack = &SetTracks[THIRTY_FIFTH]; SetTrackClassicShape(thisTrack, THIRTY_FIFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_SIXTH thisTrack = &SetTracks[THIRTY_SIXTH]; SetTrackClassicShape(thisTrack, THIRTY_SIXTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetAmbientEffectForTrack(thisTrack, THIRD); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_SEVENTH thisTrack = &SetTracks[THIRTY_SEVENTH]; SetTrackClassicShape(thisTrack, TWELFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); flagList[0] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 166); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, SIXTY_THIRD, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_EIGHTH thisTrack = &SetTracks[THIRTY_EIGHTH]; SetTrackClassicShape(thisTrack, TWELFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); setRECT( &offsetList[1], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 2, imageList, flagList, offsetList, 86); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, SIXTY_FOURTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, SIXTY_FIFTH, SECOND, SECOND); SetDrawProcessesForTrack(thisTrack, 2, drawProcesses); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_NINTH thisTrack = &SetTracks[THIRTY_NINTH]; SetTrackClassicShape(thisTrack, TWELFTH); //SetDefaultLightingAndTexturingForDescription(thisTrack); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[2], 0, 0, 32, 32); setRECT( &offsetList[3], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 4, imageList, flagList, offsetList, 42); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &DynamicAreaThreeTextureInfo, SIXTY_EIGHTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaFourTextureInfo, SIXTY_NINTH, FOURTH, FOURTH); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, SEVENTIETH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaTwoTextureInfo, FIRST, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -6500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FOURTIETH thisTrack = &SetTracks[FOURTIETH]; SetTrackClassicShape(thisTrack, THIRTY_FIFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); // square tunnel // to test how low CPU/GPU get SetDescriptionShapesPerSection(thisTrack, 4); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_FIRST thisTrack = &SetTracks[FORTY_FIRST]; SetTrackClassicShape(thisTrack, THIRTY_SIXTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SECOND, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_SECOND thisTrack = &SetTracks[FORTY_SECOND]; SetTrackClassicShape(thisTrack, THIRTY_SEVENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SECOND, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_THIRD thisTrack = &SetTracks[FORTY_THIRD]; SetTrackClassicShape(thisTrack, THIRTY_EIGHTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SECOND, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_FOURTH thisTrack = &SetTracks[FORTY_FOURTH]; SetTrackClassicShape(thisTrack, THIRTY_NINTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SECOND, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_FIFTH thisTrack = &SetTracks[FORTY_FIFTH]; SetTrackClassicShape(thisTrack, FOURTIETH); SetDescriptionShapesPerSection(thisTrack, 8); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SECOND, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_SIXTH thisTrack = &SetTracks[FORTY_SIXTH]; SetTrackClassicShape(thisTrack, FORTY_FIRST); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SECOND, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_SEVENTH thisTrack = &SetTracks[FORTY_SEVENTH]; SetTrackClassicShape(thisTrack, FORTY_SECOND); SetDescriptionShapesPerSection(thisTrack, 8); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SECOND, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_EIGHTH thisTrack = &SetTracks[FORTY_EIGHTH]; SetTrackClassicShape(thisTrack, FORTY_THIRD); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SECOND, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_NINTH thisTrack = &SetTracks[FORTY_NINTH]; SetTrackClassicShape(thisTrack, FORTY_FOURTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SECOND, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTIETH thisTrack = &SetTracks[FIFTIETH]; SetTrackClassicShape(thisTrack, FORTY_FIFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SECOND, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_FIRST thisTrack = &SetTracks[FIFTY_FIRST]; SetTrackClassicShape(thisTrack, FORTY_SIXTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SECOND, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_SECOND thisTrack = &SetTracks[FIFTY_SECOND]; SetTrackClassicShape(thisTrack, FORTY_SEVENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SECOND, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_THIRD thisTrack = &SetTracks[FIFTY_THIRD]; SetTrackClassicShape(thisTrack, FORTY_EIGHTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SECOND, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // should assign something to the other tracks for (i = FIFTY_FOURTH; i < NUMBER_SET_TRACKS; i++) { CopyDescription( &SetTracks[FIRST], &SetTracks[i]); } #endif // VERSION 2 #if 0 // VERSION 3 // FIRST thisTrack = &SetTracks[FIRST]; SetTrackClassicShape(thisTrack, TWELFTH); //SetDefaultLightingAndTexturingForDescription(thisTrack); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number23TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &Chevron1TextureInfo; //&PanelTextureInfo; imageList[3] = &Number27TextureInfo; //&CircleTextureInfo; imageList[4] = &DynamicAreaThreeTextureInfo; imageList[5] = &Wave16TextureInfo; imageList[6] = &Number10TextureInfo; //&TileFiveTextureInfo imageList[7] = &DynamicAreaFourTextureInfo; flagList[2] = TWIST_NINETY_DEGREES; // rotate chevron racing-arrow setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[4], 0, 0, 32, 32); setRECT( &offsetList[5], 0, 0, 32, 32); setRECT( &offsetList[7], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 8, imageList, flagList, offsetList, 21); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SECOND, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, THIRD, SECOND, SECOND); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, NINTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, TENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SECOND thisTrack = &SetTracks[SECOND]; SetTrackClassicShape(thisTrack, THIRTY_SIXTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number29TextureInfo; imageList[1] = &Wave16TextureInfo; imageList[2] = &DynamicAreaTwoTextureInfo; for (i = 1; i < 3; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 3, imageList, flagList, offsetList, 36); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SIXTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, THIRTY_SEVENTH, SECOND, SECOND); SetDrawProcessesForTrack(thisTrack, 2, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRD thisTrack = &SetTracks[THIRD]; SetTrackClassicShape(thisTrack, THIRTY_SEVENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 24); SetDescriptionShapesPerSection(thisTrack, 8); imageList[0] = &Wave16TextureInfo; imageList[1] = &SimpleBlueTextureInfo; imageList[2] = &BarRedTextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[2], 0, 0, 32, 32); flagList[2] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 3, imageList, flagList, offsetList, 70); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SECOND, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FOURTH thisTrack = &SetTracks[FOURTH]; SetTrackClassicShape(thisTrack, FORTY_SEVENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); flagList[0] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_FIRST, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTH thisTrack = &SetTracks[FIFTH]; SetTrackClassicShape(thisTrack, NINTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &BarRedTextureInfo; // &DynamicAreaTwoTextureInfo; for (i = 0; i < 2; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } flagList[1] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 2, imageList, flagList, offsetList, 38); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_FOURTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, TENTH, SECOND, SECOND); SetDrawProcessesForTrack(thisTrack, 2, drawProcesses); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SIXTH thisTrack = &SetTracks[SIXTH]; SetTrackClassicShape(thisTrack, TWELFTH); imageList[0] = &Chevron1TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &Number23TextureInfo; //&PanelTextureInfo; imageList[3] = &Number27TextureInfo; //&CircleTextureInfo; imageList[4] = &Number10TextureInfo; //&TileFiveTextureInfo; imageList[5] = &DynamicAreaThreeTextureInfo; imageList[6] = &Wave16TextureInfo; imageList[7] = &DynamicAreaFourTextureInfo; for (i = 0; i < 8; i++) { setRECT( &offsetList[i], 0, 0, 64, 32); } flagList[0] = TWIST_NINETY_DEGREES; // rotate chevron racing-arrow setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[2], 0, 0, 32, 32); setRECT( &offsetList[3], 0, 0, 32, 32); setRECT( &offsetList[5], 0, 0, 32, 32); setRECT( &offsetList[6], 0, 0, 32, 32); setRECT( &offsetList[7], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 8, imageList, flagList, offsetList, 21); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SECOND, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, THIRD, SECOND, SECOND); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, NINTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, TENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); /********************************************************************** TRACK DIVIDER **********************************************************************/ // SEVENTH thisTrack = &SetTracks[SEVENTH]; SetTrackClassicShape(thisTrack, FOURTIETH); SetDescriptionShapesPerSection(thisTrack, 8); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, SIXTY_FIFTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // EIGHTH thisTrack = &SetTracks[EIGHTH]; SetTrackClassicShape(thisTrack, FORTY_FIRST); SetDescriptionNumberSectionsDrawn(thisTrack, 16); //imageList[0] = &Wave16TextureInfo; imageList[0] = &Number29TextureInfo; //setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // NINTH thisTrack = &SetTracks[NINTH]; SetTrackClassicShape(thisTrack, FORTY_SECOND); SetDescriptionShapesPerSection(thisTrack, 8); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number15TextureInfo; imageList[1] = &Number19TextureInfo; imageList[2] = &Number23TextureInfo; imageList[3] = &Number25TextureInfo; imageList[4] = &Number22TextureInfo; imageList[5] = &Number24TextureInfo; imageList[6] = &Number29TextureInfo; imageList[7] = &Number5TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 8, imageList, flagList, offsetList, 34); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TENTH thisTrack = &SetTracks[TENTH]; SetTrackClassicShape(thisTrack, FORTY_THIRD); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number23TextureInfo; imageList[1] = &Number26TextureInfo; imageList[2] = &Number27TextureInfo; imageList[3] = &Number29TextureInfo; flagList[1] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 4, imageList, flagList, offsetList, 50); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // ELEVENTH thisTrack = &SetTracks[ELEVENTH]; SetTrackClassicShape(thisTrack, FORTY_FIFTH); //SetDefaultLightingAndTexturingForDescription(thisTrack); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number4TextureInfo; imageList[1] = &Number5TextureInfo; imageList[2] = &Number25TextureInfo; imageList[3] = &Wave16TextureInfo; imageList[4] = &DynamicAreaTwoTextureInfo; imageList[5] = &DynamicAreaThreeTextureInfo; imageList[6] = &DynamicAreaFourTextureInfo; setRECT( &offsetList[3], 0, 0, 32, 32); setRECT( &offsetList[4], 0, 0, 32, 32); setRECT( &offsetList[5], 0, 0, 32, 32); setRECT( &offsetList[6], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 7, imageList, flagList, offsetList, 23); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_FIRST, THIRD, THIRD); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, FOURTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[2], &DynamicAreaThreeTextureInfo, SIXTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, TWENTY_FIFTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackFogging(thisTrack, -6500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWELFTH thisTrack = &SetTracks[TWELFTH]; SetTrackClassicShape(thisTrack, FORTY_SIXTH); //SetDefaultLightingAndTexturingForDescription(thisTrack); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[2], 0, 0, 32, 32); setRECT( &offsetList[3], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 4, imageList, flagList, offsetList, 42); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, SECOND, THIRD, THIRD); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, THIRD, FIRST, FIRST); SetDrawProcess2( &drawProcesses[2], &DynamicAreaThreeTextureInfo, FIFTEENTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, EIGHTEENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackFogging(thisTrack, -6500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTEENTH thisTrack = &SetTracks[THIRTEENTH]; SetTrackClassicShape(thisTrack, TWENTIETH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 200); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, EIGHTEENTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FOURTEENTH thisTrack = &SetTracks[FOURTEENTH]; SetTrackClassicShape(thisTrack, TWENTY_SECOND); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 200); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTEENTH thisTrack = &SetTracks[FIFTEENTH]; SetTrackClassicShape(thisTrack, TWENTY_FIRST); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 200); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, FIFTY_FIRST, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SIXTEENTH thisTrack = &SetTracks[SIXTEENTH]; SetTrackClassicShape(thisTrack, NINETEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number23TextureInfo; imageList[1] = &Number26TextureInfo; imageList[2] = &Number27TextureInfo; imageList[3] = &Number29TextureInfo; flagList[1] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 4, imageList, flagList, offsetList, 41); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA // speculative tracks designed to test new textures // MOST are knackered // (so are some old textures WHEN used as track textures) // VRAM is OK: know this because globals sprites are OK /********************************************************************** TRACK DIVIDER **********************************************************************/ // SEVENTEENTH thisTrack = &SetTracks[SEVENTEENTH]; SetTrackClassicShape(thisTrack, NINETEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number30TextureInfo; imageList[1] = &Number31TextureInfo; imageList[2] = &Number32TextureInfo; imageList[3] = &Number33TextureInfo; imageList[4] = &Number34TextureInfo; imageList[5] = &Number35TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 6, imageList, flagList, offsetList, 28); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // EIGHTEENTH thisTrack = &SetTracks[EIGHTEENTH]; SetTrackClassicShape(thisTrack, NINETEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number36TextureInfo; imageList[1] = &Number37TextureInfo; imageList[2] = &Number38TextureInfo; imageList[3] = &Number39TextureInfo; imageList[4] = &Number40TextureInfo; imageList[5] = &Number41TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 6, imageList, flagList, offsetList, 28); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // NINETEENTH thisTrack = &SetTracks[NINETEENTH]; SetTrackClassicShape(thisTrack, NINETEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number42TextureInfo; imageList[1] = &Number43TextureInfo; imageList[2] = &Number44TextureInfo; imageList[3] = &Number45TextureInfo; imageList[4] = &Number46TextureInfo; imageList[5] = &Number47TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 6, imageList, flagList, offsetList, 28); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTIETH thisTrack = &SetTracks[TWENTIETH]; SetTrackClassicShape(thisTrack, NINETEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number48TextureInfo; imageList[1] = &Number49TextureInfo; imageList[2] = &Number50TextureInfo; imageList[3] = &Number51TextureInfo; imageList[4] = &Number52TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 5, imageList, flagList, offsetList, 33); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // shape irrelevant, just testing drawprocs // TWENTY_FIRST thisTrack = &SetTracks[TWENTY_FIRST]; SetTrackClassicShape(thisTrack, TWELFTH); imageList[0] = &DynamicAreaTwoTextureInfo; imageList[1] = &DynamicAreaThreeTextureInfo; imageList[2] = &Wave16TextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 4, imageList, flagList, offsetList, 42); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, FIFTY_FIFTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, FIFTY_SIXTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, SIXTIETH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, SIXTY_FIRST, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_SECOND thisTrack = &SetTracks[TWENTY_SECOND]; SetTrackClassicShape(thisTrack, NINETEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Arrow1TextureInfo; imageList[1] = &Arrow2TextureInfo; imageList[2] = &CircleTextureInfo; imageList[3] = &PanelTextureInfo; imageList[4] = &Number9TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 5, imageList, flagList, offsetList, 33); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_THIRD thisTrack = &SetTracks[TWENTY_THIRD]; SetTrackClassicShape(thisTrack, FORTY_NINTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; imageList[1] = &Number28TextureInfo; imageList[2] = &Number29TextureInfo; imageList[3] = &Number30TextureInfo; imageList[4] = &Number31TextureInfo; imageList[5] = &Number32TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 6, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_FOURTH thisTrack = &SetTracks[TWENTY_FOURTH]; SetTrackClassicShape(thisTrack, FIFTIETH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; imageList[1] = &Number28TextureInfo; imageList[2] = &Number29TextureInfo; imageList[3] = &Number30TextureInfo; imageList[4] = &Number31TextureInfo; imageList[5] = &Number32TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 6, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_FIFTH thisTrack = &SetTracks[TWENTY_FIFTH]; SetTrackClassicShape(thisTrack, FIFTY_FIRST); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_SIXTH thisTrack = &SetTracks[TWENTY_SIXTH]; SetTrackClassicShape(thisTrack, FIFTY_SECOND); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetDescriptionShapesPerSection(thisTrack, 8); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_SEVENTH thisTrack = &SetTracks[TWENTY_SEVENTH]; SetTrackClassicShape(thisTrack, FIFTY_THIRD); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_EIGHTH thisTrack = &SetTracks[TWENTY_EIGHTH]; SetTrackClassicShape(thisTrack, FIFTY_FOURTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_NINTH thisTrack = &SetTracks[TWENTY_NINTH]; SetTrackClassicShape(thisTrack, FIFTY_FIFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTIETH thisTrack = &SetTracks[THIRTIETH]; SetTrackClassicShape(thisTrack, FIFTY_SIXTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetDescriptionShapesPerSection(thisTrack, 8); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_FIRST thisTrack = &SetTracks[THIRTY_FIRST]; SetTrackClassicShape(thisTrack, FIFTY_SEVENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_SECOND thisTrack = &SetTracks[THIRTY_SECOND]; SetTrackClassicShape(thisTrack, FIFTY_EIGHTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_THIRD thisTrack = &SetTracks[THIRTY_THIRD]; SetTrackClassicShape(thisTrack, FIFTY_NINTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_FOURTH thisTrack = &SetTracks[THIRTY_FOURTH]; SetTrackClassicShape(thisTrack, SIXTIETH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_FIFTH thisTrack = &SetTracks[THIRTY_FIFTH]; SetTrackClassicShape(thisTrack, SIXTY_FIRST); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_SIXTH thisTrack = &SetTracks[THIRTY_SIXTH]; SetTrackClassicShape(thisTrack, SIXTY_SECOND); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_SEVENTH thisTrack = &SetTracks[THIRTY_SEVENTH]; SetTrackClassicShape(thisTrack, SIXTY_THIRD); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_EIGHTH thisTrack = &SetTracks[THIRTY_EIGHTH]; SetTrackClassicShape(thisTrack, SIXTY_FOURTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetDescriptionShapesPerSection(thisTrack, 8); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_NINTH thisTrack = &SetTracks[THIRTY_NINTH]; SetTrackClassicShape(thisTrack, SIXTY_FIFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, ONE_TEXTURE_PER_N_SECTIONS, 1, imageList, flagList, offsetList, 500); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // should assign something to the other tracks for (i = FOURTIETH; i < NUMBER_SET_TRACKS; i++) { CopyDescription( &SetTracks[FIRST], &SetTracks[i]); } #endif // VERSION 3 (specifically for demo disc // for Novemember issue official PlayStation magazine) #if 0 // VERSION 4 // 64 tracks, 32 shapes; // first 32 tracks are shapes in order, xz plane, // second 32 tracks are shapes in order, yz plane. /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIRST thisTrack = &SetTracks[FIRST]; SetTrackClassicShape(thisTrack, SECOND); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number23TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &Chevron1TextureInfo; imageList[3] = &Number27TextureInfo; imageList[4] = &DynamicAreaThreeTextureInfo; imageList[5] = &Wave16TextureInfo; imageList[6] = &Number10TextureInfo; imageList[7] = &DynamicAreaFourTextureInfo; flagList[2] = TWIST_NINETY_DEGREES; // rotate chevron racing-arrow setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[4], 0, 0, 32, 32); setRECT( &offsetList[5], 0, 0, 32, 32); setRECT( &offsetList[7], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 8, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SECOND, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, THIRD, SECOND, SECOND); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, NINTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, TENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SECOND thisTrack = &SetTracks[SECOND]; SetTrackClassicShape(thisTrack, FIRST); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number29TextureInfo; imageList[1] = &Wave16TextureInfo; imageList[2] = &DynamicAreaTwoTextureInfo; for (i = 1; i < 3; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 3, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SIXTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, THIRTY_SEVENTH, SECOND, SECOND); SetDrawProcessesForTrack(thisTrack, 2, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRD thisTrack = &SetTracks[THIRD]; SetTrackClassicShape(thisTrack, THIRD); SetDescriptionNumberSectionsDrawn(thisTrack, 24); SetDescriptionShapesPerSection(thisTrack, 8); imageList[0] = &Wave16TextureInfo; imageList[1] = &SimpleBlueTextureInfo; imageList[2] = &BarRedTextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[2], 0, 0, 32, 32); flagList[2] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 3, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SECOND, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FOURTH thisTrack = &SetTracks[FOURTH]; SetTrackClassicShape(thisTrack, FOURTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); flagList[0] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_FIRST, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTH thisTrack = &SetTracks[FIFTH]; SetTrackClassicShape(thisTrack, FIFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &BarRedTextureInfo; for (i = 0; i < 2; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } flagList[1] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 2, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_FOURTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, TENTH, SECOND, SECOND); SetDrawProcessesForTrack(thisTrack, 2, drawProcesses); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SIXTH thisTrack = &SetTracks[SIXTH]; SetTrackClassicShape(thisTrack, SIXTH); imageList[0] = &Chevron1TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &Number23TextureInfo; imageList[3] = &Number27TextureInfo; imageList[4] = &Number10TextureInfo; imageList[5] = &DynamicAreaThreeTextureInfo; imageList[6] = &Wave16TextureInfo; imageList[7] = &DynamicAreaFourTextureInfo; for (i = 0; i < 8; i++) { setRECT( &offsetList[i], 0, 0, 64, 32); } flagList[0] = TWIST_NINETY_DEGREES; // rotate chevron racing-arrow setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[2], 0, 0, 32, 32); setRECT( &offsetList[3], 0, 0, 32, 32); setRECT( &offsetList[5], 0, 0, 32, 32); setRECT( &offsetList[6], 0, 0, 32, 32); setRECT( &offsetList[7], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 8, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SECOND, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, THIRD, SECOND, SECOND); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, NINTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, TENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); /********************************************************************** TRACK DIVIDER **********************************************************************/ // SEVENTH thisTrack = &SetTracks[SEVENTH]; SetTrackClassicShape(thisTrack, SEVENTH); SetDescriptionShapesPerSection(thisTrack, 8); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, SIXTY_FIFTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // EIGHTH thisTrack = &SetTracks[EIGHTH]; SetTrackClassicShape(thisTrack, EIGHTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number29TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // NINTH thisTrack = &SetTracks[NINTH]; SetTrackClassicShape(thisTrack, NINTH); SetDescriptionShapesPerSection(thisTrack, 8); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number15TextureInfo; imageList[1] = &Number19TextureInfo; imageList[2] = &Number23TextureInfo; imageList[3] = &Number25TextureInfo; imageList[4] = &Number22TextureInfo; imageList[5] = &Number24TextureInfo; imageList[6] = &Number29TextureInfo; imageList[7] = &Number5TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 8, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TENTH thisTrack = &SetTracks[TENTH]; SetTrackClassicShape(thisTrack, TENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number23TextureInfo; imageList[1] = &Number26TextureInfo; imageList[2] = &Number27TextureInfo; imageList[3] = &Number29TextureInfo; flagList[1] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // ELEVENTH thisTrack = &SetTracks[ELEVENTH]; SetTrackClassicShape(thisTrack, ELEVENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number4TextureInfo; imageList[1] = &Number5TextureInfo; imageList[2] = &Number25TextureInfo; imageList[3] = &Wave16TextureInfo; imageList[4] = &DynamicAreaTwoTextureInfo; imageList[5] = &DynamicAreaThreeTextureInfo; imageList[6] = &DynamicAreaFourTextureInfo; setRECT( &offsetList[3], 0, 0, 32, 32); setRECT( &offsetList[4], 0, 0, 32, 32); setRECT( &offsetList[5], 0, 0, 32, 32); setRECT( &offsetList[6], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 7, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_FIRST, THIRD, THIRD); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, FOURTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[2], &DynamicAreaThreeTextureInfo, SIXTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, TWENTY_FIFTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackFogging(thisTrack, -6500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWELFTH thisTrack = &SetTracks[TWELFTH]; SetTrackClassicShape(thisTrack, TWELFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[2], 0, 0, 32, 32); setRECT( &offsetList[3], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, SECOND, THIRD, THIRD); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, THIRD, FIRST, FIRST); SetDrawProcess2( &drawProcesses[2], &DynamicAreaThreeTextureInfo, FIFTEENTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, EIGHTEENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackFogging(thisTrack, -6500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTEENTH thisTrack = &SetTracks[THIRTEENTH]; SetTrackClassicShape(thisTrack, THIRTEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, EIGHTEENTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FOURTEENTH thisTrack = &SetTracks[FOURTEENTH]; SetTrackClassicShape(thisTrack, FOURTEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTEENTH thisTrack = &SetTracks[FIFTEENTH]; SetTrackClassicShape(thisTrack, FIFTEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, FIFTY_FIRST, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SIXTEENTH thisTrack = &SetTracks[SIXTEENTH]; SetTrackClassicShape(thisTrack, SIXTEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number23TextureInfo; imageList[1] = &Number26TextureInfo; imageList[2] = &Number27TextureInfo; imageList[3] = &Number29TextureInfo; flagList[1] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA // speculative tracks designed to test new textures // MOST are knackered // (so are some old textures WHEN used as track textures) // VRAM is OK: know this because globals sprites are OK /********************************************************************** TRACK DIVIDER **********************************************************************/ // SEVENTEENTH thisTrack = &SetTracks[SEVENTEENTH]; SetTrackClassicShape(thisTrack, SEVENTEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number30TextureInfo; imageList[1] = &Number31TextureInfo; imageList[2] = &Number32TextureInfo; imageList[3] = &Number33TextureInfo; imageList[4] = &Number34TextureInfo; imageList[5] = &Number35TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 6, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // EIGHTEENTH thisTrack = &SetTracks[EIGHTEENTH]; SetTrackClassicShape(thisTrack, EIGHTEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number36TextureInfo; imageList[1] = &Number37TextureInfo; imageList[2] = &Number38TextureInfo; imageList[3] = &Number39TextureInfo; imageList[4] = &Number40TextureInfo; imageList[5] = &Number41TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 6, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // NINETEENTH thisTrack = &SetTracks[NINETEENTH]; SetTrackClassicShape(thisTrack, NINETEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number42TextureInfo; imageList[1] = &Number43TextureInfo; imageList[2] = &Number44TextureInfo; imageList[3] = &Number45TextureInfo; imageList[4] = &Number46TextureInfo; imageList[5] = &Number47TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 6, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTIETH thisTrack = &SetTracks[TWENTIETH]; SetTrackClassicShape(thisTrack, TWENTIETH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number48TextureInfo; imageList[1] = &Number49TextureInfo; imageList[2] = &Number50TextureInfo; imageList[3] = &Number51TextureInfo; imageList[4] = &Number52TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 5, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_FIRST thisTrack = &SetTracks[TWENTY_FIRST]; SetTrackClassicShape(thisTrack, TWENTY_FIRST); imageList[0] = &DynamicAreaTwoTextureInfo; imageList[1] = &DynamicAreaThreeTextureInfo; imageList[2] = &Wave16TextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, FIFTY_FIFTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, FIFTY_SIXTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, SIXTIETH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, SIXTY_FIRST, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_SECOND thisTrack = &SetTracks[TWENTY_SECOND]; SetTrackClassicShape(thisTrack, TWENTY_SECOND); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Arrow1TextureInfo; imageList[1] = &Arrow2TextureInfo; imageList[2] = &CircleTextureInfo; imageList[3] = &PanelTextureInfo; imageList[4] = &Number9TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 5, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_THIRD thisTrack = &SetTracks[TWENTY_THIRD]; SetTrackClassicShape(thisTrack, TWENTY_THIRD); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &AsciiTextureInfo; imageList[1] = &AsciiTextureInfo; imageList[2] = &FireBackgroundImageInfo; imageList[3] = &FireBackgroundImageInfo; imageList[4] = &BarRedTextureInfo; imageList[5] = &BarRedTextureInfo; imageList[6] = &SimpleBlueTextureInfo; imageList[7] = &SimpleBlueTextureInfo; for (i = 0; i < 8; i++) { if ((i % 2) == 0) flagList[i] = TWIST_NINETY_DEGREES; } setRECT( &offsetList[2], 0, 0, 32, 32); setRECT( &offsetList[3], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 8, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_FOURTH thisTrack = &SetTracks[TWENTY_FOURTH]; SetTrackClassicShape(thisTrack, TWENTY_FOURTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &BarSpectrumTextureInfo; imageList[1] = &BarSpectrumTextureInfo; imageList[2] = &SmoothSpectrumTextureInfo; imageList[3] = &SmoothSpectrumTextureInfo; imageList[4] = &SmoothRedTextureInfo; imageList[5] = &SmoothRedTextureInfo; imageList[6] = &Arrow1TextureInfo; imageList[7] = &Arrow1TextureInfo; for (i = 0; i < 8; i++) { if ((i % 2) == 0) flagList[i] = TWIST_NINETY_DEGREES; } setRECT( &offsetList[0], 0, 0, 32, 32); setRECT( &offsetList[1], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 8, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_FIFTH thisTrack = &SetTracks[TWENTY_FIFTH]; SetTrackClassicShape(thisTrack, TWENTY_FIFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Arrow2TextureInfo; imageList[1] = &Arrow2TextureInfo; imageList[2] = &Chevron1TextureInfo; imageList[3] = &Chevron1TextureInfo; imageList[4] = &CircleTextureInfo; imageList[5] = &CircleTextureInfo; imageList[6] = &HorizontalLargeTextureInfo; imageList[7] = &HorizontalLargeTextureInfo; for (i = 0; i < 8; i++) { if ((i % 2) == 0) flagList[i] = TWIST_NINETY_DEGREES; } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 8, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_SIXTH thisTrack = &SetTracks[TWENTY_SIXTH]; SetTrackClassicShape(thisTrack, TWENTY_SIXTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &PanelTextureInfo; imageList[1] = &PanelTextureInfo; imageList[2] = &TileFiveTextureInfo; imageList[3] = &TileFiveTextureInfo; imageList[4] = &FireTextureInfo; imageList[5] = &FireTextureInfo; imageList[6] = &Spectrum2TextureInfo; imageList[7] = &Spectrum2TextureInfo; for (i = 0; i < 8; i++) { if ((i % 2) == 0) flagList[i] = TWIST_NINETY_DEGREES; } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 8, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_SEVENTH thisTrack = &SetTracks[TWENTY_SEVENTH]; SetTrackClassicShape(thisTrack, TWENTY_SEVENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Spectrum3TextureInfo; imageList[1] = &Spectrum3TextureInfo; imageList[2] = &Number1TextureInfo; imageList[3] = &Number1TextureInfo; imageList[4] = &Number2TextureInfo; imageList[5] = &Number2TextureInfo; imageList[6] = &Number3TextureInfo; imageList[7] = &Number3TextureInfo; for (i = 0; i < 8; i++) { if ((i % 2) == 0) flagList[i] = TWIST_NINETY_DEGREES; } setRECT( &offsetList[0], 0, 0, 32, 32); setRECT( &offsetList[1], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 8, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_EIGHTH thisTrack = &SetTracks[TWENTY_EIGHTH]; SetTrackClassicShape(thisTrack, TWENTY_EIGHTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number4TextureInfo; imageList[1] = &Number4TextureInfo; imageList[2] = &Number5TextureInfo; imageList[3] = &Number5TextureInfo; imageList[4] = &Number6TextureInfo; imageList[5] = &Number6TextureInfo; imageList[6] = &Number7TextureInfo; imageList[7] = &Number7TextureInfo; for (i = 0; i < 8; i++) { if ((i % 2) == 0) flagList[i] = TWIST_NINETY_DEGREES; } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 8, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_NINTH thisTrack = &SetTracks[TWENTY_NINTH]; SetTrackClassicShape(thisTrack, TWENTY_NINTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number8TextureInfo; imageList[1] = &Number8TextureInfo; imageList[2] = &Number9TextureInfo; imageList[3] = &Number9TextureInfo; imageList[4] = &Number10TextureInfo; imageList[5] = &Number10TextureInfo; imageList[6] = &Number11TextureInfo; imageList[7] = &Number11TextureInfo; for (i = 0; i < 8; i++) { if ((i % 2) == 0) flagList[i] = TWIST_NINETY_DEGREES; } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 8, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTIETH thisTrack = &SetTracks[THIRTIETH]; SetTrackClassicShape(thisTrack, THIRTIETH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number12TextureInfo; imageList[1] = &Number12TextureInfo; imageList[2] = &Number13TextureInfo; imageList[3] = &Number13TextureInfo; imageList[4] = &Number14TextureInfo; imageList[5] = &Number14TextureInfo; imageList[6] = &Number15TextureInfo; imageList[7] = &Number15TextureInfo; for (i = 0; i < 8; i++) { if ((i % 2) == 0) flagList[i] = TWIST_NINETY_DEGREES; } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 8, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_FIRST thisTrack = &SetTracks[THIRTY_FIRST]; SetTrackClassicShape(thisTrack, THIRTY_FIRST); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number16TextureInfo; imageList[1] = &Number16TextureInfo; imageList[2] = &Number17TextureInfo; imageList[3] = &Number17TextureInfo; imageList[4] = &Number18TextureInfo; imageList[5] = &Number18TextureInfo; imageList[6] = &Number19TextureInfo; imageList[7] = &Number19TextureInfo; for (i = 0; i < 8; i++) { if ((i % 2) == 0) flagList[i] = TWIST_NINETY_DEGREES; } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 8, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_SECOND thisTrack = &SetTracks[THIRTY_SECOND]; SetTrackClassicShape(thisTrack, THIRTY_SECOND); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number20TextureInfo; imageList[1] = &Number20TextureInfo; imageList[2] = &Number21TextureInfo; imageList[3] = &Number21TextureInfo; imageList[4] = &Number22TextureInfo; imageList[5] = &Number22TextureInfo; imageList[6] = &Number23TextureInfo; imageList[7] = &Number23TextureInfo; for (i = 0; i < 8; i++) { if ((i % 2) == 0) flagList[i] = TWIST_NINETY_DEGREES; } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 8, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_THIRD thisTrack = &SetTracks[THIRTY_THIRD]; SetTrackClassicShape(thisTrack, THIRTY_THIRD-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number24TextureInfo; imageList[1] = &Number24TextureInfo; imageList[2] = &Number25TextureInfo; imageList[3] = &Number25TextureInfo; imageList[4] = &Number26TextureInfo; imageList[5] = &Number26TextureInfo; imageList[6] = &Number27TextureInfo; imageList[7] = &Number27TextureInfo; for (i = 0; i < 8; i++) { if ((i % 2) == 0) flagList[i] = TWIST_NINETY_DEGREES; } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 8, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_FOURTH thisTrack = &SetTracks[THIRTY_FOURTH]; SetTrackClassicShape(thisTrack, THIRTY_FOURTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number28TextureInfo; imageList[1] = &Number28TextureInfo; imageList[2] = &Number29TextureInfo; imageList[3] = &Number29TextureInfo; imageList[4] = &Number30TextureInfo; imageList[5] = &Number30TextureInfo; imageList[6] = &Number31TextureInfo; imageList[7] = &Number31TextureInfo; for (i = 0; i < 8; i++) { if ((i % 2) == 0) flagList[i] = TWIST_NINETY_DEGREES; } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 8, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_FIFTH thisTrack = &SetTracks[THIRTY_FIFTH]; SetTrackClassicShape(thisTrack, THIRTY_FIFTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); #if 0 imageList[0] = &Number32TextureInfo; imageList[1] = &Number32TextureInfo; imageList[2] = &Number33TextureInfo; imageList[3] = &Number33TextureInfo; imageList[4] = &Number34TextureInfo; imageList[5] = &Number34TextureInfo; imageList[6] = &Number35TextureInfo; imageList[7] = &Number35TextureInfo; for (i = 0; i < 8; i++) { if ((i % 2) == 0) flagList[i] = TWIST_NINETY_DEGREES; } #endif imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, NINETY_SEVENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, NINETY_EIGHTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, NINETY_NINTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, HUNDREDTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_SIXTH thisTrack = &SetTracks[THIRTY_SIXTH]; SetTrackClassicShape(thisTrack, THIRTY_SIXTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); #if 0 imageList[0] = &Number36TextureInfo; imageList[1] = &Number36TextureInfo; imageList[2] = &Number37TextureInfo; imageList[3] = &Number37TextureInfo; imageList[4] = &Number38TextureInfo; imageList[5] = &Number38TextureInfo; imageList[6] = &Number39TextureInfo; imageList[7] = &Number39TextureInfo; for (i = 0; i < 8; i++) { if ((i % 2) == 0) flagList[i] = TWIST_NINETY_DEGREES; } #endif imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, HUNDRED_AND_FIRST, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, HUNDRED_AND_SECOND, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, HUNDRED_AND_THIRD, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, HUNDRED_AND_FOURTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_SEVENTH thisTrack = &SetTracks[THIRTY_SEVENTH]; SetTrackClassicShape(thisTrack, THIRTY_SEVENTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); #if 0 imageList[0] = &Number40TextureInfo; imageList[1] = &Number40TextureInfo; imageList[2] = &Number41TextureInfo; imageList[3] = &Number41TextureInfo; imageList[4] = &Number42TextureInfo; imageList[5] = &Number42TextureInfo; imageList[6] = &Number43TextureInfo; imageList[7] = &Number43TextureInfo; for (i = 0; i < 8; i++) { if ((i % 2) == 0) flagList[i] = TWIST_NINETY_DEGREES; } #endif imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, HUNDRED_AND_FIFTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, HUNDRED_AND_SIXTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, HUNDRED_AND_SEVENTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, HUNDRED_AND_EIGHTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_EIGHTH thisTrack = &SetTracks[THIRTY_EIGHTH]; SetTrackClassicShape(thisTrack, THIRTY_EIGHTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); #if 0 imageList[0] = &Number44TextureInfo; imageList[1] = &Number44TextureInfo; imageList[2] = &Number45TextureInfo; imageList[3] = &Number45TextureInfo; imageList[4] = &Number46TextureInfo; imageList[5] = &Number46TextureInfo; imageList[6] = &Number47TextureInfo; imageList[7] = &Number47TextureInfo; for (i = 0; i < 8; i++) { if ((i % 2) == 0) flagList[i] = TWIST_NINETY_DEGREES; } #endif imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, HUNDRED_AND_NINTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, HUNDRED_AND_TENTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, HUNDRED_AND_ELEVENTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, HUNDRED_AND_TWELFTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_NINTH thisTrack = &SetTracks[THIRTY_NINTH]; SetTrackClassicShape(thisTrack, THIRTY_NINTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); #if 0 imageList[0] = &Number48TextureInfo; imageList[1] = &Number48TextureInfo; imageList[2] = &Number49TextureInfo; imageList[3] = &Number49TextureInfo; imageList[4] = &Number50TextureInfo; imageList[5] = &Number50TextureInfo; imageList[6] = &Number51TextureInfo; imageList[7] = &Number51TextureInfo; for (i = 0; i < 8; i++) { if ((i % 2) == 0) flagList[i] = TWIST_NINETY_DEGREES; } #endif imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, HUNDRED_AND_THIRTEENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, HUNDRED_AND_FOURTEENTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, HUNDRED_AND_FIFTEENTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, HUNDRED_AND_SIXTEENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FOURTIETH thisTrack = &SetTracks[FOURTIETH]; SetTrackClassicShape(thisTrack, FOURTIETH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); #if 0 imageList[0] = &Number52TextureInfo; imageList[1] = &Number52TextureInfo; imageList[2] = &Spiral1TextureInfo; imageList[3] = &Spiral1TextureInfo; imageList[4] = &Spiral2TextureInfo; imageList[5] = &Spiral2TextureInfo; imageList[6] = &Spiral3TextureInfo; imageList[7] = &Spiral3TextureInfo; imageList[8] = &Spiral4TextureInfo; imageList[9] = &Spiral4TextureInfo; for (i = 0; i < 10; i++) { if ((i % 2) == 0) flagList[i] = TWIST_NINETY_DEGREES; } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 10, imageList, flagList, offsetList, 0); #endif imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, HUNDRED_AND_SEVENTEENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, HUNDRED_AND_EIGHTEENTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, THIRD, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, FOURTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_FIRST thisTrack = &SetTracks[FORTY_FIRST]; SetTrackClassicShape(thisTrack, FORTY_FIRST-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); #if 0 SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, FIRST, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SECOND, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, THIRD, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, FOURTH, FOURTH, FOURTH); #endif SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, HUNDRED_AND_NINETEENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, HUNDRED_AND_TWENTIETH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, HUNDRED_AND_TWENTY_FIRST, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, HUNDRED_AND_TWENTY_SECOND, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_SECOND thisTrack = &SetTracks[FORTY_SECOND]; SetTrackClassicShape(thisTrack, FORTY_SECOND-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); #if 0 SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, FIFTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SIXTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, SEVENTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, EIGHTH, FOURTH, FOURTH); #endif SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, HUNDRED_AND_TWENTY_THIRD, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, HUNDRED_AND_TWENTY_FOURTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, HUNDRED_AND_TWENTY_FIFTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, HUNDRED_AND_TWENTY_SIXTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_THIRD thisTrack = &SetTracks[FORTY_THIRD]; SetTrackClassicShape(thisTrack, FORTY_THIRD-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, NINTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, TENTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, ELEVENTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, TWELFTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_FOURTH thisTrack = &SetTracks[FORTY_FOURTH]; SetTrackClassicShape(thisTrack, FORTY_FOURTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, THIRTEENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, FOURTEENTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, FIFTEENTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, SIXTEENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_FIFTH thisTrack = &SetTracks[FORTY_FIFTH]; SetTrackClassicShape(thisTrack, FORTY_FIFTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, SEVENTEENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, EIGHTEENTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, NINETEENTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, TWENTIETH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_SIXTH thisTrack = &SetTracks[FORTY_SIXTH]; SetTrackClassicShape(thisTrack, FORTY_SIXTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, TWENTY_FIRST, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, TWENTY_SECOND, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, TWENTY_THIRD, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, TWENTY_FOURTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_SEVENTH thisTrack = &SetTracks[FORTY_SEVENTH]; SetTrackClassicShape(thisTrack, FORTY_SEVENTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, TWENTY_FIFTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, TWENTY_SIXTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, TWENTY_SEVENTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, TWENTY_EIGHTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_EIGHTH thisTrack = &SetTracks[FORTY_EIGHTH]; SetTrackClassicShape(thisTrack, FORTY_EIGHTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, TWENTY_NINTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, THIRTIETH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, THIRTY_FIRST, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, THIRTY_SECOND, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_NINTH thisTrack = &SetTracks[FORTY_NINTH]; SetTrackClassicShape(thisTrack, FORTY_NINTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, THIRTY_THIRD, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, THIRTY_FOURTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, THIRTY_FIFTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, THIRTY_SIXTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTIETH thisTrack = &SetTracks[FIFTIETH]; SetTrackClassicShape(thisTrack, FIFTIETH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, THIRTY_SEVENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, THIRTY_EIGHTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, THIRTY_NINTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, FOURTIETH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_FIRST thisTrack = &SetTracks[FIFTY_FIRST]; SetTrackClassicShape(thisTrack, FIFTY_FIRST-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, FORTY_FIRST, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, FORTY_SECOND, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, FORTY_THIRD, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, FORTY_FOURTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_SECOND thisTrack = &SetTracks[FIFTY_SECOND]; SetTrackClassicShape(thisTrack, FIFTY_SECOND-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, FORTY_FIFTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, FORTY_SIXTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, FORTY_SEVENTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, FORTY_EIGHTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_THIRD thisTrack = &SetTracks[FIFTY_THIRD]; SetTrackClassicShape(thisTrack, FIFTY_THIRD-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, FORTY_NINTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, FIFTIETH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, FIFTY_FIRST, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, FIFTY_SECOND, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_FOURTH thisTrack = &SetTracks[FIFTY_FOURTH]; SetTrackClassicShape(thisTrack, FIFTY_FOURTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, FIFTY_THIRD, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, FIFTY_FOURTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, FIFTY_FIFTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, FIFTY_SIXTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_FIFTH thisTrack = &SetTracks[FIFTY_FIFTH]; SetTrackClassicShape(thisTrack, FIFTY_FIFTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, FIFTY_SEVENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, FIFTY_EIGHTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, FIFTY_NINTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, SIXTIETH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_SIXTH thisTrack = &SetTracks[FIFTY_SIXTH]; SetTrackClassicShape(thisTrack, FIFTY_SIXTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, SIXTY_FIRST, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SIXTY_SECOND, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, SIXTY_THIRD, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, SIXTY_FOURTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_SEVENTH thisTrack = &SetTracks[FIFTY_SEVENTH]; SetTrackClassicShape(thisTrack, FIFTY_SEVENTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, SIXTY_FIFTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SIXTY_SIXTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, SIXTY_SEVENTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, SIXTY_EIGHTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_EIGHTH thisTrack = &SetTracks[FIFTY_EIGHTH]; SetTrackClassicShape(thisTrack, FIFTY_EIGHTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, SIXTY_NINTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SEVENTIETH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, SEVENTY_FIRST, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, SEVENTY_SECOND, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_NINTH thisTrack = &SetTracks[FIFTY_NINTH]; SetTrackClassicShape(thisTrack, FIFTY_NINTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, SEVENTY_THIRD, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SEVENTY_FOURTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, SEVENTY_FIFTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, SEVENTY_SIXTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SIXTIETH thisTrack = &SetTracks[SIXTIETH]; SetTrackClassicShape(thisTrack, SIXTIETH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, SEVENTY_SEVENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SEVENTY_EIGHTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, SEVENTY_NINTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, EIGHTIETH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SIXTY_FIRST thisTrack = &SetTracks[SIXTY_FIRST]; SetTrackClassicShape(thisTrack, SIXTY_FIRST-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, EIGHTY_FIRST, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, EIGHTY_SECOND, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, EIGHTY_THIRD, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, EIGHTY_FOURTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SIXTY_SECOND thisTrack = &SetTracks[SIXTY_SECOND]; SetTrackClassicShape(thisTrack, SIXTY_SECOND-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, EIGHTY_FIFTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, EIGHTY_SIXTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, EIGHTY_SEVENTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, EIGHTY_EIGHTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SIXTY_THIRD thisTrack = &SetTracks[SIXTY_THIRD]; SetTrackClassicShape(thisTrack, SIXTY_THIRD-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, EIGHTY_NINTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, NINETIETH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, NINETY_FIRST, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, NINETY_SECOND, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SIXTY_FOURTH thisTrack = &SetTracks[SIXTY_FOURTH]; SetTrackClassicShape(thisTrack, SIXTY_FOURTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, NINETY_THIRD, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, NINETY_FOURTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, NINETY_FIFTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, NINETY_SIXTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ #endif // VERSION 4 #if 0 #define ASCII_TEXTURE_ID 0 #define FIRE_BACKGROUND_TEXTURE_ID 1 #define BAR_RED_TEXTURE_ID 2 #define SIMPLE_BLUE_TEXTURE_ID 3 #define BAR_SPECTRUM_TEXTURE_ID 4 #define SMOOTH_SPECTRUM_TEXTURE_ID 5 #define SMOOTH_RED_TEXTURE_ID 6 #define ARROW_2_TEXTURE_ID 7 #define CHEVRON_1_TEXTURE_ID 8 #define CIRCLE_TEXTURE_ID 9 #define HORIZONTAL_LARGE_TEXTURE_ID 10 #define PANEL_TEXTURE_ID 11 #define WAVE_16_TEXTURE_ID 12 #define DYNAMIC_AREA_2_TEXTURE_ID 13 #define DYNAMIC_AREA_3_TEXTURE_ID 14 #define DYNAMIC_AREA_4_TEXTURE_ID 15 #define TILE_FIVE_TEXTURE_ID 16 #define FIRE_TEXTURE_ID 17 #define SPECTRUM_2_TEXTURE_ID 18 #define SPECTRUM_3_TEXTURE_ID 19 #define NUMBER_1_TEXTURE_ID 20 #define NUMBER_2_TEXTURE_ID 21 #define NUMBER_3_TEXTURE_ID 22 #define NUMBER_4_TEXTURE_ID 23 #define NUMBER_5_TEXTURE_ID 24 #define NUMBER_6_TEXTURE_ID 25 #define NUMBER_7_TEXTURE_ID 26 #define NUMBER_8_TEXTURE_ID 27 #define NUMBER_9_TEXTURE_ID 28 #define NUMBER_10_TEXTURE_ID 29 #define NUMBER_11_TEXTURE_ID 30 #define NUMBER_12_TEXTURE_ID 31 #define NUMBER_13_TEXTURE_ID 32 #define NUMBER_14_TEXTURE_ID 33 #define NUMBER_15_TEXTURE_ID 34 #define NUMBER_16_TEXTURE_ID 35 #define NUMBER_17_TEXTURE_ID 36 #define NUMBER_18_TEXTURE_ID 37 #define NUMBER_19_TEXTURE_ID 38 #define NUMBER_20_TEXTURE_ID 39 #define NUMBER_21_TEXTURE_ID 40 #define NUMBER_22_TEXTURE_ID 41 #define NUMBER_23_TEXTURE_ID 42 #define NUMBER_24_TEXTURE_ID 43 #define NUMBER_25_TEXTURE_ID 44 #define NUMBER_26_TEXTURE_ID 45 #define NUMBER_27_TEXTURE_ID 46 #define NUMBER_28_TEXTURE_ID 47 #define NUMBER_29_TEXTURE_ID 48 #define WAVE_15_TEXTURE_ID 49 #define SHIP_DYNAMIC_AREA_2_TEXTURE_ID 50 #define SHIP_DYNAMIC_AREA_3_TEXTURE_ID 51 #define SHIP_DYNAMIC_AREA_4_TEXTURE_ID 52 #define SHIP_DYNAMIC_AREA_5_TEXTURE_ID 53 #define SHIP_DYNAMIC_AREA_6_TEXTURE_ID 54 #define NUMBER_30_TEXTURE_ID 55 #define NUMBER_31_TEXTURE_ID 56 #define NUMBER_32_TEXTURE_ID 57 #define NUMBER_33_TEXTURE_ID 58 #define NUMBER_34_TEXTURE_ID 59 #define NUMBER_35_TEXTURE_ID 60 #define NUMBER_36_TEXTURE_ID 61 #define NUMBER_37_TEXTURE_ID 62 #define NUMBER_38_TEXTURE_ID 63 #define NUMBER_39_TEXTURE_ID 64 #define NUMBER_40_TEXTURE_ID 65 #define NUMBER_41_TEXTURE_ID 66 #define NUMBER_42_TEXTURE_ID 67 #define NUMBER_43_TEXTURE_ID 68 #define NUMBER_44_TEXTURE_ID 69 #define NUMBER_45_TEXTURE_ID 70 #define NUMBER_46_TEXTURE_ID 71 #define NUMBER_47_TEXTURE_ID 72 #define NUMBER_48_TEXTURE_ID 73 #define NUMBER_49_TEXTURE_ID 74 #define NUMBER_50_TEXTURE_ID 75 #define NUMBER_51_TEXTURE_ID 76 #define NUMBER_52_TEXTURE_ID 77 #define SPIRAL_1_TEXTURE_ID 78 #define SPIRAL_2_TEXTURE_ID 79 #define SPIRAL_3_TEXTURE_ID 80 #define SPIRAL_4_TEXTURE_ID 81 #endif #if 0 // VERSION 5 -- towards final // 64 tracks, 32 shapes; // first 32 tracks are shapes in order, xz plane, // second 32 tracks are shapes in order, yz plane. /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIRST thisTrack = &SetTracks[FIRST]; SetTrackClassicShape(thisTrack, SECOND); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number23TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &Chevron1TextureInfo; imageList[3] = &Number27TextureInfo; imageList[4] = &DynamicAreaThreeTextureInfo; imageList[5] = &Wave16TextureInfo; imageList[6] = &Number10TextureInfo; imageList[7] = &DynamicAreaFourTextureInfo; flagList[2] = TWIST_NINETY_DEGREES; // rotate chevron racing-arrow setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[4], 0, 0, 32, 32); setRECT( &offsetList[5], 0, 0, 32, 32); setRECT( &offsetList[7], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 8, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SECOND, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, THIRD, SECOND, SECOND); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, NINTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, TENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SECOND thisTrack = &SetTracks[SECOND]; SetTrackClassicShape(thisTrack, FIRST); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number29TextureInfo; imageList[1] = &Wave16TextureInfo; imageList[2] = &DynamicAreaTwoTextureInfo; for (i = 1; i < 3; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 3, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SIXTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, THIRTY_SEVENTH, SECOND, SECOND); SetDrawProcessesForTrack(thisTrack, 2, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRD thisTrack = &SetTracks[THIRD]; SetTrackClassicShape(thisTrack, THIRD); SetDescriptionNumberSectionsDrawn(thisTrack, 24); SetDescriptionShapesPerSection(thisTrack, 8); imageList[0] = &Wave16TextureInfo; imageList[1] = &SimpleBlueTextureInfo; imageList[2] = &BarRedTextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[2], 0, 0, 32, 32); flagList[2] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 3, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SECOND, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FOURTH thisTrack = &SetTracks[FOURTH]; SetTrackClassicShape(thisTrack, FOURTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); flagList[0] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_FIRST, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTH thisTrack = &SetTracks[FIFTH]; SetTrackClassicShape(thisTrack, FIFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &BarRedTextureInfo; for (i = 0; i < 2; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } flagList[1] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 2, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_FOURTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, TENTH, SECOND, SECOND); SetDrawProcessesForTrack(thisTrack, 2, drawProcesses); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SIXTH thisTrack = &SetTracks[SIXTH]; SetTrackClassicShape(thisTrack, SIXTH); imageList[0] = &Chevron1TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &Number23TextureInfo; imageList[3] = &Number27TextureInfo; imageList[4] = &Number10TextureInfo; imageList[5] = &DynamicAreaThreeTextureInfo; imageList[6] = &Wave16TextureInfo; imageList[7] = &DynamicAreaFourTextureInfo; for (i = 0; i < 8; i++) { setRECT( &offsetList[i], 0, 0, 64, 32); } flagList[0] = TWIST_NINETY_DEGREES; // rotate chevron racing-arrow setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[2], 0, 0, 32, 32); setRECT( &offsetList[3], 0, 0, 32, 32); setRECT( &offsetList[5], 0, 0, 32, 32); setRECT( &offsetList[6], 0, 0, 32, 32); setRECT( &offsetList[7], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 8, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SECOND, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, THIRD, SECOND, SECOND); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, NINTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, TENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); /********************************************************************** TRACK DIVIDER **********************************************************************/ // SEVENTH thisTrack = &SetTracks[SEVENTH]; SetTrackClassicShape(thisTrack, SEVENTH); SetDescriptionShapesPerSection(thisTrack, 8); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, SIXTY_FIFTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // EIGHTH thisTrack = &SetTracks[EIGHTH]; SetTrackClassicShape(thisTrack, EIGHTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number29TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // NINTH thisTrack = &SetTracks[NINTH]; SetTrackClassicShape(thisTrack, NINTH); SetDescriptionShapesPerSection(thisTrack, 8); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number15TextureInfo; imageList[1] = &Number19TextureInfo; imageList[2] = &Number23TextureInfo; imageList[3] = &Number25TextureInfo; imageList[4] = &Number22TextureInfo; imageList[5] = &Number24TextureInfo; imageList[6] = &Number29TextureInfo; imageList[7] = &Number5TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 8, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TENTH thisTrack = &SetTracks[TENTH]; SetTrackClassicShape(thisTrack, TENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number23TextureInfo; imageList[1] = &Number26TextureInfo; imageList[2] = &Number27TextureInfo; imageList[3] = &Number29TextureInfo; flagList[1] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // ELEVENTH thisTrack = &SetTracks[ELEVENTH]; SetTrackClassicShape(thisTrack, ELEVENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number4TextureInfo; imageList[1] = &Number5TextureInfo; imageList[2] = &Number25TextureInfo; imageList[3] = &Wave16TextureInfo; imageList[4] = &DynamicAreaTwoTextureInfo; imageList[5] = &DynamicAreaThreeTextureInfo; imageList[6] = &DynamicAreaFourTextureInfo; setRECT( &offsetList[3], 0, 0, 32, 32); setRECT( &offsetList[4], 0, 0, 32, 32); setRECT( &offsetList[5], 0, 0, 32, 32); setRECT( &offsetList[6], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 7, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_FIRST, THIRD, THIRD); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, FOURTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[2], &DynamicAreaThreeTextureInfo, SIXTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, TWENTY_FIFTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackFogging(thisTrack, -6500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWELFTH thisTrack = &SetTracks[TWELFTH]; SetTrackClassicShape(thisTrack, TWELFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[2], 0, 0, 32, 32); setRECT( &offsetList[3], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, SECOND, THIRD, THIRD); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, THIRD, FIRST, FIRST); SetDrawProcess2( &drawProcesses[2], &DynamicAreaThreeTextureInfo, FIFTEENTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, EIGHTEENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackFogging(thisTrack, -6500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTEENTH thisTrack = &SetTracks[THIRTEENTH]; SetTrackClassicShape(thisTrack, THIRTEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, EIGHTEENTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FOURTEENTH thisTrack = &SetTracks[FOURTEENTH]; SetTrackClassicShape(thisTrack, FOURTEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTEENTH thisTrack = &SetTracks[FIFTEENTH]; SetTrackClassicShape(thisTrack, FIFTEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, FIFTY_FIRST, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SIXTEENTH thisTrack = &SetTracks[SIXTEENTH]; SetTrackClassicShape(thisTrack, SIXTEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number23TextureInfo; imageList[1] = &Number26TextureInfo; imageList[2] = &Number27TextureInfo; imageList[3] = &Number29TextureInfo; flagList[1] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA // speculative tracks designed to test new textures // MOST are knackered // (so are some old textures WHEN used as track textures) // VRAM is OK: know this because globals sprites are OK /********************************************************************** TRACK DIVIDER **********************************************************************/ // SEVENTEENTH thisTrack = &SetTracks[SEVENTEENTH]; SetTrackClassicShape(thisTrack, SEVENTEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &BarSpectrumTextureInfo; imageList[1] = &AsciiTextureInfo; imageList[2] = &Number26TextureInfo; imageList[3] = &Number29TextureInfo; imageList[4] = &BarSpectrumTextureInfo; imageList[5] = &AsciiTextureInfo; setRECT( &offsetList[0], 0, 0, 64, 32); setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[4], 0, 0, 64, 32); setRECT( &offsetList[5], 0, 0, 32, 32); flagList[2] = TWIST_NINETY_DEGREES; flagList[3] = TWIST_NINETY_DEGREES; flagList[4] = TWIST_NINETY_DEGREES; flagList[5] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 6, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // EIGHTEENTH thisTrack = &SetTracks[EIGHTEENTH]; SetTrackClassicShape(thisTrack, EIGHTEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); //imageList[0] = &Chevron1TextureInfo; imageList[0] = &Number4TextureInfo; imageList[1] = &Number1TextureInfo; imageList[2] = &Number2TextureInfo; imageList[3] = &Number3TextureInfo; imageList[4] = &Number5TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 5, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // NINETEENTH thisTrack = &SetTracks[NINETEENTH]; SetTrackClassicShape(thisTrack, NINETEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number8TextureInfo; imageList[1] = &Number10TextureInfo; imageList[2] = &Number12TextureInfo; imageList[3] = &Number23TextureInfo; imageList[4] = &Number15TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 5, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTIETH thisTrack = &SetTracks[TWENTIETH]; SetTrackClassicShape(thisTrack, TWENTIETH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number18TextureInfo; imageList[1] = &Number19TextureInfo; imageList[2] = &Number21TextureInfo; imageList[3] = &Number22TextureInfo; imageList[4] = &Number23TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 5, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_FIRST thisTrack = &SetTracks[TWENTY_FIRST]; SetTrackClassicShape(thisTrack, TWENTY_FIRST); imageList[0] = &Number24TextureInfo; imageList[1] = &Number25TextureInfo; imageList[2] = &Number26TextureInfo; //imageList[3] = &Number27TextureInfo; imageList[3] = &Number19TextureInfo; imageList[4] = &Number29TextureInfo; flagList[0] = TWIST_NINETY_DEGREES; flagList[1] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 5, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_SECOND thisTrack = &SetTracks[TWENTY_SECOND]; SetTrackClassicShape(thisTrack, TWENTY_SECOND); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number30TextureInfo; imageList[1] = &Number41TextureInfo; imageList[2] = &Number44TextureInfo; imageList[3] = &Number10TextureInfo; flagList[3] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_THIRD thisTrack = &SetTracks[TWENTY_THIRD]; SetTrackClassicShape(thisTrack, TWENTY_THIRD); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Chevron1TextureInfo; imageList[1] = &Number10TextureInfo; imageList[2] = &Number23TextureInfo; imageList[3] = &Number24TextureInfo; imageList[4] = &Number25TextureInfo; for (i = 0; i < 5; i++) { flagList[i] = TWIST_NINETY_DEGREES; } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 5, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_FOURTH thisTrack = &SetTracks[TWENTY_FOURTH]; SetTrackClassicShape(thisTrack, TWENTY_FOURTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } flagList[2] = TWIST_NINETY_DEGREES; flagList[3] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, SEVENTY_SEVENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SEVENTY_EIGHTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, SEVENTY_SEVENTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, SEVENTY_EIGHTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_FIFTH thisTrack = &SetTracks[TWENTY_FIFTH]; SetTrackClassicShape(thisTrack, TWENTY_FIFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, EIGHTY_FIRST, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, EIGHTY_SECOND, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, EIGHTY_THIRD, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, EIGHTY_FOURTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_SIXTH thisTrack = &SetTracks[TWENTY_SIXTH]; SetTrackClassicShape(thisTrack, TWENTY_SIXTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, EIGHTY_FIFTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, EIGHTY_SIXTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, EIGHTY_SEVENTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, EIGHTY_EIGHTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_SEVENTH thisTrack = &SetTracks[TWENTY_SEVENTH]; SetTrackClassicShape(thisTrack, TWENTY_SEVENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } flagList[1] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, EIGHTY_NINTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, NINETIETH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, NINETY_FIRST, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, NINETY_SECOND, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_EIGHTH thisTrack = &SetTracks[TWENTY_EIGHTH]; SetTrackClassicShape(thisTrack, TWENTY_EIGHTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, 3072, 3072, 3072); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, NINETY_THIRD, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, NINETY_FOURTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, NINETY_FIFTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, NINETY_SIXTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_NINTH thisTrack = &SetTracks[TWENTY_NINTH]; SetTrackClassicShape(thisTrack, TWENTY_NINTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, NINETY_SEVENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, NINETY_EIGHTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, NINETY_NINTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, HUNDREDTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTIETH thisTrack = &SetTracks[THIRTIETH]; SetTrackClassicShape(thisTrack, THIRTIETH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, HUNDRED_AND_FIRST, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, HUNDRED_AND_SECOND, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, HUNDRED_AND_FIFTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, HUNDRED_AND_FOURTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_FIRST thisTrack = &SetTracks[THIRTY_FIRST]; SetTrackClassicShape(thisTrack, THIRTY_FIRST); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, HUNDRED_AND_TENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, HUNDRED_AND_SIXTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, HUNDRED_AND_EIGHTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, HUNDRED_AND_NINTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_SECOND thisTrack = &SetTracks[THIRTY_SECOND]; SetTrackClassicShape(thisTrack, THIRTY_SECOND); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, HUNDRED_AND_FOURTEENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, HUNDRED_AND_ELEVENTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, HUNDRED_AND_TWELFTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, HUNDRED_AND_THIRTEENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_THIRD thisTrack = &SetTracks[THIRTY_THIRD]; SetTrackClassicShape(thisTrack, THIRTY_THIRD-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, 3072, 3072, 3072); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, HUNDRED_AND_EIGHTEENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, HUNDRED_AND_FIFTEENTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, HUNDRED_AND_SIXTEENTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, HUNDRED_AND_SEVENTEENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_FOURTH thisTrack = &SetTracks[THIRTY_FOURTH]; SetTrackClassicShape(thisTrack, THIRTY_FOURTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, SEVENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, TENTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, FIFTEENTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, SIXTEENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_FIFTH thisTrack = &SetTracks[THIRTY_FIFTH]; SetTrackClassicShape(thisTrack, THIRTY_FIFTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, TWENTY_THIRD, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, TWENTY_FIFTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, THIRTY_FIRST, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, THIRTY_SECOND, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_SIXTH thisTrack = &SetTracks[THIRTY_SIXTH]; SetTrackClassicShape(thisTrack, THIRTY_SIXTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, THIRTY_THIRD, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, THIRTY_FOURTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, THIRTY_FIFTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, THIRTY_SIXTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_SEVENTH thisTrack = &SetTracks[THIRTY_SEVENTH]; SetTrackClassicShape(thisTrack, THIRTY_SEVENTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, 3072, 3072, 3072); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, THIRTY_SEVENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, FOURTIETH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, FORTY_FIRST, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, FORTY_SECOND, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_EIGHTH thisTrack = &SetTracks[THIRTY_EIGHTH]; SetTrackClassicShape(thisTrack, THIRTY_EIGHTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, 3072, 3072, 3072); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, FORTY_FOURTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, FORTY_FIFTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, FORTY_EIGHTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, FORTY_NINTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_NINTH thisTrack = &SetTracks[THIRTY_NINTH]; SetTrackClassicShape(thisTrack, THIRTY_NINTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, FIFTIETH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, FIFTY_FIRST, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, FIFTY_SECOND, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, FIFTY_THIRD, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FOURTIETH thisTrack = &SetTracks[FOURTIETH]; SetTrackClassicShape(thisTrack, FOURTIETH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, FIFTY_FOURTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, FIFTY_FIFTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, FIFTY_SIXTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, FIFTY_SEVENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_FIRST thisTrack = &SetTracks[FORTY_FIRST]; SetTrackClassicShape(thisTrack, FORTY_FIRST-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, SIXTY_THIRD, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SIXTY_FOURTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, SIXTY_FIFTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, SIXTY_EIGHTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_SECOND thisTrack = &SetTracks[FORTY_SECOND]; SetTrackClassicShape(thisTrack, FORTY_SECOND-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, SEVENTIETH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SEVENTY_FOURTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, SEVENTY_FIFTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, SEVENTY_SIXTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_THIRD thisTrack = &SetTracks[FORTY_THIRD]; SetTrackClassicShape(thisTrack, FORTY_THIRD-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, HUNDRED_AND_NINETEENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, HUNDRED_AND_TWENTIETH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, HUNDRED_AND_TWENTY_FIRST, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, HUNDRED_AND_TWENTY_SECOND, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_FOURTH thisTrack = &SetTracks[FORTY_FOURTH]; SetTrackClassicShape(thisTrack, FORTY_FOURTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, HUNDRED_AND_TWENTY_THIRD, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, HUNDRED_AND_TWENTY_FOURTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, HUNDRED_AND_TWENTY_FIFTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, HUNDRED_AND_TWENTY_SIXTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_FIFTH thisTrack = &SetTracks[FORTY_FIFTH]; SetTrackClassicShape(thisTrack, FORTY_FIFTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); // LIGHTS OUT SetAmbientEffectForTrack(thisTrack, THIRD); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_SIXTH thisTrack = &SetTracks[FORTY_SIXTH]; SetTrackClassicShape(thisTrack, FORTY_SIXTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_SEVENTH thisTrack = &SetTracks[FORTY_SEVENTH]; SetTrackClassicShape(thisTrack, FORTY_SEVENTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_EIGHTH thisTrack = &SetTracks[FORTY_EIGHTH]; SetTrackClassicShape(thisTrack, FORTY_EIGHTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_NINTH thisTrack = &SetTracks[FORTY_NINTH]; SetTrackClassicShape(thisTrack, FORTY_NINTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTIETH thisTrack = &SetTracks[FIFTIETH]; SetTrackClassicShape(thisTrack, FIFTIETH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_FIRST thisTrack = &SetTracks[FIFTY_FIRST]; SetTrackClassicShape(thisTrack, FIFTY_FIRST-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_SECOND thisTrack = &SetTracks[FIFTY_SECOND]; SetTrackClassicShape(thisTrack, FIFTY_SECOND-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_THIRD thisTrack = &SetTracks[FIFTY_THIRD]; SetTrackClassicShape(thisTrack, FIFTY_THIRD-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_FOURTH thisTrack = &SetTracks[FIFTY_FOURTH]; SetTrackClassicShape(thisTrack, FIFTY_FOURTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_FIFTH thisTrack = &SetTracks[FIFTY_FIFTH]; SetTrackClassicShape(thisTrack, FIFTY_FIFTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_SIXTH thisTrack = &SetTracks[FIFTY_SIXTH]; SetTrackClassicShape(thisTrack, FIFTY_SIXTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_SEVENTH thisTrack = &SetTracks[FIFTY_SEVENTH]; SetTrackClassicShape(thisTrack, FIFTY_SEVENTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_EIGHTH thisTrack = &SetTracks[FIFTY_EIGHTH]; SetTrackClassicShape(thisTrack, FIFTY_EIGHTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_NINTH thisTrack = &SetTracks[FIFTY_NINTH]; SetTrackClassicShape(thisTrack, FIFTY_NINTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SIXTIETH thisTrack = &SetTracks[SIXTIETH]; SetTrackClassicShape(thisTrack, SIXTIETH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SIXTY_FIRST thisTrack = &SetTracks[SIXTY_FIRST]; SetTrackClassicShape(thisTrack, SIXTY_FIRST-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SIXTY_SECOND thisTrack = &SetTracks[SIXTY_SECOND]; SetTrackClassicShape(thisTrack, SIXTY_SECOND-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SIXTY_THIRD thisTrack = &SetTracks[SIXTY_THIRD]; SetTrackClassicShape(thisTrack, SIXTY_THIRD-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SIXTY_FOURTH thisTrack = &SetTracks[SIXTY_FOURTH]; SetTrackClassicShape(thisTrack, SIXTY_FOURTH-32); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ #endif // VERSION 5 -- towards final #if 1 // VERSION 6 -- towards final // 64 tracks, 32 shapes; // first 32 tracks are shapes in order, xz plane, // second 32 tracks are shapes in order, yz plane. // tracks6.dat expresses 281097 version // need to reset flag to create_by_function, then alter, // rerun, dsave out using debugger (run until address // of InitialiseTheGameState, get that from main.map) // using dbugpsx /emain main.sym, // then can get datafile of new tracks again and flip flag ... /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIRST thisTrack = &SetTracks[FIRST]; SetTrackClassicShape(thisTrack, SECOND); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number23TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &Chevron1TextureInfo; imageList[3] = &Number27TextureInfo; imageList[4] = &DynamicAreaThreeTextureInfo; imageList[5] = &Wave16TextureInfo; imageList[6] = &Number10TextureInfo; imageList[7] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST flagList[2] = TWIST_NINETY_DEGREES; // rotate chevron racing-arrow setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[4], 0, 0, 32, 32); setRECT( &offsetList[5], 0, 0, 32, 32); setRECT( &offsetList[7], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 8, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SECOND, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, THIRD, SECOND, SECOND); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, NINTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, TENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetTrackHighlightEffect (thisTrack, EVEN_SPACED_SECTIONS_MOVE_BACK_AND_FORTH, SECTION_BRIGHTENING, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SECOND thisTrack = &SetTracks[SECOND]; SetTrackClassicShape(thisTrack, FIRST); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number29TextureInfo; imageList[1] = &Wave16TextureInfo; imageList[2] = &DynamicAreaTwoTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 1; i < 3; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 3, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SIXTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, THIRTY_SEVENTH, SECOND, SECOND); SetDrawProcessesForTrack(thisTrack, 2, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetTrackHighlightEffect (thisTrack, EVEN_SPACED_SECTIONS_MOVE_BACK_AND_FORTH, SECTION_BRIGHTENING, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRD thisTrack = &SetTracks[THIRD]; SetTrackClassicShape(thisTrack, THIRD); SetDescriptionNumberSectionsDrawn(thisTrack, 24); imageList[0] = &Wave16TextureInfo; imageList[1] = &SimpleBlueTextureInfo; imageList[2] = &BarRedTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 32, 32); setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[2], 0, 0, 32, 32); flagList[2] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 3, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_SECOND, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetTrackHighlightEffect (thisTrack, EVEN_SPACED_SECTIONS_MOVE_BACK_AND_FORTH, SECTION_BRIGHTENING, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FOURTH thisTrack = &SetTracks[FOURTH]; SetTrackClassicShape(thisTrack, FOURTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 32, 32); flagList[0] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_FIRST, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetTrackHighlightEffect (thisTrack, EVEN_SPACED_SECTIONS_MOVE_BACK_AND_FORTH, SECTION_DARKENING, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTH thisTrack = &SetTracks[FIFTH]; SetTrackClassicShape(thisTrack, FIFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &BarRedTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 2; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } flagList[1] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 2, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_FOURTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SIXTH thisTrack = &SetTracks[SIXTH]; SetTrackClassicShape(thisTrack, SIXTH); imageList[0] = &Chevron1TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &Number23TextureInfo; imageList[3] = &Number27TextureInfo; imageList[4] = &Number10TextureInfo; imageList[5] = &DynamicAreaThreeTextureInfo; imageList[6] = &Wave16TextureInfo; imageList[7] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 8; i++) { setRECT( &offsetList[i], 0, 0, 64, 32); } flagList[0] = TWIST_NINETY_DEGREES; // rotate chevron racing-arrow setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[2], 0, 0, 32, 32); setRECT( &offsetList[3], 0, 0, 32, 32); setRECT( &offsetList[5], 0, 0, 32, 32); setRECT( &offsetList[6], 0, 0, 32, 32); setRECT( &offsetList[7], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 8, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackHighlightEffect (thisTrack, TWO_SNAKES_OSCILLATE_AROUND_TUNNEL_IN_HELIX, POLYGON_BRIGHTEN, 0); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SECOND, FIRST, FIRST); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, THIRD, SECOND, SECOND); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, NINTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, TENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); /********************************************************************** TRACK DIVIDER **********************************************************************/ // SEVENTH thisTrack = &SetTracks[SEVENTH]; SetTrackClassicShape(thisTrack, SEVENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_BRIGHTLY_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, SIXTY_FIFTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // EIGHTH thisTrack = &SetTracks[EIGHTH]; SetTrackClassicShape(thisTrack, EIGHTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number29TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageIdList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_BRIGHTLY_AROUND_AXES, 60); SetTrackHighlightEffect (thisTrack, TWO_SNAKES_OSCILLATE_AROUND_TUNNEL_IN_HELIX, POLYGON_BRIGHTEN, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // NINTH thisTrack = &SetTracks[NINTH]; SetTrackClassicShape(thisTrack, NINTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number15TextureInfo; imageList[1] = &Number19TextureInfo; imageList[2] = &Number23TextureInfo; imageList[3] = &Number25TextureInfo; imageList[4] = &Number22TextureInfo; imageList[5] = &Number24TextureInfo; imageList[6] = &Number29TextureInfo; imageList[7] = &Number5TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 8, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_BRIGHTLY_AROUND_AXES, 60); SetTrackHighlightEffect (thisTrack, EVEN_SPACED_SECTIONS_MOVE_BACK_AND_FORTH, SECTION_BRIGHTENING, 0); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TENTH thisTrack = &SetTracks[TENTH]; SetTrackClassicShape(thisTrack, TENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number23TextureInfo; imageList[1] = &Number26TextureInfo; imageList[2] = &Number27TextureInfo; imageList[3] = &Number29TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST flagList[1] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetTrackHighlightEffect (thisTrack, TWO_SNAKES_OSCILLATE_AROUND_TUNNEL_IN_HELIX, POLYGON_BRIGHTEN, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // ELEVENTH thisTrack = &SetTracks[ELEVENTH]; SetTrackClassicShape(thisTrack, ELEVENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number4TextureInfo; imageList[1] = &Number5TextureInfo; imageList[2] = &Number25TextureInfo; imageList[3] = &Wave16TextureInfo; imageList[4] = &DynamicAreaTwoTextureInfo; imageList[5] = &DynamicAreaThreeTextureInfo; imageList[6] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[3], 0, 0, 32, 32); setRECT( &offsetList[4], 0, 0, 32, 32); setRECT( &offsetList[5], 0, 0, 32, 32); setRECT( &offsetList[6], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 7, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, THIRTY_FIRST, THIRD, THIRD); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, FOURTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[2], &DynamicAreaThreeTextureInfo, SIXTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, TWENTY_FIFTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackFogging(thisTrack, -6500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWELFTH thisTrack = &SetTracks[TWELFTH]; SetTrackClassicShape(thisTrack, TWELFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 32, 32); setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[2], 0, 0, 32, 32); setRECT( &offsetList[3], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_BRIGHTLY_AROUND_AXES, 60); SetTrackHighlightEffect (thisTrack, TWO_SNAKES_OSCILLATE_AROUND_TUNNEL_IN_HELIX, POLYGON_BRIGHTEN, 0); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, SECOND, THIRD, THIRD); SetDrawProcess2( &drawProcesses[1], &DynamicAreaTwoTextureInfo, THIRD, FIRST, FIRST); SetDrawProcess2( &drawProcesses[2], &DynamicAreaThreeTextureInfo, FIFTEENTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, EIGHTEENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackFogging(thisTrack, -6500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTEENTH thisTrack = &SetTracks[THIRTEENTH]; SetTrackClassicShape(thisTrack, THIRTEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_BRIGHTLY_AROUND_AXES, 180); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, EIGHTEENTH, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetTrackHighlightEffect (thisTrack, FULL_LENGTH_SNAKE_OSCILLATES_AROUND_TUNNEL, POLYGON_BRIGHTEN, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FOURTEENTH thisTrack = &SetTracks[FOURTEENTH]; SetTrackClassicShape(thisTrack, FOURTEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetTrackHighlightEffect (thisTrack, FULL_LENGTH_SNAKE_OSCILLATES_AROUND_TUNNEL, POLYGON_DARKEN, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTEENTH thisTrack = &SetTracks[FIFTEENTH]; SetTrackClassicShape(thisTrack, FIFTEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_DIRECTION_AND_COLOUR, 180); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, FIFTY_FIRST, FIRST, FIRST); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SIXTEENTH thisTrack = &SetTracks[SIXTEENTH]; SetTrackClassicShape(thisTrack, SIXTEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number23TextureInfo; imageList[1] = &Number26TextureInfo; imageList[2] = &Number27TextureInfo; imageList[3] = &Number29TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST flagList[1] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetTrackHighlightEffect (thisTrack, TWO_SNAKES_OSCILLATE_AROUND_TUNNEL_IN_HELIX, POLYGON_BRIGHTEN, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SEVENTEENTH thisTrack = &SetTracks[SEVENTEENTH]; SetTrackClassicShape(thisTrack, SEVENTEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &BarSpectrumTextureInfo; imageList[1] = &AsciiTextureInfo; imageList[2] = &Number26TextureInfo; imageList[3] = &Number29TextureInfo; imageList[4] = &BarSpectrumTextureInfo; imageList[5] = &AsciiTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 64, 32); setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[4], 0, 0, 64, 32); setRECT( &offsetList[5], 0, 0, 32, 32); flagList[2] = TWIST_NINETY_DEGREES; flagList[3] = TWIST_NINETY_DEGREES; flagList[4] = TWIST_NINETY_DEGREES; flagList[5] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 6, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // EIGHTEENTH thisTrack = &SetTracks[EIGHTEENTH]; SetTrackClassicShape(thisTrack, EIGHTEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); //imageList[0] = &Chevron1TextureInfo; imageList[0] = &Number4TextureInfo; imageList[1] = &Number1TextureInfo; imageList[2] = &Number2TextureInfo; imageList[3] = &Number3TextureInfo; imageList[4] = &Number5TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 5, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, THREE_WHITE_LIGHTS, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetTrackHighlightEffect (thisTrack, TWO_SNAKES_OSCILLATE_AROUND_TUNNEL_IN_HELIX, POLYGON_BRIGHTEN, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // NINETEENTH thisTrack = &SetTracks[NINETEENTH]; SetTrackClassicShape(thisTrack, NINETEENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number8TextureInfo; imageList[1] = &Number10TextureInfo; imageList[2] = &Number12TextureInfo; imageList[3] = &Number23TextureInfo; imageList[4] = &Number15TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 5, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackHighlightEffect (thisTrack, TWO_SNAKES_OSCILLATE_AROUND_TUNNEL_IN_HELIX, POLYGON_BRIGHTEN, 0); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTIETH thisTrack = &SetTracks[TWENTIETH]; SetTrackClassicShape(thisTrack, TWENTIETH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number18TextureInfo; imageList[1] = &Number19TextureInfo; imageList[2] = &Number21TextureInfo; imageList[3] = &Number22TextureInfo; imageList[4] = &Number23TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 5, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, THREE_WHITE_LIGHTS, 60); SetAmbientLevelForTrack(thisTrack, (3*ONE)/4, (3*ONE)/4, (3*ONE)/4 ); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetTrackHighlightEffect (thisTrack, TWO_SNAKES_OSCILLATE_AROUND_TUNNEL_IN_HELIX, POLYGON_DARKEN, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_FIRST thisTrack = &SetTracks[TWENTY_FIRST]; SetTrackClassicShape(thisTrack, TWENTY_FIRST); imageList[0] = &Number24TextureInfo; imageList[1] = &Number25TextureInfo; imageList[2] = &Number26TextureInfo; imageList[3] = &Number19TextureInfo; imageList[4] = &Number29TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST flagList[0] = TWIST_NINETY_DEGREES; flagList[1] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 5, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetDescriptionNumberSectionsDrawn(thisTrack, 16); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_SECOND thisTrack = &SetTracks[TWENTY_SECOND]; SetTrackClassicShape(thisTrack, TWENTY_SECOND); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number30TextureInfo; imageList[1] = &Number41TextureInfo; imageList[2] = &Number44TextureInfo; imageList[3] = &Number10TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST flagList[3] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_BRIGHTLY_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetTrackHighlightEffect (thisTrack, EVEN_SPACED_SECTIONS_MOVE_BACK_AND_FORTH, SECTION_BRIGHTENING, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_THIRD thisTrack = &SetTracks[TWENTY_THIRD]; SetTrackClassicShape(thisTrack, TWENTY_THIRD); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Chevron1TextureInfo; imageList[1] = &Number10TextureInfo; imageList[2] = &Number23TextureInfo; imageList[3] = &Number24TextureInfo; imageList[4] = &Number25TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 5; i++) { flagList[i] = TWIST_NINETY_DEGREES; } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 5, imageIdList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_FOURTH thisTrack = &SetTracks[TWENTY_FOURTH]; SetTrackClassicShape(thisTrack, TWENTY_FOURTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } flagList[2] = TWIST_NINETY_DEGREES; flagList[3] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackHighlightEffect (thisTrack, TWO_SNAKES_OSCILLATE_AROUND_TUNNEL_IN_HELIX, POLYGON_BRIGHTEN, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, SEVENTY_SEVENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SEVENTY_EIGHTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, SEVENTY_SEVENTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, SEVENTY_EIGHTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_FIFTH thisTrack = &SetTracks[TWENTY_FIFTH]; SetTrackClassicShape(thisTrack, TWENTY_FIFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, EIGHTY_FIRST, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, EIGHTY_SECOND, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, EIGHTY_THIRD, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, EIGHTY_FOURTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_SIXTH thisTrack = &SetTracks[TWENTY_SIXTH]; SetTrackClassicShape(thisTrack, TWENTY_SIXTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, EIGHTY_FIFTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, EIGHTY_SIXTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, EIGHTY_SEVENTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, EIGHTY_EIGHTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_SEVENTH thisTrack = &SetTracks[TWENTY_SEVENTH]; SetTrackClassicShape(thisTrack, TWENTY_SEVENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, EIGHTY_NINTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, NINETIETH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, NINETY_FIRST, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, NINETY_SECOND, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); flagList[1] = TWIST_NINETY_DEGREES; SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, THREE_WHITE_LIGHTS, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetTrackHighlightEffect (thisTrack, EVEN_SPACED_SECTIONS_MOVE_BACK_AND_FORTH, SECTION_BRIGHTENING, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_EIGHTH thisTrack = &SetTracks[TWENTY_EIGHTH]; SetTrackClassicShape(thisTrack, TWENTY_EIGHTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, NINETY_THIRD, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, NINETY_FOURTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, NINETY_FIFTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, NINETY_SIXTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, THREE_WHITE_LIGHTS, 60); SetAmbientLevelForTrack(thisTrack, 3072, 3072, 3072); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetTrackHighlightEffect (thisTrack, EVEN_SPACED_SECTIONS_MOVE_BACK_AND_FORTH, SECTION_DARKENING, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // TWENTY_NINTH thisTrack = &SetTracks[TWENTY_NINTH]; SetTrackClassicShape(thisTrack, TWENTY_NINTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, NINETY_SEVENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, NINETY_EIGHTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, NINETY_NINTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, HUNDREDTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackHighlightEffect (thisTrack, TWO_QUARTERS_SNAKE_OSCILLATES, POLYGON_DARKEN, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTIETH thisTrack = &SetTracks[THIRTIETH]; SetTrackClassicShape(thisTrack, THIRTIETH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, HUNDRED_AND_FIRST, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, HUNDRED_AND_SECOND, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, HUNDRED_AND_FIFTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, HUNDRED_AND_FOURTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackHighlightEffect (thisTrack, TWO_QUARTERS_SNAKE_OSCILLATES, POLYGON_BRIGHTEN, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_FIRST thisTrack = &SetTracks[THIRTY_FIRST]; SetTrackClassicShape(thisTrack, THIRTY_FIRST); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, HUNDRED_AND_TENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, HUNDRED_AND_SIXTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, HUNDRED_AND_EIGHTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, HUNDRED_AND_NINTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackHighlightEffect (thisTrack, TWO_QUARTERS_SNAKE_OSCILLATES, POLYGON_BRIGHTEN, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_SECOND thisTrack = &SetTracks[THIRTY_SECOND]; SetTrackClassicShape(thisTrack, THIRTY_SECOND); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, HUNDRED_AND_FOURTEENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, HUNDRED_AND_ELEVENTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, HUNDRED_AND_TWELFTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, HUNDRED_AND_THIRTEENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackHighlightEffect (thisTrack, SNAKE_GROWS_AND_SHRINKS, POLYGON_DARKEN, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_THIRD thisTrack = &SetTracks[THIRTY_THIRD]; SetTrackClassicShape(thisTrack, THIRTY_THIRD); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, 3072, 3072, 3072); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, HUNDRED_AND_EIGHTEENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, HUNDRED_AND_FIFTEENTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, HUNDRED_AND_SIXTEENTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, HUNDRED_AND_SEVENTEENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackHighlightEffect (thisTrack, SNAKE_GROWS_AND_SHRINKS, POLYGON_BRIGHTEN, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_FOURTH thisTrack = &SetTracks[THIRTY_FOURTH]; SetTrackClassicShape(thisTrack, THIRTY_FOURTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, SEVENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, TENTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, FIFTEENTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, SIXTEENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackHighlightEffect (thisTrack, SNAKE_GROWS_AND_SHRINKS, POLYGON_DARKEN, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_FIFTH thisTrack = &SetTracks[THIRTY_FIFTH]; SetTrackClassicShape(thisTrack, THIRTY_FIFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, THREE_WHITE_LIGHTS, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, TWENTY_THIRD, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, TWENTY_FIFTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, THIRTY_FIRST, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, THIRTY_SECOND, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackHighlightEffect (thisTrack, SHORT_SNAKE_SPIRALS_BACK_AND_FORTH, POLYGON_BRIGHTEN, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_SIXTH thisTrack = &SetTracks[THIRTY_SIXTH]; SetTrackClassicShape(thisTrack, THIRTY_SIXTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, THREE_WHITE_LIGHTS, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, THIRTY_THIRD, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, THIRTY_FOURTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, THIRTY_FIFTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, THIRTY_SIXTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); SetTrackHighlightEffect (thisTrack, SHORT_SNAKE_SPIRALS_BACK_AND_FORTH, POLYGON_DARKEN, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_SEVENTH thisTrack = &SetTracks[THIRTY_SEVENTH]; SetTrackClassicShape(thisTrack, THIRTY_SEVENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, 3072, 3072, 3072); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, THIRTY_SEVENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, FOURTIETH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, FORTY_FIRST, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, FORTY_SECOND, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_EIGHTH thisTrack = &SetTracks[THIRTY_EIGHTH]; SetTrackClassicShape(thisTrack, THIRTY_EIGHTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, 3072, 3072, 3072); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, FORTY_FOURTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, FORTY_FIFTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, FORTY_EIGHTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, FORTY_NINTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // THIRTY_NINTH thisTrack = &SetTracks[THIRTY_NINTH]; SetTrackClassicShape(thisTrack, THIRTY_NINTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, FIFTIETH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, FIFTY_FIRST, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, FIFTY_SECOND, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, FIFTY_THIRD, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FOURTIETH thisTrack = &SetTracks[FOURTIETH]; SetTrackClassicShape(thisTrack, FOURTIETH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, FIFTY_FOURTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, FIFTY_FIFTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, FIFTY_SIXTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, FIFTY_SEVENTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_FIRST thisTrack = &SetTracks[FORTY_FIRST]; SetTrackClassicShape(thisTrack, FORTY_FIRST); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, SIXTY_THIRD, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SIXTY_FOURTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, SIXTY_FIFTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, SIXTY_EIGHTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_SECOND thisTrack = &SetTracks[FORTY_SECOND]; SetTrackClassicShape(thisTrack, FORTY_SECOND); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, SEVENTIETH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, SEVENTY_FOURTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, SEVENTY_FIFTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, SEVENTY_SIXTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_THIRD thisTrack = &SetTracks[FORTY_THIRD]; SetTrackClassicShape(thisTrack, FORTY_THIRD); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, HUNDRED_AND_NINETEENTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, HUNDRED_AND_TWENTIETH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, HUNDRED_AND_TWENTY_FIRST, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, HUNDRED_AND_TWENTY_SECOND, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_FOURTH thisTrack = &SetTracks[FORTY_FOURTH]; SetTrackClassicShape(thisTrack, FORTY_FOURTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 4; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetAmbientLevelForTrack(thisTrack, ONE/2, ONE/2, ONE/2); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, HUNDRED_AND_TWENTY_THIRD, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, HUNDRED_AND_TWENTY_FOURTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, HUNDRED_AND_TWENTY_FIFTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, HUNDRED_AND_TWENTY_SIXTH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_FIFTH thisTrack = &SetTracks[FORTY_FIFTH]; SetTrackClassicShape(thisTrack, FORTY_FIFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST SetTextureDataForTunnelDescription (thisTrack, SINGLE_TUNNEL_TEXTURE, 1, imageIdList, flagList, offsetList, 0); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); // LIGHTS OUT SetAmbientEffectForTrack(thisTrack, THIRD); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_SIXTH thisTrack = &SetTracks[FORTY_SIXTH]; SetTrackClassicShape(thisTrack, FORTY_SIXTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; imageList[3] = &DynamicAreaFourTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 32, 32); setRECT( &offsetList[1], 0, 0, 32, 32); setRECT( &offsetList[2], 0, 0, 32, 32); setRECT( &offsetList[3], 0, 0, 32, 32); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 4, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, FORTY_FIFTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, FORTY_EIGHTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, FORTY_NINTH, THIRD, THIRD); SetDrawProcess2( &drawProcesses[3], &DynamicAreaFourTextureInfo, FIFTIETH, FOURTH, FOURTH); SetDrawProcessesForTrack(thisTrack, 4, drawProcesses); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_SEVENTH thisTrack = &SetTracks[FORTY_SEVENTH]; SetTrackClassicShape(thisTrack, FORTY_SEVENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Number27TextureInfo; imageList[0] = &Wave16TextureInfo; imageList[1] = &DynamicAreaTwoTextureInfo; imageList[2] = &DynamicAreaThreeTextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST for (i = 0; i < 3; i++) { setRECT( &offsetList[i], 0, 0, 32, 32); } SetDrawProcess2( &drawProcesses[2], &Wave16TextureInfo, THIRTY_FIFTH, FIRST, FIRST); SetDrawProcess2( &drawProcesses[0], &DynamicAreaTwoTextureInfo, THIRTY_EIGHTH, SECOND, SECOND); SetDrawProcess2( &drawProcesses[1], &DynamicAreaThreeTextureInfo, THIRTY_SEVENTH, THIRD, THIRD); SetDrawProcessesForTrack(thisTrack, 3, drawProcesses); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 3, imageIdList, flagList, offsetList, 0); SetTrackLighting (thisTrack, CYCLE_THREE_LIGHTS_AROUND_AXES, 60); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_EIGHTH thisTrack = &SetTracks[FORTY_EIGHTH]; SetTrackClassicShape(thisTrack, FORTY_EIGHTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 32, 32); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, HUNDRED_AND_TWENTY_SEVENTH, THIRD, THIRD); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageIdList, flagList, offsetList, 0); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FORTY_NINTH thisTrack = &SetTracks[FORTY_NINTH]; SetTrackClassicShape(thisTrack, FORTY_NINTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 32, 32); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, HUNDRED_AND_TWENTY_EIGHTH, THIRD, THIRD); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageIdList, flagList, offsetList, 0); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTIETH thisTrack = &SetTracks[FIFTIETH]; SetTrackClassicShape(thisTrack, FIFTIETH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 32, 32); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, HUNDRED_AND_TWENTY_NINTH, THIRD, THIRD); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageIdList, flagList, offsetList, 0); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_FIRST thisTrack = &SetTracks[FIFTY_FIRST]; SetTrackClassicShape(thisTrack, FIFTY_FIRST); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 32, 32); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, HUNDRED_AND_THIRTIETH, THIRD, THIRD); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageIdList, flagList, offsetList, 0); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_SECOND thisTrack = &SetTracks[FIFTY_SECOND]; SetTrackClassicShape(thisTrack, FIFTY_SECOND); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 32, 32); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, HUNDRED_AND_THIRTY_FIRST, THIRD, THIRD); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageIdList, flagList, offsetList, 0); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_THIRD thisTrack = &SetTracks[FIFTY_THIRD]; SetTrackClassicShape(thisTrack, FIFTY_THIRD); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 32, 32); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, HUNDRED_AND_THIRTY_SECOND, THIRD, THIRD); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageIdList, flagList, offsetList, 0); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_FOURTH thisTrack = &SetTracks[FIFTY_FOURTH]; SetTrackClassicShape(thisTrack, FIFTY_FOURTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 32, 32); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, HUNDRED_AND_THIRTY_THIRD, THIRD, THIRD); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageIdList, flagList, offsetList, 0); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_FIFTH thisTrack = &SetTracks[FIFTY_FIFTH]; SetTrackClassicShape(thisTrack, FIFTY_FIFTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 32, 32); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, HUNDRED_AND_THIRTY_FOURTH, THIRD, THIRD); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageIdList, flagList, offsetList, 0); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_SIXTH thisTrack = &SetTracks[FIFTY_SIXTH]; SetTrackClassicShape(thisTrack, FIFTY_SIXTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 32, 32); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, HUNDRED_AND_THIRTY_FIFTH, THIRD, THIRD); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageIdList, flagList, offsetList, 0); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_SEVENTH thisTrack = &SetTracks[FIFTY_SEVENTH]; SetTrackClassicShape(thisTrack, FIFTY_SEVENTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 32, 32); flagList[0] = TWIST_NINETY_DEGREES; SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, HUNDRED_AND_TWENTY_SEVENTH, THIRD, THIRD); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageIdList, flagList, offsetList, 0); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_EIGHTH thisTrack = &SetTracks[FIFTY_EIGHTH]; SetTrackClassicShape(thisTrack, FIFTY_EIGHTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 32, 32); flagList[0] = TWIST_NINETY_DEGREES; SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, HUNDRED_AND_THIRTY_SIXTH, THIRD, THIRD); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageIdList, flagList, offsetList, 0); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // FIFTY_NINTH thisTrack = &SetTracks[FIFTY_NINTH]; SetTrackClassicShape(thisTrack, FIFTY_NINTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 32, 32); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, HUNDRED_AND_THIRTY_SEVENTH, THIRD, THIRD); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageIdList, flagList, offsetList, 0); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SIXTIETH thisTrack = &SetTracks[SIXTIETH]; SetTrackClassicShape(thisTrack, SIXTIETH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 32, 32); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, HUNDRED_AND_THIRTY_EIGHTH, THIRD, THIRD); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageIdList, flagList, offsetList, 0); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SIXTY_FIRST thisTrack = &SetTracks[SIXTY_FIRST]; SetTrackClassicShape(thisTrack, SIXTY_FIRST); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 32, 32); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, HUNDRED_AND_THIRTY_NINTH, THIRD, THIRD); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageIdList, flagList, offsetList, 0); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SIXTY_SECOND thisTrack = &SetTracks[SIXTY_SECOND]; SetTrackClassicShape(thisTrack, SIXTY_SECOND); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 32, 32); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, HUNDRED_AND_FOURTIETH, THIRD, THIRD); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageIdList, flagList, offsetList, 0); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SIXTY_THIRD thisTrack = &SetTracks[SIXTY_THIRD]; SetTrackClassicShape(thisTrack, SIXTY_THIRD); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 32, 32); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, HUNDRED_AND_FORTY_FIRST, THIRD, THIRD); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageIdList, flagList, offsetList, 0); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ // SIXTY_FOURTH thisTrack = &SetTracks[SIXTY_FOURTH]; SetTrackClassicShape(thisTrack, SIXTY_FOURTH); SetDescriptionNumberSectionsDrawn(thisTrack, 16); imageList[0] = &Wave16TextureInfo; SORT_IMAGE_IDS_GIVEN_POINTER_LIST setRECT( &offsetList[0], 0, 0, 32, 32); SetDrawProcess2( &drawProcesses[0], &Wave16TextureInfo, HUNDRED_AND_FORTY_SECOND, THIRD, THIRD); SetDrawProcessesForTrack(thisTrack, 1, drawProcesses); SetTextureDataForTunnelDescription (thisTrack, SPREAD_N_TEXTURES_EVENLY, 1, imageIdList, flagList, offsetList, 0); SetAmbientLevelForTrack(thisTrack, ONE, ONE, ONE); SetTrackFogging(thisTrack, -5500, 29099400, 0, 0, 0); CLEAR_TRACK_CREATION_DATA /********************************************************************** TRACK DIVIDER **********************************************************************/ #endif // VERSION 6 -- towards final HERE; } // each classic shape: specifies the rotations and lengths // of each chunk that makes up the tunnel // should also specify draw and subdiv parameters // per given shape, will want several choices of: // (1) radius and length of sections // (2) draw and subdivision parameters (BUT: choose just 1, can alter at runtime) // chunk angles: // positive thetaY is a left-hander, // positive thetaX is a downward curve // (NOTE: this from flying ship's perspective. // L/R seem reversed when viewing tracks from outside). // mapping of old to new: // OLD NEW // 9 1 // 12 2 // 20 3 // - - // 32 15 // 49 16 // - - // 65 32 void SetTrackClassicShape (TunnelDescription *track, int shapeID) { int numberChunks; assert(track != NULL); track->classicShapeID = shapeID; switch(shapeID) { case FIRST: numberChunks = 14; MakeTunnelChunk( &chunks[0], 2, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[2], 2, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[4], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[5], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[6], 2, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[8], 2, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[10], 2, 0, 0, 0); MakeTunnelChunk( &chunks[11], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[12], 2, 0, 0, 0); MakeTunnelChunk( &chunks[13], 8, 0, ONE/32, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case SECOND: numberChunks = 17; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[2], 8, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[4], 8, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[6], 8, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[8], 8, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[10], 8, 0, 0, 0); MakeTunnelChunk( &chunks[11], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[12], 8, 0, 0, 0); MakeTunnelChunk( &chunks[13], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[14], 22, 0, 0, 0); MakeTunnelChunk( &chunks[15], 22, 0, 0, 0); MakeTunnelChunk( &chunks[16], 8, 0, -ONE/32, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case THIRD: numberChunks = 14; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 12, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[2], 12, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[4], 10, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[5], 12, 0, 0, 0); MakeTunnelChunk( &chunks[6], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[7], 14, 0, 0, 0); MakeTunnelChunk( &chunks[8], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[9], 2, 0, 0, 0); MakeTunnelChunk( &chunks[10], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[11], 2, 0, 0, 0); MakeTunnelChunk( &chunks[12], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[13], 3, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case FOURTH: numberChunks = 18; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[2], 20, 0, 0, 0); MakeTunnelChunk( &chunks[3], 12, 0, ONE/32, 0); MakeTunnelChunk( &chunks[4], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[5], 8, 0, 0, 0); MakeTunnelChunk( &chunks[6], 8, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[7], 12, 0, 0, 0); MakeTunnelChunk( &chunks[8], 12, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[9], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[10], 2, 0, 0, 0); MakeTunnelChunk( &chunks[11], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[12], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[13], 12, 0, ONE/48, 0); MakeTunnelChunk( &chunks[14], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[15], 16, 0, 0, 0); MakeTunnelChunk( &chunks[16], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[17], 3, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case FIFTH: numberChunks = 12; MakeTunnelChunk( &chunks[0], 1, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[2], 6, 0, ONE/24, 0); MakeTunnelChunk( &chunks[3], 9, 0, ONE/36, 0); MakeTunnelChunk( &chunks[4], 12, 0, ONE/48, 0); MakeTunnelChunk( &chunks[5], 15, 0, ONE/60, 0); MakeTunnelChunk( &chunks[6], 32, 0, ONE/72, 0); MakeTunnelChunk( &chunks[7], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[8], 20, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[9], 16, 0, -ONE/40, 0); MakeTunnelChunk( &chunks[10], 5, 0, -ONE/10, 0); MakeTunnelChunk( &chunks[11], 1, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case SIXTH: numberChunks = 22; MakeTunnelChunk( &chunks[0], 16, 0, 0, 0); MakeTunnelChunk( &chunks[1], 6, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[2], 6, 0, ONE/12, 0); MakeTunnelChunk( &chunks[3], 4, 0, 0, 0); MakeTunnelChunk( &chunks[4], 12, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[5], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[6], 4, 0, -ONE/8, 0); MakeTunnelChunk( &chunks[7], 4, 0, ONE/8, 0); MakeTunnelChunk( &chunks[8], 6, 0, 0, 0); MakeTunnelChunk( &chunks[9], 12, 0, ONE/48, 0); MakeTunnelChunk( &chunks[10], 18, 0, -0, 0); MakeTunnelChunk( &chunks[11], 4, 0, -ONE/8, 0); MakeTunnelChunk( &chunks[12], 8, 0, 0, 0); MakeTunnelChunk( &chunks[13], 4, 0, ONE/64, 0); MakeTunnelChunk( &chunks[14], 4, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[15], 12, 0, 0, 0); MakeTunnelChunk( &chunks[16], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[17], 4, 0, ONE/8, 0); MakeTunnelChunk( &chunks[18], 18, 0, 0, 0); MakeTunnelChunk( &chunks[19], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[20], 6, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[21], 12, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case SEVENTH: // requires 8 shapes per section numberChunks = 31; MakeTunnelChunk( &chunks[0], 4, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[2], 16, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[3], 4, 0, 0, 0); MakeTunnelChunk( &chunks[4], 3, 0, ONE/48, 0); MakeTunnelChunk( &chunks[5], 3, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[6], 16, 0, 0, 0); MakeTunnelChunk( &chunks[7], 12, 0, ONE/48, 0); MakeTunnelChunk( &chunks[8], 6, 0, ONE/24, 0); MakeTunnelChunk( &chunks[9], 2, 0, ONE/18, 0); MakeTunnelChunk( &chunks[10], 1, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[11], 4, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[12], 4, 0, 0, 0); MakeTunnelChunk( &chunks[13], 3, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[14], 8, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[15], 3, 0, ONE/64, 0); MakeTunnelChunk( &chunks[16], 6, 0, 0, 0); MakeTunnelChunk( &chunks[17], 16, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[18], 4, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[19], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[20], 2, 0, 0, 0); MakeTunnelChunk( &chunks[21], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[22], 6, 0, 0, 0); MakeTunnelChunk( &chunks[23], 4, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[24], 6, 0, 0, 0); MakeTunnelChunk( &chunks[25], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[26], 4, 0, 0, 0); MakeTunnelChunk( &chunks[27], 20, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[28], 30, 0, 0, 0); MakeTunnelChunk( &chunks[29], 3, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[30], 3, 0, ONE/32, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); SetDescriptionShapesPerSection(track, 10); // 8 break; case EIGHTH: numberChunks = 31; MakeTunnelChunk( &chunks[0], 4, 0, 0, 0); MakeTunnelChunk( &chunks[1], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[2], 6, 0, ONE/24, 0); MakeTunnelChunk( &chunks[3], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[4], 8, 0, 0, 0); MakeTunnelChunk( &chunks[5], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[6], 4, 0, 0, 0); MakeTunnelChunk( &chunks[7], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[8], 2, 0, 0, 0); MakeTunnelChunk( &chunks[9], 4, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[10], 6, 0, 0, 0); MakeTunnelChunk( &chunks[11], 4, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[12], 2, 0, ONE/64, 0); MakeTunnelChunk( &chunks[13], 8, 0, 0, 0); MakeTunnelChunk( &chunks[14], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[15], 3, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[16], 8, 0, 0, 0); MakeTunnelChunk( &chunks[17], 4, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[18], 4, 0, 0, 0); MakeTunnelChunk( &chunks[19], 24, 0, ONE/48, 0); MakeTunnelChunk( &chunks[20], 8, 0, 0, 0); MakeTunnelChunk( &chunks[21], 4, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[22], 6, 0, 0, 0); MakeTunnelChunk( &chunks[23], 3, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[24], 4, 0, 0, 0); MakeTunnelChunk( &chunks[25], 4, 0, ONE/24, 0); MakeTunnelChunk( &chunks[26], 4, 0, ONE/48, 0); MakeTunnelChunk( &chunks[27], 4, 0, 0, 0); MakeTunnelChunk( &chunks[28], 16, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[29], 3, 0, -ONE/72, 0); MakeTunnelChunk( &chunks[30], 4, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case NINTH: // requires 8 shapes per section numberChunks = 31; MakeTunnelChunk( &chunks[0], 16, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[2], 4, 0, 0, 0); MakeTunnelChunk( &chunks[3], 4, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[4], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[5], 8, 0, ONE/64, 0); MakeTunnelChunk( &chunks[6], 4, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[8], 16, 0, ONE/64, 0); MakeTunnelChunk( &chunks[9], 4, 0, 0, 0); MakeTunnelChunk( &chunks[10], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[11], 6, 0, ONE/24, 0); MakeTunnelChunk( &chunks[12], 6, 0, 0, 0); MakeTunnelChunk( &chunks[13], 4, 0, ONE/64, 0); MakeTunnelChunk( &chunks[14], 4, 0, ONE/18, 0); MakeTunnelChunk( &chunks[15], 4, 0, 0, 0); MakeTunnelChunk( &chunks[16], 24, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[17], 2, 0, ONE/16, 0); MakeTunnelChunk( &chunks[18], 8, 0, 0, 0); MakeTunnelChunk( &chunks[19], 4, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[20], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[21], 14, 0, 0, 0); MakeTunnelChunk( &chunks[22], 6, 0, -ONE/18, 0); MakeTunnelChunk( &chunks[23], 6, 0, ONE/48, 0); MakeTunnelChunk( &chunks[24], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[25], 6, 0, ONE/48, 0); MakeTunnelChunk( &chunks[26], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[27], 2, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[28], 20, 0, 0, 0); MakeTunnelChunk( &chunks[29], 3, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[30], 16, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); SetDescriptionShapesPerSection(track, 10); // 8 break; case TENTH: numberChunks = 23; MakeTunnelChunk( &chunks[0], 6, 0, 0, 0); MakeTunnelChunk( &chunks[1], 6, 0, ONE/32, 0); MakeTunnelChunk( &chunks[2], 6, 0, 0, 0); MakeTunnelChunk( &chunks[3], 14, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[4], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[5], 3, 0, 0, 0); MakeTunnelChunk( &chunks[6], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[7], 2, 0, 0, 0); MakeTunnelChunk( &chunks[8], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[9], 2, 0, 0, 0); MakeTunnelChunk( &chunks[10], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[11], 8, 0, 0, 0); MakeTunnelChunk( &chunks[12], 32, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[13], 8, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[14], 16, 0, ONE/64, 0); MakeTunnelChunk( &chunks[15], 16, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[16], 16, 0, ONE/32, 0); MakeTunnelChunk( &chunks[17], 12, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[18], 2, 0, 0, 0); MakeTunnelChunk( &chunks[19], 3, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[20], 12, 0, 0, 0); MakeTunnelChunk( &chunks[21], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[22], 4, 0, -ONE/32, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case ELEVENTH: numberChunks = 18; MakeTunnelChunk( &chunks[0], 6, 0, 0, 0); MakeTunnelChunk( &chunks[1], 6, 0, ONE/24, 0); MakeTunnelChunk( &chunks[2], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[3], 10, 0, ONE/40, 0); MakeTunnelChunk( &chunks[4], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[5], 18, 0, ONE/48, 0); MakeTunnelChunk( &chunks[6], 4, 0, 0, 0); MakeTunnelChunk( &chunks[7], 4, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[8], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[9], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[10], 4, 0, ONE/12, 0); MakeTunnelChunk( &chunks[12], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[13], 12, 0, ONE/32, 0); MakeTunnelChunk( &chunks[14], 8, 0, 0, 0); MakeTunnelChunk( &chunks[15], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[16], 5, 0, ONE/16, 0); MakeTunnelChunk( &chunks[17], 6, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case TWELFTH: numberChunks = 19; MakeTunnelChunk( &chunks[0], 6, 0, 0, 0); MakeTunnelChunk( &chunks[1], 2, 0, ONE/64, 0); MakeTunnelChunk( &chunks[2], 4, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[3], 2, 0, ONE/64, 0); MakeTunnelChunk( &chunks[4], 24, 0, 0, 0); MakeTunnelChunk( &chunks[5], 4, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[6], 8, 0, -ONE/36, 0); MakeTunnelChunk( &chunks[7], 4, 0, 0, 0); MakeTunnelChunk( &chunks[8], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[9], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[10], 12, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[11], 12, 0, 0, 0); MakeTunnelChunk( &chunks[12], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[13], 6, 0, ONE/12, 0); MakeTunnelChunk( &chunks[14], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[15], 16, 0, 0, 0); MakeTunnelChunk( &chunks[16], 16, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[17], 8, 0, 0, 0); MakeTunnelChunk( &chunks[18], 4, 0, ONE/48, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case THIRTEENTH: numberChunks = 21; MakeTunnelChunk( &chunks[0], 4, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[2], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[3], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[4], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[5], 4, 0, 0, 0); MakeTunnelChunk( &chunks[6], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[7], 8, 0, 0, 0); MakeTunnelChunk( &chunks[8], 12, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[9], 16, 0, ONE/32, 0); MakeTunnelChunk( &chunks[10], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[11], 8, 0, 0, 0); MakeTunnelChunk( &chunks[12], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[13], 12, 0, 0, 0); MakeTunnelChunk( &chunks[14], 12, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[15], 8, 0, 0, 0); MakeTunnelChunk( &chunks[16], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[17], 6, 0, ONE/24, 0); MakeTunnelChunk( &chunks[18], 12, 0, 0, 0); MakeTunnelChunk( &chunks[19], 4, 0, ONE/64, 0); MakeTunnelChunk( &chunks[20], 4, 0, -ONE/64, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case FOURTEENTH: numberChunks = 20; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, ONE/64, 0); MakeTunnelChunk( &chunks[2], 16, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[3], 8, 0, ONE/64, 0); MakeTunnelChunk( &chunks[4], 12, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[6], 12, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[7], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[8], 8, 0, 0, 0); MakeTunnelChunk( &chunks[9], 6, 0, ONE/48, 0); MakeTunnelChunk( &chunks[10], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[11], 12, 0, 0, 0); MakeTunnelChunk( &chunks[12], 8, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[13], 8, 0, 0, 0); MakeTunnelChunk( &chunks[14], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[15], 8, 0, 0, 0); MakeTunnelChunk( &chunks[16], 6, 0, ONE/48, 0); MakeTunnelChunk( &chunks[17], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[18], 5, 0, 0, 0); MakeTunnelChunk( &chunks[19], 2, 0, ONE/128, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case FIFTEENTH: numberChunks = 20; MakeTunnelChunk( &chunks[0], 20, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[2], 8, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[4], 4, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[6], 4, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[8], 4, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[10], 8, 0, 0, 0); MakeTunnelChunk( &chunks[11], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[12], 20, 0, 0, 0); MakeTunnelChunk( &chunks[13], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[14], 28, 0, 0, 0); MakeTunnelChunk( &chunks[15], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[16], 15, 0, 0, 0); MakeTunnelChunk( &chunks[17], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[18], 4, 0, 0, 0); MakeTunnelChunk( &chunks[19], 2, 0, -ONE/64, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case SIXTEENTH: numberChunks = 19; MakeTunnelChunk( &chunks[0], 4, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[2], 4, 0, 0, 0); MakeTunnelChunk( &chunks[3], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[4], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[5], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[6], 4, 0, 0, 0); MakeTunnelChunk( &chunks[7], 12, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[8], 24, 0, -ONE/96, 0); MakeTunnelChunk( &chunks[9], 6, 0, ONE/48, 0); MakeTunnelChunk( &chunks[10], 4, 0, 0, 0); MakeTunnelChunk( &chunks[11], 24, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[12], 6, 0, ONE/48, 0); MakeTunnelChunk( &chunks[13], 6, 0, ONE/24, 0); MakeTunnelChunk( &chunks[14], 4, 0, 0, 0); MakeTunnelChunk( &chunks[15], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[16], 9, 0, 0, 0); MakeTunnelChunk( &chunks[17], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[18], 7, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case SEVENTEENTH: numberChunks = 20; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[2], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[3], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[4], 16, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[6], 2, 0, 0, 0); MakeTunnelChunk( &chunks[7], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[8], 4, 0, 0, 0); MakeTunnelChunk( &chunks[9], 6, 0, ONE/32, 0); MakeTunnelChunk( &chunks[10], 4, 0, 0, 0); MakeTunnelChunk( &chunks[11], 10, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[12], 14, 0, 0, 0); MakeTunnelChunk( &chunks[13], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[14], 8, 0, 0, 0); MakeTunnelChunk( &chunks[15], 12, 0, ONE/32, 0); MakeTunnelChunk( &chunks[16], 16, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[17], 18, 0, -ONE/96, 0); MakeTunnelChunk( &chunks[18], 19, 0, -ONE/75, 0); MakeTunnelChunk( &chunks[19], 2, 0, ONE/32, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case EIGHTEENTH: numberChunks = 30; MakeTunnelChunk( &chunks[0], 6, 0, 0, 0); MakeTunnelChunk( &chunks[1], 1, 0, 0, 0); MakeTunnelChunk( &chunks[2], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[3], 2, 0, 0, 0); MakeTunnelChunk( &chunks[4], 8, 0, ONE/48, 0); MakeTunnelChunk( &chunks[5], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[6], 2, 0, ONE/12, 0); MakeTunnelChunk( &chunks[7], 2, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[8], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[9], 8, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[10], 2, 0, 0, 0); MakeTunnelChunk( &chunks[11], 18, 0, ONE/48, 0); MakeTunnelChunk( &chunks[12], 6, 0, 0, 0); MakeTunnelChunk( &chunks[13], 1, 0, 0, 0); MakeTunnelChunk( &chunks[14], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[15], 2, 0, 0, 0); MakeTunnelChunk( &chunks[16], 8, 0, ONE/48, 0); MakeTunnelChunk( &chunks[17], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[18], 2, 0, ONE/12, 0); MakeTunnelChunk( &chunks[19], 2, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[20], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[21], 8, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[22], 2, 0, 0, 0); MakeTunnelChunk( &chunks[23], 18, 0, ONE/48, 0); MakeTunnelChunk( &chunks[24], 24, 0, 0, 0); MakeTunnelChunk( &chunks[25], 13, 0, ONE/64, 0); MakeTunnelChunk( &chunks[26], 24, 0, 0, 0); MakeTunnelChunk( &chunks[27], 17, 0, 0, 0); MakeTunnelChunk( &chunks[28], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[29], 5, 0, ONE/80, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case NINETEENTH: numberChunks = 24; MakeTunnelChunk( &chunks[0], 4, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[2], 8, 0, 0, 0); MakeTunnelChunk( &chunks[3], 6, 0, ONE/36, 0); MakeTunnelChunk( &chunks[4], 12, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[5], 24, 0, ONE/192, 0); MakeTunnelChunk( &chunks[6], 24, 0, ONE/192, 0); MakeTunnelChunk( &chunks[7], 2, 0, ONE/16, 0); MakeTunnelChunk( &chunks[8], 16, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[9], 8, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[10], 8, 0, 0, 0); MakeTunnelChunk( &chunks[11], 6, 0, ONE/36, 0); MakeTunnelChunk( &chunks[12], 16, 0, 0, 0); MakeTunnelChunk( &chunks[13], 6, 0, -ONE/36, 0); MakeTunnelChunk( &chunks[14], 24, 0, 0, 0); MakeTunnelChunk( &chunks[15], 3, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[16], 1, 0, 0, 0); MakeTunnelChunk( &chunks[17], 3, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[18], 6, 0, ONE/12, 0); MakeTunnelChunk( &chunks[19], 3, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[20], 12, 0, 0, 0); MakeTunnelChunk( &chunks[21], 3, 0, ONE/32, 0); MakeTunnelChunk( &chunks[22], 3, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[23], 12, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); SetDescriptionShapesPerSection(track, 10); // 8 break; case TWENTIETH: numberChunks = 27; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, 0, ONE/48, 0); MakeTunnelChunk( &chunks[2], 7, 0, ONE/24, 0); MakeTunnelChunk( &chunks[3], 4, 0, 0, 0); MakeTunnelChunk( &chunks[4], 18, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[5], 6, 0, ONE/24, 0); MakeTunnelChunk( &chunks[6], 4, 0, 0, 0); MakeTunnelChunk( &chunks[7], 3, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[8], 4, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[10], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[11], 6, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[12], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[13], 12, 0, 0, 0); MakeTunnelChunk( &chunks[14], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[15], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[16], 5, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[17], 4, 0, ONE/20, 0); MakeTunnelChunk( &chunks[18], 6, 0, 0, 0); MakeTunnelChunk( &chunks[19], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[20], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[21], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[22], 4, 0, 0, 0); MakeTunnelChunk( &chunks[23], 15, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[24], 24, 0, 0, 0); MakeTunnelChunk( &chunks[25], 3, 0, 0, 0); MakeTunnelChunk( &chunks[26], 4, 0, -ONE/36, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case TWENTY_FIRST: numberChunks = 21; MakeTunnelChunk( &chunks[0], 4, 0, 0, 0); MakeTunnelChunk( &chunks[1], 5, 0, ONE/32, 0); MakeTunnelChunk( &chunks[2], 5, 0, ONE/20, 0); MakeTunnelChunk( &chunks[3], 3, 0, 0, 0); MakeTunnelChunk( &chunks[4], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[5], 5, 0, ONE/22, 0); MakeTunnelChunk( &chunks[6], 5, 0, -ONE/20, 0); MakeTunnelChunk( &chunks[7], 5, 0, ONE/18, 0); MakeTunnelChunk( &chunks[8], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[9], 4, 0, ONE/14, 0); MakeTunnelChunk( &chunks[10], 3, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[11], 3, 0, ONE/10, 0); MakeTunnelChunk( &chunks[12], 4, 0, 0, 0); MakeTunnelChunk( &chunks[13], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[14], 8, 0, 0, 0); MakeTunnelChunk( &chunks[15], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[16], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[17], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[18], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[19], 9, 0, 0, 0); MakeTunnelChunk( &chunks[20], 6, 0, ONE/24, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case TWENTY_SECOND: numberChunks = 16; MakeTunnelChunk( &chunks[0], 9, 0, 0, 0); MakeTunnelChunk( &chunks[2], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[3], 2, 0, 0, 0); MakeTunnelChunk( &chunks[4], 8, 0, ONE/48, 0); MakeTunnelChunk( &chunks[5], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[6], 2, 0, ONE/12, 0); MakeTunnelChunk( &chunks[7], 2, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[8], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[9], 8, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[10], 12, 0, 0, 0); MakeTunnelChunk( &chunks[11], 12, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[12], 28, 0, 0, 0); MakeTunnelChunk( &chunks[13], 5, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[14], 21, 0, 0, 0); MakeTunnelChunk( &chunks[15], 14, 0, -ONE/30, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case TWENTY_THIRD: numberChunks = 27; MakeTunnelChunk( &chunks[0], 9, 0, 0, 0); MakeTunnelChunk( &chunks[1], 3, 0, ONE/24, 0); MakeTunnelChunk( &chunks[2], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[3], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[4], 12, 0, 0, 0); MakeTunnelChunk( &chunks[5], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[6], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[7], 2, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[8], 16, 0, 0, 0); MakeTunnelChunk( &chunks[9], 6, 0, ONE/48, 0); MakeTunnelChunk( &chunks[10], 6, 0, 0, 0); MakeTunnelChunk( &chunks[11], 8, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[12], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[13], 6, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[14], 3, 0, ONE/16, 0); MakeTunnelChunk( &chunks[15], 6, 0, 0, 0); MakeTunnelChunk( &chunks[16], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[17], 8, 0, 0, 0); MakeTunnelChunk( &chunks[18], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[19], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[20], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[21], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[22], 8, 0, 0, 0); MakeTunnelChunk( &chunks[23], 11, 0, ONE/32, 0); MakeTunnelChunk( &chunks[24], 26, 0, 0, 0); MakeTunnelChunk( &chunks[25], 21, 0, 0, 0); MakeTunnelChunk( &chunks[26], 6, 0, -ONE/72, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); SetDescriptionShapesPerSection(track, 10); // 8 break; case TWENTY_FOURTH: numberChunks = 15; MakeTunnelChunk( &chunks[0], 9, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, ONE/64, 0); MakeTunnelChunk( &chunks[2], 3, 0, 0, 0); MakeTunnelChunk( &chunks[3], 24, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[4], 24, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[5], 2, 0, 0, 0); MakeTunnelChunk( &chunks[6], 5, 0, ONE/16, 0); MakeTunnelChunk( &chunks[7], 6, 0, -ONE/22, 0); MakeTunnelChunk( &chunks[8], 6, 0, ONE/25, 0); MakeTunnelChunk( &chunks[9], 6, 0, -ONE/28, 0); MakeTunnelChunk( &chunks[10], 6, 0, ONE/31, 0); MakeTunnelChunk( &chunks[11], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[12], 8, 0, 0, 0); MakeTunnelChunk( &chunks[13], 12, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[14], 16, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case TWENTY_FIFTH: numberChunks = 23; MakeTunnelChunk( &chunks[0], 1, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[2], 6, 0, 0, 0); MakeTunnelChunk( &chunks[3], 3, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[4], 32, 0, ONE/63, 0); MakeTunnelChunk( &chunks[5], 3, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[6], 2, 0, 0, 0); MakeTunnelChunk( &chunks[7], 4, 0, ONE/48, 0); MakeTunnelChunk( &chunks[8], 16, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[9], 4, 0, 0, 0); MakeTunnelChunk( &chunks[10], 4, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[11], 8, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[12], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[13], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[14], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[15], 8, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[16], 7, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[17], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[18], 24, 0, 0, 0); MakeTunnelChunk( &chunks[19], 12, 0, 0, 0); MakeTunnelChunk( &chunks[20], 12, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[21], 20, 0, 0, 0); MakeTunnelChunk( &chunks[22], 3, 0, -ONE/96, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case TWENTY_SIXTH: numberChunks = 24; MakeTunnelChunk( &chunks[0], 24, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[2], 16, 0, 0, 0); MakeTunnelChunk( &chunks[3], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[4], 12, 0, 0, 0); MakeTunnelChunk( &chunks[5], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[6], 8, 0, 0, 0); MakeTunnelChunk( &chunks[7], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[8], 2, 0, 0, 0); MakeTunnelChunk( &chunks[9], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[10], 4, 0, 0, 0); MakeTunnelChunk( &chunks[11], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[12], 2, 0, 0, 0); MakeTunnelChunk( &chunks[13], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[14], 8, 0, 0, 0); MakeTunnelChunk( &chunks[15], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[16], 12, 0, 0, 0); MakeTunnelChunk( &chunks[17], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[18], 16, 0, 0, 0); MakeTunnelChunk( &chunks[19], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[20], 4, 0, 0, 0); MakeTunnelChunk( &chunks[21], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[22], 20, 0, 0, 0); MakeTunnelChunk( &chunks[23], 4, 0, -ONE/16, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case TWENTY_SEVENTH: numberChunks = 18; MakeTunnelChunk( &chunks[0], 24, 0, 0, 0); MakeTunnelChunk( &chunks[1], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[2], 8, 0, 0, 0); MakeTunnelChunk( &chunks[3], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[4], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[5], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[6], 8, 0, 0, 0); MakeTunnelChunk( &chunks[7], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[8], 24, 0, 0, 0); MakeTunnelChunk( &chunks[9], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[10], 8, 0, 0, 0); MakeTunnelChunk( &chunks[11], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[12], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[13], 4, 0, 0, 0); MakeTunnelChunk( &chunks[14], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[15], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[16], 3, 0, 0, 0); MakeTunnelChunk( &chunks[17], 7, 0, -ONE/28, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case TWENTY_EIGHTH: numberChunks = 21; MakeTunnelChunk( &chunks[0], 4, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[2], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[3], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[4], 4, 0, 0, 0); MakeTunnelChunk( &chunks[5], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[6], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[7], 4, 0, 0, 0); MakeTunnelChunk( &chunks[8], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[9], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[10], 4, 0, 0, 0); MakeTunnelChunk( &chunks[11], 32, 0, ONE/64, 0); MakeTunnelChunk( &chunks[12], 2, 0, 0, 0); MakeTunnelChunk( &chunks[13], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[14], 16, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[15], 16, 0, ONE/32, 0); MakeTunnelChunk( &chunks[16], 16, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[17], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[18], 2, 0, 0, 0); MakeTunnelChunk( &chunks[19], 30, 0, ONE/64, 0); MakeTunnelChunk( &chunks[20], 9, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case TWENTY_NINTH: numberChunks = 20; MakeTunnelChunk( &chunks[0], 12, 0, 0, 0); MakeTunnelChunk( &chunks[1], 12, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[2], 12, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[3], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[4], 8, 0, 0, 0); MakeTunnelChunk( &chunks[5], 5, 0, ONE/20, 0); MakeTunnelChunk( &chunks[6], 8, 0, 0, 0); MakeTunnelChunk( &chunks[7], 5, 0, ONE/20, 0); MakeTunnelChunk( &chunks[8], 3, 0, 0, 0); MakeTunnelChunk( &chunks[9], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[10], 13, 0, -ONE/20, 0); MakeTunnelChunk( &chunks[11], 12, 0, 0, 0); MakeTunnelChunk( &chunks[12], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[13], 6, 0, 0, 0); MakeTunnelChunk( &chunks[14], 16, 0, ONE/32, 0); MakeTunnelChunk( &chunks[15], 16, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[16], 22, 0, -ONE/96, 0); MakeTunnelChunk( &chunks[17], 17, 0, 0, 0); MakeTunnelChunk( &chunks[18], 4, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[19], 8, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case THIRTIETH: numberChunks = 15; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, ONE/64, 0); MakeTunnelChunk( &chunks[2], 8, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[3], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[4], 8, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[5], 6, 0, ONE/16, 0); MakeTunnelChunk( &chunks[6], 6, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[7], 24, 0, 0, 0); MakeTunnelChunk( &chunks[8], 32, 0, -ONE/128, 0); MakeTunnelChunk( &chunks[9], 6, 0, ONE/12, 0); MakeTunnelChunk( &chunks[10], 6, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[11], 32, 0, -ONE/128, 0); MakeTunnelChunk( &chunks[12], 12, 0, 0, 0); MakeTunnelChunk( &chunks[13], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[14], 7, 0, -ONE/16, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case THIRTY_FIRST: numberChunks = 21; MakeTunnelChunk( &chunks[0], 24, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[2], 24, 0, 0, 0); MakeTunnelChunk( &chunks[3], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[4], 12, 0, 0, 0); MakeTunnelChunk( &chunks[5], 6, 0, ONE/12, 0); MakeTunnelChunk( &chunks[6], 6, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[7], 12, 0, ONE/24, 0); MakeTunnelChunk( &chunks[8], 16, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[10], 24, 0, ONE/48, 0); MakeTunnelChunk( &chunks[11], 6, 0, 0, 0); MakeTunnelChunk( &chunks[12], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[13], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[14], 4, 0, 0, 0); MakeTunnelChunk( &chunks[15], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[16], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[17], 8, 0, 0, 0); MakeTunnelChunk( &chunks[18], 16, 0, ONE/32, 0); MakeTunnelChunk( &chunks[19], 4, 0, 0, 0); MakeTunnelChunk( &chunks[20], 11, 0, -ONE/26, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); SetDescriptionShapesPerSection(track, 10); // 8 break; case THIRTY_SECOND: numberChunks = 17; MakeTunnelChunk( &chunks[0], 12, 0, 0, 0); MakeTunnelChunk( &chunks[1], 3, 0, ONE/24, 0); MakeTunnelChunk( &chunks[2], 24, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[3], 3, 0, ONE/24, 0); MakeTunnelChunk( &chunks[4], 12, 0, 0, 0); MakeTunnelChunk( &chunks[5], 6, 0, ONE/32, 0); MakeTunnelChunk( &chunks[6], 6, 0, ONE/16, 0); MakeTunnelChunk( &chunks[7], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[8], 8, 0, ONE/48, 0); MakeTunnelChunk( &chunks[9], 6, 0, 0, 0); MakeTunnelChunk( &chunks[10], 16, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[11], 16, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[12], 16, 0, 0, 0); MakeTunnelChunk( &chunks[13], 15, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[14], 8, 0, 0, 0); MakeTunnelChunk( &chunks[15], 2, 0, ONE/64, 0); MakeTunnelChunk( &chunks[16], 2, 0, -ONE/64, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case THIRTY_THIRD: numberChunks = 14; MakeTunnelChunk( &chunks[0], 2, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[2], 2, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[4], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[5], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[6], 2, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[8], 2, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, ONE/32, 0, 0); MakeTunnelChunk( &chunks[10], 2, 0, 0, 0); MakeTunnelChunk( &chunks[11], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[12], 2, 0, 0, 0); MakeTunnelChunk( &chunks[13], 8, ONE/32, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case THIRTY_FOURTH: numberChunks = 17; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[2], 8, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, ONE/32, 0, 0); MakeTunnelChunk( &chunks[4], 8, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[6], 8, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[8], 8, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, ONE/32, 0, 0); MakeTunnelChunk( &chunks[10], 8, 0, 0, 0); MakeTunnelChunk( &chunks[11], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[12], 8, 0, 0, 0); MakeTunnelChunk( &chunks[13], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[14], 22, 0, 0, 0); MakeTunnelChunk( &chunks[15], 22, 0, 0, 0); MakeTunnelChunk( &chunks[16], 8, -ONE/32, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case THIRTY_FIFTH: numberChunks = 14; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 12, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[2], 12, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[4], 10, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[5], 12, 0, 0, 0); MakeTunnelChunk( &chunks[6], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[7], 14, 0, 0, 0); MakeTunnelChunk( &chunks[8], 4, ONE/32, 0, 0); MakeTunnelChunk( &chunks[9], 2, 0, 0, 0); MakeTunnelChunk( &chunks[10], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[11], 2, 0, 0, 0); MakeTunnelChunk( &chunks[12], 4, ONE/32, 0, 0); MakeTunnelChunk( &chunks[13], 3, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case THIRTY_SIXTH: numberChunks = 18; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[2], 20, 0, 0, 0); MakeTunnelChunk( &chunks[3], 12, ONE/32, 0, 0); MakeTunnelChunk( &chunks[4], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[5], 8, 0, 0, 0); MakeTunnelChunk( &chunks[6], 8, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[7], 12, 0, 0, 0); MakeTunnelChunk( &chunks[8], 12, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[9], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[10], 2, 0, 0, 0); MakeTunnelChunk( &chunks[11], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[12], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[13], 12, ONE/48, 0, 0); MakeTunnelChunk( &chunks[14], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[15], 16, 0, 0, 0); MakeTunnelChunk( &chunks[16], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[17], 3, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case THIRTY_SEVENTH: numberChunks = 12; MakeTunnelChunk( &chunks[0], 1, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[2], 6, ONE/24, 0, 0); MakeTunnelChunk( &chunks[3], 9, ONE/36, 0, 0); MakeTunnelChunk( &chunks[4], 12, ONE/48, 0, 0); MakeTunnelChunk( &chunks[5], 15, ONE/60, 0, 0); MakeTunnelChunk( &chunks[6], 32, ONE/72, 0, 0); MakeTunnelChunk( &chunks[7], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[8], 20, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[9], 16, -ONE/40, 0, 0); MakeTunnelChunk( &chunks[10], 5, -ONE/10, 0, 0); MakeTunnelChunk( &chunks[11], 1, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case THIRTY_EIGHTH: numberChunks = 22; MakeTunnelChunk( &chunks[0], 16, 0, 0, 0); MakeTunnelChunk( &chunks[1], 6, -ONE/12, 0, 0); MakeTunnelChunk( &chunks[2], 6, ONE/12, 0, 0); MakeTunnelChunk( &chunks[3], 4, 0, 0, 0); MakeTunnelChunk( &chunks[4], 12, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[5], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[6], 4, -ONE/8, 0, 0); MakeTunnelChunk( &chunks[7], 4, ONE/8, 0, 0); MakeTunnelChunk( &chunks[8], 6, 0, 0, 0); MakeTunnelChunk( &chunks[9], 12, ONE/48, 0, 0); MakeTunnelChunk( &chunks[10], 18, 0, 0, 0); MakeTunnelChunk( &chunks[11], 4, -ONE/8, 0, 0); MakeTunnelChunk( &chunks[12], 8, 0, 0, 0); MakeTunnelChunk( &chunks[13], 4, ONE/64, 0, 0); MakeTunnelChunk( &chunks[14], 4, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[15], 12, 0, 0, 0); MakeTunnelChunk( &chunks[16], 6, -ONE/24, 0, 0); MakeTunnelChunk( &chunks[17], 4, ONE/8, 0, 0); MakeTunnelChunk( &chunks[18], 18, 0, 0, 0); MakeTunnelChunk( &chunks[19], 6, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[20], 6, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[21], 12, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case THIRTY_NINTH: // requires 8 shapes per section numberChunks = 31; MakeTunnelChunk( &chunks[0], 4, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[2], 16, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[3], 4, 0, 0, 0); MakeTunnelChunk( &chunks[4], 3, ONE/48, 0, 0); MakeTunnelChunk( &chunks[5], 3, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[6], 16, 0, 0, 0); MakeTunnelChunk( &chunks[7], 12, ONE/48, 0, 0); MakeTunnelChunk( &chunks[8], 6, ONE/24, 0, 0); MakeTunnelChunk( &chunks[9], 2, ONE/18, 0, 0); MakeTunnelChunk( &chunks[10], 1, -ONE/24, 0, 0); MakeTunnelChunk( &chunks[11], 4, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[12], 4, 0, 0, 0); MakeTunnelChunk( &chunks[13], 3, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[14], 8, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[15], 3, ONE/64, 0, 0); MakeTunnelChunk( &chunks[16], 6, 0, 0, 0); MakeTunnelChunk( &chunks[17], 16, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[18], 4, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[19], 4, ONE/32, 0, 0); MakeTunnelChunk( &chunks[20], 2, 0, 0, 0); MakeTunnelChunk( &chunks[21], 6, -ONE/24, 0, 0); MakeTunnelChunk( &chunks[22], 6, 0, 0, 0); MakeTunnelChunk( &chunks[23], 4, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[24], 6, 0, 0, 0); MakeTunnelChunk( &chunks[25], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[26], 4, 0, 0, 0); MakeTunnelChunk( &chunks[27], 20, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[28], 30, 0, 0, 0); MakeTunnelChunk( &chunks[29], 3, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[30], 3, ONE/32, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); SetDescriptionShapesPerSection(track, 10); // 8 break; case FOURTIETH: numberChunks = 31; MakeTunnelChunk( &chunks[0], 4, 0, 0, 0); MakeTunnelChunk( &chunks[1], 6, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[2], 6, ONE/24, 0, 0); MakeTunnelChunk( &chunks[3], 6, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[4], 8, 0, 0, 0); MakeTunnelChunk( &chunks[5], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[6], 4, 0, 0, 0); MakeTunnelChunk( &chunks[7], 4, ONE/32, 0, 0); MakeTunnelChunk( &chunks[8], 2, 0, 0, 0); MakeTunnelChunk( &chunks[9], 4, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[10], 6, 0, 0, 0); MakeTunnelChunk( &chunks[11], 4, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[12], 2, ONE/64, 0, 0); MakeTunnelChunk( &chunks[13], 8, 0, 0, 0); MakeTunnelChunk( &chunks[14], 6, -ONE/24, 0, 0); MakeTunnelChunk( &chunks[15], 3, -ONE/12, 0, 0); MakeTunnelChunk( &chunks[16], 8, 0, 0, 0); MakeTunnelChunk( &chunks[17], 4, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[18], 4, 0, 0, 0); MakeTunnelChunk( &chunks[19], 24, ONE/48, 0, 0); MakeTunnelChunk( &chunks[20], 8, 0, 0, 0); MakeTunnelChunk( &chunks[21], 4, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[22], 6, 0, 0, 0); MakeTunnelChunk( &chunks[23], 3, -ONE/12, 0, 0); MakeTunnelChunk( &chunks[24], 4, 0, 0, 0); MakeTunnelChunk( &chunks[25], 4, ONE/24, 0, 0); MakeTunnelChunk( &chunks[26], 4, ONE/48, 0, 0); MakeTunnelChunk( &chunks[27], 4, 0, 0, 0); MakeTunnelChunk( &chunks[28], 16, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[29], 3, -ONE/72, 0, 0); MakeTunnelChunk( &chunks[30], 4, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case FORTY_FIRST: // requires 8 shapes per section numberChunks = 31; MakeTunnelChunk( &chunks[0], 16, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[2], 4, 0, 0, 0); MakeTunnelChunk( &chunks[3], 4, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[4], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[5], 8, ONE/64, 0, 0); MakeTunnelChunk( &chunks[6], 4, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, ONE/32, 0, 0); MakeTunnelChunk( &chunks[8], 16, ONE/64, 0, 0); MakeTunnelChunk( &chunks[9], 4, 0, 0, 0); MakeTunnelChunk( &chunks[10], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[11], 6, ONE/24, 0, 0); MakeTunnelChunk( &chunks[12], 6, 0, 0, 0); MakeTunnelChunk( &chunks[13], 4, ONE/64, 0, 0); MakeTunnelChunk( &chunks[14], 4, ONE/18, 0, 0); MakeTunnelChunk( &chunks[15], 4, 0, 0, 0); MakeTunnelChunk( &chunks[16], 24, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[17], 2, ONE/16, 0, 0); MakeTunnelChunk( &chunks[18], 8, 0, 0, 0); MakeTunnelChunk( &chunks[19], 4, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[20], 4, ONE/32, 0, 0); MakeTunnelChunk( &chunks[21], 14, 0, 0, 0); MakeTunnelChunk( &chunks[22], 6, -ONE/18, 0, 0); MakeTunnelChunk( &chunks[23], 6, ONE/48, 0, 0); MakeTunnelChunk( &chunks[24], 6, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[25], 6, ONE/48, 0, 0); MakeTunnelChunk( &chunks[26], 6, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[27], 2, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[28], 20, 0, 0, 0); MakeTunnelChunk( &chunks[29], 3, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[30], 16, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); SetDescriptionShapesPerSection(track, 10); // 8 break; case FORTY_SECOND: numberChunks = 23; MakeTunnelChunk( &chunks[0], 6, 0, 0, 0); MakeTunnelChunk( &chunks[1], 6, ONE/32, 0, 0); MakeTunnelChunk( &chunks[2], 6, 0, 0, 0); MakeTunnelChunk( &chunks[3], 14, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[4], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[5], 3, 0, 0, 0); MakeTunnelChunk( &chunks[6], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[7], 2, 0, 0, 0); MakeTunnelChunk( &chunks[8], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[9], 2, 0, 0, 0); MakeTunnelChunk( &chunks[10], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[11], 8, 0, 0, 0); MakeTunnelChunk( &chunks[12], 32, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[13], 8, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[14], 16, ONE/64, 0, 0); MakeTunnelChunk( &chunks[15], 16, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[16], 16, ONE/32, 0, 0); MakeTunnelChunk( &chunks[17], 12, -ONE/24, 0, 0); MakeTunnelChunk( &chunks[18], 2, 0, 0, 0); MakeTunnelChunk( &chunks[19], 3, -ONE/24, 0, 0); MakeTunnelChunk( &chunks[20], 12, 0, 0, 0); MakeTunnelChunk( &chunks[21], 4, ONE/32, 0, 0); MakeTunnelChunk( &chunks[22], 4, -ONE/32, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case FORTY_THIRD: numberChunks = 18; MakeTunnelChunk( &chunks[0], 6, 0, 0, 0); MakeTunnelChunk( &chunks[1], 6, ONE/24, 0, 0); MakeTunnelChunk( &chunks[2], 6, -ONE/24, 0, 0); MakeTunnelChunk( &chunks[3], 10, ONE/40, 0, 0); MakeTunnelChunk( &chunks[4], 6, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[5], 18, ONE/48, 0, 0); MakeTunnelChunk( &chunks[6], 4, 0, 0, 0); MakeTunnelChunk( &chunks[7], 4, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[8], 4, ONE/32, 0, 0); MakeTunnelChunk( &chunks[9], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[10], 4, ONE/12, 0, 0); MakeTunnelChunk( &chunks[12], 6, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[13], 12, ONE/32, 0, 0); MakeTunnelChunk( &chunks[14], 8, 0, 0, 0); MakeTunnelChunk( &chunks[15], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[16], 5, ONE/16, 0, 0); MakeTunnelChunk( &chunks[17], 6, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case FORTY_FOURTH: numberChunks = 19; MakeTunnelChunk( &chunks[0], 6, 0, 0, 0); MakeTunnelChunk( &chunks[1], 2, ONE/64, 0, 0); MakeTunnelChunk( &chunks[2], 4, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[3], 2, ONE/64, 0, 0); MakeTunnelChunk( &chunks[4], 24, 0, 0, 0); MakeTunnelChunk( &chunks[5], 4, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[6], 8, -ONE/36, 0, 0); MakeTunnelChunk( &chunks[7], 4, 0, 0, 0); MakeTunnelChunk( &chunks[8], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[9], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[10], 12, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[11], 12, 0, 0, 0); MakeTunnelChunk( &chunks[12], 6, -ONE/24, 0, 0); MakeTunnelChunk( &chunks[13], 6, ONE/12, 0, 0); MakeTunnelChunk( &chunks[14], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[15], 16, 0, 0, 0); MakeTunnelChunk( &chunks[16], 16, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[17], 8, 0, 0, 0); MakeTunnelChunk( &chunks[18], 4, ONE/48, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case FORTY_FIFTH: numberChunks = 21; MakeTunnelChunk( &chunks[0], 4, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[2], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[3], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[4], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[5], 4, 0, 0, 0); MakeTunnelChunk( &chunks[6], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[7], 8, 0, 0, 0); MakeTunnelChunk( &chunks[8], 12, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[9], 16, ONE/32, 0, 0); MakeTunnelChunk( &chunks[10], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[11], 8, 0, 0, 0); MakeTunnelChunk( &chunks[12], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[13], 12, 0, 0, 0); MakeTunnelChunk( &chunks[14], 12, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[15], 8, 0, 0, 0); MakeTunnelChunk( &chunks[16], 6, -ONE/24, 0, 0); MakeTunnelChunk( &chunks[17], 6, ONE/24, 0, 0); MakeTunnelChunk( &chunks[18], 12, 0, 0, 0); MakeTunnelChunk( &chunks[19], 4, ONE/64, 0, 0); MakeTunnelChunk( &chunks[20], 4, -ONE/64, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case FORTY_SIXTH: numberChunks = 20; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, ONE/64, 0, 0); MakeTunnelChunk( &chunks[2], 16, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[3], 8, ONE/64, 0, 0); MakeTunnelChunk( &chunks[4], 12, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[6], 12, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[7], 4, ONE/32, 0, 0); MakeTunnelChunk( &chunks[8], 8, 0, 0, 0); MakeTunnelChunk( &chunks[9], 6, ONE/48, 0, 0); MakeTunnelChunk( &chunks[10], 6, -ONE/24, 0, 0); MakeTunnelChunk( &chunks[11], 12, 0, 0, 0); MakeTunnelChunk( &chunks[12], 8, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[13], 8, 0, 0, 0); MakeTunnelChunk( &chunks[14], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[15], 8, 0, 0, 0); MakeTunnelChunk( &chunks[16], 6, ONE/48, 0, 0); MakeTunnelChunk( &chunks[17], 6, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[18], 5, 0, 0, 0); MakeTunnelChunk( &chunks[19], 2, ONE/128, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case FORTY_SEVENTH: numberChunks = 20; MakeTunnelChunk( &chunks[0], 20, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[2], 8, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[4], 4, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[6], 4, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[8], 4, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[10], 8, 0, 0, 0); MakeTunnelChunk( &chunks[11], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[12], 20, 0, 0, 0); MakeTunnelChunk( &chunks[13], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[14], 28, 0, 0, 0); MakeTunnelChunk( &chunks[15], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[16], 15, 0, 0, 0); MakeTunnelChunk( &chunks[17], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[18], 4, 0, 0, 0); MakeTunnelChunk( &chunks[19], 2, -ONE/64, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case FORTY_EIGHTH: numberChunks = 19; MakeTunnelChunk( &chunks[0], 4, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[2], 4, 0, 0, 0); MakeTunnelChunk( &chunks[3], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[4], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[5], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[6], 4, 0, 0, 0); MakeTunnelChunk( &chunks[7], 12, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[8], 24, -ONE/96, 0, 0); MakeTunnelChunk( &chunks[9], 6, ONE/48, 0, 0); MakeTunnelChunk( &chunks[10], 4, 0, 0, 0); MakeTunnelChunk( &chunks[11], 24, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[12], 6, ONE/48, 0, 0); MakeTunnelChunk( &chunks[13], 6, ONE/24, 0, 0); MakeTunnelChunk( &chunks[14], 4, 0, 0, 0); MakeTunnelChunk( &chunks[15], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[16], 9, 0, 0, 0); MakeTunnelChunk( &chunks[17], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[18], 7, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case FORTY_NINTH: numberChunks = 20; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[2], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[3], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[4], 16, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[6], 2, 0, 0, 0); MakeTunnelChunk( &chunks[7], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[8], 4, 0, 0, 0); MakeTunnelChunk( &chunks[9], 6, ONE/32, 0, 0); MakeTunnelChunk( &chunks[10], 4, 0, 0, 0); MakeTunnelChunk( &chunks[11], 10, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[12], 14, 0, 0, 0); MakeTunnelChunk( &chunks[13], 4, ONE/32, 0, 0); MakeTunnelChunk( &chunks[14], 8, 0, 0, 0); MakeTunnelChunk( &chunks[15], 12, ONE/32, 0, 0); MakeTunnelChunk( &chunks[16], 16, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[17], 18, -ONE/96, 0, 0); MakeTunnelChunk( &chunks[18], 19, -ONE/75, 0, 0); MakeTunnelChunk( &chunks[19], 2, ONE/32, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case FIFTIETH: numberChunks = 30; MakeTunnelChunk( &chunks[0], 6, 0, 0, 0); MakeTunnelChunk( &chunks[1], 1, 0, 0, 0); MakeTunnelChunk( &chunks[2], 6, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[3], 2, 0, 0, 0); MakeTunnelChunk( &chunks[4], 8, ONE/48, 0, 0); MakeTunnelChunk( &chunks[5], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[6], 2, ONE/12, 0, 0); MakeTunnelChunk( &chunks[7], 2, -ONE/12, 0, 0); MakeTunnelChunk( &chunks[8], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[9], 8, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[10], 2, 0, 0, 0); MakeTunnelChunk( &chunks[11], 18, ONE/48, 0, 0); MakeTunnelChunk( &chunks[12], 6, 0, 0, 0); MakeTunnelChunk( &chunks[13], 1, 0, 0, 0); MakeTunnelChunk( &chunks[14], 6, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[15], 2, 0, 0, 0); MakeTunnelChunk( &chunks[16], 8, ONE/48, 0, 0); MakeTunnelChunk( &chunks[17], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[18], 2, ONE/12, 0, 0); MakeTunnelChunk( &chunks[19], 2, -ONE/12, 0, 0); MakeTunnelChunk( &chunks[20], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[21], 8, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[22], 2, 0, 0, 0); MakeTunnelChunk( &chunks[23], 18, ONE/48, 0, 0); MakeTunnelChunk( &chunks[24], 24, 0, 0, 0); MakeTunnelChunk( &chunks[25], 13, ONE/64, 0, 0); MakeTunnelChunk( &chunks[26], 24, 0, 0, 0); MakeTunnelChunk( &chunks[27], 17, 0, 0, 0); MakeTunnelChunk( &chunks[28], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[29], 5, ONE/80, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case FIFTY_FIRST: numberChunks = 24; MakeTunnelChunk( &chunks[0], 4, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[2], 8, 0, 0, 0); MakeTunnelChunk( &chunks[3], 6, ONE/36, 0, 0); MakeTunnelChunk( &chunks[4], 12, -ONE/24, 0, 0); MakeTunnelChunk( &chunks[5], 24, ONE/192, 0, 0); MakeTunnelChunk( &chunks[6], 24, ONE/192, 0, 0); MakeTunnelChunk( &chunks[7], 2, ONE/16, 0, 0); MakeTunnelChunk( &chunks[8], 16, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[9], 8, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[10], 8, 0, 0, 0); MakeTunnelChunk( &chunks[11], 6, ONE/36, 0, 0); MakeTunnelChunk( &chunks[12], 16, 0, 0, 0); MakeTunnelChunk( &chunks[13], 6, -ONE/36, 0, 0); MakeTunnelChunk( &chunks[14], 24, 0, 0, 0); MakeTunnelChunk( &chunks[15], 3, -ONE/12, 0, 0); MakeTunnelChunk( &chunks[16], 1, 0, 0, 0); MakeTunnelChunk( &chunks[17], 3, -ONE/12, 0, 0); MakeTunnelChunk( &chunks[18], 6, ONE/12, 0, 0); MakeTunnelChunk( &chunks[19], 3, -ONE/12, 0, 0); MakeTunnelChunk( &chunks[20], 12, 0, 0, 0); MakeTunnelChunk( &chunks[21], 3, ONE/32, 0, 0); MakeTunnelChunk( &chunks[22], 3, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[23], 12, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); SetDescriptionShapesPerSection(track, 10); // 8 break; case FIFTY_SECOND: numberChunks = 27; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, ONE/48, 0, 0); MakeTunnelChunk( &chunks[2], 7, ONE/24, 0, 0); MakeTunnelChunk( &chunks[3], 4, 0, 0, 0); MakeTunnelChunk( &chunks[4], 18, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[5], 6, ONE/24, 0, 0); MakeTunnelChunk( &chunks[6], 4, 0, 0, 0); MakeTunnelChunk( &chunks[7], 3, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[8], 4, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[10], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[11], 6, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[12], 4, ONE/32, 0, 0); MakeTunnelChunk( &chunks[13], 12, 0, 0, 0); MakeTunnelChunk( &chunks[14], 6, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[15], 8, ONE/32, 0, 0); MakeTunnelChunk( &chunks[16], 5, -ONE/12, 0, 0); MakeTunnelChunk( &chunks[17], 4, ONE/20, 0, 0); MakeTunnelChunk( &chunks[18], 6, 0, 0, 0); MakeTunnelChunk( &chunks[19], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[20], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[21], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[22], 4, 0, 0, 0); MakeTunnelChunk( &chunks[23], 15, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[24], 24, 0, 0, 0); MakeTunnelChunk( &chunks[25], 3, 0, 0, 0); MakeTunnelChunk( &chunks[26], 4, -ONE/36, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case FIFTY_THIRD: numberChunks = 21; MakeTunnelChunk( &chunks[0], 4, 0, 0, 0); MakeTunnelChunk( &chunks[1], 5, ONE/32, 0, 0); MakeTunnelChunk( &chunks[2], 5, ONE/20, 0, 0); MakeTunnelChunk( &chunks[3], 3, 0, 0, 0); MakeTunnelChunk( &chunks[4], 6, -ONE/24, 0, 0); MakeTunnelChunk( &chunks[5], 5, ONE/22, 0, 0); MakeTunnelChunk( &chunks[6], 5, -ONE/20, 0, 0); MakeTunnelChunk( &chunks[7], 5, ONE/18, 0, 0); MakeTunnelChunk( &chunks[8], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[9], 4, ONE/14, 0, 0); MakeTunnelChunk( &chunks[10], 3, -ONE/12, 0, 0); MakeTunnelChunk( &chunks[11], 3, ONE/10, 0, 0); MakeTunnelChunk( &chunks[12], 4, 0, 0, 0); MakeTunnelChunk( &chunks[13], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[14], 8, 0, 0, 0); MakeTunnelChunk( &chunks[15], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[16], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[17], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[18], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[19], 9, 0, 0, 0); MakeTunnelChunk( &chunks[20], 6, ONE/24, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case FIFTY_FOURTH: numberChunks = 16; MakeTunnelChunk( &chunks[0], 9, 0, 0, 0); MakeTunnelChunk( &chunks[2], 6, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[3], 2, 0, 0, 0); MakeTunnelChunk( &chunks[4], 8, ONE/48, 0, 0); MakeTunnelChunk( &chunks[5], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[6], 2, ONE/12, 0, 0); MakeTunnelChunk( &chunks[7], 2, -ONE/12, 0, 0); MakeTunnelChunk( &chunks[8], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[9], 8, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[10], 12, 0, 0, 0); MakeTunnelChunk( &chunks[11], 12, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[12], 28, 0, 0, 0); MakeTunnelChunk( &chunks[13], 5, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[14], 21, 0, 0, 0); MakeTunnelChunk( &chunks[15], 14, -ONE/30, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case FIFTY_FIFTH: numberChunks = 27; MakeTunnelChunk( &chunks[0], 9, 0, 0, 0); MakeTunnelChunk( &chunks[1], 3, ONE/24, 0, 0); MakeTunnelChunk( &chunks[2], 6, -ONE/24, 0, 0); MakeTunnelChunk( &chunks[3], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[4], 12, 0, 0, 0); MakeTunnelChunk( &chunks[5], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[6], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[7], 2, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[8], 16, 0, 0, 0); MakeTunnelChunk( &chunks[9], 6, ONE/48, 0, 0); MakeTunnelChunk( &chunks[10], 6, 0, 0, 0); MakeTunnelChunk( &chunks[11], 8, -ONE/24, 0, 0); MakeTunnelChunk( &chunks[12], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[13], 6, -ONE/12, 0, 0); MakeTunnelChunk( &chunks[14], 3, ONE/16, 0, 0); MakeTunnelChunk( &chunks[15], 6, 0, 0, 0); MakeTunnelChunk( &chunks[16], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[17], 8, 0, 0, 0); MakeTunnelChunk( &chunks[18], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[19], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[20], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[21], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[22], 8, 0, 0, 0); MakeTunnelChunk( &chunks[23], 11, ONE/32, 0, 0); MakeTunnelChunk( &chunks[24], 26, 0, 0, 0); MakeTunnelChunk( &chunks[25], 21, 0, 0, 0); MakeTunnelChunk( &chunks[26], 6, -ONE/72, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); SetDescriptionShapesPerSection(track, 10); // 8 break; case FIFTY_SIXTH: numberChunks = 15; MakeTunnelChunk( &chunks[0], 9, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, ONE/64, 0, 0); MakeTunnelChunk( &chunks[2], 3, 0, 0, 0); MakeTunnelChunk( &chunks[3], 24, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[4], 24, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[5], 2, 0, 0, 0); MakeTunnelChunk( &chunks[6], 5, ONE/16, 0, 0); MakeTunnelChunk( &chunks[7], 6, -ONE/22, 0, 0); MakeTunnelChunk( &chunks[8], 6, ONE/25, 0, 0); MakeTunnelChunk( &chunks[9], 6, -ONE/28, 0, 0); MakeTunnelChunk( &chunks[10], 6, ONE/31, 0, 0); MakeTunnelChunk( &chunks[11], 6, -ONE/24, 0, 0); MakeTunnelChunk( &chunks[12], 8, 0, 0, 0); MakeTunnelChunk( &chunks[13], 12, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[14], 16, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case FIFTY_SEVENTH: numberChunks = 23; MakeTunnelChunk( &chunks[0], 1, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[2], 6, 0, 0, 0); MakeTunnelChunk( &chunks[3], 3, -ONE/12, 0, 0); MakeTunnelChunk( &chunks[4], 32, ONE/63, 0, 0); MakeTunnelChunk( &chunks[5], 3, -ONE/12, 0, 0); MakeTunnelChunk( &chunks[6], 2, 0, 0, 0); MakeTunnelChunk( &chunks[7], 4, ONE/48, 0, 0); MakeTunnelChunk( &chunks[8], 16, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[9], 4, 0, 0, 0); MakeTunnelChunk( &chunks[10], 4, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[11], 8, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[12], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[13], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[14], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[15], 8, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[16], 7, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[17], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[18], 24, 0, 0, 0); MakeTunnelChunk( &chunks[19], 12, 0, 0, 0); MakeTunnelChunk( &chunks[20], 12, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[21], 20, 0, 0, 0); MakeTunnelChunk( &chunks[22], 3, -ONE/96, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case FIFTY_EIGHTH: numberChunks = 24; MakeTunnelChunk( &chunks[0], 24, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[2], 16, 0, 0, 0); MakeTunnelChunk( &chunks[3], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[4], 12, 0, 0, 0); MakeTunnelChunk( &chunks[5], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[6], 8, 0, 0, 0); MakeTunnelChunk( &chunks[7], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[8], 2, 0, 0, 0); MakeTunnelChunk( &chunks[9], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[10], 4, 0, 0, 0); MakeTunnelChunk( &chunks[11], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[12], 2, 0, 0, 0); MakeTunnelChunk( &chunks[13], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[14], 8, 0, 0, 0); MakeTunnelChunk( &chunks[15], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[16], 12, 0, 0, 0); MakeTunnelChunk( &chunks[17], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[18], 16, 0, 0, 0); MakeTunnelChunk( &chunks[19], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[20], 4, 0, 0, 0); MakeTunnelChunk( &chunks[21], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[22], 20, 0, 0, 0); MakeTunnelChunk( &chunks[23], 4, -ONE/16, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case FIFTY_NINTH: numberChunks = 18; MakeTunnelChunk( &chunks[0], 24, 0, 0, 0); MakeTunnelChunk( &chunks[1], 6, -ONE/24, 0, 0); MakeTunnelChunk( &chunks[2], 8, 0, 0, 0); MakeTunnelChunk( &chunks[3], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[4], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[5], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[6], 8, 0, 0, 0); MakeTunnelChunk( &chunks[7], 6, -ONE/24, 0, 0); MakeTunnelChunk( &chunks[8], 24, 0, 0, 0); MakeTunnelChunk( &chunks[9], 6, -ONE/24, 0, 0); MakeTunnelChunk( &chunks[10], 8, 0, 0, 0); MakeTunnelChunk( &chunks[11], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[12], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[13], 4, 0, 0, 0); MakeTunnelChunk( &chunks[14], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[15], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[16], 3, 0, 0, 0); MakeTunnelChunk( &chunks[17], 7, -ONE/28, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case SIXTIETH: numberChunks = 21; MakeTunnelChunk( &chunks[0], 4, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[2], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[3], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[4], 4, 0, 0, 0); MakeTunnelChunk( &chunks[5], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[6], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[7], 4, 0, 0, 0); MakeTunnelChunk( &chunks[8], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[9], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[10], 4, 0, 0, 0); MakeTunnelChunk( &chunks[11], 32, ONE/64, 0, 0); MakeTunnelChunk( &chunks[12], 2, 0, 0, 0); MakeTunnelChunk( &chunks[13], 8, ONE/32, 0, 0); MakeTunnelChunk( &chunks[14], 16, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[15], 16, ONE/32, 0, 0); MakeTunnelChunk( &chunks[16], 16, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[17], 8, ONE/32, 0, 0); MakeTunnelChunk( &chunks[18], 2, 0, 0, 0); MakeTunnelChunk( &chunks[19], 30, ONE/64, 0, 0); MakeTunnelChunk( &chunks[20], 9, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case SIXTY_FIRST: numberChunks = 20; MakeTunnelChunk( &chunks[0], 12, 0, 0, 0); MakeTunnelChunk( &chunks[1], 12, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[2], 12, -ONE/24, 0, 0); MakeTunnelChunk( &chunks[3], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[4], 8, 0, 0, 0); MakeTunnelChunk( &chunks[5], 5, ONE/20, 0, 0); MakeTunnelChunk( &chunks[6], 8, 0, 0, 0); MakeTunnelChunk( &chunks[7], 5, ONE/20, 0, 0); MakeTunnelChunk( &chunks[8], 3, 0, 0, 0); MakeTunnelChunk( &chunks[9], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[10], 13, -ONE/20, 0, 0); MakeTunnelChunk( &chunks[11], 12, 0, 0, 0); MakeTunnelChunk( &chunks[12], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[13], 6, 0, 0, 0); MakeTunnelChunk( &chunks[14], 16, ONE/32, 0, 0); MakeTunnelChunk( &chunks[15], 16, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[16], 22, -ONE/96, 0, 0); MakeTunnelChunk( &chunks[17], 17, 0, 0, 0); MakeTunnelChunk( &chunks[18], 4, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[19], 8, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case SIXTY_SECOND: numberChunks = 15; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, ONE/64, 0, 0); MakeTunnelChunk( &chunks[2], 8, -ONE/48, 0, 0); MakeTunnelChunk( &chunks[3], 8, ONE/32, 0, 0); MakeTunnelChunk( &chunks[4], 8, -ONE/24, 0, 0); MakeTunnelChunk( &chunks[5], 6, ONE/16, 0, 0); MakeTunnelChunk( &chunks[6], 6, -ONE/12, 0, 0); MakeTunnelChunk( &chunks[7], 24, 0, 0, 0); MakeTunnelChunk( &chunks[8], 32, -ONE/128, 0, 0); MakeTunnelChunk( &chunks[9], 6, ONE/12, 0, 0); MakeTunnelChunk( &chunks[10], 6, -ONE/12, 0, 0); MakeTunnelChunk( &chunks[11], 32, -ONE/128, 0, 0); MakeTunnelChunk( &chunks[12], 12, 0, 0, 0); MakeTunnelChunk( &chunks[13], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[14], 7, -ONE/16, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case SIXTY_THIRD: numberChunks = 21; MakeTunnelChunk( &chunks[0], 24, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[2], 24, 0, 0, 0); MakeTunnelChunk( &chunks[3], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[4], 12, 0, 0, 0); MakeTunnelChunk( &chunks[5], 6, ONE/12, 0, 0); MakeTunnelChunk( &chunks[6], 6, -ONE/12, 0, 0); MakeTunnelChunk( &chunks[7], 12, ONE/24, 0, 0); MakeTunnelChunk( &chunks[8], 16, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[10], 24, ONE/48, 0, 0); MakeTunnelChunk( &chunks[11], 6, 0, 0, 0); MakeTunnelChunk( &chunks[12], 4, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[13], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[14], 4, 0, 0, 0); MakeTunnelChunk( &chunks[15], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[16], 4, ONE/16, 0, 0); MakeTunnelChunk( &chunks[17], 8, 0, 0, 0); MakeTunnelChunk( &chunks[18], 16, ONE/32, 0, 0); MakeTunnelChunk( &chunks[19], 4, 0, 0, 0); MakeTunnelChunk( &chunks[20], 11, -ONE/26, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); SetDescriptionShapesPerSection(track, 10); // 8 break; case SIXTY_FOURTH: numberChunks = 17; MakeTunnelChunk( &chunks[0], 12, 0, 0, 0); MakeTunnelChunk( &chunks[1], 3, ONE/24, 0, 0); MakeTunnelChunk( &chunks[2], 24, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[3], 3, ONE/24, 0, 0); MakeTunnelChunk( &chunks[4], 12, 0, 0, 0); MakeTunnelChunk( &chunks[5], 6, ONE/32, 0, 0); MakeTunnelChunk( &chunks[6], 6, ONE/16, 0, 0); MakeTunnelChunk( &chunks[7], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[8], 8, ONE/48, 0, 0); MakeTunnelChunk( &chunks[9], 6, 0, 0, 0); MakeTunnelChunk( &chunks[10], 16, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[11], 16, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[12], 16, 0, 0, 0); MakeTunnelChunk( &chunks[13], 15, -ONE/64, 0, 0); MakeTunnelChunk( &chunks[14], 8, 0, 0, 0); MakeTunnelChunk( &chunks[15], 2, ONE/64, 0, 0); MakeTunnelChunk( &chunks[16], 2, -ONE/64, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; default: assert(FALSE); } MakeTunnelDescriptionFromChunks(track, numberChunks, chunks); #if 0 PRINT("%d sections in classic shape %d\n", NumberSectionsInTunnelDescription(track), shapeID); #endif //HERE; } /***** 227 is MAXIMUM 164 sections in classic shape 1 76 sections in classic shape 0 107 sections in classic shape 2 161 sections in classic shape 3 129 sections in classic shape 4 180 sections in classic shape 5 215 sections in classic shape 6 177 sections in classic shape 7 227 sections in classic shape 8 192 sections in classic shape 9 125 sections in classic shape 10 158 sections in classic shape 11 160 sections in classic shape 12 155 sections in classic shape 13 177 sections in classic shape 14 146 sections in classic shape 15 171 sections in classic shape 16 213 sections in classic shape 17 218 sections in classic shape 18 191 sections in classic shape 19 107 sections in classic shape 20 142 sections in classic shape 21 219 sections in classic shape 22 141 sections in classic shape 23 197 sections in classic shape 24 176 sections in classic shape 25 144 sections in classic shape 26 195 sections in classic shape 27 195 sections in classic shape 28 175 sections in classic shape 29 217 sections in classic shape 30 163 sections in classic shape 31 ****/ #if 0 void SetTrackClassicShape (TunnelDescription *track, int shapeID) { int numberChunks; assert(track != NULL); switch(shapeID) { case FIRST: numberChunks = 4; // two straights, two semi-circle left-hander curves MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[2], 8, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, 0, ONE/16, 0); // make sections shorter than width SetDescriptionSizeParameters(track, SQUARE_SIZE * 8, SQUARE_SIZE * 16); break; case SECOND: numberChunks = 2; // simple circular track curving to the left // circle: laughably unplayable MakeTunnelChunk( &chunks[0], 1, 0, 0, 0); MakeTunnelChunk( &chunks[1], 31, 0, ONE/32, 0); break; case THIRD: numberChunks = 4; // two straights, two semi-circle right-hander curves MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[2], 8, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, 0, -ONE/16, 0); break; case FOURTH: numberChunks = 4; // two very long straights, two semi-circle left-hander curves MakeTunnelChunk( &chunks[0], 32, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[2], 32, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, 0, ONE/16, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 6, SQUARE_SIZE * 8); break; case FIFTH: numberChunks = 16; // smooth-curling starfish with just four limbs, fourfold symmetry MakeTunnelChunk( &chunks[0], 2, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[2], 2, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[4], 2, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[6], 2, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[8], 2, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[10], 2, 0, 0, 0); MakeTunnelChunk( &chunks[11], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[12], 2, 0, 0, 0); MakeTunnelChunk( &chunks[13], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[14], 2, 0, 0, 0); MakeTunnelChunk( &chunks[15], 8, 0, ONE/32, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case SIXTH: numberChunks = 2; // simple circular track curving to the right MakeTunnelChunk( &chunks[0], 1, 0, 0, 0); MakeTunnelChunk( &chunks[1], 31, 0, -ONE/32, 0); break; case SEVENTH: numberChunks = 4; // two longish straights, two semi-circle left-hander curves MakeTunnelChunk( &chunks[0], 16, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[2], 16, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, 0, ONE/16, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 6, SQUARE_SIZE * 8); break; case EIGHTH: numberChunks = 16; // long stretched oval with two outward kinks on each long part // very twisty and turny, cannot get any speed up // very repetitive MakeTunnelChunk( &chunks[0], 12, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[2], 12, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[4], 2, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[6], 2, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[8], 12, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[10], 12, 0, 0, 0); MakeTunnelChunk( &chunks[11], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[12], 2, 0, 0, 0); MakeTunnelChunk( &chunks[13], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[14], 2, 0, 0, 0); MakeTunnelChunk( &chunks[15], 8, 0, ONE/32, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case NINTH: numberChunks = 14; // long stretched oval with kink-to-the-left on each long part // extremely twisty and turny // repetitive MakeTunnelChunk( &chunks[0], 2, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[2], 2, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[4], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[5], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[6], 2, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[8], 2, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[10], 2, 0, 0, 0); MakeTunnelChunk( &chunks[11], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[12], 2, 0, 0, 0); MakeTunnelChunk( &chunks[13], 8, 0, ONE/32, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case TENTH: numberChunks = 16; // smooth-curling starfish with just four limbs, fourfold symmetry // deeply repetitive MakeTunnelChunk( &chunks[0], 16, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[2], 16, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[4], 16, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[6], 16, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[8], 16, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[10], 16, 0, 0, 0); MakeTunnelChunk( &chunks[11], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[12], 16, 0, 0, 0); MakeTunnelChunk( &chunks[13], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[14], 16, 0, 0, 0); MakeTunnelChunk( &chunks[15], 8, 0, ONE/32, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case ELEVENTH: numberChunks = 8; // rectangle with curved corners, curve to the right MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[2], 8, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[4], 8, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[6], 8, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, 0, -ONE/16, 0); break; case TWELFTH: numberChunks = 17; // complex curler: large rectangle with smaller one added halfway down // one of the long sides; all corners smoothly rounded // all corners blatantly 90 degrees // slightly obvious/repetitive track // a bit easy MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[2], 8, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[4], 8, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[6], 8, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[8], 8, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[10], 8, 0, 0, 0); MakeTunnelChunk( &chunks[11], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[12], 8, 0, 0, 0); MakeTunnelChunk( &chunks[13], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[14], 22, 0, 0, 0); MakeTunnelChunk( &chunks[15], 22, 0, 0, 0); MakeTunnelChunk( &chunks[16], 8, 0, -ONE/32, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case THIRTEENTH: numberChunks = 8; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[2], 8, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[4], 8, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[6], 8, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, -ONE/16, 0, 0); break; case FOURTEENTH: numberChunks = 8; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[2], 8, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[4], 8, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[6], 8, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, ONE/16, 0, 0); break; case FIFTEENTH: // FIFTH in YZ plane numberChunks = 16; // smooth-curling starfish with just four limbs, fourfold symmetry MakeTunnelChunk( &chunks[0], 2, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[2], 2, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, ONE/32, 0, 0); MakeTunnelChunk( &chunks[4], 2, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[6], 2, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, ONE/32, 0, 0); MakeTunnelChunk( &chunks[8], 2, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[10], 2, 0, 0, 0); MakeTunnelChunk( &chunks[11], 8, ONE/32, 0, 0); MakeTunnelChunk( &chunks[12], 2, 0, 0, 0); MakeTunnelChunk( &chunks[13], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[14], 2, 0, 0, 0); MakeTunnelChunk( &chunks[15], 8, ONE/32, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case SIXTEENTH: // EIGHTH in yz plane numberChunks = 16; // long stretched oval with two outward kinks on each long part MakeTunnelChunk( &chunks[0], 12, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[2], 12, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, ONE/32, 0, 0); MakeTunnelChunk( &chunks[4], 2, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[6], 2, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, ONE/32, 0, 0); MakeTunnelChunk( &chunks[8], 12, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[10], 12, 0, 0, 0); MakeTunnelChunk( &chunks[11], 8, ONE/32, 0, 0); MakeTunnelChunk( &chunks[12], 2, 0, 0, 0); MakeTunnelChunk( &chunks[13], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[14], 2, 0, 0, 0); MakeTunnelChunk( &chunks[15], 8, ONE/32, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case SEVENTEENTH: // NINTH in yz plane numberChunks = 14; // long stretched oval with kink-to-the-left on each long part MakeTunnelChunk( &chunks[0], 2, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[2], 2, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[4], 8, ONE/16, 0, 0); MakeTunnelChunk( &chunks[5], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[6], 2, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[8], 2, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, ONE/32, 0, 0); MakeTunnelChunk( &chunks[10], 2, 0, 0, 0); MakeTunnelChunk( &chunks[11], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[12], 2, 0, 0, 0); MakeTunnelChunk( &chunks[13], 8, ONE/32, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case EIGHTEENTH: // TENTH in yz plane numberChunks = 16; // smooth-curling starfish with just four limbs, fourfold symmetry MakeTunnelChunk( &chunks[0], 16, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[2], 16, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, ONE/32, 0, 0); MakeTunnelChunk( &chunks[4], 16, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[6], 16, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, ONE/32, 0, 0); MakeTunnelChunk( &chunks[8], 16, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[10], 16, 0, 0, 0); MakeTunnelChunk( &chunks[11], 8, ONE/32, 0, 0); MakeTunnelChunk( &chunks[12], 16, 0, 0, 0); MakeTunnelChunk( &chunks[13], 8, -ONE/16, 0, 0); MakeTunnelChunk( &chunks[14], 16, 0, 0, 0); MakeTunnelChunk( &chunks[15], 8, ONE/32, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case NINETEENTH: // TWELFTH in yz plane numberChunks = 17; // complex curler: large rectangle with smaller one added halfway down // one of the long sides; all corners smoothly rounded MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[2], 8, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, ONE/32, 0, 0); MakeTunnelChunk( &chunks[4], 8, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[6], 8, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[8], 8, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, ONE/32, 0, 0); MakeTunnelChunk( &chunks[10], 8, 0, 0, 0); MakeTunnelChunk( &chunks[11], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[12], 8, 0, 0, 0); MakeTunnelChunk( &chunks[13], 8, -ONE/32, 0, 0); MakeTunnelChunk( &chunks[14], 22, 0, 0, 0); MakeTunnelChunk( &chunks[15], 22, 0, 0, 0); MakeTunnelChunk( &chunks[16], 8, -ONE/32, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case TWENTIETH: numberChunks = 14; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 12, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[2], 12, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[4], 10, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[5], 12, 0, 0, 0); MakeTunnelChunk( &chunks[6], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[7], 14, 0, 0, 0); MakeTunnelChunk( &chunks[8], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[9], 2, 0, 0, 0); MakeTunnelChunk( &chunks[10], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[11], 2, 0, 0, 0); MakeTunnelChunk( &chunks[12], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[13], 3, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case TWENTY_FIRST: numberChunks = 18; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[2], 20, 0, 0, 0); MakeTunnelChunk( &chunks[3], 12, 0, ONE/32, 0); MakeTunnelChunk( &chunks[4], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[5], 8, 0, 0, 0); MakeTunnelChunk( &chunks[6], 8, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[7], 12, 0, 0, 0); MakeTunnelChunk( &chunks[8], 12, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[9], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[10], 2, 0, 0, 0); MakeTunnelChunk( &chunks[11], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[12], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[13], 12, 0, ONE/48, 0); MakeTunnelChunk( &chunks[14], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[15], 16, 0, 0, 0); MakeTunnelChunk( &chunks[16], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[17], 3, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case TWENTY_SECOND: // spiral-shell self-twister // more of a gag than good track // doesn't connect up properly yet numberChunks = 12; MakeTunnelChunk( &chunks[0], 1, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[2], 6, 0, ONE/24, 0); MakeTunnelChunk( &chunks[3], 9, 0, ONE/36, 0); MakeTunnelChunk( &chunks[4], 12, 0, ONE/48, 0); MakeTunnelChunk( &chunks[5], 15, 0, ONE/60, 0); MakeTunnelChunk( &chunks[6], 32, 0, ONE/72, 0); MakeTunnelChunk( &chunks[7], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[8], 20, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[9], 16, 0, -ONE/40, 0); MakeTunnelChunk( &chunks[10], 5, 0, -ONE/10, 0); MakeTunnelChunk( &chunks[11], 1, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case TWENTY_THIRD: numberChunks = 22; MakeTunnelChunk( &chunks[0], 16, 0, 0, 0); MakeTunnelChunk( &chunks[1], 6, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[2], 6, 0, ONE/12, 0); MakeTunnelChunk( &chunks[3], 4, 0, 0, 0); MakeTunnelChunk( &chunks[4], 12, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[5], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[6], 4, 0, -ONE/8, 0); MakeTunnelChunk( &chunks[7], 4, 0, ONE/8, 0); MakeTunnelChunk( &chunks[8], 6, 0, 0, 0); MakeTunnelChunk( &chunks[9], 12, 0, ONE/48, 0); MakeTunnelChunk( &chunks[10], 18, 0, -0, 0); MakeTunnelChunk( &chunks[11], 4, 0, -ONE/8, 0); MakeTunnelChunk( &chunks[12], 8, 0, 0, 0); MakeTunnelChunk( &chunks[13], 4, 0, ONE/64, 0); MakeTunnelChunk( &chunks[14], 4, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[15], 12, 0, 0, 0); MakeTunnelChunk( &chunks[16], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[17], 4, 0, ONE/8, 0); MakeTunnelChunk( &chunks[18], 18, 0, 0, 0); MakeTunnelChunk( &chunks[19], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[20], 6, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[21], 12, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case TWENTY_FOURTH: // requires 8 shapes per section numberChunks = 31; MakeTunnelChunk( &chunks[0], 4, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[2], 16, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[3], 4, 0, 0, 0); MakeTunnelChunk( &chunks[4], 3, 0, ONE/48, 0); MakeTunnelChunk( &chunks[5], 3, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[6], 16, 0, 0, 0); MakeTunnelChunk( &chunks[7], 12, 0, ONE/48, 0); MakeTunnelChunk( &chunks[8], 6, 0, ONE/24, 0); MakeTunnelChunk( &chunks[9], 2, 0, ONE/18, 0); MakeTunnelChunk( &chunks[10], 1, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[11], 4, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[12], 4, 0, 0, 0); MakeTunnelChunk( &chunks[13], 3, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[14], 8, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[15], 3, 0, ONE/64, 0); MakeTunnelChunk( &chunks[16], 6, 0, 0, 0); MakeTunnelChunk( &chunks[17], 16, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[18], 4, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[19], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[20], 2, 0, 0, 0); MakeTunnelChunk( &chunks[21], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[22], 6, 0, 0, 0); MakeTunnelChunk( &chunks[23], 4, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[24], 6, 0, 0, 0); MakeTunnelChunk( &chunks[25], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[26], 4, 0, 0, 0); MakeTunnelChunk( &chunks[27], 20, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[28], 30, 0, 0, 0); MakeTunnelChunk( &chunks[29], 3, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[30], 3, 0, ONE/32, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case TWENTY_FIFTH: numberChunks = 31; MakeTunnelChunk( &chunks[0], 4, 0, 0, 0); MakeTunnelChunk( &chunks[1], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[2], 6, 0, ONE/24, 0); MakeTunnelChunk( &chunks[3], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[4], 8, 0, 0, 0); MakeTunnelChunk( &chunks[5], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[6], 4, 0, 0, 0); MakeTunnelChunk( &chunks[7], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[8], 2, 0, 0, 0); MakeTunnelChunk( &chunks[9], 4, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[10], 6, 0, 0, 0); MakeTunnelChunk( &chunks[11], 4, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[12], 2, 0, ONE/64, 0); MakeTunnelChunk( &chunks[13], 8, 0, 0, 0); MakeTunnelChunk( &chunks[14], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[15], 3, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[16], 8, 0, 0, 0); MakeTunnelChunk( &chunks[17], 4, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[18], 4, 0, 0, 0); MakeTunnelChunk( &chunks[19], 24, 0, ONE/48, 0); MakeTunnelChunk( &chunks[20], 8, 0, 0, 0); MakeTunnelChunk( &chunks[21], 4, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[22], 6, 0, 0, 0); MakeTunnelChunk( &chunks[23], 3, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[24], 4, 0, 0, 0); MakeTunnelChunk( &chunks[25], 4, 0, ONE/24, 0); MakeTunnelChunk( &chunks[26], 4, 0, ONE/48, 0); MakeTunnelChunk( &chunks[27], 4, 0, 0, 0); MakeTunnelChunk( &chunks[28], 16, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[29], 3, 0, -ONE/72, 0); MakeTunnelChunk( &chunks[30], 4, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case TWENTY_SIXTH: // requires 8 shapes per section numberChunks = 31; MakeTunnelChunk( &chunks[0], 16, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[2], 4, 0, 0, 0); MakeTunnelChunk( &chunks[3], 4, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[4], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[5], 8, 0, ONE/64, 0); MakeTunnelChunk( &chunks[6], 4, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[8], 16, 0, ONE/64, 0); MakeTunnelChunk( &chunks[9], 4, 0, 0, 0); MakeTunnelChunk( &chunks[10], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[11], 6, 0, ONE/24, 0); MakeTunnelChunk( &chunks[12], 6, 0, 0, 0); MakeTunnelChunk( &chunks[13], 4, 0, ONE/64, 0); MakeTunnelChunk( &chunks[14], 4, 0, ONE/18, 0); MakeTunnelChunk( &chunks[15], 4, 0, 0, 0); MakeTunnelChunk( &chunks[16], 24, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[17], 2, 0, ONE/16, 0); MakeTunnelChunk( &chunks[18], 8, 0, 0, 0); MakeTunnelChunk( &chunks[19], 4, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[20], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[21], 14, 0, 0, 0); MakeTunnelChunk( &chunks[22], 6, 0, -ONE/18, 0); MakeTunnelChunk( &chunks[23], 6, 0, ONE/48, 0); MakeTunnelChunk( &chunks[24], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[25], 6, 0, ONE/48, 0); MakeTunnelChunk( &chunks[26], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[27], 2, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[28], 20, 0, 0, 0); MakeTunnelChunk( &chunks[29], 3, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[30], 16, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case TWENTY_SEVENTH: numberChunks = 23; MakeTunnelChunk( &chunks[0], 6, 0, 0, 0); MakeTunnelChunk( &chunks[1], 6, 0, ONE/32, 0); MakeTunnelChunk( &chunks[2], 6, 0, 0, 0); MakeTunnelChunk( &chunks[3], 14, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[4], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[5], 3, 0, 0, 0); MakeTunnelChunk( &chunks[6], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[7], 2, 0, 0, 0); MakeTunnelChunk( &chunks[8], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[9], 2, 0, 0, 0); MakeTunnelChunk( &chunks[10], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[11], 8, 0, 0, 0); MakeTunnelChunk( &chunks[12], 32, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[13], 8, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[14], 16, 0, ONE/64, 0); MakeTunnelChunk( &chunks[15], 16, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[16], 16, 0, ONE/32, 0); MakeTunnelChunk( &chunks[17], 12, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[18], 2, 0, 0, 0); MakeTunnelChunk( &chunks[19], 3, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[20], 12, 0, 0, 0); MakeTunnelChunk( &chunks[21], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[22], 4, 0, -ONE/32, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case TWENTY_EIGHTH: numberChunks = 18; MakeTunnelChunk( &chunks[0], 6, 0, 0, 0); MakeTunnelChunk( &chunks[1], 6, 0, ONE/24, 0); MakeTunnelChunk( &chunks[2], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[3], 10, 0, ONE/40, 0); MakeTunnelChunk( &chunks[4], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[5], 18, 0, ONE/48, 0); MakeTunnelChunk( &chunks[6], 4, 0, 0, 0); MakeTunnelChunk( &chunks[7], 4, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[8], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[9], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[10], 4, 0, ONE/12, 0); MakeTunnelChunk( &chunks[12], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[13], 12, 0, ONE/32, 0); MakeTunnelChunk( &chunks[14], 8, 0, 0, 0); MakeTunnelChunk( &chunks[15], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[16], 5, 0, ONE/16, 0); //MakeTunnelChunk( &chunks[17], 8, 0, 0, 0); MakeTunnelChunk( &chunks[17], 6, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case TWENTY_NINTH: numberChunks = 19; MakeTunnelChunk( &chunks[0], 6, 0, 0, 0); MakeTunnelChunk( &chunks[1], 2, 0, ONE/64, 0); MakeTunnelChunk( &chunks[2], 4, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[3], 2, 0, ONE/64, 0); MakeTunnelChunk( &chunks[4], 24, 0, 0, 0); MakeTunnelChunk( &chunks[5], 4, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[6], 8, 0, -ONE/36, 0); MakeTunnelChunk( &chunks[7], 4, 0, 0, 0); MakeTunnelChunk( &chunks[8], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[9], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[10], 12, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[11], 12, 0, 0, 0); MakeTunnelChunk( &chunks[12], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[13], 6, 0, ONE/12, 0); MakeTunnelChunk( &chunks[14], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[15], 16, 0, 0, 0); MakeTunnelChunk( &chunks[16], 16, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[17], 8, 0, 0, 0); MakeTunnelChunk( &chunks[18], 4, 0, ONE/48, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case THIRTIETH: numberChunks = 21; MakeTunnelChunk( &chunks[0], 4, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[2], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[3], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[4], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[5], 4, 0, 0, 0); MakeTunnelChunk( &chunks[6], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[7], 8, 0, 0, 0); MakeTunnelChunk( &chunks[8], 12, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[9], 16, 0, ONE/32, 0); MakeTunnelChunk( &chunks[10], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[11], 8, 0, 0, 0); MakeTunnelChunk( &chunks[12], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[13], 12, 0, 0, 0); MakeTunnelChunk( &chunks[14], 12, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[15], 8, 0, 0, 0); MakeTunnelChunk( &chunks[16], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[17], 6, 0, ONE/24, 0); MakeTunnelChunk( &chunks[18], 12, 0, 0, 0); MakeTunnelChunk( &chunks[19], 4, 0, ONE/64, 0); MakeTunnelChunk( &chunks[20], 4, 0, -ONE/64, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case THIRTY_FIRST: numberChunks = 20; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, ONE/64, 0); MakeTunnelChunk( &chunks[2], 16, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[3], 8, 0, ONE/64, 0); MakeTunnelChunk( &chunks[4], 12, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[6], 12, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[7], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[8], 8, 0, 0, 0); MakeTunnelChunk( &chunks[9], 6, 0, ONE/48, 0); MakeTunnelChunk( &chunks[10], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[11], 12, 0, 0, 0); MakeTunnelChunk( &chunks[12], 8, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[13], 8, 0, 0, 0); MakeTunnelChunk( &chunks[14], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[15], 8, 0, 0, 0); MakeTunnelChunk( &chunks[16], 6, 0, ONE/48, 0); MakeTunnelChunk( &chunks[17], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[18], 5, 0, 0, 0); MakeTunnelChunk( &chunks[19], 2, 0, ONE/128, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case THIRTY_SECOND: numberChunks = 20; MakeTunnelChunk( &chunks[0], 20, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[2], 8, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[4], 4, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[6], 4, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[8], 4, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[10], 8, 0, 0, 0); MakeTunnelChunk( &chunks[11], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[12], 20, 0, 0, 0); MakeTunnelChunk( &chunks[13], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[14], 28, 0, 0, 0); MakeTunnelChunk( &chunks[15], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[16], 15, 0, 0, 0); MakeTunnelChunk( &chunks[17], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[18], 4, 0, 0, 0); MakeTunnelChunk( &chunks[19], 2, 0, -ONE/64, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 4); break; case THIRTY_THIRD: numberChunks = 8; MakeTunnelChunk( &chunks[0], 32, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[2], 24, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[4], 32, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[6], 24, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, 0, -ONE/32, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case THIRTY_FOURTH: // same as 12th but twice the radius numberChunks = 17; // complex curler: large rectangle with smaller one added halfway down // one of the long sides; all corners smoothly rounded MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[2], 8, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[4], 8, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[6], 8, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[8], 8, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[10], 8, 0, 0, 0); MakeTunnelChunk( &chunks[11], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[12], 8, 0, 0, 0); MakeTunnelChunk( &chunks[13], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[14], 22, 0, 0, 0); MakeTunnelChunk( &chunks[15], 22, 0, 0, 0); MakeTunnelChunk( &chunks[16], 8, 0, -ONE/32, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case THIRTY_FIFTH: // same as 9th but twice the radius numberChunks = 14; // long stretched oval with kink-to-the-left on each long part MakeTunnelChunk( &chunks[0], 2, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[2], 2, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[4], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[5], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[6], 2, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[8], 2, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[10], 2, 0, 0, 0); MakeTunnelChunk( &chunks[11], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[12], 2, 0, 0, 0); MakeTunnelChunk( &chunks[13], 8, 0, ONE/32, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case THIRTY_SIXTH: // (36 to 48) are (20 to 32 with doubled radius) // same as 20th but twice the radius numberChunks = 14; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 12, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[2], 12, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[4], 10, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[5], 12, 0, 0, 0); MakeTunnelChunk( &chunks[6], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[7], 14, 0, 0, 0); MakeTunnelChunk( &chunks[8], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[9], 2, 0, 0, 0); MakeTunnelChunk( &chunks[10], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[11], 2, 0, 0, 0); MakeTunnelChunk( &chunks[12], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[13], 3, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case THIRTY_SEVENTH: // same as 21th but twice the radius numberChunks = 18; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[2], 20, 0, 0, 0); MakeTunnelChunk( &chunks[3], 12, 0, ONE/32, 0); MakeTunnelChunk( &chunks[4], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[5], 8, 0, 0, 0); MakeTunnelChunk( &chunks[6], 8, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[7], 12, 0, 0, 0); MakeTunnelChunk( &chunks[8], 12, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[9], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[10], 2, 0, 0, 0); MakeTunnelChunk( &chunks[11], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[12], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[13], 12, 0, ONE/48, 0); MakeTunnelChunk( &chunks[14], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[15], 16, 0, 0, 0); MakeTunnelChunk( &chunks[16], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[17], 3, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case THIRTY_EIGHTH: // same as 22nd but 1.5 the radius numberChunks = 12; MakeTunnelChunk( &chunks[0], 1, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[2], 6, 0, ONE/24, 0); MakeTunnelChunk( &chunks[3], 9, 0, ONE/36, 0); MakeTunnelChunk( &chunks[4], 12, 0, ONE/48, 0); MakeTunnelChunk( &chunks[5], 15, 0, ONE/60, 0); MakeTunnelChunk( &chunks[6], 32, 0, ONE/72, 0); MakeTunnelChunk( &chunks[7], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[8], 20, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[9], 16, 0, -ONE/40, 0); MakeTunnelChunk( &chunks[10], 5, 0, -ONE/10, 0); MakeTunnelChunk( &chunks[11], 1, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case THIRTY_NINTH: // same as 23rd but SAME radius // this track WILL NOT WORK with r > 4 // due to extremely tight bends numberChunks = 22; MakeTunnelChunk( &chunks[0], 16, 0, 0, 0); MakeTunnelChunk( &chunks[1], 6, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[2], 6, 0, ONE/12, 0); MakeTunnelChunk( &chunks[3], 4, 0, 0, 0); MakeTunnelChunk( &chunks[4], 12, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[5], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[6], 4, 0, -ONE/8, 0); MakeTunnelChunk( &chunks[7], 4, 0, ONE/8, 0); MakeTunnelChunk( &chunks[8], 6, 0, 0, 0); MakeTunnelChunk( &chunks[9], 12, 0, ONE/48, 0); MakeTunnelChunk( &chunks[10], 18, 0, -0, 0); MakeTunnelChunk( &chunks[11], 4, 0, -ONE/8, 0); MakeTunnelChunk( &chunks[12], 8, 0, 0, 0); MakeTunnelChunk( &chunks[13], 4, 0, ONE/64, 0); MakeTunnelChunk( &chunks[14], 4, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[15], 12, 0, 0, 0); MakeTunnelChunk( &chunks[16], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[17], 4, 0, ONE/8, 0); MakeTunnelChunk( &chunks[18], 18, 0, 0, 0); MakeTunnelChunk( &chunks[19], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[20], 6, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[21], 12, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case FOURTIETH: // same as 24th but twice the radius numberChunks = 31; MakeTunnelChunk( &chunks[0], 4, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[2], 16, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[3], 4, 0, 0, 0); MakeTunnelChunk( &chunks[4], 3, 0, ONE/48, 0); MakeTunnelChunk( &chunks[5], 3, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[6], 16, 0, 0, 0); MakeTunnelChunk( &chunks[7], 12, 0, ONE/48, 0); MakeTunnelChunk( &chunks[8], 6, 0, ONE/24, 0); MakeTunnelChunk( &chunks[9], 2, 0, ONE/18, 0); MakeTunnelChunk( &chunks[10], 1, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[11], 4, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[12], 4, 0, 0, 0); MakeTunnelChunk( &chunks[13], 3, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[14], 8, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[15], 3, 0, ONE/64, 0); MakeTunnelChunk( &chunks[16], 6, 0, 0, 0); MakeTunnelChunk( &chunks[17], 16, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[18], 4, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[19], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[20], 2, 0, 0, 0); MakeTunnelChunk( &chunks[21], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[22], 6, 0, 0, 0); MakeTunnelChunk( &chunks[23], 4, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[24], 6, 0, 0, 0); MakeTunnelChunk( &chunks[25], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[26], 4, 0, 0, 0); MakeTunnelChunk( &chunks[27], 20, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[28], 30, 0, 0, 0); MakeTunnelChunk( &chunks[29], 3, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[30], 3, 0, ONE/32, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case FORTY_FIRST: // same as 25th but twice the radius numberChunks = 31; MakeTunnelChunk( &chunks[0], 4, 0, 0, 0); MakeTunnelChunk( &chunks[1], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[2], 6, 0, ONE/24, 0); MakeTunnelChunk( &chunks[3], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[4], 8, 0, 0, 0); MakeTunnelChunk( &chunks[5], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[6], 4, 0, 0, 0); MakeTunnelChunk( &chunks[7], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[8], 2, 0, 0, 0); MakeTunnelChunk( &chunks[9], 4, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[10], 6, 0, 0, 0); MakeTunnelChunk( &chunks[11], 4, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[12], 2, 0, ONE/64, 0); MakeTunnelChunk( &chunks[13], 8, 0, 0, 0); MakeTunnelChunk( &chunks[14], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[15], 3, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[16], 8, 0, 0, 0); MakeTunnelChunk( &chunks[17], 4, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[18], 4, 0, 0, 0); MakeTunnelChunk( &chunks[19], 24, 0, ONE/48, 0); MakeTunnelChunk( &chunks[20], 8, 0, 0, 0); MakeTunnelChunk( &chunks[21], 4, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[22], 6, 0, 0, 0); MakeTunnelChunk( &chunks[23], 3, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[24], 4, 0, 0, 0); MakeTunnelChunk( &chunks[25], 4, 0, ONE/24, 0); MakeTunnelChunk( &chunks[26], 4, 0, ONE/48, 0); MakeTunnelChunk( &chunks[27], 4, 0, 0, 0); MakeTunnelChunk( &chunks[28], 16, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[29], 3, 0, -ONE/72, 0); MakeTunnelChunk( &chunks[30], 4, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case FORTY_SECOND: // same as 26th but twice the radius numberChunks = 31; MakeTunnelChunk( &chunks[0], 16, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[2], 4, 0, 0, 0); MakeTunnelChunk( &chunks[3], 4, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[4], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[5], 8, 0, ONE/64, 0); MakeTunnelChunk( &chunks[6], 4, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[8], 16, 0, ONE/64, 0); MakeTunnelChunk( &chunks[9], 4, 0, 0, 0); MakeTunnelChunk( &chunks[10], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[11], 6, 0, ONE/24, 0); MakeTunnelChunk( &chunks[12], 6, 0, 0, 0); MakeTunnelChunk( &chunks[13], 4, 0, ONE/64, 0); MakeTunnelChunk( &chunks[14], 4, 0, ONE/18, 0); MakeTunnelChunk( &chunks[15], 4, 0, 0, 0); MakeTunnelChunk( &chunks[16], 24, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[17], 2, 0, ONE/16, 0); MakeTunnelChunk( &chunks[18], 8, 0, 0, 0); MakeTunnelChunk( &chunks[19], 4, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[20], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[21], 14, 0, 0, 0); MakeTunnelChunk( &chunks[22], 6, 0, -ONE/18, 0); MakeTunnelChunk( &chunks[23], 6, 0, ONE/48, 0); MakeTunnelChunk( &chunks[24], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[25], 6, 0, ONE/48, 0); MakeTunnelChunk( &chunks[26], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[27], 2, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[28], 20, 0, 0, 0); MakeTunnelChunk( &chunks[29], 3, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[30], 16, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case FORTY_THIRD: // same as 27th but twice the radius numberChunks = 23; MakeTunnelChunk( &chunks[0], 6, 0, 0, 0); MakeTunnelChunk( &chunks[1], 6, 0, ONE/32, 0); MakeTunnelChunk( &chunks[2], 6, 0, 0, 0); MakeTunnelChunk( &chunks[3], 14, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[4], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[5], 3, 0, 0, 0); MakeTunnelChunk( &chunks[6], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[7], 2, 0, 0, 0); MakeTunnelChunk( &chunks[8], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[9], 2, 0, 0, 0); MakeTunnelChunk( &chunks[10], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[11], 8, 0, 0, 0); MakeTunnelChunk( &chunks[12], 32, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[13], 8, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[14], 16, 0, ONE/64, 0); MakeTunnelChunk( &chunks[15], 16, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[16], 16, 0, ONE/32, 0); MakeTunnelChunk( &chunks[17], 12, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[18], 2, 0, 0, 0); MakeTunnelChunk( &chunks[19], 3, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[20], 12, 0, 0, 0); MakeTunnelChunk( &chunks[21], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[22], 4, 0, -ONE/32, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case FORTY_FOURTH: // same as 28th but 1.5 the radius numberChunks = 18; MakeTunnelChunk( &chunks[0], 6, 0, 0, 0); MakeTunnelChunk( &chunks[1], 6, 0, ONE/24, 0); MakeTunnelChunk( &chunks[2], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[3], 10, 0, ONE/40, 0); MakeTunnelChunk( &chunks[4], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[5], 18, 0, ONE/48, 0); MakeTunnelChunk( &chunks[6], 4, 0, 0, 0); MakeTunnelChunk( &chunks[7], 4, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[8], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[9], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[10], 4, 0, ONE/12, 0); MakeTunnelChunk( &chunks[12], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[13], 12, 0, ONE/32, 0); MakeTunnelChunk( &chunks[14], 8, 0, 0, 0); MakeTunnelChunk( &chunks[15], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[16], 5, 0, ONE/16, 0); //MakeTunnelChunk( &chunks[17], 8, 0, 0, 0); MakeTunnelChunk( &chunks[17], 6, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case FORTY_FIFTH: // same as 29th but twice the radius numberChunks = 19; MakeTunnelChunk( &chunks[0], 6, 0, 0, 0); MakeTunnelChunk( &chunks[1], 2, 0, ONE/64, 0); MakeTunnelChunk( &chunks[2], 4, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[3], 2, 0, ONE/64, 0); MakeTunnelChunk( &chunks[4], 24, 0, 0, 0); MakeTunnelChunk( &chunks[5], 4, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[6], 8, 0, -ONE/36, 0); MakeTunnelChunk( &chunks[7], 4, 0, 0, 0); MakeTunnelChunk( &chunks[8], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[9], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[10], 12, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[11], 12, 0, 0, 0); MakeTunnelChunk( &chunks[12], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[13], 6, 0, ONE/12, 0); MakeTunnelChunk( &chunks[14], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[15], 16, 0, 0, 0); MakeTunnelChunk( &chunks[16], 16, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[17], 8, 0, 0, 0); MakeTunnelChunk( &chunks[18], 4, 0, ONE/48, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case FORTY_SIXTH: // same as 30th but twice the radius numberChunks = 21; MakeTunnelChunk( &chunks[0], 4, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[2], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[3], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[4], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[5], 4, 0, 0, 0); MakeTunnelChunk( &chunks[6], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[7], 8, 0, 0, 0); MakeTunnelChunk( &chunks[8], 12, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[9], 16, 0, ONE/32, 0); MakeTunnelChunk( &chunks[10], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[11], 8, 0, 0, 0); MakeTunnelChunk( &chunks[12], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[13], 12, 0, 0, 0); MakeTunnelChunk( &chunks[14], 12, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[15], 8, 0, 0, 0); MakeTunnelChunk( &chunks[16], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[17], 6, 0, ONE/24, 0); MakeTunnelChunk( &chunks[18], 12, 0, 0, 0); MakeTunnelChunk( &chunks[19], 4, 0, ONE/64, 0); MakeTunnelChunk( &chunks[20], 4, 0, -ONE/64, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case FORTY_SEVENTH: // same as 31th but twice the radius numberChunks = 20; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, ONE/64, 0); MakeTunnelChunk( &chunks[2], 16, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[3], 8, 0, ONE/64, 0); MakeTunnelChunk( &chunks[4], 12, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[6], 12, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[7], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[8], 8, 0, 0, 0); MakeTunnelChunk( &chunks[9], 6, 0, ONE/48, 0); MakeTunnelChunk( &chunks[10], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[11], 12, 0, 0, 0); MakeTunnelChunk( &chunks[12], 8, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[13], 8, 0, 0, 0); MakeTunnelChunk( &chunks[14], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[15], 8, 0, 0, 0); MakeTunnelChunk( &chunks[16], 6, 0, ONE/48, 0); MakeTunnelChunk( &chunks[17], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[18], 5, 0, 0, 0); MakeTunnelChunk( &chunks[19], 2, 0, ONE/128, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case FORTY_EIGHTH: // same as 32th but twice the radius numberChunks = 20; MakeTunnelChunk( &chunks[0], 20, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[2], 8, 0, 0, 0); MakeTunnelChunk( &chunks[3], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[4], 4, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[6], 4, 0, 0, 0); MakeTunnelChunk( &chunks[7], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[8], 4, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[10], 8, 0, 0, 0); MakeTunnelChunk( &chunks[11], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[12], 20, 0, 0, 0); MakeTunnelChunk( &chunks[13], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[14], 28, 0, 0, 0); MakeTunnelChunk( &chunks[15], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[16], 15, 0, 0, 0); MakeTunnelChunk( &chunks[17], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[18], 4, 0, 0, 0); MakeTunnelChunk( &chunks[19], 2, 0, -ONE/64, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case FORTY_NINTH: numberChunks = 19; MakeTunnelChunk( &chunks[0], 4, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[2], 4, 0, 0, 0); MakeTunnelChunk( &chunks[3], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[4], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[5], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[6], 4, 0, 0, 0); MakeTunnelChunk( &chunks[7], 12, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[8], 24, 0, -ONE/96, 0); MakeTunnelChunk( &chunks[9], 6, 0, ONE/48, 0); MakeTunnelChunk( &chunks[10], 4, 0, 0, 0); MakeTunnelChunk( &chunks[11], 24, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[12], 6, 0, ONE/48, 0); MakeTunnelChunk( &chunks[13], 6, 0, ONE/24, 0); MakeTunnelChunk( &chunks[14], 4, 0, 0, 0); MakeTunnelChunk( &chunks[15], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[16], 9, 0, 0, 0); MakeTunnelChunk( &chunks[17], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[18], 7, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case FIFTIETH: numberChunks = 20; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[2], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[3], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[4], 16, 0, 0, 0); MakeTunnelChunk( &chunks[5], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[6], 2, 0, 0, 0); MakeTunnelChunk( &chunks[7], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[8], 4, 0, 0, 0); MakeTunnelChunk( &chunks[9], 6, 0, ONE/32, 0); MakeTunnelChunk( &chunks[10], 4, 0, 0, 0); MakeTunnelChunk( &chunks[11], 10, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[12], 14, 0, 0, 0); MakeTunnelChunk( &chunks[13], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[14], 8, 0, 0, 0); MakeTunnelChunk( &chunks[15], 12, 0, ONE/32, 0); MakeTunnelChunk( &chunks[16], 16, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[17], 18, 0, -ONE/96, 0); MakeTunnelChunk( &chunks[18], 19, 0, -ONE/75, 0); MakeTunnelChunk( &chunks[19], 2, 0, ONE/32, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case FIFTY_FIRST: numberChunks = 30; MakeTunnelChunk( &chunks[0], 6, 0, 0, 0); MakeTunnelChunk( &chunks[1], 1, 0, 0, 0); MakeTunnelChunk( &chunks[2], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[3], 2, 0, 0, 0); MakeTunnelChunk( &chunks[4], 8, 0, ONE/48, 0); MakeTunnelChunk( &chunks[5], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[6], 2, 0, ONE/12, 0); MakeTunnelChunk( &chunks[7], 2, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[8], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[9], 8, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[10], 2, 0, 0, 0); MakeTunnelChunk( &chunks[11], 18, 0, ONE/48, 0); MakeTunnelChunk( &chunks[12], 6, 0, 0, 0); MakeTunnelChunk( &chunks[13], 1, 0, 0, 0); MakeTunnelChunk( &chunks[14], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[15], 2, 0, 0, 0); MakeTunnelChunk( &chunks[16], 8, 0, ONE/48, 0); MakeTunnelChunk( &chunks[17], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[18], 2, 0, ONE/12, 0); MakeTunnelChunk( &chunks[19], 2, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[20], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[21], 8, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[22], 2, 0, 0, 0); MakeTunnelChunk( &chunks[23], 18, 0, ONE/48, 0); MakeTunnelChunk( &chunks[24], 24, 0, 0, 0); MakeTunnelChunk( &chunks[25], 13, 0, ONE/64, 0); MakeTunnelChunk( &chunks[26], 24, 0, 0, 0); MakeTunnelChunk( &chunks[27], 17, 0, 0, 0); MakeTunnelChunk( &chunks[28], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[29], 5, 0, ONE/80, 0); //SetDescriptionSizeParameters(track, // SQUARE_SIZE * 4, SQUARE_SIZE * 8); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case FIFTY_SECOND: numberChunks = 24; MakeTunnelChunk( &chunks[0], 4, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[2], 8, 0, 0, 0); MakeTunnelChunk( &chunks[3], 6, 0, ONE/36, 0); MakeTunnelChunk( &chunks[4], 12, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[5], 24, 0, ONE/192, 0); MakeTunnelChunk( &chunks[6], 24, 0, ONE/192, 0); MakeTunnelChunk( &chunks[7], 2, 0, ONE/16, 0); MakeTunnelChunk( &chunks[8], 16, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[9], 8, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[10], 8, 0, 0, 0); MakeTunnelChunk( &chunks[11], 6, 0, ONE/36, 0); MakeTunnelChunk( &chunks[12], 16, 0, 0, 0); MakeTunnelChunk( &chunks[13], 6, 0, -ONE/36, 0); MakeTunnelChunk( &chunks[14], 24, 0, 0, 0); MakeTunnelChunk( &chunks[15], 3, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[16], 1, 0, 0, 0); MakeTunnelChunk( &chunks[17], 3, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[18], 6, 0, ONE/12, 0); MakeTunnelChunk( &chunks[19], 3, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[20], 12, 0, 0, 0); MakeTunnelChunk( &chunks[21], 3, 0, ONE/32, 0); MakeTunnelChunk( &chunks[22], 3, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[23], 12, 0, 0, 0); //SetDescriptionSizeParameters(track, // SQUARE_SIZE * 4, SQUARE_SIZE * 8); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case FIFTY_THIRD: numberChunks = 27; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, 0, ONE/48, 0); MakeTunnelChunk( &chunks[2], 7, 0, ONE/24, 0); MakeTunnelChunk( &chunks[3], 4, 0, 0, 0); MakeTunnelChunk( &chunks[4], 18, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[5], 6, 0, ONE/24, 0); MakeTunnelChunk( &chunks[6], 4, 0, 0, 0); MakeTunnelChunk( &chunks[7], 3, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[8], 4, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[10], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[11], 6, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[12], 4, 0, ONE/32, 0); MakeTunnelChunk( &chunks[13], 12, 0, 0, 0); MakeTunnelChunk( &chunks[14], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[15], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[16], 5, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[17], 4, 0, ONE/20, 0); MakeTunnelChunk( &chunks[18], 6, 0, 0, 0); MakeTunnelChunk( &chunks[19], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[20], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[21], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[22], 4, 0, 0, 0); MakeTunnelChunk( &chunks[23], 15, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[24], 24, 0, 0, 0); MakeTunnelChunk( &chunks[25], 3, 0, 0, 0); MakeTunnelChunk( &chunks[26], 4, 0, -ONE/36, 0); //SetDescriptionSizeParameters(track, // SQUARE_SIZE * 4, SQUARE_SIZE * 8); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case FIFTY_FOURTH: numberChunks = 21; MakeTunnelChunk( &chunks[0], 4, 0, 0, 0); MakeTunnelChunk( &chunks[1], 5, 0, ONE/32, 0); MakeTunnelChunk( &chunks[2], 5, 0, ONE/20, 0); MakeTunnelChunk( &chunks[3], 3, 0, 0, 0); MakeTunnelChunk( &chunks[4], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[5], 5, 0, ONE/22, 0); MakeTunnelChunk( &chunks[6], 5, 0, -ONE/20, 0); MakeTunnelChunk( &chunks[7], 5, 0, ONE/18, 0); MakeTunnelChunk( &chunks[8], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[9], 4, 0, ONE/14, 0); MakeTunnelChunk( &chunks[10], 3, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[11], 3, 0, ONE/10, 0); MakeTunnelChunk( &chunks[12], 4, 0, 0, 0); MakeTunnelChunk( &chunks[13], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[14], 8, 0, 0, 0); MakeTunnelChunk( &chunks[15], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[16], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[17], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[18], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[19], 9, 0, 0, 0); MakeTunnelChunk( &chunks[20], 6, 0, ONE/24, 0); //SetDescriptionSizeParameters(track, // SQUARE_SIZE * 4, SQUARE_SIZE * 8); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case FIFTY_FIFTH: numberChunks = 16; MakeTunnelChunk( &chunks[0], 9, 0, 0, 0); MakeTunnelChunk( &chunks[2], 6, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[3], 2, 0, 0, 0); MakeTunnelChunk( &chunks[4], 8, 0, ONE/48, 0); MakeTunnelChunk( &chunks[5], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[6], 2, 0, ONE/12, 0); MakeTunnelChunk( &chunks[7], 2, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[8], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[9], 8, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[10], 12, 0, 0, 0); MakeTunnelChunk( &chunks[11], 12, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[12], 28, 0, 0, 0); MakeTunnelChunk( &chunks[13], 5, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[14], 21, 0, 0, 0); MakeTunnelChunk( &chunks[15], 14, 0, -ONE/30, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case FIFTY_SIXTH: numberChunks = 27; MakeTunnelChunk( &chunks[0], 9, 0, 0, 0); MakeTunnelChunk( &chunks[1], 3, 0, ONE/24, 0); MakeTunnelChunk( &chunks[2], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[3], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[4], 12, 0, 0, 0); MakeTunnelChunk( &chunks[5], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[6], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[7], 2, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[8], 16, 0, 0, 0); MakeTunnelChunk( &chunks[9], 6, 0, ONE/48, 0); MakeTunnelChunk( &chunks[10], 6, 0, 0, 0); MakeTunnelChunk( &chunks[11], 8, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[12], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[13], 6, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[14], 3, 0, ONE/16, 0); MakeTunnelChunk( &chunks[15], 6, 0, 0, 0); MakeTunnelChunk( &chunks[16], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[17], 8, 0, 0, 0); MakeTunnelChunk( &chunks[18], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[19], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[20], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[21], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[22], 8, 0, 0, 0); MakeTunnelChunk( &chunks[23], 11, 0, ONE/32, 0); MakeTunnelChunk( &chunks[24], 26, 0, 0, 0); MakeTunnelChunk( &chunks[25], 21, 0, 0, 0); MakeTunnelChunk( &chunks[26], 6, 0, -ONE/72, 0); //SetDescriptionSizeParameters(track, // SQUARE_SIZE * 4, SQUARE_SIZE * 8); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case FIFTY_SEVENTH: numberChunks = 15; MakeTunnelChunk( &chunks[0], 9, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, ONE/64, 0); MakeTunnelChunk( &chunks[2], 3, 0, 0, 0); MakeTunnelChunk( &chunks[3], 24, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[4], 24, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[5], 2, 0, 0, 0); MakeTunnelChunk( &chunks[6], 5, 0, ONE/16, 0); MakeTunnelChunk( &chunks[7], 6, 0, -ONE/22, 0); MakeTunnelChunk( &chunks[8], 6, 0, ONE/25, 0); MakeTunnelChunk( &chunks[9], 6, 0, -ONE/28, 0); MakeTunnelChunk( &chunks[10], 6, 0, ONE/31, 0); MakeTunnelChunk( &chunks[11], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[12], 8, 0, 0, 0); MakeTunnelChunk( &chunks[13], 12, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[14], 16, 0, 0, 0); //SetDescriptionSizeParameters(track, // SQUARE_SIZE * 4, SQUARE_SIZE * 8); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case FIFTY_EIGHTH: numberChunks = 23; MakeTunnelChunk( &chunks[0], 1, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[2], 6, 0, 0, 0); MakeTunnelChunk( &chunks[3], 3, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[4], 32, 0, ONE/63, 0); MakeTunnelChunk( &chunks[5], 3, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[6], 2, 0, 0, 0); MakeTunnelChunk( &chunks[7], 4, 0, ONE/48, 0); MakeTunnelChunk( &chunks[8], 16, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[9], 4, 0, 0, 0); MakeTunnelChunk( &chunks[10], 4, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[11], 8, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[12], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[13], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[14], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[15], 8, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[16], 7, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[17], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[18], 24, 0, 0, 0); MakeTunnelChunk( &chunks[19], 12, 0, 0, 0); MakeTunnelChunk( &chunks[20], 12, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[21], 20, 0, 0, 0); MakeTunnelChunk( &chunks[22], 3, 0, -ONE/96, 0); //SetDescriptionSizeParameters(track, // SQUARE_SIZE * 4, SQUARE_SIZE * 8); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case FIFTY_NINTH: numberChunks = 24; MakeTunnelChunk( &chunks[0], 24, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[2], 16, 0, 0, 0); MakeTunnelChunk( &chunks[3], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[4], 12, 0, 0, 0); MakeTunnelChunk( &chunks[5], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[6], 8, 0, 0, 0); MakeTunnelChunk( &chunks[7], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[8], 2, 0, 0, 0); MakeTunnelChunk( &chunks[9], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[10], 4, 0, 0, 0); MakeTunnelChunk( &chunks[11], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[12], 2, 0, 0, 0); MakeTunnelChunk( &chunks[13], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[14], 8, 0, 0, 0); MakeTunnelChunk( &chunks[15], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[16], 12, 0, 0, 0); MakeTunnelChunk( &chunks[17], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[18], 16, 0, 0, 0); MakeTunnelChunk( &chunks[19], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[20], 4, 0, 0, 0); MakeTunnelChunk( &chunks[21], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[22], 20, 0, 0, 0); MakeTunnelChunk( &chunks[23], 4, 0, -ONE/16, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case SIXTIETH: numberChunks = 18; MakeTunnelChunk( &chunks[0], 24, 0, 0, 0); MakeTunnelChunk( &chunks[1], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[2], 8, 0, 0, 0); MakeTunnelChunk( &chunks[3], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[4], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[5], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[6], 8, 0, 0, 0); MakeTunnelChunk( &chunks[7], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[8], 24, 0, 0, 0); MakeTunnelChunk( &chunks[9], 6, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[10], 8, 0, 0, 0); MakeTunnelChunk( &chunks[11], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[12], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[13], 4, 0, 0, 0); MakeTunnelChunk( &chunks[14], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[15], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[16], 3, 0, 0, 0); MakeTunnelChunk( &chunks[17], 7, 0, -ONE/28, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case SIXTY_FIRST: numberChunks = 21; MakeTunnelChunk( &chunks[0], 4, 0, 0, 0); MakeTunnelChunk( &chunks[1], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[2], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[3], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[4], 4, 0, 0, 0); MakeTunnelChunk( &chunks[5], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[6], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[7], 4, 0, 0, 0); MakeTunnelChunk( &chunks[8], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[9], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[10], 4, 0, 0, 0); MakeTunnelChunk( &chunks[11], 32, 0, ONE/64, 0); MakeTunnelChunk( &chunks[12], 2, 0, 0, 0); MakeTunnelChunk( &chunks[13], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[14], 16, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[15], 16, 0, ONE/32, 0); MakeTunnelChunk( &chunks[16], 16, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[17], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[18], 2, 0, 0, 0); MakeTunnelChunk( &chunks[19], 30, 0, ONE/64, 0); MakeTunnelChunk( &chunks[20], 9, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; case SIXTY_SECOND: numberChunks = 20; MakeTunnelChunk( &chunks[0], 12, 0, 0, 0); MakeTunnelChunk( &chunks[1], 12, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[2], 12, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[3], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[4], 8, 0, 0, 0); MakeTunnelChunk( &chunks[5], 5, 0, ONE/20, 0); MakeTunnelChunk( &chunks[6], 8, 0, 0, 0); MakeTunnelChunk( &chunks[7], 5, 0, ONE/20, 0); MakeTunnelChunk( &chunks[8], 3, 0, 0, 0); MakeTunnelChunk( &chunks[9], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[10], 13, 0, -ONE/20, 0); MakeTunnelChunk( &chunks[11], 12, 0, 0, 0); MakeTunnelChunk( &chunks[12], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[13], 6, 0, 0, 0); MakeTunnelChunk( &chunks[14], 16, 0, ONE/32, 0); MakeTunnelChunk( &chunks[15], 16, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[16], 22, 0, -ONE/96, 0); MakeTunnelChunk( &chunks[17], 17, 0, 0, 0); MakeTunnelChunk( &chunks[18], 4, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[19], 8, 0, 0, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case SIXTY_THIRD: numberChunks = 15; MakeTunnelChunk( &chunks[0], 8, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, ONE/64, 0); MakeTunnelChunk( &chunks[2], 8, 0, -ONE/48, 0); MakeTunnelChunk( &chunks[3], 8, 0, ONE/32, 0); MakeTunnelChunk( &chunks[4], 8, 0, -ONE/24, 0); MakeTunnelChunk( &chunks[5], 6, 0, ONE/16, 0); MakeTunnelChunk( &chunks[6], 6, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[7], 24, 0, 0, 0); MakeTunnelChunk( &chunks[8], 32, 0, -ONE/128, 0); MakeTunnelChunk( &chunks[9], 6, 0, ONE/12, 0); MakeTunnelChunk( &chunks[10], 6, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[11], 32, 0, -ONE/128, 0); MakeTunnelChunk( &chunks[12], 12, 0, 0, 0); MakeTunnelChunk( &chunks[13], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[14], 7, 0, -ONE/16, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case SIXTY_FOURTH: numberChunks = 21; MakeTunnelChunk( &chunks[0], 24, 0, 0, 0); MakeTunnelChunk( &chunks[1], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[2], 24, 0, 0, 0); MakeTunnelChunk( &chunks[3], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[4], 12, 0, 0, 0); MakeTunnelChunk( &chunks[5], 6, 0, ONE/12, 0); MakeTunnelChunk( &chunks[6], 6, 0, -ONE/12, 0); MakeTunnelChunk( &chunks[7], 12, 0, ONE/24, 0); MakeTunnelChunk( &chunks[8], 16, 0, 0, 0); MakeTunnelChunk( &chunks[9], 8, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[10], 24, 0, ONE/48, 0); MakeTunnelChunk( &chunks[11], 6, 0, 0, 0); MakeTunnelChunk( &chunks[12], 4, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[13], 8, 0, ONE/16, 0); MakeTunnelChunk( &chunks[14], 4, 0, 0, 0); MakeTunnelChunk( &chunks[15], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[16], 4, 0, ONE/16, 0); MakeTunnelChunk( &chunks[17], 8, 0, 0, 0); MakeTunnelChunk( &chunks[18], 16, 0, ONE/32, 0); MakeTunnelChunk( &chunks[19], 4, 0, 0, 0); MakeTunnelChunk( &chunks[20], 11, 0, -ONE/26, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 6); break; case SIXTY_FIFTH: numberChunks = 17; MakeTunnelChunk( &chunks[0], 12, 0, 0, 0); MakeTunnelChunk( &chunks[1], 3, 0, ONE/24, 0); MakeTunnelChunk( &chunks[2], 24, 0, -ONE/32, 0); MakeTunnelChunk( &chunks[3], 3, 0, ONE/24, 0); MakeTunnelChunk( &chunks[4], 12, 0, 0, 0); MakeTunnelChunk( &chunks[5], 6, 0, ONE/32, 0); MakeTunnelChunk( &chunks[6], 6, 0, ONE/16, 0); MakeTunnelChunk( &chunks[7], 8, 0, -ONE/16, 0); MakeTunnelChunk( &chunks[8], 8, 0, ONE/48, 0); MakeTunnelChunk( &chunks[9], 6, 0, 0, 0); MakeTunnelChunk( &chunks[10], 16, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[11], 16, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[12], 16, 0, 0, 0); MakeTunnelChunk( &chunks[13], 15, 0, -ONE/64, 0); MakeTunnelChunk( &chunks[14], 8, 0, 0, 0); MakeTunnelChunk( &chunks[15], 2, 0, ONE/64, 0); MakeTunnelChunk( &chunks[16], 2, 0, -ONE/64, 0); SetDescriptionSizeParameters(track, SQUARE_SIZE * 4, SQUARE_SIZE * 8); break; default: assert(FALSE); } MakeTunnelDescriptionFromChunks(track, numberChunks, chunks); } #endif #endif // NONE of the above functions apply // if loading tracks from datafile /**************************************************************************** overwrite section: if load tracks as datafile, can override settings ****************************************************************************/ // no need so far #define OVERRIDE_DATAFILE_TRACK_SETTINGS 0 #if OVERRIDE_DATAFILE_TRACK_SETTINGS void OverrideDatafileSettings (void) { } #endif