summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/changelog.txt1
-rw-r--r--minetest.conf.example2
-rw-r--r--src/defaultsettings.cpp1
-rw-r--r--src/game.cpp4
4 files changed, 8 insertions, 0 deletions
diff --git a/doc/changelog.txt b/doc/changelog.txt
index cb3594a98..e886370a6 100644
--- a/doc/changelog.txt
+++ b/doc/changelog.txt
@@ -14,6 +14,7 @@ X:
- Player passwords
- All textures first searched from texture_path
- Map directory ("map") has been renamed to "world" (just rename it to load an old world)
+- Mouse inversion (invert_mouse)
2011-04-24:
- Smooth lighting with simple ambient occlusion
diff --git a/minetest.conf.example b/minetest.conf.example
index 5e6393228..1a1dbe0fc 100644
--- a/minetest.conf.example
+++ b/minetest.conf.example
@@ -42,6 +42,8 @@
#keymap_special1 = KEY_KEY_E
#keymap_print_debug_stacks = KEY_KEY_P
+#invert_mouse = false
+
# The desired FPS
#wanted_fps = 30
diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp
index 1d758a2a4..6fcdc1dbb 100644
--- a/src/defaultsettings.cpp
+++ b/src/defaultsettings.cpp
@@ -65,6 +65,7 @@ void set_default_settings()
g_settings.setDefault("free_move", "false");
g_settings.setDefault("continuous_forward", "false");
g_settings.setDefault("fast_move", "false");
+ g_settings.setDefault("invert_mouse", "false");
// Server stuff
g_settings.setDefault("enable_experimental", "false");
diff --git a/src/game.cpp b/src/game.cpp
index cc758be7e..6932b45f1 100644
--- a/src/game.cpp
+++ b/src/game.cpp
@@ -894,6 +894,8 @@ void the_game(
core::list<float> frametime_log;
float damage_flash_timer = 0;
+
+ bool invert_mouse = g_settings.getBool("invert_mouse");
/*
Main loop
@@ -1306,6 +1308,8 @@ void the_game(
else{
s32 dx = input->getMousePos().X - displaycenter.X;
s32 dy = input->getMousePos().Y - displaycenter.Y;
+ if(invert_mouse)
+ dy = -dy;
//std::cout<<"window active, pos difference "<<dx<<","<<dy<<std::endl;
/*const float keyspeed = 500;