From aaf70ba93556b3a260cafb50a4b742cde4b2a5d3 Mon Sep 17 00:00:00 2001 From: Nebula <75788864+SerpensNebula@users.noreply.github.com> Date: Sat, 16 Mar 2024 19:57:09 +0900 Subject: [PATCH] =?UTF-8?q?=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8=200.1.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Korean_Longer_Train_Set.nml | 750 ++++++++++++++++++++++++++++++++++++ changelog.txt | 6 + gfx/LONGER_BIDULGI_CAR.png | Bin 0 -> 4217 bytes gfx/LONGER_HEMU430X.png | Bin 0 -> 7469 bytes gfx/LONGER_K7500.png | Bin 0 -> 4073 bytes gfx/LONGER_KTX1.png | Bin 0 -> 6830 bytes gfx/LONGER_PASHI5.png | Bin 0 -> 3659 bytes lang/english.lng | 26 ++ lang/korean.lng | 26 ++ 9 files changed, 808 insertions(+) create mode 100644 Korean_Longer_Train_Set.nml create mode 100644 changelog.txt create mode 100644 gfx/LONGER_BIDULGI_CAR.png create mode 100644 gfx/LONGER_HEMU430X.png create mode 100644 gfx/LONGER_K7500.png create mode 100644 gfx/LONGER_KTX1.png create mode 100644 gfx/LONGER_PASHI5.png create mode 100644 lang/english.lng create mode 100644 lang/korean.lng 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 0000000000000000000000000000000000000000..bee64a31ad6c7b2f7b74db9182161072f8f3c800 GIT binary patch literal 4217 zcmZuz2{@GN+kcBnML1gCvW$?Un#0K0LM9ENIT~fHVJ0K%$jDm6R8yu*vdqc86&VLv zvJ8#wV4{XpBg$HnT_lF^;v03o@0{;{{om`p-s`!Z<-UK<^Zf4L{oKJ?os`(NZyNvr z5*Fs@GXSuWBW$z9M1+4#OyX7m5CO0l8&d#Slai8BR8&MD5GWK1i^aOSx&{OUP^nY~ zgTZ7nSu9pdOG|fm_vq*-1VKncb2J9$Kp>NZQ|O7QnFYnHCT>SB0xpU&6vtwA5^!=M zAt(mJwYZqd9M@i&226gQyf)N|C0B%+$lMZAe^? zuwH7+WNJ3Vu7^4RXw(pbC>S+>U?>*gAV&+(OQm6pQ%Ox_G&Beh;Gz_?SSmq^6$0{7 z6-QZ85D$R9Qy{2bQ4~P!6tj_&BEjV-dTI=FJthvrA~`fsNIV8b3<*e~07a}Qf*^__ zi`!6ldNAZDOt>5pgrgM=9S~R#Lys^Fg@H>fCY5o+q>!MZIb4rmjtOue&`2TKw8VNQ ztG7iF1oY$pb2U*1q__tP46}jLNvKSU14d1XfCK~3YBU?YYyyf!#&RhH9)mo{q)f6I zSUFKwwVfe)YIF=L)0M!Y(NxsX2&4@P<%-1yxVqA))a-(SdLD03Z6_H8k8wa1cwm}B z90utgP$msxGa&#Z0V-4gnF*M)00IvT>D7xFbzpv_G(qe^ND4&&u_QG@2$D?2(lY}J z>QlMB+^enfM6b& zUjP=q1K$^c#U)^A8CZq@Xa!hV1y65tpNl#`oL4_!)2g}PVOqRvslo5ZVs4NhExeT;iABl%V;`&O5 z@JCyFQj*g8q?u#kO50C-CF$TGt&h-2g|^CVpnb&KcmCv8z7)Gm7(tvvpqE~skzbas z+#WY$GUl);d)M=*TPb!uW2gM#2@`>{Cq~j?;6l6a1((`$dCf|n@AE`wOiT}#pVQ6B zi5>Ox^33fFT8cQ3{`!ST^WzpnW5iTOh9lDkj?T7ef!QPZ4%$aF52xMT^K$50rS_9A zbMta_WwJ)PHJ_^Jjw4$*E3@Y-wkMZ32R#sA&Zt~vn0*T+-t#u7F*^C}CCXyDd|UGc zuEDy~0biMk@TojFrgPNxcn11|ft??JwWwrLK z9(_;F&t17aT^!&vJz6wHui7uNSe;4RmdPvMN4^Ffy_OhS!YNPdzgTM3e>!4dL4W5+ zhkU@}8z;jFhI0I2ogDtd-J!%~vXkQL1*Q9<@g2fbh`yYrvSa5&hkUW_a2yPjjLDFC z&bJ@-KA#v$I^wreFwlMnPU(0$M18<{)ab_ofEhH_G9`t0N ziLi)|O7B)ty*rksAALr(^~6@o@KJTGsRTUvO7-V09Ffn#NNL;E;Ow64lah?honS&t;+ z_Ycd*mjp(A+^ccOePf)OOXv5+->42pS|#aK1sqYL;Mi&Bwu1%F@6lD& zQW&i_^=kws2s;Ii%9((tCp zHftIsW3?kDNq7&q^iRz^gBETSIXOK$+_(gf~}nU1$BEt2Q=A&e25 zi9d`#-SFKTzej_vG%LJqWB#p0%F_;w>A)Grwr5kgrAPBQ6Yb^6wcBN;7O(q7aH@Ty z2G>V7s%L=i8Db7KQ@H#wgClN2d<*V|9|LFRuKwX1Jmqq4!oRPI%wY>tZsVKs>?Q45-*7^2#?1Ssp|C34u{I4Q?wZxf#8{`IsD%BFvMRnh@fC0H zm+008uTLwPN{+5PJDad~ezHnE-TBM-6N6yWZ+X+7T(vw6u08*KlkiYO0FI}K6|4>K z*8Oy(I;6j|-RxUlY^v2O_t5G0K}%Njq;)ado4bX3s`0oM?BR1x;XKDy1vYF|;OCPI z3-aYE8zU5={mfJ5x+}Vx^A)Rbslu(Ng}2mbt|x*q|H6}~J%!APcH5ZIXvr&1Y@K|+ zI;h%dk0d>pX!t2`#wPl6oYL!4T_YV`%@b_hOKEt*mHLn)oD+494?cvZzZ!w6{S!8} zj^xVmtNr`tIjP@7h^q8_`=dwmn-@vW()mhNBK&%2SPQW_mR}O;JkORI4^xfp_0%3t zfq}D5_u4i+Yaec=O4bZPa?92JU+jryLc$Ex_;EhZk*v&3&*JtJ4fQ8l3wd+1WV+ga z#NGd0r_8|nV= zZ^F_6BEl?8n&Z`)qB#Lc!9jj?2+g-1y#AA<1UibMxp4zWOcci9E$fdDOiC|R#LQ1C zkIgDDuKT{O-p9nJEM3I(6d5<_*+h^NT|PqHjccFyPKnf^cD_+VF4q#R$)Hw$#yLct=@z8K&6HOJ`jC^0XUiM#Hi!23-6M16eOB7YABqb-saj8vpQi** zVMIN?rLFyiO8H0OTreRSRhH%HQ#^eoA+lvHhiET@mW95x>LhL(INB5I7c?;?IQ)x; zZQX=O&iF}AVe()2I#n)uWnaxel4gxrw+~Y>$n5Hli#g|G=-z@i^h!rtS-Y9>-zw(G zr)4XeqvKrQN6rMSTuzq|Jgvox5Oztv#@9LB97$ff60F$2^g3qDHbt4Zu|(_gsbfWC zv(O$X(JQ78xrnzLgLuDH+@;{WPF(71><&mNz&8|DgpYyNc;iY&(De^TDh{3MEK+)V za44F+X;YE}@nx#;l+UbwvCQxNWx3SLv8PB?;3MT4=)L#Z)M1|(x0q77go$6n1X`8S zt4sRuMsV74`N_wL;O(ClTigAk*kW^))o_F1MwUl?;OT^0jL+%joutdpy-)0VYLLQs z5NdtST8#6jHgV`8DI)Sb{F>mfe8b~{j4z1=1M^FAj~vAHG%I!`;BS>?APi^+%F8v< z3CPOhWl@v>iM!z@;R61AXA$@5lkjI!oW`!xV$wKc?;-WB zSAmAV@IUC->`mAa86@)}RLT9U-6aZ!$kcINu=B3s1I=6J{^giGZF5OvLvX$=Y z^bNkhbjMEcboZr);R}RRjRTH*dM%1pDs-PY%B05r)w9{N8GFC6_Ou4kT7T|s%&A{% zvpXN5IPVs!D#LA?@YUh(yfE)H4)f%}Jy8}_5{}9=Rb)kj`n$}GKhuo;{`A@0xp~{= zA;`y5f5$~Q);Kr((UILYvNr8{6DH*nR=0eACoiB~&i7C>KVW<4X_*6&cKb}(;vW@u zi+~2_kMK0`(aq)I%81>^IPV{4sx1J-}v8g zm2tz5ZK=$2z9`9EX<<3O_fsbFit@ta+0X@}AqMYNT$0)3XyB*AmHWM^o+g4^gvttB zPB39t*9wkozddqN>DE`d$=V=Uj50=s22+izT!F7=yg0a41}1Bc>uMAAPsl#WT{J+L ztr!Yq)BS?FJWkkin6NDzou1f;d zZyt9}IEP@Yobd45&&U>_GPW+(^O1zG_IiknFUao|N;q>s_y3d&VW#*~&TdHZj~A6_ zeF_X?4Mz%P@9#4EqhUt*DPjNbzj0kr|79E2>-!^wf=j>V-qW$L|2q87BS4&kzoD7G zMO$&ddey;m|p8NHBzuxaxtnFEAsclNz0059W ziLtT+01!>s(PCiX$ZPk$P5=M{wl?<10bmmbgCP(ILqkI}8f|N9>+S6w7#J8C8JU=v zn3I!JT3XuD($d@8J25dK5D1Ks7%LkWyobN9a7uhqN_t*FX+!(B0YhC;G*Z&mM%Kec zg-ApvCVCeXM7Fo*V01 ziW+)|qWvZ9BV~OORVX>SD#i-BRtO~C(AEd(L$;wLx+E3&7PgaN#tI0GuBivcCJ^rt z<4eqnNvg>y9cV!)0H!JcMq3nbEa`(*AlvK4`=Zk+cpGh)hp|GSm3EB1X_g1N)Zez9 z;=xMvXXj9+D-vy0M7_0TiKg1|Ht2M3kJ6YJO>HYfV|z5(+txPF+dC#QGAl2yhQ(rQ z%le~rX?S#=k4*y+&yM#Iq{j#@*Y_qWQ4 z_io6EVYd|Uzm;xId=nr6zy$y(0FVv<4FJFf0D-XC0s>z^5CaIZ06`5P7ytwUpgl%x zj3z2b0R#nxf(CCvZ<3e-UQ*LX)|jkf6|e1*WlF5TB=vgdv0YM(eGAa!78@Gdg}o$b zndTP`Oh;Dq;*;{0fF&NlTLzX_fE7N#UjuC+fQ`Sv-%ViCMnTM1SAm8x zF7UPg{y1E?MS(pa@Bsv5K#&Ls@&G{tfEJ<|01OQQG#aqA1vWPUgq6Q0CQ#dksB23$ zw5MRaY2J}Jy-NZQN|u#J{O0Cno8##W08pGbX?4_|*f*1U*3U^`M(UY)Pf@L6z*t|!e%yjZy7{WAP{bHHrL z*Iy^5xf{}m#$5CS9sO(LkmY*N?B;b<#0IA&Gg4grxKXm3O!ieSI=DDd-u8&V*G6` z;^I=pK?o*zqP`W6D5@HWAAIF^uabMzqCwgp_3F>@j^TY#h6;@ ziBr#h?J2HwJCE>9HGw1LEPgGj+9{x4IJ@@L$6B4dpmu$m4vo95*W}F!$o?xUIsKFt zaSK-RJ<^ewg7Kfr>6QzsxIfRMRH^m(DVw=d#h2fIFT2^N#LR*;}62QwFx)gIBePPx1!yjzGRttf0%pq zqi!*O=P&EAM^5hg)1pf%;p6jfqM9yVLib%6te)PwKLuMB*jRW~GV3ircm3e+`X+OP zin#gcWMx6cVC#q6CQMZP!|SSdMHDM>Dt`_-XO!Vi8hNewpnLmt1T>?F3Z0MF>JGL1 zl5}Qu#8;Tt$>{(Z%Fa$vziym9U20BPnOqor^JQ@=m*WtfQg#i#{mye0tPO&C853eW zqy$!XKnxD+oQTRkNNFELtr6@RU-ZQdYafru=|Yix&mYPGw&%A+ZbxvKr)J&o+cOkk zE5AcEt&*4j61-Hi!jMXM@XmHj1aK6pfT7FYeOl9Lae;jPWIMBHWmeH|*DFzy|M>;k zM(Ihun#%!;V#$6i{H<=R$SP$X*`49~#c10;%Whp8qg-rr@bvAw~ffjze+ z(nKvqY|TIUHw(aQD(!k|$jq$n$q-Ka?@`QP(Y;dJZ>0HfY1&uv#C3sNsG3 zVnBptwvzhfSG|Bw`A=VN!Ccs9s!#Sc(ce?mStk8eYm21V(smQ&>&{pN`ND*nuLq2~ zy^KVjMhtTw(j>LkY3Q>lV&;DyyqXhnlx?A`&qRi58V=n(Ef>@f+ho%x^SyF2CF0mnv)D9-@DAU&0IO{qJKhs$+TK*gtzcWfXw{r#;M4#-uVgcXi zLu;dceSAfQgjcA2+;wz^LqC^T5tnb2#t+`!yY_LKKG|o)4fUrm)6C&2>2BZOI92ga z@l%gqiFJNRE%2RdK1mG+BXobi*@1bMivOVdamsZgON_q&}-X!;|TTYxl0lMBDxy{sUG3v)!MG{20IW)*h^+>^V(eW(gIB@cxO0=G;= zeT=AamQ~4R%q~q7@$vgwLAYlku@iWu$8Vcyy0?jJLqrPy&>@iZLojzZ1Ed(jk^L?4 za~P@IlC17I_gW4cwiQ~BGibBhXQovJmDPMH65;2NcHkw1KIp0Y+;k!PJf###;2oSF zJr}T3oBDm~QL0jJ?E573u!ZC-Tc0&}am*Kt=V-M*=l88P_9W!Xf9#PQ9Xv7rS80)I^ZpG`wwgzbD$f*3G z;0=ExB;kBp+8-v)X&-kl#$;CAr*4mQ7kGuoDnBiINjaCHPjeaXet#=9t4V84$;BFu zf)B-CCUQ=YcWEjQnRy=AsW)sF5{2eYZ?m&;yacmEE}}w$^~y32`MtA3^yP8nhCs={$V(x zEB*_pBU#b?vjOg<2Ui@MszF~{_QDXct|@QY`j%=u9l|X#xZ)}qBX4q>Mwt1M4GV0_ zJl)LF?nR$bP^#wWn?_ssK8rUDxFp6Do62bay`c@`dU!~-9PlR#4?PrNP81?xxskToEaMJC7!~!R)_TA)pR6|npwcmeukIYiqL%q?Uvbo55iW#F z(Uu}Ij!+@Gjz$Fxf>yD;+SjV7?H<)P(T#{1W>^6v!7U4S>_~7-v(^#;a!+C(5&}$3{Cto8;wUB1Tt_de8)TH0i1@C{jUs^o#m>s@tvFDLoOM2`9!zesXFE$(`*c60TQ z8vo_y>LO#^x!(N^WH#4vR#okHXYgC9l~r~q$IjtUg#Y@jOgagHAccftmZ2RAr|~Gl zLo9B=ATaY1ymYh{l)X1Ebjelu`2Lg+l79W73)K#mcUd^7h?Rlg5jNs9${*!X*KXm_&t(~JNs_H-Y3+4Eb(f8CJ z(aqejC{b7?eeM2eZw(ltIW3u=svrwhL3x}C^DXxsWlCt?xi)@vN9YfnL4$3`uxasp zO~@_ZXA5GnvrOj^97D-DgrjRA=cLzURu+unWv7)XS9%rN}jVEQ)kvoyTETE72yVnALsvz>gVlW!jiR6Ik;?X(x{+ zs`+16>$Vg=`KhZ@B&rGepX}MKpQ4k<+!-wMh&aFqZtGXkMFTR0V*Np~pN#hcQKBrXo zZl?1cAR14uz7?l--EeBa`8nmQb%Fiz_8KH~%uiI_J1`nbY?LpH&N1!N8i^?BI08Qs z736Y{;CV9S7CDMBtD2(dKDE=m7k+Uh=lKtvW~Bf1e=E^Y4H)^{&CF-lQ-h0UU7cP# z==D8X*vif5V+f+>8sy(aCruvP?u#0JP*Tw*HL5Omv^Cgr<0f+a61V#u-&X25WF{v6 zMS_7n)ad&R5g%b3()IV;ofNd02EH|JWVDtgjkrucGn0^?>#tcG+JZNK)_r;P9f8Ou zymW3lbs9xz)w#0Zn(^AjW*N4I9=X?=brw4qpZ|7{d(!S2Svi!`yWM95Q0|$D2u*Z2 zH1+gIYt)rIMum1&S?Ub)&Cy*vR^yXBF5E4X>Xi)rW@#?_ffRDydGB>573WaowaND$ zY&S6f;)x>1OugRhYi%AFLXvCuuacP zKqL3wOH&POp^u*F*eLWP(Ul9&#w9*_;LPdq26wi` ze{PRR;IJE);|ws+pKs`94*AGs{@o>7CFiLZoH)(hQue&)2_%7qqoS%jfX#Me(jA~HP+k119VP2tQhAO4q( ziE0XwT9iM=Y?dENKtE>Ck-RZxzf87s2>Z!+`7WwK?!w>{k=?kBzLw2B?pPJ-2o-Lq z4t%bwaf*pmWIrQ~Tfq7IxU2U|wX43Nm;S*s2uz;7^McpvxXgOX9bau!%+#|eyT_Qd z!QXjM-wG#IeqdCQ$UJF!*{)%2J+98ryGAp}q31R7rIR@EO+ zgW%p6?Zh_9XGf>g*MzIh!oz&9s;7xiC>i-Gd6;<{hi~Y)IocV$%+l-QY7a`G<^zN( z#cNHam*uSJkB0u}4_WG-p#8Lrn?(|C?Gqb|kkGu1B*5Jbsc@puiOoT%fvy1=kXaw&D)LLC;^|OlLCc56)yk3Q1Kpg67?@scwZ!lW4uxSzq6QV z1O05o{Zae8GY;v$X@3q%UW7pA{YLd6AD%GIO1=@cQ)D|Gp`TgyS*Kne%7rb=$r8@{S>2BN{ zuXzidbbIlE!SoZA!obDiYvuf^Lf2we zaUZwH?q^}7X~ou91v=@1Ll^fxIP-NV=xsmnJ+wJ}tEpOIjodfv1u+=~OeIBf*DTC^ zomF+tG0u+l19GM%=eppeG|&*xG7U5|bXp8|f?n6-f-OpqK}4#KpC`z@>vah}V=SKK z{4EB%$l47{GxTj)5~? z-?|wEzP3T)6owW?4dR+dx{y2%?&r$K@);3{8l&gRp4T39S=2wU`Qzr`Ya1izfSlS2 zD=wWYuIVh)-#RV2Vf$3M^>yEgh_=L^@A2olz$H!1BJBnQxUNO4_id~y7EfZ23?R=2 z?|`b1`-*d4IA0>M6ZiopPru%4Tw(W|=?~=;M;^_UwH)6~f#_EVoV~6!C-9XHcT3Bv zS<2MmfS~dMtz$+K80Res`GXReAE>?RA)Hg>!6zziO*naUAXfD<&QZ52_Y{4t z3C?$qVd(3(=3~g07Fa9uEIlMg3KYw%gwq@sSzcJv5KbpZNC_A8!}~LNto@=yst3RD{~r0RBTSJN_jN>@C29tx*Ij-@dtEB-3o{Og)Js zm?#lZ{Jz^;4Li6oLH&Xv1m^V1iK(ghBaWhYow2nF*B{6)uqKTxLu1t8ep5`H14^Tb z*SM_mWE=wPdaD2B3QQrNfJh=%WH8=+@ku-xy`_ctTfPA|_j=}S#K0GvTw~*?9*S`3 z!~v9qN{67B%i1iv%Dw+R^U;N8C6KCIhQ*6c8<1j$;BE*O4CVnB*FVTw+%(W<;J(-th2|f z`*GG;tvN`-SRF4ol+*I1{NMeLuXD>RBZN_iaG+yohWV6i?LK9q~StZGdN6gm7+wP9}IFh2T+Erg;xH1+|_MItroH9|BuN~ zC5*c6WOI>|Jl35s6z^d~g$s(nh&poNUoCX@e)zVQjvU6j*6=l%j~r&S$cXlkYp?59 zgXlt4KNQasG*T1MgM)&+%jjn0xF6fbtXVimBw=+6QOwZYYm8F_hXEiEh?;fQ8Kl9ec%o|$$ zfl$;JDio+OjZ8nGbt^R%qvn8BmE(_z?<`R0=l-Reg=$?@+CLM~_OZ!|Ov$>DpSBOi zV0=Be)nwwfX4+O-8XlW!P~%^-dW!$#Qwc-5uV~E}J^*mEgKZvOU;J zd13vD_SOOrJL%CyYeeB*)9n{m zY8tOXd^fhx&GdvWWjV^fgTxULV@}FoRrhNzF*vCSURYO{PT$2N2r1=vt3G-*j_u$- zjD!b4P|(Y%h_1T;jlf~{7%F^Arjyiy|MM=Ra9CF!D^AFjB){6-68(D{ z_0ik@GZR_hE0{>e-ba zR99{}oWg6wmeS4oqb4+_w|x*>Ans9(DXl%u83yeeK&^h_A*>cSpv1I}D6k&%A`}*l}9Yu4N#EFj)%m+Ioz7!E{?qtIoz(*dH zPBEibDckgeAJ}8V_Le>eF9h&ddk3J}cEXZ}LMz^F1P(F6rq)Tx+;CFd`7az_eMD&h zM{Z;+J)vQFT^~ffo8bY5YI{;C(?2cw%>`RdqBAGeE86kn6UBceO-SSN ZozI_4FydvWegnemdol2Ip=v^=k=V|bDmU+>j9NbnwtOsP&r5@ zxdDJe%6d+LDXm8%SN)>^paf8y-5mj74S_(Q(P$hFM zEEc!5waMl3iHQji1n~qi$(cr_M>5t+(z6A^qEc~_tZN8|g%AmFiZhZ<(`GV>e11@A zDMuy~k+Bde0U1KU#)puzIW)15*(c%84wVuC2o-{eM4-87ywKWN;?9tT#1C;YzX|d| zi4^PtzzG5fvYjyiodAoWYI9?(1zbw0fYDUWC7}R17Q!aM1ayR$iRu%eC&UP_4*(a~ zASgvc03s6Ru8m+|wb|AfKG|ACa~3nGO>9OVpAEwU2qJ){KyY*jF%s_1L5A?P*&?hq z9)%^L2~->a3}L^_JXz|fiaNDd`k7*iw_$cAK7U=beQhsT5K z2%>_S@t{};%Gn%VJIrxAOwkz*CwT7X!+Jm2{~IH zR5U^p;2EXF_%`Rv5!%Qs*!FFqeCQiTBBy2-%>uK(f!}k$+&nP904yv5i%Y=LGO!E+ z;0my^3aqXHYtASb1B=Qe<4YOtJ=YS}M+DsgFa!YO0gw-XMF7|Y5ZAXE0B|^fNCYSp zU~LURlOhesF&JkimJ*M1XOn|6gE%7jEJ$bPlj!MdYisSt4&Ma;c>Y0>ojY^jyWmpb zV2gSy>s)wVcf=&)Z6G-}ZphTCF+C?o!#u<5sd>R6)fm3%3`ED=e9dO@`8h+!b7@0u zPd-*ZDlR-}^NTfn;ZE|ohr?z$a}@^}FE`h9fQ67Z#%uRn!eVZ+a*z(k0;Zzl#^ZF% z$;Oo$G9k2gwEIeHDZA?JvoDLj$z;hsQ*qRyKz%ZJf09%5^7#N9UhTFgZtM&s2ClE@ zubko8@u9OGxb+pO^U+kM9zG`vvOlr~x+Bfb5E`SJk>2iYzZVaYDSjmH(Y;*1W8b4r zj$R=v=eBZ#l;JPZDxm*nHt3V$l$5G6}{|D^z5&@zB;_QL_Fzjj=EP|8nq8Pc(zEhJ1P_vx-l7Y*H+cx!xTnyW#$3V zIS--e5Qi~$|M9&&h&CY=Rm*j;J$9|_EiJ9BH+S1N>(gEaU#h>%h8@~!mGiMWVP4@9 zMa!=-_sWqjC+%<}sFQ^YwoB?C)Q@Vg>lxO4Qu206gj%W}W|JV0Dq#u1eb2m#0u*&L zJQihRB(-e3z}eH<(wgOxzCr1atnlqOZO5;9(KFGrM;eK=_oioc(<_KI(p$+ZdA5bB z4n*4P4no3H1@0J1AK|{7tI`<*UztXCU5wV1aqiaYF*m*YHI0HFSj|VfJhQ**Z{#qN zah#E0i9v9@+;6Km)`hh#ruF7;t`GT`tfGUoN=?<+)QjM#DPKi8G}W$hSsf_{`h~T1 zPtcGQ_$y@@A3fdh1AC<=V45cTBPUQkqWm(`yR1xa=#O~yXI{}5|4?;gj8VHwPEv{R zZrv0us@DM0f_@RE2V-p_nZctFB8Fet=v9jX@CMQObbp9lgx@fN(Q|@%Xrt{71fxs+ zBW-$PvTjS0`Kl^joUZ|Y+49+DV`3^HfK&$_;70jR^CDC&!*@t1PI;jXKGj)ob~!1- zK$6SYnT@zvXDtJ5`=;9QhI=y4;bDMt&0_j3U=tIeu{+41Wu%S014hC5nAD-3L89>J2Fbl?Y7ct>xfL&@~=)J%{bLBfmgv}E2I4Z)=0rrsPl5*fl z2BQ0fHq7>)2HNh%lgUpI+~D2qX7(t5xWdV@8;7=OB7*S}_AWpEHatftqv_A{K5p_j zsn>KoXl%>zmgS>1WcY~BJI-An4Ndt0dgX6iAocLXjJClP6~xez?221xmsMmpZBSkLsJ9(T z-?ehE!?}emxRl%$rj~c7@)o4bKeDS8_j#@my)QMX2WZ3_YKc=PvEd0bq+ zJu0bf(F`ko*6+QxJUkF)^2SBJ1AgeHbgzEN+dc0UjGpFvbC`i1c9FkPgsMS|{u$7K zi#VtNfnYNnxcGBxrit3=4LqOm^tn;Y)?SMoma%`P9k(k6suU>Nwpp*gBevg59QiKx z%rk-@bvmW~{N&@hRj3w2JnE!%S~9&Wk5T<4Jv`X#@WS4Pa=i6SZm{C=p%1v6w%ROH z4jQ2tc&mZUYuUH=7|M*vqr(*EQj;tP-$3CCFizKQcjt-E>P{MD4m#5f4z+kYvM`;KdU4nG%x#FYRrH4_O+=H>WVq&#D|x zYTGo|@SB-n&Kh|@ewX<HFI0ZFE}o40y|nx@ajO2ZZo+JL zt8U`27Z2_v%xQ2O_={ftD>)~=xFZdXzU=PDzuE>-zx&lkqImSd)8bDzwVmQV6Sig+536qQzBHJdtEyZxK3K zdD5!yyDQw|YMy7~xrDWq4BJ(3rlf9lb@@)>>dHBersH$!jgLFi#zZ^=u)(|z^?2Vm z`B|o_LABqC(wUc6_Pj1FYz)>iKP<_0MJR6D|FvfvXg4rn{TYxHZTGoisCf1raj+|0 zVs|}xLJ^)Tr7$>mMb{P28#gD@H==tB-B}t)NPq{8xkfewYu=$pk6xSSyIfC0b;Fe2 zw3~m>gTT$$n@lj!`w_}sRopNnJQbm&-2BjqX_tQkb8tcj?rq@Fq;f4z0IwM%~}D<+J7Na$H9t8Z?KdWQ1;dPf6iX6*9UsY+$rlib-GdekC+;?MG`Vv$S090qu3`)yF+ryq$U4D{0hQ zC9fbjr(owD#pt*L&!?5Dw;h2IZ&n<*`3HyY?OTVL#AVfA48)s|I}ZlA*}APx^> zOO;p8KZvbSOK#jtg6cv!<^H6UFpE@(QYCP2U+i^*K8w%PDj)Topsw57SNP7GB+KVn zN)3HCWwCR-I_ZNz-f2tVBAb>78Cb5Do)w@U_&r#JudkBA?qs R*Pk;0IOym~Dz>Lz{6C$mkOu$& literal 0 HcmV?d00001 diff --git a/gfx/LONGER_KTX1.png b/gfx/LONGER_KTX1.png new file mode 100644 index 0000000000000000000000000000000000000000..05595112cabe6b88a7ddc31d60c01fdd4aed9805 GIT binary patch literal 6830 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 RaRA<9ZgR=E>;m@Q{{SMLHc$Wn literal 0 HcmV?d00001 diff --git a/gfx/LONGER_PASHI5.png b/gfx/LONGER_PASHI5.png new file mode 100644 index 0000000000000000000000000000000000000000..eca4ebcbdd1812a8e7c7728509fbaf3af59f85aa GIT binary patch literal 3659 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