Loading

Paste #ptf7q2i3m

  1. Index: src/table/build_industry.h
  2. ===================================================================
  3. --- src/table/build_industry.h  (revision 27136)
  4. +++ src/table/build_industry.h  (working copy)
  5. @@ -254,7 +254,6 @@
  6.     MK(1, 0, 26),
  7.     MK(1, 1, 27),
  8.     MK(1, 2, 28),
  9. -   MK(-4, -5, 255),
  10.     MK(-4, -4, 255),
  11.     MK(-4, -3, 255),
  12.     MK(-4, -2, 255),
  13. @@ -265,9 +264,10 @@
  14.     MK(-4, 3, 255),
  15.     MK(-4, 4, 255),
  16.     MK(-4, 5, 255),
  17. -   MK(-3, 5, 255),
  18. -   MK(-2, 5, 255),
  19. -   MK(-1, 5, 255),
  20. +   MK(-4, 6, 255),
  21. +   MK(-3, 6, 255),
  22. +   MK(-2, 6, 255),
  23. +   MK(-1, 6, 255),
  24.     MK(0, 6, 255),
  25.     MK(1, 6, 255),
  26.     MK(2, 6, 255),
  27. @@ -289,9 +289,9 @@
  28.     MK(2, -4, 255),
  29.     MK(1, -4, 255),
  30.     MK(0, -4, 255),
  31. -   MK(-1, -5, 255),
  32. -   MK(-2, -5, 255),
  33. -   MK(-3, -5, 255),
  34. +   MK(-1, -4, 255),
  35. +   MK(-2, -4, 255),
  36. +   MK(-3, -4, 255),
  37.     MK(2, 0, 255),
  38.     MKEND
  39.  };
  40. Index: src/newgrf.cpp
  41. ===================================================================
  42. --- src/newgrf.cpp  (revision 27136)
  43. +++ src/newgrf.cpp  (working copy)
  44. @@ -3471,6 +3471,15 @@
  45.                             } else if (itt[k].gfx == 0xFF) {
  46.                                 itt[k].ti.x = (int8)GB(itt[k].ti.x, 0, 8);
  47.                                 itt[k].ti.y = (int8)GB(itt[k].ti.y, 0, 8);
  48. +
  49. +                               /* When there were only 256x256 maps, TileIndex was a uint16 and
  50. +                                * itt[k].ti was just a TileIndexDiff that was added to it.
  51. +                                * As such negative "x" values were shifted into the "y" position.
  52. +                                *   x = -1, y = 1 -> x = 255, y = 0
  53. +                                * Since GRF version 8 the position is interpreted as pair of independent int8.
  54. +                                * For GRF version < 8 we need to emulate the old shifting behaviour.
  55. +                                */
  56. +                               if (_cur.grffile->grf_version < 8 && itt[k].ti.x < 0) itt[k].ti.y += 1;
  57.                             }
  58.                         }
  59.  
  60.  

Comments