|
|
1.1 ! root 1: /* w_stubs.c ! 2: * ! 3: * Micropolis, Unix Version. This game was released for the Unix platform ! 4: * in or about 1990 and has been modified for inclusion in the One Laptop ! 5: * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If ! 6: * you need assistance with this program, you may contact: ! 7: * http://wiki.laptop.org/go/Micropolis or email [email protected]. ! 8: * ! 9: * This program is free software: you can redistribute it and/or modify ! 10: * it under the terms of the GNU General Public License as published by ! 11: * the Free Software Foundation, either version 3 of the License, or (at ! 12: * your option) any later version. ! 13: * ! 14: * This program is distributed in the hope that it will be useful, but ! 15: * WITHOUT ANY WARRANTY; without even the implied warranty of ! 16: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ! 17: * General Public License for more details. You should have received a ! 18: * copy of the GNU General Public License along with this program. If ! 19: * not, see <http://www.gnu.org/licenses/>. ! 20: * ! 21: * ADDITIONAL TERMS per GNU GPL Section 7 ! 22: * ! 23: * No trademark or publicity rights are granted. This license does NOT ! 24: * give you any right, title or interest in the trademark SimCity or any ! 25: * other Electronic Arts trademark. You may not distribute any ! 26: * modification of this program using the trademark SimCity or claim any ! 27: * affliation or association with Electronic Arts Inc. or its employees. ! 28: * ! 29: * Any propagation or conveyance of this program must include this ! 30: * copyright notice and these terms. ! 31: * ! 32: * If you convey this program (or any modifications of it) and assume ! 33: * contractual liability for the program to recipients of it, you agree ! 34: * to indemnify Electronic Arts for any liability that those contractual ! 35: * assumptions impose on Electronic Arts. ! 36: * ! 37: * You may not misrepresent the origins of this program; modified ! 38: * versions of the program must be marked as such and not identified as ! 39: * the original program. ! 40: * ! 41: * This disclaimer supplements the one included in the General Public ! 42: * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS ! 43: * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY ! 44: * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF ! 45: * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS ! 46: * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, ! 47: * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, ! 48: * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY ! 49: * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, ! 50: * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST ! 51: * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL ! 52: * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE ! 53: * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE ! 54: * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE ! 55: * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR ! 56: * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME ! 57: * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED ! 58: * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A ! 59: * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY ! 60: * NOT APPLY TO YOU. ! 61: */ ! 62: #include "sim.h" ! 63: ! 64: ! 65: /* Stubs */ ! 66: ! 67: ! 68: QUAD TotalFunds; ! 69: short PunishCnt; ! 70: short autoBulldoze, autoBudget; ! 71: QUAD LastMesTime; ! 72: short GameLevel; ! 73: short InitSimLoad; ! 74: short ScenarioID; ! 75: short SimSpeed; ! 76: short SimMetaSpeed; ! 77: short UserSoundOn; ! 78: char *CityName; ! 79: short NoDisasters; ! 80: short MesNum; ! 81: short EvalChanged; ! 82: short flagBlink; ! 83: ! 84: ! 85: Spend(int dollars) ! 86: { ! 87: SetFunds(TotalFunds - dollars); ! 88: } ! 89: ! 90: ! 91: SetFunds(int dollars) ! 92: { ! 93: TotalFunds = dollars; ! 94: UpdateFunds(); ! 95: } ! 96: ! 97: ! 98: /* Mac */ ! 99: ! 100: QUAD TickCount() ! 101: { ! 102: struct timeval time; ! 103: ! 104: gettimeofday(&time, 0); ! 105: ! 106: return (QUAD)((time.tv_sec / 60) + (time.tv_usec * 1000000 / 60)); ! 107: } ! 108: ! 109: ! 110: Ptr ! 111: NewPtr(size) ! 112: int size; ! 113: { ! 114: return ((Ptr)calloc(size, sizeof(Byte))); ! 115: } ! 116: ! 117: ! 118: /* w_hlhandlers.c */ ! 119: ! 120: GameStarted() ! 121: { ! 122: InvalidateMaps(); ! 123: InvalidateEditors(); ! 124: gettimeofday(&start_time, NULL); ! 125: ! 126: switch (Startup) { ! 127: case -2: /* Load a city */ ! 128: if (LoadCity(StartupName)) { ! 129: DoStartLoad(); ! 130: StartupName = NULL; ! 131: break; ! 132: } ! 133: StartupName = NULL; ! 134: case -1: ! 135: if (StartupName != NULL) { ! 136: setCityName(StartupName); ! 137: StartupName = NULL; ! 138: } else { ! 139: setCityName("NowHere"); ! 140: } ! 141: DoPlayNewCity(); ! 142: break; ! 143: case 0: ! 144: DoReallyStartGame(); ! 145: break; ! 146: default: /* scenario number */ ! 147: DoStartScenario(Startup); ! 148: break; ! 149: } ! 150: } ! 151: ! 152: ! 153: DoPlayNewCity() ! 154: { ! 155: Eval("UIPlayNewCity"); ! 156: } ! 157: ! 158: ! 159: DoReallyStartGame() ! 160: { ! 161: Eval("UIReallyStartGame"); ! 162: } ! 163: ! 164: ! 165: DoStartLoad() ! 166: { ! 167: Eval("UIStartLoad"); ! 168: } ! 169: ! 170: ! 171: DoStartScenario(int scenario) ! 172: { ! 173: char buf[256]; ! 174: ! 175: sprintf(buf, "UIStartScenario %d", scenario); ! 176: Eval(buf); ! 177: } ! 178: ! 179: ! 180: DropFireBombs() ! 181: { ! 182: Eval("DropFireBombs"); ! 183: } ! 184: ! 185: ! 186: InitGame() ! 187: { ! 188: sim_skips = sim_skip = sim_paused = sim_paused_speed = heat_steps = 0; ! 189: setSpeed(0); ! 190: } ! 191: ! 192: ! 193: ReallyQuit() ! 194: { ! 195: sim_exit(0); // Just sets tkMustExit and ExitReturn ! 196: } ! 197: ! 198:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.