From 8ee1faca6c8b4dbb13962c132fd9544dfee42ffa Mon Sep 17 00:00:00 2001 From: belugas Date: Mon, 31 Dec 2007 04:38:11 +0000 Subject: [PATCH] (svn r11726) -Feature[newGRF]: Extend the Action 5, feature 0D usage. Patch by BigBB --- bin/data/openttdd.grf | Bin 380550 -> 410084 bytes bin/data/openttdw.grf | Bin 380710 -> 410244 bytes src/newgrf.cpp | 53 +++++++++++++++++++++++++++++++-------- src/newgrf.h | 6 ++--- src/table/files.h | 4 +-- src/table/sprites.h | 17 ++++--------- src/table/station_land.h | 8 +++--- src/water_cmd.cpp | 36 ++++++++------------------ 8 files changed, 66 insertions(+), 58 deletions(-) diff --git a/bin/data/openttdd.grf b/bin/data/openttdd.grf index 62357d88269de9629eaa0ddbd76fbdfcdabe3d3f..b50c143a55f4c56f7abd609daa77a4407b162701 100644 GIT binary patch delta 29825 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 yK^kZi)8~%q=d&FUA+&cg7Y Ob!rF0_PIM)-8%u@$Ps-2 diff --git a/bin/data/openttdw.grf b/bin/data/openttdw.grf index 325062d024e5dd071687de86bac80fa00a611b08..415d4964d34fedcc01e4ebd46382c67082c5385e 100644 GIT binary patch delta 29825 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 R%LbZA5$)K%&Xu*I69Bxz%Pjx^ delta 58 zcmZo^m0UJYoS%i^KLY~;0~^DC_PLBqjEzFALX53KOszu9TZLGxUu<6)%^Dla&cg7Y Ob!rF0cAlNA6`cUbh7hp; diff --git a/src/newgrf.cpp b/src/newgrf.cpp index 431f7464a7..cacc675968 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -59,7 +59,6 @@ static int _skip_sprites; // XXX static uint _file_index; // XXX -SpriteID _coast_base; static GRFFile *_cur_grffile; GRFFile *_first_grffile; @@ -3355,12 +3354,47 @@ static void GraphicsNew(byte *buf, int len) /* case 0x0C: // Snowy temperate trees. Not yet used by OTTD. */ case 0x0D: // Coast graphics - if (num != 16) { - grfmsg(1, "GraphicsNew: Coast graphics sprite count must be 16, skipping"); - return; + switch (num) { + case 10: + if (!_cur_grffile->is_ottdfile) { + grfmsg(2, "GraphicsNew: feature is reserved only for OpenTTD, skipping"); + return; + } + + /* openttd(d/w).grf missing shore sprites and initialisation of SPR_SHORE_BASE */ + LoadNextSprite( SPR_SHORE_BASE + 0, _file_index, _nfo_line++); // SLOPE_STEEP_S + DupSprite( 4063, SPR_SHORE_BASE + 1 ); // SLOPE_W + DupSprite( 4064, SPR_SHORE_BASE + 2 ); // SLOPE_S + DupSprite( 4068, SPR_SHORE_BASE + 3 ); // SLOPE_SW + DupSprite( 4062, SPR_SHORE_BASE + 4 ); // SLOPE_E + LoadNextSprite( SPR_SHORE_BASE + 5, _file_index, _nfo_line++); // SLOPE_STEEP_W + DupSprite( 4066, SPR_SHORE_BASE + 6 ); // SLOPE_SE + LoadNextSprite( SPR_SHORE_BASE + 7, _file_index, _nfo_line++); // SLOPE_WSE + DupSprite( 4065, SPR_SHORE_BASE + 8 ); // SLOPE_N + DupSprite( 4069, SPR_SHORE_BASE + 9 ); // SLOPE_NW + LoadNextSprite( SPR_SHORE_BASE + 10, _file_index, _nfo_line++); // SLOPE_STEEP_N + LoadNextSprite( SPR_SHORE_BASE + 11, _file_index, _nfo_line++); // SLOPE_NWS + DupSprite( 4067, SPR_SHORE_BASE + 12 ); // SLOPE_NE + LoadNextSprite( SPR_SHORE_BASE + 13, _file_index, _nfo_line++); // SLOPE_ENW + LoadNextSprite( SPR_SHORE_BASE + 14, _file_index, _nfo_line++); // SLOPE_SEN + LoadNextSprite( SPR_SHORE_BASE + 15, _file_index, _nfo_line++); // SLOPE_STEEP_E + LoadNextSprite( SPR_SHORE_BASE + 16, _file_index, _nfo_line++); // SLOPE_EW + LoadNextSprite( SPR_SHORE_BASE + 17, _file_index, _nfo_line++); // SLOPE_NS + + grfmsg(2, "GraphicsNew: Loading all standard shore sprites"); + break; + + case 16: + case 18: + /* 'normal' newWater newGRF */ + replace = SPR_SHORE_BASE; + break; + + default: + /* no valid shore sprite count */ + grfmsg(1, "GraphicsNew: Shore graphics sprite count must be 10, 16 or 18, skipping"); + return; } - _coast_base = _cur_spriteid; - _loaded_newgrf_features.has_newwater = true; break; /* case 0x0E: // New Signals. Not yet used by OTTD. */ @@ -5083,8 +5117,6 @@ static void ResetNewGRFData() _loaded_newgrf_features.has_2CC = false; _loaded_newgrf_features.has_newhouses = false; _loaded_newgrf_features.has_newindustries = false; - _loaded_newgrf_features.has_newwater = false; - _coast_base = 0; InitializeSoundPool(); InitializeSpriteGroupPool(); @@ -5473,7 +5505,7 @@ static void DecodeSpecialSprite(uint num, GrfLoadingStage stage) } -void LoadNewGRFFile(GRFConfig *config, uint file_index, GrfLoadingStage stage) +void LoadNewGRFFile(GRFConfig *config, uint file_index, GrfLoadingStage stage, bool ottd_grf) { const char *filename = config->filename; uint16 num; @@ -5492,6 +5524,7 @@ void LoadNewGRFFile(GRFConfig *config, uint file_index, GrfLoadingStage stage) if (_cur_grffile == NULL) error("File '%s' lost in cache.\n", filename); if (stage == GLS_RESERVE && config->status != GCS_INITIALISED) return; if (stage == GLS_ACTIVATION && !HasBit(config->flags, GCF_RESERVED)) return; + _cur_grffile->is_ottdfile = ottd_grf; } if (file_index > LAST_GRF_SLOT) { @@ -5634,7 +5667,7 @@ void LoadNewGRF(uint load_index, uint file_index) if (!FioCheckFileExists(c->filename)) error("NewGRF file is missing '%s'", c->filename); if (stage == GLS_LABELSCAN) InitNewGRFFile(c, _cur_spriteid); - LoadNewGRFFile(c, slot++, stage); + LoadNewGRFFile(c, slot++, stage, true); if (stage == GLS_RESERVE) { SetBit(c->flags, GCF_RESERVED); } else if (stage == GLS_ACTIVATION) { diff --git a/src/newgrf.h b/src/newgrf.h index 283b35ec80..54b5c99c96 100644 --- a/src/newgrf.h +++ b/src/newgrf.h @@ -41,6 +41,7 @@ struct GRFLabel { struct GRFFile { char *filename; + bool is_ottdfile; uint32 grfid; uint16 sprite_offset; byte grf_version; @@ -84,19 +85,16 @@ struct GRFFile { extern GRFFile *_first_grffile; -extern SpriteID _coast_base; - struct GRFLoadedFeatures { bool has_2CC; ///< Set if any vehicle is loaded which uses 2cc (two company colours). bool has_newhouses; ///< Set if there are any newhouses loaded. bool has_newindustries; ///< Set if there are any newindustries loaded. - bool has_newwater; ///< Set it there are any newwater grf loaded }; /* Indicates which are the newgrf features currently loaded ingame */ extern GRFLoadedFeatures _loaded_newgrf_features; -void LoadNewGRFFile(GRFConfig *config, uint file_index, GrfLoadingStage stage); +void LoadNewGRFFile(GRFConfig *config, uint file_index, GrfLoadingStage stage, bool ottd_grf = false); void LoadNewGRF(uint load_index, uint file_index); void ReloadNewGRFData(); // in openttd.cpp diff --git a/src/table/files.h b/src/table/files.h index 79ee01b0b5..615029b6eb 100644 --- a/src/table/files.h +++ b/src/table/files.h @@ -34,7 +34,7 @@ static FileList files_dos = { }, { "SAMPLE.CAT", {0x42, 0x2e, 0xa3, 0xdd, 0x07, 0x4d, 0x28, 0x59, 0xbb, 0x51, 0x63, 0x9a, 0x6e, 0x0e, 0x85, 0xda} }, { "CHARS.GRF", {0x5f, 0x2e, 0xbf, 0x05, 0xb6, 0x12, 0x65, 0x81, 0xd2, 0x10, 0xa9, 0x19, 0x62, 0x41, 0x70, 0x64} }, - { "OPENTTDD.GRF", {0x60, 0xfe, 0xc1, 0xc7, 0x66, 0xe7, 0x59, 0xff, 0x1b, 0x6c, 0xc4, 0x5f, 0xe6, 0x6b, 0x8c, 0x91} } + { "OPENTTDD.GRF", {0x9a, 0x26, 0xc9, 0xd1, 0xa2, 0x39, 0xb8, 0xaa, 0x57, 0xac, 0x0f, 0xf0, 0xe4, 0x4b, 0x37, 0xb2} } }; static FileList files_win = { @@ -48,5 +48,5 @@ static FileList files_win = { }, { "SAMPLE.CAT", {0x92, 0x12, 0xe8, 0x1e, 0x72, 0xba, 0xdd, 0x4b, 0xbe, 0x1e, 0xae, 0xae, 0x66, 0x45, 0x8e, 0x10} }, { "CHARS.GRF", {0x5f, 0x2e, 0xbf, 0x05, 0xb6, 0x12, 0x65, 0x81, 0xd2, 0x10, 0xa9, 0x19, 0x62, 0x41, 0x70, 0x64} }, - { "OPENTTDW.GRF", {0x85, 0xb7, 0xd0, 0xa6, 0xc3, 0x86, 0x44, 0x03, 0xa1, 0x25, 0xa5, 0xbb, 0x50, 0x75, 0xa0, 0xa1} } + { "OPENTTDW.GRF", {0xa1, 0x9c, 0xaa, 0xfc, 0x6b, 0xd2, 0x09, 0xc3, 0xd4, 0x84, 0x33, 0x43, 0x3f, 0xd1, 0xbd, 0xd5} } }; diff --git a/src/table/sprites.h b/src/table/sprites.h index 16fc900d74..e906383a81 100644 --- a/src/table/sprites.h +++ b/src/table/sprites.h @@ -141,7 +141,11 @@ enum Sprites { SPR_2CCMAP_BASE = SPR_ELRAIL_BASE + ELRAIL_SPRITE_COUNT, TWOCCMAP_SPRITE_COUNT = 256, - SPR_AIRPORTX_BASE = SPR_2CCMAP_BASE + TWOCCMAP_SPRITE_COUNT, // The sprites used for other airport angles + /* shore tiles - action 05-0D */ + SPR_SHORE_BASE = SPR_2CCMAP_BASE + TWOCCMAP_SPRITE_COUNT, + SPR_SHORE_SPRITE_COUNT = 18, + + SPR_AIRPORTX_BASE = SPR_SHORE_BASE + SPR_SHORE_SPRITE_COUNT, // The sprites used for other airport angles SPR_NEWAIRPORT_TARMAC = SPR_AIRPORTX_BASE, SPR_NSRUNWAY1 = SPR_AIRPORTX_BASE + 1, SPR_NSRUNWAY2 = SPR_AIRPORTX_BASE + 2, @@ -553,17 +557,6 @@ enum Sprites { SPR_FARMLAND_STATE_7 = 4259, SPR_FARMLAND_HAYPACKS = 4278, - /* Shores */ - SPR_NO_SHORE = 0, //used for tileh which have no shore - SPR_SHORE_TILEH_4 = 4062, // SLOPE_E - SPR_SHORE_TILEH_1 = 4063, // SLOPE_W - SPR_SHORE_TILEH_2 = 4064, // SLOPE_S - SPR_SHORE_TILEH_8 = 4065, // SLOPE_N - SPR_SHORE_TILEH_6 = 4066, // SLOPE_SE - SPR_SHORE_TILEH_12 = 4067, // SLOPE_NE - SPR_SHORE_TILEH_3 = 4068, // SLOPE_SW - SPR_SHORE_TILEH_9 = 4069, // SLOPE_NW - /* Water-related sprites */ SPR_SHIP_DEPOT_SE_FRONT = 4070, SPR_SHIP_DEPOT_SW_FRONT = 4071, diff --git a/src/table/station_land.h b/src/table/station_land.h index 6f955daf37..61700bf283 100644 --- a/src/table/station_land.h +++ b/src/table/station_land.h @@ -1168,10 +1168,10 @@ static const DrawTileSprites _station_display_datas_oilrig[] = { }; static const DrawTileSprites _station_display_datas_dock[] = { - { SPR_SHORE_TILEH_3, PAL_NONE, _station_display_datas_76 }, - { SPR_SHORE_TILEH_9, PAL_NONE, _station_display_datas_77 }, - { SPR_SHORE_TILEH_12, PAL_NONE, _station_display_datas_78 }, - { SPR_SHORE_TILEH_6, PAL_NONE, _station_display_datas_79 }, + { SPR_SHORE_BASE + SLOPE_SW, PAL_NONE, _station_display_datas_76 }, + { SPR_SHORE_BASE + SLOPE_NW, PAL_NONE, _station_display_datas_77 }, + { SPR_SHORE_BASE + SLOPE_NE, PAL_NONE, _station_display_datas_78 }, + { SPR_SHORE_BASE + SLOPE_SE, PAL_NONE, _station_display_datas_79 }, { SPR_FLAT_WATER_TILE, PAL_NONE, _station_display_datas_80 }, { SPR_FLAT_WATER_TILE, PAL_NONE, _station_display_datas_81 }, }; diff --git a/src/water_cmd.cpp b/src/water_cmd.cpp index 78aa37cc48..86cd583eca 100644 --- a/src/water_cmd.cpp +++ b/src/water_cmd.cpp @@ -33,25 +33,6 @@ #include "vehicle_func.h" #include "sound_func.h" -/** Array for the shore sprites */ -static const SpriteID _water_shore_sprites[] = { - 0, - SPR_SHORE_TILEH_1, // SLOPE_W - SPR_SHORE_TILEH_2, // SLOPE_S - SPR_SHORE_TILEH_3, // SLOPE_SW - SPR_SHORE_TILEH_4, // SLOPE_E - 0, - SPR_SHORE_TILEH_6, // SLOPE_SE - 0, - SPR_SHORE_TILEH_8, // SLOPE_N - SPR_SHORE_TILEH_9, // SLOPE_NW - 0, - 0, - SPR_SHORE_TILEH_12, // SLOPE_NE - 0, - 0 -}; - static Vehicle *FindFloodableVehicleOnTile(TileIndex tile); static void FloodVehicle(Vehicle *v); @@ -513,15 +494,18 @@ static void DrawTile_Water(TileInfo *ti) DrawBridgeMiddle(ti); break; - case WATER_TILE_COAST: + case WATER_TILE_COAST: { + /* Converts the enum Slope into an offset based on SPR_SHORE_BASE. + * This allows to calculate the proper sprite to display for this Slope */ + static const byte tileh_to_shoresprite[32] = { + 0, 1, 2, 3, 4, 16, 6, 7, 8, 9, 17, 11, 12, 13, 14, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 10, 15, 0, + }; + assert(!IsSteepSlope(ti->tileh)); - if (_loaded_newgrf_features.has_newwater) { - DrawGroundSprite(_coast_base + ti->tileh, PAL_NONE); - } else { - DrawGroundSprite(_water_shore_sprites[ti->tileh], PAL_NONE); - } + DrawGroundSprite(SPR_SHORE_BASE + tileh_to_shoresprite[ti->tileh], PAL_NONE); DrawBridgeMiddle(ti); - break; + } break; case WATER_TILE_LOCK: { const WaterDrawTileStruct *t = _shiplift_display_seq[GetSection(ti->tile)];