Annotation of micropolis/src/notes/outline, revision 1.1.1.1

1.1       root        1: BUGS:
                      2: 
                      3: 
                      4: * multi-user "select city" dialog
                      5: ** Add about, configure buttons
                      6: ** draw and erase on map window
                      7: 
                      8: * configuration panel
                      9: ** players
                     10: ** keys
                     11: 
                     12: * sim.
                     13: ** command to set process nice
                     14: ** first editor on a display gets a control window
                     15: 
                     16: 
                     17: * control window.
                     18: ** file menu.
                     19: *** About (dialog)
                     20: *** LoadScenario (confirm)
                     21: *** StartNewCity (confirm)
                     22: *** LoadCity (file dialog)
                     23: *** SaveCity (file dialog if no file name)
                     24: *** SaveCityAs (file dialog)
                     25: *** PrintCity (print dialog)
                     26: *** GetKey (key dialog)
                     27: *** QuitMicropolis (confirm)
                     28: ** options menu
                     29: *** auto budget, auto goto, auto bulldoze, disasters, sound
                     30: ** disasters menu
                     31: *** monster, fire, flood, air crash, tornado, earthquake, meltdown
                     32: ** window menu
                     33:    defer creating windows
                     34: 
                     35: 
                     36: * more controls
                     37: ** command field
                     38: *** type in arguments to menu commands
                     39: *** interpret tcl
                     40: ** icon for each window opened and openable (dim)
                     41: *** window name, display name, user name
                     42: *** click opened icon to bring to top
                     43: *** click openable icon to make new window
                     44: *** make nice icons
                     45: *** display nice icons in x window icons too
                     46: *** save window layout
                     47: *** restore window layout
                     48: ** speed slider
                     49: ** priority slider
                     50: 
                     51: 
                     52: * editor window.
                     53: ** editor view.
                     54: ** tool pallet.
                     55: ** various text fields.
                     56: *** funds, date, message, cost.
                     57: ** initialize controls
                     58: ** autogoto is a per-editor flag
                     59: ** autogoto toggle
                     60: ** coal/nuclear toggle
                     61: ** update frequency slider
                     62: ** cursor tool outline (preview?)
                     63: ** pie menus
                     64: ** earthquake
                     65: ** demand gauge
                     66: ** auto scroll
                     67: ** constrained drag
                     68: ** arrow keys pan
                     69: ** fix autorepeat problem
                     70: 
                     71: 
                     72: * map window.
                     73: ** set window title
                     74: ** initialize pallet and menus
                     75: ** legend tied to map state
                     76: ** menu buttons that appear when needed
                     77: *** zone type
                     78: *** population type
                     79: *** service type
                     80: ** disable manipulation of other peoples maps (unless you're god)
                     81: ** click on a rectangle to bring that editor to the top
                     82: ** create a new editor by clicking on the small map
                     83: ** open new display by typing in a display name and creating a new editor
                     84: ** update frequency slider
                     85: 
                     86: * budget window.
                     87: ** set window title
                     88: ** hour glass
                     89: ** auto budget behavior
                     90:      do we or don't we pause the simulator?
                     91:      do we or don't we bring up other peoples budget window?
                     92:      when AutoBudget, simulator continues, and just your window opens.
                     93:      when not AutoBudget, simulator pauses, so everyones window opens, 
                     94:      hour glasses starts
                     95:      how about we just don't pause, and everyone controls their own window.
                     96: 
                     97: * graph window
                     98: ** set window title
                     99: ** graph object
                    100: *** GraphRange ?10|120?
                    101: *** GraphType 0..5 ?0..1?
                    102: *** set window title
                    103: 
                    104: 
                    105: * dialogs
                    106: 
                    107: ** start scenario.
                    108: *** 6 scenario buttons, labeled.
                    109: *** new city.
                    110: *** load city.
                    111: *** get key
                    112: *** dynamic scenario description
                    113: 
                    114: ** generate city
                    115: *** label "creating new map"
                    116: *** city name text field
                    117: *** city level buttons with labels
                    118: *** map view
                    119: *** generate new terrain
                    120: *** use this map
                    121: *** load city
                    122: *** play scenario
                    123: *** get key
                    124: 
                    125: ** load
                    126: *** file dialog
                    127: 
                    128: ** save
                    129: *** file dialog
                    130: 
                    131: ** print
                    132: *** mono / color
                    133: *** small map / large map
                    134: *** printer command text field
                    135: *** print button
                    136: 
                    137: ** key
                    138: *** Instructions, Address, Phone Number (labels)
                    139: *** License Type: Node/Network (exclusive settings)
                    140: *** License Code: (field)
                    141: *** Enter Key: (text field)
                    142: *** Install Key (button)
                    143: 
                    144: ** zone status
                    145: *** zone type label
                    146: *** Density, Value, Crime, Pollution, Growth (fields)
                    147: 
                    148: ** notice
                    149: *** city size
                    150: **** city size label, description message
                    151: **** town, city, capital, metropolis, megalopolis, winner
                    152: *** warning messages
                    153: **** warning name, description message
                    154: **** pollution, crime, traffic, monster, meltdown, riots, demo, impeachment
                    155: 
                    156: ** about
                    157: *** text, pictures, noises
                    158: 
                    159: ** confirm
                    160: *** message, yes button, no button
                    161: 
                    162: ** error
                    163: *** message
                    164: *** ok
                    165: 
                    166: * evaluation window.
                    167: 
                    168: 
                    169: * help
                    170: 
                    171: 
                    172: * printing
                    173: 
                    174: 
                    175: * sound
                    176: 
                    177: 
                    178: * new elm interface
                    179: 
                    180: 
                    181: * tk
                    182: ** masked pixmap object for canvases (or a regular componant)
                    183: ** pie menus
                    184: 
                    185: 
                    186: 
                    187: 
                    188: * stacks
                    189: 
                    190: ** Audio
                    191:   implement audio interface
                    192: 
                    193: ** Micropolis
                    194:   About box
                    195: *** messages
                    196:   /StartGame { % HomeDir ResourceDir StackDir KeyDir => -
                    197:   /ReallyStartGame { % - => -
                    198:   /NewGame { % - => -
                    199:   /StartLoad { % - => -
                    200:   /StartScenario { % name|number => -
                    201:   /DoStartNewCity { % - => -
                    202:   /DoPlayNewCity { % - => -
                    203:   /DoLoseGame { % - => -
                    204:   /DoLoadScenario { % - => -
                    205:   /DidLoadScenario { % - => -
                    206:   /DoLoadCity { % - => -
                    207:   /HeyLoadCity { % name => -
                    208:   /CancelLoadCity { % - => -
                    209:   /DidLoadCity { % - => -
                    210:   /DidntLoadCity { % error => -
                    211:   /DoSaveCity { % - => -
                    212:   /DoSaveCityAs { % - => -
                    213:   /HeySaveCityAs { % name => -
                    214:   /DidSaveCity { % - => -
                    215:   /DidntSaveCity { % error => -
                    216:   /DoGetKey { % - => -
                    217:   /DoQuitMicropolis { % - => -
                    218:   /InitializeSound { % - => -
                    219:   /ShutDownSound { % - => -
                    220:   /SetUserSound { % bool => -
                    221:   /MakeSound { % n => -
                    222:   /StartSound { % n => -
                    223:   /StopSound { % n => -
                    224:   /SoundOff { % - => -
                    225:   /UckfayEthayOlicepay { % - => -
                    226:   /PrintLargeMap { % - => -
                    227:   /PrintSmallMap { % - => -
                    228:   /HyperDrawLargeMap { % - => -
                    229:   /HyperDrawSmallMap { % - => -
                    230:   /HyperDrawCityView { % - => -
                    231:   /DoPrintCity { % - => -
                    232:   /StartElmd { % - => -
                    233: 
                    234: ** Budget
                    235:   Tax Rate Percent: (slider 0% 20%)
                    236:     /SetTaxRate
                    237:   Taxes Collected: (field)
                    238:   Amount Requested (column heading)
                    239:   Amount Allocated (column heading)
                    240:   Funding Level (column heading)
                    241:   Fire Fund: (field) (numeric) (slider 0% 100%)
                    242:     /SetFireFund
                    243:   Police Fund: (field) (numeric) (slider 0% 100%)
                    244:     /SetPoliceFund
                    245:   Trans. Fund: (field) (numeric) (slider 0% 100%)
                    246:     /SetTransFund
                    247:   Cash Flow: (field)
                    248:   Previous Funds: (field)
                    249:   Current Funds: (field)
                    250:   Hour Glass (inactivity timer)
                    251:     goes for 20 seconds then takes down budget window and continues
                    252:   Go With These Figures (button)
                    253:     /GoWithTheseFigures /ResumeSim /Hide
                    254: *** messages
                    255:   /SetBudget { % [($flow) ($previous) () ($current)] ($collected) tax => -
                    256:   /SetMaxFunds { % [($road)] [road] [($police)] [police] [($fire)] [fire] => -
                    257:   /StartWaiting { % - => -
                    258:     shows hour glass
                    259: 
                    260: ** Editor
                    261:   File (menu)
                    262:     { NIL /DoLoadScenario /Micropolis Send }
                    263:     { NIL /DoStartNewCity /Micropolis Send }
                    264:     { NIL /DoLoadCity /Micropolis Send }
                    265:     { NIL /DoSaveCity /Micropolis Send }
                    266:     { NIL /DoSaveCityAs /Micropolis Send }
                    267:     { NIL /DoPrintCity /Micropolis Send }
                    268:     { NIL /DoGetKey /Micropolis Send }
                    269:     { NIL /DoQuitMicropolis /Micropolis Send }
                    270:   Options (menu)
                    271:     [exch] /SetOptions ClientSend
                    272:   Disasters (menu)
                    273:     { NIL /MakeMonster ClientSend }
                    274:     { NIL /MakeFire ClientSend }
                    275:     { NIL /MakeFlood ClientSend }
                    276:     { NIL /MakeAirCrash ClientSend }
                    277:     { NIL /MakeTornado ClientSend }
                    278:     { NIL /MakeEarthquake ClientSend }
                    279:     { NIL /MakeMeltdown ClientSend }
                    280:   Time (menu)
                    281:     /Action {
                    282:        [exch] /SetSpeed ClientSend
                    283:     } def
                    284:   Priority (menu)
                    285:     /Action {
                    286:        { {1000 5} {500 4} {250 3} {120 2} {60 0} {25 0} {0 0}
                    287:        } exch get cvx exec
                    288:        [exch] /SetNice ClientSend
                    289:        [exch] /SetDelay ClientSend
                    290:     } def
                    291:   Windows (menu)
                    292:     { NIL /UpdateBudget ClientSend }
                    293:     { NIL /UpdateEvaluation ClientSend
                    294:       /MicropolisEvaluation ShowStack }
                    295:     { /MicropolisGraph ShowStack }
                    296:     { /MicropolisSurveyor ShowStack }
                    297:     { /MicropolisNotice ShowStack }
                    298:     { /MicropolisMap ShowStack }
                    299:     { /MicropolisEditor ShowStack }
                    300:   Funds: (field)
                    301:   Date: (field)
                    302:   Message: (field)
                    303:   Editing Icons (exclusive settings)
                    304:     /InitGame
                    305:     /DoSetWandState /SetPowerType
                    306:   Demand: (gauge)
                    307:     /SetDemand { % r c i => -
                    308:   Zoom In/Out (rocker switch)
                    309:   Zoom Reset (button)
                    310:   Tool Cost: (field)
                    311:   Editor View
                    312:     Editing Icons (pie menu)
                    313:       /DoSetWandState
                    314:     Cursor outline showing where tool will operate
                    315:       color codes for tools
                    316:         query          gray
                    317:         bulldozer      brown
                    318:        road            black white
                    319:        wire            black yellow
                    320:        rail            black brown
                    321:        park            brown green
                    322:        residential     green
                    323:        commercial      blue
                    324:        industrial      yellow
                    325:        police          brown blue
                    326:        fire            brown red
                    327:        stadium         gray green
                    328:        coal            gray yellow
                    329:        seaport         gray blue
                    330:        airport         gray white
                    331:        nuclear         gray yellow
                    332:        monster         orange
                    333:        helicopter      red
                    334: 
                    335:        draw (colored pen)
                    336: 
                    337:        
                    338:        
                    339:     Panning with arrow keys
                    340:     Panning by dragging
                    341:     Dynamic panning & bouncing
                    342:     Earthquake
                    343:     Mouse tool handling
                    344:     Tools connect corners
                    345:     Constrained drag
                    346:     Auto scroll
                    347: *** messages
                    348:   /InitGame { % - => -
                    349:   /DoEarthQuake { % - => -
                    350:   /DoSetWandState { % state => -
                    351:   /JustSetWandState { % n => -
                    352:   /SetMessage { % str => -
                    353: 
                    354: ** Evaluation
                    355:   Public Opinion (column header)
                    356:     Is the mayor doing a good job? (field)
                    357:       % yes, % no (fields)
                    358:     What are the worst problems? (field)
                    359:       % problem, ... (fields)
                    360:   Statistics (column header)
                    361:     Population, Net Migration, Assessed, Value, Category (fields)
                    362:     Overall City Score (field)
                    363:       current score (field)
                    364:       anual change (field)
                    365: *** messages
                    366:   /SetEvaluation { % [strings] => -
                    367: 
                    368: ** Graph
                    369:   Graph Plot
                    370:     /InitGraph /GraphMe
                    371:     /SetGraph { % [range year month res com ind money crime pollution] => -
                    372:   10/120 Year (exclusive toggle)
                    373:     /SetGraphRange
                    374:   Residential, Commercial, Industrial, Money, Crime, Pollution (toggles)
                    375: *** messages
                    376: 
                    377: ** Map
                    378:   Scenerio Screen
                    379:     Noisy Grill (toggle)
                    380:     Duck (button)
                    381:     Key (button)
                    382:     New City, Load City (buttons)
                    383:     6 scenarios (buttons)
                    384:     scenario names (labels)
                    385:   Map Background
                    386:     Map View
                    387:       Shows rectangles for editor views
                    388:       Drag rectangles to scroll editor views
                    389:     Terrain Generator
                    390:       Generate New Terrain, Use This Map (buttons)
                    391:     City Map
                    392:       Map State Icons (exclusive settings)
                    393:        Zone Type (menu)
                    394:        Population Type (menu)
                    395:        Service Type (menu)
                    396:        /OnInit
                    397:        /SetMapState /SetZoneType /SetPopNRate /SetPoliceRadius
                    398:       Legend
                    399:        Max/Min / +/- / none (picture)
                    400: *** messages
                    401:   /InitGame { % - => -
                    402: 
                    403: ** Notice
                    404:   Welcome Notice
                    405:   New City (dialog)
                    406:     Creating New Map ... (label)
                    407:     City Name: (text field)
                    408:     Game Level: Easy/Medium/Hard (exclusive settings)
                    409:   Are You Sure?
                    410:     Yes, No (buttons)
                    411:   Really Quit?
                    412:     Save City, Really Quit, Never Mind (buttons)
                    413:   Print City
                    414:     Monochrome/Color (exclusive settings)
                    415:     Edit Small Map, Edit Large Map, Edit City View (buttons)
                    416:     Printer Command: (text field)
                    417:     Print Small Map, Print Large Map, Show Printer Queue (buttons)
                    418:   Install Key
                    419:     Instructions, Address, Phone Number (labels)
                    420:     License Type: Node/Network (exclusive settings)
                    421:     License Code: (field)
                    422:     Enter Key: (text field)
                    423:     Install Key (button)
                    424:   Earthquake Control
                    425:     Richter Scale: (slider .1% 10%)
                    426:     Earthquake (button)
                    427:   Scenario Descriptions
                    428:   Zone Status
                    429:     Zone Type (field)
                    430:     Density, Value, Crime, Pollution, Growth (fields)
                    431:   Game Level Notices
                    432:   Warnings
                    433: *** messages
                    434:   /InitGame { % - => -
                    435:   /ShowNotice { % card => -
                    436:   /ShowPicture { % id => -
                    437:   /ShowZoneStatus { % type [s0 s1 s2 s3 s4] => -
                    438:   /AreYouSure? { % yesResponse => -
                    439:   /Respond { % target thing|null => -
                    440:   /Yes { % - => -
                    441:   /No { % - => -
                    442: 
                    443: ** Surveyor
                    444:   Editor View(s)
                    445:   Zoom In/Out (rocker switch)
                    446:   Zoom Reset (button)
                    447:   Single/Multiple View (toggle)
                    448:   Click on surveyor view to center editor there
                    449: *** messages
                    450:   /AutoGoto { % x y msg => -
                    451:   /AutoGotoClick { % - => -
                    452: 
                    453: ** Help
                    454:   Help Text Display
                    455:   Done (button)
                    456: 
                    457: 
                    458: 
                    459: Dullsville
                    460:        Philip Glass, Powaqqatsi, That Place
                    461: San_Francisco
                    462:        Grateful Dead, Fire on the Mountain
                    463:        Philip Glass, Powaqqatsi, Serra Pelada
                    464: Hamburg
                    465:        Yello, Oh Yeah
                    466: Bern
                    467:        Yello, RubberBandMan
                    468:        Philip Glass, Powaqqatsi, CAUGHT!
                    469: Tokyo
                    470:        Percussions D'Asie
                    471:        Philip Glass, Powaqqatsi, Serra Pelada
                    472: Detroit
                    473: Boston
                    474: Rio_de_Janeiro
                    475:        Philip Glass, Powaqqatsi, From Egypt

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.