[colobot] 252/377: Implement issue #606
Didier Raboud
odyx at moszumanska.debian.org
Wed Mar 30 13:34:23 UTC 2016
This is an automated email from the git hooks/post-receive script.
odyx pushed a commit to branch debian/master
in repository colobot.
commit 12e37243198b640a4355b1560f43248dde49da84
Author: Krzysztof Dermont <erihel at gmail.com>
Date: Wed Feb 10 17:04:26 2016 +0100
Implement issue #606
Add button to open SatCom in main menu
---
src/common/event.cpp | 1 +
src/common/event.h | 1 +
src/common/restext.cpp | 1 +
src/level/robotmain.cpp | 10 ++++++++++
src/level/robotmain.h | 1 +
src/ui/screen/screen_main_menu.cpp | 10 ++++++++++
6 files changed, 24 insertions(+)
diff --git a/src/common/event.cpp b/src/common/event.cpp
index 7bc9f49..15dfaa8 100644
--- a/src/common/event.cpp
+++ b/src/common/event.cpp
@@ -182,6 +182,7 @@ void InitializeEventTypeTexts()
EVENT_TYPE_TEXT[EVENT_INTERFACE_READ] = "EVENT_INTERFACE_READ";
EVENT_TYPE_TEXT[EVENT_INTERFACE_ABORT] = "EVENT_INTERFACE_ABORT";
EVENT_TYPE_TEXT[EVENT_INTERFACE_USER] = "EVENT_INTERFACE_USER";
+ EVENT_TYPE_TEXT[EVENT_INTERFACE_SATCOM] = "EVENT_INTERFACE_SATCOM";
EVENT_TYPE_TEXT[EVENT_INTERFACE_CHAP] = "EVENT_INTERFACE_CHAP";
EVENT_TYPE_TEXT[EVENT_INTERFACE_LIST] = "EVENT_INTERFACE_LIST";
diff --git a/src/common/event.h b/src/common/event.h
index ad3d068..38d7a59 100644
--- a/src/common/event.h
+++ b/src/common/event.h
@@ -210,6 +210,7 @@ enum EventType
EVENT_INTERFACE_READ = 411,
EVENT_INTERFACE_ABORT = 412,
EVENT_INTERFACE_USER = 413,
+ EVENT_INTERFACE_SATCOM = 414,
EVENT_INTERFACE_CHAP = 420,
EVENT_INTERFACE_LIST = 421,
diff --git a/src/common/restext.cpp b/src/common/restext.cpp
index 8184c44..31ae587 100644
--- a/src/common/restext.cpp
+++ b/src/common/restext.cpp
@@ -161,6 +161,7 @@ void InitializeRestext()
stringsEvent[EVENT_INTERFACE_FREE] = TR("Free game\\Free game without a specific goal");
stringsEvent[EVENT_INTERFACE_CODE_BATTLES] = TR("Code battles\\Program your robot to be the best of them all!");
stringsEvent[EVENT_INTERFACE_USER] = TR("Custom levels\\Levels from mods created by the users");
+ stringsEvent[EVENT_INTERFACE_SATCOM] = TR("SatCom");
stringsEvent[EVENT_INTERFACE_NAME] = TR("Change player\\Change player");
stringsEvent[EVENT_INTERFACE_SETUP] = TR("Options\\Preferences");
stringsEvent[EVENT_INTERFACE_AGAIN] = TR("Restart\\Restart the mission from the beginning");
diff --git a/src/level/robotmain.cpp b/src/level/robotmain.cpp
index 9214c51..a901040 100644
--- a/src/level/robotmain.cpp
+++ b/src/level/robotmain.cpp
@@ -351,6 +351,7 @@ std::string PhaseToString(Phase phase)
if (phase == PHASE_WIN) return "PHASE_WIN";
if (phase == PHASE_LOST) return "PHASE_LOST";
if (phase == PHASE_QUIT_SCREEN) return "PHASE_QUIT_SCREEN";
+ if (phase == PHASE_SATCOM) return "PHASE_SATCOM";
return "(unknown)";
}
@@ -516,6 +517,12 @@ void CRobotMain::ChangePhase(Phase phase)
}
m_ui->ChangePhase(m_phase);
+ if (m_phase == PHASE_SATCOM)
+ {
+ m_interface->DeleteControl(EVENT_WINDOW5);
+ StartDisplayInfo(InjectLevelPathsForCurrentLevel("cbot.txt", "help/%lng%"), 0);
+ }
+
if (!resetWorld) return;
dim.x = 32.0f/640.0f;
@@ -778,6 +785,9 @@ bool CRobotMain::ProcessEvent(Event &event)
if (event.type == EVENT_OBJECT_INFOOK)
StopDisplayInfo();
+ if (m_displayInfo == nullptr && m_phase == PHASE_SATCOM)
+ ChangePhase(PHASE_MAIN_MENU);
+
return false;
}
diff --git a/src/level/robotmain.h b/src/level/robotmain.h
index fe7e40e..8231840 100644
--- a/src/level/robotmain.h
+++ b/src/level/robotmain.h
@@ -72,6 +72,7 @@ enum Phase
PHASE_WIN,
PHASE_LOST,
PHASE_QUIT_SCREEN,
+ PHASE_SATCOM,
};
std::string PhaseToString(Phase phase);
bool IsInSimulationConfigPhase(Phase phase);
diff --git a/src/ui/screen/screen_main_menu.cpp b/src/ui/screen/screen_main_menu.cpp
index fcab062..4d9e103 100644
--- a/src/ui/screen/screen_main_menu.cpp
+++ b/src/ui/screen/screen_main_menu.cpp
@@ -162,6 +162,12 @@ void CScreenMainMenu::CreateInterface()
pl->SetFontType(Gfx::FONT_COURIER);
pl->SetFontSize(Gfx::FONT_SIZE_SMALL);
+ // SatCom button
+ pos.x = ox+sx*4.4f;
+ pos.y = oy+sy*4.4f;
+ pb = pw->CreateButton(pos, dim, 128+60, EVENT_INTERFACE_SATCOM);
+ pb->SetState(STATE_SHADOW);
+
SetBackground("textures/interface/interface.png");
CreateVersionDisplay();
}
@@ -223,6 +229,10 @@ bool CScreenMainMenu::EventProcess(const Event &event)
m_main->ChangePhase(PHASE_PLAYER_SELECT);
break;
+ case EVENT_INTERFACE_SATCOM:
+ m_main->ChangePhase(PHASE_SATCOM);
+ break;
+
default:
return true;
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/colobot.git
More information about the Pkg-games-commits
mailing list