Files
@ r12162:c4894f5339c3
Branch filter:
Location: cpp/openttd-patchpack/source/src/ship.h - annotation
r12162:c4894f5339c3
1.5 KiB
text/x-c
(svn r16583) -Update: the order of the language files so it's in sync with english.txt. Normally WT2 would do this, but only with activity for those languages. Now we'd like to the order to match so we can more easily spot import bugs while developing WT3.
r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r9111:983de9c5a848 r6420:01087f989fd1 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r8144:1432edd15267 r8786:f24a6d1fba34 r9070:e059c65164f3 r8116:df67d3c5e4fd r5475:3f5cd13d1b63 r5783:ae2c1b6ea3a9 r5475:3f5cd13d1b63 r5972:0afe141fca29 r5475:3f5cd13d1b63 r6552:7cade7798fcb r12033:6a560c929ec8 r6552:7cade7798fcb r12029:5b077ec055c0 r11971:ac7eb21a00e4 r11971:ac7eb21a00e4 r12090:c20f83257241 r12090:c20f83257241 r6552:7cade7798fcb r7412:e5f07529a093 r6552:7cade7798fcb r6563:67c636a8e3d4 r6553:04028e73a0f7 r6558:469828caa298 r6563:67c636a8e3d4 r6593:469af92ae569 r6773:93083dcf60ec r9022:5be8b7703ae9 r10969:8b8a9653d684 r10969:8b8a9653d684 r10875:1cfbd5e0cc73 r11971:ac7eb21a00e4 r11965:2b94ac4aa35a r8467:0ea88f22d4aa r11971:ac7eb21a00e4 r8827:6ee5217ef94b r8890:02179c54681e r6552:7cade7798fcb r6552:7cade7798fcb r12030:bf346482c342 r12030:bf346482c342 r5475:3f5cd13d1b63 | /* $Id$ */
/** @file ship.h Base for ships. */
#ifndef SHIP_H
#define SHIP_H
#include "vehicle_base.h"
#include "engine_func.h"
#include "engine_base.h"
#include "economy_func.h"
void CcBuildShip(bool success, TileIndex tile, uint32 p1, uint32 p2);
void RecalcShipStuff(Vehicle *v);
void GetShipSpriteSize(EngineID engine, uint &width, uint &height);
/**
* All ships have this type.
*/
struct Ship: public SpecializedVehicle<Ship, VEH_SHIP> {
TrackBitsByte state;
/** We don't want GCC to zero our struct! It already is zeroed and has an index! */
Ship() : SpecializedVehicle<Ship, VEH_SHIP>() {}
/** We want to 'destruct' the right class. */
virtual ~Ship() { this->PreDestructor(); }
const char *GetTypeString() const { return "ship"; }
void MarkDirty();
void UpdateDeltaXY(Direction direction);
ExpensesType GetExpenseType(bool income) const { return income ? EXPENSES_SHIP_INC : EXPENSES_SHIP_RUN; }
void PlayLeaveStationSound() const;
bool IsPrimaryVehicle() const { return true; }
SpriteID GetImage(Direction direction) const;
int GetDisplaySpeed() const { return this->cur_speed / 2; }
int GetDisplayMaxSpeed() const { return this->max_speed / 2; }
Money GetRunningCost() const;
bool IsInDepot() const { return this->state == TRACK_BIT_DEPOT; }
bool Tick();
void OnNewDay();
Trackdir GetVehicleTrackdir() const;
TileIndex GetOrderStationLocation(StationID station);
bool FindClosestDepot(TileIndex *location, DestinationID *destination, bool *reverse);
};
#define FOR_ALL_SHIPS(var) FOR_ALL_VEHICLES_OF_TYPE(Ship, var)
#endif /* SHIP_H */
|