Skip to content

Commit

Permalink
Added LNER Coronation train set, and Twin OF standalone coaches. Spri…
Browse files Browse the repository at this point in the history
…tes currently overlapping.
  • Loading branch information
Su1phur committed Nov 28, 2024
1 parent cadaed0 commit 241c0b5
Show file tree
Hide file tree
Showing 7 changed files with 254 additions and 2 deletions.
Binary file modified docs/SpriteIDs.xlsx
Binary file not shown.
Binary file added gfx/Rolling Stock/LNER/LNERCoronationSetImp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified gfx/Steam/BR_11A1G1H_Tender.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 3 additions & 2 deletions lang/english.lng
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -1404,15 +1405,15 @@ 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)
STR_NAME_LNER_CorSet_OT_BT :LNER Coronation Articulated Coach (Open Third + Brake 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)
Expand Down
Original file line number Diff line number Diff line change
@@ -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)
}
87 changes: 87 additions & 0 deletions src/trains/rolling_stock/LNER/LNER_Coronation_set.pnml
Original file line number Diff line number Diff line change
@@ -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));
}
}
65 changes: 65 additions & 0 deletions src/trains/rolling_stock/LNER/LNER_Coronation_set_2OF.pnml
Original file line number Diff line number Diff line change
@@ -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));
}
}

0 comments on commit 241c0b5

Please sign in to comment.