|
|
1.1 ! root 1: # Window: Player, for Unix 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 [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: global PlayerWindows ! 63: set n [Unique] ! 64: set win .player$n ! 65: set PlayerWindows [linsert $PlayerWindows 0 $win] ! 66: ! 67: LinkWindow $head.player $win ! 68: LinkWindow $win.head $head ! 69: ! 70: catch "destroy $win" ! 71: toplevel $win -screen $display ! 72: ! 73: SetHelp $win Player ! 74: ! 75: wm title $win {Micropolis Players} ! 76: wm iconname $win {Micropolis Players} ! 77: wm geometry $win 400x250+5+5 ! 78: wm positionfrom $win user ! 79: wm sizefrom $win user ! 80: wm maxsize $win 700 700 ! 81: wm minsize $win 100 100 ! 82: wm protocol $win delete "DeleteWindow player PlayerWindows" ! 83: wm transient $win $head ! 84: ! 85: frame $win.top \ ! 86: -relief raised \ ! 87: -borderwidth 1 ! 88: LinkWindow $win.background $win.top ! 89: ! 90: label $win.top.label \ ! 91: -text "X11 Servers of Micropolis Players" \ ! 92: -font [Font $win Large] ! 93: ! 94: text $win.top.text \ ! 95: -borderwidth 2 \ ! 96: -relief flat \ ! 97: -wrap word \ ! 98: -state normal \ ! 99: -height 4 \ ! 100: -font [Font $win Medium] ! 101: LinkWindow $win.text $win.top.text ! 102: $win.top.text delete 0.0 end ! 103: $win.top.text insert end {\ ! 104: Micropolis is connected to the X11 servers listed above. ! 105: To add another player to the game, enter their display name. ! 106: If you don't have a "Multi Player" license, you can just \ ! 107: add more players on your own display, by entering ":0".} ! 108: ! 109: $win.top.text configure -state disabled ! 110: ! 111: frame $win.top.f \ ! 112: -relief flat \ ! 113: -borderwidth 1 ! 114: ! 115: SetHelp $win.top.f Player.Display ! 116: ! 117: button $win.top.f.add \ ! 118: -text "Add Player on X11 Display:" \ ! 119: -borderwidth 1 \ ! 120: -font [Font $win Large] \ ! 121: -command "DoNewPlayer $win" ! 122: ! 123: entry $win.top.f.display \ ! 124: -relief sunken \ ! 125: -font [Font $win Large] \ ! 126: -text "" ! 127: bind $win.top.f.display <Return> "DoNewPlayer $win" ! 128: bind $win.top.f.display <Any-Enter> {focus %W} ! 129: LinkWindow $win.display $win.top.f.display ! 130: ! 131: pack append $win.top.f \ ! 132: $win.top.f.add {left frame nw padx 4} \ ! 133: $win.top.f.display {left frame nw expand fillx padx 4} ! 134: ! 135: frame $win.top.g \ ! 136: -relief flat \ ! 137: -borderwidth 1 ! 138: ! 139: SetHelp $win.top.g Player.Players ! 140: ! 141: scrollbar $win.top.g.scroll \ ! 142: -borderwidth 1 \ ! 143: -command "$win.top.g.list yview" ! 144: ! 145: listbox $win.top.g.list \ ! 146: -relief sunken \ ! 147: -borderwidth 1 \ ! 148: -font [Font $win Large] \ ! 149: -yscroll "$win.top.g.scroll set" ! 150: LinkWindow $win.players $win.top.g.list ! 151: ! 152: pack append $win.top.g \ ! 153: $win.top.g.scroll {left filly frame e} \ ! 154: $win.top.g.list {right expand fill frame w} ! 155: ! 156: pack append $win.top \ ! 157: $win.top.label {top frame center fillx} \ ! 158: $win.top.g {top frame center expand fill} \ ! 159: $win.top.text {top frame center fill} \ ! 160: $win.top.f {top frame center fillx} ! 161: ! 162: button $win.dismiss\ ! 163: -font [Font $win Large]\ ! 164: -borderwidth 1 \ ! 165: -text {Dismiss}\ ! 166: -command "wm withdraw $win" ! 167: ! 168: SetHelp $win.dismiss Player.Dismiss ! 169: ! 170: pack append $win\ ! 171: $win.top {top frame center expand fill} \ ! 172: $win.dismiss {bottom frame center fillx} ! 173: ! 174: UpdatePlayers ! 175: ! 176: update idletasks
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.