(svn r7759) -Merge: makefile rewrite. This merge features:
- A proper ./configure, so everything needs to be configured only once, not for every make. - Usage of makedepend when available. This greatly reduces the time needed for generating the dependencies. - A generator for all project files. There is a single file with sources, which is used to generate Makefiles and the project files for MSVC. - Proper support for OSX universal binaries. - Object files for non-MSVC compiles are also placed in separate directories, making is faster to switch between debug and release compiles and it does not touch the directory with the source files. - Functionality to make a bundle of all needed files for for example a nightly or distribution of a binary with all needed GRFs and language files. Note: as this merge moves almost all files, it is recommended to make a backup of your working copy before updating your working copy.
This commit is contained in:
		
							
								
								
									
										73
									
								
								src/newgrf.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								src/newgrf.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,73 @@ | ||||
| /* $Id$ */ | ||||
|  | ||||
| #ifndef NEWGRF_H | ||||
| #define NEWGRF_H | ||||
|  | ||||
| #include "station.h" | ||||
| #include "newgrf_config.h" | ||||
|  | ||||
| typedef enum GrfLoadingStage { | ||||
| 	GLS_FILESCAN, | ||||
| 	GLS_SAFETYSCAN, | ||||
| 	GLS_LABELSCAN, | ||||
| 	GLS_INIT, | ||||
| 	GLS_ACTIVATION, | ||||
| 	GLS_END, | ||||
| } GrfLoadingStage; | ||||
|  | ||||
| typedef struct GRFLabel { | ||||
| 	byte label; | ||||
| 	uint32 nfo_line; | ||||
| 	uint32 pos; | ||||
| 	struct GRFLabel *next; | ||||
| } GRFLabel; | ||||
|  | ||||
| typedef struct GRFFile { | ||||
| 	char *filename; | ||||
| 	uint32 grfid; | ||||
| 	uint16 sprite_offset; | ||||
| 	byte grf_version; | ||||
| 	struct GRFFile *next; | ||||
|  | ||||
| 	/* A sprite group contains all sprites of a given vehicle (or multiple | ||||
| 	 * vehicles) when carrying given cargo. It consists of several sprite | ||||
| 	 * sets.  Group ids are refered as "cargo id"s by TTDPatch | ||||
| 	 * documentation, contributing to the global confusion. | ||||
| 	 * | ||||
| 	 * A sprite set contains all sprites of a given vehicle carrying given | ||||
| 	 * cargo at a given *stage* - that is usually its load stage. Ie. you | ||||
| 	 * can have a spriteset for an empty wagon, wagon full of coal, | ||||
| 	 * half-filled wagon etc.  Each spriteset contains eight sprites (one | ||||
| 	 * per direction) or four sprites if the vehicle is symmetric. */ | ||||
|  | ||||
| 	SpriteID spriteset_start; | ||||
| 	int spriteset_numsets; | ||||
| 	int spriteset_numents; | ||||
| 	int spriteset_feature; | ||||
|  | ||||
| 	int spritegroups_count; | ||||
| 	struct SpriteGroup **spritegroups; | ||||
|  | ||||
| 	uint sound_offset; | ||||
|  | ||||
| 	StationSpec **stations; | ||||
|  | ||||
| 	uint32 param[0x80]; | ||||
| 	uint param_end; /// one more than the highest set parameter | ||||
|  | ||||
| 	GRFLabel *label; ///< Pointer to the first label. This is a linked list, not an array. | ||||
| } GRFFile; | ||||
|  | ||||
| extern GRFFile *_first_grffile; | ||||
|  | ||||
| extern SpriteID _signal_base; | ||||
| extern SpriteID _coast_base; | ||||
| extern bool _have_2cc; | ||||
|  | ||||
| void LoadNewGRFFile(GRFConfig *config, uint file_index, GrfLoadingStage stage); | ||||
| void LoadNewGRF(uint load_index, uint file_index); | ||||
| void ReloadNewGRFData(void); // in openttd.c | ||||
|  | ||||
| void CDECL grfmsg(int severity, const char *str, ...); | ||||
|  | ||||
| #endif /* NEWGRF_H */ | ||||
		Reference in New Issue
	
	Block a user
	 rubidium
					rubidium