Re: [Warzone-dev] Please apply this patch

2007-02-16 Thread Giel van Schijndel
Gerard Krol schreef:
> Giel van Schijndel wrote:
>> Giel van Schijndel schreef:
>>  
>>> Gerard Krol schreef:
>>>  
 I know I only posted it only 4 days ago, but I really sleep better
 when I know my patches have been applied. Could someone apply this
 patch? I even polished it a little bit more.

 This patch prevents a segfault when designing a droid on amd64.
 Reproduce: on amd64, go to the droid design screen and design a
 construction droid. Then hover your mouse over another system, like
 sensor or command.

 Regards,

 Gerard
   
>>> Applied in r750.
>>>
>>> Hope you did sleep well enough those 4 days? Anyway I'm hoping you'll
>>> sleep better now again  ;-) .
>>> 
>> Sorry, I haven't looked at your latest patch until after committing the
>> previous one.
>>
>> Anyway your latest version looks a bit ugly to me. There's an awfully
>> large amount of casts in there, not to mention that your insertion of
>> that switch statement uses the variable `type` which at that point isn't
>> yet initialized => undefined behaviour.
>>   
> Oops, I guess that must be a copy-paste error.
>> Plus I'm not quite sure what the difference is between the first and
>> second patch. Not meaning to offend you though.
>>   
> I just noticed that my patch created a lot of warnings (16) about
> 'warning: initialization from incompatible pointer type'. The second
> patch was a quick attempt to solve that problem. A little too quick as
> it seems.
>
> I tought about it a little and the attached patch avoids the casting
> problem and also doesn't give the warnings.
This version looks nicer. Applied in r764.

-- 
Giel



signature.asc
Description: OpenPGP digital signature
___
Warzone-dev mailing list
Warzone-dev@gna.org
https://mail.gna.org/listinfo/warzone-dev


Re: [Warzone-dev] Please apply this patch

2007-02-16 Thread Gerard Krol

Giel van Schijndel wrote:

Giel van Schijndel schreef:
  

Gerard Krol schreef:
  


I know I only posted it only 4 days ago, but I really sleep better
when I know my patches have been applied. Could someone apply this
patch? I even polished it a little bit more.

This patch prevents a segfault when designing a droid on amd64.
Reproduce: on amd64, go to the droid design screen and design a
construction droid. Then hover your mouse over another system, like
sensor or command.

Regards,

Gerard

  

Applied in r750.

Hope you did sleep well enough those 4 days? Anyway I'm hoping you'll
sleep better now again  ;-) .


Sorry, I haven't looked at your latest patch until after committing the
previous one.

Anyway your latest version looks a bit ugly to me. There's an awfully
large amount of casts in there, not to mention that your insertion of
that switch statement uses the variable `type` which at that point isn't
yet initialized => undefined behaviour.
  

Oops, I guess that must be a copy-paste error.

Plus I'm not quite sure what the difference is between the first and
second patch. Not meaning to offend you though.
  
I just noticed that my patch created a lot of warnings (16) about 
'warning: initialization from incompatible pointer type'. The second 
patch was a quick attempt to solve that problem. A little too quick as 
it seems.


I tought about it a little and the attached patch avoids the casting 
problem and also doesn't give the warnings.


- Gerard
Index: src/design.c
===
--- src/design.c	(revision 762)
+++ src/design.c	(working copy)
@@ -3615,14 +3615,14 @@
 	UDWORDpower, i;
 
 	if (psStats != NULL) {
-COMP_BASE_STATS* bodyStats = asBodyStats + sCurrDesign.asParts[COMP_BODY];
-COMP_BASE_STATS* brainStats = asBrainStats + sCurrDesign.asParts[COMP_BRAIN];
-COMP_BASE_STATS* sensorStats = asSensorStats + sCurrDesign.asParts[COMP_SENSOR];
-COMP_BASE_STATS* ECMStats = asECMStats + sCurrDesign.asParts[COMP_ECM];
-COMP_BASE_STATS* repairStats = asRepairStats + sCurrDesign.asParts[COMP_REPAIRUNIT];
-COMP_BASE_STATS* constructStats = asConstructStats + sCurrDesign.asParts[COMP_CONSTRUCT];
-COMP_BASE_STATS* propulsionStats = asPropulsionStats + sCurrDesign.asParts[COMP_PROPULSION];
-COMP_BASE_STATS* weaponStats = asWeaponStats + sCurrDesign.asWeaps[0];
+UDWORD bodyPower= (asBodyStats + sCurrDesign.asParts[COMP_BODY])->buildPower;
+UDWORD brainPower   = (asBrainStats + sCurrDesign.asParts[COMP_BRAIN])->buildPower;
+UDWORD sensorPower  = (asSensorStats + sCurrDesign.asParts[COMP_SENSOR])->buildPower;
+UDWORD ECMPower = (asECMStats + sCurrDesign.asParts[COMP_ECM])->buildPower;
+UDWORD repairPower  = (asRepairStats + sCurrDesign.asParts[COMP_REPAIRUNIT])->buildPower;
+UDWORD constructPower   = (asConstructStats + sCurrDesign.asParts[COMP_CONSTRUCT])->buildPower;
+UDWORD propulsionPower  = (asPropulsionStats + sCurrDesign.asParts[COMP_PROPULSION])->buildPower;
+UDWORD weaponPower  = (asWeaponStats + sCurrDesign.asWeaps[0])->buildPower;
 
 
 		type = statType(psStats->ref);
@@ -3662,25 +3662,25 @@
 		switch (type)
 		{
 		case COMP_BODY:
-			bodyStats = psStats;
+			bodyPower = psStats->buildPower;
 			break;
 		case COMP_PROPULSION:
-			propulsionStats = psStats;
+			propulsionPower = psStats->buildPower;
 			break;
 		case COMP_ECM:
-			ECMStats = psStats;
+			ECMPower = psStats->buildPower;
 			break;
 		case COMP_SENSOR:
-			sensorStats = psStats;
+			sensorPower = psStats->buildPower;
 			break;
 		case COMP_CONSTRUCT:
-			constructStats = psStats;
+			constructPower = psStats->buildPower;
 			break;
 		case COMP_REPAIRUNIT:
-			repairStats = psStats;
+			repairPower = psStats->buildPower;
 			break;
 		case COMP_WEAPON:
-			weaponStats = psStats;
+			weaponPower = psStats->buildPower;
 			break;
 		//default:
 			//don't want to draw for unknown comp
@@ -3689,15 +3689,15 @@
 		// this code is from calcTemplatePower
 
 	//get the component power
-	power = bodyStats->buildPower + brainStats->buildPower + sensorStats->buildPower + ECMStats->buildPower + repairStats->buildPower + constructStats->buildPower;
+	power = bodyPower + brainPower + sensorPower + ECMPower + repairPower + constructPower;
 
 	/* propulsion power points are a percentage of the bodys' power points */
-	power += (propulsionStats->buildPower *
-		bodyStats->buildPower) / 100;
+	power += (propulsionPower *
+		bodyPower) / 100;
 		
  	//add weapon power
 // FIXME: Only takes first weapon into account
-power += weaponStats->buildPower;
+power += weaponPower;
 	for(i=1; ibuildPower;
@@ -3727,14 +3727,14 @@
 	UDWORDbody, i;
 
 	if (psStats != NULL) {
-COMP_BASE_STATS* bodyStats = asBodyStats + sCurrDesign.asParts[COMP_BODY];
-  

Re: [Warzone-dev] Please apply this patch

2007-02-14 Thread Giel van Schijndel
Giel van Schijndel schreef:
> Gerard Krol schreef:
>   
>> I know I only posted it only 4 days ago, but I really sleep better
>> when I know my patches have been applied. Could someone apply this
>> patch? I even polished it a little bit more.
>>
>> This patch prevents a segfault when designing a droid on amd64.
>> Reproduce: on amd64, go to the droid design screen and design a
>> construction droid. Then hover your mouse over another system, like
>> sensor or command.
>>
>> Regards,
>>
>> Gerard
>> 
> Applied in r750.
>
> Hope you did sleep well enough those 4 days? Anyway I'm hoping you'll
> sleep better now again  ;-) .
Sorry, I haven't looked at your latest patch until after committing the
previous one.

Anyway your latest version looks a bit ugly to me. There's an awfully
large amount of casts in there, not to mention that your insertion of
that switch statement uses the variable `type` which at that point isn't
yet initialized => undefined behaviour.

Plus I'm not quite sure what the difference is between the first and
second patch. Not meaning to offend you though.


-- 
Giel



signature.asc
Description: OpenPGP digital signature
___
Warzone-dev mailing list
Warzone-dev@gna.org
https://mail.gna.org/listinfo/warzone-dev


Re: [Warzone-dev] Please apply this patch

2007-02-14 Thread Giel van Schijndel
Gerard Krol schreef:
> I know I only posted it only 4 days ago, but I really sleep better
> when I know my patches have been applied. Could someone apply this
> patch? I even polished it a little bit more.
>
> This patch prevents a segfault when designing a droid on amd64.
> Reproduce: on amd64, go to the droid design screen and design a
> construction droid. Then hover your mouse over another system, like
> sensor or command.
>
> Regards,
>
> Gerard
Applied in r750.

Hope you did sleep well enough those 4 days? Anyway I'm hoping you'll
sleep better now again  ;-) .

-- 
Giel



signature.asc
Description: OpenPGP digital signature
___
Warzone-dev mailing list
Warzone-dev@gna.org
https://mail.gna.org/listinfo/warzone-dev


Re: [Warzone-dev] Please apply this patch

2007-02-14 Thread Dennis Schridde
Am Mittwoch, 14. Februar 2007 schrieb Gerard Krol:
> I know I only posted it only 4 days ago, but I really sleep better when
> I know my patches have been applied. Could someone apply this patch? I
> even polished it a little bit more.
I think there were no objections? I'll commit it when I am back from my 
journey to Windows...

--Dennis


pgpK8c8b2TNnL.pgp
Description: PGP signature
___
Warzone-dev mailing list
Warzone-dev@gna.org
https://mail.gna.org/listinfo/warzone-dev