Preliminary support for LoL intro demo.
svn-id: r40705
This commit is contained in:
parent
8576b162dc
commit
273b93f3a7
4 changed files with 20 additions and 8 deletions
|
@ -1036,9 +1036,7 @@ const KYRAGameDescription adGameDescs[] = {
|
||||||
LOL_PC98_SJIS_FLAGS
|
LOL_PC98_SJIS_FLAGS
|
||||||
},
|
},
|
||||||
|
|
||||||
// TODO: It looks like this demo version does use something between
|
{
|
||||||
// WSA v1 and WSA v2 files, that means it is probably being quite old...
|
|
||||||
/*{
|
|
||||||
{
|
{
|
||||||
"lol",
|
"lol",
|
||||||
"Demo",
|
"Demo",
|
||||||
|
@ -1052,7 +1050,7 @@ const KYRAGameDescription adGameDescs[] = {
|
||||||
ADGF_DEMO
|
ADGF_DEMO
|
||||||
},
|
},
|
||||||
LOL_DEMO_FLAGS
|
LOL_DEMO_FLAGS
|
||||||
},*/
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
|
|
|
@ -405,7 +405,18 @@ TIMInterpreter::Animation *TIMInterpreter::initAnimStruct(int index, const char
|
||||||
|
|
||||||
_drawPage2 = isLoLDemo ? 0 : 8;
|
_drawPage2 = isLoLDemo ? 0 : 8;
|
||||||
|
|
||||||
uint16 wsaOpenFlags = ((wsaFlags & 0x10) != 0) ? 2 : 0;
|
uint16 wsaOpenFlags = 0;
|
||||||
|
if (isLoLDemo) {
|
||||||
|
if (!(wsaFlags & 0x10))
|
||||||
|
wsaOpenFlags |= 1;
|
||||||
|
} else {
|
||||||
|
if (wsaFlags & 0x10)
|
||||||
|
wsaOpenFlags |= 2;
|
||||||
|
wsaOpenFlags |= 1;
|
||||||
|
|
||||||
|
if (offscreenBuffer == 2)
|
||||||
|
wsaOpenFlags = 1;
|
||||||
|
}
|
||||||
|
|
||||||
char file[32];
|
char file[32];
|
||||||
snprintf(file, 32, "%s.WSA", filename);
|
snprintf(file, 32, "%s.WSA", filename);
|
||||||
|
@ -461,7 +472,7 @@ TIMInterpreter::Animation *TIMInterpreter::initAnimStruct(int index, const char
|
||||||
screen()->updateScreen();
|
screen()->updateScreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
anim->wsa->displayFrame(0, x, y, 0, 0);
|
anim->wsa->displayFrame(0, 0, x, y, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (wsaFlags & 2)
|
if (wsaFlags & 2)
|
||||||
|
|
|
@ -180,7 +180,10 @@ void LoLEngine::setupPrologueData(bool load) {
|
||||||
// PAK file. Therefore a new call to loadSoundFile() is required
|
// PAK file. Therefore a new call to loadSoundFile() is required
|
||||||
// whenever the PAK file configuration changes.
|
// whenever the PAK file configuration changes.
|
||||||
if (_flags.platform == Common::kPlatformPC98)
|
if (_flags.platform == Common::kPlatformPC98)
|
||||||
_sound->loadSoundFile("sound.dat");
|
_sound->loadSoundFile("SOUND.DAT");
|
||||||
|
|
||||||
|
if (_flags.isDemo)
|
||||||
|
_sound->loadSoundFile("LOREINTR");
|
||||||
} else {
|
} else {
|
||||||
delete _chargenWSA; _chargenWSA = 0;
|
delete _chargenWSA; _chargenWSA = 0;
|
||||||
|
|
||||||
|
|
|
@ -154,7 +154,7 @@ void WSAMovie_v1::displayFrame(int frameNum, int pageNum, int x, int y, ...) {
|
||||||
if (_flags & WF_OFFSCREEN_DECODE)
|
if (_flags & WF_OFFSCREEN_DECODE)
|
||||||
Screen::decodeFrameDelta(dst, _deltaBuffer);
|
Screen::decodeFrameDelta(dst, _deltaBuffer);
|
||||||
else
|
else
|
||||||
Screen::decodeFrameDeltaPage(dst, _deltaBuffer, _width, (_flags & WF_XOR) == 0);
|
Screen::decodeFrameDeltaPage(dst, _deltaBuffer, _width, false);
|
||||||
}
|
}
|
||||||
_currentFrame = 0;
|
_currentFrame = 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue