[Scummvm-cvs-logs] CVS: scummvm actor.cpp,1.42,1.43 init.cpp,1.2,1.3 scumm.h,1.105,1.106 scummvm.dsp,1.28,1.29

James Brown ender at users.sourceforge.net
Fri Mar 29 04:16:27 CET 2002


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

Modified Files:
	actor.cpp init.cpp scumm.h scummvm.dsp 
Log Message:
Fix some VC6++ debug actor-related crashes.

Mask, Charset color and WaitForMessage hangs still remain.



Index: actor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/actor.cpp,v
retrieving revision 1.42
retrieving revision 1.43
diff -C2 -d -r1.42 -r1.43
*** actor.cpp	26 Mar 2002 05:23:06 -0000	1.42
--- actor.cpp	29 Mar 2002 12:15:41 -0000	1.43
***************
*** 26,29 ****
--- 26,45 ----
  
  void Scumm::initActor(Actor *a, int mode) {
+ 	if (a->init != 1) {		/* Check if this is the first time we've   */
+ 		a->costume = 0;		/* used this actor. If so, init everything */
+ 		a->room = 0;
+ 		a->x = a->y = 0;		
+ 		a->facing = 0;
+ 		a->newDirection = 0;
+ 		a->visible = 0;
+ 		a->mask = 0;
+ 		a->walkbox = 0;
+ 		a->animProgress = a->animSpeed = 0;
+ 		a->layer = 0;
+ 
+ 		a->init = 1;
+ 	}
+ 
+ 
  	if (mode==1) {
  		a->costume = 0;
***************
*** 37,41 ****
  		a->newDirection = 180;
  	}
! 
  	a->elevation = 0;
  	a->width = 24;
--- 53,57 ----
  		a->newDirection = 180;
  	}
! 	
  	a->elevation = 0;
  	a->width = 24;

Index: init.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/init.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** init.cpp	26 Mar 2002 05:22:07 -0000	1.2
--- init.cpp	29 Mar 2002 12:15:41 -0000	1.3
***************
*** 3,49 ****
  
  Scumm::Scumm(void)
! {
! 	int i;
!         for (i=0;i<17;i++)
!         {
!                 res.address[i]=0;
!                 res.flags[i]=0;
!                 res.mode[i]=0;
!                 res.name[i]=0;
!                 res.num[i]=0;
!                 res.roomno[i]=0;
!                 res.roomoffs[i]=0;
!                 res.tags[i]=0;
!         }
  
!         _resFilePath=0;
          _resFilePrefix=0;
- 
-         for (i=1; i<NUM_SCRIPT_SLOT; i++)
-         {
-                 vm.slot[i].status=0;
-                 vm.slot[i].cutsceneOverride=0;
-                 vm.slot[i].delay=0;
-                 vm.slot[i].didexec=0;
-                 vm.slot[i].freezeCount=0;
-                 vm.slot[i].newfield=0;
-                 vm.slot[i].number=0;
-                 vm.slot[i].offs=0;
-                 vm.slot[i].unk1=0;
-                 vm.slot[i].unk2=0;
-                 vm.slot[i].unk5=0;
-                 vm.slot[i].where=0;
-         }
- 
-         for (i=0; i<5;i++)
-         {
-                 vm.cutScenePtr[i]=0;
-                 vm.cutSceneScript[i]=0;
-                 vm.cutSceneData[i]=0;
-         }
- 
-         vm.cutSceneScriptIndex=0;
-         vm.cutSceneStackPointer=0;
- 
          _scummStackPos=0;
          _verbMouseOver=0;
--- 3,22 ----
  
  Scumm::Scumm(void)
! {	
! 	/* Initilize all our stuff */
! 	ZeroMemory(&res, sizeof(res));
! 	ZeroMemory(&vm, sizeof(vm));
! 	ZeroMemory(&camera, sizeof(camera));
! 	ZeroMemory(&mouse, sizeof(mouse));
! 	ZeroMemory(&string, sizeof(string));
! 	ZeroMemory(&_mixer_channel, sizeof(_mixer_channel));
! 	ZeroMemory(&charset, sizeof(charset));
! 	
! 	//ZeroMemory(_objs, sizeof(_objs));
! 	ZeroMemory(_colorCycle, sizeof(_colorCycle));        
! 	ZeroMemory(_mouthSyncTimes, sizeof(_mouthSyncTimes));        
  
! 		_resFilePath=0;
          _resFilePrefix=0;
          _scummStackPos=0;
          _verbMouseOver=0;
***************
*** 52,71 ****
          _palDirtyMin=0;
          _debugger=0;
-         camera._cur.x=0;
-         camera._cur.y=0;
-         camera._dest.x=0;
-         camera._dest.y=0;
-         camera._accel.x=0;
-         camera._accel.y=0;
-         camera._last.x=0;
-         camera._last.y=0;
-         camera._leftTrigger=0;
-         camera._rightTrigger=0;
-         camera._follows=0;
-         camera._mode=0;
-         camera._movingToActor=0;
- 
-         mouse.x=0;
-         mouse.y=0;
  
          _xPos = 0;
--- 25,28 ----
***************
*** 129,133 ****
          _palManipEnd = 0;
  
!         memset(_colorCycle, 0, sizeof(_colorCycle));
  
          _CLUT_offs = 0;
--- 86,90 ----
          _palManipEnd = 0;
  
!         
  
          _CLUT_offs = 0;
***************
*** 139,152 ****
          _fastMode = 0;
  
!         for (i=0; i<6; i++) {
!                 string[i].t_center = 0;
!                 string[i].t_xpos = 0;
!                 string[i].t_ypos = 0;
!                 string[i].t_color = 0;
!                 string[i].t_overhead  =0;
!                 string[i].t_charset = 0;
!                 string[i].t_right = 0;
!         }
! 
          _charsetColor = 0;
  
--- 96,100 ----
          _fastMode = 0;
  
!         
          _charsetColor = 0;
  
***************
*** 154,164 ****
          _insaneState = 0;
  
- 		for(i=0;i<NUM_MIXER;i++) {
- 			 _mixer_channel[i]._sfx_sound = 0;
- 			 _mixer_channel[i].sound_data.standard._sfx_fp_speed = 0;		
- 			 _mixer_channel[i].sound_data.standard._sfx_fp_pos = 0;
- 			 _mixer_channel[i].sound_data.standard._sfx_pos = 0;
- 			 _mixer_channel[i].sound_data.standard._sfx_size = 0;
- 		}
  
  		_haveMsg = 0;
--- 102,105 ----
***************
*** 168,174 ****
  		_endOfMouthSync = 0;
  		_mouthSyncMode = 0;
- 
- 
- 		for (i=0; i<52; i++)
- 			_mouthSyncTimes[i] = 0;
  }
--- 109,111 ----

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm.h,v
retrieving revision 1.105
retrieving revision 1.106
diff -C2 -d -r1.105 -r1.106
*** scumm.h	25 Mar 2002 17:45:55 -0000	1.105
--- scumm.h	29 Mar 2002 12:15:41 -0000	1.106
***************
*** 423,426 ****
--- 423,427 ----
  
  struct Actor {
+ 	int init;
  	int x,y,top,bottom;
  	int elevation;

Index: scummvm.dsp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scummvm.dsp,v
retrieving revision 1.28
retrieving revision 1.29
diff -C2 -d -r1.28 -r1.29
*** scummvm.dsp	27 Mar 2002 10:28:52 -0000	1.28
--- scummvm.dsp	29 Mar 2002 12:15:41 -0000	1.29
***************
*** 44,48 ****
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
! # ADD CPP /nologo /G6 /MD /W3 /O2 /Ob2 /I "." /I "Sound" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
  # ADD BASE RSC /l 0x41d /d "NDEBUG"
  # ADD RSC /l 0x41d /d "NDEBUG"
--- 44,49 ----
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
! # ADD CPP /nologo /G6 /MD /W3 /O2 /Ob2 /I "." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
! # SUBTRACT CPP /YX /Yc /Yu
  # ADD BASE RSC /l 0x41d /d "NDEBUG"
  # ADD RSC /l 0x41d /d "NDEBUG"
***************
*** 68,72 ****
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
! # ADD CPP /nologo /ML /W3 /Gm /GX /Zi /Od /I "./sound" /I "./" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "ALLOW_GDI" /D "BYPASS_COPY_PROT" /D "DUMP_SCRIPTS" /D "USE_ADLIB" /Yu"stdafx.h" /FD /GZ /c
  # SUBTRACT CPP /Fr
  # ADD BASE RSC /l 0x41d /d "_DEBUG"
--- 69,73 ----
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
! # ADD CPP /nologo /W3 /Gm /GX /Zi /Od /I "./sound" /I "./" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "ALLOW_GDI" /D "BYPASS_COPY_PROT" /D "DUMP_SCRIPTS" /D "USE_ADLIB" /Yu"stdafx.h" /FD /GZ /c
  # SUBTRACT CPP /Fr
  # ADD BASE RSC /l 0x41d /d "_DEBUG"
***************
*** 78,82 ****
  # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
  # ADD LINK32 kernel32.lib user32.lib gdi32.lib sdl.lib winmm.lib wsock32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
- # SUBTRACT LINK32 /incremental:no
  
  !ELSEIF  "$(CFG)" == "scummvm - Win32 MP3 Enabled Debug"
--- 79,82 ----
***************
*** 137,154 ****
  # End Source File
  # End Group
! # Begin Group "v4"
  
  # PROP Default_Filter ""
  # Begin Source File
  
! SOURCE=.\v4\resource_v4.cpp
  # End Source File
  # End Group
! # Begin Group "v3"
  
  # PROP Default_Filter ""
  # Begin Source File
  
! SOURCE=.\v3\resource_v3.cpp
  # End Source File
  # End Group
--- 137,154 ----
  # End Source File
  # End Group
! # Begin Group "v3"
  
  # PROP Default_Filter ""
  # Begin Source File
  
! SOURCE=.\v3\resource_v3.cpp
  # End Source File
  # End Group
! # Begin Group "v4"
  
  # PROP Default_Filter ""
  # Begin Source File
  
! SOURCE=.\v4\resource_v4.cpp
  # End Source File
  # End Group
***************
*** 171,174 ****
--- 171,183 ----
  
  SOURCE=.\akos.cpp
+ 
+ !IF  "$(CFG)" == "scummvm - Win32 Release"
+ 
+ !ELSEIF  "$(CFG)" == "scummvm - Win32 Debug"
+ 
+ !ELSEIF  "$(CFG)" == "scummvm - Win32 MP3 Enabled Debug"
+ 
+ !ENDIF 
+ 
  # End Source File
  # Begin Source File
***************
*** 190,193 ****
--- 199,211 ----
  
  SOURCE=.\costume.cpp
+ 
+ !IF  "$(CFG)" == "scummvm - Win32 Release"
+ 
+ !ELSEIF  "$(CFG)" == "scummvm - Win32 Debug"
+ 
+ !ELSEIF  "$(CFG)" == "scummvm - Win32 MP3 Enabled Debug"
+ 
+ !ENDIF 
+ 
  # End Source File
  # Begin Source File
***************
*** 209,212 ****
--- 227,239 ----
  
  SOURCE=.\gameDetector.cpp
+ 
+ !IF  "$(CFG)" == "scummvm - Win32 Release"
+ 
+ !ELSEIF  "$(CFG)" == "scummvm - Win32 Debug"
+ 
+ !ELSEIF  "$(CFG)" == "scummvm - Win32 MP3 Enabled Debug"
+ 
+ !ENDIF 
+ 
  # End Source File
  # Begin Source File
***************
*** 228,239 ****
--- 255,293 ----
  
  SOURCE=.\gui.cpp
+ 
+ !IF  "$(CFG)" == "scummvm - Win32 Release"
+ 
+ !ELSEIF  "$(CFG)" == "scummvm - Win32 Debug"
+ 
+ !ELSEIF  "$(CFG)" == "scummvm - Win32 MP3 Enabled Debug"
+ 
+ !ENDIF 
+ 
  # End Source File
  # Begin Source File
  
  SOURCE=.\init.cpp
+ 
+ !IF  "$(CFG)" == "scummvm - Win32 Release"
+ 
+ !ELSEIF  "$(CFG)" == "scummvm - Win32 Debug"
+ 
+ !ELSEIF  "$(CFG)" == "scummvm - Win32 MP3 Enabled Debug"
+ 
+ !ENDIF 
+ 
  # End Source File
  # Begin Source File
  
  SOURCE=.\insane.cpp
+ 
+ !IF  "$(CFG)" == "scummvm - Win32 Release"
+ 
+ !ELSEIF  "$(CFG)" == "scummvm - Win32 Debug"
+ 
+ !ELSEIF  "$(CFG)" == "scummvm - Win32 MP3 Enabled Debug"
+ 
+ !ENDIF 
+ 
  # End Source File
  # Begin Source File
***************
*** 345,348 ****
--- 399,411 ----
  
  SOURCE=.\sdl.cpp
+ 
+ !IF  "$(CFG)" == "scummvm - Win32 Release"
+ 
+ !ELSEIF  "$(CFG)" == "scummvm - Win32 Debug"
+ 
+ !ELSEIF  "$(CFG)" == "scummvm - Win32 MP3 Enabled Debug"
+ 
+ !ENDIF 
+ 
  # End Source File
  # Begin Source File
***************
*** 414,417 ****
--- 477,489 ----
  
  SOURCE=.\vars.cpp
+ 
+ !IF  "$(CFG)" == "scummvm - Win32 Release"
+ 
+ !ELSEIF  "$(CFG)" == "scummvm - Win32 Debug"
+ 
+ !ELSEIF  "$(CFG)" == "scummvm - Win32 MP3 Enabled Debug"
+ 
+ !ENDIF 
+ 
  # End Source File
  # Begin Source File
***************
*** 436,448 ****
  # Begin Source File
  
- SOURCE=.\akos.h
- # End Source File
- # Begin Source File
- 
  SOURCE=.\sound\fmopl.h
- # End Source File
- # Begin Source File
- 
- SOURCE=.\gameDetector.h
  # End Source File
  # Begin Source File
--- 508,512 ----





More information about the Scummvm-git-logs mailing list