+ gpad_bnstate[bn] = pressed;
+
+ if(pressed) {
+ switch(bn) {
+ case GPAD_LSTICK:
+ toggle_flight();
+ break;
+
+ default:
+ break;
+ }
+ }
+}
+
+static void toggle_flight()
+{
+ static float prev_walk_speed = -1.0;
+ if(prev_walk_speed < 0.0) {
+ noclip = true;
+ prev_walk_speed = walk_speed;
+ walk_speed = 1000.0;
+ show_message("fly mode\n");
+ } else {
+ noclip = false;
+ walk_speed = prev_walk_speed;
+ prev_walk_speed = -1.0;
+ show_message("walk mode\n");
+ }