[Change] A ton of code cleanup.
This commit is contained in:
		
							parent
							
								
									08a3fe6c9c
								
							
						
					
					
						commit
						3a13801a14
					
				
							
								
								
									
										59
									
								
								src/pilot.c
									
									
									
									
									
								
							
							
						
						
									
										59
									
								
								src/pilot.c
									
									
									
									
									
								
							| @ -1023,7 +1023,7 @@ int pilot_addOutfit(Pilot* pilot, Outfit* outfit, int quantity) { | ||||
| 
 | ||||
|   /* Does outfit already exist? */ | ||||
|   for(i = 0; i < pilot->noutfits; i++) | ||||
|     if(strcmp(outfit->name, pilot->outfits[i].outfit->name)==0) { | ||||
|     if(pilot->outfits[i].outfit == outfit) { | ||||
|       po = &pilot->outfits[i]; | ||||
|       o = po->quantity; | ||||
|       po->quantity += q; | ||||
| @ -1268,6 +1268,8 @@ int pilot_cargoFree(Pilot* p) { | ||||
| 
 | ||||
| /**
 | ||||
|  * @brief Move cargo from one pilot to another. | ||||
|  * | ||||
|  * At the end, dest has exactly the same cargo as src and leaves src with none. | ||||
|  *    @param dest Destination pilot. | ||||
|  *    @param src Source pilot. | ||||
|  *    @return 0 on success. | ||||
| @ -1636,6 +1638,10 @@ Pilot* pilot_createEmpty(Ship* ship, char* name, | ||||
|    | ||||
|   Pilot* dyn; | ||||
|   dyn = malloc(sizeof(Pilot)); | ||||
|   if(dyn == NULL) { | ||||
|     WARN("Unable to allocate memory"); | ||||
|     return 0; | ||||
|   } | ||||
|   pilot_init(dyn, ship, name, faction, ai, 0., NULL, NULL, flags | PILOT_EMPTY); | ||||
|   return dyn; | ||||
| } | ||||
| @ -1648,10 +1654,13 @@ Pilot* pilot_createEmpty(Ship* ship, char* name, | ||||
| Pilot* pilot_copy(Pilot* src) { | ||||
|   int i; | ||||
|   Pilot* dest = malloc(sizeof(Pilot)); | ||||
|   memcpy(dest, src, sizeof(Pilot)); | ||||
|   if(src->name) dest->name = strdup(src->name); | ||||
| 
 | ||||
|   /* Solid. */ | ||||
|   /* Copy data over, we'll have to reset all the pointers though. */ | ||||
|   memcpy(dest, src, sizeof(Pilot)); | ||||
|   if(src->name)   dest->name = strdup(src->name); | ||||
|   if(src->title)  dest->title = strdup(src->title); | ||||
| 
 | ||||
|   /* Copy Solid. */ | ||||
|   dest->solid = malloc(sizeof(Solid)); | ||||
|   memcpy(dest->solid, src->solid, sizeof(Solid)); | ||||
| 
 | ||||
| @ -1661,26 +1670,40 @@ Pilot* pilot_copy(Pilot* src) { | ||||
|     memcpy(dest->mounted, src->mounted, sizeof(int)*src->ship->nmounts); | ||||
|   } | ||||
| 
 | ||||
|   /* Hooks get cleared. */ | ||||
|   memset(dest->hook_type, 0, sizeof(int)*PILOT_HOOKS); | ||||
|   memset(dest->hook, 0, sizeof(int)*PILOT_HOOKS); | ||||
| 
 | ||||
|   /* Copy has no escorts. */ | ||||
|   dest->escorts   = NULL; | ||||
|   dest->nescorts  = 0; | ||||
| 
 | ||||
|   /* AI is not copied. */ | ||||
|   dest->task = NULL; | ||||
| 
 | ||||
|   /* Set pointers and firneds to NULL. */ | ||||
|   /* Outfits. */ | ||||
|   dest->outfits       = NULL; | ||||
|   dest->noutfits      = 0; | ||||
|   dest->secondary     = NULL; | ||||
|   dest->ammo          = NULL; | ||||
|   dest->afterburner   = NULL; | ||||
|   /* Commodities. */ | ||||
|   dest->commodities   = NULL; | ||||
|   dest->ncommodities  = 0; | ||||
|   /* Calculate stats. */ | ||||
|   pilot_calcStats(dest); | ||||
| 
 | ||||
|   /* Copy outfits. */ | ||||
|   dest->outfits     = NULL; | ||||
|   dest->noutfits    = 0; | ||||
|   dest->secondary   = NULL; | ||||
|   dest->ammo        = NULL; | ||||
|   dest->afterburner = NULL; | ||||
|   for(i = 0; i < src->noutfits; i++) | ||||
|     pilot_addOutfit(dest, src->outfits[i].outfit, | ||||
|         src->outfits[i].quantity); | ||||
| 
 | ||||
|   /* Copy commodities. */ | ||||
|   dest->commodities   = NULL; | ||||
|   dest->ncommodities  = 0; | ||||
|   for(i = 0; i < src->ncommodities; i++) | ||||
|     pilot_addCargo(dest, src->commodities[i].commodity, | ||||
|         src->commodities[i].quantity); | ||||
| 
 | ||||
|   /* Ai is not copied. */ | ||||
|   dest->task = NULL; | ||||
| 
 | ||||
|   return dest; | ||||
| } | ||||
| 
 | ||||
| @ -1701,10 +1724,12 @@ void pilot_free(Pilot* p) { | ||||
|     pilot_rmOutfit(p, p->outfits[0].outfit, p->outfits[0].quantity); | ||||
| 
 | ||||
|   /* Remove commodities. */ | ||||
|   if(p->commodities) | ||||
|     free(p->commodities); | ||||
|   if(p->commodities != NULL) | ||||
|     pilot_rmCargo(p, p->commodities[0].commodity, p->commodities[0].quantity); | ||||
| 
 | ||||
|   free(p->name); | ||||
|   /* Free name and title. */ | ||||
|   if(p->name != NULL)   free(p->name); | ||||
|   if(p->title != NULL)  free(p->title); | ||||
| 
 | ||||
|   /* Clean up data. */ | ||||
|   if(p->ai != NULL) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Allanis
						Allanis