void action_decrZ(uint32_t keymod) { if(keymod&ALLEGRO_KEYMOD_CTRL){ action_decrsegmentZ(keymod); return; } char stepsize = ((keymod&ALLEGRO_KEYMOD_SHIFT) ? MAPNAVIGATIONSTEPBIG : MAPNAVIGATIONSTEP); if (!(keymod&ALLEGRO_KEYMOD_ALT)) { ssConfig.track_mode = GameConfiguration::TRACKING_NONE; } if (ssConfig.track_mode != GameConfiguration::TRACKING_NONE) { ssConfig.viewZoffset -= stepsize; } else { ssState.Position.z -= stepsize; } if(ssState.Position.z<1) { ssState.Position.z = 1; } timeToReloadSegment = true; }
void action_decrZ(uint32_t keymod) { if(keymod&ALLEGRO_KEYMOD_CTRL){ action_decrsegmentZ(keymod); return; } char stepsize = ((keymod&ALLEGRO_KEYMOD_SHIFT) ? MAPNAVIGATIONSTEPBIG : MAPNAVIGATIONSTEP); if (!(keymod&ALLEGRO_KEYMOD_ALT)) { ssConfig.follow_DFscreen = false; } if (ssConfig.follow_DFscreen) { ssConfig.viewZoffset -= stepsize; } else { ssState.DisplayedSegment.z -= stepsize; } if(ssState.DisplayedSegment.z<1) { ssState.DisplayedSegment.z = 1; } timeToReloadSegment = true; }