]> git.zerfleddert.de Git - micropolis/blob - src/notes/outline
Add an SDL sound backend and use it instead of spawning an external
[micropolis] / src / notes / outline
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
Impressum, Datenschutz