diff --git a/simtool.h b/simtool.h index 843673493..64f9a7824 100644 --- a/simtool.h +++ b/simtool.h @@ -726,7 +726,24 @@ public: bool init( player_t *player ) OVERRIDE { if( !env_t::networkmode || player->is_public_service() ) { // in networkmode only for public player - welt->change_time_multiplier( atoi(default_param) ); + + // [mod : shingoushori] change_time_multiplier_xt 1/6 + // This modify is assumed to be written in menuconf.tab as shown below, if used. + // # toolbar[0][31]=simple_tool[7],,.,+1 + // # toolbar[0][32]=simple_tool[7],,COMMA,-1 + // toolbar[0][31]=simple_tool[7],,.,^+1 + // toolbar[0][32]=simple_tool[7],,COMMA,^-1 + int factor = atoi(default_param); + if (factor != 0) { + welt->change_time_multiplier( factor ); + } else { + if (strlen(default_param) > 0){ + if (default_param[0] == '^'){ + char *c_xt = (char*)&default_param[1]; + welt->change_time_multiplier_xt( atoi(c_xt) ); + } + } + } } return false; } diff --git a/simworld.cc b/simworld.cc index a024cf03c..04c951e9f 100644 --- a/simworld.cc +++ b/simworld.cc @@ -2006,6 +2006,8 @@ karte_t::karte_t() : network_frame_count = 0; sync_steps = 0; sync_steps_barrier = sync_steps; + // [mod : shingoushori] change_time_multiplier_xt 2/6 + step_fast_forward = 100; for( uint i=0; i