[Scummvm-git-logs] scummvm master -> 921a318ab719d7207d665a2bd65697720a09b74b

dreammaster paulfgilbert at gmail.com
Sun Nov 22 04:14:58 UTC 2020


This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
557c3cecfc XEEN: Fix signedness compares for TrainingLocation::_maxLevel
2e30aa882c XEEN: Fix build warning by adding SpriteResource copy constructor
921a318ab7 XEEN: Sprinkle 'static' where appropriate


Commit: 557c3cecfc49cf8c7d88ed6132a9911a7cf91a1f
    https://github.com/scummvm/scummvm/commit/557c3cecfc49cf8c7d88ed6132a9911a7cf91a1f
Author: Jonathan Phénix (greaterd at gmail.com)
Date: 2020-11-21T20:14:52-08:00

Commit Message:
XEEN: Fix signedness compares for TrainingLocation::_maxLevel

Changed paths:
    engines/xeen/locations.cpp
    engines/xeen/locations.h


diff --git a/engines/xeen/locations.cpp b/engines/xeen/locations.cpp
index 15cd6a8de4..a06db71f9f 100644
--- a/engines/xeen/locations.cpp
+++ b/engines/xeen/locations.cpp
@@ -1008,7 +1008,6 @@ Character *TempleLocation::doOptions(Character *c) {
 
 TrainingLocation::TrainingLocation() : BaseLocation(TRAINING) {
 	Common::fill(&_charsTrained[0], &_charsTrained[6], 0);
-	_maxLevel = 0;
 	_experienceToNextLevel = 0;
 	_charIndex = 0;
 
@@ -1019,53 +1018,50 @@ TrainingLocation::TrainingLocation() : BaseLocation(TRAINING) {
 	_vocName = _ccNum ? "youtrn1.voc" : "training.voc";
 }
 
-Common::String TrainingLocation::createLocationText(Character &ch) {
+int TrainingLocation::maxLevel() const {
 	Party &party = *g_vm->_party;
 	if (_ccNum) {
 		switch (party._mazeId) {
 		case 29:
 			// Castleview
-			_maxLevel = 30;
-			break;
+			return 30;
 		case 31:
 			// Sandcaster
-			_maxLevel = 50;
-			break;
+			return 50;
 		case 37:
 			// Olympus
-			_maxLevel = 200;
-			break;
+			return 200;
 		default:
 			// Kalindra's Castle
-			_maxLevel = 100;
-			break;
+			return 100;
 		}
 	} else {
 		switch (party._mazeId) {
 		case 28:
 			// Vertigo
-			_maxLevel = 10;
-			break;
+			return 10;
 		case 30:
 			// Rivercity
-			_maxLevel = 15;
-			break;
+			return 15;
 		default:
 			// Newcastle
-			_maxLevel = 20;
-			break;
+			return 20;
 		}
 	}
+}
 
+Common::String TrainingLocation::createLocationText(Character &ch) {
+	Party &party = *g_vm->_party;
+	int maxLevelAtLocation = maxLevel();
 	_experienceToNextLevel = ch.experienceToNextLevel();
 
 	Common::String msg;
-	if (_experienceToNextLevel && ch._level._permanent < _maxLevel) {
+	if (_experienceToNextLevel && ch._level._permanent < maxLevelAtLocation) {
 		// Need more experience
 		int nextLevel = ch._level._permanent + 1;
 		msg = Common::String::format(Res.EXPERIENCE_FOR_LEVEL,
 			ch._name.c_str(), _experienceToNextLevel, nextLevel);
-	} else if (ch._level._permanent >= _maxLevel) {
+	} else if (ch._level._permanent >= maxLevelAtLocation) {
 		// At maximum level
 		_experienceToNextLevel = 1;
 		msg = Common::String::format(Res.TRAINING_LEARNED_ALL, ch._name.c_str());
@@ -1107,7 +1103,7 @@ Character *TrainingLocation::doOptions(Character *c) {
 			_drawFrameIndex = 0;
 
 			Common::String name;
-			if (c->_level._permanent >= _maxLevel) {
+			if (c->_level._permanent >= maxLevel()) {
 				name = _ccNum ? "gtlost.voc" : "trainin1.voc";
 			} else {
 				name = _ccNum ? "gtlost.voc" : "trainin0.voc";
diff --git a/engines/xeen/locations.h b/engines/xeen/locations.h
index 6ef4fff628..d5d593cb72 100644
--- a/engines/xeen/locations.h
+++ b/engines/xeen/locations.h
@@ -220,8 +220,12 @@ private:
 	int _charIndex;
 	bool _charsTrained[MAX_ACTIVE_PARTY];
 	uint _experienceToNextLevel;
-	uint _maxLevel;
 protected:
+	/**
+	 * Computes the maximum training level allowed at this location
+	 */
+	int maxLevel() const;
+
 	/**
 	 * Generates the display text for the location, for a given character
 	 */


Commit: 2e30aa882c19ba63f41edca68d21ad9e4e6177f9
    https://github.com/scummvm/scummvm/commit/2e30aa882c19ba63f41edca68d21ad9e4e6177f9
Author: Jonathan Phénix (greaterd at gmail.com)
Date: 2020-11-21T20:14:52-08:00

Commit Message:
XEEN: Fix build warning by adding SpriteResource copy constructor

Changed paths:
    engines/xeen/sprites.cpp
    engines/xeen/sprites.h


diff --git a/engines/xeen/sprites.cpp b/engines/xeen/sprites.cpp
index cb2a02d583..0db9b84b25 100644
--- a/engines/xeen/sprites.cpp
+++ b/engines/xeen/sprites.cpp
@@ -40,29 +40,27 @@ int SpriteResource::_clippedBottom;
 SpriteResource::SpriteResource() {
 	_filesize = 0;
 	_data = nullptr;
-	_scaledWidth = _scaledHeight = 0;
 }
 
 SpriteResource::SpriteResource(const Common::String &filename) {
 	_data = nullptr;
-	_scaledWidth = _scaledHeight = 0;
 	load(filename);
 }
 
 SpriteResource::SpriteResource(const Common::String &filename, int ccMode) {
 	_data = nullptr;
-	_scaledWidth = _scaledHeight = 0;
 	load(filename, ccMode);
 }
 
+SpriteResource::SpriteResource(const SpriteResource &src) {
+	copy(src);
+}
+
 SpriteResource::~SpriteResource() {
 	clear();
 }
 
-SpriteResource &SpriteResource::operator=(const SpriteResource &src) {
-	delete[] _data;
-	_index.clear();
-
+void SpriteResource::copy(const SpriteResource &src) {
 	_filesize = src._filesize;
 	_data = new byte[_filesize];
 	Common::copy(src._data, src._data + _filesize, _data);
@@ -70,6 +68,13 @@ SpriteResource &SpriteResource::operator=(const SpriteResource &src) {
 	_index.resize(src._index.size());
 	for (uint i = 0; i < src._index.size(); ++i)
 		_index[i] = src._index[i];
+}
+
+SpriteResource &SpriteResource::operator=(const SpriteResource &src) {
+	delete[] _data;
+	_index.clear();
+
+	copy(src);
 
 	return *this;
 }
diff --git a/engines/xeen/sprites.h b/engines/xeen/sprites.h
index 366ad5e1ab..4261e36215 100644
--- a/engines/xeen/sprites.h
+++ b/engines/xeen/sprites.h
@@ -54,7 +54,6 @@ private:
 	Common::Array<IndexEntry> _index;
 	size_t _filesize;
 	byte *_data;
-	int _scaledWidth, _scaledHeight;
 	Common::String _filename;
 	static int _clippedBottom;
 
@@ -74,10 +73,16 @@ private:
 	 */
 	void draw(int windowNum, int frame, const Common::Point &destPos,
 		const Common::Rect &bounds, uint flags = 0, int scale = 0);
+
+	/**
+	 * Deep copy assuming that the current instance is clean
+	 */
+	void copy(const SpriteResource &src);
 public:
 	SpriteResource();
 	SpriteResource(const Common::String &filename);
 	SpriteResource(const Common::String &filename, int ccMode);
+	SpriteResource(const SpriteResource &src);
 
 	virtual ~SpriteResource();
 


Commit: 921a318ab719d7207d665a2bd65697720a09b74b
    https://github.com/scummvm/scummvm/commit/921a318ab719d7207d665a2bd65697720a09b74b
Author: Jonathan Phénix (greaterd at gmail.com)
Date: 2020-11-21T20:14:52-08:00

Commit Message:
XEEN: Sprinkle 'static' where appropriate

Changed paths:
    engines/xeen/interface_scene.cpp
    engines/xeen/locations.cpp
    engines/xeen/map.cpp
    engines/xeen/party.cpp
    engines/xeen/patcher.cpp
    engines/xeen/saves.cpp
    engines/xeen/sprites.cpp


diff --git a/engines/xeen/interface_scene.cpp b/engines/xeen/interface_scene.cpp
index c40f65d589..645f24e3f4 100644
--- a/engines/xeen/interface_scene.cpp
+++ b/engines/xeen/interface_scene.cpp
@@ -27,10 +27,10 @@
 
 namespace Xeen {
 
-const int COMBAT_POS_X[3][2] = { { 102, 134 },{ 36, 67 },{ 161, 161 } };
-const int INDOOR_POW_INDEXES[3] = { 157, 151, 154 };
-const int OUTDOOR_POW_INDEXES[3] = { 119, 113, 116 };
-const int COMBAT_OFFSET_X[4] = { 8, 6, 4, 2 };
+static const int COMBAT_POS_X[3][2] = { { 102, 134 },{ 36, 67 },{ 161, 161 } };
+static const int INDOOR_POW_INDEXES[3] = { 157, 151, 154 };
+static const int OUTDOOR_POW_INDEXES[3] = { 119, 113, 116 };
+static const int COMBAT_OFFSET_X[4] = { 8, 6, 4, 2 };
 
 OutdoorDrawList::OutdoorDrawList() : _sky1(_data[0]), _sky2(_data[1]),
 	_groundSprite(_data[2]), _attackImgs1(&_data[124]), _attackImgs2(&_data[95]),
diff --git a/engines/xeen/locations.cpp b/engines/xeen/locations.cpp
index a06db71f9f..6144c8ea79 100644
--- a/engines/xeen/locations.cpp
+++ b/engines/xeen/locations.cpp
@@ -1277,18 +1277,18 @@ void CutsceneLocation::setNewLocation() {
 
 /*------------------------------------------------------------------------*/
 
-const int16 REAPER_X1[2][14] = {
+static const int16 REAPER_X1[2][14] = {
 	{ 0, -10, -20, -30, -40, -49, -49, -49, -49, -49, -49, -49, -49, -49 },
 	{ 0, 2, 6, 8, 11, 14, 17, 21, 27, 35, 43, 51, 60, 67 }
 };
-const int16 REAPER_Y1[2][14] = {
+static const int16 REAPER_Y1[2][14] = {
 	{ 0, 12, 25, 37, 45, 50, 56, 61, 67, 72, 78, 83, 89, 94 },
 	{ 0, 6, 12, 17, 23, 29, 36, 42, 49, 54, 61, 68, 73, 77 }
 };
-const int16 REAPER_X2[14] = {
+static const int16 REAPER_X2[14] = {
 	160, 152, 146, 138, 131, 124, 117, 111, 107, 105, 103, 101, 100, 97
 };
-const int16 REAPER_X3[14] = {
+static const int16 REAPER_X3[14] = {
 	0, -3, -4, -7, -9, -11, -13, -14, -13, -10, -7, -4, 0, -1
 };
 
@@ -1563,15 +1563,15 @@ void ReaperCutscene::getNewLocation() {
 
 /*------------------------------------------------------------------------*/
 
-const int16 GOLEM_X1[2][12] = {
+static const int16 GOLEM_X1[2][12] = {
 	{ 0, -5, 0, 6, 10, 13, 17, 20, 23, 26, 29, 31 },
 	{ 0, 0, 1, 1, 1, 0, -9, -20, -21, 0, 0, 0 }
 };
-const int GOLEM_Y1[2][12] = {
+static const int GOLEM_Y1[2][12] = {
 	{ 0, 0, 0, 0, 0, 5, 10, 15, 20, 25, 30, 35 },
 	{ 0, 6, 12, 18, 24, 30, 29, 23, 25, 0, 0, 0 }
 };
-const int GOLEM_X2[2][12] = {
+static const int GOLEM_X2[2][12] = {
 	{ 160, 145, 140, 136, 130, 123, 117, 110, 103, 96, 89, 81 },
 	{ 160, 150, 141, 131, 121, 110, 91, 70, 57, 0, 0, 0 }
 };
@@ -1847,26 +1847,26 @@ void GolemCutscene::getNewLocation() {
 
 /*------------------------------------------------------------------------*/
 
-const int16 DWARF_X0[2][13] = {
+static const int16 DWARF_X0[2][13] = {
 	{  0, -5, -7, -8, -11, -9, -3, 1, 6, 10, 15, 18, 23 },
 	{ 0, 4, 6, 8, 11, 12, 15, 17, 19, 22, 25, 0, 0 }
 };
-const int DWARF_X1[2][13] = {
+static const int DWARF_X1[2][13] = {
 	{ 160, 145, 133, 122, 109, 101, 97, 91, 86, 80, 75, 68, 63 },
 	{ 160, 154, 146, 138, 131, 122, 115, 107, 99, 92, 85, 0, 0 }
 };
-const int DWARF_X2[13] = {
+static const int DWARF_X2[13] = {
 	0, -1, -4, -7, -9, -13, -15, -18, -21, -23, -25, 0, 0
 };
-const int16 DWARF_Y[2][13] = {
+static const int16 DWARF_Y[2][13] = {
 	{ 0, 0, 4, 9, 13, 15, 20, 24, 30, 37, 45, 51, 58 },
 	{ 0, 12, 25, 36, 38, 40, 41, 42, 44, 45, 50, 0, 0 }
 };
-const int16 DWARF2_X[2][16] = {
+static const int16 DWARF2_X[2][16] = {
 	{ 0, -2, -4, -6, -8, -10, -12, -14, -16, -18, -20, -20, -20, -20, -20, -20 },
 	{ 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150 }
 };
-const int16 DWARF2_Y[2][16] = {
+static const int16 DWARF2_Y[2][16] = {
 	{ 0, 12, 25, 37, 50, 62, 75, 87, 100, 112, 125, 137, 150, 162, 175, 187 },
 	{ 0, 12, 25, 37, 50, 62, 75, 87, 100, 112, 125, 137, 150, 162, 175, 186 }
 };
diff --git a/engines/xeen/map.cpp b/engines/xeen/map.cpp
index 110188fb69..f314a4a436 100644
--- a/engines/xeen/map.cpp
+++ b/engines/xeen/map.cpp
@@ -1,5 +1,5 @@
 /* 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.
@@ -31,13 +31,13 @@
 
 namespace Xeen {
 
-const int MAP_GRID_PRIOR_INDEX[] = { 0, 0, 0, 0, 1, 2, 3, 4, 0 };
+static const int MAP_GRID_PRIOR_INDEX[] = { 0, 0, 0, 0, 1, 2, 3, 4, 0 };
 
-const int MAP_GRID_PRIOR_DIRECTION[] = { 0, 1, 2, 3, 1, 2, 3, 0, 0 };
+static const int MAP_GRID_PRIOR_DIRECTION[] = { 0, 1, 2, 3, 1, 2, 3, 0, 0 };
 
-const int MAP_GRID_PRIOR_INDEX2[] = { 0, 0, 0, 0, 2, 3, 4, 1, 0 };
+static const int MAP_GRID_PRIOR_INDEX2[] = { 0, 0, 0, 0, 2, 3, 4, 1, 0 };
 
-const int MAP_GRID_PRIOR_DIRECTION2[] = { 0, 1, 2, 3, 0, 1, 2, 3, 0 };
+static const int MAP_GRID_PRIOR_DIRECTION2[] = { 0, 1, 2, 3, 0, 1, 2, 3, 0 };
 
 MonsterStruct::MonsterStruct() {
 	_experience = 0;
diff --git a/engines/xeen/party.cpp b/engines/xeen/party.cpp
index 2bdcc93746..73642ad6dd 100644
--- a/engines/xeen/party.cpp
+++ b/engines/xeen/party.cpp
@@ -95,10 +95,10 @@ void Treasure::reset() {
 
 /*------------------------------------------------------------------------*/
 
-const int BLACKSMITH_DATA1[4][4] = {
+static const int BLACKSMITH_DATA1[4][4] = {
 	{ 15, 5, 5, 5 },{ 5, 10, 5, 5 },{ 0, 5, 10, 5 },{ 0, 0, 0, 5 }
 };
-const int BLACKSMITH_DATA2[4][4] = {
+static const int BLACKSMITH_DATA2[4][4] = {
 	{ 10, 5, 0, 5 },{ 10, 5, 5, 5 },{ 0, 5, 5, 10 },{ 0, 5, 10, 0 }
 };
 
diff --git a/engines/xeen/patcher.cpp b/engines/xeen/patcher.cpp
index 0c5976241e..fbbf5f5f81 100644
--- a/engines/xeen/patcher.cpp
+++ b/engines/xeen/patcher.cpp
@@ -43,11 +43,11 @@ struct ObjectEntry {
 	int _refObjNumber;		///< Reference object's number
 };
 
-const byte DS_MAP54_LINE8[] = { 8, 10, 10, DIR_EAST, 8, OP_MoveWallObj, 20, 100, 100 };
-const byte SW_MAP53_LINE8[] = { 5, 14, 6, DIR_EAST, 8, OP_Exit };
-const byte DS_MAP116[] = { 9, 10, 6, 4, 2, OP_TakeOrGive, 0, 0, 103, 127 };
-const byte DS_MAP62_PIT1[] = { 9, 11, 8, DIR_ALL, 4, OP_FallToMap, 61, 11, 8, 0 };
-const byte DS_MAP62_PIT2[] = { 9, 7, 4, DIR_ALL, 4, OP_FallToMap, 61, 7, 4, 0 };
+static const byte DS_MAP54_LINE8[] = { 8, 10, 10, DIR_EAST, 8, OP_MoveWallObj, 20, 100, 100 };
+static const byte SW_MAP53_LINE8[] = { 5, 14, 6, DIR_EAST, 8, OP_Exit };
+static const byte DS_MAP116[] = { 9, 10, 6, 4, 2, OP_TakeOrGive, 0, 0, 103, 127 };
+static const byte DS_MAP62_PIT1[] = { 9, 11, 8, DIR_ALL, 4, OP_FallToMap, 61, 11, 8, 0 };
+static const byte DS_MAP62_PIT2[] = { 9, 7, 4, DIR_ALL, 4, OP_FallToMap, 61, 7, 4, 0 };
 
 #define SCRIPT_PATCHES_COUNT 5
 static const ScriptEntry SCRIPT_PATCHES[] = {
diff --git a/engines/xeen/saves.cpp b/engines/xeen/saves.cpp
index b3c7617171..6b88d57bfa 100644
--- a/engines/xeen/saves.cpp
+++ b/engines/xeen/saves.cpp
@@ -45,7 +45,7 @@ SavesManager::~SavesManager() {
 	delete File::_darkSave;
 }
 
-const char *const SAVEGAME_STR = "XEEN";
+static const char *const SAVEGAME_STR = "XEEN";
 #define SAVEGAME_STR_SIZE 6
 
 WARN_UNUSED_RESULT bool SavesManager::readSavegameHeader(Common::InSaveFile *in, XeenSavegameHeader &header, bool skipThumbnail) {
diff --git a/engines/xeen/sprites.cpp b/engines/xeen/sprites.cpp
index 0db9b84b25..35c9ac1467 100644
--- a/engines/xeen/sprites.cpp
+++ b/engines/xeen/sprites.cpp
@@ -439,12 +439,12 @@ void SpriteDrawer::rcr(uint16 &val, bool &cf) {
 
 /*------------------------------------------------------------------------*/
 
-const byte DRAWER1_OFFSET[24] = {
+static const byte DRAWER1_OFFSET[24] = {
 	0x30, 0xC0, 0xB0, 0x10, 0x41, 0x20, 0x40, 0x21, 0x48, 0x46, 0x43, 0x40,
 	0xD0, 0xD3, 0xD6, 0xD8, 0x01, 0x04, 0x07, 0x0A, 0xEA, 0xEE, 0xF2, 0xF6
 };
 
-const byte DRAWER1_MASK[24] = {
+static const byte DRAWER1_MASK[24] = {
 	0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x0F, 0x07, 0x07, 0x07, 0x07,
 	0x07, 0x07, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x07, 0x07
 };
@@ -460,17 +460,17 @@ void SpriteDrawer1::drawPixel(byte *dest, byte pixel) {
 
 /*------------------------------------------------------------------------*/
 
-const byte DRAWER2_MASK1[32] = {
+static const byte DRAWER2_MASK1[32] = {
 	3, 0, 3, 0, 3, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0,
 	1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0
 };
 
-const byte DRAWER2_MASK2[16] = {
+static const byte DRAWER2_MASK2[16] = {
 	0x7E, 0x7E, 0x7E, 0x7E, 0x3E, 0x3E, 0x3E, 0x3E,
 	0x1E, 0x1E, 0x1E, 0x1E, 0x0E, 0x0E, 0x0E, 0x0E
 };
 
-const int8 DRAWER2_DELTA[64] = {
+static const int8 DRAWER2_DELTA[64] = {
 	-3, 3, 0, 0, 0, 0, 0, 0,
 	-5, 5, 0, 0, 0, 0, 0, 0,
 	-7, 7, 0, 0, 0, 0, 0, 0,
@@ -509,8 +509,8 @@ void SpriteDrawer2::drawPixel(byte *dest, byte pixel) {
 
 /*------------------------------------------------------------------------*/
 
-const uint16 DRAWER3_MASK[4] = { 1, 3, 7, 15 };
-const uint16 DRAWER3_OFFSET[4] = { 1, 2, 4, 8 };
+static const uint16 DRAWER3_MASK[4] = { 1, 3, 7, 15 };
+static const uint16 DRAWER3_OFFSET[4] = { 1, 2, 4, 8 };
 
 SpriteDrawer3::SpriteDrawer3(byte *data, size_t filesize, int index) : SpriteDrawer(data, filesize) {
 	_offset = DRAWER3_OFFSET[index];
@@ -545,7 +545,7 @@ void SpriteDrawer3::drawPixel(byte *dest, byte pixel) {
 
 /*------------------------------------------------------------------------*/
 
-const byte DRAWER4_THRESHOLD[4] = { 4, 7, 10, 13 };
+static const byte DRAWER4_THRESHOLD[4] = { 4, 7, 10, 13 };
 
 SpriteDrawer4::SpriteDrawer4(byte *data, size_t filesize, int index) : SpriteDrawer(data, filesize) {
 	_threshold = DRAWER4_THRESHOLD[index];
@@ -558,7 +558,7 @@ void SpriteDrawer4::drawPixel(byte *dest, byte pixel) {
 
 /*------------------------------------------------------------------------*/
 
-const uint16 DRAWER5_THRESHOLD[4] = { 0x3333, 0x6666, 0x999A, 0xCCCD };
+static const uint16 DRAWER5_THRESHOLD[4] = { 0x3333, 0x6666, 0x999A, 0xCCCD };
 
 SpriteDrawer5::SpriteDrawer5(byte *data, size_t filesize, int index) : SpriteDrawer(data, filesize) {
 	_threshold = DRAWER5_THRESHOLD[index];
@@ -580,7 +580,7 @@ void SpriteDrawer5::drawPixel(byte *dest, byte pixel) {
 
 /*------------------------------------------------------------------------*/
 
-const byte DRAWER6_MASK[16] = { 1, 2, 4, 8, 1, 3, 7, 15, 8, 12, 14, 15, 1, 2, 1, 2 };
+static const byte DRAWER6_MASK[16] = { 1, 2, 4, 8, 1, 3, 7, 15, 8, 12, 14, 15, 1, 2, 1, 2 };
 
 SpriteDrawer6::SpriteDrawer6(byte *data, size_t filesize, int index) : SpriteDrawer(data, filesize) {
 	_mask = DRAWER6_MASK[index];




More information about the Scummvm-git-logs mailing list