Files
@ r12323:ba4726a15973
Branch filter:
Location: cpp/openttd-patchpack/source/src/ship.h - annotation
r12323:ba4726a15973
1.5 KiB
text/x-c
(svn r16753) -Fix (r16740): Don't check the width of the same string 4 times, but pick the maximum width of all difficulty levels
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 */
|