aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorywang <yw05@forksworld.de>2020-01-12 15:36:17 +0100
committerywang <yw05@forksworld.de>2020-04-12 16:07:59 +0200
commitfdfb3dba5fe46dfa799ed2471acc01830541f6ba (patch)
tree4593bf8d2d17ce041ff452dea900def063b48b56
parentba91ba810943fffc20b841ee9a751ec159f18cd8 (diff)
Image optimizations
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_across.pngbin302 -> 139 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_across_anim.pngbin524 -> 302 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_boiler.pngbin413 -> 270 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_chimney.pngbin309 -> 157 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_couple.pngbin339 -> 165 bytes
-rw-r--r--advtrains/textures/advtrains_cpl_lock.pngbin209 -> 119 bytes
-rw-r--r--advtrains/textures/advtrains_cpl_unlock.pngbin213 -> 118 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_discouple.pngbin293 -> 152 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_driver_cab.pngbin352 -> 213 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_dtrack_atc_placer.pngbin1259 -> 681 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_dtrack_bumper_placer.pngbin2213 -> 1067 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_dtrack_detector_placer.pngbin1253 -> 625 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_dtrack_load_placer.pngbin1248 -> 678 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_dtrack_placer.pngbin1097 -> 591 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_dtrack_rail.pngbin4582 -> 3782 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_dtrack_shared.pngbin7141 -> 6660 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_dtrack_shared_atc.pngbin7215 -> 6747 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_dtrack_shared_detector_off.pngbin7180 -> 6679 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_dtrack_shared_detector_on.pngbin7181 -> 6684 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_dtrack_shared_load.pngbin7339 -> 6776 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_dtrack_shared_unload.pngbin7338 -> 6776 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_dtrack_slopeplacer.pngbin2415 -> 2093 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_dtrack_unload_placer.pngbin1260 -> 678 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_platform.pngbin193 -> 160 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_retrosignal.pngbin8496 -> 4357 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_retrosignal_inv.pngbin2242 -> 1707 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_signal_inv.pngbin856 -> 798 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_signal_off.pngbin5882 -> 1795 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_signal_on.pngbin5884 -> 1797 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_signal_wall_off.pngbin3056 -> 2577 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_signal_wall_on.pngbin3043 -> 2850 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_track_cr.pngbin33370 -> 33264 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_track_cr_45.pngbin33938 -> 33832 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_track_placer.pngbin32349 -> 32040 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_track_st.pngbin20405 -> 20220 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_track_st_45.pngbin39977 -> 39629 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_track_swlcr.pngbin33378 -> 33209 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_track_swlcr_45.pngbin45772 -> 45552 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_track_swlst.pngbin32321 -> 32166 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_track_swlst_45.pngbin46408 -> 46221 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_track_swrcr.pngbin33670 -> 33527 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_track_swrcr_45.pngbin46865 -> 46626 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_track_swrst.pngbin32654 -> 32519 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_track_swrst_45.pngbin47636 -> 47375 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_trackworker.pngbin328 -> 270 bytes
-rw-r--r--advtrains/textures/advtrains_wagon_placeholder.pngbin723 -> 665 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/advtrains_wheel.pngbin582 -> 297 bytes
-rw-r--r--[-rwxr-xr-x]advtrains/textures/drwho_screwdriver.pngbin328 -> 270 bytes
-rw-r--r--advtrains_interlocking/textures/advtrains_dtrack_npr_placer.pngbin1238 -> 670 bytes
-rw-r--r--advtrains_interlocking/textures/advtrains_dtrack_shared_npr.pngbin3176 -> 3112 bytes
-rw-r--r--advtrains_interlocking/textures/at_il_route_end.pngbin451 -> 258 bytes
-rw-r--r--advtrains_interlocking/textures/at_il_route_lock.pngbin534 -> 301 bytes
-rw-r--r--advtrains_interlocking/textures/at_il_route_lock_edit.pngbin533 -> 299 bytes
-rw-r--r--advtrains_interlocking/textures/at_il_route_set.pngbin398 -> 238 bytes
-rw-r--r--advtrains_interlocking/textures/at_il_route_start.pngbin380 -> 232 bytes
-rw-r--r--advtrains_interlocking/textures/at_il_routep_advance.pngbin304 -> 175 bytes
-rw-r--r--advtrains_interlocking/textures/at_il_routep_end_here.pngbin243 -> 142 bytes
-rw-r--r--advtrains_interlocking/textures/at_il_routep_end_over.pngbin281 -> 166 bytes
-rw-r--r--advtrains_interlocking/textures/at_il_routep_end_over_last.pngbin277 -> 159 bytes
-rw-r--r--advtrains_interlocking/textures/at_il_signal_asp_danger.pngbin247 -> 114 bytes
-rw-r--r--advtrains_interlocking/textures/at_il_signal_asp_free.pngbin245 -> 118 bytes
-rw-r--r--advtrains_interlocking/textures/at_il_signal_asp_slow.pngbin245 -> 112 bytes
-rw-r--r--advtrains_interlocking/textures/at_il_signal_ip.pngbin285 -> 177 bytes
-rw-r--r--advtrains_interlocking/textures/at_il_signal_off.pngbin236 -> 106 bytes
-rw-r--r--advtrains_interlocking/textures/at_il_tcb_marker.pngbin308 -> 183 bytes
-rw-r--r--advtrains_interlocking/textures/at_il_tcb_node.pngbin279 -> 167 bytes
-rw-r--r--advtrains_interlocking/textures/at_il_tool.pngbin337 -> 279 bytes
-rw-r--r--advtrains_interlocking/textures/at_il_turnout_cr_l.pngbin314 -> 133 bytes
-rw-r--r--advtrains_interlocking/textures/at_il_turnout_cr_r.pngbin298 -> 133 bytes
-rw-r--r--advtrains_interlocking/textures/at_il_turnout_free.pngbin367 -> 164 bytes
-rw-r--r--advtrains_interlocking/textures/at_il_turnout_st.pngbin229 -> 117 bytes
-rw-r--r--advtrains_itrainmap/textures/itm_example.pngbin154460 -> 85664 bytes
-rw-r--r--advtrains_line_automation/textures/advtrains_dtrack_shared_stop.pngbin3306 -> 3244 bytes
-rw-r--r--advtrains_line_automation/textures/advtrains_dtrack_stop_placer.pngbin1238 -> 670 bytes
-rw-r--r--advtrains_luaautomation/textures/atlatc_oppanel.pngbin631 -> 557 bytes
-rw-r--r--advtrains_luaautomation/textures/atlatc_pcnaming.pngbin329 -> 271 bytes
-rw-r--r--advtrains_signals_ks/textures/advtrains_signals_ks_aspect_green.pngbin155 -> 102 bytes
-rw-r--r--advtrains_signals_ks/textures/advtrains_signals_ks_aspect_red.pngbin155 -> 102 bytes
-rw-r--r--advtrains_signals_ks/textures/advtrains_signals_ks_aspect_white.pngbin155 -> 102 bytes
-rw-r--r--advtrains_signals_ks/textures/advtrains_signals_ks_aspect_yellow.pngbin155 -> 102 bytes
-rw-r--r--advtrains_signals_ks/textures/advtrains_signals_ks_head.pngbin260 -> 215 bytes
-rw-r--r--advtrains_signals_ks/textures/advtrains_signals_ks_hs_inv.pngbin210 -> 128 bytes
-rw-r--r--advtrains_signals_ks/textures/advtrains_signals_ks_ltm_danger.pngbin227 -> 121 bytes
-rw-r--r--advtrains_signals_ks/textures/advtrains_signals_ks_ltm_free.pngbin215 -> 121 bytes
-rw-r--r--advtrains_signals_ks/textures/advtrains_signals_ks_ltm_shunt.pngbin238 -> 135 bytes
-rw-r--r--advtrains_signals_ks/textures/advtrains_signals_ks_ltm_shuntd.pngbin239 -> 136 bytes
-rw-r--r--advtrains_signals_ks/textures/advtrains_signals_ks_ltm_slow.pngbin219 -> 121 bytes
-rw-r--r--advtrains_signals_ks/textures/advtrains_signals_ks_mast.pngbin224 -> 171 bytes
-rw-r--r--advtrains_signals_ks/textures/advtrains_signals_ks_ra_inv.pngbin252 -> 158 bytes
-rw-r--r--advtrains_signals_ks/textures/advtrains_signals_ks_sign_12.pngbin197 -> 144 bytes
-rw-r--r--advtrains_signals_ks/textures/advtrains_signals_ks_sign_16.pngbin190 -> 137 bytes
-rw-r--r--advtrains_signals_ks/textures/advtrains_signals_ks_sign_8.pngbin174 -> 121 bytes
-rw-r--r--advtrains_signals_ks/textures/advtrains_signals_ks_sign_e.pngbin166 -> 113 bytes
-rw-r--r--advtrains_signals_ks/textures/advtrains_signals_ks_sign_hfs.pngbin193 -> 153 bytes
-rw-r--r--advtrains_signals_ks/textures/advtrains_signals_ks_signpost.pngbin224 -> 171 bytes
-rw-r--r--advtrains_signals_ks/textures/advtrains_signals_ks_zs_7.pngbin251 -> 198 bytes
-rw-r--r--advtrains_train_industrial/textures/advtrains_engine_industrial.pngbin23044 -> 19712 bytes
-rw-r--r--advtrains_train_industrial/textures/advtrains_engine_industrial_big.pngbin23765 -> 20597 bytes
-rw-r--r--advtrains_train_industrial/textures/advtrains_engine_industrial_inv.pngbin381 -> 286 bytes
-rw-r--r--advtrains_train_industrial/textures/advtrains_wagon_tank.pngbin23411 -> 20599 bytes
-rw-r--r--advtrains_train_industrial/textures/advtrains_wagon_tank_inv.pngbin408 -> 266 bytes
-rw-r--r--advtrains_train_industrial/textures/advtrains_wagon_wood.pngbin21622 -> 18503 bytes
-rw-r--r--advtrains_train_industrial/textures/advtrains_wagon_wood_inv.pngbin316 -> 208 bytes
-rw-r--r--advtrains_train_japan/textures/advtrains_engine_japan.pngbin27935 -> 20028 bytes
-rw-r--r--advtrains_train_japan/textures/advtrains_engine_japan_inv.pngbin434 -> 268 bytes
-rw-r--r--advtrains_train_japan/textures/advtrains_wagon_japan.pngbin54396 -> 42747 bytes
-rw-r--r--advtrains_train_japan/textures/advtrains_wagon_japan_inv.pngbin400 -> 265 bytes
-rw-r--r--advtrains_train_steam/screenshot.pngbin809738 -> 760649 bytes
-rw-r--r--[-rwxr-xr-x]advtrains_train_steam/textures/advtrains_detailed_engine_steam_inv.pngbin462 -> 363 bytes
-rw-r--r--[-rwxr-xr-x]advtrains_train_steam/textures/advtrains_detailed_steam_engine.pngbin30519 -> 29026 bytes
-rw-r--r--[-rwxr-xr-x]advtrains_train_steam/textures/advtrains_engine_steam.pngbin31915 -> 18441 bytes
-rw-r--r--[-rwxr-xr-x]advtrains_train_steam/textures/advtrains_engine_steam_inv.pngbin469 -> 313 bytes
-rw-r--r--advtrains_train_steam/textures/advtrains_wagon.pngbin17701 -> 17439 bytes
-rw-r--r--[-rwxr-xr-x]advtrains_train_steam/textures/advtrains_wagon_box.pngbin15197 -> 14896 bytes
-rw-r--r--[-rwxr-xr-x]advtrains_train_steam/textures/advtrains_wagon_box_inv.pngbin347 -> 232 bytes
-rw-r--r--[-rwxr-xr-x]advtrains_train_steam/textures/advtrains_wagon_inv.pngbin699 -> 641 bytes
-rw-r--r--advtrains_train_subway/textures/advtrains_subway_wagon.pngbin3618 -> 2102 bytes
-rw-r--r--advtrains_train_subway/textures/advtrains_subway_wagon_inv.pngbin900 -> 842 bytes
-rw-r--r--advtrains_train_subway/textures/advtrains_subway_wagon_line0.pngbin1224 -> 228 bytes
-rw-r--r--advtrains_train_subway/textures/advtrains_subway_wagon_line1.pngbin1203 -> 218 bytes
-rw-r--r--advtrains_train_subway/textures/advtrains_subway_wagon_line2.pngbin1230 -> 229 bytes
-rw-r--r--advtrains_train_subway/textures/advtrains_subway_wagon_line3.pngbin1230 -> 219 bytes
-rw-r--r--advtrains_train_subway/textures/advtrains_subway_wagon_line4.pngbin1226 -> 237 bytes
-rw-r--r--advtrains_train_subway/textures/advtrains_subway_wagon_line5.pngbin1231 -> 228 bytes
-rw-r--r--advtrains_train_subway/textures/advtrains_subway_wagon_line6.pngbin1227 -> 227 bytes
-rw-r--r--advtrains_train_subway/textures/advtrains_subway_wagon_line7.pngbin1226 -> 233 bytes
-rw-r--r--advtrains_train_subway/textures/advtrains_subway_wagon_line8.pngbin1233 -> 218 bytes
-rw-r--r--advtrains_train_subway/textures/advtrains_subway_wagon_line9.pngbin1235 -> 228 bytes
-rw-r--r--advtrains_train_subway/textures/advtrains_subway_wagon_lineX.pngbin1244 -> 239 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_dtrack_atc_placer.pngbin1259 -> 681 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_dtrack_bumper_placer.pngbin2213 -> 1067 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_dtrack_detector_placer.pngbin1253 -> 625 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_dtrack_load_placer.pngbin1248 -> 678 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_dtrack_placer.pngbin1097 -> 591 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_dtrack_rail.pngbin4582 -> 3782 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_dtrack_shared.pngbin7141 -> 6660 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_dtrack_shared_atc.pngbin7215 -> 6747 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_dtrack_shared_detector_off.pngbin7180 -> 6679 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_dtrack_shared_detector_on.pngbin7181 -> 6684 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_dtrack_shared_load.pngbin7339 -> 6776 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_dtrack_shared_unload.pngbin7338 -> 6776 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_dtrack_slopeplacer.pngbin2415 -> 2093 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_dtrack_unload_placer.pngbin1260 -> 678 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_track_cr.pngbin33370 -> 33264 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_track_cr_45.pngbin33938 -> 33832 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_track_placer.pngbin32349 -> 32040 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_track_st.pngbin20405 -> 20220 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_track_st_45.pngbin39977 -> 39629 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_track_swlcr.pngbin33378 -> 33209 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_track_swlcr_45.pngbin45772 -> 45552 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_track_swlst.pngbin32321 -> 32166 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_track_swlst_45.pngbin46408 -> 46221 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_track_swrcr.pngbin33670 -> 33527 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_track_swrcr_45.pngbin46865 -> 46626 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_track_swrst.pngbin32654 -> 32519 bytes
-rw-r--r--advtrains_train_track/textures/advtrains_track_swrst_45.pngbin47636 -> 47375 bytes
-rw-r--r--assets/advtrains_wagon.pngbin72273 -> 68489 bytes
-rw-r--r--assets/andreaskreuz.pngbin69701 -> 29142 bytes
-rw-r--r--assets/blender/gleis/before_redo/detectorpart.pngbin857 -> 543 bytes
-rw-r--r--assets/blender/gleis/before_redo/rail_together.pngbin233544 -> 175772 bytes
-rw-r--r--assets/blender/gleis/before_redo/rail_together2.pngbin312891 -> 235212 bytes
-rw-r--r--assets/blender/gleis/before_redo/rail_together3.pngbin309398 -> 236513 bytes
-rw-r--r--assets/blender/gleis/infos/Grafik_weiche.pngbin361700 -> 342057 bytes
-rw-r--r--assets/blender/gleis/texturen/rail.pngbin2616 -> 2242 bytes
-rw-r--r--assets/blender/gleis/texturen/uv.pngbin2343 -> 1158 bytes
-rw-r--r--assets/blender/gleis/uv_rails_all.pngbin3692 -> 1824 bytes
-rw-r--r--assets/blender/industrial/industry_tree_wagong.pngbin316 -> 208 bytes
-rw-r--r--assets/blender/ks/signal_ks_singlemesh_lampuv.pngbin211402 -> 129772 bytes
-rw-r--r--assets/blender/mbb/jpn_engine_anim_uv.pngbin274484 -> 142626 bytes
-rw-r--r--assets/blender/mbb/jpn_wagon_anim_uv.pngbin206208 -> 103784 bytes
-rw-r--r--assets/blender/mbb/modern_japanlocomotive.pngbin204978 -> 104686 bytes
-rw-r--r--assets/blender/mbb/modern_wagong_uv.pngbin189564 -> 93794 bytes
-rw-r--r--assets/blender/mbb/prellbock.uv.pngbin4034 -> 2329 bytes
-rw-r--r--assets/blender/mbb/signal.pngbin244314 -> 117299 bytes
-rw-r--r--assets/blender/mbb/signal2.pngbin39924 -> 12744 bytes
-rw-r--r--assets/blender/mbb/tr-logo.pngbin197 -> 118 bytes
-rw-r--r--assets/blender/newlocomotive_uvs.pngbin175030 -> 87357 bytes
-rw-r--r--assets/blender/newwagon.pngbin108762 -> 52637 bytes
-rw-r--r--assets/blender/subway-train.pngbin96773 -> 44420 bytes
-rw-r--r--assets/blender/subway-train_animate_mirrored_solidify_uv.pngbin177111 -> 89867 bytes
-rw-r--r--assets/blender/trackvertical1.pngbin59146 -> 14603 bytes
-rw-r--r--assets/blender/trackvertical2.pngbin66755 -> 19940 bytes
-rw-r--r--assets/img_large/tcbex1.pngbin546408 -> 336189 bytes
-rw-r--r--assets/img_large/tcbex2.pngbin174379 -> 110006 bytes
-rw-r--r--assets/img_large/tcbex3.pngbin927810 -> 678706 bytes
-rw-r--r--assets/interlocking.html.LyXconv/0_home_moritz_Home_Projekte_Minetest_minetest_m___s_assets_lyx_img_screenshot_20180830_142551.pngbin257012 -> 144104 bytes
-rw-r--r--assets/interlocking.html.LyXconv/10_home_moritz_Home_Projekte_Minetest_minetest_____lyx_img_Bildschirmfoto_2019-01-15_19-28-09.pngbin135195 -> 89844 bytes
-rw-r--r--assets/interlocking.html.LyXconv/11_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_arslin_ex1.pngbin32940 -> 22596 bytes
-rw-r--r--assets/interlocking.html.LyXconv/12_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_arslin_ex2.pngbin2205 -> 1369 bytes
-rw-r--r--assets/interlocking.html.LyXconv/13_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_ars_ex1.pngbin65581 -> 50232 bytes
-rw-r--r--assets/interlocking.html.LyXconv/1_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-26-35.pngbin392215 -> 207494 bytes
-rw-r--r--assets/interlocking.html.LyXconv/2_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-32-48.pngbin467151 -> 244504 bytes
-rw-r--r--assets/interlocking.html.LyXconv/3_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-27-25.pngbin58974 -> 44049 bytes
-rw-r--r--assets/interlocking.html.LyXconv/4_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-28-32.pngbin180489 -> 113658 bytes
-rw-r--r--assets/interlocking.html.LyXconv/5_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-51-25.pngbin298898 -> 186399 bytes
-rw-r--r--assets/interlocking.html.LyXconv/6_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_route_ex1.pngbin9681 -> 7032 bytes
-rw-r--r--assets/interlocking.html.LyXconv/7_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_route_ex2.pngbin9374 -> 7076 bytes
-rw-r--r--assets/interlocking.html.LyXconv/8_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_assign_signal.pngbin117671 -> 63813 bytes
-rw-r--r--assets/interlocking.html.LyXconv/9_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_route_ex3.pngbin11544 -> 8306 bytes
-rw-r--r--assets/lyx_img/Bildschirmfoto_2018-08-30_14-26-35.pngbin392215 -> 207494 bytes
-rw-r--r--assets/lyx_img/Bildschirmfoto_2018-08-30_14-27-25.pngbin58974 -> 44049 bytes
-rw-r--r--assets/lyx_img/Bildschirmfoto_2018-08-30_14-28-32.pngbin180489 -> 113658 bytes
-rw-r--r--assets/lyx_img/Bildschirmfoto_2018-08-30_14-32-48.pngbin467151 -> 244504 bytes
-rw-r--r--assets/lyx_img/Bildschirmfoto_2018-08-30_14-51-25.pngbin298898 -> 186399 bytes
-rw-r--r--assets/lyx_img/Bildschirmfoto_2019-01-15_19-28-09.pngbin135195 -> 89844 bytes
-rw-r--r--assets/lyx_img/ars_ex1.pngbin65581 -> 50232 bytes
-rw-r--r--assets/lyx_img/arslin_ex1.pngbin32940 -> 22596 bytes
-rw-r--r--assets/lyx_img/arslin_ex2.pngbin2205 -> 1369 bytes
-rw-r--r--assets/lyx_img/assign_signal.pngbin117671 -> 63813 bytes
-rw-r--r--assets/lyx_img/route_ex1.pngbin9681 -> 7032 bytes
-rw-r--r--assets/lyx_img/route_ex2.pngbin9374 -> 7076 bytes
-rw-r--r--assets/lyx_img/route_ex3.pngbin11544 -> 8306 bytes
-rw-r--r--assets/lyx_img/screenshot_20180830_142551.pngbin257012 -> 144104 bytes
-rw-r--r--assets/manual.html.LyXconv/0_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_09-43-29.pngbin9345 -> 7985 bytes
-rw-r--r--assets/manual.html.LyXconv/10_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-48-54.pngbin14032 -> 11463 bytes
-rw-r--r--assets/manual.html.LyXconv/11_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-50-27.pngbin4246 -> 2308 bytes
-rw-r--r--assets/manual.html.LyXconv/12_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-51-02.pngbin3704 -> 2036 bytes
-rw-r--r--assets/manual.html.LyXconv/13_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-58-39.pngbin6880 -> 3216 bytes
-rw-r--r--assets/manual.html.LyXconv/14_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-58-20.pngbin10375 -> 3514 bytes
-rw-r--r--assets/manual.html.LyXconv/15_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2017-03-09_11-33-09.pngbin3496 -> 1643 bytes
-rw-r--r--assets/manual.html.LyXconv/16_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2017-03-09_11-42-49.pngbin25657 -> 17931 bytes
-rw-r--r--assets/manual.html.LyXconv/17_home_moritz_Home_Projekte_Minetest_minetest____ssets_manual_img_screenshot_20161203_231622.pngbin108256 -> 82421 bytes
-rw-r--r--assets/manual.html.LyXconv/1_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-04-12.pngbin72813 -> 53264 bytes
-rw-r--r--assets/manual.html.LyXconv/2_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-04-57.pngbin105448 -> 66534 bytes
-rw-r--r--assets/manual.html.LyXconv/3_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-05-51.pngbin93538 -> 68025 bytes
-rw-r--r--assets/manual.html.LyXconv/4_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-07-13.pngbin83521 -> 64804 bytes
-rw-r--r--assets/manual.html.LyXconv/5_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_09-56-34.pngbin2789 -> 1538 bytes
-rw-r--r--assets/manual.html.LyXconv/6_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-08-02.pngbin107762 -> 78266 bytes
-rw-r--r--assets/manual.html.LyXconv/7_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-09-01.pngbin112579 -> 76899 bytes
-rw-r--r--assets/manual.html.LyXconv/8_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-10-15.pngbin114075 -> 92687 bytes
-rw-r--r--assets/manual.html.LyXconv/9_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_09-45-38.pngbin16695 -> 13665 bytes
-rw-r--r--assets/manual_img/Bildschirmfoto_2016-09-17_09-43-29.pngbin9345 -> 7985 bytes
-rw-r--r--assets/manual_img/Bildschirmfoto_2016-09-17_09-45-38.pngbin16695 -> 13665 bytes
-rw-r--r--assets/manual_img/Bildschirmfoto_2016-09-17_09-46-21.pngbin18834 -> 15316 bytes
-rw-r--r--assets/manual_img/Bildschirmfoto_2016-09-17_09-48-54.pngbin14032 -> 11463 bytes
-rw-r--r--assets/manual_img/Bildschirmfoto_2016-09-17_09-50-27.pngbin4246 -> 2308 bytes
-rw-r--r--assets/manual_img/Bildschirmfoto_2016-09-17_09-51-02.pngbin3704 -> 2036 bytes
-rw-r--r--assets/manual_img/Bildschirmfoto_2016-09-17_09-52-17.pngbin13788 -> 9333 bytes
-rw-r--r--assets/manual_img/Bildschirmfoto_2016-09-17_09-52-40.pngbin13889 -> 4031 bytes
-rw-r--r--assets/manual_img/Bildschirmfoto_2016-09-17_09-53-01.pngbin15473 -> 11414 bytes
-rw-r--r--assets/manual_img/Bildschirmfoto_2016-09-17_09-56-34.pngbin2789 -> 1538 bytes
-rw-r--r--assets/manual_img/Bildschirmfoto_2016-09-17_09-58-20.pngbin10375 -> 3514 bytes
-rw-r--r--assets/manual_img/Bildschirmfoto_2016-09-17_09-58-39.pngbin6880 -> 3216 bytes
-rw-r--r--assets/manual_img/Bildschirmfoto_2016-09-17_10-04-12.pngbin72813 -> 53264 bytes
-rw-r--r--assets/manual_img/Bildschirmfoto_2016-09-17_10-04-57.pngbin105448 -> 66534 bytes
-rw-r--r--assets/manual_img/Bildschirmfoto_2016-09-17_10-05-51.pngbin93538 -> 68025 bytes
-rw-r--r--assets/manual_img/Bildschirmfoto_2016-09-17_10-07-13.pngbin83521 -> 64804 bytes
-rw-r--r--assets/manual_img/Bildschirmfoto_2016-09-17_10-08-02.pngbin107762 -> 78266 bytes
-rw-r--r--assets/manual_img/Bildschirmfoto_2016-09-17_10-09-01.pngbin112579 -> 76899 bytes
-rw-r--r--assets/manual_img/Bildschirmfoto_2016-09-17_10-10-15.pngbin114075 -> 92687 bytes
-rw-r--r--assets/manual_img/Bildschirmfoto_2016-12-13_19-25-26.pngbin15044 -> 13112 bytes
-rw-r--r--assets/manual_img/Bildschirmfoto_2017-03-09_11-33-09.pngbin3496 -> 1643 bytes
-rw-r--r--assets/manual_img/Bildschirmfoto_2017-03-09_11-42-49.pngbin25657 -> 17931 bytes
-rw-r--r--assets/manual_img/screenshot_20161203_223055.pngbin824772 -> 655551 bytes
-rw-r--r--assets/manual_img/screenshot_20161203_223328.pngbin526640 -> 417921 bytes
-rw-r--r--assets/manual_img/screenshot_20161203_230644.pngbin610738 -> 571754 bytes
-rw-r--r--assets/manual_img/screenshot_20161203_230648.pngbin555494 -> 458341 bytes
-rw-r--r--assets/manual_img/screenshot_20161203_231622.pngbin108256 -> 82421 bytes
-rw-r--r--assets/manual_img/screenshot_20161203_232335.pngbin1607786 -> 1331509 bytes
-rw-r--r--assets/manual_img/screenshot_20161203_232545.pngbin1527310 -> 1201508 bytes
-rw-r--r--assets/mbbrailtextures/advtrains_dtrack_rail.pngbin4582 -> 3782 bytes
-rw-r--r--assets/mbbrailtextures/advtrains_dtrack_rail_atc.pngbin4596 -> 3789 bytes
-rw-r--r--assets/mbbrailtextures/advtrains_dtrack_rail_detector_on.pngbin4579 -> 3781 bytes
-rw-r--r--assets/schild.pngbin28705 -> 6716 bytes
-rw-r--r--assets/schild_flaeche.pngbin526 -> 216 bytes
-rw-r--r--assets/signal_wall.pngbin107155 -> 48967 bytes
-rw-r--r--assets/wagonfancytexture.pngbin42023 -> 28395 bytes
-rw-r--r--screenshot.pngbin809738 -> 760649 bytes
268 files changed, 0 insertions, 0 deletions
diff --git a/advtrains/textures/advtrains_across.png b/advtrains/textures/advtrains_across.png
index da65a61..a979224 100755..100644
--- a/advtrains/textures/advtrains_across.png
+++ b/advtrains/textures/advtrains_across.png
Binary files differ
diff --git a/advtrains/textures/advtrains_across_anim.png b/advtrains/textures/advtrains_across_anim.png
index 584d023..2df350a 100755..100644
--- a/advtrains/textures/advtrains_across_anim.png
+++ b/advtrains/textures/advtrains_across_anim.png
Binary files differ
diff --git a/advtrains/textures/advtrains_boiler.png b/advtrains/textures/advtrains_boiler.png
index 8c7ff0d..5fc7742 100755..100644
--- a/advtrains/textures/advtrains_boiler.png
+++ b/advtrains/textures/advtrains_boiler.png
Binary files differ
diff --git a/advtrains/textures/advtrains_chimney.png b/advtrains/textures/advtrains_chimney.png
index 285a1a6..c94f722 100755..100644
--- a/advtrains/textures/advtrains_chimney.png
+++ b/advtrains/textures/advtrains_chimney.png
Binary files differ
diff --git a/advtrains/textures/advtrains_couple.png b/advtrains/textures/advtrains_couple.png
index eda3704..542e032 100755..100644
--- a/advtrains/textures/advtrains_couple.png
+++ b/advtrains/textures/advtrains_couple.png
Binary files differ
diff --git a/advtrains/textures/advtrains_cpl_lock.png b/advtrains/textures/advtrains_cpl_lock.png
index a25aaf4..f2f14d1 100644
--- a/advtrains/textures/advtrains_cpl_lock.png
+++ b/advtrains/textures/advtrains_cpl_lock.png
Binary files differ
diff --git a/advtrains/textures/advtrains_cpl_unlock.png b/advtrains/textures/advtrains_cpl_unlock.png
index f58d00a..3699091 100644
--- a/advtrains/textures/advtrains_cpl_unlock.png
+++ b/advtrains/textures/advtrains_cpl_unlock.png
Binary files differ
diff --git a/advtrains/textures/advtrains_discouple.png b/advtrains/textures/advtrains_discouple.png
index 5c064c3..ce6d210 100755..100644
--- a/advtrains/textures/advtrains_discouple.png
+++ b/advtrains/textures/advtrains_discouple.png
Binary files differ
diff --git a/advtrains/textures/advtrains_driver_cab.png b/advtrains/textures/advtrains_driver_cab.png
index 331bcc9..838e7e2 100755..100644
--- a/advtrains/textures/advtrains_driver_cab.png
+++ b/advtrains/textures/advtrains_driver_cab.png
Binary files differ
diff --git a/advtrains/textures/advtrains_dtrack_atc_placer.png b/advtrains/textures/advtrains_dtrack_atc_placer.png
index 31c2b30..e7cbe56 100755..100644
--- a/advtrains/textures/advtrains_dtrack_atc_placer.png
+++ b/advtrains/textures/advtrains_dtrack_atc_placer.png
Binary files differ
diff --git a/advtrains/textures/advtrains_dtrack_bumper_placer.png b/advtrains/textures/advtrains_dtrack_bumper_placer.png
index 27191fe..7bc9aeb 100755..100644
--- a/advtrains/textures/advtrains_dtrack_bumper_placer.png
+++ b/advtrains/textures/advtrains_dtrack_bumper_placer.png
Binary files differ
diff --git a/advtrains/textures/advtrains_dtrack_detector_placer.png b/advtrains/textures/advtrains_dtrack_detector_placer.png
index e6c6ad6..c3b4fd9 100755..100644
--- a/advtrains/textures/advtrains_dtrack_detector_placer.png
+++ b/advtrains/textures/advtrains_dtrack_detector_placer.png
Binary files differ
diff --git a/advtrains/textures/advtrains_dtrack_load_placer.png b/advtrains/textures/advtrains_dtrack_load_placer.png
index 427c011..27db319 100755..100644
--- a/advtrains/textures/advtrains_dtrack_load_placer.png
+++ b/advtrains/textures/advtrains_dtrack_load_placer.png
Binary files differ
diff --git a/advtrains/textures/advtrains_dtrack_placer.png b/advtrains/textures/advtrains_dtrack_placer.png
index 7bef8a9..a5181eb 100755..100644
--- a/advtrains/textures/advtrains_dtrack_placer.png
+++ b/advtrains/textures/advtrains_dtrack_placer.png
Binary files differ
diff --git a/advtrains/textures/advtrains_dtrack_rail.png b/advtrains/textures/advtrains_dtrack_rail.png
index bd0c217..75776be 100755..100644
--- a/advtrains/textures/advtrains_dtrack_rail.png
+++ b/advtrains/textures/advtrains_dtrack_rail.png
Binary files differ
diff --git a/advtrains/textures/advtrains_dtrack_shared.png b/advtrains/textures/advtrains_dtrack_shared.png
index 736c7db..b968ba6 100755..100644
--- a/advtrains/textures/advtrains_dtrack_shared.png
+++ b/advtrains/textures/advtrains_dtrack_shared.png
Binary files differ
diff --git a/advtrains/textures/advtrains_dtrack_shared_atc.png b/advtrains/textures/advtrains_dtrack_shared_atc.png
index 1f83c37..6502d3b 100755..100644
--- a/advtrains/textures/advtrains_dtrack_shared_atc.png
+++ b/advtrains/textures/advtrains_dtrack_shared_atc.png
Binary files differ
diff --git a/advtrains/textures/advtrains_dtrack_shared_detector_off.png b/advtrains/textures/advtrains_dtrack_shared_detector_off.png
index 724d907..564bbbb 100755..100644
--- a/advtrains/textures/advtrains_dtrack_shared_detector_off.png
+++ b/advtrains/textures/advtrains_dtrack_shared_detector_off.png
Binary files differ
diff --git a/advtrains/textures/advtrains_dtrack_shared_detector_on.png b/advtrains/textures/advtrains_dtrack_shared_detector_on.png
index 7bb29d6..e844a2c 100755..100644
--- a/advtrains/textures/advtrains_dtrack_shared_detector_on.png
+++ b/advtrains/textures/advtrains_dtrack_shared_detector_on.png
Binary files differ
diff --git a/advtrains/textures/advtrains_dtrack_shared_load.png b/advtrains/textures/advtrains_dtrack_shared_load.png
index 5fd0d7a..6a2396f 100755..100644
--- a/advtrains/textures/advtrains_dtrack_shared_load.png
+++ b/advtrains/textures/advtrains_dtrack_shared_load.png
Binary files differ
diff --git a/advtrains/textures/advtrains_dtrack_shared_unload.png b/advtrains/textures/advtrains_dtrack_shared_unload.png
index e9fc5bd..18948e2 100755..100644
--- a/advtrains/textures/advtrains_dtrack_shared_unload.png
+++ b/advtrains/textures/advtrains_dtrack_shared_unload.png
Binary files differ
diff --git a/advtrains/textures/advtrains_dtrack_slopeplacer.png b/advtrains/textures/advtrains_dtrack_slopeplacer.png
index 1d456b0..2ed74c2 100755..100644
--- a/advtrains/textures/advtrains_dtrack_slopeplacer.png
+++ b/advtrains/textures/advtrains_dtrack_slopeplacer.png
Binary files differ
diff --git a/advtrains/textures/advtrains_dtrack_unload_placer.png b/advtrains/textures/advtrains_dtrack_unload_placer.png
index 486861e..4f13569 100755..100644
--- a/advtrains/textures/advtrains_dtrack_unload_placer.png
+++ b/advtrains/textures/advtrains_dtrack_unload_placer.png
Binary files differ
diff --git a/advtrains/textures/advtrains_platform.png b/advtrains/textures/advtrains_platform.png
index 5ba9663..8637e12 100755..100644
--- a/advtrains/textures/advtrains_platform.png
+++ b/advtrains/textures/advtrains_platform.png
Binary files differ
diff --git a/advtrains/textures/advtrains_retrosignal.png b/advtrains/textures/advtrains_retrosignal.png
index 141198d..4d1325f 100755..100644
--- a/advtrains/textures/advtrains_retrosignal.png
+++ b/advtrains/textures/advtrains_retrosignal.png
Binary files differ
diff --git a/advtrains/textures/advtrains_retrosignal_inv.png b/advtrains/textures/advtrains_retrosignal_inv.png
index 1036594..767d505 100755..100644
--- a/advtrains/textures/advtrains_retrosignal_inv.png
+++ b/advtrains/textures/advtrains_retrosignal_inv.png
Binary files differ
diff --git a/advtrains/textures/advtrains_signal_inv.png b/advtrains/textures/advtrains_signal_inv.png
index ed64ed9..6638360 100755..100644
--- a/advtrains/textures/advtrains_signal_inv.png
+++ b/advtrains/textures/advtrains_signal_inv.png
Binary files differ
diff --git a/advtrains/textures/advtrains_signal_off.png b/advtrains/textures/advtrains_signal_off.png
index 8046e52..1ff5564 100755..100644
--- a/advtrains/textures/advtrains_signal_off.png
+++ b/advtrains/textures/advtrains_signal_off.png
Binary files differ
diff --git a/advtrains/textures/advtrains_signal_on.png b/advtrains/textures/advtrains_signal_on.png
index 5228bb3..8b9fe0d 100755..100644
--- a/advtrains/textures/advtrains_signal_on.png
+++ b/advtrains/textures/advtrains_signal_on.png
Binary files differ
diff --git a/advtrains/textures/advtrains_signal_wall_off.png b/advtrains/textures/advtrains_signal_wall_off.png
index 3e7b1e1..3c78b4f 100755..100644
--- a/advtrains/textures/advtrains_signal_wall_off.png
+++ b/advtrains/textures/advtrains_signal_wall_off.png
Binary files differ
diff --git a/advtrains/textures/advtrains_signal_wall_on.png b/advtrains/textures/advtrains_signal_wall_on.png
index b628c7e..271204d 100755..100644
--- a/advtrains/textures/advtrains_signal_wall_on.png
+++ b/advtrains/textures/advtrains_signal_wall_on.png
Binary files differ
diff --git a/advtrains/textures/advtrains_track_cr.png b/advtrains/textures/advtrains_track_cr.png
index 40f0cc5..2d02abe 100755..100644
--- a/advtrains/textures/advtrains_track_cr.png
+++ b/advtrains/textures/advtrains_track_cr.png
Binary files differ
diff --git a/advtrains/textures/advtrains_track_cr_45.png b/advtrains/textures/advtrains_track_cr_45.png
index 54966b3..42b7898 100755..100644
--- a/advtrains/textures/advtrains_track_cr_45.png
+++ b/advtrains/textures/advtrains_track_cr_45.png
Binary files differ
diff --git a/advtrains/textures/advtrains_track_placer.png b/advtrains/textures/advtrains_track_placer.png
index 03e17ed..9e47d90 100755..100644
--- a/advtrains/textures/advtrains_track_placer.png
+++ b/advtrains/textures/advtrains_track_placer.png
Binary files differ
diff --git a/advtrains/textures/advtrains_track_st.png b/advtrains/textures/advtrains_track_st.png
index 5ad7e4f..4d1a1a0 100755..100644
--- a/advtrains/textures/advtrains_track_st.png
+++ b/advtrains/textures/advtrains_track_st.png
Binary files differ
diff --git a/advtrains/textures/advtrains_track_st_45.png b/advtrains/textures/advtrains_track_st_45.png
index 63b4c96..81bb285 100755..100644
--- a/advtrains/textures/advtrains_track_st_45.png
+++ b/advtrains/textures/advtrains_track_st_45.png
Binary files differ
diff --git a/advtrains/textures/advtrains_track_swlcr.png b/advtrains/textures/advtrains_track_swlcr.png
index d9b5c0b..116a331 100755..100644
--- a/advtrains/textures/advtrains_track_swlcr.png
+++ b/advtrains/textures/advtrains_track_swlcr.png
Binary files differ
diff --git a/advtrains/textures/advtrains_track_swlcr_45.png b/advtrains/textures/advtrains_track_swlcr_45.png
index f098fc9..df85f86 100755..100644
--- a/advtrains/textures/advtrains_track_swlcr_45.png
+++ b/advtrains/textures/advtrains_track_swlcr_45.png
Binary files differ
diff --git a/advtrains/textures/advtrains_track_swlst.png b/advtrains/textures/advtrains_track_swlst.png
index 314bd2d..0ca2160 100755..100644
--- a/advtrains/textures/advtrains_track_swlst.png
+++ b/advtrains/textures/advtrains_track_swlst.png
Binary files differ
diff --git a/advtrains/textures/advtrains_track_swlst_45.png b/advtrains/textures/advtrains_track_swlst_45.png
index 765d0ec..28b2b37 100755..100644
--- a/advtrains/textures/advtrains_track_swlst_45.png
+++ b/advtrains/textures/advtrains_track_swlst_45.png
Binary files differ
diff --git a/advtrains/textures/advtrains_track_swrcr.png b/advtrains/textures/advtrains_track_swrcr.png
index f74e1bc..59451b8 100755..100644
--- a/advtrains/textures/advtrains_track_swrcr.png
+++ b/advtrains/textures/advtrains_track_swrcr.png
Binary files differ
diff --git a/advtrains/textures/advtrains_track_swrcr_45.png b/advtrains/textures/advtrains_track_swrcr_45.png
index fa432aa..f4c46c8 100755..100644
--- a/advtrains/textures/advtrains_track_swrcr_45.png
+++ b/advtrains/textures/advtrains_track_swrcr_45.png
Binary files differ
diff --git a/advtrains/textures/advtrains_track_swrst.png b/advtrains/textures/advtrains_track_swrst.png
index 06ea29e..290df45 100755..100644
--- a/advtrains/textures/advtrains_track_swrst.png
+++ b/advtrains/textures/advtrains_track_swrst.png
Binary files differ
diff --git a/advtrains/textures/advtrains_track_swrst_45.png b/advtrains/textures/advtrains_track_swrst_45.png
index be477b7..3832455 100755..100644
--- a/advtrains/textures/advtrains_track_swrst_45.png
+++ b/advtrains/textures/advtrains_track_swrst_45.png
Binary files differ
diff --git a/advtrains/textures/advtrains_trackworker.png b/advtrains/textures/advtrains_trackworker.png
index b50bcae..ad31643 100755..100644
--- a/advtrains/textures/advtrains_trackworker.png
+++ b/advtrains/textures/advtrains_trackworker.png
Binary files differ
diff --git a/advtrains/textures/advtrains_wagon_placeholder.png b/advtrains/textures/advtrains_wagon_placeholder.png
index 383c181..9771fa0 100644
--- a/advtrains/textures/advtrains_wagon_placeholder.png
+++ b/advtrains/textures/advtrains_wagon_placeholder.png
Binary files differ
diff --git a/advtrains/textures/advtrains_wheel.png b/advtrains/textures/advtrains_wheel.png
index fb72879..3ba16a8 100755..100644
--- a/advtrains/textures/advtrains_wheel.png
+++ b/advtrains/textures/advtrains_wheel.png
Binary files differ
diff --git a/advtrains/textures/drwho_screwdriver.png b/advtrains/textures/drwho_screwdriver.png
index b50bcae..ad31643 100755..100644
--- a/advtrains/textures/drwho_screwdriver.png
+++ b/advtrains/textures/drwho_screwdriver.png
Binary files differ
diff --git a/advtrains_interlocking/textures/advtrains_dtrack_npr_placer.png b/advtrains_interlocking/textures/advtrains_dtrack_npr_placer.png
index 0d1c769..67bb4e5 100644
--- a/advtrains_interlocking/textures/advtrains_dtrack_npr_placer.png
+++ b/advtrains_interlocking/textures/advtrains_dtrack_npr_placer.png
Binary files differ
diff --git a/advtrains_interlocking/textures/advtrains_dtrack_shared_npr.png b/advtrains_interlocking/textures/advtrains_dtrack_shared_npr.png
index 0116c27..5a5fe21 100644
--- a/advtrains_interlocking/textures/advtrains_dtrack_shared_npr.png
+++ b/advtrains_interlocking/textures/advtrains_dtrack_shared_npr.png
Binary files differ
diff --git a/advtrains_interlocking/textures/at_il_route_end.png b/advtrains_interlocking/textures/at_il_route_end.png
index 1433f0c..7459fe6 100644
--- a/advtrains_interlocking/textures/at_il_route_end.png
+++ b/advtrains_interlocking/textures/at_il_route_end.png
Binary files differ
diff --git a/advtrains_interlocking/textures/at_il_route_lock.png b/advtrains_interlocking/textures/at_il_route_lock.png
index 6a5269b..cc10b44 100644
--- a/advtrains_interlocking/textures/at_il_route_lock.png
+++ b/advtrains_interlocking/textures/at_il_route_lock.png
Binary files differ
diff --git a/advtrains_interlocking/textures/at_il_route_lock_edit.png b/advtrains_interlocking/textures/at_il_route_lock_edit.png
index df5f923..0c835f6 100644
--- a/advtrains_interlocking/textures/at_il_route_lock_edit.png
+++ b/advtrains_interlocking/textures/at_il_route_lock_edit.png
Binary files differ
diff --git a/advtrains_interlocking/textures/at_il_route_set.png b/advtrains_interlocking/textures/at_il_route_set.png
index 3531420..4d7f171 100644
--- a/advtrains_interlocking/textures/at_il_route_set.png
+++ b/advtrains_interlocking/textures/at_il_route_set.png
Binary files differ
diff --git a/advtrains_interlocking/textures/at_il_route_start.png b/advtrains_interlocking/textures/at_il_route_start.png
index dcb5160..409fcc7 100644
--- a/advtrains_interlocking/textures/at_il_route_start.png
+++ b/advtrains_interlocking/textures/at_il_route_start.png
Binary files differ
diff --git a/advtrains_interlocking/textures/at_il_routep_advance.png b/advtrains_interlocking/textures/at_il_routep_advance.png
index d971e85..6de182d 100644
--- a/advtrains_interlocking/textures/at_il_routep_advance.png
+++ b/advtrains_interlocking/textures/at_il_routep_advance.png
Binary files differ
diff --git a/advtrains_interlocking/textures/at_il_routep_end_here.png b/advtrains_interlocking/textures/at_il_routep_end_here.png
index 9dd3088..f27fbbb 100644
--- a/advtrains_interlocking/textures/at_il_routep_end_here.png
+++ b/advtrains_interlocking/textures/at_il_routep_end_here.png
Binary files differ
diff --git a/advtrains_interlocking/textures/at_il_routep_end_over.png b/advtrains_interlocking/textures/at_il_routep_end_over.png
index e03198b..fb45c47 100644
--- a/advtrains_interlocking/textures/at_il_routep_end_over.png
+++ b/advtrains_interlocking/textures/at_il_routep_end_over.png
Binary files differ
diff --git a/advtrains_interlocking/textures/at_il_routep_end_over_last.png b/advtrains_interlocking/textures/at_il_routep_end_over_last.png
index f4fb1aa..4f77be8 100644
--- a/advtrains_interlocking/textures/at_il_routep_end_over_last.png
+++ b/advtrains_interlocking/textures/at_il_routep_end_over_last.png
Binary files differ
diff --git a/advtrains_interlocking/textures/at_il_signal_asp_danger.png b/advtrains_interlocking/textures/at_il_signal_asp_danger.png
index fca786d..80ecf26 100644
--- a/advtrains_interlocking/textures/at_il_signal_asp_danger.png
+++ b/advtrains_interlocking/textures/at_il_signal_asp_danger.png
Binary files differ
diff --git a/advtrains_interlocking/textures/at_il_signal_asp_free.png b/advtrains_interlocking/textures/at_il_signal_asp_free.png
index e9d6e9c..26827a4 100644
--- a/advtrains_interlocking/textures/at_il_signal_asp_free.png
+++ b/advtrains_interlocking/textures/at_il_signal_asp_free.png
Binary files differ
diff --git a/advtrains_interlocking/textures/at_il_signal_asp_slow.png b/advtrains_interlocking/textures/at_il_signal_asp_slow.png
index 9242bb3..fffedfa 100644
--- a/advtrains_interlocking/textures/at_il_signal_asp_slow.png
+++ b/advtrains_interlocking/textures/at_il_signal_asp_slow.png
Binary files differ
diff --git a/advtrains_interlocking/textures/at_il_signal_ip.png b/advtrains_interlocking/textures/at_il_signal_ip.png
index bf1618a..b569768 100644
--- a/advtrains_interlocking/textures/at_il_signal_ip.png
+++ b/advtrains_interlocking/textures/at_il_signal_ip.png
Binary files differ
diff --git a/advtrains_interlocking/textures/at_il_signal_off.png b/advtrains_interlocking/textures/at_il_signal_off.png
index f9b1f79..cf59bf1 100644
--- a/advtrains_interlocking/textures/at_il_signal_off.png
+++ b/advtrains_interlocking/textures/at_il_signal_off.png
Binary files differ
diff --git a/advtrains_interlocking/textures/at_il_tcb_marker.png b/advtrains_interlocking/textures/at_il_tcb_marker.png
index 3efc38a..3f042c5 100644
--- a/advtrains_interlocking/textures/at_il_tcb_marker.png
+++ b/advtrains_interlocking/textures/at_il_tcb_marker.png
Binary files differ
diff --git a/advtrains_interlocking/textures/at_il_tcb_node.png b/advtrains_interlocking/textures/at_il_tcb_node.png
index d5f615f..1585ea7 100644
--- a/advtrains_interlocking/textures/at_il_tcb_node.png
+++ b/advtrains_interlocking/textures/at_il_tcb_node.png
Binary files differ
diff --git a/advtrains_interlocking/textures/at_il_tool.png b/advtrains_interlocking/textures/at_il_tool.png
index f6ce1cc..58608b5 100644
--- a/advtrains_interlocking/textures/at_il_tool.png
+++ b/advtrains_interlocking/textures/at_il_tool.png
Binary files differ
diff --git a/advtrains_interlocking/textures/at_il_turnout_cr_l.png b/advtrains_interlocking/textures/at_il_turnout_cr_l.png
index fb79e3d..d33d3cd 100644
--- a/advtrains_interlocking/textures/at_il_turnout_cr_l.png
+++ b/advtrains_interlocking/textures/at_il_turnout_cr_l.png
Binary files differ
diff --git a/advtrains_interlocking/textures/at_il_turnout_cr_r.png b/advtrains_interlocking/textures/at_il_turnout_cr_r.png
index e04dfbd..01bc717 100644
--- a/advtrains_interlocking/textures/at_il_turnout_cr_r.png
+++ b/advtrains_interlocking/textures/at_il_turnout_cr_r.png
Binary files differ
diff --git a/advtrains_interlocking/textures/at_il_turnout_free.png b/advtrains_interlocking/textures/at_il_turnout_free.png
index 5c83193..0eea6d5 100644
--- a/advtrains_interlocking/textures/at_il_turnout_free.png
+++ b/advtrains_interlocking/textures/at_il_turnout_free.png
Binary files differ
diff --git a/advtrains_interlocking/textures/at_il_turnout_st.png b/advtrains_interlocking/textures/at_il_turnout_st.png
index 50d5ad5..d9ab299 100644
--- a/advtrains_interlocking/textures/at_il_turnout_st.png
+++ b/advtrains_interlocking/textures/at_il_turnout_st.png
Binary files differ
diff --git a/advtrains_itrainmap/textures/itm_example.png b/advtrains_itrainmap/textures/itm_example.png
index caf084a..764d1cf 100644
--- a/advtrains_itrainmap/textures/itm_example.png
+++ b/advtrains_itrainmap/textures/itm_example.png
Binary files differ
diff --git a/advtrains_line_automation/textures/advtrains_dtrack_shared_stop.png b/advtrains_line_automation/textures/advtrains_dtrack_shared_stop.png
index b6629cf..e414d8b 100644
--- a/advtrains_line_automation/textures/advtrains_dtrack_shared_stop.png
+++ b/advtrains_line_automation/textures/advtrains_dtrack_shared_stop.png
Binary files differ
diff --git a/advtrains_line_automation/textures/advtrains_dtrack_stop_placer.png b/advtrains_line_automation/textures/advtrains_dtrack_stop_placer.png
index 0d1c769..67bb4e5 100644
--- a/advtrains_line_automation/textures/advtrains_dtrack_stop_placer.png
+++ b/advtrains_line_automation/textures/advtrains_dtrack_stop_placer.png
Binary files differ
diff --git a/advtrains_luaautomation/textures/atlatc_oppanel.png b/advtrains_luaautomation/textures/atlatc_oppanel.png
index 96eb30e..fc7acf9 100644
--- a/advtrains_luaautomation/textures/atlatc_oppanel.png
+++ b/advtrains_luaautomation/textures/atlatc_oppanel.png
Binary files differ
diff --git a/advtrains_luaautomation/textures/atlatc_pcnaming.png b/advtrains_luaautomation/textures/atlatc_pcnaming.png
index 3fccdfc..3a8a0a5 100644
--- a/advtrains_luaautomation/textures/atlatc_pcnaming.png
+++ b/advtrains_luaautomation/textures/atlatc_pcnaming.png
Binary files differ
diff --git a/advtrains_signals_ks/textures/advtrains_signals_ks_aspect_green.png b/advtrains_signals_ks/textures/advtrains_signals_ks_aspect_green.png
index 5b1266c..8202edf 100644
--- a/advtrains_signals_ks/textures/advtrains_signals_ks_aspect_green.png
+++ b/advtrains_signals_ks/textures/advtrains_signals_ks_aspect_green.png
Binary files differ
diff --git a/advtrains_signals_ks/textures/advtrains_signals_ks_aspect_red.png b/advtrains_signals_ks/textures/advtrains_signals_ks_aspect_red.png
index 9d3ac89..b0c5512 100644
--- a/advtrains_signals_ks/textures/advtrains_signals_ks_aspect_red.png
+++ b/advtrains_signals_ks/textures/advtrains_signals_ks_aspect_red.png
Binary files differ
diff --git a/advtrains_signals_ks/textures/advtrains_signals_ks_aspect_white.png b/advtrains_signals_ks/textures/advtrains_signals_ks_aspect_white.png
index b5dcc87..0a938f7 100644
--- a/advtrains_signals_ks/textures/advtrains_signals_ks_aspect_white.png
+++ b/advtrains_signals_ks/textures/advtrains_signals_ks_aspect_white.png
Binary files differ
diff --git a/advtrains_signals_ks/textures/advtrains_signals_ks_aspect_yellow.png b/advtrains_signals_ks/textures/advtrains_signals_ks_aspect_yellow.png
index 6d1204d..790c1b7 100644
--- a/advtrains_signals_ks/textures/advtrains_signals_ks_aspect_yellow.png
+++ b/advtrains_signals_ks/textures/advtrains_signals_ks_aspect_yellow.png
Binary files differ
diff --git a/advtrains_signals_ks/textures/advtrains_signals_ks_head.png b/advtrains_signals_ks/textures/advtrains_signals_ks_head.png
index 0300e2f..337e561 100644
--- a/advtrains_signals_ks/textures/advtrains_signals_ks_head.png
+++ b/advtrains_signals_ks/textures/advtrains_signals_ks_head.png
Binary files differ
diff --git a/advtrains_signals_ks/textures/advtrains_signals_ks_hs_inv.png b/advtrains_signals_ks/textures/advtrains_signals_ks_hs_inv.png
index d526a76..e3e4059 100644
--- a/advtrains_signals_ks/textures/advtrains_signals_ks_hs_inv.png
+++ b/advtrains_signals_ks/textures/advtrains_signals_ks_hs_inv.png
Binary files differ
diff --git a/advtrains_signals_ks/textures/advtrains_signals_ks_ltm_danger.png b/advtrains_signals_ks/textures/advtrains_signals_ks_ltm_danger.png
index dc58e53..95f52cc 100644
--- a/advtrains_signals_ks/textures/advtrains_signals_ks_ltm_danger.png
+++ b/advtrains_signals_ks/textures/advtrains_signals_ks_ltm_danger.png
Binary files differ
diff --git a/advtrains_signals_ks/textures/advtrains_signals_ks_ltm_free.png b/advtrains_signals_ks/textures/advtrains_signals_ks_ltm_free.png
index 3912971..1c5cd75 100644
--- a/advtrains_signals_ks/textures/advtrains_signals_ks_ltm_free.png
+++ b/advtrains_signals_ks/textures/advtrains_signals_ks_ltm_free.png
Binary files differ
diff --git a/advtrains_signals_ks/textures/advtrains_signals_ks_ltm_shunt.png b/advtrains_signals_ks/textures/advtrains_signals_ks_ltm_shunt.png
index 812c678..4651dbc 100644
--- a/advtrains_signals_ks/textures/advtrains_signals_ks_ltm_shunt.png
+++ b/advtrains_signals_ks/textures/advtrains_signals_ks_ltm_shunt.png
Binary files differ
diff --git a/advtrains_signals_ks/textures/advtrains_signals_ks_ltm_shuntd.png b/advtrains_signals_ks/textures/advtrains_signals_ks_ltm_shuntd.png
index cb56cd4..e2e56b1 100644
--- a/advtrains_signals_ks/textures/advtrains_signals_ks_ltm_shuntd.png
+++ b/advtrains_signals_ks/textures/advtrains_signals_ks_ltm_shuntd.png
Binary files differ
diff --git a/advtrains_signals_ks/textures/advtrains_signals_ks_ltm_slow.png b/advtrains_signals_ks/textures/advtrains_signals_ks_ltm_slow.png
index 2ba00b9..8561d5b 100644
--- a/advtrains_signals_ks/textures/advtrains_signals_ks_ltm_slow.png
+++ b/advtrains_signals_ks/textures/advtrains_signals_ks_ltm_slow.png
Binary files differ
diff --git a/advtrains_signals_ks/textures/advtrains_signals_ks_mast.png b/advtrains_signals_ks/textures/advtrains_signals_ks_mast.png
index dbbee5d..88221e4 100644
--- a/advtrains_signals_ks/textures/advtrains_signals_ks_mast.png
+++ b/advtrains_signals_ks/textures/advtrains_signals_ks_mast.png
Binary files differ
diff --git a/advtrains_signals_ks/textures/advtrains_signals_ks_ra_inv.png b/advtrains_signals_ks/textures/advtrains_signals_ks_ra_inv.png
index 8d71782..5e5a45e 100644
--- a/advtrains_signals_ks/textures/advtrains_signals_ks_ra_inv.png
+++ b/advtrains_signals_ks/textures/advtrains_signals_ks_ra_inv.png
Binary files differ
diff --git a/advtrains_signals_ks/textures/advtrains_signals_ks_sign_12.png b/advtrains_signals_ks/textures/advtrains_signals_ks_sign_12.png
index cba5222..5000f0e 100644
--- a/advtrains_signals_ks/textures/advtrains_signals_ks_sign_12.png
+++ b/advtrains_signals_ks/textures/advtrains_signals_ks_sign_12.png
Binary files differ
diff --git a/advtrains_signals_ks/textures/advtrains_signals_ks_sign_16.png b/advtrains_signals_ks/textures/advtrains_signals_ks_sign_16.png
index a35fa93..76eee16 100644
--- a/advtrains_signals_ks/textures/advtrains_signals_ks_sign_16.png
+++ b/advtrains_signals_ks/textures/advtrains_signals_ks_sign_16.png
Binary files differ
diff --git a/advtrains_signals_ks/textures/advtrains_signals_ks_sign_8.png b/advtrains_signals_ks/textures/advtrains_signals_ks_sign_8.png
index abfa10c..3a9b988 100644
--- a/advtrains_signals_ks/textures/advtrains_signals_ks_sign_8.png
+++ b/advtrains_signals_ks/textures/advtrains_signals_ks_sign_8.png
Binary files differ
diff --git a/advtrains_signals_ks/textures/advtrains_signals_ks_sign_e.png b/advtrains_signals_ks/textures/advtrains_signals_ks_sign_e.png
index 3d55af0..aa03488 100644
--- a/advtrains_signals_ks/textures/advtrains_signals_ks_sign_e.png
+++ b/advtrains_signals_ks/textures/advtrains_signals_ks_sign_e.png
Binary files differ
diff --git a/advtrains_signals_ks/textures/advtrains_signals_ks_sign_hfs.png b/advtrains_signals_ks/textures/advtrains_signals_ks_sign_hfs.png
index e54ab19..6aee16a 100644
--- a/advtrains_signals_ks/textures/advtrains_signals_ks_sign_hfs.png
+++ b/advtrains_signals_ks/textures/advtrains_signals_ks_sign_hfs.png
Binary files differ
diff --git a/advtrains_signals_ks/textures/advtrains_signals_ks_signpost.png b/advtrains_signals_ks/textures/advtrains_signals_ks_signpost.png
index 9eade81..643dfa0 100644
--- a/advtrains_signals_ks/textures/advtrains_signals_ks_signpost.png
+++ b/advtrains_signals_ks/textures/advtrains_signals_ks_signpost.png
Binary files differ
diff --git a/advtrains_signals_ks/textures/advtrains_signals_ks_zs_7.png b/advtrains_signals_ks/textures/advtrains_signals_ks_zs_7.png
index 3c4b1e2..0259fad 100644
--- a/advtrains_signals_ks/textures/advtrains_signals_ks_zs_7.png
+++ b/advtrains_signals_ks/textures/advtrains_signals_ks_zs_7.png
Binary files differ
diff --git a/advtrains_train_industrial/textures/advtrains_engine_industrial.png b/advtrains_train_industrial/textures/advtrains_engine_industrial.png
index ac81bc7..678dd9e 100644
--- a/advtrains_train_industrial/textures/advtrains_engine_industrial.png
+++ b/advtrains_train_industrial/textures/advtrains_engine_industrial.png
Binary files differ
diff --git a/advtrains_train_industrial/textures/advtrains_engine_industrial_big.png b/advtrains_train_industrial/textures/advtrains_engine_industrial_big.png
index 0fcdc94..2a4e67d 100644
--- a/advtrains_train_industrial/textures/advtrains_engine_industrial_big.png
+++ b/advtrains_train_industrial/textures/advtrains_engine_industrial_big.png
Binary files differ
diff --git a/advtrains_train_industrial/textures/advtrains_engine_industrial_inv.png b/advtrains_train_industrial/textures/advtrains_engine_industrial_inv.png
index be4e80f..5baa381 100644
--- a/advtrains_train_industrial/textures/advtrains_engine_industrial_inv.png
+++ b/advtrains_train_industrial/textures/advtrains_engine_industrial_inv.png
Binary files differ
diff --git a/advtrains_train_industrial/textures/advtrains_wagon_tank.png b/advtrains_train_industrial/textures/advtrains_wagon_tank.png
index 01100bf..7ef68da 100644
--- a/advtrains_train_industrial/textures/advtrains_wagon_tank.png
+++ b/advtrains_train_industrial/textures/advtrains_wagon_tank.png
Binary files differ
diff --git a/advtrains_train_industrial/textures/advtrains_wagon_tank_inv.png b/advtrains_train_industrial/textures/advtrains_wagon_tank_inv.png
index 03401be..af14d6e 100644
--- a/advtrains_train_industrial/textures/advtrains_wagon_tank_inv.png
+++ b/advtrains_train_industrial/textures/advtrains_wagon_tank_inv.png
Binary files differ
diff --git a/advtrains_train_industrial/textures/advtrains_wagon_wood.png b/advtrains_train_industrial/textures/advtrains_wagon_wood.png
index 145dcd8..19150a3 100644
--- a/advtrains_train_industrial/textures/advtrains_wagon_wood.png
+++ b/advtrains_train_industrial/textures/advtrains_wagon_wood.png
Binary files differ
diff --git a/advtrains_train_industrial/textures/advtrains_wagon_wood_inv.png b/advtrains_train_industrial/textures/advtrains_wagon_wood_inv.png
index 87109dd..819a141 100644
--- a/advtrains_train_industrial/textures/advtrains_wagon_wood_inv.png
+++ b/advtrains_train_industrial/textures/advtrains_wagon_wood_inv.png
Binary files differ
diff --git a/advtrains_train_japan/textures/advtrains_engine_japan.png b/advtrains_train_japan/textures/advtrains_engine_japan.png
index 2bc5fb8..7a12352 100644
--- a/advtrains_train_japan/textures/advtrains_engine_japan.png
+++ b/advtrains_train_japan/textures/advtrains_engine_japan.png
Binary files differ
diff --git a/advtrains_train_japan/textures/advtrains_engine_japan_inv.png b/advtrains_train_japan/textures/advtrains_engine_japan_inv.png
index 6af0636..abb53d5 100644
--- a/advtrains_train_japan/textures/advtrains_engine_japan_inv.png
+++ b/advtrains_train_japan/textures/advtrains_engine_japan_inv.png
Binary files differ
diff --git a/advtrains_train_japan/textures/advtrains_wagon_japan.png b/advtrains_train_japan/textures/advtrains_wagon_japan.png
index c9cddc8..f1ef245 100644
--- a/advtrains_train_japan/textures/advtrains_wagon_japan.png
+++ b/advtrains_train_japan/textures/advtrains_wagon_japan.png
Binary files differ
diff --git a/advtrains_train_japan/textures/advtrains_wagon_japan_inv.png b/advtrains_train_japan/textures/advtrains_wagon_japan_inv.png
index 3e6357c..17d74d6 100644
--- a/advtrains_train_japan/textures/advtrains_wagon_japan_inv.png
+++ b/advtrains_train_japan/textures/advtrains_wagon_japan_inv.png
Binary files differ
diff --git a/advtrains_train_steam/screenshot.png b/advtrains_train_steam/screenshot.png
index 089da73..2781041 100644
--- a/advtrains_train_steam/screenshot.png
+++ b/advtrains_train_steam/screenshot.png
Binary files differ
diff --git a/advtrains_train_steam/textures/advtrains_detailed_engine_steam_inv.png b/advtrains_train_steam/textures/advtrains_detailed_engine_steam_inv.png
index 51adb5a..6797933 100755..100644
--- a/advtrains_train_steam/textures/advtrains_detailed_engine_steam_inv.png
+++ b/advtrains_train_steam/textures/advtrains_detailed_engine_steam_inv.png
Binary files differ
diff --git a/advtrains_train_steam/textures/advtrains_detailed_steam_engine.png b/advtrains_train_steam/textures/advtrains_detailed_steam_engine.png
index 926d5f0..b7693ad 100755..100644
--- a/advtrains_train_steam/textures/advtrains_detailed_steam_engine.png
+++ b/advtrains_train_steam/textures/advtrains_detailed_steam_engine.png
Binary files differ
diff --git a/advtrains_train_steam/textures/advtrains_engine_steam.png b/advtrains_train_steam/textures/advtrains_engine_steam.png
index 4b27e77..b0b7709 100755..100644
--- a/advtrains_train_steam/textures/advtrains_engine_steam.png
+++ b/advtrains_train_steam/textures/advtrains_engine_steam.png
Binary files differ
diff --git a/advtrains_train_steam/textures/advtrains_engine_steam_inv.png b/advtrains_train_steam/textures/advtrains_engine_steam_inv.png
index 8d3fafb..713e455 100755..100644
--- a/advtrains_train_steam/textures/advtrains_engine_steam_inv.png
+++ b/advtrains_train_steam/textures/advtrains_engine_steam_inv.png
Binary files differ
diff --git a/advtrains_train_steam/textures/advtrains_wagon.png b/advtrains_train_steam/textures/advtrains_wagon.png
index bd34e68..32af1bd 100644
--- a/advtrains_train_steam/textures/advtrains_wagon.png
+++ b/advtrains_train_steam/textures/advtrains_wagon.png
Binary files differ
diff --git a/advtrains_train_steam/textures/advtrains_wagon_box.png b/advtrains_train_steam/textures/advtrains_wagon_box.png
index 8cdd440..4730916 100755..100644
--- a/advtrains_train_steam/textures/advtrains_wagon_box.png
+++ b/advtrains_train_steam/textures/advtrains_wagon_box.png
Binary files differ
diff --git a/advtrains_train_steam/textures/advtrains_wagon_box_inv.png b/advtrains_train_steam/textures/advtrains_wagon_box_inv.png
index 480f245..c846d0c 100755..100644
--- a/advtrains_train_steam/textures/advtrains_wagon_box_inv.png
+++ b/advtrains_train_steam/textures/advtrains_wagon_box_inv.png
Binary files differ
diff --git a/advtrains_train_steam/textures/advtrains_wagon_inv.png b/advtrains_train_steam/textures/advtrains_wagon_inv.png
index 65f7984..4d2f756 100755..100644
--- a/advtrains_train_steam/textures/advtrains_wagon_inv.png
+++ b/advtrains_train_steam/textures/advtrains_wagon_inv.png
Binary files differ
diff --git a/advtrains_train_subway/textures/advtrains_subway_wagon.png b/advtrains_train_subway/textures/advtrains_subway_wagon.png
index 079d797..c2d18ed 100644
--- a/advtrains_train_subway/textures/advtrains_subway_wagon.png
+++ b/advtrains_train_subway/textures/advtrains_subway_wagon.png
Binary files differ
diff --git a/advtrains_train_subway/textures/advtrains_subway_wagon_inv.png b/advtrains_train_subway/textures/advtrains_subway_wagon_inv.png
index 1d0e809..c3fef1d 100644
--- a/advtrains_train_subway/textures/advtrains_subway_wagon_inv.png
+++ b/advtrains_train_subway/textures/advtrains_subway_wagon_inv.png
Binary files differ
diff --git a/advtrains_train_subway/textures/advtrains_subway_wagon_line0.png b/advtrains_train_subway/textures/advtrains_subway_wagon_line0.png
index c656d97..3a42684 100644
--- a/advtrains_train_subway/textures/advtrains_subway_wagon_line0.png
+++ b/advtrains_train_subway/textures/advtrains_subway_wagon_line0.png
Binary files differ
diff --git a/advtrains_train_subway/textures/advtrains_subway_wagon_line1.png b/advtrains_train_subway/textures/advtrains_subway_wagon_line1.png
index ad596df..fe35193 100644
--- a/advtrains_train_subway/textures/advtrains_subway_wagon_line1.png
+++ b/advtrains_train_subway/textures/advtrains_subway_wagon_line1.png
Binary files differ
diff --git a/advtrains_train_subway/textures/advtrains_subway_wagon_line2.png b/advtrains_train_subway/textures/advtrains_subway_wagon_line2.png
index 7dbe679..78b4f80 100644
--- a/advtrains_train_subway/textures/advtrains_subway_wagon_line2.png
+++ b/advtrains_train_subway/textures/advtrains_subway_wagon_line2.png
Binary files differ
diff --git a/advtrains_train_subway/textures/advtrains_subway_wagon_line3.png b/advtrains_train_subway/textures/advtrains_subway_wagon_line3.png
index 3ccb6fb..19e3af1 100644
--- a/advtrains_train_subway/textures/advtrains_subway_wagon_line3.png
+++ b/advtrains_train_subway/textures/advtrains_subway_wagon_line3.png
Binary files differ
diff --git a/advtrains_train_subway/textures/advtrains_subway_wagon_line4.png b/advtrains_train_subway/textures/advtrains_subway_wagon_line4.png
index 67d7def..eb8dc39 100644
--- a/advtrains_train_subway/textures/advtrains_subway_wagon_line4.png
+++ b/advtrains_train_subway/textures/advtrains_subway_wagon_line4.png
Binary files differ
diff --git a/advtrains_train_subway/textures/advtrains_subway_wagon_line5.png b/advtrains_train_subway/textures/advtrains_subway_wagon_line5.png
index 1af9e9c..50dceb8 100644
--- a/advtrains_train_subway/textures/advtrains_subway_wagon_line5.png
+++ b/advtrains_train_subway/textures/advtrains_subway_wagon_line5.png
Binary files differ
diff --git a/advtrains_train_subway/textures/advtrains_subway_wagon_line6.png b/advtrains_train_subway/textures/advtrains_subway_wagon_line6.png
index e48c6ed..f804880 100644
--- a/advtrains_train_subway/textures/advtrains_subway_wagon_line6.png
+++ b/advtrains_train_subway/textures/advtrains_subway_wagon_line6.png
Binary files differ
diff --git a/advtrains_train_subway/textures/advtrains_subway_wagon_line7.png b/advtrains_train_subway/textures/advtrains_subway_wagon_line7.png
index 8ed26e7..0587719 100644
--- a/advtrains_train_subway/textures/advtrains_subway_wagon_line7.png
+++ b/advtrains_train_subway/textures/advtrains_subway_wagon_line7.png
Binary files differ
diff --git a/advtrains_train_subway/textures/advtrains_subway_wagon_line8.png b/advtrains_train_subway/textures/advtrains_subway_wagon_line8.png
index 4e19353..45de3bd 100644
--- a/advtrains_train_subway/textures/advtrains_subway_wagon_line8.png
+++ b/advtrains_train_subway/textures/advtrains_subway_wagon_line8.png
Binary files differ
diff --git a/advtrains_train_subway/textures/advtrains_subway_wagon_line9.png b/advtrains_train_subway/textures/advtrains_subway_wagon_line9.png
index a79d7a7..a5dfd1d 100644
--- a/advtrains_train_subway/textures/advtrains_subway_wagon_line9.png
+++ b/advtrains_train_subway/textures/advtrains_subway_wagon_line9.png
Binary files differ
diff --git a/advtrains_train_subway/textures/advtrains_subway_wagon_lineX.png b/advtrains_train_subway/textures/advtrains_subway_wagon_lineX.png
index 6f74877..4b142c1 100644
--- a/advtrains_train_subway/textures/advtrains_subway_wagon_lineX.png
+++ b/advtrains_train_subway/textures/advtrains_subway_wagon_lineX.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_dtrack_atc_placer.png b/advtrains_train_track/textures/advtrains_dtrack_atc_placer.png
index 31c2b30..e7cbe56 100644
--- a/advtrains_train_track/textures/advtrains_dtrack_atc_placer.png
+++ b/advtrains_train_track/textures/advtrains_dtrack_atc_placer.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_dtrack_bumper_placer.png b/advtrains_train_track/textures/advtrains_dtrack_bumper_placer.png
index 27191fe..7bc9aeb 100644
--- a/advtrains_train_track/textures/advtrains_dtrack_bumper_placer.png
+++ b/advtrains_train_track/textures/advtrains_dtrack_bumper_placer.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_dtrack_detector_placer.png b/advtrains_train_track/textures/advtrains_dtrack_detector_placer.png
index e6c6ad6..c3b4fd9 100644
--- a/advtrains_train_track/textures/advtrains_dtrack_detector_placer.png
+++ b/advtrains_train_track/textures/advtrains_dtrack_detector_placer.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_dtrack_load_placer.png b/advtrains_train_track/textures/advtrains_dtrack_load_placer.png
index 427c011..27db319 100644
--- a/advtrains_train_track/textures/advtrains_dtrack_load_placer.png
+++ b/advtrains_train_track/textures/advtrains_dtrack_load_placer.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_dtrack_placer.png b/advtrains_train_track/textures/advtrains_dtrack_placer.png
index 7bef8a9..a5181eb 100644
--- a/advtrains_train_track/textures/advtrains_dtrack_placer.png
+++ b/advtrains_train_track/textures/advtrains_dtrack_placer.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_dtrack_rail.png b/advtrains_train_track/textures/advtrains_dtrack_rail.png
index bd0c217..75776be 100644
--- a/advtrains_train_track/textures/advtrains_dtrack_rail.png
+++ b/advtrains_train_track/textures/advtrains_dtrack_rail.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_dtrack_shared.png b/advtrains_train_track/textures/advtrains_dtrack_shared.png
index 736c7db..b968ba6 100644
--- a/advtrains_train_track/textures/advtrains_dtrack_shared.png
+++ b/advtrains_train_track/textures/advtrains_dtrack_shared.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_dtrack_shared_atc.png b/advtrains_train_track/textures/advtrains_dtrack_shared_atc.png
index 1f83c37..6502d3b 100644
--- a/advtrains_train_track/textures/advtrains_dtrack_shared_atc.png
+++ b/advtrains_train_track/textures/advtrains_dtrack_shared_atc.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_dtrack_shared_detector_off.png b/advtrains_train_track/textures/advtrains_dtrack_shared_detector_off.png
index 724d907..564bbbb 100644
--- a/advtrains_train_track/textures/advtrains_dtrack_shared_detector_off.png
+++ b/advtrains_train_track/textures/advtrains_dtrack_shared_detector_off.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_dtrack_shared_detector_on.png b/advtrains_train_track/textures/advtrains_dtrack_shared_detector_on.png
index 7bb29d6..e844a2c 100644
--- a/advtrains_train_track/textures/advtrains_dtrack_shared_detector_on.png
+++ b/advtrains_train_track/textures/advtrains_dtrack_shared_detector_on.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_dtrack_shared_load.png b/advtrains_train_track/textures/advtrains_dtrack_shared_load.png
index 5fd0d7a..6a2396f 100644
--- a/advtrains_train_track/textures/advtrains_dtrack_shared_load.png
+++ b/advtrains_train_track/textures/advtrains_dtrack_shared_load.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_dtrack_shared_unload.png b/advtrains_train_track/textures/advtrains_dtrack_shared_unload.png
index e9fc5bd..18948e2 100644
--- a/advtrains_train_track/textures/advtrains_dtrack_shared_unload.png
+++ b/advtrains_train_track/textures/advtrains_dtrack_shared_unload.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_dtrack_slopeplacer.png b/advtrains_train_track/textures/advtrains_dtrack_slopeplacer.png
index 1d456b0..2ed74c2 100644
--- a/advtrains_train_track/textures/advtrains_dtrack_slopeplacer.png
+++ b/advtrains_train_track/textures/advtrains_dtrack_slopeplacer.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_dtrack_unload_placer.png b/advtrains_train_track/textures/advtrains_dtrack_unload_placer.png
index 486861e..4f13569 100644
--- a/advtrains_train_track/textures/advtrains_dtrack_unload_placer.png
+++ b/advtrains_train_track/textures/advtrains_dtrack_unload_placer.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_track_cr.png b/advtrains_train_track/textures/advtrains_track_cr.png
index 40f0cc5..2d02abe 100644
--- a/advtrains_train_track/textures/advtrains_track_cr.png
+++ b/advtrains_train_track/textures/advtrains_track_cr.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_track_cr_45.png b/advtrains_train_track/textures/advtrains_track_cr_45.png
index 54966b3..42b7898 100644
--- a/advtrains_train_track/textures/advtrains_track_cr_45.png
+++ b/advtrains_train_track/textures/advtrains_track_cr_45.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_track_placer.png b/advtrains_train_track/textures/advtrains_track_placer.png
index 03e17ed..9e47d90 100644
--- a/advtrains_train_track/textures/advtrains_track_placer.png
+++ b/advtrains_train_track/textures/advtrains_track_placer.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_track_st.png b/advtrains_train_track/textures/advtrains_track_st.png
index 5ad7e4f..4d1a1a0 100644
--- a/advtrains_train_track/textures/advtrains_track_st.png
+++ b/advtrains_train_track/textures/advtrains_track_st.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_track_st_45.png b/advtrains_train_track/textures/advtrains_track_st_45.png
index 63b4c96..81bb285 100644
--- a/advtrains_train_track/textures/advtrains_track_st_45.png
+++ b/advtrains_train_track/textures/advtrains_track_st_45.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_track_swlcr.png b/advtrains_train_track/textures/advtrains_track_swlcr.png
index d9b5c0b..116a331 100644
--- a/advtrains_train_track/textures/advtrains_track_swlcr.png
+++ b/advtrains_train_track/textures/advtrains_track_swlcr.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_track_swlcr_45.png b/advtrains_train_track/textures/advtrains_track_swlcr_45.png
index f098fc9..df85f86 100644
--- a/advtrains_train_track/textures/advtrains_track_swlcr_45.png
+++ b/advtrains_train_track/textures/advtrains_track_swlcr_45.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_track_swlst.png b/advtrains_train_track/textures/advtrains_track_swlst.png
index 314bd2d..0ca2160 100644
--- a/advtrains_train_track/textures/advtrains_track_swlst.png
+++ b/advtrains_train_track/textures/advtrains_track_swlst.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_track_swlst_45.png b/advtrains_train_track/textures/advtrains_track_swlst_45.png
index 765d0ec..28b2b37 100644
--- a/advtrains_train_track/textures/advtrains_track_swlst_45.png
+++ b/advtrains_train_track/textures/advtrains_track_swlst_45.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_track_swrcr.png b/advtrains_train_track/textures/advtrains_track_swrcr.png
index f74e1bc..59451b8 100644
--- a/advtrains_train_track/textures/advtrains_track_swrcr.png
+++ b/advtrains_train_track/textures/advtrains_track_swrcr.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_track_swrcr_45.png b/advtrains_train_track/textures/advtrains_track_swrcr_45.png
index fa432aa..f4c46c8 100644
--- a/advtrains_train_track/textures/advtrains_track_swrcr_45.png
+++ b/advtrains_train_track/textures/advtrains_track_swrcr_45.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_track_swrst.png b/advtrains_train_track/textures/advtrains_track_swrst.png
index 06ea29e..290df45 100644
--- a/advtrains_train_track/textures/advtrains_track_swrst.png
+++ b/advtrains_train_track/textures/advtrains_track_swrst.png
Binary files differ
diff --git a/advtrains_train_track/textures/advtrains_track_swrst_45.png b/advtrains_train_track/textures/advtrains_track_swrst_45.png
index be477b7..3832455 100644
--- a/advtrains_train_track/textures/advtrains_track_swrst_45.png
+++ b/advtrains_train_track/textures/advtrains_track_swrst_45.png
Binary files differ
diff --git a/assets/advtrains_wagon.png b/assets/advtrains_wagon.png
index 143154b..1839c3c 100644
--- a/assets/advtrains_wagon.png
+++ b/assets/advtrains_wagon.png
Binary files differ
diff --git a/assets/andreaskreuz.png b/assets/andreaskreuz.png
index 52e3636..db8d2d9 100644
--- a/assets/andreaskreuz.png
+++ b/assets/andreaskreuz.png
Binary files differ
diff --git a/assets/blender/gleis/before_redo/detectorpart.png b/assets/blender/gleis/before_redo/detectorpart.png
index fc24181..db11ddb 100644
--- a/assets/blender/gleis/before_redo/detectorpart.png
+++ b/assets/blender/gleis/before_redo/detectorpart.png
Binary files differ
diff --git a/assets/blender/gleis/before_redo/rail_together.png b/assets/blender/gleis/before_redo/rail_together.png
index 386cd5c..c5ed777 100644
--- a/assets/blender/gleis/before_redo/rail_together.png
+++ b/assets/blender/gleis/before_redo/rail_together.png
Binary files differ
diff --git a/assets/blender/gleis/before_redo/rail_together2.png b/assets/blender/gleis/before_redo/rail_together2.png
index 3effe34..5704a8e 100644
--- a/assets/blender/gleis/before_redo/rail_together2.png
+++ b/assets/blender/gleis/before_redo/rail_together2.png
Binary files differ
diff --git a/assets/blender/gleis/before_redo/rail_together3.png b/assets/blender/gleis/before_redo/rail_together3.png
index 4a183c1..a1fea32 100644
--- a/assets/blender/gleis/before_redo/rail_together3.png
+++ b/assets/blender/gleis/before_redo/rail_together3.png
Binary files differ
diff --git a/assets/blender/gleis/infos/Grafik_weiche.png b/assets/blender/gleis/infos/Grafik_weiche.png
index 6674eb3..0e373ba 100644
--- a/assets/blender/gleis/infos/Grafik_weiche.png
+++ b/assets/blender/gleis/infos/Grafik_weiche.png
Binary files differ
diff --git a/assets/blender/gleis/texturen/rail.png b/assets/blender/gleis/texturen/rail.png
index 8478cf6..981901d 100644
--- a/assets/blender/gleis/texturen/rail.png
+++ b/assets/blender/gleis/texturen/rail.png
Binary files differ
diff --git a/assets/blender/gleis/texturen/uv.png b/assets/blender/gleis/texturen/uv.png
index fb0af3e..0cbdd9a 100644
--- a/assets/blender/gleis/texturen/uv.png
+++ b/assets/blender/gleis/texturen/uv.png
Binary files differ
diff --git a/assets/blender/gleis/uv_rails_all.png b/assets/blender/gleis/uv_rails_all.png
index 4c13929..d8335cf 100644
--- a/assets/blender/gleis/uv_rails_all.png
+++ b/assets/blender/gleis/uv_rails_all.png
Binary files differ
diff --git a/assets/blender/industrial/industry_tree_wagong.png b/assets/blender/industrial/industry_tree_wagong.png
index 87109dd..819a141 100644
--- a/assets/blender/industrial/industry_tree_wagong.png
+++ b/assets/blender/industrial/industry_tree_wagong.png
Binary files differ
diff --git a/assets/blender/ks/signal_ks_singlemesh_lampuv.png b/assets/blender/ks/signal_ks_singlemesh_lampuv.png
index 35d941b..e887c34 100644
--- a/assets/blender/ks/signal_ks_singlemesh_lampuv.png
+++ b/assets/blender/ks/signal_ks_singlemesh_lampuv.png
Binary files differ
diff --git a/assets/blender/mbb/jpn_engine_anim_uv.png b/assets/blender/mbb/jpn_engine_anim_uv.png
index d3fa419..54609b2 100644
--- a/assets/blender/mbb/jpn_engine_anim_uv.png
+++ b/assets/blender/mbb/jpn_engine_anim_uv.png
Binary files differ
diff --git a/assets/blender/mbb/jpn_wagon_anim_uv.png b/assets/blender/mbb/jpn_wagon_anim_uv.png
index 9d7ad56..c167db3 100644
--- a/assets/blender/mbb/jpn_wagon_anim_uv.png
+++ b/assets/blender/mbb/jpn_wagon_anim_uv.png
Binary files differ
diff --git a/assets/blender/mbb/modern_japanlocomotive.png b/assets/blender/mbb/modern_japanlocomotive.png
index b80d16f..ab8f49c 100644
--- a/assets/blender/mbb/modern_japanlocomotive.png
+++ b/assets/blender/mbb/modern_japanlocomotive.png
Binary files differ
diff --git a/assets/blender/mbb/modern_wagong_uv.png b/assets/blender/mbb/modern_wagong_uv.png
index 68018ea..30169b4 100644
--- a/assets/blender/mbb/modern_wagong_uv.png
+++ b/assets/blender/mbb/modern_wagong_uv.png
Binary files differ
diff --git a/assets/blender/mbb/prellbock.uv.png b/assets/blender/mbb/prellbock.uv.png
index 7730753..363545f 100644
--- a/assets/blender/mbb/prellbock.uv.png
+++ b/assets/blender/mbb/prellbock.uv.png
Binary files differ
diff --git a/assets/blender/mbb/signal.png b/assets/blender/mbb/signal.png
index 779cdda..6f4b0fd 100644
--- a/assets/blender/mbb/signal.png
+++ b/assets/blender/mbb/signal.png
Binary files differ
diff --git a/assets/blender/mbb/signal2.png b/assets/blender/mbb/signal2.png
index 7af4e2d..7231da3 100644
--- a/assets/blender/mbb/signal2.png
+++ b/assets/blender/mbb/signal2.png
Binary files differ
diff --git a/assets/blender/mbb/tr-logo.png b/assets/blender/mbb/tr-logo.png
index 9bc0f10..7410e52 100644
--- a/assets/blender/mbb/tr-logo.png
+++ b/assets/blender/mbb/tr-logo.png
Binary files differ
diff --git a/assets/blender/newlocomotive_uvs.png b/assets/blender/newlocomotive_uvs.png
index 879be65..7ee7c90 100644
--- a/assets/blender/newlocomotive_uvs.png
+++ b/assets/blender/newlocomotive_uvs.png
Binary files differ
diff --git a/assets/blender/newwagon.png b/assets/blender/newwagon.png
index 812bc32..5447239 100644
--- a/assets/blender/newwagon.png
+++ b/assets/blender/newwagon.png
Binary files differ
diff --git a/assets/blender/subway-train.png b/assets/blender/subway-train.png
index d0b9731..585972c 100644
--- a/assets/blender/subway-train.png
+++ b/assets/blender/subway-train.png
Binary files differ
diff --git a/assets/blender/subway-train_animate_mirrored_solidify_uv.png b/assets/blender/subway-train_animate_mirrored_solidify_uv.png
index e63a7f2..fff38ae 100644
--- a/assets/blender/subway-train_animate_mirrored_solidify_uv.png
+++ b/assets/blender/subway-train_animate_mirrored_solidify_uv.png
Binary files differ
diff --git a/assets/blender/trackvertical1.png b/assets/blender/trackvertical1.png
index a998dcb..5bc51b8 100644
--- a/assets/blender/trackvertical1.png
+++ b/assets/blender/trackvertical1.png
Binary files differ
diff --git a/assets/blender/trackvertical2.png b/assets/blender/trackvertical2.png
index 43142f9..f97f3e8 100644
--- a/assets/blender/trackvertical2.png
+++ b/assets/blender/trackvertical2.png
Binary files differ
diff --git a/assets/img_large/tcbex1.png b/assets/img_large/tcbex1.png
index 45e3f01..c20b178 100644
--- a/assets/img_large/tcbex1.png
+++ b/assets/img_large/tcbex1.png
Binary files differ
diff --git a/assets/img_large/tcbex2.png b/assets/img_large/tcbex2.png
index c21448b..6f23aea 100644
--- a/assets/img_large/tcbex2.png
+++ b/assets/img_large/tcbex2.png
Binary files differ
diff --git a/assets/img_large/tcbex3.png b/assets/img_large/tcbex3.png
index 1e6f221..f17b10a 100644
--- a/assets/img_large/tcbex3.png
+++ b/assets/img_large/tcbex3.png
Binary files differ
diff --git a/assets/interlocking.html.LyXconv/0_home_moritz_Home_Projekte_Minetest_minetest_m___s_assets_lyx_img_screenshot_20180830_142551.png b/assets/interlocking.html.LyXconv/0_home_moritz_Home_Projekte_Minetest_minetest_m___s_assets_lyx_img_screenshot_20180830_142551.png
index 77e05f8..fefd37a 100644
--- a/assets/interlocking.html.LyXconv/0_home_moritz_Home_Projekte_Minetest_minetest_m___s_assets_lyx_img_screenshot_20180830_142551.png
+++ b/assets/interlocking.html.LyXconv/0_home_moritz_Home_Projekte_Minetest_minetest_m___s_assets_lyx_img_screenshot_20180830_142551.png
Binary files differ
diff --git a/assets/interlocking.html.LyXconv/10_home_moritz_Home_Projekte_Minetest_minetest_____lyx_img_Bildschirmfoto_2019-01-15_19-28-09.png b/assets/interlocking.html.LyXconv/10_home_moritz_Home_Projekte_Minetest_minetest_____lyx_img_Bildschirmfoto_2019-01-15_19-28-09.png
index 6ee4265..bcc80c2 100644
--- a/assets/interlocking.html.LyXconv/10_home_moritz_Home_Projekte_Minetest_minetest_____lyx_img_Bildschirmfoto_2019-01-15_19-28-09.png
+++ b/assets/interlocking.html.LyXconv/10_home_moritz_Home_Projekte_Minetest_minetest_____lyx_img_Bildschirmfoto_2019-01-15_19-28-09.png
Binary files differ
diff --git a/assets/interlocking.html.LyXconv/11_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_arslin_ex1.png b/assets/interlocking.html.LyXconv/11_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_arslin_ex1.png
index f534a04..12121ab 100644
--- a/assets/interlocking.html.LyXconv/11_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_arslin_ex1.png
+++ b/assets/interlocking.html.LyXconv/11_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_arslin_ex1.png
Binary files differ
diff --git a/assets/interlocking.html.LyXconv/12_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_arslin_ex2.png b/assets/interlocking.html.LyXconv/12_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_arslin_ex2.png
index 9872240..fe5f3be 100644
--- a/assets/interlocking.html.LyXconv/12_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_arslin_ex2.png
+++ b/assets/interlocking.html.LyXconv/12_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_arslin_ex2.png
Binary files differ
diff --git a/assets/interlocking.html.LyXconv/13_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_ars_ex1.png b/assets/interlocking.html.LyXconv/13_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_ars_ex1.png
index 0f0aace..567d90e 100644
--- a/assets/interlocking.html.LyXconv/13_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_ars_ex1.png
+++ b/assets/interlocking.html.LyXconv/13_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_ars_ex1.png
Binary files differ
diff --git a/assets/interlocking.html.LyXconv/1_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-26-35.png b/assets/interlocking.html.LyXconv/1_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-26-35.png
index 468ce25..05e2bd2 100644
--- a/assets/interlocking.html.LyXconv/1_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-26-35.png
+++ b/assets/interlocking.html.LyXconv/1_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-26-35.png
Binary files differ
diff --git a/assets/interlocking.html.LyXconv/2_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-32-48.png b/assets/interlocking.html.LyXconv/2_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-32-48.png
index c3aa984..96846de 100644
--- a/assets/interlocking.html.LyXconv/2_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-32-48.png
+++ b/assets/interlocking.html.LyXconv/2_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-32-48.png
Binary files differ
diff --git a/assets/interlocking.html.LyXconv/3_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-27-25.png b/assets/interlocking.html.LyXconv/3_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-27-25.png
index 82253bc..90704ff 100644
--- a/assets/interlocking.html.LyXconv/3_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-27-25.png
+++ b/assets/interlocking.html.LyXconv/3_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-27-25.png
Binary files differ
diff --git a/assets/interlocking.html.LyXconv/4_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-28-32.png b/assets/interlocking.html.LyXconv/4_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-28-32.png
index 0cbed7d..bfafaee 100644
--- a/assets/interlocking.html.LyXconv/4_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-28-32.png
+++ b/assets/interlocking.html.LyXconv/4_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-28-32.png
Binary files differ
diff --git a/assets/interlocking.html.LyXconv/5_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-51-25.png b/assets/interlocking.html.LyXconv/5_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-51-25.png
index 1091455..e3e71d0 100644
--- a/assets/interlocking.html.LyXconv/5_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-51-25.png
+++ b/assets/interlocking.html.LyXconv/5_home_moritz_Home_Projekte_Minetest_minetest_m____lyx_img_Bildschirmfoto_2018-08-30_14-51-25.png
Binary files differ
diff --git a/assets/interlocking.html.LyXconv/6_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_route_ex1.png b/assets/interlocking.html.LyXconv/6_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_route_ex1.png
index 61a8694..c471673 100644
--- a/assets/interlocking.html.LyXconv/6_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_route_ex1.png
+++ b/assets/interlocking.html.LyXconv/6_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_route_ex1.png
Binary files differ
diff --git a/assets/interlocking.html.LyXconv/7_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_route_ex2.png b/assets/interlocking.html.LyXconv/7_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_route_ex2.png
index ed14540..a7b02e6 100644
--- a/assets/interlocking.html.LyXconv/7_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_route_ex2.png
+++ b/assets/interlocking.html.LyXconv/7_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_route_ex2.png
Binary files differ
diff --git a/assets/interlocking.html.LyXconv/8_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_assign_signal.png b/assets/interlocking.html.LyXconv/8_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_assign_signal.png
index cd97f05..d068366 100644
--- a/assets/interlocking.html.LyXconv/8_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_assign_signal.png
+++ b/assets/interlocking.html.LyXconv/8_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_assign_signal.png
Binary files differ
diff --git a/assets/interlocking.html.LyXconv/9_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_route_ex3.png b/assets/interlocking.html.LyXconv/9_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_route_ex3.png
index fdcc785..fbf0eeb 100644
--- a/assets/interlocking.html.LyXconv/9_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_route_ex3.png
+++ b/assets/interlocking.html.LyXconv/9_home_moritz_Home_Projekte_Minetest_minetest_mods_advtrains_assets_lyx_img_route_ex3.png
Binary files differ
diff --git a/assets/lyx_img/Bildschirmfoto_2018-08-30_14-26-35.png b/assets/lyx_img/Bildschirmfoto_2018-08-30_14-26-35.png
index 468ce25..05e2bd2 100644
--- a/assets/lyx_img/Bildschirmfoto_2018-08-30_14-26-35.png
+++ b/assets/lyx_img/Bildschirmfoto_2018-08-30_14-26-35.png
Binary files differ
diff --git a/assets/lyx_img/Bildschirmfoto_2018-08-30_14-27-25.png b/assets/lyx_img/Bildschirmfoto_2018-08-30_14-27-25.png
index 82253bc..90704ff 100644
--- a/assets/lyx_img/Bildschirmfoto_2018-08-30_14-27-25.png
+++ b/assets/lyx_img/Bildschirmfoto_2018-08-30_14-27-25.png
Binary files differ
diff --git a/assets/lyx_img/Bildschirmfoto_2018-08-30_14-28-32.png b/assets/lyx_img/Bildschirmfoto_2018-08-30_14-28-32.png
index 0cbed7d..bfafaee 100644
--- a/assets/lyx_img/Bildschirmfoto_2018-08-30_14-28-32.png
+++ b/assets/lyx_img/Bildschirmfoto_2018-08-30_14-28-32.png
Binary files differ
diff --git a/assets/lyx_img/Bildschirmfoto_2018-08-30_14-32-48.png b/assets/lyx_img/Bildschirmfoto_2018-08-30_14-32-48.png
index c3aa984..96846de 100644
--- a/assets/lyx_img/Bildschirmfoto_2018-08-30_14-32-48.png
+++ b/assets/lyx_img/Bildschirmfoto_2018-08-30_14-32-48.png
Binary files differ
diff --git a/assets/lyx_img/Bildschirmfoto_2018-08-30_14-51-25.png b/assets/lyx_img/Bildschirmfoto_2018-08-30_14-51-25.png
index 1091455..e3e71d0 100644
--- a/assets/lyx_img/Bildschirmfoto_2018-08-30_14-51-25.png
+++ b/assets/lyx_img/Bildschirmfoto_2018-08-30_14-51-25.png
Binary files differ
diff --git a/assets/lyx_img/Bildschirmfoto_2019-01-15_19-28-09.png b/assets/lyx_img/Bildschirmfoto_2019-01-15_19-28-09.png
index 6ee4265..bcc80c2 100644
--- a/assets/lyx_img/Bildschirmfoto_2019-01-15_19-28-09.png
+++ b/assets/lyx_img/Bildschirmfoto_2019-01-15_19-28-09.png
Binary files differ
diff --git a/assets/lyx_img/ars_ex1.png b/assets/lyx_img/ars_ex1.png
index 0f0aace..567d90e 100644
--- a/assets/lyx_img/ars_ex1.png
+++ b/assets/lyx_img/ars_ex1.png
Binary files differ
diff --git a/assets/lyx_img/arslin_ex1.png b/assets/lyx_img/arslin_ex1.png
index f534a04..12121ab 100644
--- a/assets/lyx_img/arslin_ex1.png
+++ b/assets/lyx_img/arslin_ex1.png
Binary files differ
diff --git a/assets/lyx_img/arslin_ex2.png b/assets/lyx_img/arslin_ex2.png
index 9872240..fe5f3be 100644
--- a/assets/lyx_img/arslin_ex2.png
+++ b/assets/lyx_img/arslin_ex2.png
Binary files differ
diff --git a/assets/lyx_img/assign_signal.png b/assets/lyx_img/assign_signal.png
index cd97f05..d068366 100644
--- a/assets/lyx_img/assign_signal.png
+++ b/assets/lyx_img/assign_signal.png
Binary files differ
diff --git a/assets/lyx_img/route_ex1.png b/assets/lyx_img/route_ex1.png
index 61a8694..c471673 100644
--- a/assets/lyx_img/route_ex1.png
+++ b/assets/lyx_img/route_ex1.png
Binary files differ
diff --git a/assets/lyx_img/route_ex2.png b/assets/lyx_img/route_ex2.png
index ed14540..a7b02e6 100644
--- a/assets/lyx_img/route_ex2.png
+++ b/assets/lyx_img/route_ex2.png
Binary files differ
diff --git a/assets/lyx_img/route_ex3.png b/assets/lyx_img/route_ex3.png
index fdcc785..fbf0eeb 100644
--- a/assets/lyx_img/route_ex3.png
+++ b/assets/lyx_img/route_ex3.png
Binary files differ
diff --git a/assets/lyx_img/screenshot_20180830_142551.png b/assets/lyx_img/screenshot_20180830_142551.png
index 77e05f8..fefd37a 100644
--- a/assets/lyx_img/screenshot_20180830_142551.png
+++ b/assets/lyx_img/screenshot_20180830_142551.png
Binary files differ
diff --git a/assets/manual.html.LyXconv/0_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_09-43-29.png b/assets/manual.html.LyXconv/0_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_09-43-29.png
index 2e8301d..283f039 100644
--- a/assets/manual.html.LyXconv/0_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_09-43-29.png
+++ b/assets/manual.html.LyXconv/0_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_09-43-29.png
Binary files differ
diff --git a/assets/manual.html.LyXconv/10_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-48-54.png b/assets/manual.html.LyXconv/10_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-48-54.png
index 7e42a15..a4e1fc8 100644
--- a/assets/manual.html.LyXconv/10_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-48-54.png
+++ b/assets/manual.html.LyXconv/10_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-48-54.png
Binary files differ
diff --git a/assets/manual.html.LyXconv/11_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-50-27.png b/assets/manual.html.LyXconv/11_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-50-27.png
index af02a2a..2c4d67e 100644
--- a/assets/manual.html.LyXconv/11_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-50-27.png
+++ b/assets/manual.html.LyXconv/11_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-50-27.png
Binary files differ
diff --git a/assets/manual.html.LyXconv/12_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-51-02.png b/assets/manual.html.LyXconv/12_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-51-02.png
index 134002d..37b2a0e 100644
--- a/assets/manual.html.LyXconv/12_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-51-02.png
+++ b/assets/manual.html.LyXconv/12_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-51-02.png
Binary files differ
diff --git a/assets/manual.html.LyXconv/13_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-58-39.png b/assets/manual.html.LyXconv/13_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-58-39.png
index 63d8cc6..49a6097 100644
--- a/assets/manual.html.LyXconv/13_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-58-39.png
+++ b/assets/manual.html.LyXconv/13_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-58-39.png
Binary files differ
diff --git a/assets/manual.html.LyXconv/14_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-58-20.png b/assets/manual.html.LyXconv/14_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-58-20.png
index 5bc3da2..98f1f8c 100644
--- a/assets/manual.html.LyXconv/14_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-58-20.png
+++ b/assets/manual.html.LyXconv/14_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2016-09-17_09-58-20.png
Binary files differ
diff --git a/assets/manual.html.LyXconv/15_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2017-03-09_11-33-09.png b/assets/manual.html.LyXconv/15_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2017-03-09_11-33-09.png
index ebe6ada..6b3de99 100644
--- a/assets/manual.html.LyXconv/15_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2017-03-09_11-33-09.png
+++ b/assets/manual.html.LyXconv/15_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2017-03-09_11-33-09.png
Binary files differ
diff --git a/assets/manual.html.LyXconv/16_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2017-03-09_11-42-49.png b/assets/manual.html.LyXconv/16_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2017-03-09_11-42-49.png
index 7084c7d..e6e584a 100644
--- a/assets/manual.html.LyXconv/16_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2017-03-09_11-42-49.png
+++ b/assets/manual.html.LyXconv/16_home_moritz_Home_Projekte_Minetest_minetest____nual_img_Bildschirmfoto_2017-03-09_11-42-49.png
Binary files differ
diff --git a/assets/manual.html.LyXconv/17_home_moritz_Home_Projekte_Minetest_minetest____ssets_manual_img_screenshot_20161203_231622.png b/assets/manual.html.LyXconv/17_home_moritz_Home_Projekte_Minetest_minetest____ssets_manual_img_screenshot_20161203_231622.png
index 6a667b9..f7a37cc 100644
--- a/assets/manual.html.LyXconv/17_home_moritz_Home_Projekte_Minetest_minetest____ssets_manual_img_screenshot_20161203_231622.png
+++ b/assets/manual.html.LyXconv/17_home_moritz_Home_Projekte_Minetest_minetest____ssets_manual_img_screenshot_20161203_231622.png
Binary files differ
diff --git a/assets/manual.html.LyXconv/1_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-04-12.png b/assets/manual.html.LyXconv/1_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-04-12.png
index 1c5c088..1fed369 100644
--- a/assets/manual.html.LyXconv/1_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-04-12.png
+++ b/assets/manual.html.LyXconv/1_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-04-12.png
Binary files differ
diff --git a/assets/manual.html.LyXconv/2_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-04-57.png b/assets/manual.html.LyXconv/2_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-04-57.png
index 9c0dd3e..7d937ed 100644
--- a/assets/manual.html.LyXconv/2_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-04-57.png
+++ b/assets/manual.html.LyXconv/2_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-04-57.png
Binary files differ
diff --git a/assets/manual.html.LyXconv/3_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-05-51.png b/assets/manual.html.LyXconv/3_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-05-51.png
index 3eae023..5b8c04b 100644
--- a/assets/manual.html.LyXconv/3_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-05-51.png
+++ b/assets/manual.html.LyXconv/3_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-05-51.png
Binary files differ
diff --git a/assets/manual.html.LyXconv/4_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-07-13.png b/assets/manual.html.LyXconv/4_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-07-13.png
index 6da1b3f..7886486 100644
--- a/assets/manual.html.LyXconv/4_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-07-13.png
+++ b/assets/manual.html.LyXconv/4_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-07-13.png
Binary files differ
diff --git a/assets/manual.html.LyXconv/5_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_09-56-34.png b/assets/manual.html.LyXconv/5_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_09-56-34.png
index c57002d..8fdd436 100644
--- a/assets/manual.html.LyXconv/5_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_09-56-34.png
+++ b/assets/manual.html.LyXconv/5_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_09-56-34.png
Binary files differ
diff --git a/assets/manual.html.LyXconv/6_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-08-02.png b/assets/manual.html.LyXconv/6_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-08-02.png
index 83d0249..bb29f08 100644
--- a/assets/manual.html.LyXconv/6_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-08-02.png
+++ b/assets/manual.html.LyXconv/6_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-08-02.png
Binary files differ
diff --git a/assets/manual.html.LyXconv/7_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-09-01.png b/assets/manual.html.LyXconv/7_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-09-01.png
index be586b6..724e94d 100644
--- a/assets/manual.html.LyXconv/7_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-09-01.png
+++ b/assets/manual.html.LyXconv/7_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-09-01.png
Binary files differ
diff --git a/assets/manual.html.LyXconv/8_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-10-15.png b/assets/manual.html.LyXconv/8_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-10-15.png
index 00d2ded..635c397 100644
--- a/assets/manual.html.LyXconv/8_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-10-15.png
+++ b/assets/manual.html.LyXconv/8_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_10-10-15.png
Binary files differ
diff --git a/assets/manual.html.LyXconv/9_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_09-45-38.png b/assets/manual.html.LyXconv/9_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_09-45-38.png
index f535adb..2188278 100644
--- a/assets/manual.html.LyXconv/9_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_09-45-38.png
+++ b/assets/manual.html.LyXconv/9_home_moritz_Home_Projekte_Minetest_minetest_m___nual_img_Bildschirmfoto_2016-09-17_09-45-38.png
Binary files differ
diff --git a/assets/manual_img/Bildschirmfoto_2016-09-17_09-43-29.png b/assets/manual_img/Bildschirmfoto_2016-09-17_09-43-29.png
index 2e8301d..283f039 100644
--- a/assets/manual_img/Bildschirmfoto_2016-09-17_09-43-29.png
+++ b/assets/manual_img/Bildschirmfoto_2016-09-17_09-43-29.png
Binary files differ
diff --git a/assets/manual_img/Bildschirmfoto_2016-09-17_09-45-38.png b/assets/manual_img/Bildschirmfoto_2016-09-17_09-45-38.png
index f535adb..2188278 100644
--- a/assets/manual_img/Bildschirmfoto_2016-09-17_09-45-38.png
+++ b/assets/manual_img/Bildschirmfoto_2016-09-17_09-45-38.png
Binary files differ
diff --git a/assets/manual_img/Bildschirmfoto_2016-09-17_09-46-21.png b/assets/manual_img/Bildschirmfoto_2016-09-17_09-46-21.png
index 43f4eb8..15e307d 100644
--- a/assets/manual_img/Bildschirmfoto_2016-09-17_09-46-21.png
+++ b/assets/manual_img/Bildschirmfoto_2016-09-17_09-46-21.png
Binary files differ
diff --git a/assets/manual_img/Bildschirmfoto_2016-09-17_09-48-54.png b/assets/manual_img/Bildschirmfoto_2016-09-17_09-48-54.png
index 7e42a15..a4e1fc8 100644
--- a/assets/manual_img/Bildschirmfoto_2016-09-17_09-48-54.png
+++ b/assets/manual_img/Bildschirmfoto_2016-09-17_09-48-54.png
Binary files differ
diff --git a/assets/manual_img/Bildschirmfoto_2016-09-17_09-50-27.png b/assets/manual_img/Bildschirmfoto_2016-09-17_09-50-27.png
index af02a2a..2c4d67e 100644
--- a/assets/manual_img/Bildschirmfoto_2016-09-17_09-50-27.png
+++ b/assets/manual_img/Bildschirmfoto_2016-09-17_09-50-27.png
Binary files differ
diff --git a/assets/manual_img/Bildschirmfoto_2016-09-17_09-51-02.png b/assets/manual_img/Bildschirmfoto_2016-09-17_09-51-02.png
index 134002d..37b2a0e 100644
--- a/assets/manual_img/Bildschirmfoto_2016-09-17_09-51-02.png
+++ b/assets/manual_img/Bildschirmfoto_2016-09-17_09-51-02.png
Binary files differ
diff --git a/assets/manual_img/Bildschirmfoto_2016-09-17_09-52-17.png b/assets/manual_img/Bildschirmfoto_2016-09-17_09-52-17.png
index 78c0308..d08729d 100644
--- a/assets/manual_img/Bildschirmfoto_2016-09-17_09-52-17.png
+++ b/assets/manual_img/Bildschirmfoto_2016-09-17_09-52-17.png
Binary files differ
diff --git a/assets/manual_img/Bildschirmfoto_2016-09-17_09-52-40.png b/assets/manual_img/Bildschirmfoto_2016-09-17_09-52-40.png
index 0ed6762..e7d8fc3 100644
--- a/assets/manual_img/Bildschirmfoto_2016-09-17_09-52-40.png
+++ b/assets/manual_img/Bildschirmfoto_2016-09-17_09-52-40.png
Binary files differ
diff --git a/assets/manual_img/Bildschirmfoto_2016-09-17_09-53-01.png b/assets/manual_img/Bildschirmfoto_2016-09-17_09-53-01.png
index 114fe72..6cd20e5 100644
--- a/assets/manual_img/Bildschirmfoto_2016-09-17_09-53-01.png
+++ b/assets/manual_img/Bildschirmfoto_2016-09-17_09-53-01.png
Binary files differ
diff --git a/assets/manual_img/Bildschirmfoto_2016-09-17_09-56-34.png b/assets/manual_img/Bildschirmfoto_2016-09-17_09-56-34.png
index c57002d..8fdd436 100644
--- a/assets/manual_img/Bildschirmfoto_2016-09-17_09-56-34.png
+++ b/assets/manual_img/Bildschirmfoto_2016-09-17_09-56-34.png
Binary files differ
diff --git a/assets/manual_img/Bildschirmfoto_2016-09-17_09-58-20.png b/assets/manual_img/Bildschirmfoto_2016-09-17_09-58-20.png
index 5bc3da2..98f1f8c 100644
--- a/assets/manual_img/Bildschirmfoto_2016-09-17_09-58-20.png
+++ b/assets/manual_img/Bildschirmfoto_2016-09-17_09-58-20.png
Binary files differ
diff --git a/assets/manual_img/Bildschirmfoto_2016-09-17_09-58-39.png b/assets/manual_img/Bildschirmfoto_2016-09-17_09-58-39.png
index 63d8cc6..49a6097 100644
--- a/assets/manual_img/Bildschirmfoto_2016-09-17_09-58-39.png
+++ b/assets/manual_img/Bildschirmfoto_2016-09-17_09-58-39.png
Binary files differ
diff --git a/assets/manual_img/Bildschirmfoto_2016-09-17_10-04-12.png b/assets/manual_img/Bildschirmfoto_2016-09-17_10-04-12.png
index 1c5c088..1fed369 100644
--- a/assets/manual_img/Bildschirmfoto_2016-09-17_10-04-12.png
+++ b/assets/manual_img/Bildschirmfoto_2016-09-17_10-04-12.png
Binary files differ
diff --git a/assets/manual_img/Bildschirmfoto_2016-09-17_10-04-57.png b/assets/manual_img/Bildschirmfoto_2016-09-17_10-04-57.png
index 9c0dd3e..7d937ed 100644
--- a/assets/manual_img/Bildschirmfoto_2016-09-17_10-04-57.png
+++ b/assets/manual_img/Bildschirmfoto_2016-09-17_10-04-57.png
Binary files differ
diff --git a/assets/manual_img/Bildschirmfoto_2016-09-17_10-05-51.png b/assets/manual_img/Bildschirmfoto_2016-09-17_10-05-51.png
index 3eae023..5b8c04b 100644
--- a/assets/manual_img/Bildschirmfoto_2016-09-17_10-05-51.png
+++ b/assets/manual_img/Bildschirmfoto_2016-09-17_10-05-51.png
Binary files differ
diff --git a/assets/manual_img/Bildschirmfoto_2016-09-17_10-07-13.png b/assets/manual_img/Bildschirmfoto_2016-09-17_10-07-13.png
index 6da1b3f..7886486 100644
--- a/assets/manual_img/Bildschirmfoto_2016-09-17_10-07-13.png
+++ b/assets/manual_img/Bildschirmfoto_2016-09-17_10-07-13.png
Binary files differ
diff --git a/assets/manual_img/Bildschirmfoto_2016-09-17_10-08-02.png b/assets/manual_img/Bildschirmfoto_2016-09-17_10-08-02.png
index 83d0249..bb29f08 100644
--- a/assets/manual_img/Bildschirmfoto_2016-09-17_10-08-02.png
+++ b/assets/manual_img/Bildschirmfoto_2016-09-17_10-08-02.png
Binary files differ
diff --git a/assets/manual_img/Bildschirmfoto_2016-09-17_10-09-01.png b/assets/manual_img/Bildschirmfoto_2016-09-17_10-09-01.png
index be586b6..724e94d 100644
--- a/assets/manual_img/Bildschirmfoto_2016-09-17_10-09-01.png
+++ b/assets/manual_img/Bildschirmfoto_2016-09-17_10-09-01.png
Binary files differ
diff --git a/assets/manual_img/Bildschirmfoto_2016-09-17_10-10-15.png b/assets/manual_img/Bildschirmfoto_2016-09-17_10-10-15.png
index 00d2ded..635c397 100644
--- a/assets/manual_img/Bildschirmfoto_2016-09-17_10-10-15.png
+++ b/assets/manual_img/Bildschirmfoto_2016-09-17_10-10-15.png
Binary files differ
diff --git a/assets/manual_img/Bildschirmfoto_2016-12-13_19-25-26.png b/assets/manual_img/Bildschirmfoto_2016-12-13_19-25-26.png
index c44c62e..1459c83 100644
--- a/assets/manual_img/Bildschirmfoto_2016-12-13_19-25-26.png
+++ b/assets/manual_img/Bildschirmfoto_2016-12-13_19-25-26.png
Binary files differ
diff --git a/assets/manual_img/Bildschirmfoto_2017-03-09_11-33-09.png b/assets/manual_img/Bildschirmfoto_2017-03-09_11-33-09.png
index ebe6ada..6b3de99 100644
--- a/assets/manual_img/Bildschirmfoto_2017-03-09_11-33-09.png
+++ b/assets/manual_img/Bildschirmfoto_2017-03-09_11-33-09.png
Binary files differ
diff --git a/assets/manual_img/Bildschirmfoto_2017-03-09_11-42-49.png b/assets/manual_img/Bildschirmfoto_2017-03-09_11-42-49.png
index 7084c7d..e6e584a 100644
--- a/assets/manual_img/Bildschirmfoto_2017-03-09_11-42-49.png
+++ b/assets/manual_img/Bildschirmfoto_2017-03-09_11-42-49.png
Binary files differ
diff --git a/assets/manual_img/screenshot_20161203_223055.png b/assets/manual_img/screenshot_20161203_223055.png
index 82e20e2..858a676 100644
--- a/assets/manual_img/screenshot_20161203_223055.png
+++ b/assets/manual_img/screenshot_20161203_223055.png
Binary files differ
diff --git a/assets/manual_img/screenshot_20161203_223328.png b/assets/manual_img/screenshot_20161203_223328.png
index fadaa5c..a3ae18f 100644
--- a/assets/manual_img/screenshot_20161203_223328.png
+++ b/assets/manual_img/screenshot_20161203_223328.png
Binary files differ
diff --git a/assets/manual_img/screenshot_20161203_230644.png b/assets/manual_img/screenshot_20161203_230644.png
index 7fcc5a1..69aa956 100644
--- a/assets/manual_img/screenshot_20161203_230644.png
+++ b/assets/manual_img/screenshot_20161203_230644.png
Binary files differ
diff --git a/assets/manual_img/screenshot_20161203_230648.png b/assets/manual_img/screenshot_20161203_230648.png
index 634de59..a897424 100644
--- a/assets/manual_img/screenshot_20161203_230648.png
+++ b/assets/manual_img/screenshot_20161203_230648.png
Binary files differ
diff --git a/assets/manual_img/screenshot_20161203_231622.png b/assets/manual_img/screenshot_20161203_231622.png
index 6a667b9..f7a37cc 100644
--- a/assets/manual_img/screenshot_20161203_231622.png
+++ b/assets/manual_img/screenshot_20161203_231622.png
Binary files differ
diff --git a/assets/manual_img/screenshot_20161203_232335.png b/assets/manual_img/screenshot_20161203_232335.png
index 666f368..5cba470 100644
--- a/assets/manual_img/screenshot_20161203_232335.png
+++ b/assets/manual_img/screenshot_20161203_232335.png
Binary files differ
diff --git a/assets/manual_img/screenshot_20161203_232545.png b/assets/manual_img/screenshot_20161203_232545.png
index 362631b..1649c1b 100644
--- a/assets/manual_img/screenshot_20161203_232545.png
+++ b/assets/manual_img/screenshot_20161203_232545.png
Binary files differ
diff --git a/assets/mbbrailtextures/advtrains_dtrack_rail.png b/assets/mbbrailtextures/advtrains_dtrack_rail.png
index bd0c217..75776be 100644
--- a/assets/mbbrailtextures/advtrains_dtrack_rail.png
+++ b/assets/mbbrailtextures/advtrains_dtrack_rail.png
Binary files differ
diff --git a/assets/mbbrailtextures/advtrains_dtrack_rail_atc.png b/assets/mbbrailtextures/advtrains_dtrack_rail_atc.png
index 7e4c20f..2c9d80c 100644
--- a/assets/mbbrailtextures/advtrains_dtrack_rail_atc.png
+++ b/assets/mbbrailtextures/advtrains_dtrack_rail_atc.png
Binary files differ
diff --git a/assets/mbbrailtextures/advtrains_dtrack_rail_detector_on.png b/assets/mbbrailtextures/advtrains_dtrack_rail_detector_on.png
index c878324..4b118a2 100644
--- a/assets/mbbrailtextures/advtrains_dtrack_rail_detector_on.png
+++ b/assets/mbbrailtextures/advtrains_dtrack_rail_detector_on.png
Binary files differ
diff --git a/assets/schild.png b/assets/schild.png
index 7a97604..0be1b23 100644
--- a/assets/schild.png
+++ b/assets/schild.png
Binary files differ
diff --git a/assets/schild_flaeche.png b/assets/schild_flaeche.png
index e276b66..d736c34 100644
--- a/assets/schild_flaeche.png
+++ b/assets/schild_flaeche.png
Binary files differ
diff --git a/assets/signal_wall.png b/assets/signal_wall.png
index db954ce..e946c55 100644
--- a/assets/signal_wall.png
+++ b/assets/signal_wall.png
Binary files differ
diff --git a/assets/wagonfancytexture.png b/assets/wagonfancytexture.png
index c850518..db21e57 100644
--- a/assets/wagonfancytexture.png
+++ b/assets/wagonfancytexture.png
Binary files differ
diff --git a/screenshot.png b/screenshot.png
index 089da73..2781041 100644
--- a/screenshot.png
+++ b/screenshot.png
Binary files differ
finding removed objects. id="<<id<<std::endl; // Id to be removed from m_active_objects objects_to_remove.push_back(id); continue; } /* We will delete objects that are marked as removed or thatare waiting for deletion after deactivation */ if(obj->m_removed == false && obj->m_pending_deactivation == false) continue; /* Delete static data from block if is marked as removed */ if(obj->m_static_exists && obj->m_removed) { MapBlock *block = m_map->emergeBlock(obj->m_static_block, false); if (block) { block->m_static_objects.remove(id); block->raiseModified(MOD_STATE_WRITE_NEEDED, "removeRemovedObjects"); obj->m_static_exists = false; } else { infostream << "failed to emerge block from which " "an object to be removed was loaded from. id="<<id<<std::endl; } } // If m_known_by_count > 0, don't actually remove. if(obj->m_known_by_count > 0) continue; // Tell the object about removal obj->removingFromEnvironment(); // Deregister in scripting api m_script->removeObjectReference(obj); // Delete if(obj->environmentDeletes()) delete obj; // Id to be removed from m_active_objects objects_to_remove.push_back(id); } // Remove references from m_active_objects for(std::list<u16>::iterator i = objects_to_remove.begin(); i != objects_to_remove.end(); ++i) { m_active_objects.erase(*i); } } static void print_hexdump(std::ostream &o, const std::string &data) { const int linelength = 16; for(int l=0; ; l++){ int i0 = linelength * l; bool at_end = false; int thislinelength = linelength; if(i0 + thislinelength > (int)data.size()){ thislinelength = data.size() - i0; at_end = true; } for(int di=0; di<linelength; di++){ int i = i0 + di; char buf[4]; if(di<thislinelength) snprintf(buf, 4, "%.2x ", data[i]); else snprintf(buf, 4, " "); o<<buf; } o<<" "; for(int di=0; di<thislinelength; di++){ int i = i0 + di; if(data[i] >= 32) o<<data[i]; else o<<"."; } o<<std::endl; if(at_end) break; } } /* Convert stored objects from blocks near the players to active. */ void ServerEnvironment::activateObjects(MapBlock *block, u32 dtime_s) { if(block==NULL) return; // Ignore if no stored objects (to not set changed flag) if(block->m_static_objects.m_stored.size() == 0) return; verbosestream<<"ServerEnvironment::activateObjects(): " <<"activating objects of block "<<PP(block->getPos()) <<" ("<<block->m_static_objects.m_stored.size() <<" objects)"<<std::endl; bool large_amount = (block->m_static_objects.m_stored.size() > 49); if(large_amount){ errorstream<<"suspiciously large amount of objects detected: " <<block->m_static_objects.m_stored.size()<<" in " <<PP(block->getPos()) <<"; removing all of them."<<std::endl; // Clear stored list block->m_static_objects.m_stored.clear(); block->raiseModified(MOD_STATE_WRITE_NEEDED, "stored list cleared in activateObjects due to " "large amount of objects"); return; } // A list for objects that couldn't be converted to active for some // reason. They will be stored back. std::list<StaticObject> new_stored; // Loop through stored static objects for(std::list<StaticObject>::iterator i = block->m_static_objects.m_stored.begin(); i != block->m_static_objects.m_stored.end(); ++i) { /*infostream<<"Server: Creating an active object from " <<"static data"<<std::endl;*/ StaticObject &s_obj = *i; // Create an active object from the data ServerActiveObject *obj = ServerActiveObject::create (s_obj.type, this, 0, s_obj.pos, s_obj.data); // If couldn't create object, store static data back. if(obj==NULL) { errorstream<<"ServerEnvironment::activateObjects(): " <<"failed to create active object from static object " <<"in block "<<PP(s_obj.pos/BS) <<" type="<<(int)s_obj.type<<" data:"<<std::endl; print_hexdump(verbosestream, s_obj.data); new_stored.push_back(s_obj); continue; } verbosestream<<"ServerEnvironment::activateObjects(): " <<"activated static object pos="<<PP(s_obj.pos/BS) <<" type="<<(int)s_obj.type<<std::endl; // This will also add the object to the active static list addActiveObjectRaw(obj, false, dtime_s); } // Clear stored list block->m_static_objects.m_stored.clear(); // Add leftover failed stuff to stored list for(std::list<StaticObject>::iterator i = new_stored.begin(); i != new_stored.end(); ++i) { StaticObject &s_obj = *i; block->m_static_objects.m_stored.push_back(s_obj); } /* Note: Block hasn't really been modified here. The objects have just been activated and moved from the stored static list to the active static list. As such, the block is essentially the same. Thus, do not call block->raiseModified(MOD_STATE_WRITE_NEEDED). Otherwise there would be a huge amount of unnecessary I/O. */ } /* Convert objects that are not standing inside active blocks to static. If m_known_by_count != 0, active object is not deleted, but static data is still updated. If force_delete is set, active object is deleted nevertheless. It shall only be set so in the destructor of the environment. If block wasn't generated (not in memory or on disk), */ void ServerEnvironment::deactivateFarObjects(bool force_delete) { std::list<u16> objects_to_remove; for(std::map<u16, ServerActiveObject*>::iterator i = m_active_objects.begin(); i != m_active_objects.end(); ++i) { ServerActiveObject* obj = i->second; assert(obj); // Do not deactivate if static data creation not allowed if(!force_delete && !obj->isStaticAllowed()) continue; // If pending deactivation, let removeRemovedObjects() do it if(!force_delete && obj->m_pending_deactivation) continue; u16 id = i->first; v3f objectpos = obj->getBasePosition(); // The block in which the object resides in v3s16 blockpos_o = getNodeBlockPos(floatToInt(objectpos, BS)); // If block is active, don't remove if(!force_delete && m_active_blocks.contains(blockpos_o)) continue; verbosestream<<"ServerEnvironment::deactivateFarObjects(): " <<"deactivating object id="<<id<<" on inactive block " <<PP(blockpos_o)<<std::endl; // If known by some client, don't immediately delete. bool pending_delete = (obj->m_known_by_count > 0 && !force_delete); /* Update the static data */ if(obj->isStaticAllowed()) { // Create new static object std::string staticdata_new = obj->getStaticData(); StaticObject s_obj(obj->getType(), objectpos, staticdata_new); bool stays_in_same_block = false; bool data_changed = true; if(obj->m_static_exists){ if(obj->m_static_block == blockpos_o) stays_in_same_block = true; MapBlock *block = m_map->emergeBlock(obj->m_static_block, false); std::map<u16, StaticObject>::iterator n = block->m_static_objects.m_active.find(id); if(n != block->m_static_objects.m_active.end()){ StaticObject static_old = n->second; float save_movem = obj->getMinimumSavedMovement(); if(static_old.data == staticdata_new && (static_old.pos - objectpos).getLength() < save_movem) data_changed = false; } else { errorstream<<"ServerEnvironment::deactivateFarObjects(): " <<"id="<<id<<" m_static_exists=true but " <<"static data doesn't actually exist in " <<PP(obj->m_static_block)<<std::endl; } } bool shall_be_written = (!stays_in_same_block || data_changed); // Delete old static object if(obj->m_static_exists) { MapBlock *block = m_map->emergeBlock(obj->m_static_block, false); if(block) { block->m_static_objects.remove(id); obj->m_static_exists = false; // Only mark block as modified if data changed considerably if(shall_be_written) block->raiseModified(MOD_STATE_WRITE_NEEDED, "deactivateFarObjects: Static data " "changed considerably"); } } // Add to the block where the object is located in v3s16 blockpos = getNodeBlockPos(floatToInt(objectpos, BS)); // Get or generate the block MapBlock *block = NULL; try{ block = m_map->emergeBlock(blockpos); } catch(InvalidPositionException &e){ // Handled via NULL pointer } if(block) { if(block->m_static_objects.m_stored.size() >= 49){ errorstream<<"ServerEnv: Trying to store id="<<obj->getId() <<" statically but block "<<PP(blockpos) <<" already contains " <<block->m_static_objects.m_stored.size() <<" (over 49) objects." <<" Forcing delete."<<std::endl; force_delete = true; } else { // If static counterpart already exists, remove it first. // This shouldn't happen, but happens rarely for some // unknown reason. Unsuccessful attempts have been made to // find said reason. if(id && block->m_static_objects.m_active.find(id) != block->m_static_objects.m_active.end()){ infostream<<"ServerEnv: WARNING: Performing hack #83274" <<std::endl; block->m_static_objects.remove(id); } //store static data block->m_static_objects.insert(0, s_obj); // Only mark block as modified if data changed considerably if(shall_be_written) block->raiseModified(MOD_STATE_WRITE_NEEDED, "deactivateFarObjects: Static data " "changed considerably"); obj->m_static_exists = true; obj->m_static_block = block->getPos(); } } else{ if(!force_delete){ v3s16 p = floatToInt(objectpos, BS); errorstream<<"ServerEnv: Could not find or generate " <<"a block for storing id="<<obj->getId() <<" statically (pos="<<PP(p)<<")"<<std::endl; continue; } } } /* If known by some client, set pending deactivation. Otherwise delete it immediately. */ if(pending_delete && !force_delete) { verbosestream<<"ServerEnvironment::deactivateFarObjects(): " <<"object id="<<id<<" is known by clients" <<"; not deleting yet"<<std::endl; obj->m_pending_deactivation = true; continue; } verbosestream<<"ServerEnvironment::deactivateFarObjects(): " <<"object id="<<id<<" is not known by clients" <<"; deleting"<<std::endl; // Tell the object about removal obj->removingFromEnvironment(); // Deregister in scripting api m_script->removeObjectReference(obj); // Delete active object if(obj->environmentDeletes()) delete obj; // Id to be removed from m_active_objects objects_to_remove.push_back(id); } // Remove references from m_active_objects for(std::list<u16>::iterator i = objects_to_remove.begin(); i != objects_to_remove.end(); ++i) { m_active_objects.erase(*i); } } #ifndef SERVER #include "clientsimpleobject.h" /* ClientEnvironment */ ClientEnvironment::ClientEnvironment(ClientMap *map, scene::ISceneManager *smgr, ITextureSource *texturesource, IGameDef *gamedef, IrrlichtDevice *irr): m_map(map), m_smgr(smgr), m_texturesource(texturesource), m_gamedef(gamedef), m_irr(irr) { } ClientEnvironment::~ClientEnvironment() { // delete active objects for(std::map<u16, ClientActiveObject*>::iterator i = m_active_objects.begin(); i != m_active_objects.end(); ++i) { delete i->second; } for(std::list<ClientSimpleObject*>::iterator i = m_simple_objects.begin(); i != m_simple_objects.end(); ++i) { delete *i; } // Drop/delete map m_map->drop(); } Map & ClientEnvironment::getMap() { return *m_map; } ClientMap & ClientEnvironment::getClientMap() { return *m_map; } void ClientEnvironment::addPlayer(Player *player) { DSTACK(__FUNCTION_NAME); /* It is a failure if player is local and there already is a local player */ assert(!(player->isLocal() == true && getLocalPlayer() != NULL)); Environment::addPlayer(player); } LocalPlayer * ClientEnvironment::getLocalPlayer() { for(std::list<Player*>::iterator i = m_players.begin(); i != m_players.end(); ++i) { Player *player = *i; if(player->isLocal()) return (LocalPlayer*)player; } return NULL; } void ClientEnvironment::step(float dtime) { DSTACK(__FUNCTION_NAME); /* Step time of day */ stepTimeOfDay(dtime); // Get some settings bool fly_allowed = m_gamedef->checkLocalPrivilege("fly"); bool free_move = fly_allowed && g_settings->getBool("free_move"); // Get local player LocalPlayer *lplayer = getLocalPlayer(); assert(lplayer); // collision info queue std::list<CollisionInfo> player_collisions; /* Get the speed the player is going */ bool is_climbing = lplayer->is_climbing; f32 player_speed = lplayer->getSpeed().getLength(); /* Maximum position increment */ //f32 position_max_increment = 0.05*BS; f32 position_max_increment = 0.1*BS; // Maximum time increment (for collision detection etc) // time = distance / speed f32 dtime_max_increment = 1; if(player_speed > 0.001) dtime_max_increment = position_max_increment / player_speed; // Maximum time increment is 10ms or lower if(dtime_max_increment > 0.01) dtime_max_increment = 0.01; // Don't allow overly huge dtime if(dtime > 0.5) dtime = 0.5; f32 dtime_downcount = dtime; /* Stuff that has a maximum time increment */ u32 loopcount = 0; do { loopcount++; f32 dtime_part; if(dtime_downcount > dtime_max_increment) { dtime_part = dtime_max_increment; dtime_downcount -= dtime_part; } else { dtime_part = dtime_downcount; /* Setting this to 0 (no -=dtime_part) disables an infinite loop when dtime_part is so small that dtime_downcount -= dtime_part does nothing */ dtime_downcount = 0; } /* Handle local player */ { // Apply physics if(free_move == false && is_climbing == false) { // Gravity v3f speed = lplayer->getSpeed(); if(lplayer->in_liquid == false) speed.Y -= lplayer->movement_gravity * lplayer->physics_override_gravity * dtime_part * 2; // Liquid floating / sinking if(lplayer->in_liquid && !lplayer->swimming_vertical) speed.Y -= lplayer->movement_liquid_sink * dtime_part * 2; // Liquid resistance if(lplayer->in_liquid_stable || lplayer->in_liquid) { // How much the node's viscosity blocks movement, ranges between 0 and 1 // Should match the scale at which viscosity increase affects other liquid attributes const f32 viscosity_factor = 0.3; v3f d_wanted = -speed / lplayer->movement_liquid_fluidity; f32 dl = d_wanted.getLength(); if(dl > lplayer->movement_liquid_fluidity_smooth) dl = lplayer->movement_liquid_fluidity_smooth; dl *= (lplayer->liquid_viscosity * viscosity_factor) + (1 - viscosity_factor); v3f d = d_wanted.normalize() * dl; speed += d; #if 0 // old code if(speed.X > lplayer->movement_liquid_fluidity + lplayer->movement_liquid_fluidity_smooth) speed.X -= lplayer->movement_liquid_fluidity_smooth; if(speed.X < -lplayer->movement_liquid_fluidity - lplayer->movement_liquid_fluidity_smooth) speed.X += lplayer->movement_liquid_fluidity_smooth; if(speed.Y > lplayer->movement_liquid_fluidity + lplayer->movement_liquid_fluidity_smooth) speed.Y -= lplayer->movement_liquid_fluidity_smooth; if(speed.Y < -lplayer->movement_liquid_fluidity - lplayer->movement_liquid_fluidity_smooth) speed.Y += lplayer->movement_liquid_fluidity_smooth; if(speed.Z > lplayer->movement_liquid_fluidity + lplayer->movement_liquid_fluidity_smooth) speed.Z -= lplayer->movement_liquid_fluidity_smooth; if(speed.Z < -lplayer->movement_liquid_fluidity - lplayer->movement_liquid_fluidity_smooth) speed.Z += lplayer->movement_liquid_fluidity_smooth; #endif } lplayer->setSpeed(speed); } /* Move the lplayer. This also does collision detection. */ lplayer->move(dtime_part, this, position_max_increment, &player_collisions); } } while(dtime_downcount > 0.001); //std::cout<<"Looped "<<loopcount<<" times."<<std::endl; for(std::list<CollisionInfo>::iterator i = player_collisions.begin(); i != player_collisions.end(); ++i) { CollisionInfo &info = *i; v3f speed_diff = info.new_speed - info.old_speed;; // Handle only fall damage // (because otherwise walking against something in fast_move kills you) if(speed_diff.Y < 0 || info.old_speed.Y >= 0) continue; // Get rid of other components speed_diff.X = 0; speed_diff.Z = 0; f32 pre_factor = 1; // 1 hp per node/s f32 tolerance = BS*14; // 5 without damage f32 post_factor = 1; // 1 hp per node/s if(info.type == COLLISION_NODE) { const ContentFeatures &f = m_gamedef->ndef()-> get(m_map->getNodeNoEx(info.node_p)); // Determine fall damage multiplier int addp = itemgroup_get(f.groups, "fall_damage_add_percent"); pre_factor = 1.0 + (float)addp/100.0; } float speed = pre_factor * speed_diff.getLength(); if(speed > tolerance) { f32 damage_f = (speed - tolerance)/BS * post_factor; u16 damage = (u16)(damage_f+0.5); if(damage != 0){ damageLocalPlayer(damage, true); MtEvent *e = new SimpleTriggerEvent("PlayerFallingDamage"); m_gamedef->event()->put(e); } } } /* A quick draft of lava damage */ if(m_lava_hurt_interval.step(dtime, 1.0)) { v3f pf = lplayer->getPosition(); // Feet, middle and head v3s16 p1 = floatToInt(pf + v3f(0, BS*0.1, 0), BS); MapNode n1 = m_map->getNodeNoEx(p1); v3s16 p2 = floatToInt(pf + v3f(0, BS*0.8, 0), BS); MapNode n2 = m_map->getNodeNoEx(p2); v3s16 p3 = floatToInt(pf + v3f(0, BS*1.6, 0), BS); MapNode n3 = m_map->getNodeNoEx(p3); u32 damage_per_second = 0; damage_per_second = MYMAX(damage_per_second, m_gamedef->ndef()->get(n1).damage_per_second); damage_per_second = MYMAX(damage_per_second, m_gamedef->ndef()->get(n2).damage_per_second); damage_per_second = MYMAX(damage_per_second, m_gamedef->ndef()->get(n3).damage_per_second); if(damage_per_second != 0) { damageLocalPlayer(damage_per_second, true); } } /* Drowning */ if(m_drowning_interval.step(dtime, 2.0)) { v3f pf = lplayer->getPosition(); // head v3s16 p = floatToInt(pf + v3f(0, BS*1.6, 0), BS); MapNode n = m_map->getNodeNoEx(p); ContentFeatures c = m_gamedef->ndef()->get(n); if(c.isLiquid() && c.drowning){ if(lplayer->breath > 10) lplayer->breath = 11; if(lplayer->breath > 0) lplayer->breath -= 1; } if(lplayer->breath == 0){ damageLocalPlayer(1, true); } } if(m_breathing_interval.step(dtime, 0.5)) { v3f pf = lplayer->getPosition(); // head v3s16 p = floatToInt(pf + v3f(0, BS*1.6, 0), BS); MapNode n = m_map->getNodeNoEx(p); ContentFeatures c = m_gamedef->ndef()->get(n); if(!c.isLiquid() || !c.drowning){ if(lplayer->breath <= 10) lplayer->breath += 1; } } /* Stuff that can be done in an arbitarily large dtime */ for(std::list<Player*>::iterator i = m_players.begin(); i != m_players.end(); ++i) { Player *player = *i; /* Handle non-local players */ if(player->isLocal() == false) { // Move player->move(dtime, *m_map, 100*BS); } // Update lighting on all players on client float light = 1.0; try{ // Get node at head v3s16 p = player->getLightPosition(); MapNode n = m_map->getNode(p); light = n.getLightBlendF1((float)getDayNightRatio()/1000, m_gamedef->ndef()); } catch(InvalidPositionException &e){ light = blend_light_f1((float)getDayNightRatio()/1000, LIGHT_SUN, 0); } player->light = light; } /* Step active objects and update lighting of them */ g_profiler->avg("CEnv: num of objects", m_active_objects.size()); bool update_lighting = m_active_object_light_update_interval.step(dtime, 0.21); for(std::map<u16, ClientActiveObject*>::iterator i = m_active_objects.begin(); i != m_active_objects.end(); ++i) { ClientActiveObject* obj = i->second; // Step object obj->step(dtime, this); if(update_lighting) { // Update lighting u8 light = 0; try{ // Get node at head v3s16 p = obj->getLightPosition(); MapNode n = m_map->getNode(p); light = n.getLightBlend(getDayNightRatio(), m_gamedef->ndef()); } catch(InvalidPositionException &e){ light = blend_light(getDayNightRatio(), LIGHT_SUN, 0); } obj->updateLight(light); } } /* Step and handle simple objects */ g_profiler->avg("CEnv: num of simple objects", m_simple_objects.size()); for(std::list<ClientSimpleObject*>::iterator i = m_simple_objects.begin(); i != m_simple_objects.end();) { ClientSimpleObject *simple = *i; std::list<ClientSimpleObject*>::iterator cur = i; ++i; simple->step(dtime); if(simple->m_to_be_removed){ delete simple; m_simple_objects.erase(cur); } } } void ClientEnvironment::addSimpleObject(ClientSimpleObject *simple) { m_simple_objects.push_back(simple); } ClientActiveObject* ClientEnvironment::getActiveObject(u16 id) { std::map<u16, ClientActiveObject*>::iterator n; n = m_active_objects.find(id); if(n == m_active_objects.end()) return NULL; return n->second; } bool isFreeClientActiveObjectId(u16 id, std::map<u16, ClientActiveObject*> &objects) { if(id == 0) return false; return objects.find(id) == objects.end(); } u16 getFreeClientActiveObjectId( std::map<u16, ClientActiveObject*> &objects) { //try to reuse id's as late as possible static u16 last_used_id = 0; u16 startid = last_used_id; for(;;) { last_used_id ++; if(isFreeClientActiveObjectId(last_used_id, objects)) return last_used_id; if(last_used_id == startid) return 0; } } u16 ClientEnvironment::addActiveObject(ClientActiveObject *object) { assert(object); if(object->getId() == 0) { u16 new_id = getFreeClientActiveObjectId(m_active_objects); if(new_id == 0) { infostream<<"ClientEnvironment::addActiveObject(): " <<"no free ids available"<<std::endl; delete object; return 0; } object->setId(new_id); } if(isFreeClientActiveObjectId(object->getId(), m_active_objects) == false) { infostream<<"ClientEnvironment::addActiveObject(): " <<"id is not free ("<<object->getId()<<")"<<std::endl; delete object; return 0; } infostream<<"ClientEnvironment::addActiveObject(): " <<"added (id="<<object->getId()<<")"<<std::endl; m_active_objects[object->getId()] = object; object->addToScene(m_smgr, m_texturesource, m_irr); { // Update lighting immediately u8 light = 0; try{ // Get node at head v3s16 p = object->getLightPosition(); MapNode n = m_map->getNode(p); light = n.getLightBlend(getDayNightRatio(), m_gamedef->ndef()); } catch(InvalidPositionException &e){ light = blend_light(getDayNightRatio(), LIGHT_SUN, 0); } object->updateLight(light); } return object->getId(); } void ClientEnvironment::addActiveObject(u16 id, u8 type, const std::string &init_data) { ClientActiveObject* obj = ClientActiveObject::create(type, m_gamedef, this); if(obj == NULL) { infostream<<"ClientEnvironment::addActiveObject(): " <<"id="<<id<<" type="<<type<<": Couldn't create object" <<std::endl; return; } obj->setId(id); try { obj->initialize(init_data); } catch(SerializationError &e) { errorstream<<"ClientEnvironment::addActiveObject():" <<" id="<<id<<" type="<<type <<": SerializationError in initialize(): " <<e.what() <<": init_data="<<serializeJsonString(init_data) <<std::endl; } addActiveObject(obj); } void ClientEnvironment::removeActiveObject(u16 id) { verbosestream<<"ClientEnvironment::removeActiveObject(): " <<"id="<<id<<std::endl; ClientActiveObject* obj = getActiveObject(id); if(obj == NULL) { infostream<<"ClientEnvironment::removeActiveObject(): " <<"id="<<id<<" not found"<<std::endl; return; } obj->removeFromScene(true); delete obj; m_active_objects.erase(id); } void ClientEnvironment::processActiveObjectMessage(u16 id, const std::string &data) { ClientActiveObject* obj = getActiveObject(id); if(obj == NULL) { infostream<<"ClientEnvironment::processActiveObjectMessage():" <<" got message for id="<<id<<", which doesn't exist." <<std::endl; return; } try { obj->processMessage(data); } catch(SerializationError &e) { errorstream<<"ClientEnvironment::processActiveObjectMessage():" <<" id="<<id<<" type="<<obj->getType() <<" SerializationError in processMessage()," <<" message="<<serializeJsonString(data) <<std::endl; } } /* Callbacks for activeobjects */ void ClientEnvironment::damageLocalPlayer(u8 damage, bool handle_hp) { LocalPlayer *lplayer = getLocalPlayer(); assert(lplayer); if(handle_hp){ if(lplayer->hp > damage) lplayer->hp -= damage; else lplayer->hp = 0; } ClientEnvEvent event; event.type = CEE_PLAYER_DAMAGE; event.player_damage.amount = damage; event.player_damage.send_to_server = handle_hp; m_client_event_queue.push_back(event); } /* Client likes to call these */ void ClientEnvironment::getActiveObjects(v3f origin, f32 max_d, std::vector<DistanceSortedActiveObject> &dest) { for(std::map<u16, ClientActiveObject*>::iterator i = m_active_objects.begin(); i != m_active_objects.end(); ++i) { ClientActiveObject* obj = i->second; f32 d = (obj->getPosition() - origin).getLength(); if(d > max_d) continue; DistanceSortedActiveObject dso(obj, d); dest.push_back(dso); } } ClientEnvEvent ClientEnvironment::getClientEvent() { if(m_client_event_queue.empty()) { ClientEnvEvent event; event.type = CEE_NONE; return event; } return m_client_event_queue.pop_front(); } #endif // #ifndef SERVER