mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-06 14:27:16 +00:00
(svn r3204) Make handling of clicking on vehicles a bit less ugly by avoiding function declarations in .c files and unnecessary indirection
This commit is contained in:
parent
272d63b062
commit
8cebe2f607
@ -538,10 +538,6 @@ int32 CmdRefitAircraft(int x, int y, uint32 flags, uint32 p1, uint32 p2)
|
|||||||
return cost;
|
return cost;
|
||||||
}
|
}
|
||||||
|
|
||||||
void HandleClickOnAircraft(Vehicle *v)
|
|
||||||
{
|
|
||||||
ShowAircraftViewWindow(v);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void CheckIfAircraftNeedsService(Vehicle *v)
|
static void CheckIfAircraftNeedsService(Vehicle *v)
|
||||||
{
|
{
|
||||||
|
@ -690,10 +690,6 @@ void DisasterVehicle_Tick(Vehicle *v)
|
|||||||
_disastervehicle_tick_procs[v->subtype](v);
|
_disastervehicle_tick_procs[v->subtype](v);
|
||||||
}
|
}
|
||||||
|
|
||||||
void HandleClickOnDisasterVeh(Vehicle *v)
|
|
||||||
{
|
|
||||||
// not used
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnNewDay_DisasterVehicle(Vehicle *v)
|
void OnNewDay_DisasterVehicle(Vehicle *v)
|
||||||
{
|
{
|
||||||
|
@ -1733,10 +1733,6 @@ void OnNewDay_RoadVeh(Vehicle *v)
|
|||||||
InvalidateWindowClasses(WC_ROADVEH_LIST);
|
InvalidateWindowClasses(WC_ROADVEH_LIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
void HandleClickOnRoadVeh(Vehicle *v)
|
|
||||||
{
|
|
||||||
ShowRoadVehViewWindow(v);
|
|
||||||
}
|
|
||||||
|
|
||||||
void RoadVehiclesYearlyLoop(void)
|
void RoadVehiclesYearlyLoop(void)
|
||||||
{
|
{
|
||||||
|
@ -801,10 +801,6 @@ void Ship_Tick(Vehicle *v)
|
|||||||
ShipController(v);
|
ShipController(v);
|
||||||
}
|
}
|
||||||
|
|
||||||
void HandleClickOnShip(Vehicle *v)
|
|
||||||
{
|
|
||||||
ShowShipViewWindow(v);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ShipsYearlyLoop(void)
|
void ShipsYearlyLoop(void)
|
||||||
{
|
{
|
||||||
|
@ -3630,11 +3630,6 @@ void TrainsYearlyLoop(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void HandleClickOnTrain(Vehicle *v)
|
|
||||||
{
|
|
||||||
if (v->subtype != TS_Front_Engine) v = GetFirstVehicleInChain(v);
|
|
||||||
ShowTrainViewWindow(v);
|
|
||||||
}
|
|
||||||
|
|
||||||
void InitializeTrains(void)
|
void InitializeTrains(void)
|
||||||
{
|
{
|
||||||
|
34
viewport.c
34
viewport.c
@ -4,6 +4,7 @@
|
|||||||
#include "openttd.h"
|
#include "openttd.h"
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
|
#include "gui.h"
|
||||||
#include "spritecache.h"
|
#include "spritecache.h"
|
||||||
#include "strings.h"
|
#include "strings.h"
|
||||||
#include "table/sprites.h"
|
#include "table/sprites.h"
|
||||||
@ -1696,25 +1697,28 @@ static void CheckClickOnLandscape(const ViewPort *vp, int x, int y)
|
|||||||
if (pt.x != -1) ClickTile(TileVirtXY(pt.x, pt.y));
|
if (pt.x != -1) ClickTile(TileVirtXY(pt.x, pt.y));
|
||||||
}
|
}
|
||||||
|
|
||||||
void HandleClickOnTrain(Vehicle *v);
|
|
||||||
void HandleClickOnRoadVeh(Vehicle *v);
|
static void SafeShowTrainViewWindow(const Vehicle* v)
|
||||||
void HandleClickOnAircraft(Vehicle *v);
|
{
|
||||||
void HandleClickOnShip(Vehicle *v);
|
if (v->subtype != TS_Front_Engine) v = GetFirstVehicleInChain(v);
|
||||||
static void HandleClickOnSpecialVeh(Vehicle *v) {}
|
ShowTrainViewWindow(v);
|
||||||
void HandleClickOnDisasterVeh(Vehicle *v);
|
}
|
||||||
typedef void OnVehicleClickProc(Vehicle *v);
|
|
||||||
static OnVehicleClickProc * const _on_vehicle_click_proc[6] = {
|
static void Nop(const Vehicle* v) {}
|
||||||
HandleClickOnTrain,
|
|
||||||
HandleClickOnRoadVeh,
|
typedef void OnVehicleClickProc(const Vehicle* v);
|
||||||
HandleClickOnShip,
|
static OnVehicleClickProc* const _on_vehicle_click_proc[] = {
|
||||||
HandleClickOnAircraft,
|
SafeShowTrainViewWindow,
|
||||||
HandleClickOnSpecialVeh,
|
ShowRoadVehViewWindow,
|
||||||
HandleClickOnDisasterVeh,
|
ShowShipViewWindow,
|
||||||
|
ShowAircraftViewWindow,
|
||||||
|
Nop, // Special vehicles
|
||||||
|
Nop // Disaster vehicles
|
||||||
};
|
};
|
||||||
|
|
||||||
void HandleViewportClicked(const ViewPort *vp, int x, int y)
|
void HandleViewportClicked(const ViewPort *vp, int x, int y)
|
||||||
{
|
{
|
||||||
Vehicle* v;
|
const Vehicle* v;
|
||||||
|
|
||||||
if (CheckClickOnTown(vp, x, y)) return;
|
if (CheckClickOnTown(vp, x, y)) return;
|
||||||
if (CheckClickOnStation(vp, x, y)) return;
|
if (CheckClickOnStation(vp, x, y)) return;
|
||||||
|
Loading…
Reference in New Issue
Block a user