From d37e2aba0e932c3d9c082823caf526fcb415fd50 Mon Sep 17 00:00:00 2001
From: Matthew Stewart
Date: Tue, 8 May 2018 22:48:40 -0400
Subject: STARTREK: Options menu
---
engines/startrek/graphics.cpp | 6 +-
engines/startrek/graphics.h | 18 +--
engines/startrek/sound.cpp | 8 +-
engines/startrek/sprite.h | 2 +-
engines/startrek/startrek.cpp | 14 ++-
engines/startrek/startrek.h | 11 +-
engines/startrek/text.cpp | 259 ++++++++++++++++++++++++++++++------------
7 files changed, 221 insertions(+), 97 deletions(-)
diff --git a/engines/startrek/graphics.cpp b/engines/startrek/graphics.cpp
index 41bc6f2231..dedbf932ca 100644
--- a/engines/startrek/graphics.cpp
+++ b/engines/startrek/graphics.cpp
@@ -383,7 +383,7 @@ void Graphics::drawAllSprites() {
for (int i=0; i<_numSprites; i++) {
Sprite *spr = _sprites[i];
- if (spr->field16 == 0 && spr->isOnScreen) {
+ if (!spr->field16 && spr->isOnScreen) {
bool mustRedrawSprite = false;
Common::Rect rect2;
@@ -403,7 +403,7 @@ void Graphics::drawAllSprites() {
drawSprite(*spr, rect2);
}
- spr->field16 = 0;
+ spr->field16 = false;
spr->bitmapChanged = 0;
spr->lastDrawRect = spr->drawRect;
}
@@ -418,7 +418,7 @@ void Graphics::addSprite(Sprite *sprite) {
// Initialize some fields
sprite->drawMode = 0;
sprite->field8 = 0;
- sprite->field16 = 0;
+ sprite->field16 = false;
sprite->lastDrawRect.top = -1;
sprite->lastDrawRect.left = -1;
diff --git a/engines/startrek/graphics.h b/engines/startrek/graphics.h
index b684ced05e..c63b2f6943 100644
--- a/engines/startrek/graphics.h
+++ b/engines/startrek/graphics.h
@@ -44,7 +44,7 @@ const int SCREEN_WIDTH = 320;
const int SCREEN_HEIGHT = 200;
const int MAX_SPRITES = 32;
-const int MAX_MENUBUTTONS = 16; // This is arbitrary, the original game has no such limit
+const int MAX_MENUBUTTONS = 32;
const int TEXTBOX_WIDTH = 26;
const int MAX_TEXTBOX_LINES = 12;
@@ -59,8 +59,6 @@ struct Menu {
uint16 numButtons;
int16 selectedButton;
SharedPtr