summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortron <tron@openttd.org>2006-03-04 11:15:44 +0000
committertron <tron@openttd.org>2006-03-04 11:15:44 +0000
commit87fdb129d27b3c0ddde6fb9097c091510074671b (patch)
tree4153fe3efc35c3940fcfef3f06a03d78f4f6f97f
parent4270026b4248bbaa1b1b46b099baadbd24921dd0 (diff)
downloadopenttd-87fdb129d27b3c0ddde6fb9097c091510074671b.tar.xz
(svn r3758) Remove the news validation callback. It is superseded by r3757.
-rw-r--r--aircraft_cmd.c14
-rw-r--r--news.h6
-rw-r--r--news_gui.c10
-rw-r--r--order.h7
-rw-r--r--order_cmd.c44
-rw-r--r--roadveh_cmd.c2
-rw-r--r--ship_cmd.c2
-rw-r--r--train_cmd.c14
8 files changed, 21 insertions, 78 deletions
diff --git a/aircraft_cmd.c b/aircraft_cmd.c
index 954667c64..4b104f114 100644
--- a/aircraft_cmd.c
+++ b/aircraft_cmd.c
@@ -562,7 +562,7 @@ void OnNewDay_Aircraft(Vehicle *v)
if ((++v->day_counter & 7) == 0) DecreaseVehicleValue(v);
- CheckOrders(v->index, OC_INIT);
+ CheckOrders(v);
CheckVehicleBreakdown(v);
AgeVehicle(v);
@@ -1218,12 +1218,6 @@ static void AircraftEntersTerminal(Vehicle *v)
InvalidateWindowClasses(WC_AIRCRAFT_LIST);
}
-static bool ValidateAircraftInHangar(uint data_a, uint data_b)
-{
- const Vehicle* v = GetVehicle(data_a);
-
- return (IsAircraftHangarTile(v->tile) && (v->vehstatus & VS_STOPPED));
-}
static void AircraftEnterHangar(Vehicle *v)
{
@@ -1249,12 +1243,12 @@ static void AircraftEnterHangar(Vehicle *v)
if (v->owner == _local_player) {
SetDParam(0, v->unitnumber);
- AddValidatedNewsItem(
+ AddNewsItem(
STR_A014_AIRCRAFT_IS_WAITING_IN,
NEWS_FLAGS(NM_SMALL, NF_VIEWPORT|NF_VEHICLE, NT_ADVICE, 0),
v->index,
- 0,
- ValidateAircraftInHangar);
+ 0
+ );
}
}
}
diff --git a/news.h b/news.h
index d90cb4df2..26cfa107e 100644
--- a/news.h
+++ b/news.h
@@ -16,11 +16,6 @@ struct NewsItem {
TileIndex data_b;
uint32 params[10];
-
- /* The validation functions for news items get called immediately
- * before the news are supposed to be shown. If this funcion returns
- * false, the news item won't be displayed. */
- bool (*isValid) ( uint data_a, uint data_b );
};
typedef bool ValidationProc ( uint data_a, uint data_b );
@@ -29,7 +24,6 @@ typedef StringID GetNewsStringCallbackProc(const NewsItem *ni);
#define NEWS_FLAGS(mode,flag,type,cb) ((cb)<<24 | (type)<<16 | (flag)<<8 | (mode))
void AddNewsItem(StringID string, uint32 flags, uint data_a, uint data_b);
-void AddValidatedNewsItem(StringID string, uint32 flags, uint data_a, uint data_b, ValidationProc *validation);
void NewsLoop(void);
void DrawNewsBorder(const Window *w);
void InitNewsItemStructs(void);
diff --git a/news_gui.c b/news_gui.c
index 1354983ec..4bbfe3e1b 100644
--- a/news_gui.c
+++ b/news_gui.c
@@ -275,13 +275,6 @@ void AddNewsItem(StringID string, uint32 flags, uint data_a, uint data_b)
w->vscroll.count = _total_news;
}
-/* To add a news item with an attached validation function. This validation function
- * makes sure that the news item is not outdated when the newspaper pops up. */
-void AddValidatedNewsItem(StringID string, uint32 flags, uint data_a, uint data_b, ValidationProc *validation)
-{
- AddNewsItem(string, flags, data_a, data_b);
- _news_items[_latest_news].isValid = validation;
-}
// don't show item if it's older than x days
static const byte _news_items_age[] = {60, 60, 90, 60, 90, 30, 150, 30, 90, 180};
@@ -466,9 +459,6 @@ static void MoveToNexItem(void)
// check the date, don't show too old items
if (_date - _news_items_age[ni->type] > ni->date) return;
- // execute the validation function to see if this item is still valid
- if (ni->isValid != NULL && !ni->isValid(ni->data_a, ni->data_b)) return;
-
switch (GetNewsDisplayValue(ni->type)) {
case 0: { /* Off - show nothing only a small reminder in the status bar */
Window* w = FindWindowById(WC_STATUS_BAR, 0);
diff --git a/order.h b/order.h
index 6f670b82b..cce9e4d80 100644
--- a/order.h
+++ b/order.h
@@ -70,11 +70,6 @@ enum {
CO_UNSHARE = 2
};
-/* Modes for the order checker */
-enum {
- OC_INIT = 0, //the order checker can initialize a news message
- OC_VALIDATE = 1, //the order checker validates a news message
-};
/* If you change this, keep in mind that it is saved on 3 places:
- Load_ORDR, all the global orders
@@ -172,7 +167,7 @@ void RestoreVehicleOrders(const Vehicle* v, const BackuppedOrders* order);
void DeleteDestinationFromVehicleOrder(Order dest);
void InvalidateVehicleOrder(const Vehicle *v);
bool VehicleHasDepotOrders(const Vehicle *v);
-bool CheckOrders(uint data_a, uint data_b);
+void CheckOrders(const Vehicle*);
void DeleteVehicleOrders(Vehicle *v);
bool IsOrderListShared(const Vehicle *v);
void AssignOrder(Order *order, Order data);
diff --git a/order_cmd.c b/order_cmd.c
index c0b950952..38a2b8d80 100644
--- a/order_cmd.c
+++ b/order_cmd.c
@@ -859,22 +859,20 @@ int32 CmdRestoreOrderIndex(int x, int y, uint32 flags, uint32 p1, uint32 p2)
* Check the orders of a vehicle, to see if there are invalid orders and stuff
*
*/
-bool CheckOrders(uint data_a, uint data_b)
+void CheckOrders(const Vehicle* v)
{
- const Vehicle* v = GetVehicle(data_a);
-
/* Does the user wants us to check things? */
- if (_patches.order_review_system == 0) return false;
+ if (_patches.order_review_system == 0) return;
/* Do nothing for crashed vehicles */
- if (v->vehstatus & VS_CRASHED) return false;
+ if (v->vehstatus & VS_CRASHED) return;
/* Do nothing for stopped vehicles if setting is '1' */
if (_patches.order_review_system == 1 && v->vehstatus & VS_STOPPED)
- return false;
+ return;
/* do nothing we we're not the first vehicle in a share-chain */
- if (v->next_shared != NULL) return false;
+ if (v->next_shared != NULL) return;
/* Only check every 20 days, so that we don't flood the message log */
if (v->owner == _local_player && v->day_counter % 20 == 0) {
@@ -886,12 +884,6 @@ bool CheckOrders(uint data_a, uint data_b)
/* Check the order list */
n_st = 0;
- /*if (data_b == OC_INIT) {
- DEBUG(misc, 3) ("CheckOrder called in mode 0 (initiation mode) for %d", v->index);
- } else {
- DEBUG(misc, 3) ("CheckOrder called in mode 1 (validation mode) for %d", v->index);
- }*/
-
FOR_VEHICLE_ORDERS(v, order) {
/* Dummy order? */
if (order->type == OT_DUMMY) {
@@ -920,35 +912,19 @@ bool CheckOrders(uint data_a, uint data_b)
if (n_st < 2 && problem_type == -1) problem_type = 0;
/* We don't have a problem */
- if (problem_type < 0) {
- /*if (data_b == OC_INIT) {
- DEBUG(misc, 3) ("CheckOrder mode 0: no problems found for %d", v->index);
- } else {
- DEBUG(misc, 3) ("CheckOrder mode 1: news item surpressed for %d", v->index);
- }*/
- return false;
- }
-
- /* we have a problem, are we're just in the validation process
- so don't display an error message */
- if (data_b == OC_VALIDATE) {
- /*DEBUG(misc, 3) ("CheckOrder mode 1: new item validated for %d", v->index);*/
- return true;
- }
+ if (problem_type < 0) return;
message = STR_TRAIN_HAS_TOO_FEW_ORDERS + ((v->type - VEH_Train) << 2) + problem_type;
- /*DEBUG(misc, 3) ("Checkorder mode 0: Triggered News Item for %d", v->index);*/
+ //DEBUG(misc, 3) ("Triggered News Item for %d", v->index);
SetDParam(0, v->unitnumber);
- AddValidatedNewsItem(
+ AddNewsItem(
message,
NEWS_FLAGS(NM_SMALL, NF_VIEWPORT | NF_VEHICLE, NT_ADVICE, 0),
v->index,
- OC_VALIDATE, //next time, just validate the orders
- CheckOrders);
+ 0
+ );
}
-
- return true;
}
/**
diff --git a/roadveh_cmd.c b/roadveh_cmd.c
index b12debae4..d4b485709 100644
--- a/roadveh_cmd.c
+++ b/roadveh_cmd.c
@@ -1595,7 +1595,7 @@ void OnNewDay_RoadVeh(Vehicle *v)
AgeVehicle(v);
CheckIfRoadVehNeedsService(v);
- CheckOrders(v->index, OC_INIT);
+ CheckOrders(v);
//Current slot has expired
if (v->u.road.slot_age-- == 0 && v->u.road.slot != NULL) {
diff --git a/ship_cmd.c b/ship_cmd.c
index 82bedb3f8..31e195dd6 100644
--- a/ship_cmd.c
+++ b/ship_cmd.c
@@ -133,7 +133,7 @@ void OnNewDay_Ship(Vehicle *v)
AgeVehicle(v);
CheckIfShipNeedsService(v);
- CheckOrders(v->index, OC_INIT);
+ CheckOrders(v);
if (v->vehstatus & VS_STOPPED) return;
diff --git a/train_cmd.c b/train_cmd.c
index cf2450bc2..843bb29ac 100644
--- a/train_cmd.c
+++ b/train_cmd.c
@@ -3272,12 +3272,6 @@ void Train_Tick(Vehicle *v)
static const byte _depot_track_ind[4] = {0,1,0,1};
-// Validation for the news item "Train is waiting in depot"
-static bool ValidateTrainInDepot( uint data_a, uint data_b )
-{
- Vehicle *v = GetVehicle(data_a);
- return (v->u.rail.track == 0x80 && (v->vehstatus | VS_STOPPED));
-}
void TrainEnterDepot(Vehicle *v, TileIndex tile)
{
@@ -3310,12 +3304,12 @@ void TrainEnterDepot(Vehicle *v, TileIndex tile)
v->vehstatus |= VS_STOPPED;
if (v->owner == _local_player) {
SetDParam(0, v->unitnumber);
- AddValidatedNewsItem(
+ AddNewsItem(
STR_8814_TRAIN_IS_WAITING_IN_DEPOT,
NEWS_FLAGS(NM_SMALL, NF_VIEWPORT|NF_VEHICLE, NT_ADVICE, 0),
v->index,
- 0,
- ValidateTrainInDepot);
+ 0
+ );
}
}
}
@@ -3403,7 +3397,7 @@ void OnNewDay_Train(Vehicle *v)
0);
}
- CheckOrders(v->index, OC_INIT);
+ CheckOrders(v);
/* update destination */
if (v->current_order.type == OT_GOTO_STATION &&