Created
February 17, 2018 20:25
-
-
Save coderbot16/543ebf9a9ecc295a972d1857c731aa59 to your computer and use it in GitHub Desktop.
Possible instructions in Empire Earth random map script files
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
pub type UnitRef = u32; | |
pub type ResourceRef = u32; | |
pub type TerrainRef = u32; | |
pub type CliffRef = u32; | |
pub type HerdHandle = u32; | |
pub type ForestHandle = u32; | |
pub type TerrainHandle = u32; | |
pub type Range = (u32, u32); | |
pub enum Instruction { | |
// HERD INSTRUCTIONS | |
RandomHerdPerNeutral(u32), | |
RandomHerdPerPlayer(u32), | |
HerdPerNeutral { handle: HerdHandle, amount: u32 }, | |
HerdPerPlayer { handle: HerdHandle, amount: u32 }, | |
DefineRandomHerdSet(Vec<HerdHandle>), | |
/// Center is relative to player center. | |
DefineHerd { handle: HerdHandle, unit: UnitRef, herdSize: u32, minDistFromCenter: u32, maxDistFromCenter: u32 }, | |
AvailableAnimals(Vec<UnitRef>), | |
// FOREST INSTRUCTIONS | |
AvailableForests(Vec<ForestHandle>), | |
/// Defines a forest with the terrain that should be placed below it, | |
/// and the Units that make up the forest. | |
DefineForest { handle: ForestHandle, terrain: TerrainRef, trees: Vec<UnitRef> }, | |
// TERRAIN INSTRUCTIONS | |
/// Specifies an alternative terrain at different elevation ranges. | |
RandomMapTerrainRange { handle: TerrainHandle, min: i32, max: i32, alternate: TerrainRef }, | |
/// Links a TerrainHandle to a primary terrain. | |
DeclareRandomMapTerrain { handle: TerrainHandle, terrain: TerrainRef }, | |
/// Sets the terrain below a certain resource. | |
ResourceTerrainTexture { resource: ResourceRef, terrain: TerrainRef }, | |
/// Defines a region in percentage for the terrain to be generated. | |
TerrainRegion { min: u32, max: u32, handle: TerrainHandle }, | |
// UNIT PLACE INSTRUCTIONS | |
PlaceUnitInRing,// TODO | |
PlaceWorldUnit,// TODO | |
PlaceWall,// TODO | |
/// Places a unit for the current player, offset from thier center. | |
PlaceUnit { unit: UnitRef, x: f32, y: f32, degrees: f32 }, | |
PlaceWorldUnitInRing { unit: UnitRef, min: u32, max: u32 }, | |
PlaceResourceInRing { resource: ResourceRef, min: u32, max: u32 }, | |
// SPECIAL ATTRIBUTES | |
StringTableId(u32), | |
UseMapGenerator(String), | |
MapCharacteristics(u32), | |
// ATTRIBUTES | |
/// Range: >=0 | |
MinimumStartPositionToMapEdge(u32), | |
InnerPushFromMapCenter(u32), | |
OuterPushFromMapCenter(u32), | |
// SHALLOWS | |
GenerateShallows(bool), | |
/// Range: >=0 | |
MaxShallowConnectionsPerPlayer(u32), | |
/// Range: >0 | |
ShallowsWidth(u32), | |
/// Range: [-10, 20] | |
ShallowsElevation(i32), | |
/// Defines the cliff texture used to paint cliffs. | |
CliffTexture(CliffRef), | |
/// Range: >=0.0 | |
TerrainChaos(f32), | |
/// Range: <true, false> | |
TestingLandDistribution(bool), | |
/// Range: <true, false> | |
FilterHeightMap(bool), | |
/// Range: >0 | |
MaxIterationsClumpGrowth(u32), | |
/// Range: >0 | |
MaxLoopCount(u32), | |
/// Range: >= 1.0 | |
ConvergentThreshold(f32), | |
/// Range: >= 1.0 | |
ConvergentSampleSize(f32), | |
// RESOURCE ATTRIBUTES | |
/// Range: >=0 | |
ResourceToWaterDistance(u32), | |
/// Range: >=0 | |
ResourceToEdgeDistance(u32), | |
/// Range: >=0.0 | |
ResourceSeperation(f32), | |
/// Range: [0<=min<=max] | |
ResourcePlacementLimit { resource: ResourceRef, min: u32, max: u32 }, | |
/// Range: [-10, 20] | |
MaxTreeElevation(i32), | |
/// Range: [-10, 20] | |
MaxResourceElevation(i32), | |
/// Range: >=0 | |
ResourcePerNeutralLand { resource: ResourceRef, amount: u32 }, | |
/// Range: >=0 | |
ResourcePerPlayer { resource: ResourceRef, amount: u32 }, | |
// FOREST ATTRIBUTES | |
/// Range: >0 | |
MaximumTreesPerClump(u32), | |
/// Range: >0 | |
MaxTreeLoopCount(u32), | |
/// Range: >0 | |
MaxClumpsPerForest(u32), | |
/// Range: [0.0, 1.0] | |
ForestChaosLevel(f32), | |
/// Range: >=0 | |
ForestsPerPlayer(u32), | |
/// Range: >=0.0 | |
ForestFreeRadius(f32), | |
// INNER NEUTRAL ZONE ATTRIBUTES | |
/// Range: >0 | |
InnerNeutralFlatClumps(u32), | |
/// Range: [0.0, 1.0] | |
InnerNeutralFlatChaos(f32), | |
/// Range: >0 | |
InnerNeutralLandClumps(u32), | |
/// Range: [0.0, 1.0] | |
InnerNeutralLandChaos(f32), | |
/// Range: [0.0, 1.0] | |
InnerNeutralTreePercentage(f32), | |
/// Range: [0.0, 1.0] | |
InnerNeutralPercentFlat(f32), | |
/// Range: [0.0, 1.0] | |
InnerNeutralPercentLand(f32), | |
/// Range: >=0 | |
NumInnerNeutrals(u32), | |
/// Range: [0.0, 1.0] | |
NeutralInnerRadius(f32), | |
// OUTER NEUTRAL ZONE ATTRIBUTES | |
/// Range: >0 | |
OuterNeutralFlatClumps(u32), | |
/// Range: [0.0, 1.0] | |
OuterNeutralFlatChaos(f32), | |
/// Range: >0 | |
OuterNeutralLandClumps(u32), | |
/// Range: [0.0, 1.0] | |
OuterNeutralLandChaos(f32), | |
/// Range: [0.0, 1.0] | |
OuterNeutralTreePercentage(f32), | |
/// Range: [0.0, 1.0] | |
OuterNeutralPercentFlat(f32), | |
/// Range: [0.0, 1.0] | |
OuterNeutralPercentLand(f32), | |
/// Range: >=0 | |
NumOuterNeutrals(u32), | |
/// Range: [0.0, 1.0] | |
NeutralOuterRadius(f32), | |
// PLAYER ZONE ATTRIBUTES | |
/// Range: >0 | |
PlayerLandClumps(u32), | |
/// Range: [0.0, 1.0] | |
PlayerLandChaos(f32), | |
/// Range: >0 | |
PlayerFlatClumps(u32), | |
/// Range: [0.0, 1.0] | |
PlayerFlatChaos(f32), | |
/// Range: [0.0, 1.0] | |
PlayerTreePercentage(f32), | |
/// Range: [0.0, 1.0] | |
PlayerPercentFlat(f32), | |
/// Range: [0.0, 1.0] | |
PlayerOuterRadius(f32), | |
/// Range: [0.0, 1.0] | |
PlayerInnerRadius(f32), | |
/// Range: 0.0 < angle <= 180.0 | |
MaxAngleBetweenTeamMembers(f32), | |
// MISC ATTRIBUTES | |
/// Range: >=0.0 | |
LandfillPercentage(f32), | |
/// Range: <true, false> | |
TeamGrowth(bool), | |
/// Range: [0.0, 1.0] | |
CoastalToDeeperWaterPercentage(f32), | |
/// Range: >=0 | |
RiverWidth(u32), | |
/// Range: >=0 | |
WaterBorder(u32), | |
/// Range: [-10, 20] | |
LandElevationThreshold(i32), | |
/// Range: [0.0, 1.0] | |
PercentLand(f32), | |
/// Range: >=0.0 | |
HeightMapSmoothness(f32), | |
/// Range: TODO | |
HeightMapChaos(f32), | |
/// Range: TODO | |
ElevationScale(f32), | |
/// The elevation used for 'flat' locations. | |
/// Range: [-10, 20] | |
FlatElevation(i32), | |
/// Initial integer elevation for the heightmap generator. | |
/// Range: [-10, 20] | |
InitialElevation(i32), | |
/// Maximum integer elevation for the heightmap generator. | |
/// Range: [-10, 20] | |
MinIntElevation(i32), | |
/// Minimum integer elevation for the heightmap generator. | |
/// Range: [-10, 20] | |
MaxIntElevation(i32) | |
} | |
pub enum InstructionType { | |
MapCharacteristics, | |
MinimumStartPositionToMapEdge, | |
InnerPushFromMapCenter, | |
OuterPushFromMapCenter, | |
AvailableAnimals, | |
GenerateShallows, | |
MaxShallowConnectionsPerPlayer, | |
ShallowsWidth, | |
ShallowsElevation, | |
StringTableId, | |
UseMapGenerator, | |
PlaceWorldUnitInRing, | |
PlaceUnitInRing, | |
PlaceWorldUnit, | |
PlaceWall, | |
/// Places a unit for the current player, offset from thier center. | |
PlaceUnit, | |
/// Specifies alternative terrains for height ranges. | |
RandomMapTerrainRange, | |
/// Links a TerrainHandle to a TerrainRef. | |
DeclareRandomMapTerrain, | |
/// Defines the cliff texture used to paint cliffs. | |
CliffTexture, | |
TerrainChaos, | |
/// Defines a region in percentage for the terrain to be generated. | |
TerrainRegion, | |
TestingLandDistribution, | |
FilterHeightMap, | |
MaxIterationsClumpGrowth, | |
MaxLoopCount, | |
ConvergentThreshold, | |
ConvergentSampleSize, | |
RandomHerdPerNeutral, | |
RandomHerdPerPlayer, | |
HerdPerNeutral, | |
HerdPerPlayer, | |
DefineRandomHerdSet, | |
DefineHerd, | |
PlaceResourceInRing, | |
ResourceTerrainTexture, | |
ResourceSeperation, | |
ResourcePlacementLimit, | |
MaxTreeElevation, | |
MaxResourceElevation, | |
ResourcePerNeutralLand, | |
ResourcePerPlayer, | |
AvailableForests, | |
DefineForest, | |
MaximumTreesPerClump, | |
MaxTreeLoopCount, | |
ResourceToWaterDistance, | |
ResourceToEdgeDistance, | |
MaxClumpsPerForest, | |
ForestChaosLevel, | |
ForestsPerPlayer, | |
ForestFreeRadius, | |
InnerNeutralFlatClumps, | |
InnerNeutralFlatChaos, | |
InnerNeutralLandClumps, | |
InnerNeutralLandChaos, | |
InnerNeutralTreePercentage, | |
InnerNeutralPercentFlat, | |
InnerNeutralPercentLand, | |
NumInnerNeutrals, | |
OuterNeutralFlatClumps, | |
OuterNeutralFlatChaos, | |
OuterNeutralLandClumps, | |
OuterNeutralLandChaos, | |
OuterNeutralTreePercentage, | |
OuterNeutralPercentFlat, | |
OuterNeutralPercentLand, | |
NumOuterNeutrals, | |
NeutralOuterRadius, | |
NeutralInnerRadius, | |
MaxAngleBetweenTeamMembers, | |
PlayerLandClumps, | |
PlayerLandChaos, | |
PlayerFlatClumps, | |
PlayerFlatChaos, | |
PlayerTreePercentage, | |
PlayerPercentFlat, | |
PlayerOuterRadius, | |
PlayerInnerRadius, | |
LandfillPercentage, | |
TeamGrowth, | |
CoastalToDeeperWaterPercentage, | |
RiverWidth, | |
WaterBorder, | |
LandElevationThreshold,//number.. | |
PercentLand, | |
HeightMapSmoothness, | |
HeightMapChaos, | |
ElevationScale, | |
FlatElevation, | |
/// Initial integer elevation. | |
InitialElevation, | |
/// Maximum integer elevation. | |
MinIntElevation, | |
/// Minimum integer elevation. | |
MaxIntElevation | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment