mirror of https://github.com/OpenTTD/OpenTTD
(svn r8052) - Codechange: RemoveFirstTrack() and RemoveFirstTrackdir() now accept pointer to TrackBits/TrackdirBits instead of reference.
parent
318cfab2a1
commit
dbe11fb9c7
|
@ -628,7 +628,7 @@ static void NPFFollowTrack(AyStar* aystar, OpenListNode* current)
|
||||||
i = 0;
|
i = 0;
|
||||||
/* Enumerate possible track */
|
/* Enumerate possible track */
|
||||||
while (trackdirbits != 0) {
|
while (trackdirbits != 0) {
|
||||||
Trackdir dst_trackdir = RemoveFirstTrackdir(trackdirbits);
|
Trackdir dst_trackdir = RemoveFirstTrackdir(&trackdirbits);
|
||||||
DEBUG(npf, 5, "Expanded into trackdir: %d, remaining trackdirs: 0x%X", dst_trackdir, trackdirbits);
|
DEBUG(npf, 5, "Expanded into trackdir: %d, remaining trackdirs: 0x%X", dst_trackdir, trackdirbits);
|
||||||
|
|
||||||
/* Check for oneway signal against us */
|
/* Check for oneway signal against us */
|
||||||
|
|
|
@ -910,7 +910,7 @@ start_at:
|
||||||
continue; /* We overflowed our depth. No more searching in this direction. */
|
continue; /* We overflowed our depth. No more searching in this direction. */
|
||||||
si.tile = tile;
|
si.tile = tile;
|
||||||
while (bits != TRACK_BIT_NONE) {
|
while (bits != TRACK_BIT_NONE) {
|
||||||
Track track = RemoveFirstTrack(bits);
|
Track track = RemoveFirstTrack(&bits);
|
||||||
si.track = _new_trackdir[track][direction];
|
si.track = _new_trackdir[track][direction];
|
||||||
assert(si.track != 0xFF);
|
assert(si.track != 0xFF);
|
||||||
si.priority = si.cur_length + estimation;
|
si.priority = si.cur_length + estimation;
|
||||||
|
|
16
src/rail.h
16
src/rail.h
|
@ -250,11 +250,11 @@ static inline TrackdirBits TrackdirToTrackdirBits(Trackdir trackdir) { return (T
|
||||||
/**
|
/**
|
||||||
* Removes first Track from TrackBits and returns it
|
* Removes first Track from TrackBits and returns it
|
||||||
*/
|
*/
|
||||||
static inline Track RemoveFirstTrack(TrackBits &tracks)
|
static inline Track RemoveFirstTrack(TrackBits *tracks)
|
||||||
{
|
{
|
||||||
if (tracks != TRACK_BIT_NONE && tracks != INVALID_TRACK_BIT) {
|
if (*tracks != TRACK_BIT_NONE && *tracks != INVALID_TRACK_BIT) {
|
||||||
Track first = (Track)FIND_FIRST_BIT(tracks);
|
Track first = (Track)FIND_FIRST_BIT(*tracks);
|
||||||
tracks = ClrBitT(tracks, first);
|
*tracks = ClrBitT(*tracks, first);
|
||||||
return first;
|
return first;
|
||||||
}
|
}
|
||||||
return INVALID_TRACK;
|
return INVALID_TRACK;
|
||||||
|
@ -263,11 +263,11 @@ static inline Track RemoveFirstTrack(TrackBits &tracks)
|
||||||
/**
|
/**
|
||||||
* Removes first Trackdir from TrackdirBits and returns it
|
* Removes first Trackdir from TrackdirBits and returns it
|
||||||
*/
|
*/
|
||||||
static inline Trackdir RemoveFirstTrackdir(TrackdirBits &trackdirs)
|
static inline Trackdir RemoveFirstTrackdir(TrackdirBits *trackdirs)
|
||||||
{
|
{
|
||||||
if (trackdirs != TRACKDIR_BIT_NONE && trackdirs != INVALID_TRACKDIR_BIT) {
|
if (*trackdirs != TRACKDIR_BIT_NONE && *trackdirs != INVALID_TRACKDIR_BIT) {
|
||||||
Trackdir first = (Trackdir)FindFirstBit2x64(trackdirs);
|
Trackdir first = (Trackdir)FindFirstBit2x64(*trackdirs);
|
||||||
trackdirs = ClrBitT(trackdirs, first);
|
*trackdirs = ClrBitT(*trackdirs, first);
|
||||||
return first;
|
return first;
|
||||||
}
|
}
|
||||||
return INVALID_TRACKDIR;
|
return INVALID_TRACKDIR;
|
||||||
|
|
|
@ -860,7 +860,7 @@ static int32 DoConvertRail(TileIndex tile, RailType totype, bool exec)
|
||||||
// notify YAPF about the track layout change
|
// notify YAPF about the track layout change
|
||||||
TrackBits tracks = GetTrackBits(tile);
|
TrackBits tracks = GetTrackBits(tile);
|
||||||
while (tracks != TRACK_BIT_NONE) {
|
while (tracks != TRACK_BIT_NONE) {
|
||||||
YapfNotifyTrackLayoutChange(tile, RemoveFirstTrack(tracks));
|
YapfNotifyTrackLayoutChange(tile, RemoveFirstTrack(&tracks));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IsTileDepotType(tile, TRANSPORT_RAIL)) {
|
if (IsTileDepotType(tile, TRANSPORT_RAIL)) {
|
||||||
|
@ -988,7 +988,7 @@ static int32 ClearTile_Track(TileIndex tile, byte flags)
|
||||||
case RAIL_TILE_NORMAL: {
|
case RAIL_TILE_NORMAL: {
|
||||||
TrackBits tracks = GetTrackBits(tile);
|
TrackBits tracks = GetTrackBits(tile);
|
||||||
while (tracks != TRACK_BIT_NONE) {
|
while (tracks != TRACK_BIT_NONE) {
|
||||||
Track track = RemoveFirstTrack(tracks);
|
Track track = RemoveFirstTrack(&tracks);
|
||||||
ret = DoCommand(tile, 0, track, flags, CMD_REMOVE_SINGLE_RAIL);
|
ret = DoCommand(tile, 0, track, flags, CMD_REMOVE_SINGLE_RAIL);
|
||||||
if (CmdFailed(ret)) return CMD_ERROR;
|
if (CmdFailed(ret)) return CMD_ERROR;
|
||||||
cost += ret;
|
cost += ret;
|
||||||
|
|
|
@ -468,7 +468,7 @@ static uint FindShipTrack(Vehicle *v, TileIndex tile, DiagDirection dir, TrackBi
|
||||||
best_track = INVALID_TRACK;
|
best_track = INVALID_TRACK;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
i = RemoveFirstTrack(bits);
|
i = RemoveFirstTrack(&bits);
|
||||||
|
|
||||||
pfs.best_bird_dist = (uint)-1;
|
pfs.best_bird_dist = (uint)-1;
|
||||||
pfs.best_length = (uint)-1;
|
pfs.best_length = (uint)-1;
|
||||||
|
|
Loading…
Reference in New Issue