LOL: - fix speech/text settings

- start fixing floppy version

svn-id: r43914
This commit is contained in:
Florian Kagerer 2009-09-02 23:42:07 +00:00
parent 9829378a98
commit 3dca56bdd5

View File

@ -587,8 +587,16 @@ void LoLEngine::gui_drawCompass() {
int LoLEngine::gui_enableControls() {
_floatingCursorControl = 0;
int start = 74;
int end = 83;
if (_flags.isTalkie) {
start = 76;
end = 85;
}
if (!_currentControlMode) {
for (int i = 76; i < 85; i++)
for (int i = start; i < end; i++)
gui_toggleButtonDisplayMode(i, 2);
}
@ -604,8 +612,18 @@ int LoLEngine::gui_disableControls(int controlMode) {
gui_toggleFightButtons(true);
for (int i = 76; i < 85; i++)
gui_toggleButtonDisplayMode(i, ((controlMode & 2) && (i > 78)) ? 2 : 3);
int start = 74;
int end = 83;
int swtch = 76;
if (_flags.isTalkie) {
start = 76;
end = 85;
swtch = 78;
}
for (int i = start; i < end; i++)
gui_toggleButtonDisplayMode(i, ((controlMode & 2) && (i > swtch)) ? 2 : 3);
return 1;
}
@ -614,7 +632,15 @@ void LoLEngine::gui_toggleButtonDisplayMode(int shapeIndex, int mode) {
static const int16 buttonX[] = { 0x0056, 0x0128, 0x000C, 0x0021, 0x0122, 0x000C, 0x0021, 0x0036, 0x000C, 0x0021, 0x0036 };
static const int16 buttonY[] = { 0x00B4, 0x00B4, 0x00B4, 0x00B4, 0x0020, 0x0084, 0x0084, 0x0084, 0x0096, 0x0096, 0x0096 };
if (shapeIndex == 78 && !(_flagsTable[31] & 0x10))
int swtch = 76;
int subst = 72;
if (_flags.isTalkie) {
swtch = 78;
subst = 74;
}
if (shapeIndex == swtch && !(_flagsTable[31] & 0x10))
return;
if (_currentControlMode && _needSceneRestore)
@ -625,8 +651,8 @@ void LoLEngine::gui_toggleButtonDisplayMode(int shapeIndex, int mode) {
int pageNum = 0;
int16 x1 = buttonX[shapeIndex - 74];
int16 y1 = buttonY[shapeIndex - 74];
int16 x1 = buttonX[shapeIndex - subst];
int16 y1 = buttonY[shapeIndex - subst];
int16 x2 = 0;
int16 y2 = 0;
uint32 t = 0;
@ -1565,6 +1591,9 @@ int LoLEngine::clickedOptions(Button *button) {
gui_toggleButtonDisplayMode(76, 0);
bool speechWasEnabled = speechEnabled();
if (_flags.isTalkie && getVolume(kVolumeSpeech) == 2)
_configVoice |= (textEnabled() ? 2 : 1);
_gui->runMenu(_gui->_mainMenu);
_updateFlags &= 0xfffb;
@ -1576,7 +1605,10 @@ int LoLEngine::clickedOptions(Button *button) {
gui_drawPlayField();
if (speechWasEnabled && !textEnabled() && (!speechEnabled() || getVolume(kVolumeSpeech) == 2))
if (getVolume(kVolumeSpeech) == 2)
_configVoice &= (textEnabled() ? ~2 : ~1);
if (speechWasEnabled && !textEnabled() && !speechEnabled())
_configVoice = 0;
writeSettings();
@ -2642,7 +2674,7 @@ int GUI_LoL::clickedOptionsMenu(Button *button) {
_vm->_lang = ++_vm->_lang % 3;
break;
case 0xfff3:
_vm->_configVoice ^= 1;
_vm->_configVoice ^= 3;
break;
case 0x4072:
char filename[13];