diff --git a/Korean_Longer_Train_Set.nml b/Korean_Longer_Train_Set.nml new file mode 100644 index 0000000..8cd9561 --- /dev/null +++ b/Korean_Longer_Train_Set.nml @@ -0,0 +1,750 @@ + grf { + grfid :"KLTS"; + name :string(STR_GRF_NAME); + desc :string(STR_GRF_DESC); + url :string(STR_GRF_URL); + version :240316; + min_compatible_version :240313; + + // Parameters + param 0 { + para_speed_power { + type: int; + name: string(STR_PARA_NAME_SPEED_POWER); + desc: string(STR_PARA_DESC_SPEED_POWER); + min_value: 2; + max_value: 4; + def_value: 2; + + names: { + 2: string(STR_PARA_SPEED_POWER_OPT_1); + 3: string(STR_PARA_SPEED_POWER_OPT_1_5); + 4: string(STR_PARA_SPEED_POWER_OPT_2); + }; + } + } + } + +// Tables + cargotable { + // TTD https://newgrf-specs.tt-wiki.net/wiki/CargoTypes#Cargo_Labels + PASS, COAL, MAIL, OIL_, LVST, GOOD, GRAI, WOOD, IORE, STEL, VALU, PAPR, WHEA, FOOD, GOLD, RUBR, + FRUT, MAIZ, CORE, WATR, DIAM, SUGR, + + // Toys + BATT, BUBL, COLA, CTCD, FZDR, PLST, SWET, TOFF, TOYS, + + // FIRS 4.15.1~ https://grf.farm/firs/4.15.1/html/get_started.html + AORE, BDMT, BEAN, BEER, BOOM, CBLK, CLAY, CMNT, COPR, CSTI, CTAR, ENSP, FECR, FERT, FICR, FISH, + FMSP, FRVL, GRVL, JAVA, KAOL, MILK, PEAT, PETR, PHOS, PORE, POTA, RFPR, SAND, SCMT, SULP, TYRE, + VEHI, WDPR, WOOL, ZINC, ACID, ALUM, CASS, CHLO, COAT, COKE, EOIL, IRON, LYE_, METL, MNO2, MNSP, + NH3_, NUTS, NITR, NKOR, O2__, PIPE, POWR, QLME, RCYC, SALT, SASH, SGBT, SGCN, SLAG, SOAP, STAL, + STCB, STSE, STSH, STST, STWR, VBOD, VENG, VPTS, + + PLAS, LIME + } + + railtypetable { + RAIL, ELRL, KRNR + } + +// Templates & General Swithes + template tmpl_purchase(x, y) { + [x, y, 75, 15, -39, -9] + } + + template tmpl_vehicle(x, y) { + [x, y, 8, 34, -3, -18] // ↑ + [x+20, y, 29, 24, -17, -14] // ↗ + [x+60, y, 48, 15, -24, -11] // → + [x+120, y, 29, 24, -10, -14] // ↘ + [x+160, y, 8, 34, -3, -18] // ↓ + [x+180, y, 29, 24, -17, -14] // ↙ + [x+220, y, 48, 15, -24, -11] // ← + [x+280, y, 29, 24, -10, -14] // ↖ + } + + template tmpl_vehicle_empty(x, y) { + [x, y, 1, 1, 0, 0] // ↑ + [x, y, 1, 1, 0, 0] // ↗ + [x, y, 1, 1, 0, 0] // → + [x, y, 1, 1, 0, 0] // ↘ + [x, y, 1, 1, 0, 0] // ↓ + [x, y, 1, 1, 0, 0] // ↙ + [x, y, 1, 1, 0, 0] // ← + [x, y, 1, 1, 0, 0] // ↖ + } + + spriteset(set_vehicle_empty, "./Korean_Longer_Train_Set/gfx/LONGER_BIDULGI_CAR.png"){ + tmpl_vehicle_empty(80, 0) + } + +// Passenger Wagons + /////////////////////////////////////////////////////////////////////////////////////////////////// + /* dummy + // BIDULGI_CAR + // Graphics + spriteset(set_LONGER_BIDULGI_CAR_purchase, "./Korean_Longer_Train_Set/gfx/LONGER_BIDULGI_CAR.png") { + tmpl_purchase(0, 0) + } + + spriteset(set_graphic_LONGER_BIDULGI_CAR, "./Korean_Longer_Train_Set/gfx/LONGER_BIDULGI_CAR.png"){ + tmpl_vehicle(80, 0) + } + + // Switches + switch (FEAT_TRAINS, SELF, sw_graphic_LONGER_BIDULGI_CAR, position_in_articulated_veh) { + 1: set_graphic_LONGER_BIDULGI_CAR; + 2: set_16rotations_vehicle_empty; + set_16rotations_vehicle_empty; + } + + switch (FEAT_TRAINS, SELF, sw_capacity_LONGER_BIDULGI_CAR, position_in_articulated_veh) { + 1: 100; + 2: 0; + 0; + } + + switch (FEAT_TRAINS, SELF, sw_length_LONGER_BIDULGI_CAR, position_in_articulated_veh) { + 1: 8; + 2: 2; + 2; + } + + switch (FEAT_TRAINS, SELF, sw_articulated_LONGER_BIDULGI_CAR, extra_callback_info1) { + 1..2: return ko_LONGER_BIDULGI_CAR; //use same vehicle for all parts + return CB_RESULT_NO_MORE_ARTICULATED_PARTS; //stop adding vehicle parts + } + + // General + item(FEAT_TRAINS, ko_LONGER_BIDULGI_CAR, 6000) { + property { + // Common properties + name: string(STR_NAME_LONGER_BIDULGI_CAR); + climates_available: ALL_CLIMATES; + introduction_date: date(1984, 1, 1); + track_type: RAIL; + sprite_id: SPRITE_ID_NEW_TRAIN; + + // Spec + speed: 0 km/h; + weight: 26 ton; + + // Model + model_life: VEHICLE_NEVER_EXPIRES; + vehicle_life: 30; + retire_early: 0; + reliability_decay: 0; + + // Cargo + cargo_capacity: 100/3; + loading_speed: 5; + + // Costs + cost_factor: 80; + running_cost_base: RUNNING_COST_NONE; + //running_cost_factor: 64; + + // Flags + ai_special_flag: AI_FLAG_PASSENGER; + bitmask_vehicle_info: 0; + } + + graphics { + default: sw_graphic_LONGER_BIDULGI_CAR; + articulated_part: sw_articulated_LONGER_BIDULGI_CAR; + length: sw_length_LONGER_BIDULGI_CAR; + cargo_capacity: sw_capacity_LONGER_BIDULGI_CAR; + purchase: set_LONGER_BIDULGI_CAR_purchase; + purchase_cargo_capacity: set_LONGER_BIDULGI_CAR_purchase; + + } + } + */ + /////////////////////////////////////////////////////////////////////////////////////////////// + +// Locomotives + /////////////////////////////////////////////////////////////////////////////////////////////// + /* dummy + // LONGER_PASHI5 + // Graphics + spriteset(set_LONGER_PASHI5_purchase, "./Korean_Longer_Train_Set/gfx/LONGER_PASHI5.png") { + tmpl_purchase(0, 0) + } + + spriteset(set_LONGER_PASHI5_engine_1, "./Korean_Longer_Train_Set/gfx/LONGER_PASHI5.png") { + tmpl_vehicle(80, 00) + } + + spriteset(set_LONGER_PASHI5_engine_2, "./Korean_Longer_Train_Set/gfx/LONGER_PASHI5.png") { + tmpl_vehicle(80, 40) + } + + spriteset(set_LONGER_PASHI5_engine_3, "./Korean_Longer_Train_Set/gfx/LONGER_PASHI5.png") { + tmpl_vehicle(80, 80) + } + + spriteset(set_LONGER_PASHI5_engine_4, "./Korean_Longer_Train_Set/gfx/LONGER_PASHI5.png") { + tmpl_vehicle(80, 120) + } + + spriteset(set_LONGER_PASHI5_tender, "./Korean_Longer_Train_Set/gfx/LONGER_PASHI5.png") { + tmpl_vehicle(80, 160) + } + + // Switches + switch(FEAT_TRAINS, SELF, sw_LONGER_PASHI5_engine_motion, motion_counter % 4) { + 1: set_LONGER_PASHI5_engine_2; + 2: set_LONGER_PASHI5_engine_3; + 3: set_LONGER_PASHI5_engine_4; + set_LONGER_PASHI5_engine_1; + } + + switch(FEAT_TRAINS, SELF, sw_LONGER_PASHI5_engine, position_in_articulated_veh) { + 1: sw_LONGER_PASHI5_engine_motion; + 2: set_vehicle_empty; + 3: set_LONGER_PASHI5_tender; + set_vehicle_empty; + } + + switch(FEAT_TRAINS, SELF, sw_LONGER_PASHI5_length, position_in_articulated_veh) { + 1: 6; + 2: 2; + 3: 5; + 2; + } + + switch(FEAT_TRAINS, SELF, sw_LONGER_PASHI5_articulated_part, extra_callback_info1) { // articulated parts + 1..3: ko_LONGER_PASHI5; + CB_RESULT_NO_MORE_ARTICULATED_PARTS; + } + + switch(FEAT_TRAINS, SELF, sw_LONGER_PASHI5_visual_effect, position_in_articulated_veh) { // steam visual effect + 0: visual_effect_and_powered(VISUAL_EFFECT_STEAM, -3, DISABLE_WAGON_POWER); + VISUAL_EFFECT_DISABLE; + } + + // General + item(FEAT_TRAINS, ko_LONGER_PASHI5, 6100) { + property { + // Common properties + name: string(STR_NAME_LONGER_PASHI5); + climates_available: ALL_CLIMATES; + introduction_date: date(1939, 1, 1); + track_type: RAIL; + engine_class: ENGINE_CLASS_STEAM; + sprite_id: SPRITE_ID_NEW_TRAIN; + dual_headed: 0; + + // Spec + speed: 111*(para_speed_power)/2 km/h; + power: 790*(para_speed_power)/2 kW; + weight: 196 ton; + tractive_effort_coefficient: 0.2; + air_drag_coefficient: 0.01; + + // Model + model_life: VEHICLE_NEVER_EXPIRES; + vehicle_life: 30; + retire_early: 0; + reliability_decay: 0; + + // Cargo + cargo_capacity: 0; + + // Costs + cost_factor: 8; + refit_cost: 0; + running_cost_base: RUNNING_COST_STEAM; + running_cost_factor: 128; + + // Flags + ai_special_flag: AI_FLAG_PASSENGER; + bitmask_vehicle_info: 0; + visual_effect_and_powered: visual_effect_and_powered(VISUAL_EFFECT_STEAM, -2, DISABLE_WAGON_POWER); + } + + graphics { + default: sw_LONGER_PASHI5_engine; + articulated_part: sw_LONGER_PASHI5_articulated_part; + length: sw_LONGER_PASHI5_length; + purchase: set_LONGER_PASHI5_purchase; + visual_effect_and_powered: sw_LONGER_PASHI5_visual_effect; + } + } + + // LONGER_K7500 + // Graphics + spriteset(set_LONGER_K7500_purchase, "./Korean_Longer_Train_Set/gfx/LONGER_K7500.png") { + tmpl_purchase(0, 0) + } + + spriteset(set_LONGER_K7500_graphic, "./Korean_Longer_Train_Set/gfx/LONGER_K7500.png") { + tmpl_vehicle(80, 0) + } + + // Switches + + switch(FEAT_TRAINS, SELF, sw_LONGER_K7500_graphic, position_in_articulated_veh) { + 1: set_LONGER_K7500_graphic; + 2: set_vehicle_empty; + set_vehicle_empty; + } + + switch(FEAT_TRAINS, SELF, sw_LONGER_K7500_length, position_in_articulated_veh) { + 1: 8; + 2: 2; + 2; + } + + switch(FEAT_TRAINS, SELF, sw_LONGER_K7500_articulated_part, extra_callback_info1) { // articulated parts + 1..2: ko_LONGER_K7500; + CB_RESULT_NO_MORE_ARTICULATED_PARTS; + } + + // General + item(FEAT_TRAINS, ko_LONGER_K7500, 6110) { + property { + // Common properties + name: string(STR_NAME_LONGER_K7500); + climates_available: ALL_CLIMATES; + introduction_date: date(1971, 1, 1); + track_type: RAIL; + engine_class: ENGINE_CLASS_DIESEL; + sprite_id: SPRITE_ID_NEW_TRAIN; + dual_headed: 0; + + // Spec + speed: 151*(para_speed_power)/2 km/h; + power: 2238*(para_speed_power)/2 kW; + weight: 126 ton; + tractive_effort_coefficient: 0.25; + air_drag_coefficient: 0.01; + + // Model + model_life: VEHICLE_NEVER_EXPIRES; + vehicle_life: 30; + retire_early: 0; + reliability_decay: 0; + + // Cargo + cargo_capacity: 0; + + // Costs + cost_factor: 8; + refit_cost: 0; + running_cost_base: RUNNING_COST_DIESEL; + running_cost_factor: 128; + + // Flags + ai_special_flag: AI_FLAG_PASSENGER; + bitmask_vehicle_info: 0; + } + + graphics { + default: sw_LONGER_K7500_graphic; + articulated_part: sw_LONGER_K7500_articulated_part; + length: sw_LONGER_K7500_length; + purchase: set_LONGER_K7500_purchase; + } + } + + */ + /////////////////////////////////////////////////////////////////////////////////////////////// + + // LONGER_KTX1 + // Graphics + spriteset(set_LONGER_KTX1_purchase, "./Korean_Longer_Train_Set/gfx/LONGER_KTX1.png") { + tmpl_purchase(0, 0) + } + + spriteset(set_graphic_head_LONGER_KTX1, "./Korean_Longer_Train_Set/gfx/LONGER_KTX1.png"){ + tmpl_vehicle(80, 0) + } + + spriteset(set_graphic_2ndhead_LONGER_KTX1, "./Korean_Longer_Train_Set/gfx/LONGER_KTX1.png"){ + tmpl_vehicle(80, 40) + } + + spriteset(set_graphic_first_LONGER_KTX1, "./Korean_Longer_Train_Set/gfx/LONGER_KTX1.png"){ + tmpl_vehicle(80, 80) + } + + spriteset(set_graphic_economy_LONGER_KTX1, "./Korean_Longer_Train_Set/gfx/LONGER_KTX1.png"){ + tmpl_vehicle(80, 120) + } + + spriteset(set_graphic_economy_R_LONGER_KTX1, "./Korean_Longer_Train_Set/gfx/LONGER_KTX1.png"){ + tmpl_vehicle(80, 160) + } + + spriteset(set_graphic_2ndtail_LONGER_KTX1, "./Korean_Longer_Train_Set/gfx/LONGER_KTX1.png"){ + tmpl_vehicle(80, 200) + } + + spriteset(set_graphic_tail_LONGER_KTX1, "./Korean_Longer_Train_Set/gfx/LONGER_KTX1.png"){ + tmpl_vehicle(80, 240) + } + + // Switches + switch (FEAT_TRAINS, SELF, sw_graphic_LONGER_KTX1, position_in_articulated_veh) { + 1: set_graphic_head_LONGER_KTX1; + 2: set_vehicle_empty; + 3: set_graphic_2ndhead_LONGER_KTX1; + 4: set_vehicle_empty; + 5: set_graphic_first_LONGER_KTX1; + 6: set_vehicle_empty; + 7: set_graphic_first_LONGER_KTX1; + 8: set_vehicle_empty; + 9: set_graphic_first_LONGER_KTX1; + 10: set_vehicle_empty; + 11: set_graphic_first_LONGER_KTX1; + 12: set_vehicle_empty; + 13: set_graphic_economy_LONGER_KTX1; + 14: set_vehicle_empty; + 15: set_graphic_economy_LONGER_KTX1; + 16: set_vehicle_empty; + 17: set_graphic_economy_LONGER_KTX1; + 18: set_vehicle_empty; + 19: set_graphic_economy_LONGER_KTX1; + 20: set_vehicle_empty; + 21: set_graphic_economy_R_LONGER_KTX1; + 22: set_vehicle_empty; + 23: set_graphic_economy_R_LONGER_KTX1; + 24: set_vehicle_empty; + 25: set_graphic_economy_R_LONGER_KTX1; + 26: set_vehicle_empty; + 27: set_graphic_economy_R_LONGER_KTX1; + 28: set_vehicle_empty; + 29: set_graphic_economy_R_LONGER_KTX1; + 30: set_vehicle_empty; + 31: set_graphic_economy_R_LONGER_KTX1; + 32: set_vehicle_empty; + 33: set_graphic_economy_R_LONGER_KTX1; + 34: set_vehicle_empty; + 35: set_graphic_economy_R_LONGER_KTX1; + 36: set_vehicle_empty; + 37: set_graphic_2ndtail_LONGER_KTX1; + 38: set_vehicle_empty; + 39: set_graphic_tail_LONGER_KTX1; + set_vehicle_empty; + } + + switch (FEAT_TRAINS, SELF, sw_capacity_LONGER_KTX1, position_in_articulated_veh) { + 1: 0; + 2: 0; + 3: 56; // #01 + 4: 0; + 5: 25; // #02 + 6: 0; + 7: 35; // #03 + 8: 0; + 9: 32; // #04 + 10: 0; + 11: 35; // #05 + 12: 0; + 13: 56; // #06 + 14: 0; + 15: 60; // #07 + 16: 0; + 17: 56; // #08 + 18: 0; + 19: 60; // #09 + 20: 0; + 21: 60; // #10 + 22: 0; + 23: 56; // #11 + 24: 0; + 25: 60; // #12 + 26: 0; + 27: 56; // #13 + 28: 0; + 29: 60; // #14 + 30: 0; + 31: 56; // #15 + 32: 0; + 33: 60; // #16 + 34: 0; + 35: 56; // #17 + 36: 0; + 37: 56; // #18 + 38: 0; + 39: 0; + 0; + } + + switch (FEAT_TRAINS, SELF, sw_length_LONGER_KTX1, position_in_articulated_veh) { + 1: 8; + 2: 4; + 3: 8; + 4: 4; + 5: 8; + 6: 4; + 7: 8; + 8: 4; + 9: 8; + 10: 4; + 11: 8; + 12: 4; + 13: 8; + 14: 4; + 15: 8; + 16: 4; + 17: 8; + 18: 4; + 19: 8; + 20: 4; + 21: 8; + 22: 4; + 23: 8; + 24: 4; + 25: 8; + 26: 4; + 27: 8; + 28: 4; + 29: 8; + 30: 4; + 31: 8; + 32: 4; + 33: 8; + 34: 4; + 35: 8; + 36: 4; + 37: 8; + 38: 4; + 39: 8; + 2; + } + + switch (FEAT_TRAINS, SELF, sw_articulated_LONGER_KTX1, extra_callback_info1) { + 1..40: return ko_LONGER_KTX1; //use same vehicle for all parts + return CB_RESULT_NO_MORE_ARTICULATED_PARTS; //stop adding vehicle parts + } + + // General + item(FEAT_TRAINS, ko_LONGER_KTX1, 6210) { + property { + // Common properties + name: string(STR_NAME_LONGER_KTX1); + climates_available: ALL_CLIMATES; + introduction_date: date(2003, 1, 1); + track_type: ELRL; + engine_class: ENGINE_CLASS_ELECTRIC; + sprite_id: SPRITE_ID_NEW_TRAIN; + + // Spec + speed: 301*(para_speed_power)/2 km/h; + power: 13200*(para_speed_power)/2 kW; + weight: 782 ton; + tractive_effort_coefficient: 0.1; + air_drag_coefficient: 0.01; + visual_effect_and_powered: VISUAL_EFFECT_DISABLE; + + // Model + model_life: VEHICLE_NEVER_EXPIRES; + vehicle_life: 30; + retire_early: 0; + reliability_decay: 0; + + // Cargo + cargo_capacity: 935/40; + refittable_cargo_classes: NO_CARGO_CLASS; + non_refittable_cargo_classes: NO_CARGO_CLASS; + cargo_allow_refit: [PASS]; + cargo_disallow_refit: []; + loading_speed: 5; + + // Costs + cost_factor: 24; + running_cost_base: RUNNING_COST_ELECTRIC; + running_cost_factor: 96; + + // Flags + ai_special_flag: AI_FLAG_PASSENGER; + misc_flags: bitmask(TRAIN_FLAG_MU, TRAIN_FLAG_AUTOREFIT); + bitmask_vehicle_info: 0; + } + + graphics { + default: sw_graphic_LONGER_KTX1; + articulated_part: sw_articulated_LONGER_KTX1; + length: sw_length_LONGER_KTX1; + cargo_capacity: sw_capacity_LONGER_KTX1; + purchase: set_LONGER_KTX1_purchase; + purchase_cargo_capacity: set_LONGER_KTX1_purchase; + } + } + + // LONGER_HEMU_430X + // Graphics + spriteset(set_LONGER_HEMU430X_purchase, "./Korean_Longer_Train_Set/gfx/LONGER_HEMU430X.png") { + tmpl_purchase(0, 0) + } + + spriteset(set_graphic_vehicle1_LONGER_HEMU430X, "./Korean_Longer_Train_Set/gfx/LONGER_HEMU430X.png"){ + tmpl_vehicle(80, 0) + } + + spriteset(set_graphic_vehicle2_LONGER_HEMU430X, "./Korean_Longer_Train_Set/gfx/LONGER_HEMU430X.png"){ + tmpl_vehicle(80, 40) + } + + spriteset(set_graphic_vehicle3_LONGER_HEMU430X, "./Korean_Longer_Train_Set/gfx/LONGER_HEMU430X.png"){ + tmpl_vehicle(80, 80) + } + + spriteset(set_graphic_vehicle4_LONGER_HEMU430X, "./Korean_Longer_Train_Set/gfx/LONGER_HEMU430X.png"){ + tmpl_vehicle(80, 120) + } + + spriteset(set_graphic_vehicle5_LONGER_HEMU430X, "./Korean_Longer_Train_Set/gfx/LONGER_HEMU430X.png"){ + tmpl_vehicle(80, 160) + } + + spriteset(set_graphic_vehicle6_LONGER_HEMU430X, "./Korean_Longer_Train_Set/gfx/LONGER_HEMU430X.png"){ + tmpl_vehicle(80, 200) + } + + spriteset(set_graphic_vehicle7_LONGER_HEMU430X, "./Korean_Longer_Train_Set/gfx/LONGER_HEMU430X.png"){ + tmpl_vehicle(80, 240) + } + + spriteset(set_graphic_vehicle8_LONGER_HEMU430X, "./Korean_Longer_Train_Set/gfx/LONGER_HEMU430X.png"){ + tmpl_vehicle(80, 280) + } + + // Switches + switch (FEAT_TRAINS, SELF, sw_graphic_LONGER_HEMU430X, position_in_articulated_veh) { + 1: set_graphic_vehicle1_LONGER_HEMU430X; + 2: set_vehicle_empty; + 3: set_graphic_vehicle2_LONGER_HEMU430X; + 4: set_vehicle_empty; + 5: set_graphic_vehicle3_LONGER_HEMU430X; + 6: set_vehicle_empty; + 7: set_graphic_vehicle4_LONGER_HEMU430X; + 8: set_vehicle_empty; + 9: set_graphic_vehicle5_LONGER_HEMU430X; + 10: set_vehicle_empty; + 11: set_graphic_vehicle6_LONGER_HEMU430X; + 12: set_vehicle_empty; + 13: set_graphic_vehicle7_LONGER_HEMU430X; + 14: set_vehicle_empty; + 15: set_graphic_vehicle8_LONGER_HEMU430X; + 16: set_vehicle_empty; + set_vehicle_empty; + } + + switch (FEAT_TRAINS, SELF, sw_capacity_LONGER_HEMU430X, position_in_articulated_veh) { + 1: 22; // #01 + 2: 0; + 3: 34; // #02 + 4: 0; + 5: 55; // #03 + 6: 0; + 7: 118; // #04 + 8: 0; + 9: 118; // #05 + 10: 0; + 11: 18; // #06 + 12: 0; + 13: 55; // #07 + 14: 0; + 15: 36; // #08 + 16: 0; + 0; + } + + switch (FEAT_TRAINS, SELF, sw_length_LONGER_HEMU430X, position_in_articulated_veh) { + 1: 8; + 2: 4; + 3: 8; + 4: 4; + 5: 8; + 6: 4; + 7: 8; + 8: 4; + 9: 8; + 10: 4; + 11: 8; + 12: 4; + 13: 8; + 14: 4; + 15: 8; + 16: 2; + 2; + } + + switch (FEAT_TRAINS, SELF, sw_articulated_LONGER_HEMU430X, extra_callback_info1) { + 1..16: return ko_LONGER_HEMU430X; //use same vehicle for all parts + return CB_RESULT_NO_MORE_ARTICULATED_PARTS; //stop adding vehicle parts + } + + // General + item(FEAT_TRAINS, ko_LONGER_HEMU430X, 6220) { + property { + // Common properties + name: string(STR_NAME_LONGER_HEMU430X); + climates_available: ALL_CLIMATES; + introduction_date: date(2012, 1, 1); + track_type: ELRL; + engine_class: ENGINE_CLASS_ELECTRIC; + sprite_id: SPRITE_ID_NEW_TRAIN; + + // Spec + speed: 421*(para_speed_power)/2 km/h; + power: 9840*(para_speed_power)/2 kW; + weight: 402 ton; + tractive_effort_coefficient: 0.2; + air_drag_coefficient: 0.01; + visual_effect_and_powered: VISUAL_EFFECT_DISABLE; + + // Model + model_life: VEHICLE_NEVER_EXPIRES; + vehicle_life: 30; + retire_early: 0; + reliability_decay: 0; + + // Cargo + cargo_capacity: 456/17; + refittable_cargo_classes: NO_CARGO_CLASS; + non_refittable_cargo_classes: NO_CARGO_CLASS; + cargo_allow_refit: [PASS]; + cargo_disallow_refit: []; + loading_speed: 5; + + // Costs + cost_factor: 24; + running_cost_base: RUNNING_COST_ELECTRIC; + running_cost_factor: 96; + + // Flags + ai_special_flag: AI_FLAG_PASSENGER; + misc_flags: bitmask(TRAIN_FLAG_MU, TRAIN_FLAG_AUTOREFIT); + bitmask_vehicle_info: 0; + } + + graphics { + default: sw_graphic_LONGER_HEMU430X; + articulated_part: sw_articulated_LONGER_HEMU430X; + length: sw_length_LONGER_HEMU430X; + cargo_capacity: sw_capacity_LONGER_HEMU430X; + purchase: set_LONGER_HEMU430X_purchase; + purchase_cargo_capacity: set_LONGER_HEMU430X_purchase; + } + } + +// Sort + sort(FEAT_TRAINS, [ + // ko_LONGER_BIDULGI_CAR, // 6000 + // ko_LONGER_TONGIL_CAR, // 6001 + // ko_LONGER_MUGUNGHWA_CAR, // 6002 + // ko_LONGER_SAEMAEUL_CAR, // 6003 + + // ko_LONGER_PASHI5, // 6100 + // ko_LONGER_K7500, // 6110 + // ko_LONGER_K8500, // 6120 + + // ko_LONGER_SAEMAEUL_PP, // 6200 + ko_LONGER_KTX1, // 6210 + ko_LONGER_HEMU430X, // 6220 + ]); \ No newline at end of file diff --git a/changelog.txt b/changelog.txt new file mode 100644 index 0000000..4eafc27 --- /dev/null +++ b/changelog.txt @@ -0,0 +1,6 @@ +한국 더 길다란 열차 세트 0.1.0 (2024.03.16) +----------------------------------------- +* 첫버전 +* 차량 추가 + - KTX-1 (20량 고정편성) + - HEMU-430X (8량 고정편성) diff --git a/gfx/LONGER_BIDULGI_CAR.png b/gfx/LONGER_BIDULGI_CAR.png new file mode 100644 index 0000000..bee64a3 Binary files /dev/null and b/gfx/LONGER_BIDULGI_CAR.png differ diff --git a/gfx/LONGER_HEMU430X.png b/gfx/LONGER_HEMU430X.png new file mode 100644 index 0000000..182c646 Binary files /dev/null and b/gfx/LONGER_HEMU430X.png differ diff --git a/gfx/LONGER_K7500.png b/gfx/LONGER_K7500.png new file mode 100644 index 0000000..c3f94ba Binary files /dev/null and b/gfx/LONGER_K7500.png differ diff --git a/gfx/LONGER_KTX1.png b/gfx/LONGER_KTX1.png new file mode 100644 index 0000000..0559511 Binary files /dev/null and b/gfx/LONGER_KTX1.png differ diff --git a/gfx/LONGER_PASHI5.png b/gfx/LONGER_PASHI5.png new file mode 100644 index 0000000..eca4ebc Binary files /dev/null and b/gfx/LONGER_PASHI5.png differ diff --git a/lang/english.lng b/lang/english.lng new file mode 100644 index 0000000..ca45aaf --- /dev/null +++ b/lang/english.lng @@ -0,0 +1,26 @@ +##grflangid 0x01 + +# GRF name and description +STR_GRF_NAME :Korean Longer Train Set 0.1.0 +STR_GRF_DESC :Korean Longer Train Set adds more longer vehicles of Korean Train Set. It's experimental NewGRF. {}{}{BLACK}라이센스: {SILVER}GNU GPL v3 +STR_GRF_URL :https://github.com/SerpensNebula/Korean-Longer-Train-Set + +# Parameters +STR_PARA_NAME_SPEED_POWER :Max speed and power multiplier +STR_PARA_DESC_SPEED_POWER :Set max speed of all trains. Some also change the power. +STR_PARA_SPEED_POWER_OPT_1 :x1 (default) +STR_PARA_SPEED_POWER_OPT_1_5 :x1.5 +STR_PARA_SPEED_POWER_OPT_2 :x2 +STR_PARA_SPEED_POWER_OPT_2_5 :x2.5 +STR_PARA_SPEED_POWER_OPT_3 :x3 +STR_PARA_SPEED_POWER_OPT_3_5 :x3.5 +STR_PARA_SPEED_POWER_OPT_4 :X4 + +# Engines +STR_NAME_LONGER_PASHI5 :Longer Pashi 5 Steam Locomotive +STR_NAME_LONGER_K7500 :Longer 7500 Diesel Locomotive +STR_NAME_LONGER_KTX1 :Longer KTX-1 +STR_NAME_LONGER_HEMU430X :Longer HEMU-430X + +# Passenger Wagons +STR_NAME_LONGER_BIDULGI_CAR :Longer Bidulgi Car \ No newline at end of file diff --git a/lang/korean.lng b/lang/korean.lng new file mode 100644 index 0000000..548d994 --- /dev/null +++ b/lang/korean.lng @@ -0,0 +1,26 @@ +##grflangid 0x3A + +# GRF name and description +STR_GRF_NAME :한국 더 길다란 열차 세트 0.1.0 +STR_GRF_DESC :이 NewGRF는 기존 한국열차를 다루는 NewGRF들보다 더 긴 그래픽을 사용합니다. 개인 실험용 NewGRF이므로, 개인적으로 좋아하는 차량만 만들 계획입니다. {}{}{BLACK}라이센스: {SILVER}GNU GPL v3 +STR_GRF_URL :https://github.com/SerpensNebula/Korean-Longer-Train-Set + +# Parameters +STR_PARA_NAME_SPEED_POWER :최고속력과 출력 계수 +STR_PARA_DESC_SPEED_POWER :모든 열차의 최고속력을 설정합니다. 일부 차량은 출력도 변경됩니다. +STR_PARA_SPEED_POWER_OPT_1 :x1 (기본값) +STR_PARA_SPEED_POWER_OPT_1_5 :x1.5 +STR_PARA_SPEED_POWER_OPT_2 :x2 +STR_PARA_SPEED_POWER_OPT_2_5 :x2.5 +STR_PARA_SPEED_POWER_OPT_3 :x3 +STR_PARA_SPEED_POWER_OPT_3_5 :x3.5 +STR_PARA_SPEED_POWER_OPT_4 :X4 + +# Engines +STR_NAME_LONGER_PASHI5 :더 길다란 파시 5형 증기기관차 +STR_NAME_LONGER_K7500 :더 길다란 7500호대 디젤기관차 +STR_NAME_LONGER_KTX1 :더 길다란 KTX-1 +STR_NAME_LONGER_HEMU430X :더 길다란 HEMU-430X + +# Passenger Wagons +STR_NAME_LONGER_BIDULGI_CAR :더 길다란 비둘기호 객차 \ No newline at end of file