[Scummvm-cvs-logs] SF.net SVN: scummvm:[43904] scummvm/trunk
athrxx at users.sourceforge.net
athrxx at users.sourceforge.net
Wed Sep 2 08:24:01 CEST 2009
Revision: 43904
http://scummvm.svn.sourceforge.net/scummvm/?rev=43904&view=rev
Author: athrxx
Date: 2009-09-02 06:24:01 +0000 (Wed, 02 Sep 2009)
Log Message:
-----------
LOL: update kyra.dat with floppy version data (floppy version still doesn't work, though)
Modified Paths:
--------------
scummvm/trunk/dists/engine-data/kyra.dat
scummvm/trunk/engines/kyra/lol.cpp
scummvm/trunk/engines/kyra/lol.h
scummvm/trunk/engines/kyra/resource.h
scummvm/trunk/engines/kyra/scene_lol.cpp
scummvm/trunk/engines/kyra/script_lol.cpp
scummvm/trunk/engines/kyra/sprites_lol.cpp
scummvm/trunk/engines/kyra/staticres.cpp
scummvm/trunk/engines/kyra/text_lol.cpp
scummvm/trunk/tools/create_kyradat/create_kyradat.cpp
scummvm/trunk/tools/create_kyradat/create_kyradat.h
scummvm/trunk/tools/create_kyradat/lol_cd.h
scummvm/trunk/tools/create_kyradat/misc.h
Added Paths:
-----------
scummvm/trunk/tools/create_kyradat/lol_floppy.h
Modified: scummvm/trunk/dists/engine-data/kyra.dat
===================================================================
(Binary files differ)
Modified: scummvm/trunk/engines/kyra/lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/lol.cpp 2009-09-01 23:07:51 UTC (rev 43903)
+++ scummvm/trunk/engines/kyra/lol.cpp 2009-09-02 06:24:01 UTC (rev 43904)
@@ -550,8 +550,12 @@
return Common::kNoError;
}
- if (!_flags.isDemo && !_res->loadFileList("FILEDATA.FDT"))
- error("Couldn't load file list: 'FILEDATA.FDT'");
+ if (_flags.isTalkie && !_flags.isDemo) {
+ if (!_res->loadFileList("FILEDATA.FDT"))
+ error("Couldn't load file list: 'FILEDATA.FDT'");
+ } else if (_pakFileList) {
+ _res->loadFileList(_pakFileList, _pakFileListSize);
+ }
// Usually fonts etc. would be setup by the prologue code, if we skip
// the prologue code we need to setup them manually here.
Modified: scummvm/trunk/engines/kyra/lol.h
===================================================================
--- scummvm/trunk/engines/kyra/lol.h 2009-09-01 23:07:51 UTC (rev 43903)
+++ scummvm/trunk/engines/kyra/lol.h 2009-09-02 06:24:01 UTC (rev 43904)
@@ -332,6 +332,9 @@
void writeSettings();
void readSettings();
+ const char *const *_pakFileList;
+ int _pakFileListSize;
+
// options
int _monsterDifficulty;
bool _smoothScrollingEnabled;
Modified: scummvm/trunk/engines/kyra/resource.h
===================================================================
--- scummvm/trunk/engines/kyra/resource.h 2009-09-01 23:07:51 UTC (rev 43903)
+++ scummvm/trunk/engines/kyra/resource.h 2009-09-02 06:24:01 UTC (rev 43904)
@@ -216,6 +216,7 @@
k3ItemStringMap,
#ifdef ENABLE_LOL
+ kLolIngamePakFiles,
kLolCharacterDefs,
kLolIngameSfxFiles,
kLolIngameSfxIndex,
Modified: scummvm/trunk/engines/kyra/scene_lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/scene_lol.cpp 2009-09-01 23:07:51 UTC (rev 43903)
+++ scummvm/trunk/engines/kyra/scene_lol.cpp 2009-09-02 06:24:01 UTC (rev 43904)
@@ -443,9 +443,14 @@
char tname[13];
snprintf(tname, sizeof(tname), "LEVEL%.02d.TLC", _currentLevel);
Common::SeekableReadStream *s = _res->createReadStream(tname);
- s->read(_trueLightTable1, 256);
- s->read(_trueLightTable2, 5120);
- delete s;
+ if (s) {
+ s->read(_trueLightTable1, 256);
+ s->read(_trueLightTable2, 5120);
+ delete s;
+ } else {
+ memset(_trueLightTable1, 0, 256);
+ memset(_trueLightTable2, 0, 5120);
+ }
_loadSuppFilesFlag = 1;
}
Modified: scummvm/trunk/engines/kyra/script_lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_lol.cpp 2009-09-01 23:07:51 UTC (rev 43903)
+++ scummvm/trunk/engines/kyra/script_lol.cpp 2009-09-02 06:24:01 UTC (rev 43904)
@@ -2257,6 +2257,10 @@
int LoLEngine::olol_characterSays(EMCState *script) {
debugC(3, kDebugLevelScriptFuncs, "LoLEngine::olol_characterSays(%p) (%d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2));
+
+ if (!_flags.isTalkie)
+ return 0;
+
if (stackPos(0) == -1) {
snd_stopSpeech(true);
return 1;
@@ -2305,7 +2309,7 @@
#pragma mark -
int LoLEngine::tlol_setupPaletteFade(const TIM *tim, const uint16 *param) {
- debugC(3, kDebugLevelScriptFuncs, "LoLEngine::t2_playSoundEffect(%p, %p) (%d)", (const void *)tim, (const void *)param, param[0]);
+ debugC(3, kDebugLevelScriptFuncs, "LoLEngine::tlol_setupPaletteFade(%p, %p) (%d)", (const void *)tim, (const void *)param, param[0]);
_screen->getFadeParams(_screen->getPalette(0), param[0], _tim->_palDelayInc, _tim->_palDiff);
_tim->_palDelayAcc = 0;
return 1;
Modified: scummvm/trunk/engines/kyra/sprites_lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/sprites_lol.cpp 2009-09-01 23:07:51 UTC (rev 43903)
+++ scummvm/trunk/engines/kyra/sprites_lol.cpp 2009-09-02 06:24:01 UTC (rev 43904)
@@ -908,7 +908,7 @@
_shpDmY = _dscDoorMonsterY[t] + 120;
if (flags & 1) {
- //TODO
+ // TODO / UNUSED
flags |=1;
}
Modified: scummvm/trunk/engines/kyra/staticres.cpp
===================================================================
--- scummvm/trunk/engines/kyra/staticres.cpp 2009-09-01 23:07:51 UTC (rev 43903)
+++ scummvm/trunk/engines/kyra/staticres.cpp 2009-09-02 06:24:01 UTC (rev 43904)
@@ -45,7 +45,7 @@
namespace Kyra {
-#define RESFILE_VERSION 52
+#define RESFILE_VERSION 53
namespace {
bool checkKyraDat(Common::SeekableReadStream *file) {
@@ -387,6 +387,8 @@
{ k2SeqplayIntroTracks, kStringList, "S_INTRO.TRA" },
// Ingame
+ { kLolIngamePakFiles, kStringList, "PAKFILES.TXT" },
+
{ kLolCharacterDefs, kLolCharData, "CHARACTER.DEF" },
{ kLolIngameSfxFiles, kStringList, "SFXFILES.TRA" },
{ kLolIngameSfxIndex, kRawData, "SFXINDEX.MAP" },
@@ -484,8 +486,6 @@
_filenameTable = kyra3StaticRes;
#ifdef ENABLE_LOL
} else if (_vm->game() == GI_LOL) {
- if (!_vm->gameFlags().isDemo && !_vm->gameFlags().isTalkie)
- return true;
_builtIn = 0;
_filenameTable = kLolStaticRes;
#endif // ENABLE_LOL
@@ -1852,6 +1852,7 @@
if (_flags.isDemo)
return;
+ _pakFileList = _staticres->loadStrings(kLolIngamePakFiles, _pakFileListSize);
_charDefaults = _staticres->loadCharData(kLolCharacterDefs, _charDefaultsSize);
_ingameSoundIndex = (const uint16 *)_staticres->loadRawData(kLolIngameSfxIndex, _ingameSoundIndexSize);
_musicTrackMap = _staticres->loadRawData(kLolMusicTrackMap, _musicTrackMapSize);
Modified: scummvm/trunk/engines/kyra/text_lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/text_lol.cpp 2009-09-01 23:07:51 UTC (rev 43903)
+++ scummvm/trunk/engines/kyra/text_lol.cpp 2009-09-02 06:24:01 UTC (rev 43904)
@@ -138,22 +138,6 @@
_textDimData[dim].line = 0;
}
-/*void TextDisplayer_LoL::setAnimParameters(const char *str, int x, uint8 col1, uint8 col2) {
- static const char defaultStr[] = "<MORE>";
-
- if (str) {
- _animString = str;
- _animWidth = x;
- _animColor1 = col1;
- _animColor2 = col2;
- } else {
- _animString = defaultStr;
- _animWidth = 7;
- _animColor1 = 0;
- _animColor2 = 0;
- }
-}*/
-
void TextDisplayer_LoL::printDialogueText(int dim, char *str, EMCState *script, const uint16 *paramList, int16 paramIndex) {
int oldDim = 0;
@@ -403,7 +387,7 @@
break;
case 11:
- //TODO
+ // TODO (UNUSED)
break;
case 12:
@@ -414,23 +398,23 @@
break;
case 18:
- //TODO
+ // TODO (UNUSED)
break;
case 23:
- //TODO
+ // TODO (UNUSED)
break;
case 24:
- //TODO
+ // TODO (UNUSED)
break;
case 26:
- //TODO
+ // TODO (UNUSED)
break;
case 28:
- //TODO
+ // TODO (UNUSED)
break;
default:
Modified: scummvm/trunk/tools/create_kyradat/create_kyradat.cpp
===================================================================
--- scummvm/trunk/tools/create_kyradat/create_kyradat.cpp 2009-09-01 23:07:51 UTC (rev 43903)
+++ scummvm/trunk/tools/create_kyradat/create_kyradat.cpp 2009-09-02 06:24:01 UTC (rev 43904)
@@ -31,7 +31,7 @@
#include "md5.h"
enum {
- kKyraDatVersion = 52,
+ kKyraDatVersion = 53,
kIndexSize = 12
};
@@ -54,6 +54,8 @@
#include "malcolm.h"
#include "lol_cd.h"
+#include "lol_floppy.h"
+//#include "lol_pc98.h"
#include "lol_demo.h"
const Game kyra1FanTranslations[] = {
@@ -272,6 +274,8 @@
{ kLolSeqplayIntroTracks, k2TypeSoundList, "S_INTRO.TRA" },
// Ingame
+ { kLolIngamePakFiles, kTypeStringList, "PAKFILES.TXT" },
+
{ kLolCharacterDefs, kTypeRawData, "CHARACTER.DEF" },
{ kLolIngameSfxFiles, k2TypeSfxList, "SFXFILES.TRA" },
{ kLolIngameSfxIndex, kTypeRawData, "SFXINDEX.MAP" },
@@ -1538,7 +1542,9 @@
kyra3Games,
lolDemos,
- lolGames,
+ lolDosTalkieGames,
+ lolDosFloppyGames,
+ //lolPC98Games,
0
};
Modified: scummvm/trunk/tools/create_kyradat/create_kyradat.h
===================================================================
--- scummvm/trunk/tools/create_kyradat/create_kyradat.h 2009-09-01 23:07:51 UTC (rev 43903)
+++ scummvm/trunk/tools/create_kyradat/create_kyradat.h 2009-09-02 06:24:01 UTC (rev 43904)
@@ -179,6 +179,8 @@
kLolSeqplayIntroTracks,
+ kLolIngamePakFiles,
+
kLolCharacterDefs,
kLolIngameSfxFiles,
kLolIngameSfxIndex,
Modified: scummvm/trunk/tools/create_kyradat/lol_cd.h
===================================================================
--- scummvm/trunk/tools/create_kyradat/lol_cd.h 2009-09-01 23:07:51 UTC (rev 43903)
+++ scummvm/trunk/tools/create_kyradat/lol_cd.h 2009-09-02 06:24:01 UTC (rev 43904)
@@ -88,7 +88,7 @@
{ -1, 0, 0 }
};
-const Game lolGames[] = {
+const Game lolDosTalkieGames[] = {
{ kLol, EN_ANY, kLolCD, "9d1778314de80598c0b0d032e2a1a1cf", lolCDFile1E },
{ kLol, EN_ANY, kLolCD, "263998ec600afca1cc7b935c473df670", lolCDFile2 },
GAME_DUMMY_ENTRY
Added: scummvm/trunk/tools/create_kyradat/lol_floppy.h
===================================================================
--- scummvm/trunk/tools/create_kyradat/lol_floppy.h (rev 0)
+++ scummvm/trunk/tools/create_kyradat/lol_floppy.h 2009-09-02 06:24:01 UTC (rev 43904)
@@ -0,0 +1,87 @@
+const ExtractEntry lolFloppyFile2G[] = {
+ { kLolIngamePakFiles, 0x0038C38, 0x0038CC0 },
+
+ { kLolCharacterDefs, 0x0002A6D0, 0x0002AB62 },
+ { kLolIngameSfxFiles, 0x0002ACA0, 0x0002B592 },
+ { kLolIngameSfxIndex, 0x0002B592, 0x0002B97A },
+ { kLolMusicTrackMap, 0x0002ABB0, 0x0002ACA0 },
+ { kLolGMSfxIndex, 0x0002B980, 0x0002BA7A },
+ { kLolMT32SfxIndex, 0x0002BA80, 0x0002BB7A },
+ { kLolSpellProperties, 0x0002C0E0, 0x0002C1F8 },
+ { kLolGameShapeMap, 0x0002BE5C, 0x0002BF70 },
+ { kLolSceneItemOffs, 0x0003730F, 0x00037317 },
+ { kLolCharInvIndex, 0x0002BF70, 0x0002BF7A },
+ { kLolCharInvDefs, 0x0002BF7A, 0x0002BFD2 },
+ { kLolCharDefsMan, 0x0002BFD2, 0x0002BFE4 },
+ { kLolCharDefsWoman, 0x0002BFE4, 0x0002BFF6 },
+ { kLolCharDefsKieran, 0x0002BFF6, 0x0002C008 },
+ { kLolCharDefsAkshel, 0x0002C01A, 0x0002C02C },
+ { kLolExpRequirements, 0x00031750, 0x0003177C },
+ { kLolMonsterModifiers, 0x0003177C, 0x00031794 },
+ { kLolMonsterLevelOffsets, 0x000372DF, 0x000372FF },
+ { kLolMonsterDirFlags, 0x000372FF, 0x0003730F },
+ { kLolMonsterScaleY, 0x00036EC0, 0x00036EDE },
+ { kLolMonsterScaleX, 0x00036EDE, 0x00036EFE },
+ { kLolMonsterScaleWH, 0x00028F30, 0x00028FB2 },
+ { kLolFlyingItemShp, 0x00028FB2, 0x00029034 },
+ { kLolInventoryDesc, 0x00037ACE, 0x00037AE4 },
+
+ { kLolLevelShpList, 0x00037C02, 0x00037C81 },
+ { kLolLevelDatList, 0x00037C81, 0x00037D00 },
+ { kLolCompassDefs, 0x00029034, 0x00029134 },
+ { kLolStashSetup, 0x0003781D, 0x00037829 },
+
+ { kLolDscUnk1, 0x00037317, 0x0003733B },
+ { kLolDscShapeIndex1, 0x0003733B, 0x0003735F },
+ { kLolDscShapeIndex2, 0x0003735F, 0x00037369 },
+ { kLolDscScaleWidthData, 0x00037369, 0x000373B1 },
+ { kLolDscScaleHeightData, 0x000373B1, 0x000373F9 },
+ { kLolDscX, 0x000373F9, 0x00037441 },
+ { kLolDscY, 0x00037441, 0x00037465 },
+ { kLolDscTileIndex, 0x00037465, 0x00037477 },
+ { kLolDscUnk2, 0x00037477, 0x0003748E },
+ { kLolDscDoorShapeIndex, 0x0003748E, 0x000374A5 },
+ { kLolDscDimData1, 0x00036F03, 0x00037047 },
+ { kLolDscDimData2, 0x00037047, 0x000370D0 },
+ { kLolDscBlockMap, 0x00036E64, 0x00036E70 },
+ { kLolDscDimMap, 0x00036E70, 0x00036E82 },
+ { kLolDscDoorScale, 0x00036E82, 0x00036E92 },
+ { kLolDscShapeOvlIndex, 0x00036E92, 0x00036EBA },
+ { kLolDscDoor4, 0x00036EBA, 0x00036EC2 },
+ { kLolDscBlockIndex, 0x00038B87, 0x00038BCF },
+ { kLolDscDoor1, 0x0002C050, 0x0002C0D0 },
+ { kLolDscDoorX, 0x00028630, 0x00028AB0 },
+ { kLolDscDoorY, 0x00028AB0, 0x00028F30 },
+
+ { kLolScrollXTop, 0x0003C216, 0x0003C220 },
+ { kLolScrollYTop, 0x0003C220, 0x0003C22A },
+ { kLolScrollXBottom, 0x0003C22A, 0x0003C234 },
+ { kLolScrollYBottom, 0x0003C234, 0x0003C23E },
+
+ { kLolButtonDefs, 0x000297F0, 0x0002A01A },
+ { kLolButtonList1, 0x0002A020, 0x0002A070 },
+ { kLolButtonList2, 0x0002A070, 0x0002A08E },
+ { kLolButtonList3, 0x0002A090, 0x0002A094 },
+ { kLolButtonList4, 0x0002A0A0, 0x0002A0BE },
+ { kLolButtonList5, 0x0002A0C0, 0x0002A0E0 },
+ { kLolButtonList6, 0x0002A0E0, 0x0002A0FC },
+ { kLolButtonList7, 0x0002A100, 0x0002A106 },
+ { kLolButtonList8, 0x0002A110, 0x0002A114 },
+
+ { kLolLegendData, 0x000374F0, 0x0003752C },
+ { kLolMapCursorOvl, 0x0003752C, 0x00037545 },
+ { kLolMapStringId, 0x00029140, 0x0002917C },
+
+ { kLolSpellbookAnim, 0x00038668, 0x000386A0 },
+ { kLolSpellbookCoords, 0x000386A0, 0x000386B8 },
+ { kLolHealShapeFrames, 0x0002A140, 0x0002A190 },
+ { kLolLightningDefs, 0x00037B08, 0x00037B1C },
+ { kLolFireballCoords, 0x0001E6E2, 0x0001E8E2 },
+
+ { -1, 0, 0 }
+};
+
+const Game lolDosFloppyGames[] = {
+ { kLol, EN_ANY, -1, "6b843869772c1b779e1386be868c15dd", lolFloppyFile2G },
+ GAME_DUMMY_ENTRY
+};
Property changes on: scummvm/trunk/tools/create_kyradat/lol_floppy.h
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Date Rev Author URL Id
Added: svn:eol-style
+ native
Modified: scummvm/trunk/tools/create_kyradat/misc.h
===================================================================
--- scummvm/trunk/tools/create_kyradat/misc.h 2009-09-01 23:07:51 UTC (rev 43903)
+++ scummvm/trunk/tools/create_kyradat/misc.h 2009-09-02 06:24:01 UTC (rev 43904)
@@ -498,6 +498,89 @@
-1
};
+const int lolFloppyNeed[] = {
+ kLolIngamePakFiles,
+
+ kLolCharacterDefs,
+ kLolIngameSfxFiles,
+ kLolIngameSfxIndex,
+ kLolMusicTrackMap,
+ kLolGMSfxIndex,
+ kLolMT32SfxIndex,
+ kLolSpellProperties,
+ kLolGameShapeMap,
+ kLolSceneItemOffs,
+ kLolCharInvIndex,
+ kLolCharInvDefs,
+ kLolCharDefsMan,
+ kLolCharDefsWoman,
+ kLolCharDefsKieran,
+ kLolCharDefsAkshel,
+ kLolExpRequirements,
+ kLolMonsterModifiers,
+ kLolMonsterLevelOffsets,
+ kLolMonsterDirFlags,
+ kLolMonsterScaleY,
+ kLolMonsterScaleX,
+ kLolMonsterScaleWH,
+ kLolFlyingItemShp,
+ kLolInventoryDesc,
+
+ kLolLevelShpList,
+ kLolLevelDatList,
+ kLolCompassDefs,
+ kLolStashSetup,
+ kLolDscUnk1,
+ kLolDscShapeIndex1,
+ kLolDscShapeIndex2,
+ kLolDscScaleWidthData,
+ kLolDscScaleHeightData,
+ kLolDscX,
+ kLolDscY,
+ kLolDscTileIndex,
+ kLolDscUnk2,
+ kLolDscDoorShapeIndex,
+ kLolDscDimData1,
+ kLolDscDimData2,
+ kLolDscBlockMap,
+ kLolDscDimMap,
+ kLolDscShapeOvlIndex,
+ kLolDscBlockIndex,
+ kLolDscDoor1,
+ kLolDscDoorScale,
+ kLolDscDoor4,
+ kLolDscDoorX,
+ kLolDscDoorY,
+
+ kLolScrollXTop,
+ kLolScrollYTop,
+ kLolScrollXBottom,
+ kLolScrollYBottom,
+
+ kLolButtonDefs,
+ kLolButtonList1,
+ kLolButtonList1,
+ kLolButtonList2,
+ kLolButtonList3,
+ kLolButtonList4,
+ kLolButtonList5,
+ kLolButtonList6,
+ kLolButtonList7,
+ kLolButtonList8,
+
+ kLolLegendData,
+ kLolMapCursorOvl,
+ kLolMapStringId,
+
+ kLolSpellbookAnim,
+ kLolSpellbookCoords,
+ kLolHealShapeFrames,
+ kLolLightningDefs,
+ kLolFireballCoords,
+
+ -1
+};
+
const int lolCDFile1ENeed[] = {
kLolHistory,
-1
@@ -510,7 +593,6 @@
kLolMusicTrackMap,
kLolGMSfxIndex,
kLolMT32SfxIndex,
- //lolADLSfxIndex,
kLolSpellProperties,
kLolGameShapeMap,
kLolSceneItemOffs,
@@ -519,7 +601,6 @@
kLolCharDefsMan,
kLolCharDefsWoman,
kLolCharDefsKieran,
- //lolCharDefsUnk,
kLolCharDefsAkshel,
kLolExpRequirements,
kLolMonsterModifiers,
@@ -577,7 +658,6 @@
kLolLegendData,
kLolMapCursorOvl,
kLolMapStringId,
- //lolMapPal,
kLolSpellbookAnim,
kLolSpellbookCoords,
@@ -627,6 +707,7 @@
{ kKyra3, -1, kyra3Need },
+ { kLol, -1, lolFloppyNeed },
{ kLol, kLolCD, lolCDFile1ENeed },
{ kLol, kLolCD, lolCDFile2Need },
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list