[Scummvm-cvs-logs] CVS: scummvm object.cpp,1.29,1.30 scumm.h,1.58,1.59

Vincent Hamm yazoo at users.sourceforge.net
Tue Mar 5 12:45:04 CET 2002


Update of /cvsroot/scummvm/scummvm
In directory usw-pr-cvs1:/tmp/cvs-serv19088

Modified Files:
	object.cpp scumm.h 
Log Message:
Fixed struct CodeHeader for v7 implementation

Index: object.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/object.cpp,v
retrieving revision 1.29
retrieving revision 1.30
diff -C2 -d -r1.29 -r1.30
*** object.cpp	5 Mar 2002 20:13:47 -0000	1.29
--- object.cpp	5 Mar 2002 20:43:26 -0000	1.30
***************
*** 375,379 ****
  		od->offs_obcd_to_room = ptr - room;
  		cdhd = (CodeHeader*)findResourceData(MKID('CDHD'), ptr);
! 		od->obj_nr = READ_LE_UINT16(&cdhd->obj_id);
  
  #ifdef DUMP_SCRIPTS
--- 375,386 ----
  		od->offs_obcd_to_room = ptr - room;
  		cdhd = (CodeHeader*)findResourceData(MKID('CDHD'), ptr);
! 
! 		if(_features & GF_AFTER_V7)
! 			od->obj_nr = READ_LE_UINT16(&(cdhd->v7.obj_id));
! 		else
! 			if(_features & GF_AFTER_V6)
! 				od->obj_nr = READ_LE_UINT16(&(cdhd->v6.obj_id));
! 			else
! 				od->obj_nr = READ_LE_UINT16(&(cdhd->v5.obj_id));
  
  #ifdef DUMP_SCRIPTS
***************
*** 510,515 ****
  
          cdhd = (CodeHeader*)findResourceData(MKID('CDHD'), room + od->offs_obcd_to_room);
! 	od->obj_nr = READ_LE_UINT16(&cdhd->obj_id);
! 
  #if !defined(FULL_THROTTLE)
  	if (_features & GF_AFTER_V6) {
--- 517,528 ----
  
          cdhd = (CodeHeader*)findResourceData(MKID('CDHD'), room + od->offs_obcd_to_room);
! 	if(_features & GF_AFTER_V7)
! 		od->obj_nr = READ_LE_UINT16(&(cdhd->v7.obj_id));
! 	else
! 		if(_features & GF_AFTER_V6)
! 			od->obj_nr = READ_LE_UINT16(&(cdhd->v6.obj_id));
! 		else
! 		        od->obj_nr = READ_LE_UINT16(&(cdhd->v5.obj_id));
! 	
  #if !defined(FULL_THROTTLE)
  	if (_features & GF_AFTER_V6) {
***************
*** 739,742 ****
--- 752,756 ----
  	RoomHeader *roomhdr;
  	ImageHeader *imhd;
+ 	int id2;
  	
  	if (findWhat&foCheckAlreadyLoaded && getObjectIndex(id) != -1) {
***************
*** 779,783 ****
                          } else {
                                 cdhd = (CodeHeader*)findResourceData(MKID('CDHD'), obcdptr);
!                                 if ( READ_LE_UINT16(&cdhd->obj_id) == (uint16)id) {
                                          fo->cdhd = cdhd;
                                          fo->obcd = obcdptr;
--- 793,805 ----
                          } else {
                                 cdhd = (CodeHeader*)findResourceData(MKID('CDHD'), obcdptr);
! 				if ( _features & GF_AFTER_V7)
! 					id2 = READ_LE_UINT16(&(cdhd->v7.obj_id));
! 				else
! 					if( _features & GF_AFTER_V6)
! 						id2 = READ_LE_UINT16(&(cdhd->v6.obj_id));
! 					else
! 						id2 = READ_LE_UINT16(&(cdhd->v5.obj_id));
! 			       
!                                 if ( id2 == (uint16)id) {
                                          fo->cdhd = cdhd;
                                          fo->obcd = obcdptr;

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm.h,v
retrieving revision 1.58
retrieving revision 1.59
diff -C2 -d -r1.58 -r1.59
*** scumm.h	5 Mar 2002 20:13:47 -0000	1.58
--- scumm.h	5 Mar 2002 20:43:26 -0000	1.59
***************
*** 114,131 ****
  } GCC_PACK;
  
- #if defined(FULL_THROTTLE)
  struct CodeHeader {
- 	uint32 version;
- 	uint16 obj_id;
- 	byte parent;
- 	byte parentstate;
- } GCC_PACK;
- 
- #else
- struct CodeHeader {
- 	uint16 obj_id;
- 
  	union {
  		struct {
  			byte x,y,w,h;
  			byte flags;
--- 114,121 ----
  } GCC_PACK;
  
  struct CodeHeader {
  	union {
  		struct {
+ 			uint16 obj_id;
  			byte x,y,w,h;
  			byte flags;
***************
*** 137,140 ****
--- 127,131 ----
  
  		struct {
+ 			uint16 obj_id;
  			int16 x, y;
  			uint16 w,h;
***************
*** 144,150 ****
  			byte actordir;
  		} v6;
  	};
  } GCC_PACK;
- #endif
  
  #if defined(FULL_THROTTLE)
--- 135,148 ----
  			byte actordir;
  		} v6;
+ 
+ 		struct {
+ 			uint32 version;
+ 			uint16 obj_id;
+ 			byte parent;
+ 			byte parentstate;
+ 		} v7;
+ 							
  	};
  } GCC_PACK;
  
  #if defined(FULL_THROTTLE)





More information about the Scummvm-git-logs mailing list