Changeset - r3742:a30bdea03972
[Not reviewed]
master
0 4 0
peter1138 - 18 years ago 2006-05-03 21:25:49
peter1138@openttd.org
(svn r4724) - Newstations: Add per-tile random data for station tiles.
4 files changed with 15 insertions and 1 deletions:
0 comments (0 inline, 0 general)
docs/landscape.html
Show inline comments
 
@@ -372,24 +372,25 @@ exit towards: <tt>43</tt> - NE, <tt>44</
 
exit towards: <tt>47</tt> - NE, <tt>48</tt> - SE, <tt>49</tt> - SW, <tt>4A</tt> - NW
 
<tr><td nowrap valign=top><tt>4B</tt> </td><td align=left>oilfield</td></tr>
 
<tr><td nowrap valign=top><tt>4C</tt>..<tt>51</tt>&nbsp; </td><td align=left>ship dock;
 
<tt>4C</tt> - SW coast part, <tt>4D</tt> - NW coast part, <tt>4E</tt> - NE coast part, <tt>4F</tt> - SE coast part, <tt>50</tt> - X direction water part, <tt>51</tt> - Y direction water part
 
<tr><td nowrap valign=top><tt>52</tt> </td><td align=left>buoy</td></tr>
 
</td></tr>
 
<tr><td colspan=2></td></tr> <!-- spacer -->
 
</table>
 
</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>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>
 
</ul>
 
</td></tr>
 

	
 
<tr><td valign=top nowrap><a name="Class6"><tt> 6 </tt></a></td><td>
 
<ul>
 
<li>m5: tile type:
 
<table>
 
<tr><td nowrap valign=top><tt>00</tt>&nbsp; </td><td align=left>water</td></tr>
 
<tr><td nowrap valign=top><tt>01</tt>&nbsp; </td><td align=left>coast or riverbank</td></tr>
 
<tr><td nowrap valign=top><tt>10</tt>..<tt>1B</tt>&nbsp; </td><td align=left>canal locks
 
<table>
docs/landscape_grid.html
Show inline comments
 
@@ -136,25 +136,25 @@ the array so you can quickly see what is
 
      <td class="bits">XXXX XXXX</td>
 
      <td class="bits"><span class="free">OOOO OOOO</span> XXXX XXXX</td>
 
      <td class="bits">XXXX XXXX</td>
 
      <td class="bits">XXXX XX<span class="free">OO</span></td>
 
      <td class="bits">XXXX XXXX</td>
 
      <td class="bits">XX<span class="free">OO O</span>XXX</td>
 
    </tr>
 
    <tr>
 
      <td>5</td>
 
      <td class="caption">station</td>
 
      <td class="bits">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>
 
    </tr>
 
    <tr>
 
      <td>6</td>
 
      <td class="caption">water</td>
 
      <td class="bits">XXXX XXXX</td>
 
      <td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
 
      <td class="bits"><span class="free">OOOO OOOO</span></td>
 
      <td class="bits"><span class="free">OOOO OOOO</span></td>
 
      <td class="bits">XXXX XXXX</td>
station_cmd.c
Show inline comments
 
@@ -1074,24 +1074,25 @@ int32 CmdBuildRailroadStation(TileIndex 
 
		track = (axis == AXIS_X ? TRACK_X : TRACK_Y);
 

	
 
		layout_ptr = alloca(numtracks * plat_len);
 
		GetStationLayout(layout_ptr, numtracks, plat_len, statspec);
 

	
 
		do {
 
			TileIndex tile = tile_org;
 
			int w = plat_len;
 
			do {
 

	
 
				MakeRailStation(tile, st->owner, st->index, axis, *layout_ptr++, GB(p2, 0, 4));
 
				SetCustomStationSpecIndex(tile, specindex);
 
				SetStationTileRandomBits(tile, GB(Random(), 0, 4));
 

	
 
				tile += tile_delta;
 
			} while (--w);
 
			SetSignalsOnBothDir(tile_org, track);
 
			tile_org += tile_delta ^ TileDiffXY(1, 1); // perpendicular to tile_delta
 
		} while (--numtracks);
 

	
 
		UpdateStationVirtCoordDirty(st);
 
		UpdateStationAcceptance(st, false);
 
		InvalidateWindow(WC_STATION_LIST, st->owner);
 
	}
 

	
station_map.h
Show inline comments
 
@@ -227,24 +227,36 @@ static inline bool IsCustomStationSpecIn
 
static inline void SetCustomStationSpecIndex(TileIndex t, byte specindex)
 
{
 
	assert(IsTileType(t, MP_STATION));
 
	_m[t].m4 = specindex;
 
}
 

	
 
static inline uint GetCustomStationSpecIndex(TileIndex t)
 
{
 
	assert(IsTileType(t, MP_STATION));
 
	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)
 
{
 
	SetTileType(t, MP_STATION);
 
	SetTileOwner(t, o);
 
	_m[t].m2 = sid;
 
	_m[t].m3 = 0;
 
	_m[t].m4 = 0;
 
	_m[t].m5 = m5;
 
}
 

	
 
static inline void MakeRailStation(TileIndex t, Owner o, StationID sid, Axis a, byte section, RailType rt)
 
{
0 comments (0 inline, 0 general)