(svn r9367) -Fix (r9315): If a new house doesn't have a corresponding action 3, the
graphics for the substitute (original) house should be drawn instead.
This commit is contained in:
		| @@ -1256,6 +1256,7 @@ static bool TownHouseChangeInfo(uint hid, int numinfo, int prop, byte **bufp, in | ||||
| 				housespec[i]->enabled = true; | ||||
| 				housespec[i]->local_id = hid + i; | ||||
| 				housespec[i]->substitute_id = subs_id; | ||||
| 				housespec[i]->grffile = _cur_grffile; | ||||
| 				housespec[i]->random_colour[0] = 0x04;  // those 4 random colours are the base colour | ||||
| 				housespec[i]->random_colour[1] = 0x08;  // for all new houses | ||||
| 				housespec[i]->random_colour[2] = 0x0C;  // they stand for red, blue, orange and green | ||||
| @@ -2316,7 +2317,6 @@ static void FeatureMapSpriteGroup(byte *buf, int len) | ||||
| 			} | ||||
|  | ||||
| 			hs->spritegroup = _cur_grffile->spritegroups[groupid]; | ||||
| 			hs->grffile = _cur_grffile; | ||||
| 		} | ||||
| 		return; | ||||
| 	} | ||||
|   | ||||
| @@ -127,8 +127,15 @@ static void DrawTile_Town(TileInfo *ti) | ||||
| 	HouseID house_id = GetHouseType(ti->tile); | ||||
|  | ||||
| 	if (house_id >= NEW_HOUSE_OFFSET) { | ||||
| 		DrawNewHouseTile(ti, house_id); | ||||
| 		return; | ||||
| 		/* Houses don't necessarily need new graphics. If they don't have a | ||||
| 		 * spritegroup associated with them, then the sprite for the substitute | ||||
| 		 * house id is drawn instead. */ | ||||
| 		if (GetHouseSpecs(house_id)->spritegroup != NULL) { | ||||
| 			DrawNewHouseTile(ti, house_id); | ||||
| 			return; | ||||
| 		} else { | ||||
| 			house_id = GetHouseSpecs(house_id)->substitute_id; | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	/* Retrieve pointer to the draw town tile struct */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 maedhros
					maedhros