[Scummvm-git-logs] scummvm master -> 89ae351ca538620cf823f358e7eaa157c2283bac

dreammaster paulfgilbert at gmail.com
Sat Sep 12 04:43:04 UTC 2020


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

Summary:
89ae351ca5 GLK: COMPREHEND: Additions to game data loading


Commit: 89ae351ca538620cf823f358e7eaa157c2283bac
    https://github.com/scummvm/scummvm/commit/89ae351ca538620cf823f358e7eaa157c2283bac
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-09-11T21:38:02-07:00

Commit Message:
GLK: COMPREHEND: Additions to game data loading

Changed paths:
    engines/glk/comprehend/game_data.cpp
    engines/glk/comprehend/game_data.h


diff --git a/engines/glk/comprehend/game_data.cpp b/engines/glk/comprehend/game_data.cpp
index 9282eacc13..a834a21438 100644
--- a/engines/glk/comprehend/game_data.cpp
+++ b/engines/glk/comprehend/game_data.cpp
@@ -160,6 +160,8 @@ void GameData::clearGame() {
 	_currentReplaceWord = 0;
 	_updateFlags = 0;
 	_colorTable = 0;
+	_itemCount = 0;
+	_itemsWeight = 0;
 
 	_strings.clear();
 	_strings2.clear();
@@ -612,6 +614,9 @@ void GameData::parse_header(FileBuffer *fb) {
 	parse_variables(fb);
 	parse_flags(fb);
 
+	fb->skip(9);
+	_itemCount = fb->readByte();
+
 	_rooms.resize(header->room_direction_table[DIRECTION_SOUTH] -
 	                    header->room_direction_table[DIRECTION_NORTH] + 1);
 
diff --git a/engines/glk/comprehend/game_data.h b/engines/glk/comprehend/game_data.h
index de35e3b2a8..44dc87c288 100644
--- a/engines/glk/comprehend/game_data.h
+++ b/engines/glk/comprehend/game_data.h
@@ -30,7 +30,7 @@
 namespace Glk {
 namespace Comprehend {
 
-#define MAX_FLAGS 64
+#define MAX_FLAGS 256
 #define MAX_VARIABLES 128
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
 
@@ -118,7 +118,10 @@ enum {
 	OPCODE_DRAW_ROOM,
 	OPCODE_DRAW_OBJECT,
 	OPCODE_WAIT_KEY,
-	OPCODE_TEST_FALSE
+	OPCODE_TEST_FALSE,
+	OPCODE_CAN_TAKE,
+	OPCODE_TOO_HEAVY,
+	OPCODE_NOT_MAX_WEIGHT
 };
 
 /* Game state update flags */
@@ -161,7 +164,7 @@ enum {
 
 /* Item flags */
 enum ItemFlag {
-	ITEMF_WEIGHT_MASK = 0x3,
+	ITEMF_WEIGHT_MASK = 0x7,
 	ITEMF_CAN_TAKE    = 1 << 3,
 	ITEMF_UNKNOWN     = 1 << 6,
 	ITEMF_INVISIBLE   = 1 << 7
@@ -364,6 +367,8 @@ public:
 	Common::Array<Room> _rooms;
 	uint8 _currentRoom;
 	uint8 _startRoom;
+	uint8 _itemCount;
+	uint8 _itemsWeight;
 
 	Common::Array<Item> _items;
 




More information about the Scummvm-git-logs mailing list