I’m having a problem whenever I play Cataclysm DDA and I cannot for the life of me figure out the cause or even if it is a problem with Cataclysm.
For background information I am using an ASUS Q500A with Linux Mint 17 (Qiana) and 64-bit architecture, and I am running the latest development build of Cataclysm which I compiled (it seems NOT SDL) on May 18th (0.C-2840-gfe66373). I run the game from a terminal using the cataclysm-launcher.
The specifications of the issue are as follows:
The mouse will randomly move and click with no apparent pattern. Occasionally the clicks will end up outside of the terminal exposing the menus for my window manager and stealing focus from the game. This made me think it was not related to Cataclysm. However…
The problem occurs ONLY when Cataclysm is running and the game has my window manager’s focus. I cannot reproduce the issue in other contexts. It starts happening shortly after I begin playing and will occasionally stop for a short time after I switch to another window to do other tasks and switch back to play. This is not always effective, and it is effectively random.
Often the behavior results in many ‘unrecognized command’ errors due to interference while I try to do normal game tasks, so it has not caused any terrible troubles with my characters’ lives. It is supremely annoying to battle for control, though, so any hints/help would be greatly appreciated! Thanks, cheers.
I tried to look into disabling the mouse, but it seems this feature is not present (although it appears nearly implemented). I will be attempting later to disable the mouse controls (I don’t use them) and recompile, but I wanted to reach out to see if this is an issue anyone else has had. I have had no luck finding references to it in the context of either my hardware, OS, or Cataclysm, so here I am.
Do you have/had a joystick? Is it enabled in Cata options?
I have not used a joystick or enabled any configuration for it. In fact, I do not have any options for controls of any sort in my Interface options. I remember being confused before when I couldn’t find window sizing options. There is no Joystick configuration visible in the game, though I see references to it in the source. Perhaps I am mistaken about which version I compiled, and I should move my data files and recompile.
For clarification: I prefer the ncurses visual experience over tilesets. Can I assume that I must use a ‘ncurses-style’ tileset if I rebuild with TILES=1, or is tile/ncurses VISUAL experience indepedent of what features get built into the binaries?
Okay, so I tried a few things. First I pulled the latest code and recompiled. I’m now on 0.c-3691-gc3588c3-dirty . I compiled the TILES version and ran it for a while. There is no problem no matter what the settings seem to be. I did get an unexpected crash, but I will report that through another mechanism.
After I did this, I went back and tried to recompile the earlier version that I was having trouble with. However, it cannot compile due to a segmentation fault (same parameters that were successful on the ‘dirty’ version). Not sure about that, but the detail is below if anyone is interested:
g++ -DRELEASE -DSDLTILES -DTILES -DLOCALIZE -Os -Wall -Wextra -Werror --std=c++11 -MMD -c src/init.cpp -o obj/tiles/init.o
In file included from /usr/include/c++/4.8/map:60:0,
/usr/include/c++/4.8/bits/stl_tree.h: In instantiation of ‘void std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_erase(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type) [with _Key = string_id<ma_buff>; _Val = string_id<ma_buff>; _KeyOfValue = std::_Identity<string_id<ma_buff> >; _Compare = std::less<string_id<ma_buff> >; _Alloc = std::allocator<string_id<ma_buff> >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type = std::_Rb_tree_node<string_id<ma_buff> >*]’:
/usr/include/c++/4.8/bits/stl_tree.h:671:28: required from ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::~_Rb_tree() [with _Key = string_id<ma_buff>; _Val = string_id<ma_buff>; _KeyOfValue = std::_Identity<string_id<ma_buff> >; _Compare = std::less<string_id<ma_buff> >; _Alloc = std::allocator<string_id<ma_buff> >]’
/usr/include/c++/4.8/bits/stl_set.h:90:11: required from here
/usr/include/c++/4.8/bits/stl_tree.h:1130:5: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions.
The bug is not reproducible, so it is likely a hardware or OS problem.
make: *** [obj/tiles/init.o] Error 1
Just download the latest experimental for Linux instead of compiling.
Running the latest experimental build does not fix the issue. It seems to only occur on the Curses version. I am using version 5ff3af4 now and the problem persists. Again this is Linux 64-bit (no SDL release build exists). It is worth reiterating that this mouse issue can easily make the game completely unplayable.
Have you ever plugged in a joystick? (Like ever?) IIRC the last time this happened it was because the computer was becoming convinced it had a joystick plugged in despite there being none. I’d dig up how they fixed it but I’m on my phone right now which is not conducive to archive digging.
I haven’t owned a joystick since 1995, so barring some weird configuration mistake, I can’t think of what I’d have done in that vein. I tried increasing the thresholds on my touchpad to see if it was just some extra-sensitivity problem. Didn’t help.