(svn r14828) -Codechange: move most of save/load-specific code to separate files
This commit is contained in:
@@ -3,10 +3,8 @@
|
||||
/** @file cargopacket.cpp Implementation of the cargo packets */
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "openttd.h"
|
||||
#include "station_base.h"
|
||||
#include "cargopacket.h"
|
||||
#include "saveload.h"
|
||||
#include "oldpool_func.h"
|
||||
|
||||
/* Initialize the cargopacket-pool */
|
||||
@@ -43,42 +41,6 @@ bool CargoPacket::SameSource(const CargoPacket *cp) const
|
||||
return this->source_xy == cp->source_xy && this->days_in_transit == cp->days_in_transit && this->paid_for == cp->paid_for;
|
||||
}
|
||||
|
||||
static const SaveLoad _cargopacket_desc[] = {
|
||||
SLE_VAR(CargoPacket, source, SLE_UINT16),
|
||||
SLE_VAR(CargoPacket, source_xy, SLE_UINT32),
|
||||
SLE_VAR(CargoPacket, loaded_at_xy, SLE_UINT32),
|
||||
SLE_VAR(CargoPacket, count, SLE_UINT16),
|
||||
SLE_VAR(CargoPacket, days_in_transit, SLE_UINT8),
|
||||
SLE_VAR(CargoPacket, feeder_share, SLE_INT64),
|
||||
SLE_VAR(CargoPacket, paid_for, SLE_BOOL),
|
||||
|
||||
SLE_END()
|
||||
};
|
||||
|
||||
static void Save_CAPA()
|
||||
{
|
||||
CargoPacket *cp;
|
||||
|
||||
FOR_ALL_CARGOPACKETS(cp) {
|
||||
SlSetArrayIndex(cp->index);
|
||||
SlObject(cp, _cargopacket_desc);
|
||||
}
|
||||
}
|
||||
|
||||
static void Load_CAPA()
|
||||
{
|
||||
int index;
|
||||
|
||||
while ((index = SlIterateArray()) != -1) {
|
||||
CargoPacket *cp = new (index) CargoPacket();
|
||||
SlObject(cp, _cargopacket_desc);
|
||||
}
|
||||
}
|
||||
|
||||
extern const ChunkHandler _cargopacket_chunk_handlers[] = {
|
||||
{ 'CAPA', Save_CAPA, Load_CAPA, CH_ARRAY | CH_LAST},
|
||||
};
|
||||
|
||||
/*
|
||||
*
|
||||
* Cargo list implementation
|
||||
|
Reference in New Issue
Block a user