mirror of
				https://github.com/zenorogue/hyperrogue.git
				synced 2025-10-31 14:02:59 +00:00 
			
		
		
		
	removed junk files
This commit is contained in:
		
							
								
								
									
										75
									
								
								certify.cpp
									
									
									
									
									
								
							
							
						
						
									
										75
									
								
								certify.cpp
									
									
									
									
									
								
							| @@ -1,75 +0,0 @@ | |||||||
| // PRIVATE |  | ||||||
|  |  | ||||||
| namespace anticheat { |  | ||||||
|  |  | ||||||
|   bool tampered; |  | ||||||
|  |  | ||||||
|   void save(FILE *f) { |  | ||||||
|     int cert = 0x1234; |  | ||||||
|     for(int i=0; i<boxid; i++) |  | ||||||
|       cert = 3 * cert + (761349061 + 1463190*i) * savebox[i]; |  | ||||||
|     if(!tampered) fprintf(f, " C %d\n", cert); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|   bool load(FILE *f, score& sc, string ver) { |  | ||||||
|     int cert = 0x1234; |  | ||||||
|     for(int i=0; i<boxid; i++) |  | ||||||
|       cert = 3 * cert + (761349061 + 1463190*i) * sc.box[i]; |  | ||||||
|     char cr; |  | ||||||
|     int scert; |  | ||||||
|     int err = fscanf(f, "%c%d", &cr, &scert); |  | ||||||
|     if(err != 2) return true; |  | ||||||
|     // if(cr == 'C' && cert == scert) printf("Certificate OK\n"); |  | ||||||
|     return cert != scert; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|   int vcertify(string ver, string ss, int a, int b, int c, int d) {  |  | ||||||
|     ss = ver + ss; |  | ||||||
|     const char *s = ss.c_str(); |  | ||||||
|     if(tampered) return -1; |  | ||||||
|     int cert = 0x5678; |  | ||||||
|     while(*s) cert = cert * 37113 + (*s), s++; |  | ||||||
|     cert = cert + a * 681491 + b * 681390411 + c * 581911 + d * 16406101; |  | ||||||
|     return cert; |  | ||||||
|     } |  | ||||||
|      |  | ||||||
|   int certify(string ss, int a, int b, int c, int d) { |  | ||||||
|     return vcertify(VER, ss, a, b, c, d); |  | ||||||
|     } |  | ||||||
|      |  | ||||||
|   int check(int cv, const string& ver, const string& s, int a, int b, int c, int d) {  |  | ||||||
|     if(ver < "8.0f" && cv == d) return true; |  | ||||||
|     return cv == vcertify(ver, s, a, b, c, d); |  | ||||||
|     } |  | ||||||
|    |  | ||||||
|   void nextid(int& tid, const string& ver, int cert) {  |  | ||||||
|     if(ver >= "8.0i") tid += 1 + cert + cert * cert / 7;  |  | ||||||
|     else tid++; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
| // 8.0i: ver included in achievements |  | ||||||
| // 8.0f: fixed in Windows |  | ||||||
|   } |  | ||||||
|  |  | ||||||
| #ifndef MOBILE |  | ||||||
| void SDL_Delay_anticheat(int i) { |  | ||||||
|   saveBox(); |  | ||||||
|   int i0 = 0; savebox[1] = savebox[65] = anticheat::tampered; // do not consider Timer |  | ||||||
|   for(int t=0; t<boxid; t++)  |  | ||||||
|     i0 = 73 * i0 + savebox[t] + savebox[t] * (savebox[t] + 7103); |  | ||||||
|   for(int t=0; t<boxid; t++) savebox[t] = 0; |  | ||||||
|   SDL_Delay(i); |  | ||||||
|  |  | ||||||
|   saveBox();  |  | ||||||
|   int i1 = 0; savebox[1] = savebox[65] = anticheat::tampered; // do not consider Timer |  | ||||||
|   for(int t=0; t<boxid; t++)  |  | ||||||
|     i1 = 73 * i1 + savebox[t] + savebox[t] * (savebox[t] + 7103); |  | ||||||
|    |  | ||||||
|   if(i0 != i1) { |  | ||||||
|     anticheat::tampered = true; |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| #define SDL_Delay SDL_Delay_anticheat |  | ||||||
|  |  | ||||||
							
								
								
									
										386
									
								
								google-games.cpp
									
									
									
									
									
								
							
							
						
						
									
										386
									
								
								google-games.cpp
									
									
									
									
									
								
							| @@ -1,386 +0,0 @@ | |||||||
| // PRIVATE |  | ||||||
|  |  | ||||||
| void viewAchievements(); |  | ||||||
| void viewLeaderboard(string id); |  | ||||||
| void switchGoogleConnection(); |  | ||||||
|  |  | ||||||
| namespace leader {  |  | ||||||
|  |  | ||||||
| bool currentlyConnecting(); |  | ||||||
| bool currentlyConnected(); |  | ||||||
|  |  | ||||||
| string leaderboardIDs[NUMLEADER] = { |  | ||||||
|   "CgkIspzRq_8NEAIQAg", |  | ||||||
|   "CgkIspzRq_8NEAIQKg", |  | ||||||
|   "CgkIspzRq_8NEAIQLA", |  | ||||||
|   "CgkIspzRq_8NEAIQKw", |  | ||||||
|   "CgkIspzRq_8NEAIQLQ", |  | ||||||
|  |  | ||||||
|   "CgkIspzRq_8NEAIQMA", |  | ||||||
|   "CgkIspzRq_8NEAIQLg", |  | ||||||
|   "CgkIspzRq_8NEAIQNQ", |  | ||||||
|   "CgkIspzRq_8NEAIQNg", |  | ||||||
|   "CgkIspzRq_8NEAIQMg", |  | ||||||
|  |  | ||||||
|   "CgkIspzRq_8NEAIQLw", |  | ||||||
|   "CgkIspzRq_8NEAIQOA", |  | ||||||
|   "CgkIspzRq_8NEAIQOg", |  | ||||||
|   "CgkIspzRq_8NEAIQPA", |  | ||||||
|   "CgkIspzRq_8NEAIQOw", |  | ||||||
|  |  | ||||||
|   "CgkIspzRq_8NEAIQPg", // 15 |  | ||||||
|   "CgkIspzRq_8NEAIQPQ", |  | ||||||
|   "CgkIspzRq_8NEAIQUA", |  | ||||||
|   "CgkIspzRq_8NEAIQMw", |  | ||||||
|   "CgkIspzRq_8NEAIQUQ",  |  | ||||||
|  |  | ||||||
|   "CgkIspzRq_8NEAIQVA", // 20 |  | ||||||
|   "CgkIspzRq_8NEAIQUw",  |  | ||||||
|   "CgkIspzRq_8NEAIQVQ",  |  | ||||||
|   "CgkIspzRq_8NEAIQUg", |  | ||||||
|   "CgkIspzRq_8NEAIQcQ", // Grimories |  | ||||||
|   "CgkIspzRq_8NEAIQcg", // 25 Holy Grails |  | ||||||
|  |  | ||||||
|   "CgkIspzRq_8NEAIQdA", // 26 Red Gems |  | ||||||
|   "CgkIspzRq_8NEAIQcw", // 27 Pirate Treasures |  | ||||||
|  |  | ||||||
|   "CgkIspzRq_8NEAIQ4QE", // 28 Shmup mode |  | ||||||
|  |  | ||||||
|   "CgkIspzRq_8NEAIQ4gE", // 29 Shmup time to win |  | ||||||
|   "CgkIspzRq_8NEAIQ4wE",  // 30 Shmup knives to win |  | ||||||
|  |  | ||||||
|   "CgkIspzRq_8NEAIQigE", // 31 bombeggs |  | ||||||
|   "CgkIspzRq_8NEAIQiwE", // 32 ambers |  | ||||||
|   "CgkIspzRq_8NEAIQjAE", // 33 pearls |  | ||||||
|   "CgkIspzRq_8NEAIQjQE", // 34 hyperrugs |  | ||||||
|   "CgkIspzRq_8NEAIQjgE", // 35 garnets |  | ||||||
|  |  | ||||||
|   "CgkIspzRq_8NEAIQ5gE", // 36 princess challenge |  | ||||||
|  |  | ||||||
|   "CgkIspzRq_8NEAIQnAE", // 37 Ivory Figurines |  | ||||||
|   "CgkIspzRq_8NEAIQmgE", // 38 Elemental Gems |  | ||||||
|   "CgkIspzRq_8NEAIQmwE", // 39 Onyxes |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   "CgkIspzRq_8NEAIQwAE", // 40 Yendor Challenge |  | ||||||
|   "CgkIspzRq_8NEAIQ5AE", // 41 Pure Tactics Mode |  | ||||||
|  |  | ||||||
|   "CgkIspzRq_8NEAIQpgE", // 42 Mutant Saplings |  | ||||||
|   "CgkIspzRq_8NEAIQpQE", // 43 Fulgurites |  | ||||||
|  |  | ||||||
|   "", // 44 |  | ||||||
|   "", // 45 |  | ||||||
|   "CgkIspzRq_8NEAIQswE", // 46 Black Lotuses |  | ||||||
|   "CgkIspzRq_8NEAIQsgE", // 47 Mutant Fruits |  | ||||||
|   "CgkIspzRq_8NEAIQsQE", // 48 White Dove |  | ||||||
|  |  | ||||||
|   "CgkIspzRq_8NEAIQ5QE", // 49 PTM shmup |  | ||||||
|   "", // 50 |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   "CgkIspzRq_8NEAIQtQE", // 51 Corals |  | ||||||
|   "CgkIspzRq_8NEAIQtgE", // 52 Thornless Roses |  | ||||||
|   "CgkIspzRq_8NEAIQtwE",  // 53 Chaos Mode |  | ||||||
|  |  | ||||||
|   "CgkIspzRq_8NEAIQwwE", // 54 Tortoise Points |  | ||||||
|   "CgkIspzRq_8NEAIQwgE", // 55 Dragon Scales |  | ||||||
|   "CgkIspzRq_8NEAIQwQE", // 56 Apples |  | ||||||
|   "CgkIspzRq_8NEAIQ4AE", // 57 Heptagonal mode |  | ||||||
|   "CgkIspzRq_8NEAIQ3gE", // 58 Sunken treasures |  | ||||||
|   "CgkIspzRq_8NEAIQ3QE", // 59 Ancient Jewelry |  | ||||||
|   "CgkIspzRq_8NEAIQ3wE", // 60 Golden Eggs |  | ||||||
|    |  | ||||||
|   "", // 61 multiplayer |  | ||||||
|   "", // 62 statistics |  | ||||||
|  |  | ||||||
|   "CgkIspzRq_8NEAIQ6gE", // 63 Halloween |  | ||||||
|      |  | ||||||
|   "CgkIspzRq_8NEAIQ9AE", // 64 Amethyst |  | ||||||
|   "CgkIspzRq_8NEAIQ9QE", // 65 Slime Molds |  | ||||||
|   "CgkIspzRq_8NEAIQ9gE", // 66 Dodecahedra |  | ||||||
|  |  | ||||||
|   "CgkIspzRq_8NEAIQ_gE", // 67 Green Grass |  | ||||||
|   "CgkIspzRq_8NEAIQ_QE", // 68 Spinels |  | ||||||
|     }; |  | ||||||
|  |  | ||||||
| const char* achievementIDs[] = { |  | ||||||
|          "DIAMOND2", "CgkIspzRq_8NEAIQAw", |  | ||||||
|          "SPICE2", "CgkIspzRq_8NEAIQBA", |  | ||||||
|          "GOLD2", "CgkIspzRq_8NEAIQBQ", |  | ||||||
|          "RUBY2", "CgkIspzRq_8NEAIQCQ", |  | ||||||
|          "MIRROR2", "CgkIspzRq_8NEAIQBw", |  | ||||||
|          "FEATHER2", "CgkIspzRq_8NEAIQDA", |  | ||||||
|          "ELIXIR2", "CgkIspzRq_8NEAIQDQ", |  | ||||||
|          "STATUE2", "CgkIspzRq_8NEAIQBg", |  | ||||||
|          "FERN2", "CgkIspzRq_8NEAIQDg", |  | ||||||
|          "TOTEM2", "CgkIspzRq_8NEAIQCA", |  | ||||||
|          "DAISY2", "CgkIspzRq_8NEAIQCw", |  | ||||||
|          "SAPPHIRE2", "CgkIspzRq_8NEAIQDw", |  | ||||||
|          "HYPER2", "CgkIspzRq_8NEAIQCg", |  | ||||||
|          "DIAMOND3", "CgkIspzRq_8NEAIQEA", |  | ||||||
|          "SPICE3", "CgkIspzRq_8NEAIQEQ", |  | ||||||
|          "GOLD3", "CgkIspzRq_8NEAIQEg", |  | ||||||
|          "RUBY3", "CgkIspzRq_8NEAIQEw", |  | ||||||
|          "MIRROR3", "CgkIspzRq_8NEAIQFA", |  | ||||||
|          "FEATHER3", "CgkIspzRq_8NEAIQFQ", |  | ||||||
|          "ELIXIR3", "CgkIspzRq_8NEAIQFg", |  | ||||||
|          "STATUE3", "CgkIspzRq_8NEAIQFw", |  | ||||||
|          "FERN3", "CgkIspzRq_8NEAIQGA", |  | ||||||
|          "TOTEM3", "CgkIspzRq_8NEAIQGQ", |  | ||||||
|          "DAISY3", "CgkIspzRq_8NEAIQGg", |  | ||||||
|          "SAPPHIRE3", "CgkIspzRq_8NEAIQGw", |  | ||||||
|          "HYPER3", "CgkIspzRq_8NEAIQHA", |  | ||||||
|          "DIAMOND4", "CgkIspzRq_8NEAIQHQ", |  | ||||||
|          "SPICE4", "CgkIspzRq_8NEAIQHg", |  | ||||||
|          "GOLD4", "CgkIspzRq_8NEAIQHw", |  | ||||||
|          "RUBY4", "CgkIspzRq_8NEAIQIA", |  | ||||||
|          "MIRROR4", "CgkIspzRq_8NEAIQIQ", |  | ||||||
|          "FEATHER4", "CgkIspzRq_8NEAIQIg", |  | ||||||
|          "ELIXIR4", "CgkIspzRq_8NEAIQIw", |  | ||||||
|          "STATUE4", "CgkIspzRq_8NEAIQJA", |  | ||||||
|          "FERN4", "CgkIspzRq_8NEAIQJQ", |  | ||||||
|          "TOTEM4", "CgkIspzRq_8NEAIQJg", |  | ||||||
|          "DAISY4", "CgkIspzRq_8NEAIQJw", |  | ||||||
|          "SAPPHIRE4", "CgkIspzRq_8NEAIQKA", |  | ||||||
|          "HYPER4", "CgkIspzRq_8NEAIQKQ", |  | ||||||
|          "STABBER2", "CgkIspzRq_8NEAIQPw", |  | ||||||
|          "STABBER3", "CgkIspzRq_8NEAIQQA", |  | ||||||
|          "FLASH2", "CgkIspzRq_8NEAIQQQ", |  | ||||||
|          "FLASH3", "CgkIspzRq_8NEAIQQg", |  | ||||||
|          "LIGHTNING2", "CgkIspzRq_8NEAIQQw", |  | ||||||
|          "LIGHTNING3", "CgkIspzRq_8NEAIQRA", |  | ||||||
|          "FALLDEATH1", "CgkIspzRq_8NEAIQRQ", |  | ||||||
|          "GOLEM2", "CgkIspzRq_8NEAIQRg", |  | ||||||
|          "GOLEM3", "CgkIspzRq_8NEAIQRw", |  | ||||||
|          "MIRAGE", "CgkIspzRq_8NEAIQSA", |  | ||||||
|          "MIRRORKILL2", "CgkIspzRq_8NEAIQSQ", |  | ||||||
|          "MIRRORKILL3", "CgkIspzRq_8NEAIQSg", |  | ||||||
|          "IVYSLAYER", "CgkIspzRq_8NEAIQSw", |  | ||||||
|          "DEMONSLAYER", "CgkIspzRq_8NEAIQTA", |  | ||||||
|          "YENDOR1", "CgkIspzRq_8NEAIQTQ", |  | ||||||
|          "YENDOR2", "CgkIspzRq_8NEAIQTg", |  | ||||||
|  |  | ||||||
|          "WINE2", "CgkIspzRq_8NEAIQVg", |  | ||||||
|          "EMERALD2", "CgkIspzRq_8NEAIQVw", |  | ||||||
|          "SILVER2", "CgkIspzRq_8NEAIQWA", |  | ||||||
|          "JELLY2", "CgkIspzRq_8NEAIQWQ", |  | ||||||
|          "POWER2", "CgkIspzRq_8NEAIQWg", |  | ||||||
|                    |  | ||||||
|          "WINE3", "CgkIspzRq_8NEAIQWw", |  | ||||||
|          "EMERALD3", "CgkIspzRq_8NEAIQXQ", |  | ||||||
|          "SILVER3", "CgkIspzRq_8NEAIQXA", |  | ||||||
|          "JELLY3", "CgkIspzRq_8NEAIQXg", |  | ||||||
|          "POWER3 ", "CgkIspzRq_8NEAIQXw", |  | ||||||
|           |  | ||||||
|          "WINE4", "CgkIspzRq_8NEAIQYA", |  | ||||||
|          "EMERALD4", "CgkIspzRq_8NEAIQYQ", |  | ||||||
|          "SILVER4", "CgkIspzRq_8NEAIQYg", |  | ||||||
|          "JELLY4", "CgkIspzRq_8NEAIQYw", |  | ||||||
|          "POWER4", "CgkIspzRq_8NEAIQZA", |  | ||||||
|                    |  | ||||||
|          "ORB3", "CgkIspzRq_8NEAIQZQ", |  | ||||||
|          "BUG3", "CgkIspzRq_8NEAIQZg", |  | ||||||
|          "LIFEBRINGER", "CgkIspzRq_8NEAIQZw", |  | ||||||
|          "GARDENER ", "CgkIspzRq_8NEAIQaA", |  | ||||||
|          "MELEE3", "CgkIspzRq_8NEAIQaQ", |  | ||||||
|          "MELEE5", "CgkIspzRq_8NEAIQag", |  | ||||||
|  |  | ||||||
|          "GRIMOIRE2", "CgkIspzRq_8NEAIQaw", |  | ||||||
|          "GRIMOIRE3", "CgkIspzRq_8NEAIQbA", |  | ||||||
|          "GRIMOIRE4", "CgkIspzRq_8NEAIQbQ", |  | ||||||
|  |  | ||||||
|          "GRAIL2", "CgkIspzRq_8NEAIQbg", |  | ||||||
|          "GRAIL3", "CgkIspzRq_8NEAIQbw", |  | ||||||
|          "GRAIL4", "CgkIspzRq_8NEAIQcA", |  | ||||||
|  |  | ||||||
|          "PIRATE2", "CgkIspzRq_8NEAIQdQ", |  | ||||||
|          "PIRATE3", "CgkIspzRq_8NEAIQdg", |  | ||||||
|          "PIRATE4", "CgkIspzRq_8NEAIQdw", |  | ||||||
|  |  | ||||||
|          "REDGEM2", "CgkIspzRq_8NEAIQeA", |  | ||||||
|          "REDGEM3", "CgkIspzRq_8NEAIQeQ", |  | ||||||
|          "REDGEM4", "CgkIspzRq_8NEAIQeg", |  | ||||||
|  |  | ||||||
|          "COAST2", "CgkIspzRq_8NEAIQew", |  | ||||||
|          "COAST3", "CgkIspzRq_8NEAIQfA", |  | ||||||
|          "COAST4", "CgkIspzRq_8NEAIQfQ", |  | ||||||
|           |  | ||||||
|          "WHIRL2", "CgkIspzRq_8NEAIQfg", |  | ||||||
|          "WHIRL3", "CgkIspzRq_8NEAIQfw", |  | ||||||
|          "WHIRL4", "CgkIspzRq_8NEAIQgAE", |  | ||||||
|           |  | ||||||
|          "MINE2", "CgkIspzRq_8NEAIQgQE", |  | ||||||
|          "MINE3", "CgkIspzRq_8NEAIQggE", |  | ||||||
|          "MINE4", "CgkIspzRq_8NEAIQgwE", |  | ||||||
|           |  | ||||||
|          "RUG2", "CgkIspzRq_8NEAIQhAE", |  | ||||||
|          "RUG3", "CgkIspzRq_8NEAIQhQE", |  | ||||||
|          "RUG4", "CgkIspzRq_8NEAIQhgE", |  | ||||||
|  |  | ||||||
|          "GARNET2", "CgkIspzRq_8NEAIQhwE", |  | ||||||
|          "GARNET3", "CgkIspzRq_8NEAIQiAE", |  | ||||||
|          "GARNET4", "CgkIspzRq_8NEAIQiQE", |  | ||||||
|  |  | ||||||
|          "ZEBRA2", "CgkIspzRq_8NEAIQkQE", |  | ||||||
|          "ZEBRA3", "CgkIspzRq_8NEAIQkgE", |  | ||||||
|          "ZEBRA4", "CgkIspzRq_8NEAIQkwE", |  | ||||||
|          "ELEMENT2", "CgkIspzRq_8NEAIQlAE", |  | ||||||
|          "ELEMENT3", "CgkIspzRq_8NEAIQlQE", |  | ||||||
|          "ELEMENT4", "CgkIspzRq_8NEAIQlgE", |  | ||||||
|          "TOWER2", "CgkIspzRq_8NEAIQlwE", |  | ||||||
|          "TOWER3", "CgkIspzRq_8NEAIQmAE", |  | ||||||
|          "TOWER4", "CgkIspzRq_8NEAIQmQE", |  | ||||||
|  |  | ||||||
|          "PRINCESS1", "CgkIspzRq_8NEAIQjwE", |  | ||||||
|          "PRINCESS_PACIFIST", "CgkIspzRq_8NEAIQkAE", |  | ||||||
|          // Achievements.unlock(mGoogleApiClient, "CgkIspzRq_8NEAIQAw"), |  | ||||||
|  |  | ||||||
|          "FULGUR2", "CgkIspzRq_8NEAIQoAE", |  | ||||||
|          "FULGUR3", "CgkIspzRq_8NEAIQoQE", |  | ||||||
|          "FULGUR4", "CgkIspzRq_8NEAIQogE", |  | ||||||
|          "HARDMETAL", "CgkIspzRq_8NEAIQpAE", |  | ||||||
|          "ELEC3", "CgkIspzRq_8NEAIQowE", |  | ||||||
|          "MUTANT2", "CgkIspzRq_8NEAIQnQE", |  | ||||||
|          "MUTANT3", "CgkIspzRq_8NEAIQngE", |  | ||||||
|          "MUTANT4", "CgkIspzRq_8NEAIQnwE", |  | ||||||
|  |  | ||||||
|          "DOVE2", "CgkIspzRq_8NEAIQqwE", |  | ||||||
|          "DOVE3", "CgkIspzRq_8NEAIQrAE", |  | ||||||
|          "DOVE4", "CgkIspzRq_8NEAIQrQE", |  | ||||||
|          "LOTUS2", "CgkIspzRq_8NEAIQpwE", |  | ||||||
|          "LOTUS3", "CgkIspzRq_8NEAIQqAE", |  | ||||||
|          "LOTUS4", "CgkIspzRq_8NEAIQqQE", |  | ||||||
|          "FRUIT2", "CgkIspzRq_8NEAIQrgE", |  | ||||||
|          "FRUIT3", "CgkIspzRq_8NEAIQrwE", |  | ||||||
|          "FRUIT4", "CgkIspzRq_8NEAIQsAE", |  | ||||||
|          "COMEBACK", "CgkIspzRq_8NEAIQtAE", |  | ||||||
|          "SURVIVAL", "CgkIspzRq_8NEAIQqgE", |  | ||||||
|  |  | ||||||
|          "CORAL2", "CgkIspzRq_8NEAIQuAE", |  | ||||||
|          "CORAL3", "CgkIspzRq_8NEAIQuQE", |  | ||||||
|          "CORAL4", "CgkIspzRq_8NEAIQugE", |  | ||||||
|          "ROSE2", "CgkIspzRq_8NEAIQuwE", |  | ||||||
|          "ROSE3", "CgkIspzRq_8NEAIQvAE", |  | ||||||
|          "ROSE4", "CgkIspzRq_8NEAIQvQE", |  | ||||||
|          "CR4", "CgkIspzRq_8NEAIQvgE", |  | ||||||
|          "CHAOS", "CgkIspzRq_8NEAIQvwE", |  | ||||||
|  |  | ||||||
|          "APPLE2",  "CgkIspzRq_8NEAIQxAE",  |  | ||||||
|          "APPLE3",  "CgkIspzRq_8NEAIQxQE", |  | ||||||
|          "APPLE4",  "CgkIspzRq_8NEAIQxgE", |  | ||||||
|          "DRAGON2", "CgkIspzRq_8NEAIQxwE", |  | ||||||
|          "DRAGON3", "CgkIspzRq_8NEAIQyAE", |  | ||||||
|          "DRAGON4", "CgkIspzRq_8NEAIQyQE", |  | ||||||
|          "TORTOISE2", "CgkIspzRq_8NEAIQygE", |  | ||||||
|          "TORTOISE3", "CgkIspzRq_8NEAIQywE", |  | ||||||
|          "TORTOISE4", "CgkIspzRq_8NEAIQzAE",      |  | ||||||
|  |  | ||||||
|           "KRAKEN2", "CgkIspzRq_8NEAIQ0QE", |  | ||||||
|           "KRAKEN3", "CgkIspzRq_8NEAIQ0gE", |  | ||||||
|           "KRAKEN4", "CgkIspzRq_8NEAIQ0wE", |  | ||||||
|           "BARROW2", "CgkIspzRq_8NEAIQ1AE", |  | ||||||
|           "BARROW3", "CgkIspzRq_8NEAIQ1QE", |  | ||||||
|           "BARROW4", "CgkIspzRq_8NEAIQ1gE", |  | ||||||
|           "TROLL2", "CgkIspzRq_8NEAIQ1wE", |  | ||||||
|           "TROLL3", "CgkIspzRq_8NEAIQ2AE", |  | ||||||
|           "TROLL4", "CgkIspzRq_8NEAIQ2QE", |  | ||||||
|           "GRAILH", "CgkIspzRq_8NEAIQ2gE", |  | ||||||
|           "HARDCORE", "CgkIspzRq_8NEAIQ3AE", |  | ||||||
|           "SHMUP", "CgkIspzRq_8NEAIQ2wE", |  | ||||||
|           "SLASH2", "CgkIspzRq_8NEAIQzwE", |  | ||||||
|           "GOSWORD", "CgkIspzRq_8NEAIQ0AE", |  | ||||||
|            |  | ||||||
|           "HALLOWEEN1", "CgkIspzRq_8NEAIQ5wE", |  | ||||||
|           "HALLOWEEN2", "CgkIspzRq_8NEAIQ6AE", |  | ||||||
|           "GOBLINSWORD", "CgkIspzRq_8NEAIQ6QE", |  | ||||||
|            |  | ||||||
|           "DOD2", "CgkIspzRq_8NEAIQ6wE", |  | ||||||
|           "DOD3", "CgkIspzRq_8NEAIQ7AE", |  | ||||||
|           "DOD4", "CgkIspzRq_8NEAIQ7QE", |  | ||||||
|           "DUNG2", "CgkIspzRq_8NEAIQ7gE", |  | ||||||
|           "DUNG3", "CgkIspzRq_8NEAIQ7wE", |  | ||||||
|           "DUNG4", "CgkIspzRq_8NEAIQ8AE", |  | ||||||
|           "MOUNT2", "CgkIspzRq_8NEAIQ8QE", |  | ||||||
|           "MOUNT3", "CgkIspzRq_8NEAIQ8gE", |  | ||||||
|           "MOUNT4", "CgkIspzRq_8NEAIQ8wE", |  | ||||||
|            |  | ||||||
|           "PRAIR2", "CgkIspzRq_8NEAIQ9wE", |  | ||||||
|           "PRAIR3", "CgkIspzRq_8NEAIQ-AE", |  | ||||||
|           "PRAIR4", "CgkIspzRq_8NEAIQ-QE", |  | ||||||
|           "BULL2", "CgkIspzRq_8NEAIQ-gE", |  | ||||||
|           "BULL3", "CgkIspzRq_8NEAIQ-wE", |  | ||||||
|           "BULL4", "CgkIspzRq_8NEAIQ_AE", |  | ||||||
|            NULL |  | ||||||
|   }; |  | ||||||
|  |  | ||||||
| const char *getGoogleAchievementID(const string& s) { |  | ||||||
|   const char** a = achievementIDs; |  | ||||||
|   while(*a && **a) { |  | ||||||
|     if(a[0] == s) return a[1]; |  | ||||||
|     a++; |  | ||||||
|     } |  | ||||||
|   return NULL; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
| int qleader, leaders[NUMLEADER]; |  | ||||||
|  |  | ||||||
| int pshift; |  | ||||||
|  |  | ||||||
| void showMenu() { |  | ||||||
|   dialog::init(); |  | ||||||
|   dialog::addItem(XLAT("return to the game"), ' '); |  | ||||||
|   if(!currentlyConnecting()) |  | ||||||
|     dialog::addBoolItem(XLAT("connected to Google Games"), currentlyConnected(), '1'); |  | ||||||
|   else |  | ||||||
|     dialog::addBreak(100); |  | ||||||
|   dialog::addItem(XLAT("view your achievements"), '2'); |  | ||||||
|   dialog::addItem(XLAT("next page"), '3'); |  | ||||||
|    |  | ||||||
|   qleader = 0; |  | ||||||
|   for(int i=0; i<NUMLEADER; i++) if(leaderboardIDs[i] != "") |  | ||||||
|     leaders[qleader++] = i; |  | ||||||
|    |  | ||||||
|   dialog::addBreak(50); |  | ||||||
|    |  | ||||||
|   for(int i=0; i<10; i++) { |  | ||||||
|     int ip = i + pshift; |  | ||||||
|     if(ip < qleader) { |  | ||||||
|       int id = leaders[ip]; |  | ||||||
|       int sco = currentscore[id]; |  | ||||||
|       string ss = sco >= 0 ? its(sco) : SCORE_UNKNOWN ? "?" : "-"; |  | ||||||
|       dialog::addSelItem(leadernames[id], ss, 'a' + i); |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   dialog::display(); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
| void handleKey(int sym, int uni) { |  | ||||||
|   dialog::handleNavigation(sym, uni); |  | ||||||
|   if(uni == '1') |  | ||||||
|     switchGoogleConnection(); |  | ||||||
|   else if(uni == '2') |  | ||||||
|     viewAchievements(); |  | ||||||
|   else if(uni == '3') { |  | ||||||
|     pshift += 10; |  | ||||||
|     if(pshift >= qleader) pshift = 0; |  | ||||||
|     } |  | ||||||
|   else if(uni >= 'a' && uni <= 'a' + 10) { |  | ||||||
|     int id = (uni - 'a') + pshift; |  | ||||||
|     if(id >= qleader) return; |  | ||||||
|     viewLeaderboard(leaderboardIDs[leaders[id]]); |  | ||||||
|     } |  | ||||||
|   else |  | ||||||
|     cmode = emNormal; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
| bool ccon = false; |  | ||||||
| bool incon = false; |  | ||||||
|  |  | ||||||
| bool currentlyConnected() { return ccon; } |  | ||||||
| bool currentlyConnecting() { return incon; } |  | ||||||
|  |  | ||||||
| int scale(int i) { if(i == 13 || i == 15 || i == 29 || i == 45) return 1000; else return 1; } |  | ||||||
|  |  | ||||||
| bool isDescending(int i) { return !isAscending(i); } |  | ||||||
|    |  | ||||||
| } |  | ||||||
		Reference in New Issue
	
	Block a user
	 Zeno Rogue
					Zeno Rogue