Files
@ r8781:bd977c904a17
Branch filter:
Location: cpp/openttd-patchpack/source/src/signs.h - annotation
r8781:bd977c904a17
1.6 KiB
text/x-c
(svn r12482) -Fix: [build train] we don't need to have a depot in order to just check the price of a rail vehicle so don't check for compatible rails on the tile either
also wagons will only need tracks they can drive on in order to be build so there is no reason to check for power in the depot
also wagons will only need tracks they can drive on in order to be build so there is no reason to check for power in the depot
r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r6420:01087f989fd1 r6420:01087f989fd1 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r8772:fb76508ac3ff r7384:aaaa0c017200 r7384:aaaa0c017200 r7384:aaaa0c017200 r7384:aaaa0c017200 r8258:08100da56269 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5587:034e5e185dc2 r5475:3f5cd13d1b63 r7384:aaaa0c017200 r7384:aaaa0c017200 r7384:aaaa0c017200 r8258:08100da56269 r7384:aaaa0c017200 r7384:aaaa0c017200 r7384:aaaa0c017200 r7384:aaaa0c017200 r8258:08100da56269 r6248:b940b09d7ab8 r5475:3f5cd13d1b63 r7295:df856415e8c1 r7295:df856415e8c1 r7295:df856415e8c1 r7295:df856415e8c1 r7295:df856415e8c1 r7295:df856415e8c1 r5475:3f5cd13d1b63 r6247:96e840dbefcc r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r6247:96e840dbefcc r5475:3f5cd13d1b63 r7295:df856415e8c1 r7295:df856415e8c1 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r7384:aaaa0c017200 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r7384:aaaa0c017200 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r8268:4e9851bbf247 r5475:3f5cd13d1b63 r6247:96e840dbefcc r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r7127:9394e882dc36 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r6247:96e840dbefcc r5751:9b4f4afbf71b r5475:3f5cd13d1b63 | /* $Id$ */
/** @file signs.h */
#ifndef SIGNS_H
#define SIGNS_H
#include "oldpool.h"
typedef uint16 SignID;
struct Sign;
DECLARE_OLD_POOL(Sign, Sign, 2, 16000)
struct Sign : PoolItem<Sign, SignID, &_Sign_pool> {
char *name;
ViewportSign sign;
int32 x;
int32 y;
byte z;
PlayerByte owner; // placed by this player. Anyone can delete them though. OWNER_NONE for gray signs from old games.
/**
* Creates a new sign
*/
Sign(PlayerID owner = INVALID_PLAYER);
/** Destroy the sign */
~Sign();
inline bool IsValid() const { return this->owner != INVALID_PLAYER; }
};
enum {
INVALID_SIGN = 0xFFFF,
};
extern SignID _new_sign_id;
static inline SignID GetMaxSignIndex()
{
/* TODO - This isn't the real content of the function, but
* with the new pool-system this will be replaced with one that
* _really_ returns the highest index. Now it just returns
* the next safe value we are sure about everything is below.
*/
return GetSignPoolSize() - 1;
}
static inline uint GetNumSigns()
{
extern uint _total_signs;
return _total_signs;
}
static inline bool IsValidSignID(uint index)
{
return index < GetSignPoolSize() && GetSign(index)->IsValid();
}
#define FOR_ALL_SIGNS_FROM(ss, start) for (ss = GetSign(start); ss != NULL; ss = (ss->index + 1U < GetSignPoolSize()) ? GetSign(ss->index + 1U) : NULL) if (ss->IsValid())
#define FOR_ALL_SIGNS(ss) FOR_ALL_SIGNS_FROM(ss, 0)
extern bool _sign_sort_dirty;
void UpdateAllSignVirtCoords();
void PlaceProc_Sign(TileIndex tile);
/* signs_gui.cpp */
void ShowRenameSignWindow(const Sign *si);
void ShowSignList();
#endif /* SIGNS_H */
|