22#ifndef MADS_NEBULAR_MAC_NEBULAR_H
23#define MADS_NEBULAR_MAC_NEBULAR_H
25#include "common/rect.h"
26#include "common/str.h"
27#include "graphics/managed_surface.h"
28#include "mads/core/font.h"
29#include "mads/core/general.h"
38class MacResourceProvider;
40class RexNebularEngine;
42enum MacNebularDisplaySize {
43 kMacNebularDisplay100 = 0,
44 kMacNebularDisplay150 = 1,
45 kMacNebularDisplay200 = 2
49bool setMacintoshMessageColors(
int primaryR,
int primaryG,
int primaryB,
50 int secondaryR,
int secondaryG,
int secondaryB);
63 bool _useOriginalMenus;
66 bool _preferencesAtStartup;
67 bool _showPreferencesAtStartup;
68 bool _startupPreferencesReady =
false;
71 bool _fullFrameActive =
false;
72 bool _aboutActive =
false;
73 bool _aboutRoomLoaded =
false;
74 bool _gameplayHandoffPending =
false;
75 bool _gameplayHandoffEffectSeen =
false;
76 bool _popupActive =
false;
77 int _popupAskLine = -1;
80 bool _layoutLogged =
false;
81 uint32 _lastMacintoshSoundTick = (uint32)-1;
82 uint32 _macintoshSoundPausedAt = 0;
83 uint32 _macintoshSoundPausedTicks = 0;
84 bool _macintoshSoundPaused =
false;
86 int getSceneWidth()
const;
87 int getSceneHeight()
const;
88 int getSceneX()
const;
89 int getSceneY()
const;
90 int getInterfaceY()
const;
98 void applyGameSettings();
99 void selectDifficulty();
100 int selectResumeSlot();
101 bool usesOriginalMenus()
const {
return _useOriginalMenus; }
102 int getDisplaySize()
const {
return _displaySize; }
103 bool getHideMenuBar()
const {
return _hideMenuBar; }
104 bool getPreferencesAtStartup()
const {
return _preferencesAtStartup; }
106 bool getStoryLocked()
const {
return _storyLocked; }
108 void setDisplaySize(
int displaySize,
bool persist);
109 void setHideMenuBar(
bool hide);
110 void setPreferencesAtStartup(
bool show,
bool persist);
112 void setFullFrameActive(
bool active);
113 bool isFullFrameActive()
const {
return _fullFrameActive; }
114 void setOuterMenuActive(
bool active);
115 void notifyOuterMenuFrameReady();
121 void setPalette(
const RGBcolor *palette,
int firstColor,
int numColors);
122 void getPalette(
RGBcolor *palette,
int firstColor,
int numColors)
const;
123 void presentScreen(
int shakeOffset);
125 int editPopup(
char *target,
int maxLength);
128 char *target,
int maxLength);
130 int getTextWidth(
FontPtr font,
const char *text,
int spacing)
const;
131 bool drawText(
FontPtr font,
Buffer *target,
const char *text,
int x,
132 int y,
int color,
int spacing)
const;
Definition: managed_surface.h:51
Definition: mac_nebular.h:52
Definition: mac_resources.h:43
Definition: algorithm.h:29