mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-16 00:12:51 +00:00
(svn r4724) - Newstations: Add per-tile random data for station tiles.
This commit is contained in:
parent
be5744ae50
commit
530b413612
@ -381,6 +381,7 @@ exit towards: <tt>47</tt> - NE, <tt>48</tt> - SE, <tt>49</tt> - SW, <tt>4A</tt>
|
|||||||
<li>m1: <a href="#OwnershipInfo">owner</a> of the station</li>
|
<li>m1: <a href="#OwnershipInfo">owner</a> of the station</li>
|
||||||
<li>m2: index into the <a href="#_StationArray">array of stations</a></li>
|
<li>m2: index into the <a href="#_StationArray">array of stations</a></li>
|
||||||
<li>m3 bits 0..3: <a href="#TrackType">track type</a> for railway stations, must be 0 for all the other stations</li>
|
<li>m3 bits 0..3: <a href="#TrackType">track type</a> for railway stations, must be 0 for all the other stations</li>
|
||||||
|
<li>m3 bits 4..7: persistent random data for newstations</li>
|
||||||
<li>m4 = custom station id; 0 means standard graphics</li>
|
<li>m4 = custom station id; 0 means standard graphics</li>
|
||||||
</ul>
|
</ul>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
|
@ -145,7 +145,7 @@ the array so you can quickly see what is used and what is not.
|
|||||||
<td class="caption">station</td>
|
<td class="caption">station</td>
|
||||||
<td class="bits">XXXX XXXX</td>
|
<td class="bits">XXXX XXXX</td>
|
||||||
<td class="bits">XXXX XXXX XXXX XXXX</td>
|
<td class="bits">XXXX XXXX XXXX XXXX</td>
|
||||||
<td class="bits"><span class="free">OOOO</span> XXXX</td>
|
<td class="bits">XXXX XXXX</td>
|
||||||
<td class="bits">XXXX XXXX</td>
|
<td class="bits">XXXX XXXX</td>
|
||||||
<td class="bits">XXXX XXXX</td>
|
<td class="bits">XXXX XXXX</td>
|
||||||
<td class="bits">XXXX XXXX</td>
|
<td class="bits">XXXX XXXX</td>
|
||||||
|
@ -1083,6 +1083,7 @@ int32 CmdBuildRailroadStation(TileIndex tile_org, uint32 flags, uint32 p1, uint3
|
|||||||
|
|
||||||
MakeRailStation(tile, st->owner, st->index, axis, *layout_ptr++, GB(p2, 0, 4));
|
MakeRailStation(tile, st->owner, st->index, axis, *layout_ptr++, GB(p2, 0, 4));
|
||||||
SetCustomStationSpecIndex(tile, specindex);
|
SetCustomStationSpecIndex(tile, specindex);
|
||||||
|
SetStationTileRandomBits(tile, GB(Random(), 0, 4));
|
||||||
|
|
||||||
tile += tile_delta;
|
tile += tile_delta;
|
||||||
} while (--w);
|
} while (--w);
|
||||||
|
@ -236,6 +236,18 @@ static inline uint GetCustomStationSpecIndex(TileIndex t)
|
|||||||
return _m[t].m4;
|
return _m[t].m4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline void SetStationTileRandomBits(TileIndex t, byte random_bits)
|
||||||
|
{
|
||||||
|
assert(IsTileType(t, MP_STATION));
|
||||||
|
SB(_m[t].m3, 4, 4, random_bits);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline byte GetStationTileRandomBits(TileIndex t)
|
||||||
|
{
|
||||||
|
assert(IsTileType(t, MP_STATION));
|
||||||
|
return GB(_m[t].m3, 4, 4);
|
||||||
|
}
|
||||||
|
|
||||||
static inline void MakeStation(TileIndex t, Owner o, StationID sid, byte m5)
|
static inline void MakeStation(TileIndex t, Owner o, StationID sid, byte m5)
|
||||||
{
|
{
|
||||||
SetTileType(t, MP_STATION);
|
SetTileType(t, MP_STATION);
|
||||||
|
Loading…
Reference in New Issue
Block a user