[Scummvm-cvs-logs] CVS: scummvm costume.cpp,1.26,1.27 gfx.cpp,1.73,1.74 script_v2.cpp,1.46,1.47

Vincent Hamm yazoo at users.sourceforge.net
Sat Apr 20 02:31:01 CEST 2002


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

Modified Files:
	costume.cpp gfx.cpp script_v2.cpp 
Log Message:
Fix the twin ball elevator

Index: costume.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/costume.cpp,v
retrieving revision 1.26
retrieving revision 1.27
diff -C2 -d -r1.26 -r1.27
*** costume.cpp	19 Apr 2002 17:06:08 -0000	1.26
--- costume.cpp	20 Apr 2002 09:30:03 -0000	1.27
***************
*** 702,705 ****
--- 702,708 ----
  	byte shadow4;
  	byte shadow5;
+ 
+ 	if(a->costume==153) //Samnmax elevator FIXME
+ 		return;
  
  	shadow1=a->shadow_mode & 0x80;
***************
*** 762,766 ****
  							pcolor=_vm->_proc_special_palette[*dst];
  						}
! proc_special_end:;			*dst = pcolor;
  					}
  				}
--- 765,769 ----
  							pcolor=_vm->_proc_special_palette[*dst];
  						}
! proc_special_end:;		*dst = pcolor;
  					}
  				}

Index: gfx.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gfx.cpp,v
retrieving revision 1.73
retrieving revision 1.74
diff -C2 -d -r1.73 -r1.74
*** gfx.cpp	20 Apr 2002 04:09:01 -0000	1.73
--- gfx.cpp	20 Apr 2002 09:30:03 -0000	1.74
***************
*** 2642,2770 ****
  
  void Scumm::createSpecialPalette(int16 a, int16 b, int16 c, int16 d, int16 e, int16 colorMin, int16 colorMax)
- 
  {
- 
  	byte *palPtr;
- 
  	byte *curPtr;
- 
  	byte *searchPtr;
  
- 
- 
  	byte colorComp1;
- 
  	byte colorComp2;
- 
  	byte colorComp3;
  
- 
- 
  	byte searchComp1;
- 
  	byte searchComp2;
- 
  	byte searchComp3;
  
- 
- 
  	short int bestResult;
- 
  	short int currentResult;
  
  	byte currentIndex;
  
- 
- 
  	int i;
- 
  	int j;
  
- 
- 
  	palPtr = getPalettePtr();
  
- 
- 
  	for(i=colorMin;i<colorMax;i++)
- 
  		_proc_special_palette[i]=i;
  
- 
- 
  	curPtr = palPtr + colorMin*3;
  
- 
- 
  	for(i=colorMin;i<colorMax;i++)
- 
  	{
! 
! 	/*	colorComp1=((((*curPtr++)>>2)*c)>>8)&0x7F; 
! 
! 		colorComp2=((((*curPtr++)>>2)*d)>>8)&0x7F;
! 
! 		colorComp3=((((*curPtr++)>>2)*e)>>8)&0x7F;*/
! 
! 
  
  		/* Yazoo: I can't get the right formula, so I made one that just work fine with SamnMax flashlight */
  
- 
- 
  		colorComp1=(*curPtr++)+10;
- 
  		colorComp2=(*curPtr++)+10;
- 
  		colorComp3=(*curPtr++)+10;
  
- 
- 
- 
- 
  		searchPtr = palPtr;
- 
  		bestResult = 0x7FFF;
- 
  		currentIndex = 0;
  
- 
- 
  		for(j=0;j<256;j++)
- 
  		{
- 
  			searchComp1 = (*searchPtr++);
- 
  			searchComp2 = (*searchPtr++);
- 
  			searchComp3 = (*searchPtr++);
  
- 
- 
  			currentResult = abs(searchComp1-colorComp1) + abs(searchComp2-colorComp2) + abs(searchComp3-colorComp3);
  
- 
- 
  			if(currentResult<bestResult)
- 
  				if(currentIndex >= a && currentIndex <= b)
- 
  				{
- 
  					_proc_special_palette[i]=currentIndex;
- 
  					bestResult=currentResult;
- 
  				}
  
- 
- 
  			currentIndex++;
- 
  		}
- 
- 
- 
  	}
  
--- 2642,2706 ----
  
  void Scumm::createSpecialPalette(int16 a, int16 b, int16 c, int16 d, int16 e, int16 colorMin, int16 colorMax)
  {
  	byte *palPtr;
  	byte *curPtr;
  	byte *searchPtr;
  
  	byte colorComp1;
  	byte colorComp2;
  	byte colorComp3;
  
  	byte searchComp1;
  	byte searchComp2;
  	byte searchComp3;
  
  	short int bestResult;
  	short int currentResult;
  
  	byte currentIndex;
  
  	int i;
  	int j;
  
  	palPtr = getPalettePtr();
  
  	for(i=colorMin;i<colorMax;i++)
  		_proc_special_palette[i]=i;
  
  	curPtr = palPtr + colorMin*3;
  
  	for(i=colorMin;i<colorMax;i++)
  	{
! 		//colorComp1=((((*curPtr++)>>2)*c)>>8)&0x7F; 
! 		//colorComp2=((((*curPtr++)>>2)*d)>>8)&0x7F;
! 		//colorComp3=((((*curPtr++)>>2)*e)>>8)&0x7F;
  
  		/* Yazoo: I can't get the right formula, so I made one that just work fine with SamnMax flashlight */
  
  		colorComp1=(*curPtr++)+10;
  		colorComp2=(*curPtr++)+10;
  		colorComp3=(*curPtr++)+10;
  
  		searchPtr = palPtr;
  		bestResult = 0x7FFF;
  		currentIndex = 0;
  
  		for(j=0;j<256;j++)
  		{
  			searchComp1 = (*searchPtr++);
  			searchComp2 = (*searchPtr++);
  			searchComp3 = (*searchPtr++);
  
  			currentResult = abs(searchComp1-colorComp1) + abs(searchComp2-colorComp2) + abs(searchComp3-colorComp3);
  
  			if(currentResult<bestResult)
  				if(currentIndex >= a && currentIndex <= b)
  				{
  					_proc_special_palette[i]=currentIndex;
  					bestResult=currentResult;
  				}
  
  			currentIndex++;
  		}
  	}
  

Index: script_v2.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/script_v2.cpp,v
retrieving revision 1.46
retrieving revision 1.47
diff -C2 -d -r1.46 -r1.47
*** script_v2.cpp	20 Apr 2002 04:09:01 -0000	1.46
--- script_v2.cpp	20 Apr 2002 09:30:04 -0000	1.47
***************
*** 2813,2818 ****
  
  		case 112:									/* palette shift? */
! 			warning("stub o6_miscOps_112(%d,%d,%d,%d,%d,%d,%d)",
! 							args[1], args[2], args[3], args[4], args[5], args[6], args[7]);
  			break;
  
--- 2813,2817 ----
  
  		case 112:									/* palette shift? */
! 			createSpecialPalette(args[1], args[2], args[3], args[4], args[5], args[6], args[7]);
  			break;
  





More information about the Scummvm-git-logs mailing list