-
Notifications
You must be signed in to change notification settings - Fork 2
/
World.proto
115 lines (86 loc) · 2.83 KB
/
World.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
package World;
option java_package = "org.worldengine.world";
option java_outer_classname = "WorldFile";
message World {
message DoubleRow {
repeated double cells = 1;
}
message BooleanRow {
repeated bool cells = 1;
}
message IntegerRow {
repeated int32 cells = 1;
}
message ByteRow {
repeated int32 cells = 1;
}
message DoubleMatrix {
repeated DoubleRow rows = 1;
}
message BooleanMatrix {
repeated BooleanRow rows = 1;
}
message IntegerMatrix {
repeated IntegerRow rows = 1;
}
message DoubleQuantile {
required int32 key = 1;
required double value = 2;
}
message DoubleMatrixWithQuantiles {
repeated DoubleQuantile quantiles = 1;
repeated DoubleRow rows = 2;
}
message GenerationData {
optional int32 seed = 1;
optional int32 n_plates = 2;
optional float ocean_level = 3;
optional string step = 4;
}
required string name = 1;
required int32 width = 2;
required int32 height = 3;
// Elevation
required DoubleMatrix heightMapData = 4;
required double heightMapTh_sea = 5;
required double heightMapTh_plain = 6;
required double heightMapTh_hill = 7;
// Plates
required IntegerMatrix plates = 30;
// Ocean
required BooleanMatrix ocean = 8;
required DoubleMatrix sea_depth = 29;
// Biome
optional IntegerMatrix biome = 9;
// Humidity
optional DoubleMatrixWithQuantiles humidity = 10;
// Irrigation
optional DoubleMatrix irrigation = 11;
// Permeability
optional DoubleMatrix permeabilityData = 12;
optional double permeability_low = 13;
optional double permeability_med = 14;
// Watermap
optional DoubleMatrix watermapData = 15;
optional double watermap_creek = 16;
optional double watermap_river = 17;
optional double watermap_mainriver = 18;
// Precipitation
optional DoubleMatrix precipitationData = 19;
optional double precipitation_low = 20;
optional double precipitation_med = 21;
// Temperature
optional DoubleMatrix temperatureData = 22;
optional double temperature_polar = 23;
optional double temperature_alpine = 24;
optional double temperature_boreal = 25;
optional double temperature_cool = 26;
optional double temperature_warm = 27;
optional double temperature_subtropical = 28;
// Data about generation:
// introduced in v0.5.3
// this is optional for backward compatibility reasons
optional GenerationData generationData = 31;
optional DoubleMatrix lakemap = 32;
optional DoubleMatrix rivermap = 33;
}