⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 data.h

📁 一个在brew 平台下开发的摩托车程序源代码
💻 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 + -