| .. | .. |
|---|
| 160 | 160 | { |
|---|
| 161 | 161 | if(hAspect != 0) return; |
|---|
| 162 | 162 | |
|---|
| 163 | + if (CameraPane.IMAGEFLIP) |
|---|
| 164 | + { |
|---|
| 165 | + dx = -dx; |
|---|
| 166 | + } |
|---|
| 167 | + |
|---|
| 163 | 168 | if (CameraPane.ROTATECAMERA) |
|---|
| 164 | 169 | { |
|---|
| 165 | 170 | float t = dx; |
|---|
| .. | .. |
|---|
| 216 | 221 | void Translate(float dx, float dy, float scale) |
|---|
| 217 | 222 | { |
|---|
| 218 | 223 | if(hAspect != 0) return; |
|---|
| 224 | + |
|---|
| 225 | + if (CameraPane.IMAGEFLIP) |
|---|
| 226 | + { |
|---|
| 227 | + dx = -dx; |
|---|
| 228 | + } |
|---|
| 219 | 229 | |
|---|
| 220 | 230 | if (CameraPane.ROTATECAMERA) |
|---|
| 221 | 231 | { |
|---|
| .. | .. |
|---|
| 405 | 415 | LA.matConcat(fromScreen, rotate, fromScreen); |
|---|
| 406 | 416 | //LA.matConcat(toScreen, rotate_1, toScreen); |
|---|
| 407 | 417 | } |
|---|
| 418 | + |
|---|
| 419 | + if (CameraPane.IMAGEFLIP) |
|---|
| 420 | + { |
|---|
| 421 | + double[][] flip = { { -1,0,0,0 }, { 0,1,0,0}, { 0,0,1,0}, { 0,0,0,1 } }; |
|---|
| 422 | + |
|---|
| 423 | + LA.matConcat(fromScreen, flip, fromScreen); |
|---|
| 424 | + } |
|---|
| 425 | + |
|---|
| 408 | 426 | //if (this == CameraPane.lightCamera) |
|---|
| 409 | 427 | //CameraPane.lighttouched = true; |
|---|
| 410 | | - |
|---|
| 411 | 428 | LA.matInvert(fromScreen, toScreen); |
|---|
| 412 | 429 | } |
|---|
| 413 | 430 | |
|---|
| .. | .. |
|---|
| 2082 | 2082 | |
|---|
| 2083 | 2083 | camerachangeframe = Globals.framecount; |
|---|
| 2084 | 2084 | |
|---|
| 2085 | | - cam.hAspect = -1; // Read only |
|---|
| 2085 | + if (cam != null) |
|---|
| 2086 | + cam.hAspect = -1; // Read only |
|---|
| 2086 | 2087 | |
|---|
| 2087 | 2088 | cameras[0] = cam; |
|---|
| 2088 | 2089 | targetLookAts[0] = new cVector(cam.lookAt); |
|---|
| .. | .. |
|---|
| 2395 | 2396 | { |
|---|
| 2396 | 2397 | //System.out.println("PROTECTION = " + cam.hAspect); |
|---|
| 2397 | 2398 | //assert (cam.hAspect == 0); |
|---|
| 2398 | | - cam.hAspect = 0; |
|---|
| 2399 | + if (cam != null) |
|---|
| 2400 | + cam.hAspect = 0; |
|---|
| 2399 | 2401 | lightCamera = cam; |
|---|
| 2400 | 2402 | } |
|---|
| 2401 | 2403 | |
|---|
| .. | .. |
|---|
| 14839 | 14841 | if((mod&SHIFT) == SHIFT) |
|---|
| 14840 | 14842 | { |
|---|
| 14841 | 14843 | if (isVR) |
|---|
| 14842 | | - manipCamera.RotateInterest(0, -speed); |
|---|
| 14844 | + manipCamera.RotateInterest(0, speed); |
|---|
| 14843 | 14845 | else |
|---|
| 14844 | 14846 | manipCamera.RotatePosition(0, -speed); |
|---|
| 14845 | 14847 | } |
|---|
| .. | .. |
|---|
| 14869 | 14871 | if((mod&SHIFT) == SHIFT) |
|---|
| 14870 | 14872 | { |
|---|
| 14871 | 14873 | if (isVR) |
|---|
| 14872 | | - manipCamera.RotateInterest(0, speed); |
|---|
| 14874 | + manipCamera.RotateInterest(0, -speed); |
|---|
| 14873 | 14875 | else |
|---|
| 14874 | 14876 | manipCamera.RotatePosition(0, speed); |
|---|
| 14875 | 14877 | } |
|---|
| .. | .. |
|---|
| 15583 | 15585 | break; |
|---|
| 15584 | 15586 | case 'm': |
|---|
| 15585 | 15587 | { |
|---|
| 15586 | | - PrintMemory(); |
|---|
| 15588 | + //PrintMemory(); |
|---|
| 15589 | + ToggleImageFlip(); |
|---|
| 15587 | 15590 | break; |
|---|
| 15588 | 15591 | } |
|---|
| 15589 | 15592 | case 'M': |
|---|