| 1 | # Original TCL/X sound server support -- not used in OLPC Micropolis. |
| 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 micropolis@laptop.org. |
| 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 | global errorInfo |
| 63 | set errorInfo {} |
| 64 | |
| 65 | global auto_noexec |
| 66 | set auto_noexec 1 |
| 67 | |
| 68 | proc echo {args} { |
| 69 | puts stdout $args |
| 70 | flush stdout |
| 71 | } |
| 72 | |
| 73 | source $tk_library/wish.tcl |
| 74 | |
| 75 | global ResourceDir |
| 76 | set ResourceDir "" |
| 77 | |
| 78 | proc StartSound {resourcedir} { |
| 79 | global ResourceDir |
| 80 | set ResourceDir $resourcedir |
| 81 | } |
| 82 | |
| 83 | proc KillSoundServer {} { |
| 84 | catch "destroy ." |
| 85 | echo Sound server exiting. |
| 86 | exit |
| 87 | } |
| 88 | |
| 89 | proc ConnectNewClient {mode f} { |
| 90 | echo "ConnectNewClient mode $mode f $f" |
| 91 | } |
| 92 | |
| 93 | |
| 94 | set ChatSocket 8888 |
| 95 | set ChatServer {} |
| 96 | |
| 97 | if {0} { |
| 98 | |
| 99 | catch { |
| 100 | set ChatServer [accept $ChatSocket] |
| 101 | } |
| 102 | |
| 103 | if {$ChatServer != {}} then { |
| 104 | filehandler $ChatServer e "ConnectNewClient" |
| 105 | } |
| 106 | |
| 107 | } |
| 108 | |
| 109 | |
| 110 | set ResourceDir $tk_library |
| 111 | |
| 112 | sound file Rumble $ResourceDir/rumble.au |
| 113 | sound file HeavyTraffic $ResourceDir/traffic.au |
| 114 | sound file Siren $ResourceDir/siren.au |
| 115 | sound file HonkHonk-Low $ResourceDir/honk-low.au |
| 116 | sound file Monster $ResourceDir/monster.au |
| 117 | sound file Explosion-High $ResourceDir/expl-hi.au |
| 118 | sound file HonkHonk-High $ResourceDir/honk-hi.au |
| 119 | sound file HonkHonk-Med $ResourceDir/honk-med.au |
| 120 | sound file Explosion-Low $ResourceDir/expl-low.au |
| 121 | sound file QuackQuack $ResourceDir/quack.au |
| 122 | sound file Ignition $ResourceDir/ignition.au |
| 123 | sound file Whip $ResourceDir/whip.au |
| 124 | sound file Cuckoo $ResourceDir/cuckoo.au |
| 125 | sound file Boing $ResourceDir/boing.au |
| 126 | sound file Skid $ResourceDir/skid.au |
| 127 | sound file Computer $ResourceDir/computer.au |
| 128 | sound file Unix $ResourceDir/unix.au |
| 129 | sound file Sorry $ResourceDir/sorry.au |
| 130 | sound file UhUh $ResourceDir/uhuh.au |
| 131 | sound file Woosh $ResourceDir/woosh.au |
| 132 | sound file Aaah $ResourceDir/aaah.au |
| 133 | sound file Oop $ResourceDir/oop.au |
| 134 | sound file Beep $ResourceDir/beep.au |
| 135 | sound file Bop $ResourceDir/bop.au |
| 136 | sound file Zone $ResourceDir/zone.au |
| 137 | sound file Build $ResourceDir/build.au |
| 138 | sound file Res $ResourceDir/res.au |
| 139 | sound file Com $ResourceDir/com.au |
| 140 | sound file Ind $ResourceDir/ind.au |
| 141 | sound file Fire $ResourceDir/fire.au |
| 142 | sound file Query $ResourceDir/query.au |
| 143 | sound file Police $ResourceDir/police.au |
| 144 | sound file Wire $ResourceDir/wire.au |
| 145 | sound file Bulldozer $ResourceDir/bulldoze.au |
| 146 | sound file Rail $ResourceDir/rail.au |
| 147 | sound file Road $ResourceDir/road.au |
| 148 | sound file Chalk $ResourceDir/chalk.au |
| 149 | sound file Eraser $ResourceDir/eraser.au |
| 150 | sound file Stadium $ResourceDir/stadium.au |
| 151 | sound file Park $ResourceDir/park.au |
| 152 | sound file Seaport $ResourceDir/seaport.au |
| 153 | sound file Coal $ResourceDir/coal.au |
| 154 | sound file Nuclear $ResourceDir/nuclear.au |
| 155 | sound file Airport $ResourceDir/airport.au |
| 156 | sound file O $ResourceDir/o.au |
| 157 | sound file A $ResourceDir/a.au |
| 158 | sound file E $ResourceDir/e.au |