mirror of
				https://github.com/zenorogue/hyperrogue.git
				synced 2025-10-30 21:42:59 +00:00 
			
		
		
		
	left-handed player characters
This commit is contained in:
		| @@ -82,6 +82,7 @@ void addsaver(charstyle& cs, string s) { | |||||||
|   addsaver(cs.swordcolor, s + ".swordcolor"); |   addsaver(cs.swordcolor, s + ".swordcolor"); | ||||||
|   addsaver(cs.dresscolor2, s + ".dresscolor2"); |   addsaver(cs.dresscolor2, s + ".dresscolor2"); | ||||||
|   addsaver(cs.uicolor, s + ".uicolor"); |   addsaver(cs.uicolor, s + ".uicolor"); | ||||||
|  |   addsaver(cs.lefthanded, s + ".lefthanded"); | ||||||
|   } |   } | ||||||
|    |    | ||||||
| // R:239, G:208, B:207  | // R:239, G:208, B:207  | ||||||
| @@ -102,6 +103,7 @@ void initcs(charstyle &cs) { | |||||||
|   cs.swordcolor = 0xD0D0D0FF; |   cs.swordcolor = 0xD0D0D0FF; | ||||||
|   cs.dresscolor2= 0x8080FFC0; |   cs.dresscolor2= 0x8080FFC0; | ||||||
|   cs.uicolor    = 0xFF0000FF; |   cs.uicolor    = 0xFF0000FF; | ||||||
|  |   cs.lefthanded = false; | ||||||
|   } |   } | ||||||
|  |  | ||||||
| #if CAP_CONFIG | #if CAP_CONFIG | ||||||
| @@ -1408,6 +1410,8 @@ void showCustomizeChar() { | |||||||
|   if(!shmup::on && multi::players == 1) dialog::addSelItem(XLAT("save whom"), XLAT1(minf[moPrincess].name), 'p'); |   if(!shmup::on && multi::players == 1) dialog::addSelItem(XLAT("save whom"), XLAT1(minf[moPrincess].name), 'p'); | ||||||
|    |    | ||||||
|   if(numplayers() > 1) dialog::addSelItem(XLAT("player"), its(shmup::cpid+1), 'a'); |   if(numplayers() > 1) dialog::addSelItem(XLAT("player"), its(shmup::cpid+1), 'a'); | ||||||
|  |  | ||||||
|  |   dialog::addBoolItem(XLAT("left-handed"), cs.lefthanded, 'l'); | ||||||
|    |    | ||||||
|   dialog::addBreak(50); |   dialog::addBreak(50); | ||||||
|   dialog::addBack(); |   dialog::addBack(); | ||||||
| @@ -1442,6 +1446,7 @@ void showCustomizeChar() { | |||||||
|     else if(uni == 'd') switchcolor(cs.dresscolor, cat ? haircolors : dresscolors); |     else if(uni == 'd') switchcolor(cs.dresscolor, cat ? haircolors : dresscolors); | ||||||
|     else if(uni == 'f') switchcolor(cs.dresscolor2, dresscolors2); |     else if(uni == 'f') switchcolor(cs.dresscolor2, dresscolors2); | ||||||
|     else if(uni == 'u') switchcolor(cs.uicolor, eyecolors); |     else if(uni == 'u') switchcolor(cs.uicolor, eyecolors); | ||||||
|  |     else if(uni == 'l') cs.lefthanded = !cs.lefthanded; | ||||||
|     else if(doexiton(sym, uni)) popScreen(); |     else if(doexiton(sym, uni)) popScreen(); | ||||||
|     }; |     }; | ||||||
|   } |   } | ||||||
|   | |||||||
							
								
								
									
										18
									
								
								graph.cpp
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								graph.cpp
									
									
									
									
									
								
							| @@ -894,27 +894,29 @@ bool drawMonsterType(eMonster m, cell *where, const transmatrix& V, color_t col, | |||||||
|       if(items[itOrbSide1] && !shmup::on) |       if(items[itOrbSide1] && !shmup::on) | ||||||
|         queuepoly(VBODY * spin(-M_PI/24), cs.charid >= 2 ? shSabre : shPSword, fc(314, cs.swordcolor, 3)); // 3 not colored |         queuepoly(VBODY * spin(-M_PI/24), cs.charid >= 2 ? shSabre : shPSword, fc(314, cs.swordcolor, 3)); // 3 not colored | ||||||
|        |        | ||||||
|  |       transmatrix VWPN = cs.lefthanded ? VBODY * Mirror : VBODY; | ||||||
|  |        | ||||||
|       if(peace::on) ; |       if(peace::on) ; | ||||||
|       else if(items[itOrbThorns]) |       else if(items[itOrbThorns]) | ||||||
|         queuepoly(VBODY, shHedgehogBladePlayer, items[itOrbDiscord] ? watercolor(0) : 0x00FF00FF); |         queuepoly(VWPN, shHedgehogBladePlayer, items[itOrbDiscord] ? watercolor(0) : 0x00FF00FF); | ||||||
|       else if(!shmup::on && items[itOrbDiscord]) |       else if(!shmup::on && items[itOrbDiscord]) | ||||||
|         queuepoly(VBODY, cs.charid >= 2 ? shSabre : shPSword, watercolor(0)); |         queuepoly(VWPN, cs.charid >= 2 ? shSabre : shPSword, watercolor(0)); | ||||||
|       else if(items[itRevolver]) |       else if(items[itRevolver]) | ||||||
|         queuepoly(VBODY, shGunInHand, fc(314, cs.swordcolor, 3)); // 3 not colored |         queuepoly(VWPN, shGunInHand, fc(314, cs.swordcolor, 3)); // 3 not colored | ||||||
|       else if(items[itOrbSlaying]) { |       else if(items[itOrbSlaying]) { | ||||||
|         queuepoly(VBODY, shFlailTrunk, fc(314, cs.swordcolor, 3)); |         queuepoly(VWPN, shFlailTrunk, fc(314, cs.swordcolor, 3)); | ||||||
|         queuepoly(VBODY, shHammerHead, fc(314, cs.swordcolor, 3)); |         queuepoly(VWPN, shHammerHead, fc(314, cs.swordcolor, 3)); | ||||||
|         } |         } | ||||||
|       else if(!shmup::on) |       else if(!shmup::on) | ||||||
|         queuepoly(VBODY, cs.charid >= 2 ? shSabre : shPSword, fc(314, cs.swordcolor, 3)); // 3 not colored |         queuepoly(VWPN, cs.charid >= 2 ? shSabre : shPSword, fc(314, cs.swordcolor, 3)); // 3 not colored | ||||||
|       else if(shmup::curtime >= shmup::getPlayer()->nextshot) |       else if(shmup::curtime >= shmup::getPlayer()->nextshot) | ||||||
|         queuepoly(VBODY, shPKnife, fc(314, cs.swordcolor, 3)); // 3 not colored |         queuepoly(VWPN, shPKnife, fc(314, cs.swordcolor, 3)); // 3 not colored | ||||||
|        |        | ||||||
|       if(items[itOrbBeauty]) { |       if(items[itOrbBeauty]) { | ||||||
|         if(cs.charid&1) |         if(cs.charid&1) | ||||||
|           queuepoly(VHEAD, shFlowerHair, darkena(iinf[itOrbBeauty].color, 0, 0xFF)); |           queuepoly(VHEAD, shFlowerHair, darkena(iinf[itOrbBeauty].color, 0, 0xFF)); | ||||||
|         else |         else | ||||||
|           queuepoly(VBODY, shFlowerHand, darkena(iinf[itOrbBeauty].color, 0, 0xFF)); |           queuepoly(VWPN, shFlowerHand, darkena(iinf[itOrbBeauty].color, 0, 0xFF)); | ||||||
|         } |         } | ||||||
|        |        | ||||||
|       if(where && where->land == laWildWest) { |       if(where && where->land == laWildWest) { | ||||||
|   | |||||||
							
								
								
									
										1
									
								
								hyper.h
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								hyper.h
									
									
									
									
									
								
							| @@ -749,6 +749,7 @@ void activateActiv(cell *c, bool msg); | |||||||
| struct charstyle { | struct charstyle { | ||||||
|   int charid; |   int charid; | ||||||
|   color_t skincolor, haircolor, dresscolor, swordcolor, dresscolor2, uicolor; |   color_t skincolor, haircolor, dresscolor, swordcolor, dresscolor2, uicolor; | ||||||
|  |   bool lefthanded; | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
| string csname(charstyle& cs); | string csname(charstyle& cs); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Zeno Rogue
					Zeno Rogue