diff --git a/docs/SpriteIDs.xlsx b/docs/SpriteIDs.xlsx index 10c1016..1a8b49b 100644 Binary files a/docs/SpriteIDs.xlsx and b/docs/SpriteIDs.xlsx differ diff --git a/gfx/Rolling Stock/LNER/LNERCoronationSetImp.png b/gfx/Rolling Stock/LNER/LNERCoronationSetImp.png new file mode 100644 index 0000000..64ac366 Binary files /dev/null and b/gfx/Rolling Stock/LNER/LNERCoronationSetImp.png differ diff --git a/gfx/Steam/BR_11A1G1H_Tender.png b/gfx/Steam/BR_11A1G1H_Tender.png index d4e7a33..e63b493 100644 Binary files a/gfx/Steam/BR_11A1G1H_Tender.png and b/gfx/Steam/BR_11A1G1H_Tender.png differ diff --git a/lang/english.lng b/lang/english.lng index b47a78a..d11e746 100644 --- a/lang/english.lng +++ b/lang/english.lng @@ -96,6 +96,7 @@ str_col_Grey :Grey str_col_Mahogany :Mahogany str_col_Bauxite :Bauxite str_col_Brown :Brown +str_col_GarterBlue :Garter Blue str_var_Named :Named str_var_Olympics :Olympics @@ -1404,7 +1405,7 @@ str_BRJIA_Polybulk_liveries :Traffic Service Limited Polybulk, Polybulk, Gra # # COACHES # # # # # # # # # # -STR_NAME_LNER_CorSet_Header :LNER Coronation +STR_NAME_LNER_CorSet :LNER Coronation Set STR_NAME_LNER_CorSet_BT_KT :LNER Coronation Articulated Coach (Brake Third + Kitchen Third) STR_NAME_LNER_CorSet_OF_OF :LNER Coronation Articulated Coach (Open First + Open First) STR_NAME_LNER_CorSet_OT_KT :LNER Coronation Articulated Coach (Open Third + Kitchen Third) @@ -1412,7 +1413,7 @@ STR_NAME_LNER_CorSet_OT_BT :LNER Coronation Articulated Coach (Open Third + STR_NAME_LNER_CorSet_OBV :LNER Coronation Observation Coach STR_NAME_LNER_CorSet_OT_OT :LNER Coronation Articulated Coach (Open Third + Open Third) -STR_LNER_CORSET_liveries :LNER Coronation Garter Blue +STR_LNER_CorSet_liveries :LNER Coronation Garter Blue, BR Carmine and Cream STR_NAME_BRMk1_Header :BR Mark 1 Coaches STR_NAME_BRMk1FO :BR Mark 1 Coach (First Open) diff --git a/src/trains/_spriteset/Rolling Stock_Sprites/LNER_Coronation_spritesets.pnml b/src/trains/_spriteset/Rolling Stock_Sprites/LNER_Coronation_spritesets.pnml new file mode 100644 index 0000000..b50f1b7 --- /dev/null +++ b/src/trains/_spriteset/Rolling Stock_Sprites/LNER_Coronation_spritesets.pnml @@ -0,0 +1,99 @@ +spriteset(spriteset_LNER_CorSet_Purchase, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_purchase(0, 0) +} + +spriteset(spriteset_LNER_CorSet_BT_CorBlue, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_train32px(0, 13) +} + +spriteset(spriteset_LNER_CorSet_BTRev_CorBlue, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_train32px_reversed(0, 13) +} + +spriteset(spriteset_LNER_CorSet_KT_CorBlue, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_train32px(0, 42) +} + +spriteset(spriteset_LNER_CorSet_KTRev_CorBlue, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_train32px_reversed(0, 42) +} + +spriteset(spriteset_LNER_CorSet_OF_CorBlue, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_train32px(0, 71) +} + +spriteset(spriteset_LNER_CorSet_OFRev_CorBlue, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_train32px_reversed(0, 71) +} + +spriteset(spriteset_LNER_CorSet_OT_CorBlue, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_train32px(0, 100) +} + +spriteset(spriteset_LNER_CorSet_OTRev_CorBlue, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_train32px_reversed(0, 100) +} + +spriteset(spriteset_LNER_CorSet_OBV_CorBlue, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_train32px(0, 129) +} + +spriteset(spriteset_LNER_CorSet_BT_BnC, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_train32px(0, 158) +} + +spriteset(spriteset_LNER_CorSet_BTRev_BnC, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_train32px_reversed(0, 158) +} + +spriteset(spriteset_LNER_CorSet_KT_BnC, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_train32px(0, 187) +} + +spriteset(spriteset_LNER_CorSet_KTRev_BnC, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_train32px_reversed(0, 187) +} + +spriteset(spriteset_LNER_CorSet_OF_BnC, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_train32px(0, 216) +} + +spriteset(spriteset_LNER_CorSet_OFRev_BnC, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_train32px_reversed(0, 216) +} + +spriteset(spriteset_LNER_CorSet_OT_BnC, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_train32px(0, 245) +} + +spriteset(spriteset_LNER_CorSet_OTRev_BnC, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_train32px_reversed(0, 245) +} + +spriteset(spriteset_LNER_CorSet_OBV_BnC, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_train32px(0, 274) +} + +spriteset(spriteset_LNER_CorSet_OBV_New_BnC, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_train32px(0, 303) +} + +spriteset(spriteset_LNER_CorSet_BT_KT_Purchase, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_purchase(0, 333) +} + +spriteset(spriteset_LNER_CorSet_2OF_Purchase, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_purchase(0, 347) +} + +spriteset(spriteset_LNER_CorSet_OT_KT_Purchase, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_purchase(0, 361) +} + +spriteset(spriteset_LNER_CorSet_OT_BT_Purchase, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_purchase(0, 376) +} + +spriteset(spriteset_LNER_CorSet_2OT_Purchase, "gfx/Rolling Stock/LNER/LNERCoronationSetImp.png") { + template_purchase(0, 390) +} \ No newline at end of file diff --git a/src/trains/rolling_stock/LNER/LNER_Coronation_set.pnml b/src/trains/rolling_stock/LNER/LNER_Coronation_set.pnml new file mode 100644 index 0000000..5a39f99 --- /dev/null +++ b/src/trains/rolling_stock/LNER/LNER_Coronation_set.pnml @@ -0,0 +1,87 @@ +switch(FEAT_TRAINS, SELF, sw_CoronationCoach_articulated, extra_callback_info1) { + 0..8: return item_LNER_Cornation_Set; +} + +switch(FEAT_TRAINS, SELF, sw_Coronation_Set_CorBlue, position_in_articulated_veh ) { + 0: spriteset_LNER_CorSet_BT_CorBlue; + 1: spriteset_LNER_CorSet_KTRev_CorBlue; + 2: spriteset_LNER_CorSet_OF_CorBlue; + 3: spriteset_LNER_CorSet_OFRev_CorBlue; + 4: spriteset_LNER_CorSet_OT_CorBlue; + 5: spriteset_LNER_CorSet_KTRev_CorBlue; + 6: spriteset_LNER_CorSet_OT_CorBlue; + 7: spriteset_LNER_CorSet_BTRev_CorBlue; + 8: spriteset_LNER_CorSet_OBV_CorBlue; +} + +switch(FEAT_TRAINS, SELF, sw_Coronation_Set_BnC, position_in_articulated_veh ) { + 0: spriteset_LNER_CorSet_BT_BnC; + 1: spriteset_LNER_CorSet_KTRev_BnC; + 2: spriteset_LNER_CorSet_OF_BnC; + 3: spriteset_LNER_CorSet_OFRev_BnC; + 4: spriteset_LNER_CorSet_OT_BnC; + 5: spriteset_LNER_CorSet_KTRev_BnC; + 6: spriteset_LNER_CorSet_OT_BnC; + 7: spriteset_LNER_CorSet_BTRev_BnC; + 8: spriteset_LNER_CorSet_OBV_BnC; +} + +switch(FEAT_TRAINS, SELF, sw_Coronation_Set_liveries, cargo_subtype) { + 0: sw_Coronation_Set_CorBlue; + 1: sw_Coronation_Set_BnC; +} + +switch(FEAT_TRAINS, SELF, sw_Coronation_Set_cargo_subtype_text, cargo_subtype) { + 0: return string(STR_LIVERY, string(str_abbr_LNER), string(str_col_GarterBlue)); + 1: return string(STR_LIVERY, string(str_abbr_BR), string(str_col_BloodCustard)); + return CB_RESULT_NO_TEXT; +} + +switch(FEAT_TRAINS, SELF, sw_CoronationCoach_Capacity, position_in_articulated_veh ) { + 0: 36; // BT + 1: 6; // KT + 2: 24; // OF + 3: 24; // OF + 4: 30; // OT + 5: 6; // KT + 6: 30; // OT + 7: 36; // BT + 8: 16; // OBV +} + +item (FEAT_TRAINS, item_LNER_Cornation_Set, 711) { + property { + name: string(STR_NAME_LNER_CorSet); + climates_available: ALL_CLIMATES; + introduction_date: date(1937, 7, 5); + model_life: 30; + cargo_allow_refit: [PASS]; + loading_speed: 10; + cost_factor: 1; + running_cost_factor: 1; + power: 0; + sprite_id: SPRITE_ID_NEW_TRAIN; + speed: 100 mph; + refit_cost: 0; + running_cost_base: RUNNING_COST_STEAM; + default_cargo_type: PASS; + cargo_capacity: 1; + weight: 342 ton; + length: 8; + bitmask_vehicle_info: 0; + } + graphics { + additional_text: return(string(str_purchase_coach, string(STR_LNER_CorSet_liveries))); + articulated_part: sw_CoronationCoach_articulated; + + can_attach_wagon: CB_RESULT_ATTACH_DISALLOW; + cargo_capacity: sw_CoronationCoach_Capacity; + cargo_subtype_text: sw_Coronation_Set_cargo_subtype_text; + colour_mapping: return PALETTE_CC_FIRST; + cost_factor: return(GetAdjustedCost(25)); + + default: sw_Coronation_Set_liveries; + purchase: spriteset_LNER_CorSet_Purchase; + running_cost_factor: return(GetAdjustedCost(25)); + } +} \ No newline at end of file diff --git a/src/trains/rolling_stock/LNER/LNER_Coronation_set_2OF.pnml b/src/trains/rolling_stock/LNER/LNER_Coronation_set_2OF.pnml new file mode 100644 index 0000000..a221366 --- /dev/null +++ b/src/trains/rolling_stock/LNER/LNER_Coronation_set_2OF.pnml @@ -0,0 +1,65 @@ +switch(FEAT_TRAINS, SELF, sw_Coronation_2OF_articulated, extra_callback_info1) { + 0..1: return item_LNER_Cornation_Set; +} + +switch(FEAT_TRAINS, SELF, sw_Coronation_2OF_CorBlue, position_in_articulated_veh ) { + 0: spriteset_LNER_CorSet_OF_CorBlue; + 1: spriteset_LNER_CorSet_OFRev_CorBlue; +} + +switch(FEAT_TRAINS, SELF, sw_Coronation_2OF_BnC, position_in_articulated_veh ) { + 0: spriteset_LNER_CorSet_OF_BnC; + 1: spriteset_LNER_CorSet_OFRev_BnC; +} + +switch(FEAT_TRAINS, SELF, sw_Coronation_2OF_Capacity, position_in_articulated_veh ) { + 0..1: 24; +} + +switch(FEAT_TRAINS, SELF, sw_Coronation_2OF_liveries, cargo_subtype) { + 0: sw_Coronation_2OF_CorBlue; + 1: sw_Coronation_2OF_BnC; +} + +switch(FEAT_TRAINS, SELF, sw_Coronation_2OF_cargo_subtype_text, cargo_subtype) { + 0: return string(STR_LIVERY, string(str_abbr_LNER), string(str_col_GarterBlue)); + 1: return string(STR_LIVERY, string(str_abbr_BR), string(str_col_BloodCustard)); +} + +item(FEAT_TRAINS, item_LNER_Coronation_set_2OF, 713) { + property { + variant_group: item_LNER_Cornation_Set; + name: string(STR_NAME_LNER_CorSet_OF_OF); + climates_available: ALL_CLIMATES; + introduction_date: date(1937, 7, 5); + model_life: 30; + cargo_allow_refit: [PASS]; + loading_speed: 10; + cost_factor: 1; + running_cost_factor: 1; + power: 0; + sprite_id: SPRITE_ID_NEW_TRAIN; + speed: 100 mph; + refit_cost: 0; + running_cost_base: RUNNING_COST_STEAM; + default_cargo_type: PASS; + cargo_capacity: 1; + weight: 33 ton; + length: 8; + bitmask_vehicle_info: 0; + } + graphics { + additional_text: return(string(str_purchase_coach, string(STR_LNER_CorSet_liveries))); + articulated_part: sw_Coronation_2OF_articulated; + + can_attach_wagon: CB_RESULT_ATTACH_DISALLOW; + cargo_capacity: sw_Coronation_2OF_Capacity; + cargo_subtype_text: sw_Coronation_2OF_cargo_subtype_text; + colour_mapping: return PALETTE_CC_FIRST; + cost_factor: return(GetAdjustedCost(25)); + + default: sw_Coronation_2OF_liveries; + purchase: spriteset_LNER_CorSet_2OF_Purchase; + running_cost_factor: return(GetAdjustedCost(25)); + } +} \ No newline at end of file