mirror of
				https://github.com/zenorogue/hyperrogue.git
				synced 2025-10-31 05:52:59 +00:00 
			
		
		
		
	asonov:: substraction op used for efficient celldistance
This commit is contained in:
		
							
								
								
									
										9
									
								
								cell.cpp
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								cell.cpp
									
									
									
									
									
								
							| @@ -1040,10 +1040,17 @@ EX int celldistance(cell *c1, cell *c2) { | ||||
|    | ||||
|   if(bounded) { | ||||
|    | ||||
|     int limit = 6000; | ||||
|     if(asonov::in()) {  | ||||
|       c2 = asonov::get_at(asonov::get_coord(c2->master) - asonov::get_coord(c1->master))->c7; | ||||
|       c1 = currentmap->gamestart();  | ||||
|       limit = 100000000; | ||||
|       } | ||||
|  | ||||
|     if(saved_distances.count(make_pair(c1,c2))) | ||||
|       return saved_distances[make_pair(c1,c2)]; | ||||
|  | ||||
|     celllister cl(c1, 100, 100000000, NULL); | ||||
|     celllister cl(c1, 100, limit, NULL); | ||||
|     for(int i=0; i<isize(cl.lst); i++) | ||||
|       saved_distances[make_pair(c1, cl.lst[i])] = cl.dists[i]; | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Zeno Rogue
					Zeno Rogue