aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/engine
diff options
context:
space:
mode:
authorathrxx2019-11-15 22:01:53 +0100
committerathrxx2019-12-18 20:50:41 +0100
commitf74f4929a043e278ea5bd989eeac17c18c756e22 (patch)
treea3253cead7396551cf206dce7848361f0e7822ec /engines/kyra/engine
parent5cea16658594355c35a0f83a65d4341be95e8da3 (diff)
downloadscummvm-rg350-f74f4929a043e278ea5bd989eeac17c18c756e22.tar.gz
scummvm-rg350-f74f4929a043e278ea5bd989eeac17c18c756e22.tar.bz2
scummvm-rg350-f74f4929a043e278ea5bd989eeac17c18c756e22.zip
KYRA: (EOB/PC98) - add static resources
Diffstat (limited to 'engines/kyra/engine')
-rw-r--r--engines/kyra/engine/eob.cpp2
-rw-r--r--engines/kyra/engine/eobcommon.cpp3
-rw-r--r--engines/kyra/engine/eobcommon.h5
-rw-r--r--engines/kyra/engine/items_eob.cpp14
4 files changed, 20 insertions, 4 deletions
diff --git a/engines/kyra/engine/eob.cpp b/engines/kyra/engine/eob.cpp
index dc653fa38e..f9c872dee3 100644
--- a/engines/kyra/engine/eob.cpp
+++ b/engines/kyra/engine/eob.cpp
@@ -34,6 +34,8 @@ EoBEngine::EoBEngine(OSystem *system, const GameFlags &flags)
_menuChoiceInit = 4;
_turnUndeadString = 0;
+ _itemNamesPC98 = 0;
+ _numItemNamesPC98 = 0;
_finBonusStrings = _npcStrings[1] = _npcStrings[2] = 0;
_npcStrings[3] = _npcStrings[4] = _npcStrings[5] = _npcStrings[6] = 0;
_npcStrings[7] = _npcStrings[8] = _npcStrings[9] = _npcStrings[10] = 0;
diff --git a/engines/kyra/engine/eobcommon.cpp b/engines/kyra/engine/eobcommon.cpp
index 4b6e88437f..3389d4fed0 100644
--- a/engines/kyra/engine/eobcommon.cpp
+++ b/engines/kyra/engine/eobcommon.cpp
@@ -82,8 +82,9 @@ EoBCoreEngine::EoBCoreEngine(OSystem *system, const GameFlags &flags) : KyraRpgE
_items = 0;
_itemTypes = 0;
_itemNames = 0;
+ _itemNamesPC98 = 0;
_itemInHand = -1;
- _numItems = _numItemNames = 0;
+ _numItems = _numItemNames = _numItemNamesPC98 = 0;
_castScrollSlot = 0;
_currentSub = 0;
diff --git a/engines/kyra/engine/eobcommon.h b/engines/kyra/engine/eobcommon.h
index e476f8a852..91d0a6e089 100644
--- a/engines/kyra/engine/eobcommon.h
+++ b/engines/kyra/engine/eobcommon.h
@@ -459,6 +459,8 @@ protected:
EoBItemType *_itemTypes;
char **_itemNames;
uint16 _numItemNames;
+ int _numItemNamesPC98;
+ const char * const *_itemNamesPC98;
uint32 _partyEffectFlags;
Item _lastUsedItem;
@@ -865,6 +867,9 @@ protected:
const uint8 *_cgaMappingLevel[5];
const uint8 *_cgaLevelMappingIndex;
+ // hard coded 16 color palettes for PC98 version of EOB1
+ const uint8 *_palette16c[10];
+
bool _enableHiResDithering;
// Default parameters will import all present original save files and push them to the top of the save dialog.
diff --git a/engines/kyra/engine/items_eob.cpp b/engines/kyra/engine/items_eob.cpp
index 3121f567f8..e784e2d3f9 100644
--- a/engines/kyra/engine/items_eob.cpp
+++ b/engines/kyra/engine/items_eob.cpp
@@ -50,9 +50,17 @@ void EoBCoreEngine::loadItemDefs() {
_items[i].value = s->readSByte();
}
- _numItemNames = s->readUint16();
- for (int i = 0; i < _numItemNames; i++)
- s->read(_itemNames[i], 35);
+ if (_itemNamesPC98) {
+ _numItemNames = _numItemNamesPC98;
+ for (int i = 0; i < _numItemNames; i++) {
+ assert(strlen(_itemNamesPC98[i]) < 35);
+ Common::strlcpy(_itemNames[i], _itemNamesPC98[i], 34);
+ }
+ } else {
+ _numItemNames = s->readUint16();
+ for (int i = 0; i < _numItemNames; i++)
+ s->read(_itemNames[i], 35);
+ }
delete s;