Action 3 assigns graphics sets (referenced to by (chains of) action 2(s) to feature IDs.
The format of the data is feature-dependent, canals use specific ids which define the graphics being provided.
The data is:
<Sprite-number> * <Length> 03 05 01 <id> 00 <set-ID>
|<Sprite-number>||dec||A sequential sprite number|
|<length>||dec||The total number of bytes used in this action|
|03||B||Defines action 03|
|05||B||Feature 05 "Canals"|
|01||B||Canals and rivers can only provide one "ID" at a time|
|<id>||B/B*||IDs of the current feature this action 3 associates graphics with. There must be as many IDs as <n-id> specifies|
|00||B||Canals support no cargo types|
|<set-ID>||W||Default set-ID to use if none of the above matches|
This is just the number you are at.
Count the number of bytes in this action.
This sets the type of feature that you wish to change, 05 for canals in this case
In the case of canals or rivers this differs by the type of sprites provided in the real sprite:
|ID||Description||Sprites||Sprites when prop. 09 Bit 0 is set|
|00||Canal water||0.6 2.5||4 slope sprites||1.1 2.6||1 flat ground sprite followed by 4 slope sprites|
|05||River water||0.6 2.6||4 slope sprites||1.1 2.6||1 flat ground sprite followed by 4 slope sprites|
|06||Riverbanks||0.6 2.6||12*5 (Last 4 for slopes)||undefined|
Dikes (Canals) (02)
River slopes (05)
if the bit is set, the sprites are preceeded by a flat water tile which then represents the water used exclusively for rivers.
This contains 5 times sprites as shown for id2 (dikes). The first 12 sprites are for level land, the following ones are for sloped rivers where slopes follow the same order as for id5 (river slopes).
This contains the buoy sprite without water to be shown on the map. This will be overlaid on the appropriate water for the tile.
set-ID (or Action2 ID)