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.
955 lines
11 KiB
C
955 lines
11 KiB
C
/*
|
|
* This file is part of OpenTTD.
|
|
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
|
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
/** @file genland.h Table used to generate deserts and/or rain forests. */
|
|
|
|
#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),
|
|
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(-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(-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(-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(-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(-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(-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(-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(-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(-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(-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, -3),
|
|
M(-6, -3),
|
|
M(-3, 6),
|
|
M(-3, -6),
|
|
M( 6, -2),
|
|
M(-6, -2),
|
|
M(-2, 6),
|
|
M(-2, -6),
|
|
M( 6, -1),
|
|
M(-6, -1),
|
|
M(-1, 6),
|
|
M(-1, -6),
|
|
M( 6, 0),
|
|
M(-6, 0),
|
|
M( 0, 6),
|
|
M( 0, -6),
|
|
M( 6, 1),
|
|
M(-6, 1),
|
|
M( 1, 6),
|
|
M( 1, -6),
|
|
M( 6, 2),
|
|
M(-6, 2),
|
|
M( 2, 6),
|
|
M( 2, -6),
|
|
M( 6, 3),
|
|
M(-6, 3),
|
|
M( 3, 6),
|
|
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
|