| 
   | 
   | 
  
 
    | 
    | 
    | 
  
 
    | 
   | 
    | 
  
 
    | 
   | 
    | 
  
 
    | 
   | 
    | 
  
 
   | 
  
	
		
   
   
      | Archive::Development Archive area for Development's posts that were moved here after an inactivity period of 90 days. | 
    
    
   
		 
	 
 
	
	
		
	
	
	
		
		
		
			
			 
			
				09-22-2003, 07:57 AM
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Hill Giant 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: May 2003 
					Location: The Great Northwest 
					
					
						Posts: 150
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
				 
				Linux Compile Broken on 0.5.0DR3
			 
			 
			
		
		
		
		Looks like line [client_process.cpp:4333] is not using the new item classes properly.  It's passing int16 failedproduct into PutItemInInventory when an ItemInst object is expected.  This causes the compile to fail when using gcc 3.2. 
I suspect this was just one conversion to the new item structs that slipped through the cracks.
 
I changed from this:
 
	Code: 
	else{
  this->Message(4,"You lacked the skills to fashion the items together.");
  if (failproduct!=0)                               
    PutItemInInventory(30,failproduct,1);                        
}
 to this:
 
	Code: 
	else{
  this->Message(4,"You lacked the skills to fashion the items together.");
  if (failproduct!=0) {
    const Item_Struct* myitem = database.GetItem(failproduct);         
    ItemCommonInst common(myitem, 0);                                  
    PutItemInInventory(30,(ItemInst&)common,1);                        
  }
}
 I'm not sure if going to the database is appropriate here, so if there's a better solution, post away!
 
regards,
 
krich  
		
	
		
		
		
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
		
		
			
			 
			
				09-22-2003, 08:19 AM
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Dragon 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: May 2003 
					Location: Seattle, WA 
					
					
						Posts: 609
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
			 
			
		
		
		
		That is strange.  vs.net happily compiles that bit of code.  It's not a case of being #ifdef'd out, either. 
 
The code you put in is correct, and has been checked into our internal source code repository.  Thanks for catching that. 
 
There are some other bits of code around this bit that will need changing as well - but I can't change it at the moment because I can't test it: 
 
Item ID is now a uint32, and an int16 runs the risk of overflow these days.  Even a uint16 won't cut it.  If you catch any spots in code using int16 for item id, please let us know! 
		
	
		
		
		
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
		
		
			
			 
			
				09-22-2003, 08:29 AM
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Sarnak 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: Sep 2003 
					
					
					
						Posts: 78
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
			 
			
		
		
		
		It works on linux on irc chat I forget his name got to work. 
		
	
		
		
		
		
		
		
			
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
		
		
			
			 
			
				09-22-2003, 08:33 AM
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Dragon 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: May 2003 
					Location: Seattle, WA 
					
					
						Posts: 609
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
			 
			
		
		
		
		Krich already posted the solution...  If interested, please re-read his post. 
		
	
		
		
		
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
		
		
			
			 
			
				09-22-2003, 11:06 PM
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Demi-God 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: Jan 2002 
					Location: Charlotte, NC 
					
					
						Posts: 2,614
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
			 
			
		
		
		
		I pushed a new CVS update out last night, should correct this issue.  I also removed a couple of warnings that  newer gcc's complain about. 
 
Only problem I'm having now is with the crc32 asm code I modified for linux,  the newer glibc/nasm is not compiling it properly,  and I really hate to have to rewrite that function again!!!  Probably only affects me as I'm using bleeding edge gentoo builds  (~x86 unstable versions) 
		
	
		
		
		
		
		
		
			
				__________________ 
				Quitters never win, and winners never quit, but those who never win and never quit are idiots.
			 
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
	
		 
	 
 
	
	
		
	
	
 
    | 
   | 
    | 
  
 
	
		
		
		
			
			 
			
				09-23-2003, 10:38 AM
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Fire Beetle 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: Sep 2003 
					
					
					
						Posts: 3
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
				 
				crc32.cpp probs on linux
			 
			 
			
		
		
		
		heya trumpcard.. do you get something like this: 
 
gcc -c -Wall -Wuninitialized -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wcomment -Wcast-align -Winline -Wno-deprecated -g -march=i686 -O -pthread -pipe -DFX -D_GNU_SOURCE -DINVERSEXY -DWORLD -DDEBUG=5 -DSHAREMEM -DCATCH_CRASH -DNO_PIDLOG -I/usr/include/mysql -I/usr/mysql/include ../common/crc32.cpp -o ../common/crc32.o 
../common/crc32.cpp:105:2: warning: #warning "Comment out i386 define if your arch isn't x86" 
../common/crc32.cpp: In static member function `static uint32 CRC32::Update(const int8*, unsigned int, unsigned int)': 
../common/crc32.cpp:167: error: asm-specifier for variable `__crc32' conflicts with asm clobber list 
make: *** [../common/crc32.o] Error 1 
 
 
that's from CVS about 5 mins ago... 
 
lol no clue wot to do about it though :P 
 
oops...  
 
Mandrake 9.2 RC1 is wots on the beast... i guess that's pretty recent... mmm...  
 
Gcc specs: 
Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.1/specs 
Configured with: ../configure --prefix=/usr --libdir=/usr/lib --with-slibdir=/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --enable-long-long --enable-__cxa_atexit --enable-languages=c,c++,ada,f77,objc,java,pascal --host=i586-mandrake-linux-gnu --with-system-zlib 
Thread model: posix 
gcc version 3.3.1 (Mandrake Linux 9.2 3.3.1-1mdk) 
 
ldconfig -v | grep 'glib' : 
libglib-2.0.so.0 -> libglib-2.0.so.0.200.2 
libglib-1.2.so.0 -> libglib-1.2.so.0.0.10 
 
working dev environment though, cuz i've had to recompile a helluvalot of junk :P *mumble*apache/php/mysql/etc..*mumble* 
 
anyways... 
 
watchin this with interest 
 
><'> 
		
	
		
		
		
		
		
		
		
		
		
	
		
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
 
    | 
   | 
    | 
  
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
		
		
			
			 
			
				09-23-2003, 12:54 PM
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Fire Beetle 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: Sep 2003 
					
					
					
						Posts: 3
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
			 
			
		
		
		
		got bored so am gettin the latest snapshot from glibc.. maybe the prob been fixed... 
 
la la la 
		
	
		
		
		
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
		
		
			
			 
			
				09-23-2003, 02:51 PM
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Demi-God 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: Jan 2002 
					Location: Charlotte, NC 
					
					
						Posts: 2,614
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
			 
			
		
		
		
		Yep, probably the new gcc is what I'm guessing (3.3.1) 
 
Easiest way around this for the timebeing is to change comment out the define(i386) in common/crc32.cpp.   (might have to change the elif(i386)   to something like elif(i986)  just to make sure it tries to use the old way of generating crc... 
		
	
		
		
		
		
		
		
			
				__________________ 
				Quitters never win, and winners never quit, but those who never win and never quit are idiots.
			 
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
		
		
			
			 
			
				09-23-2003, 03:51 PM
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Fire Beetle 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: Sep 2003 
					
					
					
						Posts: 3
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
			 
			
		
		
		
		k... 
i've updated gcc/glib/libstdc++ from the cooker rep...
 
gonna give it another try   
i'll change the #elif(i386) to jump over that bit if it bangs again
   
		
	
		
		
		
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
	
		 
	 
 
 
	
		
	
	
	
	
	| Thread Tools | 
	
 
	| 
	
	
	
	 | 
	
 
	| Display Modes | 
	
 
	
	
	
	
		  Linear Mode 
		
		
	 
	
	 | 
	
	
 
 
	
		
	
		 
		Posting Rules
	 | 
 
	
		
		You may not post new threads 
		You may not post replies 
		You may not post attachments 
		You may not edit your posts 
		 
		
		
		
		
		HTML code is Off 
		 
		
	  | 
 
 
	 | 
	
		
	 | 
 
 
All times are GMT -4. The time now is 09:10 AM. 
 
		 
	 
 
 
     | 
     | 
    
   
      | 
     | 
      | 
    
   
     | 
      | 
     | 
    
   
       | 
      | 
       | 
     
    
    
  | 
   |