# HG changeset patch
# User belugas
# Date 1168481113 0
# Node ID 9ce114e1d90d55779ed7e7a80645263d5ef3e8ba
# Parent 55f4c68b76166ce07e42c5d068732b2332fb2bfa
(svn r8050) -Codechange: Rename map member extra to m6, since its usage has been widden.
Only doc landscape_grid.html has been updated, landscape.html will be done latter.
-CodeChange: Replace a direct access to m6 with SetTropicZone in InitializeLandscape, as it is the only part of m6 still untouched without the brute-forced m6=0
diff -r 55f4c68b7616 -r 9ce114e1d90d docs/landscape_grid.html
--- a/docs/landscape_grid.html Thu Jan 11 01:21:55 2007 +0000
+++ b/docs/landscape_grid.html Thu Jan 11 02:05:13 2007 +0000
@@ -16,7 +16,7 @@
Landscape
-Five attributes hold the information about a tile.
+Six attributes hold the information about a tile.
This can be seen in the Landscape document. This page tries to give an overview of used and free bits of
the array so you can quickly see what is used and what is not.
@@ -32,22 +32,25 @@
- m3 - 8 bits in size, is used for general storage
- m4 - 8 bits in size, is used for general storage
- m5 - 8 bits in size, is used for general storage
+ - m6 - 8 bits in size, special meaning : lower 2 bits only valid in tropic climate, upper 2 bits for bridges
class |
+ type_height (8) |
m1 (8) |
m2 (16) |
m3 (8) |
m4 (8) |
- type_height (8) |
m5 (8) |
+ m6 (8) |
bits |
7654 3210 |
+ 7654 3210 |
FEDC BA98 7654 3210 |
7654 3210 |
7654 3210 |
@@ -58,129 +61,143 @@
0 |
ground |
XXXX XXXX |
+ XXXX XXXX |
OOOO OOOO OOOO OOOO |
OOOO OOOO |
XXXX XXOO |
XXXX XXXX |
- XXXX XXXX |
+ XXOO OOXX |
farmland |
-inherit- |
+ -inherit- |
XXXX XXXX XXXX XXXX |
OOOO XXXX |
-inherit- |
- -inherit- |
OOOX XXXX |
+ XXOO OOXX |
1 |
rail |
XXXX XXXX |
+ XXXX XXXX |
OOOO OOOO XXXX XXXX |
XXXX XXXX |
OOOO OXXX |
XXXX XXXX |
- XXXX XXXX |
+ XXOO OOXX |
depot |
-inherit- |
+ -inherit- |
OOOO OOOO OOOO OOOO |
OOOO XXXX |
OOOO XXXX |
- -inherit- |
XXOO OXXX |
+ XXOO OOXX |
waypoint |
-inherit- |
+ -inherit- |
XXXX XXXX XXXX XXXX |
OOOO XXXX |
OOOO XXXX |
- -inherit- |
XXOO OXXX |
+ XXOO OOXX |
2 |
road |
XXXX XXXX |
+ XXXX XXXX |
XXXX XXXX XXXX XXXX |
OOOO OOOO |
XXXX XXXX |
XXXX XXXX |
- XXXX XXXX |
+ XXOO OOXX |
level crossing |
-inherit- |
-inherit- |
+ -inherit- |
XXXX XXXX |
XXXX XXXX |
- -inherit- |
XXXX XXOO |
+ XXOO OOXX |
road depot |
-inherit- |
+ -inherit- |
OOOO OOOO OOOO OOOO |
OOOO OOOO |
XOOO OOOO |
- -inherit- |
XXXX XXXX |
+ XXOO OOXX |
3 |
town |
+ XXXX XXXX |
XXXX XXXX |
XXXX XXXX XXXX XXXX |
XXOO OOOO |
XXXX XXXX |
- XXXX XXXX |
XOXX XXXX |
+ OOOO OOXX |
4 |
trees |
XXXX XXXX |
+ XXXX XXXX |
OOOO OOOO XXXX XXXX |
XXXX XXXX |
XXXX XXOO |
- XXXX XXXX |
XXOO OXXX |
+ OOOO OOXX |
5 |
station |
XXXX XXXX |
+ XXXX XXXX |
XXXX XXXX XXXX XXXX |
XXXX XXXX |
XXXX XXXX |
XXXX XXXX |
- XXXX XXXX |
+ OOOO OOXX |
6 |
water |
XXXX XXXX |
+ XXXX XXXX |
OOOO OOOO OOOO OOOO |
OOOO OOOO |
OOOO OOOO |
- XXXX XXXX |
- XXXX XXXX |
+ OOOO OOXX |
+ XXOO OOXX |
8 |
industry |
+ XXXX XXXX |
XOOX XXXX |
XXXX XXXX XXXX XXXX |
OOOO OOOO |
OOOO OOOO |
XXXX XXXX |
- XXXX XXXX |
+ OOOO OOXX |
- bubble/sugar/toffee, gold/copper/coal, oil wells, power station |
+ bubble/sugar/toffee, gold/copper/coal, oil wells, power station |
+ -inherit- |
XOOO OOOO |
-inherit- |
XXXX XXXX |
@@ -190,6 +207,7 @@
toy factory |
+ -inherit- |
XOOO OOOO |
-inherit- |
XXXX XXXX |
@@ -199,32 +217,35 @@
9 |
- tunnel |
+ tunnel entrance |
+ XXXX XXXX |
XXXX XXXX |
OOOO OOOO OOOO OOOO |
OOOO XXXX |
XOOO OOOO |
- XXXX XXXX |
XOOO XXXX |
+ XXOO OOXX |
bridge ramp |
XXXX XXXX |
+ XXXX XXXX |
OOOO OOOO XXXX OOOO |
OOOO XXXX |
XOOO OOOO |
- XXXX XXXX |
XOOO XXXX |
+ XXOO OOXX |
A |
- various (HQ) |
+ unmovables |
+ XXXX XXXX |
XXXX XXXX |
OOOO OOOO OOOO OOOO |
OOOO OOOO |
OOOO OOOO |
XXXX XXXX |
- XXXX XXXX |
+ XXOO OOXX |
diff -r 55f4c68b7616 -r 9ce114e1d90d src/bridge_map.h
--- a/src/bridge_map.h Thu Jan 11 01:21:55 2007 +0000
+++ b/src/bridge_map.h Thu Jan 11 02:05:13 2007 +0000
@@ -41,7 +41,7 @@
static inline bool IsBridgeAbove(TileIndex t)
{
assert(MayHaveBridgeAbove(t));
- return GB(_m[t].extra, 6, 2) != 0;
+ return GB(_m[t].m6, 6, 2) != 0;
}
@@ -70,7 +70,7 @@
static inline Axis GetBridgeAxis(TileIndex t)
{
assert(IsBridgeAbove(t));
- return (Axis)(GB(_m[t].extra, 6, 2) - 1);
+ return (Axis)(GB(_m[t].m6, 6, 2) - 1);
}
@@ -121,7 +121,7 @@
static inline void ClearSingleBridgeMiddle(TileIndex t, Axis a)
{
assert(MayHaveBridgeAbove(t));
- CLRBIT(_m[t].extra, 6 + a);
+ CLRBIT(_m[t].m6, 6 + a);
}
@@ -134,7 +134,7 @@
static inline void SetBridgeMiddle(TileIndex t, Axis a)
{
assert(MayHaveBridgeAbove(t));
- SETBIT(_m[t].extra, 6 + a);
+ SETBIT(_m[t].m6, 6 + a);
}
diff -r 55f4c68b7616 -r 9ce114e1d90d src/clear_map.h
--- a/src/clear_map.h Thu Jan 11 01:21:55 2007 +0000
+++ b/src/clear_map.h Thu Jan 11 02:05:13 2007 +0000
@@ -126,7 +126,7 @@
{
/* If this is a non-bridgeable tile, clear the bridge bits while the rest
* of the tile information is still here. */
- if (!MayHaveBridgeAbove(t)) SB(_m[t].extra, 6, 2, 0);
+ if (!MayHaveBridgeAbove(t)) SB(_m[t].m6, 6, 2, 0);
SetTileType(t, MP_CLEAR);
SetTileOwner(t, OWNER_NONE);
@@ -134,7 +134,7 @@
_m[t].m3 = 0;
_m[t].m4 = 0 << 5 | 0 << 2;
SetClearGroundDensity(t, g, density);
- SB(_m[t].extra, 2, 4, 0);
+ SB(_m[t].m6, 2, 4, 0); ///< Clear the rest of m6, bits 2 to 5
}
diff -r 55f4c68b7616 -r 9ce114e1d90d src/landscape.cpp
--- a/src/landscape.cpp Thu Jan 11 01:21:55 2007 +0000
+++ b/src/landscape.cpp Thu Jan 11 02:05:13 2007 +0000
@@ -415,7 +415,7 @@
for (x = 0; x < maxx; x++) {
MakeClear(sizex * y + x, CLEAR_GRASS, 3);
SetTileHeight(sizex * y + x, 0);
- _m[sizex * y + x].extra = 0;
+ SetTropicZone(sizex * y + x, TROPICZONE_INVALID);
ClearBridgeMiddle(sizex * y + x);
}
MakeVoid(sizex * y + x);
diff -r 55f4c68b7616 -r 9ce114e1d90d src/map.h
--- a/src/map.h Thu Jan 11 01:21:55 2007 +0000
+++ b/src/map.h Thu Jan 11 02:05:13 2007 +0000
@@ -23,7 +23,7 @@
byte m3;
byte m4;
byte m5;
- byte extra;
+ byte m6;
} Tile;
extern Tile* _m;
diff -r 55f4c68b7616 -r 9ce114e1d90d src/misc.cpp
--- a/src/misc.cpp Thu Jan 11 01:21:55 2007 +0000
+++ b/src/misc.cpp Thu Jan 11 02:05:13 2007 +0000
@@ -546,8 +546,9 @@
}
}
-static void Load_MAPE(void)
+static void Load_MAP6(void)
{
+ /* Still available for loading old games */
uint size = MapSize();
uint i;
@@ -558,10 +559,10 @@
SlArray(buf, lengthof(buf), SLE_UINT8);
for (j = 0; j != lengthof(buf); j++) {
- _m[i++].extra = GB(buf[j], 0, 2);
- _m[i++].extra = GB(buf[j], 2, 2);
- _m[i++].extra = GB(buf[j], 4, 2);
- _m[i++].extra = GB(buf[j], 6, 2);
+ _m[i++].m6 = GB(buf[j], 0, 2);
+ _m[i++].m6 = GB(buf[j], 2, 2);
+ _m[i++].m6 = GB(buf[j], 4, 2);
+ _m[i++].m6 = GB(buf[j], 6, 2);
}
}
} else {
@@ -570,12 +571,12 @@
uint j;
SlArray(buf, lengthof(buf), SLE_UINT8);
- for (j = 0; j != lengthof(buf); j++) _m[i++].extra = buf[j];
+ for (j = 0; j != lengthof(buf); j++) _m[i++].m6 = buf[j];
}
}
}
-static void Save_MAPE(void)
+static void Save_MAP6(void)
{
uint size = MapSize();
uint i;
@@ -585,7 +586,7 @@
uint8 buf[4096];
uint j;
- for (j = 0; j != lengthof(buf); j++) buf[j] = _m[i++].extra;
+ for (j = 0; j != lengthof(buf); j++) buf[j] = _m[i++].m6;
SlArray(buf, lengthof(buf), SLE_UINT8);
}
}
@@ -625,7 +626,7 @@
{ 'M3LO', Save_MAP3, Load_MAP3, CH_RIFF },
{ 'M3HI', Save_MAP4, Load_MAP4, CH_RIFF },
{ 'MAP5', Save_MAP5, Load_MAP5, CH_RIFF },
- { 'MAPE', Save_MAPE, Load_MAPE, CH_RIFF },
+ { 'MAPE', Save_MAP6, Load_MAP6, CH_RIFF },
{ 'NAME', Save_NAME, Load_NAME, CH_ARRAY},
{ 'DATE', SaveLoad_DATE, SaveLoad_DATE, CH_RIFF},
diff -r 55f4c68b7616 -r 9ce114e1d90d src/misc_gui.cpp
--- a/src/misc_gui.cpp Thu Jan 11 01:21:55 2007 +0000
+++ b/src/misc_gui.cpp Thu Jan 11 02:05:13 2007 +0000
@@ -183,7 +183,7 @@
DEBUG(misc, LANDINFOD_LEVEL, "m3 = %#x", _m[tile].m3);
DEBUG(misc, LANDINFOD_LEVEL, "m4 = %#x", _m[tile].m4);
DEBUG(misc, LANDINFOD_LEVEL, "m5 = %#x", _m[tile].m5);
- DEBUG(misc, LANDINFOD_LEVEL, "extra = %#x", _m[tile].extra);
+ DEBUG(misc, LANDINFOD_LEVEL, "m6 = %#x", _m[tile].m6);
#undef LANDINFOD_LEVEL
}
diff -r 55f4c68b7616 -r 9ce114e1d90d src/oldloader.cpp
--- a/src/oldloader.cpp Thu Jan 11 01:21:55 2007 +0000
+++ b/src/oldloader.cpp Thu Jan 11 02:05:13 2007 +0000
@@ -1344,10 +1344,10 @@
}
for (i = 0; i < OLD_MAP_SIZE / 4; i++) {
byte b = ReadByte(ls);
- _m[i * 4 + 0].extra = GB(b, 0, 2);
- _m[i * 4 + 1].extra = GB(b, 2, 2);
- _m[i * 4 + 2].extra = GB(b, 4, 2);
- _m[i * 4 + 3].extra = GB(b, 6, 2);
+ _m[i * 4 + 0].m6 = GB(b, 0, 2);
+ _m[i * 4 + 1].m6 = GB(b, 2, 2);
+ _m[i * 4 + 2].m6 = GB(b, 4, 2);
+ _m[i * 4 + 3].m6 = GB(b, 6, 2);
}
return !ls->failed;
diff -r 55f4c68b7616 -r 9ce114e1d90d src/tile.h
--- a/src/tile.h Thu Jan 11 01:21:55 2007 +0000
+++ b/src/tile.h Thu Jan 11 02:05:13 2007 +0000
@@ -105,7 +105,7 @@
static inline void SetTropicZone(TileIndex tile, TropicZone type)
{
assert(tile < MapSize());
- SB(_m[tile].extra, 0, 2, type);
+ SB(_m[tile].m6, 0, 2, type);
}
/**
@@ -117,6 +117,6 @@
static inline TropicZone GetTropicZone(TileIndex tile)
{
assert(tile < MapSize());
- return (TropicZone)GB(_m[tile].extra, 0, 2);
+ return (TropicZone)GB(_m[tile].m6, 0, 2);
}
#endif /* TILE_H */
diff -r 55f4c68b7616 -r 9ce114e1d90d src/void_map.h
--- a/src/void_map.h Thu Jan 11 01:21:55 2007 +0000
+++ b/src/void_map.h Thu Jan 11 02:05:13 2007 +0000
@@ -12,7 +12,7 @@
_m[t].m3 = 0;
_m[t].m4 = 0;
_m[t].m5 = 0;
- _m[t].extra = 0;
+ _m[t].m6 = 0;
}
#endif /* VOID_MAP_H */