I have an array of 2D tiles representing ground top-down. The ground is made of primary and secondary textures (for example, grass and mud) and transitions between these two. Now, the ground is generated into the array by clearing all cells with the primary texture (for example, the number '0'), and then the secondary texture is added randomly (as the number '1'). After this, the array looks something like this:
0 0 0 0 0 1 0 0
1 1 0 0 1 0 0 1
0 0 1 0 1 0 1 1
0 0 0 1 0 0 1 1
1 1 1 1 1 0 0 0
etc...
Now, the transitions are the problem here. For each '1', I want the surrounding cells to be corresponding numbers for the correct transition. For example, if there is a horizontal line like 0, 0, 1, 0, 0, and '2' would represent left-to-right transition from 0 to 1, and '3' would represent the right-to-left transition from 0 to 1, then the resulting horizontal line would become 0, 2, 1, 3, 0. In one dimension, it only takes two neighbors to each side to check all the possible combinations, but in two dimensions, there's a 5x5 grid of cells to check for each '1'. I haven't found any articles related to this, and hard-coding all the possible combinations of tiles seems a bit tedious. Any help and tips would be appreciated.
Oh, and the textures and transitions I have in use are:
0 - Primary ground
1 - Secondary ground
2 - Left to right (from 0 to 1 from now on)
3 - Right to left
4 - Up to down
5 - Down to up
6, 7, 8, 9 - All the corners with primary as major part
10, 11, 12, 13 - All the corners with secondary as major part