(svn r2046) -Codechange: moved all waypoint code to waypoint.c/waypoint.h

-Codechange: rewrote some functions while moving waypoint-stuff
-Add: added support for 64k waypoints
-Fix: made the waypoint struct a bit more logic (no bit-fucking)
This commit is contained in:
truelight
2005-03-24 17:03:37 +00:00
parent 625d041e99
commit d1e158d6f7
20 changed files with 617 additions and 442 deletions

View File

@@ -198,16 +198,6 @@ struct Vehicle {
#define is_custom_firsthead_sprite(x) (x == 0xfd)
#define is_custom_secondhead_sprite(x) (x == 0xfe)
// train waypoint
struct Waypoint {
TileIndex xy;
uint16 town_or_string; // if this is 0xC000, it's a string id, otherwise a town.
ViewportSign sign;
uint16 build_date;
byte stat_id;
byte deleted; // this is a delete counter. when it reaches 0, the waypoint struct is deleted.
};
enum {
VEH_Train = 0x10,
VEH_Road = 0x11,
@@ -268,10 +258,6 @@ void DeleteVehicleChain(Vehicle *v);
void *VehicleFromPos(TileIndex tile, void *data, VehicleFromPosProc *proc);
void CallVehicleTicks(void);
Waypoint *AllocateWaypoint(void);
void UpdateWaypointSign(Waypoint *cp);
void RedrawWaypointSign(Waypoint *cp);
void InitializeTrains(void);
bool CanFillVehicle(Vehicle *v);
@@ -318,7 +304,6 @@ void ShowAircraftViewWindow(Vehicle *v);
UnitID GetFreeUnitNumber(byte type);
int LoadUnloadVehicle(Vehicle *v);
uint GetWaypointByTile(uint tile);
void UpdateTrainAcceleration(Vehicle *v);
int32 GetTrainRunningCost(Vehicle *v);
@@ -423,9 +408,6 @@ static inline Vehicle *GetFirstVehicleFromSharedList(Vehicle *v)
return u;
}
// 128 waypoints
VARDEF Waypoint _waypoints[128];
// NOSAVE: Can be regenerated by inspecting the vehicles.
VARDEF VehicleID _vehicle_position_hash[0x1000];