Bugzilla – Bug 12
Cannot click to move or interact with objects on MacOS 10.7.4 with GeForce 7300GT card
Last modified: 2014-03-14 08:20:10 CET
When running the client on a Mac Pro with a GeForce 7300 GT card, I cannot left-click the ground to move, and I cannot click objects on the ground to interact with them. The 2d UI still works. I *think* I've narrowed the issue down to some unexpected results coming out of MapView.checkmapclick(), which depends on MapMesh.drawFlat(). When clicking the ground or objects, no hit is detected. The coordinates found appear to be incorrect. When I change the camera angle using the mouse wheel to zoom all the way out, I see a slight improvement in the hit detection. At a certain zoom level (zoom all the way out, then zoom in about 4 - 5 clicks of the scroll wheel), I observe the values for "tile = new Coord(hitcol.getRed() - 1, hitcol.getGreen() - 1);" suddenly change. I observe this only on my Mac Pro. I do not observe this on my mac laptop. The Mac Pro is running 10.7.4, with a GeForce 7300GT. The Macbook is running 10.6.x. Affects the stock client, Ender's client, or BD client. I have compiled and run the stock client and Ender's client from source (cloned from github July 10, 2012) to check for recent fixes.
It's a bit weird, though. Even if it gets the coordinates wrong, it shouldn't mean that no hit whatever is detected (since all colors are valid). What values are you, in fact, getting in the various phases?
I'm getting tile hit color values outside of the valid [0 - 25) range. Stand in the new player area, after getting a body. With the camera zoomed in to about 45 degrees, Click the top center of the clothes chest. The player does not move. Zoom the camera out all the way out to 90 degrees, looking straight down. Clock the top center of the clothes chest, same spot. The player moves to the chest. I added some debugging statements to the code. In the log below, the first mousedown happens with the camera at 45 deg, the second with the camera at 90 deg: MapView mousedown button 1 Running HitTest colorAtPixel= java.awt.Color[r=144,g=0,b=0] hit mesh=haven.MapMesh@1510e56 tile hitcolor = java.awt.Color[r=74,g=8,b=0] coord = (73, 7)rl.limit.sz = (25, 25) colorAtPixel= java.awt.Color[r=240,g=240,b=0] nohit MapView mousedown button 1 Running HitTest colorAtPixel= java.awt.Color[r=144,g=0,b=0] hit mesh=haven.MapMesh@1510e56 tile hitcolor = java.awt.Color[r=3,g=18,b=0] coord = (2, 17)rl.limit.sz = (25, 25) pixel hitcolor = java.awt.Color[r=110,g=70,b=0] colorAtPixel= java.awt.Color[r=240,g=240,b=0] Let me know if you want a dump of the code that generated this output.
Since you know how to modify the client, you may want to use the new getimage() function of GOut to capture a screenshot of the image output when the click-test scene has been drawn, to see what it looks like.
Created attachment 5 [details] MapView patch for image output Example patch for MapView.java for using getimage() to help with debugging.
Made a new, more descriptive report for the general case of this particular problem. *** This bug has been marked as a duplicate of bug 211 ***