Allows configuring the width of the coast in tropic maps that generates as tropiczone_normal before the desert kicks in, it does this by creating two additional arrays which house the coordinates to create a filled circle of radius of 19 tiles, and 25 tiles. the default creates a radius of 13 tiles.

I'd eventually like to add an Extra Large setting but manually creating the array of coordinates is horrible.

I wedged this setting in beside the setting for tropic width around rivers despite it not fitting into the rivers/lakes category because it still feels the most relevant place for now.
pull/374/head
reldred 2 years ago
parent 1e1b48323a
commit 22305e8795

@ -1011,13 +1011,37 @@ static void CreateDesertOrRainForest(uint desert_tropic_line)
if (!IsValidTile(tile)) continue;
for (data = _make_desert_or_rainforest_data;
if (_settings_game.game_creation.coast_tropics_width == 0) {
for (data = _make_desert_or_rainforest_data;
data != endof(_make_desert_or_rainforest_data); ++data) {
TileIndex t = AddTileIndexDiffCWrap(tile, *data);
if (t != INVALID_TILE && (TileHeight(t) >= desert_tropic_line || IsTileType(t, MP_WATER))) break;
TileIndex t = AddTileIndexDiffCWrap(tile, *data);
if (t != INVALID_TILE && (TileHeight(t) >= desert_tropic_line || IsTileType(t, MP_WATER))) break;
}
if (data == endof(_make_desert_or_rainforest_data)) {
SetTropicZone(tile, TROPICZONE_DESERT);
}
}
if (data == endof(_make_desert_or_rainforest_data)) {
SetTropicZone(tile, TROPICZONE_DESERT);
if (_settings_game.game_creation.coast_tropics_width == 1) {
for (data = _make_desert_or_rainforest_data_medium;
data != endof(_make_desert_or_rainforest_data_medium); ++data) {
TileIndex t = AddTileIndexDiffCWrap(tile, *data);
if (t != INVALID_TILE && (TileHeight(t) >= desert_tropic_line || IsTileType(t, MP_WATER))) break;
}
if (data == endof(_make_desert_or_rainforest_data_medium)) {
SetTropicZone(tile, TROPICZONE_DESERT);
}
}
if (_settings_game.game_creation.coast_tropics_width == 2) {
for (data = _make_desert_or_rainforest_data_large;
data != endof(_make_desert_or_rainforest_data_large); ++data) {
TileIndex t = AddTileIndexDiffCWrap(tile, *data);
if (t != INVALID_TILE && (TileHeight(t) >= desert_tropic_line || IsTileType(t, MP_WATER))) break;
}
if (data == endof(_make_desert_or_rainforest_data_large)) {
SetTropicZone(tile, TROPICZONE_DESERT);
}
}
}
@ -1032,13 +1056,37 @@ static void CreateDesertOrRainForest(uint desert_tropic_line)
if (!IsValidTile(tile)) continue;
for (data = _make_desert_or_rainforest_data;
if (_settings_game.game_creation.coast_tropics_width == 0) {
for (data = _make_desert_or_rainforest_data;
data != endof(_make_desert_or_rainforest_data); ++data) {
TileIndex t = AddTileIndexDiffCWrap(tile, *data);
if (t != INVALID_TILE && IsTileType(t, MP_CLEAR) && IsClearGround(t, CLEAR_DESERT)) break;
TileIndex t = AddTileIndexDiffCWrap(tile, *data);
if (t != INVALID_TILE && IsTileType(t, MP_CLEAR) && IsClearGround(t, CLEAR_DESERT)) break;
}
if (data == endof(_make_desert_or_rainforest_data)) {
SetTropicZone(tile, TROPICZONE_RAINFOREST);
}
}
if (data == endof(_make_desert_or_rainforest_data)) {
SetTropicZone(tile, TROPICZONE_RAINFOREST);
if (_settings_game.game_creation.coast_tropics_width == 1) {
for (data = _make_desert_or_rainforest_data_medium;
data != endof(_make_desert_or_rainforest_data_medium); ++data) {
TileIndex t = AddTileIndexDiffCWrap(tile, *data);
if (t != INVALID_TILE && IsTileType(t, MP_CLEAR) && IsClearGround(t, CLEAR_DESERT)) break;
}
if (data == endof(_make_desert_or_rainforest_data_medium)) {
SetTropicZone(tile, TROPICZONE_RAINFOREST);
}
}
if (_settings_game.game_creation.coast_tropics_width == 2) {
for (data = _make_desert_or_rainforest_data_large;
data != endof(_make_desert_or_rainforest_data_large); ++data) {
TileIndex t = AddTileIndexDiffCWrap(tile, *data);
if (t != INVALID_TILE && IsTileType(t, MP_CLEAR) && IsClearGround(t, CLEAR_DESERT)) break;
}
if (data == endof(_make_desert_or_rainforest_data_large)) {
SetTropicZone(tile, TROPICZONE_RAINFOREST);
}
}
}
}

@ -1679,6 +1679,12 @@ STR_CONFIG_SETTING_RIVERS_TOP_OF_HILL :Rivers require
STR_CONFIG_SETTING_RIVERS_TOP_OF_HILL_HELPTEXT :Choose whether rivers require their springs to generate towards the top of hills.
STR_CONFIG_SETTING_RIVER_TROPICS_WIDTH :Tropics width around rivers: {STRING}
STR_CONFIG_SETTING_RIVER_TROPICS_WIDTH_HELPTEXT :Controls the width of the tropic zone that surrounds rivers in sub-tropic landscape.
STR_CONFIG_SETTING_COAST_TROPICS_WIDTH :Tropics width around coasts: {STRING}
STR_CONFIG_SETTING_COAST_TROPICS_WIDTH_HELPTEXT :Controls the width of the tropic zone that surrounds coasts in sub-tropic landscape.
###length 3
STR_CONFIG_SETTING_COAST_TROPICS_WIDTH_DEFAULT :Default
STR_CONFIG_SETTING_COAST_TROPICS_WIDTH_MEDIUM :Medium
STR_CONFIG_SETTING_COAST_TROPICS_WIDTH_LARGE :Large
STR_CONFIG_SETTING_LAKE_SIZE :Size of lakes: {STRING}
STR_CONFIG_SETTING_LAKE_SIZE_HELPTEXT :Controls the size of lakes that are generated along rivers.
STR_CONFIG_SETTING_LAKE_SIZE_VALUE :{NUM}

@ -2108,6 +2108,7 @@ static SettingsContainer &GetSettingsTree()
rivers->Add(new SettingEntry("game_creation.river_route_random"));
rivers->Add(new SettingEntry("game_creation.rivers_top_of_hill"));
rivers->Add(new SettingEntry("game_creation.river_tropics_width"));
rivers->Add(new SettingEntry("game_creation.coast_tropics_width"));
rivers->Add(new SettingEntry("game_creation.lake_size"));
rivers->Add(new SettingEntry("game_creation.lakes_allowed_in_deserts"));
}

@ -413,6 +413,7 @@ struct GameCreationSettings {
byte amount_of_rivers; ///< the amount of rivers
bool rivers_top_of_hill; ///< do rivers require starting near the tops of hills?
uint8 river_tropics_width; ///< the configured width of tropics around rivers
uint8 coast_tropics_width; ///< the configured width of tropics around coasts
uint8 lake_size; ///< how large can lakes get?
bool lakes_allowed_in_deserts; ///< are lakes allowed in deserts?
uint8 amount_of_rocks; ///< the amount of rocks

@ -9,6 +9,7 @@
#define M(x, y) {x, y}
// This default array draws a filled circle 13 tiles in diameter
static const TileIndexDiffC _make_desert_or_rainforest_data[] = {
M(-5, -5),
M(-4, -5),
@ -161,6 +162,793 @@ static const TileIndexDiffC _make_desert_or_rainforest_data[] = {
M( 3, -6)
};
// This array draws a filled circle 19 tiles in diameter
static const TileIndexDiffC _make_desert_or_rainforest_data_medium[] = {
M(-3, -9),
M(-2, -9),
M(-1, -9),
M(0, -9),
M(1, -9),
M(2, -9),
M(3, -9),
M(-5, -8),
M(-4, -8),
M(-3, -8),
M(-2, -8),
M(-1, -8),
M(0, -8),
M(1, -8),
M(2, -8),
M(3, -8),
M(4, -8),
M(5, -8),
M(-6, -7),
M(-5, -7),
M(-4, -7),
M(-3, -7),
M(-2, -7),
M(-1, -7),
M(0, -7),
M(1, -7),
M(2, -7),
M(3, -7),
M(4, -7),
M(5, -7),
M(6, -7),
M(-7, -6),
M(-6, -6),
M(-5, -6),
M(-4, -6),
M(-3, -6),
M(-2, -6),
M(-1, -6),
M(0, -6),
M(1, -6),
M(2, -6),
M(3, -6),
M(4, -6),
M(5, -6),
M(6, -6),
M(7, -6),
M(-8, -5),
M(-7, -5),
M(-6, -5),
M(-5, -5),
M(-4, -5),
M(-3, -5),
M(-2, -5),
M(-1, -5),
M(0, -5),
M(1, -5),
M(2, -5),
M(3, -5),
M(4, -5),
M(5, -5),
M(6, -5),
M(7, -5),
M(8, -5),
M(-8, -4),
M(-7, -4),
M(-6, -4),
M(-5, -4),
M(-4, -4),
M(-3, -4),
M(-2, -4),
M(-1, -4),
M(0, -4),
M(1, -4),
M(2, -4),
M(3, -4),
M(4, -4),
M(5, -4),
M(6, -4),
M(7, -4),
M(8, -4),
M(-9, -3),
M(-8, -3),
M(-7, -3),
M(-6, -3),
M(-5, -3),
M(-4, -3),
M(-3, -3),
M(-2, -3),
M(-1, -3),
M(0, -3),
M(1, -3),
M(2, -3),
M(3, -3),
M(4, -3),
M(5, -3),
M(6, -3),
M(7, -3),
M(8, -3),
M(9, -3),
M(-9, -2),
M(-8, -2),
M(-7, -2),
M(-6, -2),
M(-5, -2),
M(-4, -2),
M(-3, -2),
M(-2, -2),
M(-1, -2),
M(0, -2),
M(1, -2),
M(2, -2),
M(3, -2),
M(4, -2),
M(5, -2),
M(6, -2),
M(7, -2),
M(8, -2),
M(9, -2),
M(-9, -1),
M(-8, -1),
M(-7, -1),
M(-6, -1),
M(-5, -1),
M(-4, -1),
M(-3, -1),
M(-2, -1),
M(-1, -1),
M(0, -1),
M(1, -1),
M(2, -1),
M(3, -1),
M(4, -1),
M(5, -1),
M(6, -1),
M(7, -1),
M(8, -1),
M(9, -1),
M(-9, 0),
M(-8, 0),
M(-7, 0),
M(-6, 0),
M(-5, 0),
M(-4, 0),
M(-3, 0),
M(-2, 0),
M(-1, 0),
M(0, 0),
M(1, 0),
M(2, 0),
M(3, 0),
M(4, 0),
M(5, 0),
M(6, 0),
M(7, 0),
M(8, 0),
M(9, 0),
M(-9, 1),
M(-8, 1),
M(-7, 1),
M(-6, 1),
M(-5, 1),
M(-4, 1),
M(-3, 1),
M(-2, 1),
M(-1, 1),
M(0, 1),
M(1, 1),
M(2, 1),
M(3, 1),
M(4, 1),
M(5, 1),
M(6, 1),
M(7, 1),
M(8, 1),
M(9, 1),
M(-9, 2),
M(-8, 2),
M(-7, 2),
M(-6, 2),
M(-5, 2),
M(-4, 2),
M(-3, 2),
M(-2, 2),
M(-1, 2),
M(0, 2),
M(1, 2),
M(2, 2),
M(3, 2),
M(4, 2),
M(5, 2),
M(6, 2),
M(7, 2),
M(8, 2),
M(9, 2),
M(-9, 3),
M(-8, 3),
M(-7, 3),
M(-6, 3),
M(-5, 3),
M(-4, 3),
M(-3, 3),
M(-2, 3),
M(-1, 3),
M(0, 3),
M(1, 3),
M(2, 3),
M(3, 3),
M(4, 3),
M(5, 3),
M(6, 3),
M(7, 3),
M(8, 3),
M(9, 3),
M(-8, 4),
M(-7, 4),
M(-6, 4),
M(-5, 4),
M(-4, 4),
M(-3, 4),
M(-2, 4),
M(-1, 4),
M(0, 4),
M(1, 4),
M(2, 4),
M(3, 4),
M(4, 4),
M(5, 4),
M(6, 4),
M(7, 4),
M(8, 4),
M(-8, 5),
M(-7, 5),
M(-6, 5),
M(-5, 5),
M(-4, 5),
M(-3, 5),
M(-2, 5),
M(-1, 5),
M(0, 5),
M(1, 5),
M(2, 5),
M(3, 5),
M(4, 5),
M(5, 5),
M(6, 5),
M(7, 5),
M(8, 5),
M(-7, 6),
M(-6, 6),
M(-5, 6),
M(-4, 6),
M(-3, 6),
M(-2, 6),
M(-1, 6),
M(0, 6),
M(1, 6),
M(2, 6),
M(3, 6),
M(4, 6),
M(5, 6),
M(6, 6),
M(7, 6),
M(-6, 7),
M(-5, 7),
M(-4, 7),
M(-3, 7),
M(-2, 7),
M(-1, 7),
M(0, 7),
M(1, 7),
M(2, 7),
M(3, 7),
M(4, 7),
M(5, 7),
M(6, 7),
M(-5, 8),
M(-4, 8),
M(-3, 8),
M(-2, 8),
M(-1, 8),
M(0, 8),
M(1, 8),
M(2, 8),
M(3, 8),
M(4, 8),
M(5, 8),
M(-3, 9),
M(-2, 9),
M(-1, 9),
M(0, 9),
M(1, 9),
M(2, 9),
M(3, 9)
};
// This array draws a filled circle 25 tiles in diameter
static const TileIndexDiffC _make_desert_or_rainforest_data_large[] = {
M(-3, -12),
M(-2, -12),
M(-1, -12),
M(0, -12),
M(1, -12),
M(2, -12),
M(3, -12),
M(-5, -11),
M(-4, -11),
M(-3, -11),
M(-2, -11),
M(-1, -11),
M(0, -11),
M(1, -11),
M(2, -11),
M(3, -11),
M(4, -11),
M(5, -11),
M(-7, -10),
M(-6, -10),
M(-5, -10),
M(-4, -10),
M(-3, -10),
M(-2, -10),
M(-1, -10),
M(0, -10),
M(1, -10),
M(2, -10),
M(3, -10),
M(4, -10),
M(5, -10),
M(6, -10),
M(7, -10),
M(-8, -9),
M(-7, -9),
M(-6, -9),
M(-5, -9),
M(-4, -9),
M(-3, -9),
M(-2, -9),
M(-1, -9),
M(0, -9),
M(1, -9),
M(2, -9),
M(3, -9),
M(4, -9),
M(5, -9),
M(6, -9),
M(7, -9),
M(8, -9),
M(-9, -8),
M(-8, -8),
M(-7, -8),
M(-6, -8),
M(-5, -8),
M(-4, -8),
M(-3, -8),
M(-2, -8),
M(-1, -8),
M(0, -8),
M(1, -8),
M(2, -8),
M(3, -8),
M(4, -8),
M(5, -8),
M(6, -8),
M(7, -8),
M(8, -8),
M(9, -8),
M(-10, -7),
M(-9, -7),
M(-8, -7),
M(-7, -7),
M(-6, -7),
M(-5, -7),
M(-4, -7),
M(-3, -7),
M(-2, -7),
M(-1, -7),
M(0, -7),
M(1, -7),
M(2, -7),
M(3, -7),
M(4, -7),
M(5, -7),
M(6, -7),
M(7, -7),
M(8, -7),
M(9, -7),
M(10, -7),
M(-10, -6),
M(-9, -6),
M(-8, -6),
M(-7, -6),
M(-6, -6),
M(-5, -6),
M(-4, -6),
M(-3, -6),
M(-2, -6),
M(-1, -6),
M(0, -6),
M(1, -6),
M(2, -6),
M(3, -6),
M(4, -6),
M(5, -6),
M(6, -6),
M(7, -6),
M(8, -6),
M(9, -6),
M(10, -6),
M(-11, -5),
M(-10, -5),
M(-9, -5),
M(-8, -5),
M(-7, -5),
M(-6, -5),
M(-5, -5),
M(-4, -5),
M(-3, -5),
M(-2, -5),
M(-1, -5),
M(0, -5),
M(1, -5),
M(2, -5),
M(3, -5),
M(4, -5),
M(5, -5),
M(6, -5),
M(7, -5),
M(8, -5),
M(9, -5),
M(10, -5),
M(11, -5),
M(-11, -4),
M(-10, -4),
M(-9, -4),
M(-8, -4),
M(-7, -4),
M(-6, -4),
M(-5, -4),
M(-4, -4),
M(-3, -4),
M(-2, -4),
M(-1, -4),
M(0, -4),
M(1, -4),
M(2, -4),
M(3, -4),
M(4, -4),
M(5, -4),
M(6, -4),
M(7, -4),
M(8, -4),
M(9, -4),
M(10, -4),
M(11, -4),
M(-12, -3),
M(-11, -3),
M(-10, -3),
M(-9, -3),
M(-8, -3),
M(-7, -3),
M(-6, -3),
M(-5, -3),
M(-4, -3),
M(-3, -3),
M(-2, -3),
M(-1, -3),
M(0, -3),
M(1, -3),
M(2, -3),
M(3, -3),
M(4, -3),
M(5, -3),
M(6, -3),
M(7, -3),
M(8, -3),
M(9, -3),
M(10, -3),
M(11, -3),
M(12, -3),
M(-12, -2),
M(-11, -2),
M(-10, -2),
M(-9, -2),
M(-8, -2),
M(-7, -2),
M(-6, -2),
M(-5, -2),
M(-4, -2),
M(-3, -2),
M(-2, -2),
M(-1, -2),
M(0, -2),
M(1, -2),
M(2, -2),
M(3, -2),
M(4, -2),
M(5, -2),
M(6, -2),
M(7, -2),
M(8, -2),
M(9, -2),
M(10, -2),
M(11, -2),
M(12, -2),
M(-12, -1),
M(-11, -1),
M(-10, -1),
M(-9, -1),
M(-8, -1),
M(-7, -1),
M(-6, -1),
M(-5, -1),
M(-4, -1),
M(-3, -1),
M(-2, -1),
M(-1, -1),
M(0, -1),
M(1, -1),
M(2, -1),
M(3, -1),
M(4, -1),
M(5, -1),
M(6, -1),
M(7, -1),
M(8, -1),
M(9, -1),
M(10, -1),
M(11, -1),
M(12, -1),
M(-12, 0),
M(-11, 0),
M(-10, 0),
M(-9, 0),
M(-8, 0),
M(-7, 0),
M(-6, 0),
M(-5, 0),
M(-4, 0),
M(-3, 0),
M(-2, 0),
M(-1, 0),
M(0, 0),
M(1, 0),
M(2, 0),
M(3, 0),
M(4, 0),
M(5, 0),
M(6, 0),
M(7, 0),
M(8, 0),
M(9, 0),
M(10, 0),
M(11, 0),
M(12, 0),
M(-12, 1),
M(-11, 1),
M(-10, 1),
M(-9, 1),
M(-8, 1),
M(-7, 1),
M(-6, 1),
M(-5, 1),
M(-4, 1),
M(-3, 1),
M(-2, 1),
M(-1, 1),
M(0, 1),
M(1, 1),
M(2, 1),
M(3, 1),
M(4, 1),
M(5, 1),
M(6, 1),
M(7, 1),
M(8, 1),
M(9, 1),
M(10, 1),
M(11, 1),
M(12, 1),
M(-12, 2),
M(-11, 2),
M(-10, 2),
M(-9, 2),
M(-8, 2),
M(-7, 2),
M(-6, 2),
M(-5, 2),
M(-4, 2),
M(-3, 2),
M(-2, 2),
M(-1, 2),
M(0, 2),
M(1, 2),
M(2, 2),
M(3, 2),
M(4, 2),
M(5, 2),
M(6, 2),
M(7, 2),
M(8, 2),
M(9, 2),
M(10, 2),
M(11, 2),
M(12, 2),
M(-12, 3),
M(-11, 3),
M(-10, 3),
M(-9, 3),
M(-8, 3),
M(-7, 3),
M(-6, 3),
M(-5, 3),
M(-4, 3),
M(-3, 3),
M(-2, 3),
M(-1, 3),
M(0, 3),
M(1, 3),
M(2, 3),
M(3, 3),
M(4, 3),
M(5, 3),
M(6, 3),
M(7, 3),
M(8, 3),
M(9, 3),
M(10, 3),
M(11, 3),
M(12, 3),
M(-11, 4),
M(-10, 4),
M(-9, 4),
M(-8, 4),
M(-7, 4),
M(-6, 4),
M(-5, 4),
M(-4, 4),
M(-3, 4),
M(-2, 4),
M(-1, 4),
M(0, 4),
M(1, 4),
M(2, 4),
M(3, 4),
M(4, 4),
M(5, 4),
M(6, 4),
M(7, 4),
M(8, 4),
M(9, 4),
M(10, 4),
M(11, 4),
M(-11, 5),
M(-10, 5),
M(-9, 5),
M(-8, 5),
M(-7, 5),
M(-6, 5),
M(-5, 5),
M(-4, 5),
M(-3, 5),
M(-2, 5),
M(-1, 5),
M(0, 5),
M(1, 5),
M(2, 5),
M(3, 5),
M(4, 5),
M(5, 5),
M(6, 5),
M(7, 5),
M(8, 5),
M(9, 5),
M(10, 5),
M(11, 5),
M(-10, 6),
M(-9, 6),
M(-8, 6),
M(-7, 6),
M(-6, 6),
M(-5, 6),
M(-4, 6),
M(-3, 6),
M(-2, 6),
M(-1, 6),
M(0, 6),
M(1, 6),
M(2, 6),
M(3, 6),
M(4, 6),
M(5, 6),
M(6, 6),
M(7, 6),
M(8, 6),
M(9, 6),
M(10, 6),
M(-10, 7),
M(-9, 7),
M(-8, 7),
M(-7, 7),
M(-6, 7),
M(-5, 7),
M(-4, 7),
M(-3, 7),
M(-2, 7),
M(-1, 7),
M(0, 7),
M(1, 7),
M(2, 7),
M(3, 7),
M(4, 7),
M(5, 7),
M(6, 7),
M(7, 7),
M(8, 7),
M(9, 7),
M(10, 7),
M(-9, 8),
M(-8, 8),
M(-7, 8),
M(-6, 8),
M(-5, 8),
M(-4, 8),
M(-3, 8),
M(-2, 8),
M(-1, 8),
M(0, 8),
M(1, 8),
M(2, 8),
M(3, 8),
M(4, 8),
M(5, 8),
M(6, 8),
M(7, 8),
M(8, 8),
M(9, 8),
M(-8, 9),
M(-7, 9),
M(-6, 9),
M(-5, 9),
M(-4, 9),
M(-3, 9),
M(-2, 9),
M(-1, 9),
M(0, 9),
M(1, 9),
M(2, 9),
M(3, 9),
M(4, 9),
M(5, 9),
M(6, 9),
M(7, 9),
M(8, 9),
M(-7, 10),
M(-6, 10),
M(-5, 10),
M(-4, 10),
M(-3, 10),
M(-2, 10),
M(-1, 10),
M(0, 10),
M(1, 10),
M(2, 10),
M(3, 10),
M(4, 10),
M(5, 10),
M(6, 10),
M(7, 10),
M(-5, 11),
M(-4, 11),
M(-3, 11),
M(-2, 11),
M(-1, 11),
M(0, 11),
M(1, 11),
M(2, 11),
M(3, 11),
M(4, 11),
M(5, 11),
M(-3, 12),
M(-2, 12),
M(-1, 12),
M(0, 12),
M(1, 12),
M(2, 12),
M(3, 12),
};
#undef M

@ -3890,6 +3890,20 @@ strval = STR_JUST_COMMA
cat = SC_BASIC
patxname = ""rivers.game_creation.river_tropics_width""
[SDT_VAR]
var = game_creation.coast_tropics_width
type = SLE_UINT8
flags = SF_GUI_DROPDOWN | SF_NEWGAME_ONLY
def = 0
min = 0
max = 2
interval = 1
str = STR_CONFIG_SETTING_COAST_TROPICS_WIDTH
strhelp = STR_CONFIG_SETTING_COAST_TROPICS_WIDTH_HELPTEXT
strval = STR_CONFIG_SETTING_COAST_TROPICS_WIDTH_DEFAULT
cat = SC_BASIC
patxname = ""rivers.game_creation.coast_tropics_width""
[SDT_VAR]
var = game_creation.lake_size
type = SLE_UINT8

Loading…
Cancel
Save