anchor.diff:  
   			if (!activeClimb && streetZ != 0) {
   				// Not near a ladder, and this street is 3d
  -				if (inputManager.upKey == true && getScale() > MIN_SCALE) {
  +				if (inputManager.upKey == true && scale > MIN_SCALE) {
   					// moving back
  -					z += physics.zSpeed * getScale() * dt;
  +					z += physics.zSpeed * scale * dt;
   					moving = true;
  -				} else if (inputManager.downKey == true && getScale() < 1) {
  +				} else if (inputManager.downKey == true && scale < 1) {
   					// moving foward
  -					z -= physics.zSpeed * getScale() * dt;
  +					z -= physics.zSpeed * scale * dt;
   					moving = true;
   				} else {
   					// not moving
  
positive.code: 			..attributes['translateY'] = translateY.toString();
  	}
  
  	num getScale() {
  		if (z == 0) {
  			return 1;
  		} else {
  
negative.code: 			//for jumps/falling
  			if (doPhysicsApply && !climbingUp && !climbingDown) {
  				// walking
  				yVel -= yAccel * dt * scale;
  				top += yVel * dt * scale;
  			} else {
  				// climbing
  				if (inputManager.downKey == true) {
  					top += physics.speed * dt * scale;
  				}
  
  				if (inputManager.upKey == true) {
  					top -= physics.speed * dt * scale;
  				}
  			}
  
  