(svn r7325) -Feature: Add support for action 5 type 0x0D, coast sprites.
This commit is contained in:
		
							
								
								
									
										10
									
								
								newgrf.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								newgrf.c
									
									
									
									
									
								
							@@ -43,6 +43,7 @@
 | 
			
		||||
static int _skip_sprites; // XXX
 | 
			
		||||
static uint _file_index; // XXX
 | 
			
		||||
SpriteID _signal_base;
 | 
			
		||||
SpriteID _coast_base;
 | 
			
		||||
 | 
			
		||||
static GRFFile *_cur_grffile;
 | 
			
		||||
GRFFile *_first_grffile;
 | 
			
		||||
@@ -2159,6 +2160,14 @@ static void GraphicsNew(byte *buf, int len)
 | 
			
		||||
			replace = SPR_CANALS_BASE + 5;
 | 
			
		||||
			break;
 | 
			
		||||
 | 
			
		||||
		case 0x0D: /* Coast graphics */
 | 
			
		||||
			if (num != 16) {
 | 
			
		||||
				grfmsg(GMS_WARN, "GraphicsNews: Coast graphics sprite count must be 16, skipping.");
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			_coast_base = _cur_spriteid;
 | 
			
		||||
			break;
 | 
			
		||||
 | 
			
		||||
		default:
 | 
			
		||||
			grfmsg(GMS_NOTICE, "GraphicsNew: Custom graphics (type 0x%02X) sprite block of length %u (unimplemented, ignoring).\n",
 | 
			
		||||
					type, num);
 | 
			
		||||
@@ -3326,6 +3335,7 @@ static void ResetNewGRFData(void)
 | 
			
		||||
	_traininfo_vehicle_width = 29;
 | 
			
		||||
	_have_2cc = false;
 | 
			
		||||
	_signal_base = 0;
 | 
			
		||||
	_coast_base = 0;
 | 
			
		||||
 | 
			
		||||
	InitializeSoundPool();
 | 
			
		||||
	InitializeSpriteGroupPool();
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								newgrf.h
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								newgrf.h
									
									
									
									
									
								
							@@ -61,6 +61,7 @@ typedef struct GRFConfig {
 | 
			
		||||
 | 
			
		||||
extern GRFConfig *_first_grfconfig;
 | 
			
		||||
extern SpriteID _signal_base;
 | 
			
		||||
extern SpriteID _coast_base;
 | 
			
		||||
extern bool _have_2cc;
 | 
			
		||||
 | 
			
		||||
void LoadNewGRF(uint load_index, uint file_index);
 | 
			
		||||
 
 | 
			
		||||
@@ -19,6 +19,7 @@
 | 
			
		||||
#include "vehicle_gui.h"
 | 
			
		||||
#include "train.h"
 | 
			
		||||
#include "water_map.h"
 | 
			
		||||
#include "newgrf.h"
 | 
			
		||||
 | 
			
		||||
const SpriteID _water_shore_sprites[15] = {
 | 
			
		||||
	0,
 | 
			
		||||
@@ -452,7 +453,11 @@ static void DrawTile_Water(TileInfo *ti)
 | 
			
		||||
 | 
			
		||||
		case WATER_COAST:
 | 
			
		||||
			assert(!IsSteepSlope(ti->tileh));
 | 
			
		||||
			if (_coast_base != 0) {
 | 
			
		||||
				DrawGroundSprite(_coast_base + ti->tileh);
 | 
			
		||||
			} else {
 | 
			
		||||
				DrawGroundSprite(_water_shore_sprites[ti->tileh]);
 | 
			
		||||
			}
 | 
			
		||||
			break;
 | 
			
		||||
 | 
			
		||||
		case WATER_LOCK: {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user