📄 data.h
字号:
//////////////////////////////////////////////////////////////////////
//FILE: Data.h
//Contains all the data used for this game
//////////////////////////////////////////////////////////////////////
// Disable: warning C4309: 'initializing' : truncation of constant value
#ifndef _DATA
#define _DATA
#pragma warning(disable: 4309)
#include "JString.h"
// Keys
#define LEFT_SOFT_KEY -6
#define RIGHT_SOFT_KEY -7
// Pad
#define PAD_LEFT 1
#define PAD_RIGHT 2
#define PAD_UP 4
#define PAD_DOWN 8
#define PAD_RIGHT_SOFT_KEY 16
#define PAD_LEFT_SOFT_KEY 32
// Game parameters
#define NUM_RAINDROPS 12
#define NUM_TREES 4
#define NUM_SCENERY 300
#define NUM_DIST 128
#define NUM_BIKES 7
#define NUM_GEAR 6
#define NUM_COORD 32
#define NUM_TRACKS 9
#define NUM_TREETYPE 8
#define NUM_BIKETYPE 5
#define NUM_PARTS 4
#define NUM_HELP_STR 5
#define NUM_ENGINE_DATA 4 //speed, cost, ??, ??
#define NUM_ENGINE_STR 4 //name, HP, Torque, Handling???
#define NUM_ENGINE_OPTION 3 //max possible choice of engines per bike, not actual number of choice, use bikeEngineChoice for that
#define NUM_WHEEL 2 //Front/back
#define NUM_PARTS_OPTION 3 //3 to choose from per part
#define NUM_TRACK_INFO 2 //name and length
#define NUM_WEATHER_TYPE 3 //wet, dry, variable
#define NUM_OTHER_PARTS 3 //wheel, suspension and exhaust, minus engine
#define NUM_PARTS_DATA 4 //cost, speed, weight, handling / acceleration
#define NUM_TAUNTS 6
#define NUM_RULES 4
//Data Init
#define TUNNELTABLE_NUM 13
#define ROAD_TABLE_NUM 1024
#define TRACK1_NUM 53
#define TRACK2_NUM 53
#define TRACK3_NUM 81
#define TRACK4_NUM 49
#define TRACK5_NUM 53
#define TRACK6_NUM 89
#define TRACK7_NUM 53
#define TRACK8_NUM 61
#define CANYONTRACK_NUM 77
#define CANYONSHIFT_NUM 8
#define CANYONCOLOUR_NUM 5
#define TRACK1SCENERY_NUM 77
#define TRACK2SCENERY_NUM 93
#define TRACK3SCENERY_NUM 33
#define TRACK4SCENERY_NUM 17
#define TRACK5SCENERY_NUM 69
#define TRACK6SCENERY_NUM 49
#define TRACK7SCENERY_NUM 57
#define LEFTLAMPPOSTVTX_NUM 12
#define RIGHTLAMPPOSTVTX_NUM 12
#define TUNNELVTX_NUM 6
#define LEFTBARNVTX_NUM 24
#define RIGHTBARNVTX_NUM 24
#define FENCEVTX_NUM 18
#define ARROWVTX_NUM 15
#define DOUBLEARROWVTX_NUM 15
#define CLIFFARROWVTX_NUM 12
#define CLIFFDOUBLEARROWVTX_NUM 18
#define JUNCTIONVTX_NUM 12
#define TELEGRAPHPOLEVTX_NUM 18
#define DUCATILEFTVTX_NUM 24
#define DUCATIRIGHTVTX_NUM 24
#define DORICVTX_NUM 21
#define LEFTHOUSEVTX_NUM 30
#define STARTLINEVTX_NUM 48
#define BARRIERVTX_NUM 18
#define SPEEDSIGNVTX_NUM 12
#define WARNINGSIGNVTX_NUM 15
#define TRAFFICLIGHTVTX_NUM 30
#define BRIDGEVTX_NUM 36
#define TREE1VTX_NUM 12
#define TREE2VTX_NUM 12
#define TREE3VTX_NUM 21
#define TREE4VTX_NUM 33
#define TREE5VTX_NUM 21
#define TREE6VTX_NUM 21
#define CACTIVTX_NUM 24
#define CACTI22VTX_NUM 24
#define LEFTLAMPPOSTPOLY_NUM 23
#define RIGHTLAMPPOSTPOLY_NUM 23
#define LEFTBARNPOLY_NUM 90
#define RIGHTBARNPOLY_NUM 90
#define TELEGRAPHPOLEPOLY_NUM 14
#define TELEGRAPHWIREPOLY_NUM 14
#define RIGHTARROWPOLY_NUM 48
#define LEFTARROWPOLY_NUM 48
#define DOUBLERIGHTARROWPOLY_NUM 69
#define DOUBLELEFTARROWPOLY_NUM 69
#define CLIFFARROWPOLY_NUM 43
#define CLIFFDOUBLEARROWPOLY_NUM 64
#define DUCATILEFTPOLY_NUM 46
#define DUCATIRIGHTPOLY_NUM 46
#define DORICPOLY_NUM 47
#define LEFTHOUSEPOLY_NUM 84
#define STARTLINEPOLY_NUM 122
#define BARRIERPOLY_NUM 32
#define SPEEDSIGNPOLY_NUM 27
#define WARNINGSIGNPOLY_NUM 39
#define TRAFFICLIGHTPOLY_NUM 45
#define BRIDGEPOLY_NUM 66
#define TREE1POLY_NUM 18
#define TREE3POLY_NUM 44
#define TREE4POLY_NUM 34
#define TREE5POLY_NUM 46
#define TREE6POLY_NUM 39
#define CACTIPOLY_NUM 29
#define PLAYERBIKEOFFSET_NUM 78
#define OPPOBIKEOFFSET_NUM 96
#define PANELNUMOFFSET_NUM 10
#define LAPNUMOFFSET_NUM 3
#define TRACKTREETYPE_NUM 18
enum eROADTYPE
{
END_TRACK,
BEND,
HILL
};
enum eSCENEARY
{
SCENERY_NONE,
SCENERY_LAMPPOST,
SCENERY_HOUSE,
SCENERY_TUNNEL,
SCENERY_BARN,
SCENERY_TELEGRAPHPOLE,
SCENERY_TELEGRAPHPOLE_END,
SCENERY_FENCE,
SCENERY_FENCE_END,
SCENERY_ARROW,
SCENERY_DOUBLE_ARROW,
SCENERY_BRIDGE,
SCENERY_JUNCTION,
SCENERY_SPEED_SIGN,
SCENERY_WARNING_SIGN,
SCENERY_DUCATI,
SCENERY_START_LINE,
SCENERY_JUNCTION2,
SCENERY_DORIC
};
enum ePOLYTYPE
{
POLY_LINE,
POLY_RECT,
POLY_EMPTY_ARC,
POLY_TRI,
POLY_COLOUR,
POLY_ARC,
POLY_ROUND_RECT,
POLY_EMPTY_TRI
};
class Data
{
public:
Data();
~Data();
void Init();
void Init2();
void Init3();
void Init4();
int weather[NUM_TRACKS];
int trackLengths[NUM_TRACKS];
int gearPercent[NUM_GEAR];
int tunnelTable[TUNNELTABLE_NUM];
short roadTable[ROAD_TABLE_NUM];
int track1[TRACK1_NUM];
int track2[TRACK2_NUM];
int track3[TRACK3_NUM];
int track4[TRACK4_NUM];
int track5[TRACK5_NUM];
int track6[TRACK6_NUM];
int track7[TRACK7_NUM];
int track8[TRACK8_NUM];
int canyonTrack[CANYONTRACK_NUM];
int canyonShiftTab[CANYONSHIFT_NUM];
int canyonColours[CANYONCOLOUR_NUM];
int track1Scenery[TRACK1SCENERY_NUM];
int track2Scenery[TRACK2SCENERY_NUM];
int track3Scenery[TRACK3SCENERY_NUM];
int track4Scenery[TRACK4SCENERY_NUM];
int track5Scenery[TRACK5SCENERY_NUM];
int track6Scenery[TRACK6SCENERY_NUM];
int track7Scenery[TRACK7SCENERY_NUM];
short leftLamppostVtx[LEFTLAMPPOSTVTX_NUM];
short rightLamppostVtx[RIGHTLAMPPOSTVTX_NUM];
short tunnelVtx[TUNNELVTX_NUM];
short leftBarnVtx[LEFTBARNVTX_NUM];
short rightBarnVtx[RIGHTBARNVTX_NUM];
short fenceVtx[FENCEVTX_NUM];
short arrowVtx[ARROWVTX_NUM];
short doubleArrowVtx[DOUBLEARROWVTX_NUM];
short cliffArrowVtx[CLIFFARROWVTX_NUM];
short cliffDoubleArrowVtx[CLIFFDOUBLEARROWVTX_NUM];
short junctionVtx[JUNCTIONVTX_NUM];
short telegraphPoleVtx[TELEGRAPHPOLEVTX_NUM];
short ducatiLeftVtx[DUCATILEFTVTX_NUM];
short ducatiRightVtx[DUCATIRIGHTVTX_NUM];
short doricVtx[DORICVTX_NUM];
short leftHouseVtx[LEFTHOUSEVTX_NUM];
short startLineVtx[STARTLINEVTX_NUM];
short barrierVtx[BARRIERVTX_NUM];
short speedSignVtx[SPEEDSIGNVTX_NUM];
short warningSignVtx[WARNINGSIGNVTX_NUM];
short trafficLightVtx[TRAFFICLIGHTVTX_NUM];
short bridgeVtx[BRIDGEVTX_NUM];
short tree1Vtx[TREE1VTX_NUM];
short tree2Vtx[TREE2VTX_NUM];
short tree3Vtx[TREE3VTX_NUM];
short tree4Vtx[TREE4VTX_NUM];
short tree5Vtx[TREE5VTX_NUM];
short tree6Vtx[TREE6VTX_NUM];
short cactiVtx[CACTIVTX_NUM];
short cacti2Vtx[CACTI22VTX_NUM];
short leftLamppostPolys[LEFTLAMPPOSTPOLY_NUM];
short rightLamppostPolys[RIGHTLAMPPOSTPOLY_NUM];
short leftBarnPolys[LEFTBARNPOLY_NUM];
short rightBarnPolys[RIGHTBARNPOLY_NUM];
short telegraphPolePolys[TELEGRAPHPOLEPOLY_NUM];
short telegraphWirePolys[TELEGRAPHWIREPOLY_NUM];
short rightArrowPolys[RIGHTARROWPOLY_NUM];
short leftArrowPolys[LEFTARROWPOLY_NUM];
short doubleRightArrowPolys[DOUBLERIGHTARROWPOLY_NUM];
short doubleLeftArrowPolys[DOUBLELEFTARROWPOLY_NUM];
short cliffArrowPolys[CLIFFARROWPOLY_NUM];
short cliffDoubleArrowPolys[CLIFFDOUBLEARROWPOLY_NUM];
short ducatiLeftPolys[DUCATILEFTPOLY_NUM];
short ducatiRightPolys[DUCATIRIGHTPOLY_NUM];
short doricPolys[DORICPOLY_NUM];
short leftHousePolys[LEFTHOUSEPOLY_NUM];
short startLinePolys[STARTLINEPOLY_NUM];
short barrierPolys[BARRIERPOLY_NUM];
short speedSignPolys[SPEEDSIGNPOLY_NUM];
short warningSignPolys[WARNINGSIGNPOLY_NUM];
short trafficLightPolys[TRAFFICLIGHTPOLY_NUM];
short bridgePolys[BRIDGEPOLY_NUM];
short tree1Polys[TREE1POLY_NUM];
short tree3Polys[TREE3POLY_NUM];
short tree4Polys[TREE4POLY_NUM];
short tree5Polys[TREE5POLY_NUM];
short tree6Polys[TREE6POLY_NUM];
short cactiPolys[CACTIPOLY_NUM];
short playerBikeOffsets[PLAYERBIKEOFFSET_NUM];
short oppoBikeOffsets[OPPOBIKEOFFSET_NUM];
short panelNumberOffsets[PANELNUMOFFSET_NUM];
short panelNumOffsets[PANELNUMOFFSET_NUM];
short lapNumberOffsets[LAPNUMOFFSET_NUM];
char trackTreeType[TRACKTREETYPE_NUM];
int treeVtxNumTable[NUM_TREETYPE];
int treePolyElemTable[NUM_TREETYPE];
JString string1;
JString stringOptions;
JString stringHelp;
JString stringInfo;
JString string4;
JString string5;
JString string6;
JString string7;
JString string8;
JString string9;
JString string10;
JString string11;
JString string12;
JString string13;
JString string14;
JString string15;
JString string18;
JString string19;
JString string21;
JString string22;
JString string23;
JString string26;
JString string27;
JString string28;
JString string29;
JString string30;
JString string31;
JString string33;
JString string34;
JString string35;
JString string37;
JString string39;
JString string40;
JString string41;
JString string42;
JString string43;
JString stringTorque;
JString string44;
JString string45;
JString string47;
JString string48;
JString string49;
JString string50;
JString string51;
JString string52;
JString string53;
JString string54;
JString string55;
JString string59;
JString string60;
JString string61;
JString string62;
JString string69;
JString string70;
JString string72;
JString string73;
JString textLoading;
JString string_raceTime;
JString string_afterRace;
JString stringClear;
JString stringMainMenu;
JString stringPauseMenu;
JString stringRaceMenu;
JString stringChooseTrack;
JString stringChooseDifficulty;
JString stringNextRace;
JString stringChooseCharacter;
JString stringChooseBike;
JString stringSelect;
JString stringBuy;
JString stringNoDamage;
JString stringAbout;
JString stringChampOver;
JString stringCurrentBet;
JString stringPoints;
JString stringEnterBet;
JString stringPublished1;
JString stringPublished2;
JString stringAreYouSure;
JString stringOutro1;
JString stringOutro2;
JString stringOutro3;
JString stringOutro4;
JString stringNoFile;
JString stringSaving1;
JString stringSaving2;
JString stringSaving3;
JString stringPlay;
JString* bikeNames[NUM_BIKETYPE];
int bikePrices[NUM_BIKETYPE];
JString* helpStrings[NUM_HELP_STR];
JString* partsStrings[NUM_PARTS];
JString* engineParts[NUM_BIKETYPE*NUM_ENGINE_OPTION*NUM_ENGINE_STR];
int bikeEngineChoice[NUM_BIKETYPE];
int engineData[NUM_BIKETYPE][NUM_ENGINE_OPTION][NUM_ENGINE_DATA];
int partsData[NUM_OTHER_PARTS][NUM_PARTS_OPTION][NUM_PARTS_DATA];
JString* bikeParts[NUM_OTHER_PARTS*NUM_PARTS_OPTION];
JString* wheelWeights[NUM_PARTS_OPTION*NUM_WHEEL];
JString shock;
JString front;
JString rear;
JString lb;
JString* trackinfo[NUM_TRACKS*NUM_TRACK_INFO];
JString* weatherTypes[NUM_WEATHER_TYPE];
JString* positions[NUM_BIKES];
JString* names[NUM_BIKES];
JString* bios[NUM_BIKES];
JString* taunts[NUM_TAUNTS];
JString* ruleString[NUM_RULES];
JString legalText;
JString credits;
};
#ifndef AEE_SIMULATOR
template<class T> T ABS(T p) { return p>=T(0) ? p : -p; }
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -