[Change] Some shortcut key changes.
[Add] Launching after landing.
BIN
icons/blastoff.png
Normal file
After Width: | Height: | Size: 336 B |
Before Width: | Height: | Size: 371 B After Width: | Height: | Size: 361 B |
Before Width: | Height: | Size: 689 B After Width: | Height: | Size: 687 B |
Before Width: | Height: | Size: 250 B After Width: | Height: | Size: 243 B |
Before Width: | Height: | Size: 490 B After Width: | Height: | Size: 491 B |
Before Width: | Height: | Size: 460 B After Width: | Height: | Size: 466 B |
Before Width: | Height: | Size: 454 B After Width: | Height: | Size: 464 B |
Before Width: | Height: | Size: 426 B After Width: | Height: | Size: 438 B |
Before Width: | Height: | Size: 419 B After Width: | Height: | Size: 410 B |
@ -54,6 +54,7 @@ void Player::ApplyExternalViewRotation(matrix4x4d& m) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Player::TimeStepUpdate(const float timeStep) {
|
void Player::TimeStepUpdate(const float timeStep) {
|
||||||
|
if(GetFlightState() == Ship::FLYING) {
|
||||||
/* When world view not selected. */
|
/* When world view not selected. */
|
||||||
if(!polledControlsThisTurn) {
|
if(!polledControlsThisTurn) {
|
||||||
const float time_accel = L3D::GetTimeAccel();
|
const float time_accel = L3D::GetTimeAccel();
|
||||||
@ -66,6 +67,7 @@ void Player::TimeStepUpdate(const float timeStep) {
|
|||||||
SetAngThrusterState(1, -damping.y);
|
SetAngThrusterState(1, -damping.y);
|
||||||
SetAngThrusterState(2, -damping.z);
|
SetAngThrusterState(2, -damping.z);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
polledControlsThisTurn = false;
|
polledControlsThisTurn = false;
|
||||||
Ship::TimeStepUpdate(timeStep);
|
Ship::TimeStepUpdate(timeStep);
|
||||||
}
|
}
|
||||||
@ -91,13 +93,16 @@ void Player::PollControls(void) {
|
|||||||
m_external_view_dist = MAX(50, m_external_view_dist);
|
m_external_view_dist = MAX(50, m_external_view_dist);
|
||||||
|
|
||||||
/* When landed don't let external view look from below. */
|
/* When landed don't let external view look from below. */
|
||||||
if(m_isLanded) m_external_view_rotx = CLAMP(m_external_view_rotx, -170.0, -10);
|
if(GetFlightState() == LANDED) m_external_view_rotx = CLAMP(m_external_view_rotx, -170.0, -10);
|
||||||
}
|
}
|
||||||
|
|
||||||
if((time_accel == 0) || GetDockedWith()) {
|
if((time_accel == 0) || GetDockedWith() ||
|
||||||
|
(GetFlightState() != FLYING)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* If flying. */
|
||||||
|
{
|
||||||
ClearThrusterState();
|
ClearThrusterState();
|
||||||
|
|
||||||
vector3f angThrust(0.0f);
|
vector3f angThrust(0.0f);
|
||||||
@ -120,11 +125,10 @@ void Player::PollControls(void) {
|
|||||||
if(L3D::KeyState(SDLK_a)) SetThrusterState(ShipType::THRUSTER_LEFT, 1.0f);
|
if(L3D::KeyState(SDLK_a)) SetThrusterState(ShipType::THRUSTER_LEFT, 1.0f);
|
||||||
if(L3D::KeyState(SDLK_d)) SetThrusterState(ShipType::THRUSTER_RIGHT, 1.0f);
|
if(L3D::KeyState(SDLK_d)) SetThrusterState(ShipType::THRUSTER_RIGHT, 1.0f);
|
||||||
|
|
||||||
if(L3D::KeyState(SDLK_SPACE) || (L3D::MouseButtonState(1) &&
|
if(L3D::KeyState(SDLK_SPACE) || (L3D::MouseButtonState(1) && L3D::MouseButtonState(1) && L3D::MouseButtonState(3))) SetGunState(0,1);
|
||||||
L3D::MouseButtonState(3))) SetGunState(0, 1);
|
|
||||||
else SetGunState(0,0);
|
else SetGunState(0,0);
|
||||||
|
|
||||||
/* No torques at huge time accels -- ODE hates it. */
|
/* No torques at huge time accels -- ODE doesn't like it. */
|
||||||
if(time_accel <= 10) {
|
if(time_accel <= 10) {
|
||||||
if(L3D::GetCamType() != L3D::CAM_EXTERNAL) {
|
if(L3D::GetCamType() != L3D::CAM_EXTERNAL) {
|
||||||
if(L3D::KeyState(SDLK_LEFT)) angThrust.y += 1;
|
if(L3D::KeyState(SDLK_LEFT)) angThrust.y += 1;
|
||||||
@ -140,7 +144,7 @@ void Player::PollControls(void) {
|
|||||||
angThrust.z -= damping.z;
|
angThrust.z -= damping.z;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Divided by time step so controls don't go totally insane when
|
* Dividing by time step so controls don't go insane when
|
||||||
* used at 10x accel.
|
* used at 10x accel.
|
||||||
*/
|
*/
|
||||||
angThrust *= 1.0f/ta2;
|
angThrust *= 1.0f/ta2;
|
||||||
@ -151,10 +155,6 @@ void Player::PollControls(void) {
|
|||||||
if(time_accel > 10) {
|
if(time_accel > 10) {
|
||||||
dBodySetAngularVel(m_body, 0, 0, 0);
|
dBodySetAngularVel(m_body, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(GetNavTarget() && L3D::KeyState(SDLK_END)) {
|
|
||||||
/* Temp test: Kill ("end") the target. */
|
|
||||||
Space::KillBody(GetNavTarget());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,15 +19,15 @@ SectorView::SectorView(void) : GenericSystemView() {
|
|||||||
|
|
||||||
Gui::ImageButton* ib = new Gui::ImageButton("icons/sectorview_f6_systeminfo.png");
|
Gui::ImageButton* ib = new Gui::ImageButton("icons/sectorview_f6_systeminfo.png");
|
||||||
ib->onClick.connect(sigc::mem_fun(this, &SectorView::OnClickSystemInfo));
|
ib->onClick.connect(sigc::mem_fun(this, &SectorView::OnClickSystemInfo));
|
||||||
ib->SetShortcut(SDLK_F6, KMOD_NONE);
|
ib->SetShortcut(SDLK_F5, KMOD_NONE);
|
||||||
m_rightButtonBar->Add(ib, 2, 2);
|
m_rightButtonBar->Add(ib, 2, 2);
|
||||||
|
|
||||||
m_zoomInButton = new Gui::ImageButton("icons/zoom_in_f7.png");
|
m_zoomInButton = new Gui::ImageButton("icons/zoom_in_f7.png");
|
||||||
m_zoomInButton->SetShortcut(SDLK_F7, KMOD_NONE);
|
m_zoomInButton->SetShortcut(SDLK_F6, KMOD_NONE);
|
||||||
m_rightButtonBar->Add(m_zoomInButton, 34, 2);
|
m_rightButtonBar->Add(m_zoomInButton, 34, 2);
|
||||||
|
|
||||||
m_zoomOutButton = new Gui::ImageButton("icons/zoom_out_f8.png");
|
m_zoomOutButton = new Gui::ImageButton("icons/zoom_out_f8.png");
|
||||||
m_zoomOutButton->SetShortcut(SDLK_F8, KMOD_NONE);
|
m_zoomOutButton->SetShortcut(SDLK_F7, KMOD_NONE);
|
||||||
m_rightButtonBar->Add(m_zoomOutButton, 66, 2);
|
m_rightButtonBar->Add(m_zoomOutButton, 66, 2);
|
||||||
|
|
||||||
m_gluDiskDlist = glGenLists(1);
|
m_gluDiskDlist = glGenLists(1);
|
||||||
|
39
src/ship.cpp
@ -23,8 +23,9 @@ static ObjParams params = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
Ship::Ship(ShipType::Type shipType) : DynamicBody() {
|
Ship::Ship(ShipType::Type shipType) : DynamicBody() {
|
||||||
m_isLanded = false;
|
m_flightState = FLYING;
|
||||||
m_testLanded = false;
|
m_testLanded = false;
|
||||||
|
m_launchLockTimeout = 0;
|
||||||
m_wheelTransition = 0;
|
m_wheelTransition = 0;
|
||||||
m_wheelState = 0;
|
m_wheelState = 0;
|
||||||
m_dockedWith = 0;
|
m_dockedWith = 0;
|
||||||
@ -56,7 +57,8 @@ void Ship::UpdateMass(void) {
|
|||||||
|
|
||||||
bool Ship::OnCollision(Body* b, Uint32 flags) {
|
bool Ship::OnCollision(Body* b, Uint32 flags) {
|
||||||
if(b->GetType() == Object::PLANET) {
|
if(b->GetType() == Object::PLANET) {
|
||||||
if(m_isLanded) return false;
|
/* Geoms still enabled when landed. */
|
||||||
|
if(m_flightState != FLYING) return false;
|
||||||
else m_testLanded = true;
|
else m_testLanded = true;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@ -82,8 +84,10 @@ void Ship::ClearThrusterState(void) {
|
|||||||
SetAngThrusterState(1, 0.0f);
|
SetAngThrusterState(1, 0.0f);
|
||||||
SetAngThrusterState(2, 0.0f);
|
SetAngThrusterState(2, 0.0f);
|
||||||
|
|
||||||
|
if(m_launchLockTimeout == 0) {
|
||||||
for(int i = 0; i < ShipType::THRUSTER_MAX; i++) m_thrusters[i] = 0;
|
for(int i = 0; i < ShipType::THRUSTER_MAX; i++) m_thrusters[i] = 0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Hyperspace range is:
|
/* Hyperspace range is:
|
||||||
* (200 * hyperspace_class^2) / total_mass (in tonnes)
|
* (200 * hyperspace_class^2) / total_mass (in tonnes)
|
||||||
@ -107,13 +111,34 @@ void Ship::CalcStats(shipstats_t* stats) {
|
|||||||
stats->hyperspace_range = 200 * hyperclass * hyperclass / stats->total_mass;
|
stats->hyperspace_range = 200 * hyperclass * hyperclass / stats->total_mass;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Ship::Blastoff(void) {
|
||||||
|
if(m_flightState != LANDED) return;
|
||||||
|
|
||||||
|
ClearThrusterState();
|
||||||
|
m_flightState = FLYING;
|
||||||
|
m_testLanded = false;
|
||||||
|
m_dockedWith = 0;
|
||||||
|
m_launchLockTimeout = 1.0; /* One second of applying thrusters. */
|
||||||
|
|
||||||
|
Enable();
|
||||||
|
const double planetRadius = GetFrame()->m_astroBody->GetRadius();
|
||||||
|
vector3d up = vector3d::Normalize(GetPosition());
|
||||||
|
dBodySetLinearVel(m_body, 0, 0, 0);
|
||||||
|
dBodySetAngularVel(m_body, 0, 0, 0);
|
||||||
|
dBodySetForce(m_body, 0, 0, 0);
|
||||||
|
dBodySetTorque(m_body, 0, 0, 0);
|
||||||
|
SetPosition(up*planetRadius+10.0*up);
|
||||||
|
SetThrusterState(ShipType::THRUSTER_TOP, 1.0f);
|
||||||
|
}
|
||||||
|
|
||||||
void Ship::TestLanded(void) {
|
void Ship::TestLanded(void) {
|
||||||
|
if(m_launchLockTimeout != 0) return;
|
||||||
if(GetFrame()->m_astroBody) {
|
if(GetFrame()->m_astroBody) {
|
||||||
const dReal* vel = dBodyGetLinearVel(m_body);
|
const dReal* vel = dBodyGetLinearVel(m_body);
|
||||||
double speed = vector3d(vel[0], vel[1], vel[2]).Length();
|
double speed = vector3d(vel[0], vel[1], vel[2]).Length();
|
||||||
const double planetRadius = GetFrame()->m_astroBody->GetRadius();
|
const double planetRadius = GetFrame()->m_astroBody->GetRadius();
|
||||||
|
|
||||||
if(speed < 15) {
|
if(speed < 20) {
|
||||||
printf("Landed!\n");
|
printf("Landed!\n");
|
||||||
|
|
||||||
/* Orient the damn thing right! */
|
/* Orient the damn thing right! */
|
||||||
@ -138,7 +163,7 @@ void Ship::TestLanded(void) {
|
|||||||
*/
|
*/
|
||||||
dBodyDisable(m_body);
|
dBodyDisable(m_body);
|
||||||
ClearThrusterState();
|
ClearThrusterState();
|
||||||
m_isLanded = true;
|
m_flightState = LANDED;
|
||||||
m_testLanded = false;
|
m_testLanded = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -148,6 +173,10 @@ void Ship::TimeStepUpdate(const float timeStep) {
|
|||||||
dockingTimer = (dockingTimer-timeStep > 0 ? dockingTimer-timeStep : 0);
|
dockingTimer = (dockingTimer-timeStep > 0 ? dockingTimer-timeStep : 0);
|
||||||
/* ODE tri mesh likes to know our old position. */
|
/* ODE tri mesh likes to know our old position. */
|
||||||
TriMeshUpdateLastPos();
|
TriMeshUpdateLastPos();
|
||||||
|
|
||||||
|
m_launchLockTimeout -= timeStep;
|
||||||
|
if(m_launchLockTimeout < 0) m_launchLockTimeout = 0;
|
||||||
|
|
||||||
const ShipType& stype = GetShipType();
|
const ShipType& stype = GetShipType();
|
||||||
for(int i = 0; i < ShipType::THRUSTER_MAX; i++) {
|
for(int i = 0; i < ShipType::THRUSTER_MAX; i++) {
|
||||||
float force = timeStep * stype.linThrust[i] * m_thrusters[i];
|
float force = timeStep * stype.linThrust[i] * m_thrusters[i];
|
||||||
@ -302,7 +331,7 @@ static void render_coll_mesh(const CollMesh* m) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Ship::Render(const Frame* camFrame) {
|
void Ship::Render(const Frame* camFrame) {
|
||||||
if((!dBodyIsEnabled(m_body)) && !m_isLanded) return;
|
if((!dBodyIsEnabled(m_body)) && !m_flightState) return;
|
||||||
const ShipType& stype = GetShipType();
|
const ShipType& stype = GetShipType();
|
||||||
params.angthrust[0] = m_angThrusters[0];
|
params.angthrust[0] = m_angThrusters[0];
|
||||||
params.angthrust[1] = m_angThrusters[1];
|
params.angthrust[1] = m_angThrusters[1];
|
||||||
|
@ -34,11 +34,14 @@ public:
|
|||||||
void UpdateMass(void);
|
void UpdateMass(void);
|
||||||
vector3d CalcRotDamping();
|
vector3d CalcRotDamping();
|
||||||
void SetWheelState(bool down);
|
void SetWheelState(bool down);
|
||||||
|
void Blastoff(void);
|
||||||
float GetDockingTimer(void) { return dockingTimer; }
|
float GetDockingTimer(void) { return dockingTimer; }
|
||||||
void SetDockingTimer(float t) { dockingTimer = t; }
|
void SetDockingTimer(float t) { dockingTimer = t; }
|
||||||
virtual void TimeStepUpdate(const float timeStep);
|
virtual void TimeStepUpdate(const float timeStep);
|
||||||
virtual void NotifyDeath(const Body* const dyingBody);
|
virtual void NotifyDeath(const Body* const dyingBody);
|
||||||
virtual bool OnCollision(Body* b, Uint32 flags);
|
virtual bool OnCollision(Body* b, Uint32 flags);
|
||||||
|
enum FlightState { FLYING, LANDED };
|
||||||
|
FlightState GetFlightState(void) { return m_flightState; }
|
||||||
|
|
||||||
class LaserObj : public Object {
|
class LaserObj : public Object {
|
||||||
public:
|
public:
|
||||||
@ -51,14 +54,15 @@ protected:
|
|||||||
void RenderLaserfire(void);
|
void RenderLaserfire(void);
|
||||||
|
|
||||||
SpaceStation* m_dockedWith;
|
SpaceStation* m_dockedWith;
|
||||||
bool m_isLanded;
|
|
||||||
enum ShipType::Type m_shipType;
|
enum ShipType::Type m_shipType;
|
||||||
Uint32 m_gunState[ShipType::GUNMOUNT_MAX];
|
Uint32 m_gunState[ShipType::GUNMOUNT_MAX];
|
||||||
private:
|
private:
|
||||||
bool IsFiringLasers(void);
|
bool IsFiringLasers(void);
|
||||||
void TestLanded(void);
|
void TestLanded(void);
|
||||||
|
|
||||||
|
FlightState m_flightState;
|
||||||
bool m_testLanded;
|
bool m_testLanded;
|
||||||
|
float m_launchLockTimeout;
|
||||||
float m_wheelState;
|
float m_wheelState;
|
||||||
float m_wheelTransition;
|
float m_wheelTransition;
|
||||||
|
|
||||||
|
@ -12,11 +12,11 @@ SystemView::SystemView(void): View() {
|
|||||||
Add(m_timePoint, 24, 5);
|
Add(m_timePoint, 24, 5);
|
||||||
|
|
||||||
m_zoomInButton = new Gui::ImageButton("icons/zoom_in_f7.png");
|
m_zoomInButton = new Gui::ImageButton("icons/zoom_in_f7.png");
|
||||||
m_zoomInButton->SetShortcut(SDLK_F7, KMOD_NONE);
|
m_zoomInButton->SetShortcut(SDLK_F6, KMOD_NONE);
|
||||||
m_rightButtonBar->Add(m_zoomInButton, 34, 2);
|
m_rightButtonBar->Add(m_zoomInButton, 34, 2);
|
||||||
|
|
||||||
m_zoomOutButton = new Gui::ImageButton("icons/zoom_out_f8.png");
|
m_zoomOutButton = new Gui::ImageButton("icons/zoom_out_f8.png");
|
||||||
m_zoomOutButton->SetShortcut(SDLK_F8, KMOD_NONE);
|
m_zoomOutButton->SetShortcut(SDLK_F7, KMOD_NONE);
|
||||||
m_rightButtonBar->Add(m_zoomOutButton, 66, 2);
|
m_rightButtonBar->Add(m_zoomOutButton, 66, 2);
|
||||||
|
|
||||||
Gui::ImageButton* b = new Gui::ImageButton("icons/sysview_accel_r3.png",
|
Gui::ImageButton* b = new Gui::ImageButton("icons/sysview_accel_r3.png",
|
||||||
|
@ -22,24 +22,33 @@ WorldView::WorldView(void): View() {
|
|||||||
Add(commsOptions, 10, 20);
|
Add(commsOptions, 10, 20);
|
||||||
|
|
||||||
Gui::MultiStateImageButton* wheels_button = new Gui::MultiStateImageButton();
|
Gui::MultiStateImageButton* wheels_button = new Gui::MultiStateImageButton();
|
||||||
wheels_button->SetShortcut(SDLK_F7, KMOD_NONE);
|
wheels_button->SetShortcut(SDLK_F6, KMOD_NONE);
|
||||||
wheels_button->AddState(0, "icons/wheels_up.png");
|
wheels_button->AddState(0, "icons/wheels_up.png");
|
||||||
wheels_button->AddState(1, "icons/wheels_down.png");
|
wheels_button->AddState(1, "icons/wheels_down.png");
|
||||||
wheels_button->onClick.connect(sigc::mem_fun(this, &WorldView::OnChangeWheelsState));
|
wheels_button->onClick.connect(sigc::mem_fun(this, &WorldView::OnChangeWheelsState));
|
||||||
m_rightButtonBar->Add(wheels_button, 34, 2);
|
m_rightButtonBar->Add(wheels_button, 34, 2);
|
||||||
|
|
||||||
Gui::MultiStateImageButton* labels_button = new Gui::MultiStateImageButton();
|
Gui::MultiStateImageButton* labels_button = new Gui::MultiStateImageButton();
|
||||||
labels_button->SetShortcut(SDLK_9, KMOD_NONE);
|
labels_button->SetShortcut(SDLK_8, KMOD_NONE);
|
||||||
labels_button->AddState(1, "icons/labels_on.png");
|
labels_button->AddState(1, "icons/labels_on.png");
|
||||||
labels_button->AddState(0, "icons/labels_off.png");
|
labels_button->AddState(0, "icons/labels_off.png");
|
||||||
labels_button->onClick.connect(sigc::mem_fun(this, &WorldView::OnChangeLabelsState));
|
labels_button->onClick.connect(sigc::mem_fun(this, &WorldView::OnChangeLabelsState));
|
||||||
m_rightButtonBar->Add(labels_button, 98, 2);
|
m_rightButtonBar->Add(labels_button, 98, 2);
|
||||||
|
|
||||||
m_hyperspaceButton = new Gui::ImageButton("icons/hyperspace_f8.png");
|
m_hyperspaceButton = new Gui::ImageButton("icons/hyperspace_f8.png");
|
||||||
m_hyperspaceButton->SetShortcut(SDLK_F8, KMOD_NONE);
|
m_hyperspaceButton->SetShortcut(SDLK_F7, KMOD_NONE);
|
||||||
m_hyperspaceButton->onClick.connect(sigc::mem_fun(this, &WorldView::OnClickHyperspace));
|
m_hyperspaceButton->onClick.connect(sigc::mem_fun(this, &WorldView::OnClickHyperspace));
|
||||||
m_rightButtonBar->Add(m_hyperspaceButton, 66, 2);
|
m_rightButtonBar->Add(m_hyperspaceButton, 66, 2);
|
||||||
|
|
||||||
|
launchButton = new Gui::ImageButton("icons/blastoff.png");
|
||||||
|
launchButton->SetShortcut(SDLK_F5, KMOD_NONE);
|
||||||
|
launchButton->onClick.connect(sigc::mem_fun(this, &WorldView::OnClickBlastoff));
|
||||||
|
m_rightButtonBar->Add(launchButton, 2, 2);
|
||||||
|
|
||||||
|
flightStatus = new Gui::Label("");
|
||||||
|
flightStatus->SetColor(1, .7, 0);
|
||||||
|
m_rightRegion2->Add(flightStatus, 10, 3);
|
||||||
|
|
||||||
m_bgstarsDlist = glGenLists(1);
|
m_bgstarsDlist = glGenLists(1);
|
||||||
|
|
||||||
glNewList(m_bgstarsDlist, GL_COMPILE);
|
glNewList(m_bgstarsDlist, GL_COMPILE);
|
||||||
@ -70,6 +79,10 @@ void WorldView::OnChangeLabelsState(Gui::MultiStateImageButton* b) {
|
|||||||
labelsOn = b->GetState();
|
labelsOn = b->GetState();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void WorldView::OnClickBlastoff(void) {
|
||||||
|
L3D::player->Blastoff();
|
||||||
|
}
|
||||||
|
|
||||||
void WorldView::OnClickHyperspace(void) {
|
void WorldView::OnClickHyperspace(void) {
|
||||||
StarSystem* s = L3D::GetSelectedSystem();
|
StarSystem* s = L3D::GetSelectedSystem();
|
||||||
if(s /* && isn's current system. */) {
|
if(s /* && isn's current system. */) {
|
||||||
@ -163,6 +176,14 @@ void WorldView::Update(void) {
|
|||||||
} else {
|
} else {
|
||||||
//commsOptions->HideAll();
|
//commsOptions->HideAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(L3D::player->GetFlightState() == Ship::LANDED) {
|
||||||
|
flightStatus->SetText("Landed");
|
||||||
|
launchButton->Show();
|
||||||
|
} else {
|
||||||
|
flightStatus->SetText("Manual Controls");
|
||||||
|
launchButton->Hide();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Gui::Button* WorldView::AddCommsOption(std::string msg, int ypos) {
|
Gui::Button* WorldView::AddCommsOption(std::string msg, int ypos) {
|
||||||
|
@ -16,6 +16,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
Gui::Button* AddCommsOption(const std::string msg, int ypos);
|
Gui::Button* AddCommsOption(const std::string msg, int ypos);
|
||||||
void OnClickHyperspace(void);
|
void OnClickHyperspace(void);
|
||||||
|
void OnClickBlastoff(void);
|
||||||
void OnChangeWheelsState(Gui::MultiStateImageButton* b);
|
void OnChangeWheelsState(Gui::MultiStateImageButton* b);
|
||||||
void OnChangeLabelsState(Gui::MultiStateImageButton* b);
|
void OnChangeLabelsState(Gui::MultiStateImageButton* b);
|
||||||
virtual bool OnMouseDown(Gui::MouseButtonEvent* e);
|
virtual bool OnMouseDown(Gui::MouseButtonEvent* e);
|
||||||
@ -23,6 +24,8 @@ private:
|
|||||||
Gui::ImageButton* m_hyperspaceButton;
|
Gui::ImageButton* m_hyperspaceButton;
|
||||||
GLuint m_bgstarsDlist;
|
GLuint m_bgstarsDlist;
|
||||||
Gui::Fixed* commsOptions;
|
Gui::Fixed* commsOptions;
|
||||||
|
Gui::Label* flightStatus;
|
||||||
|
Gui::ImageButton* launchButton;
|
||||||
bool labelsOn;
|
bool labelsOn;
|
||||||
};
|
};
|
||||||
|
|
||||||
|