mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-03 09:23:37 +00:00
get rid of GameConfig, use ConfigurationManager
svn-id: r11555
This commit is contained in:
parent
191e7ae621
commit
a53d2c99f5
@ -1409,7 +1409,7 @@ int Cutaway::countSpaces(ObjectType type, const char *segment) {
|
|||||||
if (OBJECT_TYPE_TEXT_DISPLAY == type)
|
if (OBJECT_TYPE_TEXT_DISPLAY == type)
|
||||||
tmp *= 3;
|
tmp *= 3;
|
||||||
|
|
||||||
return (tmp * 2) / _logic->talkSpeed();
|
return (tmp * 2) / (_logic->talkSpeed() / 3);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,8 +31,8 @@
|
|||||||
namespace Queen {
|
namespace Queen {
|
||||||
|
|
||||||
|
|
||||||
Journal::Journal(Logic *l, Graphics *g, Display *d, Sound *s, GameConfig *c)
|
Journal::Journal(Logic *l, Graphics *g, Display *d, Sound *s)
|
||||||
: _logic(l), _graphics(g), _display(d), _sound(s), _cfg(c) {
|
: _logic(l), _graphics(g), _display(d), _sound(s) {
|
||||||
_savePath = g_engine->getSavePath();
|
_savePath = g_engine->getSavePath();
|
||||||
_currentSavePage = 0;
|
_currentSavePage = 0;
|
||||||
_currentSaveSlot = 0;
|
_currentSaveSlot = 0;
|
||||||
@ -44,7 +44,6 @@ void Journal::use() {
|
|||||||
BobSlot *joe = _graphics->bob(0);
|
BobSlot *joe = _graphics->bob(0);
|
||||||
_prevJoeX = joe->x;
|
_prevJoeX = joe->x;
|
||||||
_prevJoeY = joe->y;
|
_prevJoeY = joe->y;
|
||||||
debug(0, "Journal::prepare() - Joe.pos = (%d,%d)", _prevJoeX, _prevJoeY);
|
|
||||||
|
|
||||||
_edit.enable = false;
|
_edit.enable = false;
|
||||||
_mode = M_NORMAL;
|
_mode = M_NORMAL;
|
||||||
@ -81,6 +80,8 @@ void Journal::use() {
|
|||||||
g_system->delay_msecs(20);
|
g_system->delay_msecs(20);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_logic->writeOptionSettings();
|
||||||
|
|
||||||
_graphics->textClear(0, GAME_SCREEN_HEIGHT - 1);
|
_graphics->textClear(0, GAME_SCREEN_HEIGHT - 1);
|
||||||
_graphics->cameraBob(0);
|
_graphics->cameraBob(0);
|
||||||
if (_quitCleanly) {
|
if (_quitCleanly) {
|
||||||
@ -172,9 +173,7 @@ void Journal::update() {
|
|||||||
void Journal::showBob(int bobNum, int16 x, int16 y, int frameNum) {
|
void Journal::showBob(int bobNum, int16 x, int16 y, int frameNum) {
|
||||||
|
|
||||||
BobSlot *bob = _graphics->bob(bobNum);
|
BobSlot *bob = _graphics->bob(bobNum);
|
||||||
bob->active = true;
|
bob->curPos(x, y);
|
||||||
bob->x = x;
|
|
||||||
bob->y = y;
|
|
||||||
bob->frameNum = JOURNAL_FRAMES + frameNum;
|
bob->frameNum = JOURNAL_FRAMES + frameNum;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -201,7 +200,6 @@ void Journal::findSaveDescriptions() {
|
|||||||
SaveFile *f = mgr->open_savefile(filename, _savePath, false);
|
SaveFile *f = mgr->open_savefile(filename, _savePath, false);
|
||||||
if (f) {
|
if (f) {
|
||||||
f->read(_saveDescriptions[i], MAX_SAVE_DESC_LEN);
|
f->read(_saveDescriptions[i], MAX_SAVE_DESC_LEN);
|
||||||
debug(0, "Journal::findSaveDescriptions() - %d %s desc=%s", i, filename, _saveDescriptions[i]);
|
|
||||||
delete f;
|
delete f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -266,10 +264,7 @@ void Journal::handleNormalMode(int16 zoneNum, int x) {
|
|||||||
enterYesNoMode(zoneNum, TXT_GIVE_UP);
|
enterYesNoMode(zoneNum, TXT_GIVE_UP);
|
||||||
}
|
}
|
||||||
if (zoneNum == ZN_TEXT_SPEED) {
|
if (zoneNum == ZN_TEXT_SPEED) {
|
||||||
_cfg->talkSpeed = (x - 136) / 4;
|
_logic->talkSpeed((x - 136) * 100 / 130);
|
||||||
if (_cfg->talkSpeed < 1) {
|
|
||||||
_cfg->talkSpeed = 1;
|
|
||||||
}
|
|
||||||
drawConfigPanel();
|
drawConfigPanel();
|
||||||
}
|
}
|
||||||
else if (zoneNum == ZN_SFX_TOGGLE) {
|
else if (zoneNum == ZN_SFX_TOGGLE) {
|
||||||
@ -277,13 +272,7 @@ void Journal::handleNormalMode(int16 zoneNum, int x) {
|
|||||||
drawConfigPanel();
|
drawConfigPanel();
|
||||||
}
|
}
|
||||||
else if (zoneNum == ZN_MUSIC_VOLUME) {
|
else if (zoneNum == ZN_MUSIC_VOLUME) {
|
||||||
_cfg->musicVolume = (x - 136) * 100 / 130;
|
// int val = (x - 136) * 100 / 130;
|
||||||
if (_cfg->musicVolume < 4) {
|
|
||||||
_cfg->musicVolume = 4;
|
|
||||||
}
|
|
||||||
else if (_cfg->musicVolume > 95) {
|
|
||||||
_cfg->musicVolume = 100;
|
|
||||||
}
|
|
||||||
// XXX alter_current_volume();
|
// XXX alter_current_volume();
|
||||||
drawConfigPanel();
|
drawConfigPanel();
|
||||||
}
|
}
|
||||||
@ -311,23 +300,12 @@ void Journal::handleNormalMode(int16 zoneNum, int x) {
|
|||||||
}
|
}
|
||||||
else if (zoneNum == ZN_VOICE_TOGGLE) {
|
else if (zoneNum == ZN_VOICE_TOGGLE) {
|
||||||
_sound->toggleSpeech();
|
_sound->toggleSpeech();
|
||||||
if (!_sound->speechOn()) {
|
|
||||||
// ensure text is always on when voice is off
|
|
||||||
_cfg->textToggle = true;
|
|
||||||
}
|
|
||||||
drawConfigPanel();
|
drawConfigPanel();
|
||||||
}
|
}
|
||||||
else if (zoneNum == ZN_TEXT_TOGGLE) {
|
else if (zoneNum == ZN_TEXT_TOGGLE) {
|
||||||
// only allow change on CD-ROM version
|
_logic->subtitles(!_logic->subtitles());
|
||||||
if (_logic->resource()->JASVersion()[0] == 'C') {
|
|
||||||
_cfg->textToggle = !_cfg->textToggle;
|
|
||||||
if (!_sound->speechOn()) {
|
|
||||||
// ensure text is always on when voice is off
|
|
||||||
_cfg->textToggle = true;
|
|
||||||
}
|
|
||||||
drawConfigPanel();
|
drawConfigPanel();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -494,12 +472,15 @@ void Journal::drawYesNoPanel(int titleNum) {
|
|||||||
|
|
||||||
void Journal::drawConfigPanel() {
|
void Journal::drawConfigPanel() {
|
||||||
|
|
||||||
drawSlideBar(_cfg->talkSpeed, 4, 1, BOB_TALK_SPEED, 136 - 4, 164, FRAME_BLUE_PIN);
|
_logic->checkOptionSettings();
|
||||||
drawSlideBar(_cfg->musicVolume, 130, 100, BOB_MUSIC_VOLUME, 136 - 4, 177, FRAME_GREEN_PIN);
|
|
||||||
|
drawSlideBar(_logic->talkSpeed(), 130, 100, BOB_TALK_SPEED, 136 - 4, 164, FRAME_BLUE_PIN);
|
||||||
|
// XXX music_volume
|
||||||
|
drawSlideBar(100, 130, 100, BOB_MUSIC_VOLUME, 136 - 4, 177, FRAME_GREEN_PIN);
|
||||||
|
|
||||||
drawCheckBox(_sound->sfxOn(), BOB_SFX_TOGGLE, 221, 155, FRAME_CHECK_BOX);
|
drawCheckBox(_sound->sfxOn(), BOB_SFX_TOGGLE, 221, 155, FRAME_CHECK_BOX);
|
||||||
drawCheckBox(_sound->speechOn(), BOB_SPEECH_TOGGLE, 158, 155, FRAME_CHECK_BOX);
|
drawCheckBox(_sound->speechOn(), BOB_SPEECH_TOGGLE, 158, 155, FRAME_CHECK_BOX);
|
||||||
drawCheckBox(_cfg->textToggle, BOB_TEXT_TOGGLE, 125, 167, FRAME_CHECK_BOX);
|
drawCheckBox(_logic->subtitles(), BOB_TEXT_TOGGLE, 125, 167, FRAME_CHECK_BOX);
|
||||||
drawCheckBox(_sound->musicOn(), BOB_MUSIC_TOGGLE, 125, 181, FRAME_CHECK_BOX);
|
drawCheckBox(_sound->musicOn(), BOB_MUSIC_TOGGLE, 125, 181, FRAME_CHECK_BOX);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@ struct GameConfig;
|
|||||||
class Journal {
|
class Journal {
|
||||||
public:
|
public:
|
||||||
|
|
||||||
Journal(Logic *, Graphics *, Display *, Sound *, GameConfig *);
|
Journal(Logic *, Graphics *, Display *, Sound *);
|
||||||
void use();
|
void use();
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
@ -184,7 +184,6 @@ private:
|
|||||||
Graphics *_graphics;
|
Graphics *_graphics;
|
||||||
Display *_display;
|
Display *_display;
|
||||||
Sound *_sound;
|
Sound *_sound;
|
||||||
GameConfig *_cfg;
|
|
||||||
const char *_savePath;
|
const char *_savePath;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
|
#include "common/config-manager.h"
|
||||||
#include "queen/logic.h"
|
#include "queen/logic.h"
|
||||||
#include "queen/command.h"
|
#include "queen/command.h"
|
||||||
#include "queen/cutaway.h"
|
#include "queen/cutaway.h"
|
||||||
@ -181,7 +182,6 @@ Common::RandomSource Logic::randomizer;
|
|||||||
Logic::Logic(Resource *theResource, Graphics *graphics, Display *theDisplay, Input *input, Sound *sound)
|
Logic::Logic(Resource *theResource, Graphics *graphics, Display *theDisplay, Input *input, Sound *sound)
|
||||||
: _resource(theResource), _graphics(graphics), _display(theDisplay),
|
: _resource(theResource), _graphics(graphics), _display(theDisplay),
|
||||||
_input(input), _sound(sound) {
|
_input(input), _sound(sound) {
|
||||||
_settings.talkSpeed = DEFAULT_TALK_SPEED;
|
|
||||||
_jas = _resource->loadFile("QUEEN.JAS", 20);
|
_jas = _resource->loadFile("QUEEN.JAS", 20);
|
||||||
_joe.x = _joe.y = 0;
|
_joe.x = _joe.y = 0;
|
||||||
_joe.scale = 100;
|
_joe.scale = 100;
|
||||||
@ -381,12 +381,6 @@ void Logic::initialise() {
|
|||||||
for (i = 1; i <= _numAFile; i++)
|
for (i = 1; i <= _numAFile; i++)
|
||||||
_aFile[i] = _resource->getJAS2Line();
|
_aFile[i] = _resource->getJAS2Line();
|
||||||
|
|
||||||
_settings.textToggle = true;
|
|
||||||
if (_resource->isFloppy())
|
|
||||||
_sound->speechToggle(false);
|
|
||||||
else
|
|
||||||
_sound->speechToggle(true);
|
|
||||||
|
|
||||||
_cmd->clear(false);
|
_cmd->clear(false);
|
||||||
_scene = 0;
|
_scene = 0;
|
||||||
memset(_gameState, 0, sizeof(_gameState));
|
memset(_gameState, 0, sizeof(_gameState));
|
||||||
@ -2404,12 +2398,12 @@ bool Logic::gameSave(uint16 slot, const char *desc) {
|
|||||||
memcpy(ptr, buf, 32); ptr += 32;
|
memcpy(ptr, buf, 32); ptr += 32;
|
||||||
delete[] buf;
|
delete[] buf;
|
||||||
|
|
||||||
WRITE_BE_UINT16(ptr, _settings.talkSpeed); ptr += 2;
|
WRITE_BE_UINT16(ptr, _talkSpeed); ptr += 2;
|
||||||
WRITE_BE_UINT16(ptr, _settings.musicVolume); ptr += 2;
|
WRITE_BE_UINT16(ptr, 0 /*_settings.musicVolume*/); ptr += 2;
|
||||||
WRITE_BE_UINT16(ptr, _sound->sfxOn() ? 1 : 0); ptr += 2;
|
WRITE_BE_UINT16(ptr, _sound->sfxOn() ? 1 : 0); ptr += 2;
|
||||||
WRITE_BE_UINT16(ptr, _sound->speechOn() ? 1 : 0); ptr += 2;
|
WRITE_BE_UINT16(ptr, _sound->speechOn() ? 1 : 0); ptr += 2;
|
||||||
WRITE_BE_UINT16(ptr, _sound->musicOn() ? 1 : 0); ptr += 2;
|
WRITE_BE_UINT16(ptr, _sound->musicOn() ? 1 : 0); ptr += 2;
|
||||||
WRITE_BE_UINT16(ptr, _settings.textToggle ? 1 : 0); ptr += 2;
|
WRITE_BE_UINT16(ptr, _subtitles ? 1 : 0); ptr += 2;
|
||||||
|
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++) {
|
||||||
WRITE_BE_UINT16(ptr, _inventoryItem[i]); ptr += 2;
|
WRITE_BE_UINT16(ptr, _inventoryItem[i]); ptr += 2;
|
||||||
@ -2471,12 +2465,13 @@ bool Logic::gameLoad(uint16 slot) {
|
|||||||
|
|
||||||
debug(3, "Loading game from slot %d", slot);
|
debug(3, "Loading game from slot %d", slot);
|
||||||
ptr += 32; //skip description
|
ptr += 32; //skip description
|
||||||
_settings.talkSpeed = (int16)READ_BE_UINT16(ptr); ptr += 2;
|
_talkSpeed = (int16)READ_BE_UINT16(ptr); ptr += 2;
|
||||||
_settings.musicVolume = (int16)READ_BE_UINT16(ptr); ptr += 2;
|
/*_settings.musicVolume = (int16)READ_BE_UINT16(ptr);*/ ptr += 2;
|
||||||
_sound->sfxToggle(READ_BE_UINT16(ptr) != 0); ptr += 2;
|
_sound->sfxToggle(READ_BE_UINT16(ptr) != 0); ptr += 2;
|
||||||
_sound->speechToggle(READ_BE_UINT16(ptr) != 0); ptr += 2;
|
_sound->speechToggle(READ_BE_UINT16(ptr) != 0); ptr += 2;
|
||||||
_sound->musicToggle(READ_BE_UINT16(ptr) != 0); ptr += 2;
|
_sound->musicToggle(READ_BE_UINT16(ptr) != 0); ptr += 2;
|
||||||
_settings.textToggle = READ_BE_UINT16(ptr) != 0; ptr += 2;
|
_subtitles = READ_BE_UINT16(ptr) != 0; ptr += 2;
|
||||||
|
ptr += 2 * 6;
|
||||||
|
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++) {
|
||||||
_inventoryItem[i] = (int16)READ_BE_UINT16(ptr); ptr += 2;
|
_inventoryItem[i] = (int16)READ_BE_UINT16(ptr); ptr += 2;
|
||||||
@ -2647,7 +2642,7 @@ void Logic::useJournal() {
|
|||||||
|
|
||||||
_cmd->clear(false);
|
_cmd->clear(false);
|
||||||
|
|
||||||
Journal j(this, _graphics, _display, _sound, &_settings);
|
Journal j(this, _graphics, _display, _sound);
|
||||||
j.use();
|
j.use();
|
||||||
|
|
||||||
_walk->stopJoe();
|
_walk->stopJoe();
|
||||||
@ -2662,6 +2657,67 @@ void Logic::useJournal() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Logic::registerDefaultSettings() {
|
||||||
|
|
||||||
|
ConfMan.registerDefault("master_volume", 255);
|
||||||
|
ConfMan.registerDefault("music_mute", false);
|
||||||
|
ConfMan.registerDefault("sfx_mute", false);
|
||||||
|
ConfMan.registerDefault("talkspeed", DEFAULT_TALK_SPEED);
|
||||||
|
ConfMan.registerDefault("speech_mute", _resource->isFloppy());
|
||||||
|
ConfMan.registerDefault("subtitles", true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Logic::checkOptionSettings() {
|
||||||
|
|
||||||
|
// check talkspeed value
|
||||||
|
if (_talkSpeed < 4) {
|
||||||
|
_talkSpeed = 4;
|
||||||
|
}
|
||||||
|
else if (_talkSpeed > 95) {
|
||||||
|
_talkSpeed = 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
// XXX check master_volume value
|
||||||
|
|
||||||
|
// only CD-ROM version has speech
|
||||||
|
if (_resource->JASVersion()[0] != 'C' && _sound->speechOn()) {
|
||||||
|
_sound->speechToggle(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ensure text is always on when voice is off
|
||||||
|
if (!_sound->speechOn()) {
|
||||||
|
_subtitles = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Logic::readOptionSettings() {
|
||||||
|
|
||||||
|
// XXX master_volume
|
||||||
|
_sound->musicToggle(!ConfMan.getBool("music_mute"));
|
||||||
|
_sound->sfxToggle(!ConfMan.getBool("sfx_mute"));
|
||||||
|
_talkSpeed = ConfMan.getInt("talkspeed");
|
||||||
|
_sound->speechToggle(!ConfMan.getBool("speech_mute"));
|
||||||
|
_subtitles = ConfMan.getBool("subtitles");
|
||||||
|
|
||||||
|
checkOptionSettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Logic::writeOptionSettings() {
|
||||||
|
|
||||||
|
// XXX master_volume
|
||||||
|
ConfMan.set("music_mute", !_sound->musicOn());
|
||||||
|
ConfMan.set("sfx_mute", !_sound->sfxOn());
|
||||||
|
ConfMan.set("talkspeed", _talkSpeed);
|
||||||
|
ConfMan.set("speech_mute", !_sound->speechOn());
|
||||||
|
ConfMan.set("subtitles", _subtitles);
|
||||||
|
|
||||||
|
ConfMan.flushToDisk();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void Logic::executeSpecialMove(uint16 sm) {
|
void Logic::executeSpecialMove(uint16 sm) {
|
||||||
// FIXME: for now, we initialise the various 'asm' procs here but,
|
// FIXME: for now, we initialise the various 'asm' procs here but,
|
||||||
// in order to support the 'interview' mini-game', we will have to do
|
// in order to support the 'interview' mini-game', we will have to do
|
||||||
|
@ -41,13 +41,6 @@ struct ZoneSlot {
|
|||||||
Box box;
|
Box box;
|
||||||
};
|
};
|
||||||
|
|
||||||
// FIXME: get rid of that and use ConfigurationManager
|
|
||||||
struct GameConfig {
|
|
||||||
int musicVolume;
|
|
||||||
bool textToggle;
|
|
||||||
int talkSpeed;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Each object/item in game has a state field.
|
Each object/item in game has a state field.
|
||||||
@ -202,8 +195,6 @@ public:
|
|||||||
|
|
||||||
uint16 numFrames() const { return _numFrames; }
|
uint16 numFrames() const { return _numFrames; }
|
||||||
|
|
||||||
int talkSpeed() const { return _settings.talkSpeed; }
|
|
||||||
|
|
||||||
void zoneSet(uint16 screen, uint16 zone, uint16 x1, uint16 y1, uint16 x2, uint16 y2);
|
void zoneSet(uint16 screen, uint16 zone, uint16 x1, uint16 y1, uint16 x2, uint16 y2);
|
||||||
void zoneSet(uint16 screen, uint16 zone, const Box& box);
|
void zoneSet(uint16 screen, uint16 zone, const Box& box);
|
||||||
uint16 zoneIn(uint16 screen, uint16 x, uint16 y) const;
|
uint16 zoneIn(uint16 screen, uint16 x, uint16 y) const;
|
||||||
@ -300,6 +291,16 @@ public:
|
|||||||
|
|
||||||
void useJournal();
|
void useJournal();
|
||||||
|
|
||||||
|
int talkSpeed() const { return _talkSpeed; }
|
||||||
|
void talkSpeed(int speed) { _talkSpeed = speed; }
|
||||||
|
bool subtitles() const { return _subtitles; }
|
||||||
|
void subtitles(bool enable) { _subtitles = enable; }
|
||||||
|
|
||||||
|
void registerDefaultSettings();
|
||||||
|
void checkOptionSettings();
|
||||||
|
void readOptionSettings();
|
||||||
|
void writeOptionSettings();
|
||||||
|
|
||||||
void executeSpecialMove(uint16 sm);
|
void executeSpecialMove(uint16 sm);
|
||||||
|
|
||||||
void asmMakeJoeUseDress();
|
void asmMakeJoeUseDress();
|
||||||
@ -350,7 +351,7 @@ public:
|
|||||||
MAX_ZONES_NUMBER = 32,
|
MAX_ZONES_NUMBER = 32,
|
||||||
MAX_AREAS_NUMBER = 11,
|
MAX_AREAS_NUMBER = 11,
|
||||||
JOE_RESPONSE_MAX = 40,
|
JOE_RESPONSE_MAX = 40,
|
||||||
DEFAULT_TALK_SPEED = 7,
|
DEFAULT_TALK_SPEED = 7 * 3,
|
||||||
GAME_STATE_COUNT = 211,
|
GAME_STATE_COUNT = 211,
|
||||||
TALK_SELECTED_COUNT = 86
|
TALK_SELECTED_COUNT = 86
|
||||||
};
|
};
|
||||||
@ -474,14 +475,16 @@ protected:
|
|||||||
//! Describe a string based animation (30 frames maximum, bob number must be < 17)
|
//! Describe a string based animation (30 frames maximum, bob number must be < 17)
|
||||||
AnimFrame _newAnim[17][30];
|
AnimFrame _newAnim[17][30];
|
||||||
|
|
||||||
GameConfig _settings;
|
|
||||||
|
|
||||||
//! Inventory items
|
//! Inventory items
|
||||||
int16 _inventoryItem[4];
|
int16 _inventoryItem[4];
|
||||||
|
|
||||||
//! scene counter
|
//! scene counter
|
||||||
int _scene;
|
int _scene;
|
||||||
|
|
||||||
|
int _talkSpeed;
|
||||||
|
|
||||||
|
bool _subtitles;
|
||||||
|
|
||||||
Resource *_resource;
|
Resource *_resource;
|
||||||
Graphics *_graphics;
|
Graphics *_graphics;
|
||||||
Debug *_dbg;
|
Debug *_dbg;
|
||||||
|
@ -127,6 +127,9 @@ void QueenEngine::go() {
|
|||||||
|
|
||||||
initialise();
|
initialise();
|
||||||
|
|
||||||
|
_logic->registerDefaultSettings();
|
||||||
|
_logic->readOptionSettings();
|
||||||
|
|
||||||
_logic->oldRoom(0);
|
_logic->oldRoom(0);
|
||||||
_logic->newRoom(_logic->currentRoom());
|
_logic->newRoom(_logic->currentRoom());
|
||||||
|
|
||||||
|
@ -677,6 +677,7 @@ exit:
|
|||||||
return personWalking;
|
return personWalking;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// cyx : there is a similar function in Cutaway, what about merging them ?
|
||||||
int Talk::countSpaces(const char *segment) {
|
int Talk::countSpaces(const char *segment) {
|
||||||
int tmp = 0;
|
int tmp = 0;
|
||||||
|
|
||||||
@ -686,7 +687,7 @@ int Talk::countSpaces(const char *segment) {
|
|||||||
if (tmp < 10)
|
if (tmp < 10)
|
||||||
tmp = 10;
|
tmp = 10;
|
||||||
|
|
||||||
return (tmp * 2) / _logic->talkSpeed();
|
return (tmp * 2) / (_logic->talkSpeed() / 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Talk::headStringAnimation(const SpeechParameters *parameters, int bobNum, int bankNum) {
|
void Talk::headStringAnimation(const SpeechParameters *parameters, int bobNum, int bankNum) {
|
||||||
|
@ -107,13 +107,13 @@ game_load() Logic::gameLoad()
|
|||||||
game_save() Logic::gameSave()
|
game_save() Logic::gameSave()
|
||||||
-
|
-
|
||||||
config_request
|
config_request
|
||||||
MUSICTOGGLE Sound::musicToggle
|
MUSICTOGGLE Sound::_musicToggle / ConfMan.("music_mute")
|
||||||
SFXTOGGLE Sound::sfxToggle
|
SFXTOGGLE Sound::_sfxToggle / ConfMan.("sfx_mute")
|
||||||
TALKSPD GameConfig::talkSpeed
|
TALKSPD Logic::_talkSpeed / ConfMan.("talkspeed")
|
||||||
TEXTTOGGLE GameConfig::textToggle
|
TEXTTOGGLE Logic::_subtitles / ConfMan.("subtitles")
|
||||||
VersionStr Logic::language (add more functions if needed)
|
VersionStr GameVersion::versionString
|
||||||
VOICETOGGLE Sound::speechToggle
|
VOICETOGGLE Sound::_speechToggle / ConfMan.("speech_mute")
|
||||||
VOLUME GameConfig::musicVolume
|
VOLUME ? / ConfMan.("master_volume")
|
||||||
|
|
||||||
|
|
||||||
GRAPHICS
|
GRAPHICS
|
||||||
|
Loading…
x
Reference in New Issue
Block a user