(svn r1817) -Codechange: Moved depot-functions to depot.c

-Codechange: Added wrappers around depot-access (GetDepot no exists)
-Codechange: Made depot-functions a bit more logic (no longer 
GetDepotByTile crashes your game when you request it on a non-depot tile)
-Add: made depots dynamic (yes, 64k depots are possible now)
This commit is contained in:
truelight
2005-02-06 10:18:47 +00:00
parent e4913f1de8
commit bd7f37d592
27 changed files with 355 additions and 224 deletions

View File

@@ -12,6 +12,7 @@
#include "command.h"
#include "player.h"
#include "engine.h"
#include "depot.h"
void Set_DPARAM_Ship_Build_Window(uint16 engine_number)
{
@@ -518,8 +519,8 @@ static void ShipViewWndProc(Window *w, WindowEvent *e) {
} break;
case OT_GOTO_DEPOT: {
Depot *dep = &_depots[v->current_order.station];
SetDParam(0, dep->town_index);
Depot *depot = GetDepot(v->current_order.station);
SetDParam(0, depot->town_index);
SetDParam(1, v->cur_speed * 10 >> 5);
str = STR_HEADING_FOR_SHIP_DEPOT + _patches.vehicle_speed;
} break;
@@ -627,7 +628,7 @@ static void DrawShipDepotWindow(Window *w)
uint tile;
Vehicle *v;
int num,x,y;
Depot *d;
Depot *depot;
tile = w->window_number;
@@ -644,11 +645,10 @@ static void DrawShipDepotWindow(Window *w)
SetVScrollCount(w, (num + w->hscroll.cap - 1) / w->hscroll.cap);
/* locate the depot struct */
for (d = _depots; d->xy != (TileIndex)tile; d++) {
assert(d < endof(_depots));
}
depot = GetDepotByTile(tile);
assert(depot != NULL);
SetDParam(0, d->town_index);
SetDParam(0, depot->town_index);
DrawWindowWidgets(w);
x = 2;