These definitions are fine. Although i already have some info covered in my internal structures, some not.

TERRAIN_ID - yes, terrain_id is requiredINT_NAME_LENGTH - lenghts for strings are never required, can be calculated from stringsINT_NAME - this is not required (one name is enough)GAME_NAME_LENGTH - not requiredGAME_NAME - yes, it's terrain_nameTERRAIN_GRAPHIC_ID - not required, the same as terrain_idTERRAIN_SOUND_ID - later discussionMINIMAP_COLOR - yes!MINIMAP_SHADE_FRONT_COLOR - why this? and how this?MINIMAP_SHADE_BACK_COLOR - -||- TERRAIN_UNITS_AMOUNT - once again, cactus is not a UNIT and terrain objects don't need to be tied to terrain type, they will be considered individual objectsTERRAIN_UNIT_ID - -||-TERRAIN_UNIT_DENSITY_% - -||- but we can later discuss how these can be generated

To the Terrain Restrictions Data:I thinks this data can be attached to the terrain data.

RESTRICTION_ID - this will be the same as terrain_idAMOUNT_OF_TERRAINS - what is this?TERRAIN_ALLOW_ACCESS - yesTERRAIN_ALLOW_BUILD - yesTRAIL_GRAPHICS_AMOUNTTRAIL_GRAPHIC_UNIT_IDTRAIL_GRAPHIC_ID - the last three must be reworked

Maybe my explanation of the terrain restrictions were not 100% complete, sorry

Terrain restrictions theirselves can absolutely not be linked directly to a terrain because terrain restrictions have different properties for the same terrain, linking the restriction data to the terrain itself would lead to 1 terrain restrictionTho you can link the graphics to the terrain id if you specify the graphic id for each assigned unit ID

I will explain the terrain structure purpose on a simple example with just 3 different terrains.

Terrains List:1 = Grass 12 = Desert3 = Water 1

Note: Build also means being able to place the object on that type of land in the editorRestrictions List: RESTRICTION_ID = 1 (This will be for Infantry)AMOUNT_OF_TERRAINS = 3TERRAIN_1_ALLOW_ACCESS = YESTERRAIN_1_ALLOW_BUILD = YESTERRAIN_2_ALLOW_ACCESS = YESTERRAIN_2_ALLOW_BUILD = YESTERRAIN_3_ALLOW_ACCESS = NOTERRAIN_3_ALLOW_BUILD = NO

And if you assign a restriction ID to a object, it will have all rules declared in the restriction.This will save aload of data because restrictions have only to be written once and will only be linked to with a number.I suggest you also add the graphical info to these restrictions because they also have to be written once and will automatically apply if the unit ID got the correct restriction ID assigned.

One question: There are 26 terrains altogether. But AoK claims it has around 40 terrain types because they consider for example an Oak Forest a terrain type too (but basically it's only Leaf Terrain + Oak Tree on it). Do you think this setup has some advantages?