Merge branch 'template_train_replacement' into jgrpp
# Conflicts: # src/saveload/extended_ver_sl.cpp
This commit is contained in:
@@ -70,7 +70,7 @@ const SlxiSubChunkInfo _sl_xv_sub_chunk_infos[] = {
|
||||
{ XSLFI_REVERSE_AT_WAYPOINT, XSCF_NULL, 1, 1, "reverse_at_waypoint", NULL, NULL, NULL },
|
||||
{ XSLFI_VEH_LIFETIME_PROFIT, XSCF_NULL, 1, 1, "veh_lifetime_profit", NULL, NULL, NULL },
|
||||
{ XSLFI_LINKGRAPH_DAY_SCALE, XSCF_NULL, 1, 1, "linkgraph_day_scale", NULL, NULL, NULL },
|
||||
{ XSLFI_TEMPLATE_REPLACEMENT, XSCF_NULL, 3, 3, "template_replacement", NULL, NULL, "TRPL,TMPL" },
|
||||
{ XSLFI_TEMPLATE_REPLACEMENT, XSCF_NULL, 4, 4, "template_replacement", NULL, NULL, "TRPL,TMPL" },
|
||||
{ XSLFI_MORE_RAIL_TYPES, XSCF_NULL, 1, 1, "more_rail_types", NULL, NULL, NULL },
|
||||
{ XSLFI_CARGO_TYPE_ORDERS, XSCF_NULL, 2, 2, "cargo_type_orders", NULL, NULL, "ORDX,VEOX" },
|
||||
{ XSLFI_EXTENDED_GAMELOG, XSCF_NULL, 1, 1, "extended_gamelog", NULL, NULL, NULL },
|
||||
|
@@ -12,14 +12,15 @@
|
||||
const SaveLoad* GTD() {
|
||||
|
||||
static const SaveLoad _template_veh_desc[] = {
|
||||
SLE_REF(TemplateVehicle, next, REF_TEMPLATE_VEHICLE),
|
||||
SLE_REF(TemplateVehicle, next, REF_TEMPLATE_VEHICLE),
|
||||
|
||||
SLE_VAR(TemplateVehicle, reuse_depot_vehicles, SLE_UINT8),
|
||||
SLE_VAR(TemplateVehicle, keep_remaining_vehicles, SLE_UINT8),
|
||||
SLE_VAR(TemplateVehicle, refit_as_template, SLE_UINT8),
|
||||
|
||||
SLE_VAR(TemplateVehicle, owner, SLE_UINT32),
|
||||
SLE_VAR(TemplateVehicle, owner_b, SLE_UINT8),
|
||||
SLE_CONDVAR_X(TemplateVehicle, owner, SLE_VAR_U8 | SLE_FILE_U32, 0, SL_MAX_VERSION, SlXvFeatureTest(XSLFTO_AND, XSLFI_TEMPLATE_REPLACEMENT, 0, 3)),
|
||||
SLE_CONDVAR_X(TemplateVehicle, owner, SLE_UINT8, 0, SL_MAX_VERSION, SlXvFeatureTest(XSLFTO_AND, XSLFI_TEMPLATE_REPLACEMENT, 4)),
|
||||
SLE_CONDNULL_X(1, 0, SL_MAX_VERSION, SlXvFeatureTest(XSLFTO_AND, XSLFI_TEMPLATE_REPLACEMENT, 0, 3)),
|
||||
|
||||
SLE_VAR(TemplateVehicle, engine_type, SLE_UINT16),
|
||||
SLE_VAR(TemplateVehicle, cargo_type, SLE_UINT8),
|
||||
@@ -38,11 +39,10 @@ const SaveLoad* GTD() {
|
||||
SLE_VAR(TemplateVehicle, weight, SLE_UINT32),
|
||||
SLE_VAR(TemplateVehicle, max_te, SLE_UINT32),
|
||||
|
||||
SLE_VAR(TemplateVehicle, spritenum, SLE_UINT8),
|
||||
SLE_CONDVAR_X(TemplateVehicle, sprite_seq.seq[0].sprite, SLE_UINT32, 0, SL_MAX_VERSION, SlXvFeatureTest(XSLFTO_AND, XSLFI_TEMPLATE_REPLACEMENT, 0, 1)),
|
||||
SLE_CONDVAR_X(TemplateVehicle, sprite_seq.count, SLE_UINT32, 0, SL_MAX_VERSION, SlXvFeatureTest(XSLFTO_AND, XSLFI_TEMPLATE_REPLACEMENT, 2)),
|
||||
SLE_CONDARR_X(TemplateVehicle, sprite_seq.seq, SLE_UINT32, 8, 0, SL_MAX_VERSION, SlXvFeatureTest(XSLFTO_AND, XSLFI_TEMPLATE_REPLACEMENT, 2)),
|
||||
SLE_VAR(TemplateVehicle, image_width, SLE_UINT32),
|
||||
SLE_CONDNULL_X(1, 0, SL_MAX_VERSION, SlXvFeatureTest(XSLFTO_AND, XSLFI_TEMPLATE_REPLACEMENT, 0, 3)),
|
||||
SLE_CONDNULL_X(4, 0, SL_MAX_VERSION, SlXvFeatureTest(XSLFTO_AND, XSLFI_TEMPLATE_REPLACEMENT, 0, 1)),
|
||||
SLE_CONDNULL_X(36, 0, SL_MAX_VERSION, SlXvFeatureTest(XSLFTO_AND, XSLFI_TEMPLATE_REPLACEMENT, 2, 3)),
|
||||
SLE_CONDNULL_X(4, 0, SL_MAX_VERSION, SlXvFeatureTest(XSLFTO_AND, XSLFI_TEMPLATE_REPLACEMENT, 0, 3)),
|
||||
|
||||
SLE_END()
|
||||
};
|
||||
@@ -134,10 +134,11 @@ void AfterLoadTemplateVehiclesUpdateImage()
|
||||
if (t_len == tv_len) {
|
||||
Train *v = t;
|
||||
for (TemplateVehicle *u = tv; u != NULL; u = u->Next(), v = v->Next()) {
|
||||
u->spritenum = v->spritenum;
|
||||
v->GetImage(DIR_W, EIT_PURCHASE, &u->sprite_seq);
|
||||
u->image_width = v->GetDisplayImageWidth();
|
||||
v->GetImage(DIR_W, EIT_IN_DEPOT, &u->sprite_seq);
|
||||
u->image_dimensions.SetFromTrain(v);
|
||||
}
|
||||
} else {
|
||||
DEBUG(misc, 0, "AfterLoadTemplateVehiclesUpdateImage: vehicle count mismatch: %u, %u", t_len, tv_len);
|
||||
}
|
||||
delete t;
|
||||
}
|
||||
|
Reference in New Issue
Block a user