Buildings

New building ids, used in operations that create new buildings, are represented by the following enum:

#![allow(unused)]
fn main() {
pub enum NewBuildingId {
    Well = 0x28,
    Tower = 0x29, // Cannon, Bombard; Gate, Port
    HousePoor = 0x2a,
    PitchShoot = 0x2f,
    HouseWealthy = 0x50,
    HouseRich = 0x51,
    FarmGrain = 0x53,
    FarmHemp = 0x54,
    FarmSheep = 0x55,
    FarmCattle = 0x56,
    FishermansHouse = 0x57,
    Brewery = 0x58,
    Apiary = 0x59,
    WeavingMill = 0x5a,
    Workshop = 0x5b,
    Vineyard = 0x5c,
    HuntingLodge = 0x5d,
    Saltworks = 0x5e,
    IronSmelter = 0x60,
    Pitchmaker = 0x61,
    Brickworks = 0x62,
    Pottery = 0x63,
    Sawmill = 0x64,
    Hospital = 0x65,
    Warehouse = 0x66,
    Mint = 0x67,
    School = 0x68,
    Chapel = 0x69,
}
}

At 0x672fbf is a table that maps building ids to new building ids:

BuildingIdNewBuildingId
0x000x2c
0x010x1b
0x020x0b
0x030x08
0x04HuntingLodge
0x05FishermansHouse
0x06Brewery
0x07Workshop
0x08Apiary
0x09FarmGrain
0x0aFarmCattle
0x0bSawmill
0x0cWeavingMill
0x0dSaltworks
0x0eIronSmelter
0x0fFarmSheep
0x10Vineyard
0x11Pottery
0x12Brickworks
0x13Pitchmaker
0x14FarmHemp
0x15HouseRich
0x16HouseRich
0x17HouseRich
0x18HouseWealthy
0x19HouseWealthy
0x1aHouseWealthy
0x1bHousePoor
0x1cHousePoor
0x1dHousePoor
0x1eWarehouse
0x1f0x04
0x200x03
0x210x0b
0x220x07
0x230x00
0x240x02
0x250x05
0x260x09
0x270x33
0x280x52
0x29Hospital
0x2aMint
0x2bSchool
0x2cChapel
0x2d0x37
0x2e0x01
0x2f0x5f
0x30Tower
0x31Tower
0x32Tower
0x33Tower
0x34PitchShoot
0x35PitchShoot