mirror of
https://github.com/glest/glest-source.git
synced 2025-02-24 11:42:31 +01:00
- added ability to turn on photo mode and zoom out while in a non network game (default key is f8)
This commit is contained in:
parent
44563b6f73
commit
b1ff035f9e
@ -40,6 +40,8 @@ Game *thisGamePtr = NULL;
|
||||
|
||||
// ===================== PUBLIC ========================
|
||||
|
||||
const float PHOTO_MODE_MAXHEIGHT = 500.0;
|
||||
|
||||
Game::Game(Program *program, const GameSettings *gameSettings):
|
||||
ProgramState(program), lastMousePos(0), isFirstRender(true)
|
||||
{
|
||||
@ -1174,6 +1176,14 @@ void Game::keyDown(char key) {
|
||||
}
|
||||
else if(key == configKeys.getCharKey("TogglePhotoMode")) {
|
||||
photoModeEnabled = !photoModeEnabled;
|
||||
if( photoModeEnabled == true &&
|
||||
this->gameSettings.isNetworkGame() == false) {
|
||||
gameCamera.setMaxHeight(PHOTO_MODE_MAXHEIGHT);
|
||||
}
|
||||
else if(photoModeEnabled == false) {
|
||||
gameCamera.setMaxHeight(-1);
|
||||
}
|
||||
|
||||
}
|
||||
//Toggle music
|
||||
else if(key == configKeys.getCharKey("ToggleMusic")) {
|
||||
@ -1740,7 +1750,7 @@ void Game::checkWinnerStandard(){
|
||||
// This caused too much LAG for network games
|
||||
if(this->gameSettings.isNetworkGame() == false) {
|
||||
Renderer::getInstance().setPhotoMode(true);
|
||||
gameCamera.setMaxHeight(500);
|
||||
gameCamera.setMaxHeight(PHOTO_MODE_MAXHEIGHT);
|
||||
}
|
||||
// END
|
||||
}
|
||||
@ -1770,7 +1780,7 @@ void Game::checkWinnerStandard(){
|
||||
// This caused too much LAG for network games
|
||||
if(this->gameSettings.isNetworkGame() == false) {
|
||||
Renderer::getInstance().setPhotoMode(true);
|
||||
gameCamera.setMaxHeight(500);
|
||||
gameCamera.setMaxHeight(PHOTO_MODE_MAXHEIGHT);
|
||||
}
|
||||
// END
|
||||
|
||||
@ -1814,7 +1824,7 @@ void Game::checkWinnerStandard(){
|
||||
// This caused too much LAG for network games
|
||||
if(this->gameSettings.isNetworkGame() == false) {
|
||||
Renderer::getInstance().setPhotoMode(true);
|
||||
gameCamera.setMaxHeight(500);
|
||||
gameCamera.setMaxHeight(PHOTO_MODE_MAXHEIGHT);
|
||||
}
|
||||
// END
|
||||
}
|
||||
@ -1844,7 +1854,7 @@ void Game::checkWinnerScripted() {
|
||||
// This caused too much LAG for network games
|
||||
if(this->gameSettings.isNetworkGame() == false) {
|
||||
Renderer::getInstance().setPhotoMode(true);
|
||||
gameCamera.setMaxHeight(500);
|
||||
gameCamera.setMaxHeight(PHOTO_MODE_MAXHEIGHT);
|
||||
}
|
||||
// END
|
||||
}
|
||||
|
@ -76,6 +76,15 @@ GameCamera::~GameCamera() {
|
||||
cacheVisibleQuad.clear();
|
||||
}
|
||||
|
||||
void GameCamera::setMaxHeight(float value) {
|
||||
if(value < 0) {
|
||||
maxHeight = Config::getInstance().getFloat("CameraMaxDistance","20");
|
||||
}
|
||||
else {
|
||||
maxHeight = value;
|
||||
}
|
||||
}
|
||||
|
||||
void GameCamera::init(int limitX, int limitY){
|
||||
this->limitX= limitX;
|
||||
this->limitY= limitY;
|
||||
|
@ -129,7 +129,7 @@ public:
|
||||
void save(XmlNode *node) const;
|
||||
|
||||
void setClampBounds(bool value) { clampBounds = value; }
|
||||
void setMaxHeight(float value) { maxHeight = value; }
|
||||
void setMaxHeight(float value);
|
||||
void setFov(float value) { fov = value; }
|
||||
void setMinVAng(float value) { minVAng = value; }
|
||||
void setMaxVAng(float value) { maxVAng = value; }
|
||||
|
Loading…
x
Reference in New Issue
Block a user