mirror of
https://github.com/libretro/scummvm.git
synced 2025-01-06 18:00:44 +00:00
98545ad4e5
- some minor changes to detection code - added missing spanish strings to IGOR.TBL - fixed '@' charset index svn-id: r29672
179 lines
5.1 KiB
C++
179 lines
5.1 KiB
C++
/* ScummVM - Graphic Adventure Engine
|
|
*
|
|
* ScummVM is the legal property of its developers, whose names
|
|
* are too numerous to list here. Please refer to the COPYRIGHT
|
|
* file distributed with this source distribution.
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version 2
|
|
* of the License, or (at your option) any later version.
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
*
|
|
* $URL$
|
|
* $Id$
|
|
*
|
|
*/
|
|
|
|
#include "igor/igor.h"
|
|
|
|
namespace Igor {
|
|
|
|
struct SharewareScreenString {
|
|
uint8 color;
|
|
int y;
|
|
int strId;
|
|
};
|
|
|
|
static const SharewareScreenString STR_SHAREWARE[] = {
|
|
// 950
|
|
{ 255, 30, STR_IgorObjectiveUikokahonia },
|
|
{ 228, 70, STR_SharewareText1 },
|
|
{ 228, 81, STR_SharewareText2 },
|
|
{ 228, 96, STR_SharewareText3 },
|
|
{ 228, 107, STR_SharewareText4 },
|
|
{ 228, 122, STR_SharewareText5 },
|
|
{ 228, 161, STR_SharewarePlaceOrder },
|
|
// 951
|
|
{ 255, 30, STR_IgorObjectiveUikokahonia },
|
|
{ 228, 42, STR_SharewareVersion },
|
|
{ 228, 85, STR_SharewareOrder1 },
|
|
{ 228, 96, STR_SharewareOrder2 },
|
|
{ 228, 107, STR_SharewareOrder3 },
|
|
{ 228, 161, STR_SharewareOrder4 },
|
|
// 952
|
|
{ 255, 30, STR_IgorObjectiveUikokahonia },
|
|
{ 228, 42, STR_SharewareVersion },
|
|
{ 228, 70, STR_SharewareShipping1 },
|
|
{ 228, 85, STR_SharewareShipping2 },
|
|
{ 228, 96, STR_SharewareShipping3 },
|
|
{ 228, 111, STR_SharewareShipping4 },
|
|
{ 228, 122, STR_SharewareShipping5 },
|
|
{ 228, 161, STR_SharewarePlaceOrder },
|
|
// 953
|
|
{ 255, 30, STR_IgorObjectiveUikokahonia },
|
|
{ 228, 42, STR_SharewareVersion },
|
|
{ 228, 70, STR_SharewareShipping6 },
|
|
{ 228, 85, STR_SharewareShipping7 },
|
|
{ 228, 96, STR_SharewareShipping8 },
|
|
{ 228, 110, STR_SharewareShipping9 },
|
|
{ 228, 121, STR_SharewareShipping10 },
|
|
{ 228, 161, STR_SharewarePlaceOrder },
|
|
// 954
|
|
{ 255, 30, STR_IgorObjectiveUikokahonia },
|
|
{ 228, 42, STR_SharewareVersion },
|
|
{ 228, 74, STR_SharewareOptikAddress1 },
|
|
{ 228, 85, STR_SharewareOptikAddress2 },
|
|
{ 228, 96, STR_SharewareOptikAddress3 },
|
|
{ 228, 107, STR_SharewareOptikAddress4 },
|
|
{ 228, 118, STR_SharewareOptikAddress5 },
|
|
{ 228, 161, STR_SharewarePlaceOrder },
|
|
// 955
|
|
{ 255, 30, STR_IgorObjectiveUikokahonia },
|
|
{ 240, 42, STR_SharewareVersion },
|
|
{ 240, 79, STR_SharewareOptikAddress6 },
|
|
{ 240, 90, STR_SharewareOptikAddress7 },
|
|
{ 240, 101, STR_SharewareOptikAddress8 },
|
|
{ 240, 112, STR_SharewareOptikAddress9 },
|
|
{ 240, 161, STR_SharewarePlaceOrder },
|
|
// 956
|
|
{ 255, 30, STR_IgorObjectiveUikokahonia },
|
|
{ 228, 42, STR_SharewareVersion },
|
|
{ 228, 64, STR_SharewarePenduloAddress1 },
|
|
{ 228, 80, STR_SharewarePenduloAddress2 },
|
|
{ 228, 91, STR_SharewarePenduloAddress3 },
|
|
{ 228, 102, STR_SharewarePenduloAddress4 },
|
|
{ 228, 113, STR_SharewarePenduloAddress5 },
|
|
{ 228, 128, STR_SharewarePenduloAddress6 },
|
|
{ 228, 161, STR_SharewarePlaceOrder },
|
|
};
|
|
|
|
void IgorEngine::PART_95() {
|
|
hideCursor();
|
|
memset(_currentPalette, 0, 768);
|
|
setPaletteRange(0, 255);
|
|
memset(_screenVGA, 0, 64000);
|
|
int startStr = -1, endStr = -1;
|
|
switch (_currentPart) {
|
|
case 950:
|
|
loadData(PAL_Shareware1, _paletteBuffer);
|
|
loadData(IMG_Shareware1, _screenVGA);
|
|
if (_game.version == kIdEngDemo110) {
|
|
startStr = 0;
|
|
endStr = 6;
|
|
}
|
|
break;
|
|
case 951:
|
|
loadData(PAL_Shareware2, _paletteBuffer);
|
|
loadData(IMG_Shareware2, _screenVGA);
|
|
if (_game.version == kIdEngDemo110) {
|
|
startStr = 7;
|
|
endStr = 12;
|
|
}
|
|
break;
|
|
case 952:
|
|
loadData(PAL_Shareware3, _paletteBuffer);
|
|
loadData(IMG_Shareware3, _screenVGA);
|
|
if (_game.version == kIdEngDemo110) {
|
|
startStr = 13;
|
|
endStr = 19;
|
|
}
|
|
break;
|
|
case 953:
|
|
loadData(PAL_Shareware4, _paletteBuffer);
|
|
loadData(IMG_Shareware4, _screenVGA);
|
|
if (_game.version == kIdEngDemo110) {
|
|
startStr = 20;
|
|
endStr = 27;
|
|
}
|
|
break;
|
|
case 954:
|
|
loadData(PAL_Shareware5, _paletteBuffer);
|
|
loadData(IMG_Shareware5, _screenVGA);
|
|
if (_game.version == kIdEngDemo110) {
|
|
startStr = 28;
|
|
endStr = 35;
|
|
}
|
|
break;
|
|
case 955:
|
|
loadData(PAL_Shareware6, _paletteBuffer);
|
|
loadData(IMG_Shareware6, _screenVGA);
|
|
if (_game.version == kIdEngDemo110) {
|
|
startStr = 36;
|
|
endStr = 42;
|
|
}
|
|
break;
|
|
case 956:
|
|
loadData(PAL_Shareware7, _paletteBuffer);
|
|
loadData(IMG_Shareware7, _screenVGA);
|
|
if (_game.version == kIdEngDemo110) {
|
|
startStr = 43;
|
|
endStr = 51;
|
|
}
|
|
break;
|
|
}
|
|
if (startStr != -1) {
|
|
for (int i = startStr; i <= endStr; ++i) {
|
|
const SharewareScreenString *s = &STR_SHAREWARE[i];
|
|
const char *str = getString(s->strId);
|
|
drawString(_screenVGA, str, (320 - getStringWidth(str)) / 2, s->y, s->color, 0, 0);
|
|
}
|
|
}
|
|
fadeInPalette(768);
|
|
for (int i = 0; !_inputVars[kInputEscape] && i < 3000; ++i) {
|
|
waitForTimer();
|
|
}
|
|
_inputVars[kInputEscape] = 0;
|
|
fadeOutPalette(768);
|
|
}
|
|
|
|
} // namespace Igor
|