|
Post by sparrowhawk on Jun 16, 2004 8:28:57 GMT
OK chaps and chappesses. I'm running out of time for coding MU, so I'm putting out a plea to all of you coders out there to try to help MU development by fixing this bug for me. Think of the fame, fortune and my gratitude. OK, 1 out of 3 ain't bad.
Here are the cuplrits. First, the array that holds the terrain data and sizes:
//Midnight Terrain Data
//Define terrain types, names and sizes (armies are defined as terrain for display purposes) //Terrain type, preposition, filename prefix, // pixel width & heights for all 8 sizes from 0 (largest) up to 7 (smallest)
$terrainData = array( " " => array("Plains", "on" ,"", 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), "A" => array("Army", "n/a" ,"", 103,35,72,25,51,18,45,16,34,12,26,9,21,7,17,6), "C" => array("Citadel", "within" ,"", 125,74,89,52,63,38,56,33,43,24,31,18,24,15,18,12), "D" => array("Downs", "on" ,"", 128,22,90,16,63,12,57,11,43,9,33,7,25,6,21,4), "E" => array("Lake", "by" ,"", 110,11,77,8,55,6,48,5,36,4,26,3,19,2,16,1), "F" => array("Forest", "within" ,"", 128,41,90,29,65,21,58,19,43,15,32,12,25,10,20,8), "H" => array("Henge", "within" ,"", 73,23,51,16,36,12,32,11,24,9,18,7,15,6,11,5), "K" => array("Keep", "within" ,"", 53,34,38,24,27,17,24,15,16,12,13,9,9,6,6,5), "L" => array("Lith", "by" ,"", 121,49,85,35,61,25,54,22,41,17,31,13,25,11,20,9), "M" => array("Mountains", "amongst" ,"", 128,78,90,55,64,39,56,35,43,26,33,20,26,16,21,13), "N" => array("Cavern", "inside" ,"", 92,20,65,14,45,10,40,9,30,7,22,6,18,5,14,3), "R" => array("Ruins", "amongst" ,"", 87,34,61,24,44,17,39,15,29,12,22,9,18,7,14,6), "S" => array("Snowhall", "inside" ,"", 33,18,21,13,16,10,14,9,11,6,9,5,8,4,7,3), "T" => array("Tower", "by" ,"", 53,78,37,55,26,40,23,35,17,27,13,21,10,17,8,14), "V" => array("Village", "within" ,"", 83,19,58,14,41,10,36,9,27,7,21,6,17,4,14,3), "Z" => array("Frozen", "in" ,"", 128,35,90,25,64,18,57,16,43,12,33,9,26,7,21,6));
Next, the North view offsets:
// N View data // Size, MapRow, MapColumn, PixelY, PixelX
//Size 0 is nearest, Size 7 is farthest away //THE ORDER MUST BE PRESERVED (ie size 7 down to 1, and within each, furthest row defined first, nearest defined last) //OTHERWISE DISPLAY WILL BE INCORRECT
$offsetViewData = array(
//Size 7 array(7, -6, -2, 99, 77), array(7, -6, -1, 99, 97), array(7, -6, 0, 99, 118), array(7, -6, 1, 99, 139), array(7, -6, 2, 99, 159), array(7, -5, -4, 99, 32), array(7, -5, -3, 100, 49), array(7, -5, 3, 100, 187), array(7, -5, 4, 99, 204), array(7, -4, -5, 99, 4), array(7, -4, -4, 100, 18), array(7, -4, 4, 100, 218), array(7, -4, 5, 99, 232), array(7, -3, -5, 100, -13), array(7, -3, 5, 100, 248),
//Size 6 array(6, -5, -2, 97, 67), array(6, -5, -1, 97, 90), array(6, -5, 0, 98, 115), array(6, -5, 1, 97, 140), array(6, -5, 2, 97, 163), array(6, -4, -3, 98, 33), array(6, -4, -2, 98, 56), array(6, -4, 2, 98, 174), array(6, -4, 3, 98, 197), array(6, -3, -4, 98, -3), array(6, -3, 4, 98, 233),
//Size 5 array(5, -4, -1, 95, 81), array(5, -4, 0, 96, 112), array(5, -4, 1, 95, 143), array(5, -3, -3, 95, 12), array(5, -3, -2, 97, 37), array(5, -3, 2, 97, 187), array(5, -3, 3, 95, 212), array(5, -2, -3, 97, -13), array(5, -2, 3, 97, 237),
//Size 4 array(4, -3, -1, 92, 66), array(4, -3, 0, 93, 107), array(4, -3, 1, 92, 148), array(4, -2, -2, 93, 7), array(4, -2, 2, 93, 207),
//Size 3 array(3, -2, -1, 88, 41), array(3, -2, 1, 88, 159), array(3, -1, -2, 88, -41), array(3, -1, 2, 88, 241),
//Size 2 array(2, -2, 0, 86, 96),
//Size 1 array(1, -1, -1, 78, -17), array(1, -1, 1, 78, 183),
//Size 0 array(0, -1, 0, 66, 64),
);
Now NE view offsets:
// NE View Data // Size, MapRow, MapColumn, PixelY, PixelX
//Size 0 is nearest, Size 7 is farthest away //THE ORDER MUST BE PRESERVED (ie size 7 down to 1, and within each, furthest row defined first, nearest defined last) //OTHERWISE DISPLAY WILL BE INCORRECT
$offsetViewData = array(
//Size 7 array(7, -6, 2, 99, 59), array(7, -6, 1, 99, 39), array(7, -6, 0, 99, 18), array(7, -6, -1, 99, -3), array(7, -5, 4, 99, 104), array(7, -5, 3, 100, 87), array(7, -4, 5, 99, 132), array(7, -4, 4, 100, 118), array(7, -3, 5, 100, 149), array(7, -2, 6, 99, 177), array(7, -1, 6, 99, 197), array(7, 0, 6, 99, 218), array(7, 1, 6, 99, 239),
//Size 6 array(6, -5, -1, 97, -10), array(6, -5, 0, 98, 15), array(6, -5, 1, 97, 40), array(6, -5, 2, 97, 63), array(6, -4, 3, 98, 97), array(6, -4, 2, 98, 74), array(6, -3, 4, 98, 133), array(6, -2, 5, 97, 167), array(6, -2, 4, 98, 156), array(6, -1, 5, 97, 190), array(6, 0, 5, 98, 215), array(6, 1, 5, 97, 241),
//Size 5 array(5, -4, 0, 96, 12), array(5, -4, 1, 95, 43), array(5, -4, -1, 95, -19), array(5, -3, 2, 97, 87), array(5, -3, 3, 95, 112), array(5, -2, 3, 97, 137), array(5, -1, 4, 95, 181), array(5, 0, 4, 96, 212), array(5, 1, 4, 95, 243),
//Size 4 array(4, -3, -1, 92, -34), array(4, -3, 0, 93, 7), array(4, -3, 1, 92, 48), array(4, -2, 2, 93, 107), array(4, -1, 3, 92, 166), array(4, 0, 3, 93, 207), array(4, 1, 3, 92, 248),
//Size 3 array(3, -2, 1, 88, 59), array(3, -1, 2, 88, 141),
//Size 2 array(2, -2, 0, 86, -4), array(2, 0, 2, 86, 196),
//Size 1 array(1, -1, 1, 78, 83),
//Size 0 array(0, -1, 0, 66, -36,), array(0, 0, 1, 66, 164)
);
The N and NE views are rotated so that they are used for all the other views. If necessary I can provide the rotation script, but if that were broken then we would have noticed by now!
The arrays within arrays are PHP's way of implementing multi-dimensional arrays, BTW.
Many thanks in advance for any help.
|
|