mirror of
				https://github.com/zenorogue/hyperrogue.git
				synced 2025-10-31 05:52:59 +00:00 
			
		
		
		
	fixed some shmup-related crashes
This commit is contained in:
		| @@ -1197,7 +1197,8 @@ void shootBullet(monster *m) { | ||||
|   } | ||||
|  | ||||
| void killThePlayer(eMonster m) { | ||||
|   pc[cpid]->dead = true; | ||||
|   if(cpid >= 0 && cpid < MAXPLAYER && pc[cpid]) | ||||
|     pc[cpid]->dead = true; | ||||
|   } | ||||
|  | ||||
| monster *playerCrash(monster *who, hyperpoint where) { | ||||
| @@ -3293,13 +3294,16 @@ void clearMemory() { | ||||
|   nextmove = 0; | ||||
|   nextdragon = 0; | ||||
|   visibleAt = 0; | ||||
|   for(int i=0; i<MAXPLAYER; i++) pc[i] = NULL; | ||||
|   } | ||||
|  | ||||
| cell *playerpos(int i) { | ||||
|   if(!pc[i]) return NULL; | ||||
|   return pc[i]->base; | ||||
|   } | ||||
|  | ||||
| bool playerInBoat(int i) { | ||||
|   if(!pc[i]) return false; | ||||
|   return pc[i]->inBoat; | ||||
|   } | ||||
|  | ||||
|   | ||||
							
								
								
									
										16
									
								
								system.cpp
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								system.cpp
									
									
									
									
									
								
							| @@ -97,6 +97,12 @@ void initgame() { | ||||
|   DEBB(DF_INIT, (debugfile,"initGame\n")); | ||||
|   callhooks(hooks_initgame);  | ||||
|  | ||||
|   if(!safety) multi::players = vid.scfg.players; | ||||
|   if(multi::players < 1 || multi::players > MAXPLAYER) | ||||
|     multi::players = 1; | ||||
|   multi::whereto[0].d = MD_UNDECIDED; | ||||
|   multi::cpid = 0; | ||||
|  | ||||
|   yendor::init(1); | ||||
|    | ||||
|   if(safety && safetyseed) { | ||||
| @@ -160,6 +166,8 @@ void initgame() { | ||||
|  | ||||
|   yendor::lastchallenge = yendor::challenge; | ||||
|    | ||||
|   if(shmup::on) shmup::init(); | ||||
|    | ||||
|   yendor::init(2); | ||||
|    | ||||
|   clear_euland(specialland); | ||||
| @@ -180,14 +188,6 @@ void initgame() { | ||||
|      | ||||
|   for(int i=0; i<numplayers(); i++) sword::angle[i] = PURE ? 10 : 11; | ||||
|  | ||||
|   if(!safety) multi::players = vid.scfg.players; | ||||
|   if(multi::players < 1 || multi::players > MAXPLAYER) | ||||
|     multi::players = 1; | ||||
|   multi::whereto[0].d = MD_UNDECIDED; | ||||
|   multi::cpid = 0; | ||||
|  | ||||
|   if(shmup::on) shmup::init(); | ||||
|    | ||||
|   #if CAP_DAILY | ||||
|   daily::split(); | ||||
|   #endif | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Zeno Rogue
					Zeno Rogue