Everything either works but is random and flawed or doesn't work at all.
So I've got a 37 in Regional railways and I want that to be the livery when hauling passenger
Then if it's not passenger then I want it to use one of the the Railfreight sector liveries, and that I want dependent on what cargo is hauled too because there are 6 sectors.
Anyone please explain how to do this as the NML documentation explains **** all to me?
Some code I've got going that doesn't work
- [+] Spoiler
Code: Select all
template template_ee3(x,y){ [x+0,y,8,23,-3,-11] //North [x+10,y,20,16,-14,-8] //North East [x+32,y,33,13,-17,-9] //East [x+67,y,20,16,-5,-8] //South East [x+89,y,8,23,-3,-11] //South [x+99,y,20,16,-14,-8] //South West [x+121,y,33,13,-17,-9] //West [x+156,y,20,16,-5,-8] //North West } template template_ee3_reverse(x,y){ [x+89,y,8,23,-3,-11] //South [x+99,y,20,16,-14,-8] //South West [x+121,y,33,13,-17,-9] //West [x+156,y,20,16,-5,-8] //North West [x+0,y,8,23,-3,-11] //North [x+10,y,20,16,-14,-8] //North East [x+32,y,33,13,-17,-9] //East [x+67,y,20,16,-5,-8] //South East } template template_ee3_dirt(x,y, filename){ [x+0,y,16,46,-6,-22, filename] //North [x+20,y,40,32,-28,-16, filename] //North East [x+64,y,66,26,-34,-18, filename] //East [x+134,y,40,32,-10,-16, filename] //South East [x+178,y,16,46,-6,-22, filename] //South [x+198,y,40,32,-28,-16, filename] //South West [x+242,y,66,26,-34,-18, filename] //West [x+312,y,40,32,-10,-16, filename] //North West } template template_ee3_dirt_reverse(x,y, filename){ [x+178,y,16,46,-6,-22, filename] //South [x+198,y,40,32,-28,-16, filename] //South West [x+242,y,66,26,-34,-18, filename] //West [x+312,y,40,32,-10,-16, filename] //North West [x+0,y,16,46,-6,-22, filename] //North [x+20,y,40,32,-28,-16, filename] //North East [x+64,y,66,26,-34,-18, filename] //East [x+134,y,40,32,-10,-16, filename] //South East } spriteset(gfx_ee3_regional , "gfx/class_37.png"){template_ee3(0,75)} spriteset(gfx_ee3_regional_reverse , "gfx/class_37.png"){template_ee3_reverse(0,75)} spriteset(gfx_ee3_purchase , "gfx/class_37.png"){template_purchase_short(178,75)} spriteset(gfx_ee3_railfreight , "gfx/class_37.png"){template_ee3(0,100)} spriteset(gfx_ee3_railfreight_reverse , "gfx/class_37.png"){template_ee3_reverse(0,100)} spriteset(gfx_ee3_railfreight_black , "gfx/class_37.png"){template_ee3(235,100)} spriteset(gfx_ee3_railfreight_black_reverse , "gfx/class_37.png"){template_ee3_reverse(235,100)} spriteset(gfx_ee3_railfreight_blue , "gfx/class_37.png"){template_ee3(413,100)} spriteset(gfx_ee3_railfreight_blue_reverse , "gfx/class_37.png"){template_ee3_reverse(413,100)} spriteset(gfx_ee3_dirt_light , "gfx/class_37_dirt.png"){base_32bpp()} spriteset(gfx_ee3_dirt_light_reverse , "gfx/class_37_dirt.png"){base_32bpp()} spriteset(gfx_ee3_dirt_dark , "gfx/class_37_dirt.png"){base_32bpp()} spriteset(gfx_ee3_dirt_dark_reverse , "gfx/class_37_dirt.png"){base_32bpp()} alternative_sprites(gfx_ee3_dirt_light , ZOOM_LEVEL_IN_2X, BIT_DEPTH_32BPP, "gfx/class_37_dirt.png"){template_ee3_dirt(0,0,"gfx/class_37_dirt.png")} alternative_sprites(gfx_ee3_dirt_light_reverse , ZOOM_LEVEL_IN_2X, BIT_DEPTH_32BPP, "gfx/class_37_dirt.png"){template_ee3_dirt_reverse(0,0,"gfx/class_37_dirt.png")} alternative_sprites(gfx_ee3_dirt_dark , ZOOM_LEVEL_IN_2X, BIT_DEPTH_32BPP, "gfx/class_37_dirt.png"){template_ee3_dirt(0,48,"gfx/class_37_dirt.png")} alternative_sprites(gfx_ee3_dirt_dark_reverse , ZOOM_LEVEL_IN_2X, BIT_DEPTH_32BPP, "gfx/class_37_dirt.png"){template_ee3_dirt_reverse(0,48,"gfx/class_37_dirt.png")} switch(FEAT_TRAINS, PARENT, sw_ee3_regional_reverse_check , vehicle_is_reversed){ 1 : gfx_ee3_regional_reverse ; gfx_ee3_regional ; } switch(FEAT_TRAINS, PARENT, sw_ee3_railfreight_reverse_check , vehicle_is_reversed){ 1 : gfx_ee3_railfreight_reverse ; gfx_ee3_railfreight ; } switch(FEAT_TRAINS, PARENT, sw_ee3_railfreight_black_reverse_check , vehicle_is_reversed){ 1 : gfx_ee3_railfreight_black_reverse ; gfx_ee3_railfreight_black ; } switch(FEAT_TRAINS, PARENT, sw_ee3_railfreight_blue_reverse_check , vehicle_is_reversed){ 1 : gfx_ee3_railfreight_blue_reverse ; gfx_ee3_railfreight_blue ; } switch(FEAT_TRAINS, PARENT, sw_ee3_dirt_light_reverse_check , vehicle_is_reversed){ 1 : gfx_ee3_dirt_light_reverse ; gfx_ee3_dirt_light ; } switch(FEAT_TRAINS, PARENT, sw_ee3_dirt_dark_reverse_check , vehicle_is_reversed){ 1 : gfx_ee3_dirt_dark_reverse ; gfx_ee3_dirt_dark ; } switch(FEAT_TRAINS, SELF, sw_ee3_gfx_decider, cargo_classes_in_consist){ CC_PASSENGERS : sw_ee3_regional_reverse_check ; sw_ee3_railfreight_reverse_check ; } switch(FEAT_TRAINS, SELF, sw_ee3_colours, cargo_classes_in_consist){ CC_PASSENGERS : palette_2cc(COLOUR_DARK_BLUE, COLOUR_BLUE) ; palette_2cc(COLOUR_WHITE, COLOUR_GREY) ; } switch(FEAT_TRAINS, SELF, sw_ee3_dirt_decider, cargo_subtype){ 0 : sw_ee3_dirt_dark_reverse_check ; } switch(FEAT_TRAINS, SELF, sw_ee3_spritestack, [STORE_TEMP((getbits(extra_callback_info1, 8, 8) < 2 ? CB_FLAG_MORE_SPRITES : 0) | PALETTE_USE_DEFAULT, 0x100), getbits(extra_callback_info1, 8, 8)]){ 0 : sw_ee3_gfx_decider ; 1 : sw_ee3_dirt_decider ; } switch(FEAT_TRAINS, SELF, sw_ee3_refit_text, cargo_subtype){ 0 : string(STR_DIRT) ; 1 : string(STR_NO_DIRT) ; CB_RESULT_NO_TEXT ; } item (FEAT_TRAINS, item_eetype3){ property{ name : string(STR_CL68_NAME) ; climates_available : ALL_CLIMATES ; introduction_date : date(1959,12,2) ; refit_cost : 0 ; refittable_cargo_classes : 0 ; cargo_allow_refit : [GOOD] ; cargo_capacity : 1 ; model_life : 30 ; vehicle_life : 50 ; reliability_decay : 10 ; cost_factor : 55 ; running_cost_base : RUNNING_COST_DIESEL ; running_cost_factor : 170 ; speed : 80 mph ; track_type : RAIL ; power : 1750 hp ; weight : 100 ton ; engine_class : ENGINE_CLASS_DIESEL ; tractive_effort_coefficient : 0.245 ; air_drag_coefficient : 0.1 ; length : 8 ; misc_flags : bitmask(TRAIN_FLAG_SPRITE_STACK, TRAIN_FLAG_2CC) ; effect_spawn_model_and_powered : EFFECT_SPAWN_MODEL_DIESEL ; sprite_id : SPRITE_ID_NEW_TRAIN ; dual_headed : 0 ; } graphics{ default : sw_ee3_spritestack ; colour_mapping : sw_ee3_colours ; purchase_colour_mapping : palette_2cc(COLOUR_DARK_BLUE, COLOUR_BLUE) ; cargo_subtype_text : sw_ee3_refit_text ; purchase : gfx_ee3_purchase ; sound_effect : sw_40_sfx ; create_effect : vfx_diesel_default ; purchase_cargo_capacity : 0 ; cargo_capacity : return 0 ; } }