├── COPYING ├── Micropolis ├── Micropolis.png ├── README ├── __init__.py ├── activity ├── activity-micropolis.svg └── activity.info ├── cities ├── about.cty ├── badnews.cty ├── bluebird.cty ├── bruce.cty ├── deadwood.cty ├── finnigan.cty ├── freds.cty ├── haight.cty ├── happisle.cty ├── joffburg.cty ├── kamakura.cty ├── kobe.cty ├── kowloon.cty ├── kyoto.cty ├── linecity.cty ├── med_isle.cty ├── ndulls.cty ├── neatmap.cty ├── radial.cty ├── senri.cty ├── southpac.cty ├── splats.cty ├── wetcity.cty └── yokohama.cty ├── images ├── airport.xpm ├── background-micropolis.xpm ├── button1hilite.xpm ├── button2hilite.xpm ├── button3hilite.xpm ├── button4hilite.xpm ├── checkbox1checked.xpm ├── checkbox1hilite.xpm ├── checkbox1hilitechecked.xpm ├── checkbox2checked.xpm ├── checkbox2hilite.xpm ├── checkbox2hilitechecked.xpm ├── checkbox3checked.xpm ├── checkbox3hilite.xpm ├── checkbox3hilitechecked.xpm ├── coal.xpm ├── com.xpm ├── demandg.xpm ├── fire.xpm ├── gr10.xpm ├── gr10hi.xpm ├── gr120.xpm ├── gr120hi.xpm ├── grcom.xpm ├── grcomhi.xpm ├── grcrim.xpm ├── grcrimhi.xpm ├── grind.xpm ├── grindhi.xpm ├── grmony.xpm ├── grmonyhi.xpm ├── grpoll.xpm ├── grpollhi.xpm ├── grres.xpm ├── grreshi.xpm ├── icairp.xpm ├── icairphi.xpm ├── icchlk.xpm ├── icchlkhi.xpm ├── iccoal.xpm ├── iccoalhi.xpm ├── iccom.xpm ├── iccomhi.xpm ├── icdozr.xpm ├── icdozrhi.xpm ├── icersr.xpm ├── icersrhi.xpm ├── icfire.xpm ├── icfirehi.xpm ├── icind.xpm ├── icindhi.xpm ├── icnuc.xpm ├── icnuchi.xpm ├── icpark.xpm ├── icparkhi.xpm ├── icpol.xpm ├── icpolhi.xpm ├── icqry.xpm ├── icqryhi.xpm ├── icrail.xpm ├── icrailhi.xpm ├── icres.xpm ├── icreshi.xpm ├── icroad.xpm ├── icroadhi.xpm ├── icseap.xpm ├── icseaphi.xpm ├── icstad.xpm ├── icstadhi.xpm ├── icwire.xpm ├── icwirehi.xpm ├── ind.xpm ├── key.xpm ├── key2city.xpm ├── leftdisabled.xpm ├── lefthilite.xpm ├── legendmm.xpm ├── legendn.xpm ├── legendpm.xpm ├── maphilite.xpm ├── micropolisg.xpm ├── micropolism.xpm ├── micropoliss.xpm ├── nuclear.xpm ├── obj1-0.xpm ├── obj1-1.xpm ├── obj1-2.xpm ├── obj1-3.xpm ├── obj1-4.xpm ├── obj2-0.xpm ├── obj2-1.xpm ├── obj2-2.xpm ├── obj2-3.xpm ├── obj2-4.xpm ├── obj2-5.xpm ├── obj2-6.xpm ├── obj2-7.xpm ├── obj3-0.xpm ├── obj3-1.xpm ├── obj3-10.xpm ├── obj3-2.xpm ├── obj3-3.xpm ├── obj3-4.xpm ├── obj3-5.xpm ├── obj3-6.xpm ├── obj3-7.xpm ├── obj3-8.xpm ├── obj3-9.xpm ├── obj4-0.xpm ├── obj4-1.xpm ├── obj4-2.xpm ├── obj4-3.xpm ├── obj4-4.xpm ├── obj4-5.xpm ├── obj4-6.xpm ├── obj4-7.xpm ├── obj5-0.xpm ├── obj5-1.xpm ├── obj5-10.xpm ├── obj5-11.xpm ├── obj5-12.xpm ├── obj5-13.xpm ├── obj5-14.xpm ├── obj5-15.xpm ├── obj5-2.xpm ├── obj5-3.xpm ├── obj5-4.xpm ├── obj5-5.xpm ├── obj5-6.xpm ├── obj5-7.xpm ├── obj5-8.xpm ├── obj5-9.xpm ├── obj6-0.xpm ├── obj6-1.xpm ├── obj6-2.xpm ├── obj7-0.xpm ├── obj7-1.xpm ├── obj7-2.xpm ├── obj7-3.xpm ├── obj7-4.xpm ├── obj7-5.xpm ├── obj8-0.xpm ├── obj8-1.xpm ├── obj8-2.xpm ├── obj8-3.xpm ├── playhilite.xpm ├── police.xpm ├── res.xpm ├── rightdisabled.xpm ├── righthilite.xpm ├── scbern.xpm ├── scbernhi.xpm ├── scbos.xpm ├── scboshi.xpm ├── scdet.xpm ├── scdethi.xpm ├── scdull.xpm ├── scdullhi.xpm ├── scenario1hilite.xpm ├── scenario2hilite.xpm ├── scenario3hilite.xpm ├── scenario4hilite.xpm ├── scenario5hilite.xpm ├── scenario6hilite.xpm ├── scenario7hilite.xpm ├── scenario8hilite.xpm ├── scham.xpm ├── schamhi.xpm ├── sclcty.xpm ├── sclctyhi.xpm ├── scncty.xpm ├── scnctyhi.xpm ├── scrio.xpm ├── scriohi.xpm ├── scsfo.xpm ├── scsfohi.xpm ├── sctkyo.xpm ├── sctkyohi.xpm ├── seaport.xpm ├── spacer.xpm ├── stadium.xpm ├── tiles-0.xpm ├── tiles-1.xpm ├── tiles-10.xpm ├── tiles-100.xpm ├── tiles-101.xpm ├── tiles-102.xpm ├── tiles-103.xpm ├── tiles-104.xpm ├── tiles-105.xpm ├── tiles-106.xpm ├── tiles-107.xpm ├── tiles-108.xpm ├── tiles-109.xpm ├── tiles-11.xpm ├── tiles-110.xpm ├── tiles-111.xpm ├── tiles-112.xpm ├── tiles-113.xpm ├── tiles-114.xpm ├── tiles-115.xpm ├── tiles-116.xpm ├── tiles-117.xpm ├── tiles-118.xpm ├── tiles-119.xpm ├── tiles-12.xpm ├── tiles-120.xpm ├── tiles-121.xpm ├── tiles-122.xpm ├── tiles-123.xpm ├── tiles-124.xpm ├── tiles-125.xpm ├── tiles-126.xpm ├── tiles-127.xpm ├── tiles-128.xpm ├── tiles-129.xpm ├── tiles-13.xpm ├── tiles-130.xpm ├── tiles-131.xpm ├── tiles-132.xpm ├── tiles-133.xpm ├── tiles-134.xpm ├── tiles-135.xpm ├── tiles-136.xpm ├── tiles-137.xpm ├── tiles-138.xpm ├── tiles-139.xpm ├── tiles-14.xpm ├── tiles-140.xpm ├── tiles-141.xpm ├── tiles-142.xpm ├── tiles-143.xpm ├── tiles-144.xpm ├── tiles-145.xpm ├── tiles-146.xpm ├── tiles-147.xpm ├── tiles-148.xpm ├── tiles-149.xpm ├── tiles-15.xpm ├── tiles-150.xpm ├── tiles-151.xpm ├── tiles-152.xpm ├── tiles-153.xpm ├── tiles-154.xpm ├── tiles-155.xpm ├── tiles-156.xpm ├── tiles-16.xpm ├── tiles-17.xpm ├── tiles-18.xpm ├── tiles-19.xpm ├── tiles-2.xpm ├── tiles-20.xpm ├── tiles-21.xpm ├── tiles-22.xpm ├── tiles-23.xpm ├── tiles-24.xpm ├── tiles-25.xpm ├── tiles-26.xpm ├── tiles-27.xpm ├── tiles-28.xpm ├── tiles-29.xpm ├── tiles-3.xpm ├── tiles-30.xpm ├── tiles-31.xpm ├── tiles-32.xpm ├── tiles-33.xpm ├── tiles-34.xpm ├── tiles-35.xpm ├── tiles-36.xpm ├── tiles-37.xpm ├── tiles-38.xpm ├── tiles-39.xpm ├── tiles-4.xpm ├── tiles-40.xpm ├── tiles-41.xpm ├── tiles-42.xpm ├── tiles-43.xpm ├── tiles-44.xpm ├── tiles-45.xpm ├── tiles-46.xpm ├── tiles-47.xpm ├── tiles-48.xpm ├── tiles-49.xpm ├── tiles-5.xpm ├── tiles-50.xpm ├── tiles-51.xpm ├── tiles-52.xpm ├── tiles-53.xpm ├── tiles-54.xpm ├── tiles-55.xpm ├── tiles-56.xpm ├── tiles-57.xpm ├── tiles-58.xpm ├── tiles-59.xpm ├── tiles-6.xpm ├── tiles-60.xpm ├── tiles-61.xpm ├── tiles-62.xpm ├── tiles-63.xpm ├── tiles-64.xpm ├── tiles-65.xpm ├── tiles-66.xpm ├── tiles-67.xpm ├── tiles-68.xpm ├── tiles-69.xpm ├── tiles-7.xpm ├── tiles-70.xpm ├── tiles-71.xpm ├── tiles-72.xpm ├── tiles-73.xpm ├── tiles-74.xpm ├── tiles-75.xpm ├── tiles-76.xpm ├── tiles-77.xpm ├── tiles-78.xpm ├── tiles-79.xpm ├── tiles-8.xpm ├── tiles-80.xpm ├── tiles-81.xpm ├── tiles-82.xpm ├── tiles-83.xpm ├── tiles-84.xpm ├── tiles-85.xpm ├── tiles-86.xpm ├── tiles-87.xpm ├── tiles-88.xpm ├── tiles-89.xpm ├── tiles-9.xpm ├── tiles-90.xpm ├── tiles-91.xpm ├── tiles-92.xpm ├── tiles-93.xpm ├── tiles-94.xpm ├── tiles-95.xpm ├── tiles-96.xpm ├── tiles-97.xpm ├── tiles-98.xpm ├── tiles-99.xpm ├── tiles.xpm ├── tilesbw.xpm └── tilessm.xpm ├── manual ├── Ask.html ├── Budget.Cancel.html ├── Budget.Collected.html ├── Budget.Continue.html ├── Budget.Police.html ├── Budget.Previous.html ├── Budget.Road.html ├── Budget.html ├── Disaster.No.html ├── Disaster.Yes.html ├── Editor.BuildPie.html ├── Editor.Options.html ├── Editor.ToolChalk.html ├── Editor.ToolInd.html ├── Editor.ToolName.html ├── Editor.ToolNuclear.html ├── Editor.ToolPie.html ├── Editor.ToolQuery.html ├── Editor.ToolRail.html ├── Editor.ToolRes.html ├── Editor.ToolSeaport.html ├── Editor.ToolStadium.html ├── Editor.ToolWire.html ├── Editor.View.html ├── Editor.html ├── Evaluation.Dismiss.html ├── Evaluation.GoodJob.html ├── Evaluation.Statistics.html ├── Evaluation.html ├── File.Cancel.html ├── File.Directory.html ├── File.OK.html ├── File.html ├── Frob.Dismiss.html ├── Frob.html ├── Graph.120Years.html ├── Graph.Com.html ├── Graph.Dismiss.html ├── Graph.Money.html ├── Graph.Pollution.html ├── Graph.html ├── Head.Demand.html ├── Head.Entry.html ├── Head.Funds.html ├── Head.OptionsMenu.html ├── Head.Scrollbar.html ├── Head.TimeMenu.html ├── Head.WindowsMenu.html ├── Head.html ├── Help.Dismiss.html ├── Help.Scrollbar.html ├── Help.html ├── Map.Zones.html ├── Map.html ├── Notice.Text.html ├── Notice.View.html ├── Notice.html ├── Plan.Goto.html ├── Plan.Support.html ├── Plan.Veto.html ├── Player.Display.html ├── Player.html ├── Quit.AllQuit.html ├── Quit.IQuit.html ├── Quit.IResign.html ├── Quit.No.html ├── README ├── Scenario.Bern.html ├── Scenario.Detroit.html ├── Scenario.LoadCity.html ├── Scenario.Name.html ├── Scenario.Rio.html ├── Scenario.SanFran.html ├── Scenario.Use.html ├── Scenario.html ├── SelectCity.No.html ├── SelectCity.Yes.html ├── Window.html ├── bibliography.html ├── credits.html ├── history.html ├── index.html ├── inside.html ├── intro.html ├── reference.html └── tutorial.html ├── micropolisactivity.py ├── res ├── buildidx.tcl ├── button.tcl ├── dejavu-lgc │ ├── DejaVuLGCSans-Bold.ttf │ ├── DejaVuLGCSans-BoldOblique.ttf │ ├── DejaVuLGCSans-ExtraLight.ttf │ ├── DejaVuLGCSans-Oblique.ttf │ ├── DejaVuLGCSans.ttf │ ├── DejaVuLGCSansCondensed-Bold.ttf │ ├── DejaVuLGCSansCondensed-BoldOblique.ttf │ ├── DejaVuLGCSansCondensed-Oblique.ttf │ ├── DejaVuLGCSansCondensed.ttf │ ├── DejaVuLGCSansMono-Bold.ttf │ ├── DejaVuLGCSansMono-BoldOblique.ttf │ ├── DejaVuLGCSansMono-Oblique.ttf │ ├── DejaVuLGCSansMono.ttf │ ├── DejaVuLGCSerif-Bold.ttf │ ├── DejaVuLGCSerif-BoldOblique.ttf │ ├── DejaVuLGCSerif-Oblique.ttf │ ├── DejaVuLGCSerif.ttf │ ├── DejaVuLGCSerifCondensed-Bold.ttf │ ├── DejaVuLGCSerifCondensed-BoldOblique.ttf │ ├── DejaVuLGCSerifCondensed-Oblique.ttf │ ├── DejaVuLGCSerifCondensed.ttf │ ├── fonts.alias │ ├── fonts.dir │ └── fonts.scale ├── entry.tcl ├── help.tcl ├── hexa.112 ├── hexa.232 ├── hexa.384 ├── hexa.385 ├── hexa.386 ├── hexa.387 ├── hexa.388 ├── hexa.456 ├── hexa.544 ├── hexa.563 ├── hexa.999 ├── init.tcl ├── listbox.tcl ├── menu.tcl ├── micropolis.tcl ├── mkindex.tcl ├── parray.tcl ├── snro.111 ├── snro.222 ├── snro.333 ├── snro.444 ├── snro.555 ├── snro.666 ├── snro.777 ├── snro.888 ├── sound.tcl ├── sounds │ ├── a.wav │ ├── aaah.wav │ ├── airport.wav │ ├── beep.wav │ ├── boing.wav │ ├── bop.wav │ ├── build.wav │ ├── bulldozer.wav │ ├── chalk.wav │ ├── coal.wav │ ├── com.wav │ ├── computer.wav │ ├── cuckoo.wav │ ├── e.wav │ ├── eraser.wav │ ├── explosion-hi.wav │ ├── explosion-high.wav │ ├── explosion-low.wav │ ├── fire.wav │ ├── heavytraffic.wav │ ├── honkhonk-hi.wav │ ├── honkhonk-high.wav │ ├── honkhonk-low.wav │ ├── honkhonk-med.wav │ ├── ignition.wav │ ├── ind.wav │ ├── monster.wav │ ├── nuclear.wav │ ├── o.wav │ ├── oop.wav │ ├── park.wav │ ├── police.wav │ ├── quack.wav │ ├── quackquack.wav │ ├── query.wav │ ├── rail.wav │ ├── res.wav │ ├── road.wav │ ├── rumble.wav │ ├── seaport.wav │ ├── siren.wav │ ├── skid.wav │ ├── sorry.wav │ ├── stadium.wav │ ├── uhuh.wav │ ├── whip.wav │ ├── wire.wav │ ├── woosh.wav │ └── zone.wav ├── stri.202 ├── stri.219 ├── stri.301 ├── stri.356 ├── tcl.tdx ├── tcl.tlb ├── tclindex ├── tclinit.tcl ├── text.tcl ├── tk.tcl ├── tk.tdx ├── tk.tlb ├── tkerror.tcl ├── wask.tcl ├── wbudget.tcl ├── weditor.tcl ├── weval.tcl ├── wfile.tcl ├── wfrob.tcl ├── wgraph.tcl ├── whead.tcl ├── whelp.tcl ├── wish.tcl ├── wishx.tcl ├── wmap.tcl ├── wnotice.tcl ├── wplayer.tcl ├── wscen.tcl ├── wscen_old.tcl ├── wscen_older.tcl └── wsplash.tcl └── src ├── ASSETS.txt ├── PLAN.txt ├── ROADMAP.txt ├── makefile ├── notes ├── BUGS ├── Beyond-Intelligent-Machines ├── Changes ├── DONE ├── DocTCL ├── Dynamic.tcl ├── FirstRelease ├── InterCHI-Interactive-Experience-Proposal ├── MULTI ├── Micropolis-Indigo.gif ├── Micropolis-NCD.gif ├── Micropolis-Sun.gif ├── MultiPlayerIdeas.txt ├── NCDAudio ├── OLPC-notes.txt ├── Performance ├── Publicity ├── Questions ├── Release ├── SharedData ├── Strategy ├── TODO ├── TkVersion ├── bugs.txt ├── outline ├── sim.gif └── to.ouster ├── sim ├── g_ani.c ├── g_bigmap.c ├── g_cam.c ├── g_map.c ├── g_setup.c ├── g_smmaps.c ├── headers │ ├── animtab.h │ ├── cam.h │ ├── mac.h │ ├── macros.h │ ├── sim.h │ └── view.h ├── makefile ├── rand.c ├── random.c ├── s_alloc.c ├── s_disast.c ├── s_eval.c ├── s_fileio.c ├── s_gen.c ├── s_init.c ├── s_msg.c ├── s_power.c ├── s_scan.c ├── s_sim.c ├── s_traf.c ├── s_zone.c ├── sim.c ├── terrain │ ├── mapgener.c │ ├── messages │ ├── terra.c │ └── terragen.c ├── w_budget.c ├── w_cam.c ├── w_con.c ├── w_date.c ├── w_editor.c ├── w_eval.c ├── w_graph.c ├── w_inter.c ├── w_keys.c ├── w_map.c ├── w_net.c ├── w_piem.c ├── w_print.c ├── w_resrc.c ├── w_sim.c ├── w_sound.c ├── w_sprite.c ├── w_stubs.c ├── w_tk.c ├── w_tool.c ├── w_update.c ├── w_util.c └── w_x.c ├── tcl ├── compat │ ├── README │ ├── dirent.h │ ├── dirent2.h │ ├── limits.h │ ├── opendir.c │ ├── stdlib.h │ ├── strerror.c │ ├── string.h │ ├── strstr.c │ ├── strtod.c │ ├── strtol.c │ ├── strtoul.c │ ├── testpid.c │ ├── teststrtoul.c │ ├── testuid.c │ └── testwait.c ├── config ├── library │ ├── init.tcl │ ├── mkindex.tcl │ ├── parray.tcl │ └── tclindex ├── makefile ├── panic.c ├── porting.txt ├── readme.txt ├── regexp.c ├── regexp.h ├── tcl.h ├── tclassem.c ├── tclbasic.c ├── tclckall.c ├── tclcmdah.c ├── tclcmdil.c ├── tclcmdmz.c ├── tclenv.c ├── tclexpr.c ├── tclget.c ├── tclglob.c ├── tclhash.c ├── tclhash.h ├── tclhist.c ├── tclint.h ├── tclparse.c ├── tclproc.c ├── tcltest.c ├── tclunix.h ├── tclunxaz.c ├── tclunxst.c ├── tclunxut.c ├── tclutil.c └── tclvar.c ├── tclx ├── config.mk ├── config │ ├── aux │ ├── bsd │ ├── bsd-4.3 │ ├── dos │ ├── hpux │ ├── linux │ ├── osf1 │ ├── rs6000 │ ├── scoodt1.1 │ ├── scoodt2.0 │ ├── sgi │ ├── solaris2 │ ├── sunos4.0 │ ├── sunos4.1 │ ├── sysv.3.2.0 │ ├── ultrix │ ├── ultrix4.2 │ └── xenix ├── makefile ├── ossupp │ ├── fcntl.c │ ├── ids.c │ ├── makefile │ ├── makefile.dvx │ ├── sigs.c │ ├── strftime.c │ └── times.c ├── readme ├── src │ ├── main.c │ ├── mainplus.cc │ ├── makefile │ ├── patchlvl.h │ ├── tclplus.cc │ ├── tclplus.h │ ├── tclxbsrc.c │ ├── tclxcclk.c │ ├── tclxchmd.c │ ├── tclxclck.c │ ├── tclxclp.c │ ├── tclxcret.c │ ├── tclxdebg.c │ ├── tclxdup.c │ ├── tclxfcmd.c │ ├── tclxfctl.c │ ├── tclxfmat.c │ ├── tclxfsca.c │ ├── tclxgdat.y │ ├── tclxgenl.c │ ├── tclxhndl.c │ ├── tclxid.c │ ├── tclxint.h │ ├── tclxklst.c │ ├── tclxlib.c │ ├── tclxlist.c │ ├── tclxmath.c │ ├── tclxmerr.c │ ├── tclxmsgc.c │ ├── tclxproc.c │ ├── tclxprof.c │ ├── tclxrexp.c │ ├── tclxsel.c │ ├── tclxsig.c │ ├── tclxstr.c │ ├── tclxstup.c │ ├── tclxtend.h │ ├── tclxunix.c │ └── tclxutil.c ├── tcllib │ ├── 8queens.tcl │ ├── buildhelp.tcl │ ├── buildidx.tcl │ └── tclinit.tcl ├── tclsrc │ ├── array.tcl │ ├── assign.tcl │ ├── compat.tcl │ ├── convlib.tcl │ ├── edprocs.tcl │ ├── forfile.tcl │ ├── forrec.tcl │ ├── globrec.tcl │ ├── help.tcl │ ├── install.tcl │ ├── makefile │ ├── packages.tcl │ ├── profrep.tcl │ ├── pushd.tcl │ ├── setfuncs.tcl │ ├── showproc.tcl │ └── strfile.tcl ├── tksrc │ └── makefile ├── tkucbsrc │ ├── main.dif │ ├── main.sed │ ├── makefile │ ├── tkevent.dif │ ├── tkevent.sed │ └── wishx.sed └── ucbsrc │ ├── makefile │ ├── tclbasic.dif │ ├── tclbasic.sed │ ├── tclexpr.dif │ └── tclexpr.sed └── tk ├── bitmaps ├── gray25 └── gray50 ├── default.h ├── ks_names.h ├── library ├── button.tcl ├── demos │ ├── README │ ├── bitmaps │ │ ├── face │ │ ├── flagdown │ │ ├── flagup │ │ ├── grey.25 │ │ ├── grey.5 │ │ ├── letters │ │ ├── noletters │ │ └── pattern │ ├── browse │ ├── color │ ├── dialog │ ├── hello │ ├── ixset │ ├── mkArrow.tcl │ ├── mkBasic.tcl │ ├── mkButton.tcl │ ├── mkCanvText.tcl │ ├── mkCheck.tcl │ ├── mkDialog.tcl │ ├── mkEntry.tcl │ ├── mkEntry2.tcl │ ├── mkHScale.tcl │ ├── mkIcon.tcl │ ├── mkItems.tcl │ ├── mkLabel.tcl │ ├── mkListbox.tcl │ ├── mkListbox2.tcl │ ├── mkListbox3.tcl │ ├── mkPlot.tcl │ ├── mkPuzzle.tcl │ ├── mkRadio.tcl │ ├── mkRuler.tcl │ ├── mkScroll.tcl │ ├── mkStyles.tcl │ ├── mkTear.tcl │ ├── mkTextBind.tcl │ ├── mkVScale.tcl │ ├── rolodex │ ├── showVars.tcl │ ├── size │ ├── tclIndex │ ├── timer │ ├── tkSquare.c │ └── widget ├── entry.tcl ├── listbox.tcl ├── menu.tcl ├── tclindex ├── text.tcl ├── tk.tcl ├── tkerror.tcl └── wish.tcl ├── main.c ├── makefile ├── makefile.dvx ├── makefile.hpux ├── makefile.linux ├── makefile.osf ├── makefile.sgi ├── makefile.sol ├── makefile.sun ├── readme ├── tk.h ├── tk3d.c ├── tkargv.c ├── tkatom.c ├── tkbind.c ├── tkbitmap.c ├── tkbutton.c ├── tkcanvas.c ├── tkcanvas.h ├── tkcmds.c ├── tkcolor.c ├── tkconfig.c ├── tkconfig.h ├── tkcursor.c ├── tkcvarc.c ├── tkcvbmap.c ├── tkcvline.c ├── tkcvpoly.c ├── tkcvtext.c ├── tkcvwind.c ├── tkentry.c ├── tkerror.c ├── tkevent.c ├── tkfont.c ├── tkframe.c ├── tkgc.c ├── tkgeo.c ├── tkget.c ├── tkgrab.c ├── tkint.h ├── tklist.c ├── tkmenu.c ├── tkmnbut.c ├── tkmsg.c ├── tkoption.c ├── tkpack.c ├── tkpixmap.c ├── tkplace.c ├── tkpresrv.c ├── tkrawtcp.c ├── tkrectov.c ├── tkscale.c ├── tkscrbar.c ├── tkselect.c ├── tksend.c ├── tkshare.c ├── tktcp.c ├── tktcp.h ├── tktext.c ├── tktext.h ├── tktrig.c ├── tktxbtre.c ├── tktxdisp.c ├── tktxidx.c ├── tktxtag.c ├── tkwindow.c ├── tkwm.c └── tkwm.h /Micropolis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/Micropolis.png -------------------------------------------------------------------------------- /__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/__init__.py -------------------------------------------------------------------------------- /activity/activity.info: -------------------------------------------------------------------------------- 1 | [Activity] 2 | name = Micropolis 3 | activity_version = 7 4 | icon = activity-micropolis 5 | service_name = org.laptop.Micropolis 6 | class = micropolisactivity.MicropolisActivity 7 | show_launcher = yes 8 | -------------------------------------------------------------------------------- /cities/about.cty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/cities/about.cty -------------------------------------------------------------------------------- /cities/badnews.cty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/cities/badnews.cty -------------------------------------------------------------------------------- /cities/bluebird.cty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/cities/bluebird.cty -------------------------------------------------------------------------------- /cities/bruce.cty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/cities/bruce.cty -------------------------------------------------------------------------------- /cities/deadwood.cty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/cities/deadwood.cty -------------------------------------------------------------------------------- /cities/finnigan.cty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/cities/finnigan.cty -------------------------------------------------------------------------------- /cities/freds.cty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/cities/freds.cty -------------------------------------------------------------------------------- /cities/haight.cty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/cities/haight.cty -------------------------------------------------------------------------------- /cities/happisle.cty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/cities/happisle.cty -------------------------------------------------------------------------------- /cities/joffburg.cty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/cities/joffburg.cty -------------------------------------------------------------------------------- /cities/kamakura.cty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/cities/kamakura.cty -------------------------------------------------------------------------------- /cities/kobe.cty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/cities/kobe.cty -------------------------------------------------------------------------------- /cities/kowloon.cty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/cities/kowloon.cty -------------------------------------------------------------------------------- /cities/kyoto.cty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/cities/kyoto.cty -------------------------------------------------------------------------------- /cities/linecity.cty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/cities/linecity.cty -------------------------------------------------------------------------------- /cities/med_isle.cty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/cities/med_isle.cty -------------------------------------------------------------------------------- /cities/ndulls.cty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/cities/ndulls.cty -------------------------------------------------------------------------------- /cities/neatmap.cty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/cities/neatmap.cty -------------------------------------------------------------------------------- /cities/radial.cty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/cities/radial.cty -------------------------------------------------------------------------------- /cities/senri.cty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/cities/senri.cty -------------------------------------------------------------------------------- /cities/southpac.cty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/cities/southpac.cty -------------------------------------------------------------------------------- /cities/splats.cty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/cities/splats.cty -------------------------------------------------------------------------------- /cities/wetcity.cty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/cities/wetcity.cty -------------------------------------------------------------------------------- /cities/yokohama.cty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/cities/yokohama.cty -------------------------------------------------------------------------------- /images/grcrim.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *noname[] = { 3 | /* width height ncolors chars_per_pixel */ 4 | "32 32 8 1", 5 | /* colors */ 6 | "` c #000000", 7 | "a c #7F7F7F", 8 | "b c #3F3F3F", 9 | "c c #3F3F00", 10 | "d c #727272", 11 | "e c #DFDFDF", 12 | "f c #7F3D00", 13 | "g c #BFBFBF", 14 | /* pixels */ 15 | "````````````````````````````````", 16 | "``eeeeeeeeeeeeeeeeeeeeeeeeeeee``", 17 | "`e`eeeeeeeeeeeeeeeeeeeeeeeeee`d`", 18 | "`ee`eeeeeeeeeeeeeeeeeeeeeeee`dd`", 19 | "`eee````````````````````````ddd`", 20 | "`eee`gggggggggggggggggggggg`ddd`", 21 | "`eee`gggggggggggggggggggggg`ddd`", 22 | "`eee`gggggggggggggggggggggg`ddd`", 23 | "`eee`ggbbgb``````gggggggbgg`ddd`", 24 | "`eee`ggg```bbbbbbbbbbbbb`gg`ddd`", 25 | "`eee`ggg```b```b`````````gg`ddd`", 26 | "`eee`ggg```b```b`gggggggggg`ddd`", 27 | "`eee`ggg`````````gggggggagg`ddd`", 28 | "`eee`ggcc``gbg`gggggggabggg`ddd`", 29 | "`eee`ggccc`gbg`gggggabbaggg`ddd`", 30 | "`eee`gccccg```ggggabbabgggg`ddd`", 31 | "`eee`gcfccgggggggabbabagggg`ddd`", 32 | "`eee`gccccggggggabbabbggggg`ddd`", 33 | "`eee`gccccgg`gggbbabbaggggg`ddd`", 34 | "`eee`ggggggga`gababbagggggg`ddd`", 35 | "`eee`gggggggga`babbaggggggg`ddd`", 36 | "`eee`ggggggggga`baggggggggg`ddd`", 37 | "`eee`ggggggggcca`gggggggggg`ddd`", 38 | "`eee`gggggggcfcga`ggggggggg`ddd`", 39 | "`eee`ggggggcfcggga`gggggggg`ddd`", 40 | "`eee`ggggggccgggggggggggggg`ddd`", 41 | "`eee`gggggggggggggggggggggg`ddd`", 42 | "`eee````````````````````````ddd`", 43 | "`ee`dddddddddddddddddddddddd`dd`", 44 | "`e`dddddddddddddddddddddddddd`d`", 45 | "``dddddddddddddddddddddddddddd``", 46 | "````````````````````````````````" 47 | }; 48 | -------------------------------------------------------------------------------- /images/grcrimhi.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *noname[] = { 3 | /* width height ncolors chars_per_pixel */ 4 | "32 32 8 1", 5 | /* colors */ 6 | "` c #000000", 7 | "a c #7F7F7F", 8 | "b c #3F3F3F", 9 | "c c #3F3F00", 10 | "d c #7F0000", 11 | "e c #FF0000", 12 | "f c #7F3D00", 13 | "g c #BFBFBF", 14 | /* pixels */ 15 | "````````````````````````````````", 16 | "``dddddddddddddddddddddddddddd``", 17 | "`d`dddddddddddddddddddddddddd`e`", 18 | "`dd`dddddddddddddddddddddddd`ee`", 19 | "`ddd````````````````````````eee`", 20 | "`ddd`gggggggggggggggggggggg`eee`", 21 | "`ddd`gggggggggggggggggggggg`eee`", 22 | "`ddd`gggggggggggggggggggggg`eee`", 23 | "`ddd`ggbbgb``````gggggggbgg`eee`", 24 | "`ddd`ggg```bbbbbbbbbbbbb`gg`eee`", 25 | "`ddd`ggg```b```b`````````gg`eee`", 26 | "`ddd`ggg```b```b`gggggggggg`eee`", 27 | "`ddd`ggg`````````gggggggagg`eee`", 28 | "`ddd`ggcc``gbg`gggggggabggg`eee`", 29 | "`ddd`ggccc`gbg`gggggabbaggg`eee`", 30 | "`ddd`gccccg```ggggabbabgggg`eee`", 31 | "`ddd`gcfccgggggggabbabagggg`eee`", 32 | "`ddd`gccccggggggabbabbggggg`eee`", 33 | "`ddd`gccccgg`gggbbabbaggggg`eee`", 34 | "`ddd`ggggggga`gababbagggggg`eee`", 35 | "`ddd`gggggggga`babbaggggggg`eee`", 36 | "`ddd`ggggggggga`baggggggggg`eee`", 37 | "`ddd`ggggggggcca`gggggggggg`eee`", 38 | "`ddd`gggggggcfcga`ggggggggg`eee`", 39 | "`ddd`ggggggcfcggga`gggggggg`eee`", 40 | "`ddd`ggggggccgggggggggggggg`eee`", 41 | "`ddd`gggggggggggggggggggggg`eee`", 42 | "`ddd````````````````````````eee`", 43 | "`dd`eeeeeeeeeeeeeeeeeeeeeeee`ee`", 44 | "`d`eeeeeeeeeeeeeeeeeeeeeeeeee`e`", 45 | "``eeeeeeeeeeeeeeeeeeeeeeeeeeee``", 46 | "````````````````````````````````" 47 | }; 48 | -------------------------------------------------------------------------------- /images/grind.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *noname[] = { 3 | /* width height ncolors chars_per_pixel */ 4 | "32 32 9 1", 5 | /* colors */ 6 | "` c #000000", 7 | "a c #3F3F3F", 8 | "b c #3F3F00", 9 | "c c #003F00", 10 | "d c #FF3C00", 11 | "e c #727272", 12 | "f c #DFDFDF", 13 | "g c #7F3D00", 14 | "h c #3C00FF", 15 | /* pixels */ 16 | "````````````````````````````````", 17 | "``ffffffffffffffffffffffffffff``", 18 | "`f`ffffffffffffffffffffffffff`e`", 19 | "`ff`ffffffffffffffffffffffff`ee`", 20 | "`fff````````````````````````eee`", 21 | "`fff`hhhhhhhhhhhhhhgbbbbbhh`eee`", 22 | "`fff`hhhhhhhhhhhhbbbbgbgbhb`eee`", 23 | "`fff`hhhhhhhhhhhhgbgbhb`bbh`eee`", 24 | "`fff`hhhhhhhhhhbgbbbgbbbhbh`eee`", 25 | "`fff`hhhhhhhhhbbbgbhbbbhbhh`eee`", 26 | "`fff`hhhhhhhhhbbb`bbbbbhhhh`eee`", 27 | "`fff`hhhhhhhggbbhbbgbhhhbhh`eee`", 28 | "`fff`hhhhhhbbbhhgbbhhhhhhbh`eee`", 29 | "`fff`hhhhhhbbhhbbhhhhhhhghh`eee`", 30 | "`fff`hhhhgbh`bbbhhhbhhhbbhb`eee`", 31 | "`fff`hhhhbbhgbbhhhhhhhhgbgb`eee`", 32 | "`fff`hhhbhhbhhhhhhhhhhgbbhh`eee`", 33 | "`fff`hhbhhbhhhhhhhhhhggbbbh`eee`", 34 | "`fff`hh`h`hhhhhhhhhhhbhbhhh`eee`", 35 | "`fff`hh`h`hhhhhhhhhhbhbhhhh`eee`", 36 | "`fff`hh`h`hhhhhhhhhahahhhhh`eee`", 37 | "`fff`hh`h`hhhhhhhhhahahhhhh`eee`", 38 | "`fff`h````````hhhaaaaahhhhh`eee`", 39 | "`fff`c``a`a```ccca`a`accccc`eee`", 40 | "`fff`c````````cccccccdccccc`eee`", 41 | "`fff`cccccccccdcccdcccccccc`eee`", 42 | "`fff`cccccccccccccccccccccc`eee`", 43 | "`fff````````````````````````eee`", 44 | "`ff`eeeeeeeeeeeeeeeeeeeeeeee`ee`", 45 | "`f`eeeeeeeeeeeeeeeeeeeeeeeeee`e`", 46 | "``eeeeeeeeeeeeeeeeeeeeeeeeeeee``", 47 | "````````````````````````````````" 48 | }; 49 | -------------------------------------------------------------------------------- /images/grindhi.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *noname[] = { 3 | /* width height ncolors chars_per_pixel */ 4 | "32 32 9 1", 5 | /* colors */ 6 | "` c #000000", 7 | "a c #BFBF00", 8 | "b c #3F3F3F", 9 | "c c #3F3F00", 10 | "d c #003F00", 11 | "e c #FF3C00", 12 | "f c #FFFF00", 13 | "g c #7F3D00", 14 | "h c #3C00FF", 15 | /* pixels */ 16 | "````````````````````````````````", 17 | "``aaaaaaaaaaaaaaaaaaaaaaaaaaaa``", 18 | "`a`aaaaaaaaaaaaaaaaaaaaaaaaaa`f`", 19 | "`aa`aaaaaaaaaaaaaaaaaaaaaaaa`ff`", 20 | "`aaa````````````````````````fff`", 21 | "`aaa`hhhhhhhhhhhhhhgccccchh`fff`", 22 | "`aaa`hhhhhhhhhhhhccccgcgchc`fff`", 23 | "`aaa`hhhhhhhhhhhhgcgchc`cch`fff`", 24 | "`aaa`hhhhhhhhhhcgcccgccchch`fff`", 25 | "`aaa`hhhhhhhhhcccgchccchchh`fff`", 26 | "`aaa`hhhhhhhhhccc`ccccchhhh`fff`", 27 | "`aaa`hhhhhhhggcchccgchhhchh`fff`", 28 | "`aaa`hhhhhhccchhgcchhhhhhch`fff`", 29 | "`aaa`hhhhhhcchhcchhhhhhhghh`fff`", 30 | "`aaa`hhhhgch`ccchhhchhhcchc`fff`", 31 | "`aaa`hhhhcchgcchhhhhhhhgcgc`fff`", 32 | "`aaa`hhhchhchhhhhhhhhhgcchh`fff`", 33 | "`aaa`hhchhchhhhhhhhhhggccch`fff`", 34 | "`aaa`hh`h`hhhhhhhhhhhchchhh`fff`", 35 | "`aaa`hh`h`hhhhhhhhhhchchhhh`fff`", 36 | "`aaa`hh`h`hhhhhhhhhbhbhhhhh`fff`", 37 | "`aaa`hh`h`hhhhhhhhhbhbhhhhh`fff`", 38 | "`aaa`h````````hhhbbbbbhhhhh`fff`", 39 | "`aaa`d``b`b```dddb`b`bddddd`fff`", 40 | "`aaa`d````````dddddddeddddd`fff`", 41 | "`aaa`dddddddddedddedddddddd`fff`", 42 | "`aaa`dddddddddddddddddddddd`fff`", 43 | "`aaa````````````````````````fff`", 44 | "`aa`ffffffffffffffffffffffff`ff`", 45 | "`a`ffffffffffffffffffffffffff`f`", 46 | "``ffffffffffffffffffffffffffff``", 47 | "````````````````````````````````" 48 | }; 49 | -------------------------------------------------------------------------------- /images/grmony.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *noname[] = { 3 | /* width height ncolors chars_per_pixel */ 4 | "32 32 8 1", 5 | /* colors */ 6 | "` c #000000", 7 | "a c #00BF00", 8 | "b c #003F00", 9 | "c c #FF0000", 10 | "d c #727272", 11 | "e c #FFFF00", 12 | "f c #DFDFDF", 13 | "g c #BFBFBF", 14 | /* pixels */ 15 | "````````````````````````````````", 16 | "``ffffffffffffffffffffffffffff``", 17 | "`f`ffffffffffffffffffffffffff`d`", 18 | "`ff`ffffffffffffffffffffffff`dd`", 19 | "`fff````````````````````````ddd`", 20 | "`fff`gggggggggggggggggggggg`ddd`", 21 | "`fff`gggggggggggggggggggggg`ddd`", 22 | "`fff`ggggggaaaaaagggg``gggg`ddd`", 23 | "`fff`ggggaaababbagggg``gggg`ddd`", 24 | "`fff`ggggaabbabaagg``````gg`ddd`", 25 | "`fff`gggggaaaaaaggg``````gg`ddd`", 26 | "`fff`ggggggaaaabggggg``gggg`ddd`", 27 | "`fff`gggggaaeaaabgggg``gggg`ddd`", 28 | "`fff`gggbaaeeeaaabggggggggg`ddd`", 29 | "`fff`ggaaaebebeaaabgggggggg`ddd`", 30 | "`fff`ggaaaeaeabaaabbggggggg`ddd`", 31 | "`fff`ggaaabeeeaaaabbggggggg`ddd`", 32 | "`fff`gbaaaabebeaaabbggggggg`ddd`", 33 | "`fff`gaaaaeaeaeaaabbggggggg`ddd`", 34 | "`fff`gaaaabeeebaaabbggggggg`ddd`", 35 | "`fff`ggaaaabebaaaabbggggggg`ddd`", 36 | "`fff`ggbaaaabaaaabbgggggggg`ddd`", 37 | "`fff`gggbaaaaaaabbggcccccgg`ddd`", 38 | "`fff`ggggbbbbbbbbgggcccccgg`ddd`", 39 | "`fff`gggggggggggggggggggggg`ddd`", 40 | "`fff`gggggggggggggggggggggg`ddd`", 41 | "`fff`gggggggggggggggggggggg`ddd`", 42 | "`fff````````````````````````ddd`", 43 | "`ff`dddddddddddddddddddddddd`dd`", 44 | "`f`dddddddddddddddddddddddddd`d`", 45 | "``dddddddddddddddddddddddddddd``", 46 | "````````````````````````````````" 47 | }; 48 | -------------------------------------------------------------------------------- /images/grmonyhi.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *noname[] = { 3 | /* width height ncolors chars_per_pixel */ 4 | "32 32 8 1", 5 | /* colors */ 6 | "` c #000000", 7 | "a c #007F00", 8 | "b c #00BF00", 9 | "c c #003F00", 10 | "d c #FF0000", 11 | "e c #FFFF00", 12 | "f c #005F00", 13 | "g c #BFBFBF", 14 | /* pixels */ 15 | "````````````````````````````````", 16 | "``ffffffffffffffffffffffffffff``", 17 | "`f`ffffffffffffffffffffffffff`a`", 18 | "`ff`ffffffffffffffffffffffff`aa`", 19 | "`fff````````````````````````aaa`", 20 | "`fff`gggggggggggggggggggggg`aaa`", 21 | "`fff`gggggggggggggggggggggg`aaa`", 22 | "`fff`ggggggbbbbbbgggg``gggg`aaa`", 23 | "`fff`ggggbbbcbccbgggg``gggg`aaa`", 24 | "`fff`ggggbbccbcbbgg``````gg`aaa`", 25 | "`fff`gggggbbbbbbggg``````gg`aaa`", 26 | "`fff`ggggggbbbbcggggg``gggg`aaa`", 27 | "`fff`gggggbbebbbcgggg``gggg`aaa`", 28 | "`fff`gggcbbeeebbbcggggggggg`aaa`", 29 | "`fff`ggbbbececebbbcgggggggg`aaa`", 30 | "`fff`ggbbbebebcbbbccggggggg`aaa`", 31 | "`fff`ggbbbceeebbbbccggggggg`aaa`", 32 | "`fff`gcbbbbcecebbbccggggggg`aaa`", 33 | "`fff`gbbbbebebebbbccggggggg`aaa`", 34 | "`fff`gbbbbceeecbbbccggggggg`aaa`", 35 | "`fff`ggbbbbcecbbbbccggggggg`aaa`", 36 | "`fff`ggcbbbbcbbbbccgggggggg`aaa`", 37 | "`fff`gggcbbbbbbbccggdddddgg`aaa`", 38 | "`fff`ggggccccccccgggdddddgg`aaa`", 39 | "`fff`gggggggggggggggggggggg`aaa`", 40 | "`fff`gggggggggggggggggggggg`aaa`", 41 | "`fff`gggggggggggggggggggggg`aaa`", 42 | "`fff````````````````````````aaa`", 43 | "`ff`aaaaaaaaaaaaaaaaaaaaaaaa`aa`", 44 | "`f`aaaaaaaaaaaaaaaaaaaaaaaaaa`a`", 45 | "``aaaaaaaaaaaaaaaaaaaaaaaaaaaa``", 46 | "````````````````````````````````" 47 | }; 48 | -------------------------------------------------------------------------------- /images/grpoll.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *noname[] = { 3 | /* width height ncolors chars_per_pixel */ 4 | "32 32 10 1", 5 | /* colors */ 6 | "` c #000000", 7 | "a c #00BF00", 8 | "b c #3F3F3F", 9 | "c c #3F3F00", 10 | "d c #003F00", 11 | "e c #3C00BF", 12 | "f c #727272", 13 | "g c #DFDFDF", 14 | "h c #7F3D00", 15 | "i c #3C00FF", 16 | /* pixels */ 17 | "````````````````````````````````", 18 | "``gggggggggggggggggggggggggggg``", 19 | "`g`gggggggggggggggggggggggggg`f`", 20 | "`gg`gggggggggggggggggggggggg`ff`", 21 | "`ggg````````````````````````fff`", 22 | "`ggg`eeeeeeeehccceeehceecee`fff`", 23 | "`ggg`eeeeeeecccceeehccceeee`fff`", 24 | "`ggg`eieiehcceieihccicieiei`fff`", 25 | "`ggg`ieiehcceiehcccieieieie`fff`", 26 | "`ggg`eiihciiihcciiieiiieiii`fff`", 27 | "`ggg`iiiciiihcciiiiiiiiiiii`fff`", 28 | "`ggg`iib`iib`iiiiiiiiiiiiii`fff`", 29 | "`ggg`iib`iib`iiiiiiiiiiiiii`fff`", 30 | "`ggg`iib`iib`iiiiiiiiiiiiii`fff`", 31 | "`ggg`iib`iib`iiiiiiiiiiiiii`fff`", 32 | "`ggg`iib`iib`iiiiiiiiiiiiii`fff`", 33 | "`ggg`iib`iib`iiiiiiiiiiiiii`fff`", 34 | "`ggg`i``````````````````iii`fff`", 35 | "`ggg`dbbbbbbbbbbbbbbbbbbddd`fff`", 36 | "`ggg`d``````````````````ddd`fff`", 37 | "`ggg`d`b``b``b``b``b````ddd`fff`", 38 | "`ggg`a`b``b``b``b``b````ddd`fff`", 39 | "`ggg`d``````````````````dad`fff`", 40 | "`ggg`dadadadadadadadadadada`fff`", 41 | "`ggg`adadadadadadadadadadad`fff`", 42 | "`ggg`aaaaaaaaaaaaaaaaaaaaaa`fff`", 43 | "`ggg`aaaaaaaaaaaaaaaaaaaaaa`fff`", 44 | "`ggg````````````````````````fff`", 45 | "`gg`ffffffffffffffffffffffff`ff`", 46 | "`g`ffffffffffffffffffffffffff`f`", 47 | "``ffffffffffffffffffffffffffff``", 48 | "````````````````````````````````" 49 | }; 50 | -------------------------------------------------------------------------------- /images/grpollhi.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *noname[] = { 3 | /* width height ncolors chars_per_pixel */ 4 | "32 32 10 1", 5 | /* colors */ 6 | "` c #000000", 7 | "a c #00BF00", 8 | "b c #3F3F3F", 9 | "c c #3F3F00", 10 | "d c #003F00", 11 | "e c #3C00BF", 12 | "f c #7F7F3F", 13 | "g c #7F3D00", 14 | "h c #3F0000", 15 | "i c #3C00FF", 16 | /* pixels */ 17 | "````````````````````````````````", 18 | "``hhhhhhhhhhhhhhhhhhhhhhhhhhhh``", 19 | "`h`hhhhhhhhhhhhhhhhhhhhhhhhhh`f`", 20 | "`hh`hhhhhhhhhhhhhhhhhhhhhhhh`ff`", 21 | "`hhh````````````````````````fff`", 22 | "`hhh`eeeeeeeegccceeegceecee`fff`", 23 | "`hhh`eeeeeeecccceeegccceeee`fff`", 24 | "`hhh`eieiegcceieigccicieiei`fff`", 25 | "`hhh`ieiegcceiegcccieieieie`fff`", 26 | "`hhh`eiigciiigcciiieiiieiii`fff`", 27 | "`hhh`iiiciiigcciiiiiiiiiiii`fff`", 28 | "`hhh`iib`iib`iiiiiiiiiiiiii`fff`", 29 | "`hhh`iib`iib`iiiiiiiiiiiiii`fff`", 30 | "`hhh`iib`iib`iiiiiiiiiiiiii`fff`", 31 | "`hhh`iib`iib`iiiiiiiiiiiiii`fff`", 32 | "`hhh`iib`iib`iiiiiiiiiiiiii`fff`", 33 | "`hhh`iib`iib`iiiiiiiiiiiiii`fff`", 34 | "`hhh`i``````````````````iii`fff`", 35 | "`hhh`dbbbbbbbbbbbbbbbbbbddd`fff`", 36 | "`hhh`d``````````````````ddd`fff`", 37 | "`hhh`d`b``b``b``b``b````ddd`fff`", 38 | "`hhh`a`b``b``b``b``b````ddd`fff`", 39 | "`hhh`d``````````````````dad`fff`", 40 | "`hhh`dadadadadadadadadadada`fff`", 41 | "`hhh`adadadadadadadadadadad`fff`", 42 | "`hhh`aaaaaaaaaaaaaaaaaaaaaa`fff`", 43 | "`hhh`aaaaaaaaaaaaaaaaaaaaaa`fff`", 44 | "`hhh````````````````````````fff`", 45 | "`hh`ffffffffffffffffffffffff`ff`", 46 | "`h`ffffffffffffffffffffffffff`f`", 47 | "``ffffffffffffffffffffffffffff``", 48 | "````````````````````````````````" 49 | }; 50 | -------------------------------------------------------------------------------- /images/grres.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *noname[] = { 3 | /* width height ncolors chars_per_pixel */ 4 | "32 32 11 1", 5 | /* colors */ 6 | "` c #000000", 7 | "a c #7F7F7F", 8 | "b c #3F3F3F", 9 | "c c #3F3F00", 10 | "d c #00DF00", 11 | "e c #3C00BF", 12 | "f c #727272", 13 | "g c #FFFFFF", 14 | "h c #DFDFDF", 15 | "i c #3C00FF", 16 | "j c #BFBFBF", 17 | /* pixels */ 18 | "````````````````````````````````", 19 | "``hhhhhhhhhhhhhhhhhhhhhhhhhhhh``", 20 | "`h`hhhhhhhhhhhhhhhhhhhhhhhhhh`f`", 21 | "`hh`hhhhhhhhhhhhhhhhhhhhhhhh`ff`", 22 | "`hhh````````````````````````fff`", 23 | "`hhh`eeeeeeeeeeeeeeeeeeeeee`fff`", 24 | "`hhh`eieieieieieieieieieiei`fff`", 25 | "`hhh`ieieieieieieieieieieie`fff`", 26 | "`hhh`iiei`iebiieiiieiiieiii`fff`", 27 | "`hhh`iiii`ib``iiiiiiiiiiiii`fff`", 28 | "`hhh`eiii`b````bbbbbbiiiiei`fff`", 29 | "`hhh`iiiib``````b`````iiiii`fff`", 30 | "`hhh`iiib````````b`````iiii`fff`", 31 | "`hhh`iib``````````b`````iii`fff`", 32 | "`hhh`iiigggggggggjjjjjjiiii`fff`", 33 | "`hhh`iiigaaggaaggjajajjiiii`fff`", 34 | "`hhh`dddgabggabggjjjjjjdddd`fff`", 35 | "`hhh`dddgggggggggjjjjjjdddd`fff`", 36 | "`hhh`dddggaagaaggjajajjdddd`fff`", 37 | "`hhh`dddggabgabggjjjajjdddd`fff`", 38 | "`hhh`dddggabgggggdddddddddd`fff`", 39 | "`hhh`dddddccddddddddddddddd`fff`", 40 | "`hhh`dddddcccdddddddddddddd`fff`", 41 | "`hhh`dddddccccddddddddddddd`fff`", 42 | "`hhh`ddddddccccccdddddddddd`fff`", 43 | "`hhh`dddddddccccccccddddddd`fff`", 44 | "`hhh`dddddddddcccccccccdddd`fff`", 45 | "`hhh````````````````````````fff`", 46 | "`hh`ffffffffffffffffffffffff`ff`", 47 | "`h`ffffffffffffffffffffffffff`f`", 48 | "``ffffffffffffffffffffffffffff``", 49 | "````````````````````````````````" 50 | }; 51 | -------------------------------------------------------------------------------- /images/grreshi.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *noname[] = { 3 | /* width height ncolors chars_per_pixel */ 4 | "32 32 10 1", 5 | /* colors */ 6 | "` c #000000", 7 | "a c #7F7F7F", 8 | "b c #00FF00", 9 | "c c #3F3F3F", 10 | "d c #3F3F00", 11 | "e c #00DF00", 12 | "f c #3C00BF", 13 | "g c #FFFFFF", 14 | "h c #3C00FF", 15 | "i c #BFBFBF", 16 | /* pixels */ 17 | "````````````````````````````````", 18 | "``eeeeeeeeeeeeeeeeeeeeeeeeeeee``", 19 | "`e`eeeeeeeeeeeeeeeeeeeeeeeeee`b`", 20 | "`ee`eeeeeeeeeeeeeeeeeeeeeeee`bb`", 21 | "`eee````````````````````````bbb`", 22 | "`eee`ffffffffffffffffffffff`bbb`", 23 | "`eee`fhfhfhfhfhfhfhfhfhfhfh`bbb`", 24 | "`eee`hfhfhfhfhfhfhfhfhfhfhf`bbb`", 25 | "`eee`hhfh`hfchhfhhhfhhhfhhh`bbb`", 26 | "`eee`hhhh`hc``hhhhhhhhhhhhh`bbb`", 27 | "`eee`fhhh`c````cccccchhhhfh`bbb`", 28 | "`eee`hhhhc``````c`````hhhhh`bbb`", 29 | "`eee`hhhc````````c`````hhhh`bbb`", 30 | "`eee`hhc``````````c`````hhh`bbb`", 31 | "`eee`hhhgggggggggiiiiiihhhh`bbb`", 32 | "`eee`hhhgaaggaaggiaiaiihhhh`bbb`", 33 | "`eee`eeegacggacggiiiiiieeee`bbb`", 34 | "`eee`eeegggggggggiiiiiieeee`bbb`", 35 | "`eee`eeeggaagaaggiaiaiieeee`bbb`", 36 | "`eee`eeeggacgacggiiiaiieeee`bbb`", 37 | "`eee`eeeggacgggggeeeeeeeeee`bbb`", 38 | "`eee`eeeeeddeeeeeeeeeeeeeee`bbb`", 39 | "`eee`eeeeedddeeeeeeeeeeeeee`bbb`", 40 | "`eee`eeeeeddddeeeeeeeeeeeee`bbb`", 41 | "`eee`eeeeeeddddddeeeeeeeeee`bbb`", 42 | "`eee`eeeeeeeddddddddeeeeeee`bbb`", 43 | "`eee`eeeeeeeeedddddddddeeee`bbb`", 44 | "`eee````````````````````````bbb`", 45 | "`ee`bbbbbbbbbbbbbbbbbbbbbbbb`bb`", 46 | "`e`bbbbbbbbbbbbbbbbbbbbbbbbbb`b`", 47 | "``bbbbbbbbbbbbbbbbbbbbbbbbbbbb``", 48 | "````````````````````````````````" 49 | }; 50 | -------------------------------------------------------------------------------- /images/key.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *noname[] = { 3 | /* width height ncolors chars_per_pixel */ 4 | "53 23 2 1", 5 | /* colors */ 6 | "` c #B0B0B0 m #ffffff", 7 | "a c #FFFF00 m #000000", 8 | /* pixels */ 9 | "`````````aaaa````````````````````````````````````````", 10 | "`````aaaaaaa`a```````````````````````````````````````", 11 | "````aaa`a```aaa``````````````````````````````````````", 12 | "````a``a`````aaaa````````````````````````````````````", 13 | "````a``````````aaaaa`````````````````````````````````", 14 | "```a````````````aaa`aa```````````````````````````````", 15 | "`aa``a``a```````aa`aaa```````````````````````````````", 16 | "aa``aa``````````aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa```", 17 | "a`aaaa``````````aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``", 18 | "aaa`aa``a```````aa````````````````````````````````aa`", 19 | "aaa`aa``````````aa`````````````````````````````````aa", 20 | "aaa`aa``a```````aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", 21 | "aaa`aa``a```````aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`", 22 | "aaa`aa``````````aa````````````````````````````````a``", 23 | "aa`aaa``a```````aa``````````aaaa``````aaaa````aaaa```", 24 | "a`a`aa``a```````aa``aaaaaaaa````aaaaaa````aaaa```````", 25 | "`a`aaa``````````aa``a`````a``````````````````````````", 26 | "``aa`a``a```````aa`aa````````````````````````````````", 27 | "````a```a```````aaa``````````````````````````````````", 28 | "````a``````````aa````````````````````````````````````", 29 | "````a``a`````aa``````````````````````````````````````", 30 | "`````aa`a```a````````````````````````````````````````", 31 | "`````````aaa`````````````````````````````````````````" 32 | }; 33 | -------------------------------------------------------------------------------- /images/legendn.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *noname[] = { 3 | /* width height ncolors chars_per_pixel */ 4 | "1 14 1 1", 5 | /* colors */ 6 | "a c #B0B0B0", 7 | /* pixels */ 8 | "a" 9 | "a" 10 | "a" 11 | "a" 12 | "a" 13 | "a" 14 | "a" 15 | "a" 16 | "a" 17 | "a" 18 | "a" 19 | "a" 20 | "a" 21 | "a" 22 | }; 23 | -------------------------------------------------------------------------------- /images/obj1-0.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * obj1_0_xpm[] = { 3 | "32 32 7 1", 4 | " c None", 5 | ". c #BFBFBFBFBFBF", 6 | "X c #FFFFFFFFFFFF", 7 | "o c #000000000000", 8 | "O c #3F3F3F3F3F3F", 9 | "+ c #FFFF00000000", 10 | "@ c #7F7F7F7F7F7F", 11 | " ", 12 | " ", 13 | " ", 14 | " .... ", 15 | " .XooOoo ", 16 | " .XXoXXXX. ", 17 | " ....XX+X. ", 18 | " ...OXXXX. ", 19 | " @.OOXXXX. ", 20 | " @.O.XXXX. ", 21 | " @...XXXX. ", 22 | " @..OXXXX. ", 23 | " ..OOXXXX. ", 24 | " ..O.XXXX. ", 25 | " ....XXXX. ", 26 | " ...OXXXX. ", 27 | " ..OOXXXX. ", 28 | " ..O.XXXX. ", 29 | " ....XXXX. ", 30 | " @..OXXXX. ", 31 | " @.OOXXXX. ", 32 | " @.O.XXXX. ", 33 | " @...XX+X. ", 34 | " ...oXXXX. ", 35 | " ..oooo@o ", 36 | " .@@oo@oo ", 37 | " @@@@@@ ", 38 | " @@@@@ ", 39 | " ", 40 | " ", 41 | " ", 42 | " "}; 43 | -------------------------------------------------------------------------------- /images/obj1-1.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * obj1_1_xpm[] = { 3 | "32 32 7 1", 4 | " c None", 5 | ". c #BFBFBFBFBFBF", 6 | "X c #000000000000", 7 | "o c #FFFFFFFFFFFF", 8 | "O c #7F7F7F7F7F7F", 9 | "+ c #FFFF00000000", 10 | "@ c #3F3F3F3F3F3F", 11 | " ", 12 | " ", 13 | " ", 14 | " ", 15 | " ", 16 | " ", 17 | " ", 18 | " ", 19 | " ", 20 | " ", 21 | " ", 22 | " ................... ", 23 | " XXoooooooooooooooooooX ", 24 | " .XOo+ooooooooooooooo+oX@ ", 25 | " ..OXooooooooooooooooooo@@ ", 26 | " ..XXoooooooooooooooooooX@ ", 27 | " ..XXX..@@..@@..@@..@@.XX@ ", 28 | " ...XOO@@OO@@OO@@OO@@OOOO@ ", 29 | " ..OOOOOOOOOOOOOOOOOOOOO@ ", 30 | " OO@@@@OOOOOOOO@@@@OO@ ", 31 | " ", 32 | " ", 33 | " ", 34 | " ", 35 | " ", 36 | " ", 37 | " ", 38 | " ", 39 | " ", 40 | " ", 41 | " ", 42 | " "}; 43 | -------------------------------------------------------------------------------- /images/obj1-2.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * obj1_2_xpm[] = { 3 | "32 32 7 1", 4 | " c None", 5 | ". c #BFBFBFBFBFBF", 6 | "X c #FFFFFFFFFFFF", 7 | "o c #000000000000", 8 | "O c #3F3F3F3F3F3F", 9 | "+ c #FFFF00000000", 10 | "@ c #7F7F7F7F7F7F", 11 | " ", 12 | " ", 13 | " ", 14 | " ", 15 | " ", 16 | " ", 17 | " ..... ", 18 | " .XooXX. ", 19 | " .XOOoX+X. ", 20 | " .oooXXXXX. ", 21 | " ..oo.XXXXX. ", 22 | " @.@.@OXXXXX. ", 23 | " O.@OO.XXXXX. ", 24 | " O.O.@OXXXXX. ", 25 | " O.@OO.XXXXX. ", 26 | " O.O.@OXXXXX. ", 27 | " @.@OO.XXXXX. ", 28 | " @.O.@OXXXXX. ", 29 | " @.@OO.XXXXX. ", 30 | " @.O.@OXXX+X. ", 31 | " O.@OO.XXXXo ", 32 | " O.O.@OXXOo ", 33 | " O.@.oooOo ", 34 | " O.@.oooO ", 35 | " @.@@@O ", 36 | " OOOO ", 37 | " ", 38 | " ", 39 | " ", 40 | " ", 41 | " ", 42 | " "}; 43 | -------------------------------------------------------------------------------- /images/obj1-3.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * obj1_3_xpm[] = { 3 | "32 32 7 1", 4 | " c None", 5 | ". c #BFBFBFBFBFBF", 6 | "X c #000000000000", 7 | "o c #FFFFFFFFFFFF", 8 | "O c #FFFF00000000", 9 | "+ c #7F7F7F7F7F7F", 10 | "@ c #3F3F3F3F3F3F", 11 | " ", 12 | " ", 13 | " ", 14 | " ", 15 | " ", 16 | " ", 17 | " ..X ", 18 | " .oooXX ", 19 | " .oOooXX+ ", 20 | " .oooooXX+ ", 21 | " .ooooo+X++ ", 22 | " .ooooo+++++ ", 23 | " .ooooo+@++@ ", 24 | " .ooooo++@+@ ", 25 | " .ooooo+@++@ ", 26 | " .ooooo++@+@ ", 27 | " .ooooo+@+++ ", 28 | " .ooooo++@++ ", 29 | " .ooooo+@+++ ", 30 | " XoOooo++@++ ", 31 | " XXoooo+@++@ ", 32 | " ..X+oo++@+@ ", 33 | " ..+XXX+++@ ", 34 | " ...XX+++@ ", 35 | " ....+++ ", 36 | " ...+ ", 37 | " ", 38 | " ", 39 | " ", 40 | " ", 41 | " ", 42 | " "}; 43 | -------------------------------------------------------------------------------- /images/obj1-4.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * obj1_3_xpm[] = { 3 | "32 32 1 1", 4 | " c None", 5 | " ", 6 | " ", 7 | " ", 8 | " ", 9 | " ", 10 | " ", 11 | " ", 12 | " ", 13 | " ", 14 | " ", 15 | " ", 16 | " ", 17 | " ", 18 | " ", 19 | " ", 20 | " ", 21 | " ", 22 | " ", 23 | " ", 24 | " ", 25 | " ", 26 | " ", 27 | " ", 28 | " ", 29 | " ", 30 | " ", 31 | " ", 32 | " ", 33 | " ", 34 | " ", 35 | " ", 36 | " "}; 37 | -------------------------------------------------------------------------------- /images/obj2-0.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * obj2_0_xpm[] = { 3 | "32 32 10 1", 4 | " c None", 5 | ". c #FFFF00000000", 6 | "X c #7F7F7F7F7F7F", 7 | "o c #BFBFBFBFBFBF", 8 | "O c #000000000000", 9 | "+ c #3F3F3F3F3F3F", 10 | "@ c #00000000E6E6", 11 | "# c #FFFFFFFFFFFF", 12 | "$ c #66666666E6E6", 13 | "% c #FFFFFFFF0000", 14 | " ...... ", 15 | " ... ... ", 16 | " . . ", 17 | " . . ", 18 | " . . ", 19 | " . XX . ", 20 | " . oOOX . ", 21 | " . XO+OO+ . ", 22 | " . o oO@@O+ o . ", 23 | " . X oO+OO+ X . ", 24 | " . X+##ooXX+X . ", 25 | " . X ##++XX X . ", 26 | " . X ##++XX X . ", 27 | " . X X#ooX+ X . ", 28 | " . X+##ooXX+X . ", 29 | " . X ##ooXX X . ", 30 | " . #ooX . ", 31 | " . #ooX . ", 32 | " . $#o$ . ", 33 | " . #o . ", 34 | " . #o . ", 35 | " . Xo . ", 36 | " ... o ... ", 37 | " ...... ", 38 | " o ", 39 | " % o ", 40 | " X oo ", 41 | " X oXo ", 42 | " %XoXo ", 43 | " X ", 44 | " X ", 45 | " % "}; 46 | -------------------------------------------------------------------------------- /images/obj2-1.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * obj2_1_xpm[] = { 3 | "32 32 10 1", 4 | " c None", 5 | ". c #FFFF00000000", 6 | "X c #BFBFBFBFBFBF", 7 | "o c #3F3F3F3F3F3F", 8 | "O c #7F7F7F7F7F7F", 9 | "+ c #FFFFFFFFFFFF", 10 | "@ c #000000000000", 11 | "# c #00000000E6E6", 12 | "$ c #66666666E6E6", 13 | "% c #FFFFFFFF0000", 14 | " ", 15 | " ", 16 | " ...... ", 17 | " ... ... ", 18 | " . . ", 19 | " . . ", 20 | " . . ", 21 | " . . ", 22 | " . . ", 23 | " . X ooo . ", 24 | " . O +o@@@o . ", 25 | " . Oo++@#@@o . ", 26 | " . O +++O@#@o . ", 27 | " . O O++ooO@@ . ", 28 | " . O o++XooXOO . ", 29 | " . ++XXXXOO X . ", 30 | " . $+XXXOOOoO . ", 31 | " . +XXXOOo O . ", 32 | " . +XXOOo O . ", 33 | " . +XXO$ O . ", 34 | " . +XX O . ", 35 | " .XX . ", 36 | " % X. . ", 37 | " O XX . . ", 38 | " % XOX ... ... ", 39 | " O XOOX ...... ", 40 | " % OOX ", 41 | " X ", 42 | " ", 43 | " ", 44 | " ", 45 | " "}; 46 | -------------------------------------------------------------------------------- /images/obj2-2.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * obj2_2_xpm[] = { 3 | "32 32 10 1", 4 | " c None", 5 | ". c #FFFF00000000", 6 | "X c #7F7F7F7F7F7F", 7 | "o c #BFBFBFBFBFBF", 8 | "O c #3F3F3F3F3F3F", 9 | "+ c #FFFFFFFF0000", 10 | "@ c #FFFFFFFFFFFF", 11 | "# c #66666666E6E6", 12 | "$ c #000000000000", 13 | "% c #00000000E6E6", 14 | " ", 15 | " ", 16 | " ", 17 | " ", 18 | " ...... ", 19 | " ... ... ", 20 | " . . ", 21 | " . . ", 22 | " . . ", 23 | " . . ", 24 | " . . ", 25 | " . XXXXXXXo . ", 26 | " . O O .", 27 | "+XX+XX+ . @@X@@@XXX .", 28 | " X . #@@@@@@@@$$$X .", 29 | " ooooo.ooooooooooOOo$%$$X .", 30 | " XXo . ooooooooOOo$%$$X .", 31 | " oo . #XXXXXXXX$$$X .", 32 | " . XXOXXXXXX .", 33 | " . O O . ", 34 | " . XXXXXXXo . ", 35 | " . . ", 36 | " . . ", 37 | " . . ", 38 | " . . ", 39 | " . . ", 40 | " ... ... ", 41 | " ...... ", 42 | " ", 43 | " ", 44 | " ", 45 | " "}; 46 | -------------------------------------------------------------------------------- /images/obj2-3.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * obj2_3_xpm[] = { 3 | "32 32 10 1", 4 | " c None", 5 | ". c #FFFFFFFF0000", 6 | "X c #7F7F7F7F7F7F", 7 | "o c #BFBFBFBFBFBF", 8 | "O c #FFFF00000000", 9 | "+ c #FFFFFFFFFFFF", 10 | "@ c #66666666E6E6", 11 | "# c #3F3F3F3F3F3F", 12 | "$ c #000000000000", 13 | "% c #00000000E6E6", 14 | " ", 15 | " ", 16 | " ", 17 | " . ", 18 | " X ", 19 | " . ", 20 | " o X OOOOOOO ", 21 | " XXo . OOO OO ", 22 | " oXXXo O O ", 23 | " oooooO O ", 24 | " Oo+ O ", 25 | " O oo+ X O ", 26 | " O oo++@ X O ", 27 | " O ooo++# X O ", 28 | " O Xooo++X X O ", 29 | " O @Xooo+++#X O ", 30 | " O XXooo+++ o O ", 31 | " O X #XXo##+++ O ", 32 | " O X #Xo##X$# O ", 33 | " O X XXoX$%$# O ", 34 | " O X#XX$%$$# O ", 35 | " O X X$$$$# O ", 36 | " O o ### O ", 37 | " O O ", 38 | " O O ", 39 | " O O ", 40 | " O O ", 41 | " O O ", 42 | " OOO OO ", 43 | " OOOOOOO ", 44 | " ", 45 | " "}; 46 | -------------------------------------------------------------------------------- /images/obj2-4.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * obj2_4_xpm[] = { 3 | "32 32 10 1", 4 | " c None", 5 | ". c #FFFFFFFF0000", 6 | "X c #7F7F7F7F7F7F", 7 | "o c #BFBFBFBFBFBF", 8 | "O c #FFFF00000000", 9 | "+ c #FFFFFFFFFFFF", 10 | "@ c #66666666E6E6", 11 | "# c #3F3F3F3F3F3F", 12 | "$ c #000000000000", 13 | "% c #00000000E6E6", 14 | " . ", 15 | " X ", 16 | " X ", 17 | " oXoX. ", 18 | " oXo X ", 19 | " oo X ", 20 | " o . ", 21 | " o ", 22 | " OOOOOO ", 23 | " OOO o OOO ", 24 | " O oX O ", 25 | " O o+ O ", 26 | " O o+ O ", 27 | " O @o+@ O ", 28 | " O Xoo+ O ", 29 | " O Xoo+ O ", 30 | " O X XXoo++ X O ", 31 | " O X#XXoo++#X O ", 32 | " O X #Xoo+X X O ", 33 | " O X XX##++ X O ", 34 | " O X XX##++ X O ", 35 | " O X#XXoo++#X O ", 36 | " O X #$$#$o X O ", 37 | " O o #$%%$o o O ", 38 | " O #$$#$X O ", 39 | " O X$$o O ", 40 | " O XX O ", 41 | " O O ", 42 | " O O ", 43 | " O O ", 44 | " OOO OOO ", 45 | " OOOOOO "}; 46 | -------------------------------------------------------------------------------- /images/obj2-5.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * obj2_5_xpm[] = { 3 | "32 32 10 1", 4 | " c None", 5 | ". c #BFBFBFBFBFBF", 6 | "X c #7F7F7F7F7F7F", 7 | "o c #FFFFFFFF0000", 8 | "O c #FFFF00000000", 9 | "+ c #FFFFFFFFFFFF", 10 | "@ c #66666666E6E6", 11 | "# c #3F3F3F3F3F3F", 12 | "$ c #000000000000", 13 | "% c #00000000E6E6", 14 | " ", 15 | " ", 16 | " ", 17 | " ", 18 | " . ", 19 | " .XX o ", 20 | " OOOOOO .XX. X ", 21 | " OOO OOO .X. o ", 22 | " O O .. X ", 23 | " O O. o ", 24 | " O ..O ", 25 | " O X ..+ O ", 26 | " O X @X..+ O ", 27 | " O X #XX..+ O ", 28 | " O X #XX...+ O ", 29 | " O X#XXX...+@ O ", 30 | " O . XX....++ O ", 31 | " O XX.##.++# X O ", 32 | " O $$X##++X X O ", 33 | " O #$%$X+++ X O ", 34 | " O #$$%$++#X O ", 35 | " O #$$$#+ X O ", 36 | " O ### . O ", 37 | " O O ", 38 | " O O ", 39 | " O O ", 40 | " O O ", 41 | " O O ", 42 | " OOO OOO ", 43 | " OOOOOO ", 44 | " ", 45 | " "}; 46 | -------------------------------------------------------------------------------- /images/obj2-6.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * obj2_6_xpm[] = { 3 | "32 32 10 1", 4 | " c None", 5 | ". c #FFFF00000000", 6 | "X c #BFBFBFBFBFBF", 7 | "o c #7F7F7F7F7F7F", 8 | "O c #3F3F3F3F3F3F", 9 | "+ c #000000000000", 10 | "@ c #66666666E6E6", 11 | "# c #00000000E6E6", 12 | "$ c #FFFFFFFFFFFF", 13 | "% c #FFFFFFFF0000", 14 | " ", 15 | " ", 16 | " ", 17 | " ", 18 | " ...... ", 19 | " ... ... ", 20 | " . . ", 21 | " . . ", 22 | " . . ", 23 | " . . ", 24 | " . . ", 25 | " . Xooooooo . ", 26 | " . O O . ", 27 | ". ooooooOoo . ", 28 | ". o+++oooooooo@ . XX ", 29 | ". o++#+XOOXXXXXXXX . Xoo ", 30 | ". o++#+XOOXXXXXXXXXX.XXXXX ", 31 | ". o+++$$$$$$$$@ . o ", 32 | ". ooo$$$o$$ . %oo%oo%", 33 | ". O O . ", 34 | " . Xooooooo . ", 35 | " . . ", 36 | " . . ", 37 | " . . ", 38 | " . . ", 39 | " . . ", 40 | " ... ... ", 41 | " ...... ", 42 | " ", 43 | " ", 44 | " ", 45 | " "}; 46 | -------------------------------------------------------------------------------- /images/obj2-7.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * obj2_7_xpm[] = { 3 | "32 32 10 1", 4 | " c None", 5 | ". c #FFFF00000000", 6 | "X c #3F3F3F3F3F3F", 7 | "o c #BFBFBFBFBFBF", 8 | "O c #000000000000", 9 | "+ c #7F7F7F7F7F7F", 10 | "@ c #00000000E6E6", 11 | "# c #FFFFFFFFFFFF", 12 | "$ c #66666666E6E6", 13 | "% c #FFFFFFFF0000", 14 | " ", 15 | " ", 16 | " ....... ", 17 | " .. ... ", 18 | " . . ", 19 | " . . ", 20 | " . . ", 21 | " . . ", 22 | " . . ", 23 | " . XXX o . ", 24 | " . XOOOO+ + . ", 25 | " . XOO@O++X+ . ", 26 | " . XO@O+o++ + . ", 27 | " . XO+XXo+X + . ", 28 | " . ###XXo++X + . ", 29 | " . o ###ooo++ . ", 30 | " . +X###ooo+$ . ", 31 | " . + +##ooo+ . ", 32 | " . + X##ooo . ", 33 | " . + $##oo . ", 34 | " . + #oo . ", 35 | " . #o. ", 36 | " . .ooooo ", 37 | " . . o+++o ", 38 | " .. ... % o++ ", 39 | " ....... + o ", 40 | " % ", 41 | " + ", 42 | " % ", 43 | " ", 44 | " ", 45 | " "}; 46 | -------------------------------------------------------------------------------- /images/obj8-0.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * obj1_0_xpm[] = { 3 | "32 32 7 1", 4 | " c None", 5 | ". c #BFBFBFBFBFBF", 6 | "X c #FFFFFFFFFFFF", 7 | "o c #000000000000", 8 | "O c #3F3F3F3F3F3F", 9 | "+ c #FFFF00000000", 10 | "@ c #7F7F7F7F7F7F", 11 | " ", 12 | " ", 13 | " ", 14 | " .... ", 15 | " .XooOoo ", 16 | " .XXoXXXX. ", 17 | " ....XX+X. ", 18 | " ...OXXXX. ", 19 | " @.OOXXXX. ", 20 | " @.O.XXXX. ", 21 | " @...XXXX. ", 22 | " @..OXXXX. ", 23 | " ..OOXXXX. ", 24 | " ..O.XXXX. ", 25 | " ....XXXX. ", 26 | " ...OXXXX. ", 27 | " ..OOXXXX. ", 28 | " ..O.XXXX. ", 29 | " ....XXXX. ", 30 | " @..OXXXX. ", 31 | " @.OOXXXX. ", 32 | " @.O.XXXX. ", 33 | " @...XX+X. ", 34 | " ...oXXXX. ", 35 | " ..oooo@o ", 36 | " .@@oo@oo ", 37 | " @@@@@@ ", 38 | " @@@@@ ", 39 | " ", 40 | " ", 41 | " ", 42 | " "}; 43 | -------------------------------------------------------------------------------- /images/obj8-1.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * obj1_1_xpm[] = { 3 | "32 32 7 1", 4 | " c None", 5 | ". c #BFBFBFBFBFBF", 6 | "X c #000000000000", 7 | "o c #FFFFFFFFFFFF", 8 | "O c #7F7F7F7F7F7F", 9 | "+ c #FFFF00000000", 10 | "@ c #3F3F3F3F3F3F", 11 | " ", 12 | " ", 13 | " ", 14 | " ", 15 | " ", 16 | " ", 17 | " ", 18 | " ", 19 | " ", 20 | " ", 21 | " ", 22 | " ................... ", 23 | " XXoooooooooooooooooooX ", 24 | " .XOo+ooooooooooooooo+oX@ ", 25 | " ..OXooooooooooooooooooo@@ ", 26 | " ..XXoooooooooooooooooooX@ ", 27 | " ..XXX..@@..@@..@@..@@.XX@ ", 28 | " ...XOO@@OO@@OO@@OO@@OOOO@ ", 29 | " ..OOOOOOOOOOOOOOOOOOOOO@ ", 30 | " OO@@@@OOOOOOOO@@@@OO@ ", 31 | " ", 32 | " ", 33 | " ", 34 | " ", 35 | " ", 36 | " ", 37 | " ", 38 | " ", 39 | " ", 40 | " ", 41 | " ", 42 | " "}; 43 | -------------------------------------------------------------------------------- /images/obj8-2.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * obj1_2_xpm[] = { 3 | "32 32 7 1", 4 | " c None", 5 | ". c #BFBFBFBFBFBF", 6 | "X c #FFFFFFFFFFFF", 7 | "o c #000000000000", 8 | "O c #3F3F3F3F3F3F", 9 | "+ c #FFFF00000000", 10 | "@ c #7F7F7F7F7F7F", 11 | " ", 12 | " ", 13 | " ", 14 | " ", 15 | " ", 16 | " ", 17 | " ..... ", 18 | " .XooXX. ", 19 | " .XOOoX+X. ", 20 | " .oooXXXXX. ", 21 | " ..oo.XXXXX. ", 22 | " @.@.@OXXXXX. ", 23 | " O.@OO.XXXXX. ", 24 | " O.O.@OXXXXX. ", 25 | " O.@OO.XXXXX. ", 26 | " O.O.@OXXXXX. ", 27 | " @.@OO.XXXXX. ", 28 | " @.O.@OXXXXX. ", 29 | " @.@OO.XXXXX. ", 30 | " @.O.@OXXX+X. ", 31 | " O.@OO.XXXXo ", 32 | " O.O.@OXXOo ", 33 | " O.@.oooOo ", 34 | " O.@.oooO ", 35 | " @.@@@O ", 36 | " OOOO ", 37 | " ", 38 | " ", 39 | " ", 40 | " ", 41 | " ", 42 | " "}; 43 | -------------------------------------------------------------------------------- /images/obj8-3.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * obj1_3_xpm[] = { 3 | "32 32 7 1", 4 | " c None", 5 | ". c #BFBFBFBFBFBF", 6 | "X c #000000000000", 7 | "o c #FFFFFFFFFFFF", 8 | "O c #FFFF00000000", 9 | "+ c #7F7F7F7F7F7F", 10 | "@ c #3F3F3F3F3F3F", 11 | " ", 12 | " ", 13 | " ", 14 | " ", 15 | " ", 16 | " ", 17 | " ..X ", 18 | " .oooXX ", 19 | " .oOooXX+ ", 20 | " .oooooXX+ ", 21 | " .ooooo+X++ ", 22 | " .ooooo+++++ ", 23 | " .ooooo+@++@ ", 24 | " .ooooo++@+@ ", 25 | " .ooooo+@++@ ", 26 | " .ooooo++@+@ ", 27 | " .ooooo+@+++ ", 28 | " .ooooo++@++ ", 29 | " .ooooo+@+++ ", 30 | " XoOooo++@++ ", 31 | " XXoooo+@++@ ", 32 | " ..X+oo++@+@ ", 33 | " ..+XXX+++@ ", 34 | " ...XX+++@ ", 35 | " ....+++ ", 36 | " ...+ ", 37 | " ", 38 | " ", 39 | " ", 40 | " ", 41 | " ", 42 | " "}; 43 | -------------------------------------------------------------------------------- /images/spacer.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *noname[] = { 3 | /* width height ncolors chars_per_pixel */ 4 | "126 2 2 1", 5 | /* colors */ 6 | "+ c #3f3f3f", 7 | "# c #bfbfbf", 8 | /* pixels */ 9 | "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#", 10 | "+#############################################################################################################################", 11 | }; 12 | -------------------------------------------------------------------------------- /images/tiles-11.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 8 1", 5 | " c black", 6 | ". c #3F3F3F3F0000", 7 | "X c #3F3F3F3F3F3F", 8 | "o c #7F7F00000000", 9 | "O c #7F7F3D3D0000", 10 | "+ c gray50", 11 | "@ c red", 12 | "# c gray75", 13 | /* pixels */ 14 | " ", 15 | " oooooooooooooooooooooooooooo ", 16 | " o oooooooooooooooooooooooooo @ ", 17 | " oo oooooooooooooooooooooooo @@ ", 18 | " ooo @@@ ", 19 | " ooo ###################### @@@ ", 20 | " ooo ###################### @@@ ", 21 | " ooo ###################### @@@ ", 22 | " ooo ##XX#X #######X## @@@ ", 23 | " ooo ### XXXXXXXXXXXXX ## @@@ ", 24 | " ooo ### X X ## @@@ ", 25 | " ooo ### X X ########## @@@ ", 26 | " ooo ### #######+## @@@ ", 27 | " ooo ##.. #X# #######+X### @@@ ", 28 | " ooo ##... #X# #####+XX+### @@@ ", 29 | " ooo #....# ####+XX+X#### @@@ ", 30 | " ooo #.O..#######+XX+X+#### @@@ ", 31 | " ooo #....######+XX+XX##### @@@ ", 32 | " ooo #....## ###XX+XX+##### @@@ ", 33 | " ooo #######+ #+X+XX+###### @@@ ", 34 | " ooo ########+ X+XX+####### @@@ ", 35 | " ooo #########+ X+######### @@@ ", 36 | " ooo ########..+ ########## @@@ ", 37 | " ooo #######.O.#+ ######### @@@ ", 38 | " ooo ######.O.###+ ######## @@@ ", 39 | " ooo ######..############## @@@ ", 40 | " ooo ###################### @@@ ", 41 | " ooo @@@ ", 42 | " oo @@@@@@@@@@@@@@@@@@@@@@@@ @@ ", 43 | " o @@@@@@@@@@@@@@@@@@@@@@@@@@ @ ", 44 | " @@@@@@@@@@@@@@@@@@@@@@@@@@@@ ", 45 | " " 46 | }; 47 | -------------------------------------------------------------------------------- /images/tiles-12.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 8 1", 5 | " c black", 6 | ". c #3F3F3F3F0000", 7 | "X c #3F3F3F3F3F3F", 8 | "o c #7F7F3D3D0000", 9 | "O c #727272727272", 10 | "+ c gray50", 11 | "@ c gray75", 12 | "# c #DFDFDFDFDFDF", 13 | /* pixels */ 14 | " ", 15 | " ############################ ", 16 | " # ########################## O ", 17 | " ## ######################## OO ", 18 | " ### OOO ", 19 | " ### @@@@@@@@@@@@@@@@@@@@@@ OOO ", 20 | " ### @@@@@@@@@@@@@@@@@@@@@@ OOO ", 21 | " ### @@@@@@@@@@@@@@@@@@@@@@ OOO ", 22 | " ### @@XX@X @@@@@@@X@@ OOO ", 23 | " ### @@@ XXXXXXXXXXXXX @@ OOO ", 24 | " ### @@@ X X @@ OOO ", 25 | " ### @@@ X X @@@@@@@@@@ OOO ", 26 | " ### @@@ @@@@@@@+@@ OOO ", 27 | " ### @@.. @X@ @@@@@@@+X@@@ OOO ", 28 | " ### @@... @X@ @@@@@+XX+@@@ OOO ", 29 | " ### @....@ @@@@+XX+X@@@@ OOO ", 30 | " ### @.o..@@@@@@@+XX+X+@@@@ OOO ", 31 | " ### @....@@@@@@+XX+XX@@@@@ OOO ", 32 | " ### @....@@ @@@XX+XX+@@@@@ OOO ", 33 | " ### @@@@@@@+ @+X+XX+@@@@@@ OOO ", 34 | " ### @@@@@@@@+ X+XX+@@@@@@@ OOO ", 35 | " ### @@@@@@@@@+ X+@@@@@@@@@ OOO ", 36 | " ### @@@@@@@@..+ @@@@@@@@@@ OOO ", 37 | " ### @@@@@@@.o.@+ @@@@@@@@@ OOO ", 38 | " ### @@@@@@.o.@@@+ @@@@@@@@ OOO ", 39 | " ### @@@@@@..@@@@@@@@@@@@@@ OOO ", 40 | " ### @@@@@@@@@@@@@@@@@@@@@@ OOO ", 41 | " ### OOO ", 42 | " ## OOOOOOOOOOOOOOOOOOOOOOOO OO ", 43 | " # OOOOOOOOOOOOOOOOOOOOOOOOOO O ", 44 | " OOOOOOOOOOOOOOOOOOOOOOOOOOOO ", 45 | " " 46 | }; 47 | -------------------------------------------------------------------------------- /images/tiles-122.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles____[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 7 1", 5 | " c black", 6 | ". c #3F3F3F3F3F3F", 7 | "X c gray50", 8 | "o c red", 9 | "O c gray75", 10 | "+ c gray100", 11 | "@ c None", 12 | /* pixels */ 13 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 14 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 15 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 16 | "@@@@@@@@@@@@@@@OOOO@@@@@@@@@@@@@", 17 | "@@@@@@@@@@@@@@O+ . @@@@@@@@@@@", 18 | "@@@@@@@@@@@@@O++ ++++O@@@@@@@@@@", 19 | "@@@@@@@@@@@@@OOOO++o+O@@@@@@@@@@", 20 | "@@@@@@@@@@@@@OOO.++++O@@@@@@@@@@", 21 | "@@@@@@@@@@@@@XO..++++O@@@@@@@@@@", 22 | "@@@@@@@@@@@@@XO.O++++O@@@@@@@@@@", 23 | "@@@@@@@@@@@@@XOOO++++O@@@@@@@@@@", 24 | "@@@@@@@@@@@@@XOO.++++O@@@@@@@@@@", 25 | "@@@@@@@@@@@@@OO..++++O@@@@@@@@@@", 26 | "@@@@@@@@@@@@@OO.O++++O@@@@@@@@@@", 27 | "@@@@@@@@@@@@@OOOO++++O@@@@@@@@@@", 28 | "@@@@@@@@@@@@@OOO.++++O@@@@@@@@@@", 29 | "@@@@@@@@@@@@@OO..++++O@@@@@@@@@@", 30 | "@@@@@@@@@@@@@OO.O++++O@@@@@@@@@@", 31 | "@@@@@@@@@@@@@OOOO++++O@@@@@@@@@@", 32 | "@@@@@@@@@@@@@XOO.++++O@@@@@@@@@@", 33 | "@@@@@@@@@@@@@XO..++++O@@@@@@@@@@", 34 | "@@@@@@@@@@@@@XO.O++++O@@@@@@@@@@", 35 | "@@@@@@@@@@@@@XOOO++o+O@@@@@@@@@@", 36 | "@@@@@@@@@@@@@OOO ++++O@@@@@@@@@@", 37 | "@@@@@@@@@@@@@OO X @@@@@@@@@@@", 38 | "@@@@@@@@@@@@@OXX X @@@@@@@@@@@", 39 | "@@@@@@@@@@@@@@XXXXXX@@@@@@@@@@@@", 40 | "@@@@@@@@@@@@@@XXXXX@@@@@@@@@@@@@", 41 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 42 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 43 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 44 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" 45 | }; 46 | -------------------------------------------------------------------------------- /images/tiles-123.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles____[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 7 1", 5 | " c black", 6 | ". c #3F3F3F3F3F3F", 7 | "X c gray50", 8 | "o c red", 9 | "O c gray75", 10 | "+ c gray100", 11 | "@ c None", 12 | /* pixels */ 13 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 14 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 15 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 16 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 17 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 18 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 19 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 20 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 21 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 22 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 23 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 24 | "@@@@@@@@OOOOOOOOOOOOOOOOOOO@@@@@", 25 | "@@@@@@ +++++++++++++++++++ @@@@", 26 | "@@@@@O X+o+++++++++++++++o+ .@@@", 27 | "@@@@OOX +++++++++++++++++++..@@@", 28 | "@@@@OO +++++++++++++++++++ .@@@", 29 | "@@@@OO OO..OO..OO..OO..O .@@@", 30 | "@@@@OOO XX..XX..XX..XX..XXXX.@@@", 31 | "@@@@OOXXXXXXXXXXXXXXXXXXXXX.@@@@", 32 | "@@@@@@XX....XXXXXXXX....XX.@@@@@", 33 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 34 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 35 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 36 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 37 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 38 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 39 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 40 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 41 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 42 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 43 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 44 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" 45 | }; 46 | -------------------------------------------------------------------------------- /images/tiles-124.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles____[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 7 1", 5 | " c black", 6 | ". c #3F3F3F3F3F3F", 7 | "X c gray50", 8 | "o c red", 9 | "O c gray75", 10 | "+ c gray100", 11 | "@ c None", 12 | /* pixels */ 13 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 14 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 15 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 16 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 17 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 18 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 19 | "@@@@@@@@OOOOO@@@@@@@@@@@@@@@@@@@", 20 | "@@@@@@@O+ ++O@@@@@@@@@@@@@@@@@@", 21 | "@@@@@@O+.. +o+O@@@@@@@@@@@@@@@@@", 22 | "@@@@@@O +++++O@@@@@@@@@@@@@@@@", 23 | "@@@@@@OO O+++++O@@@@@@@@@@@@@@@", 24 | "@@@@@@XOXOX.+++++O@@@@@@@@@@@@@@", 25 | "@@@@@@@.OX..O+++++O@@@@@@@@@@@@@", 26 | "@@@@@@@@.O.OX.+++++O@@@@@@@@@@@@", 27 | "@@@@@@@@@.OX..O+++++O@@@@@@@@@@@", 28 | "@@@@@@@@@@.O.OX.+++++O@@@@@@@@@@", 29 | "@@@@@@@@@@@XOX..O+++++O@@@@@@@@@", 30 | "@@@@@@@@@@@@XO.OX.+++++O@@@@@@@@", 31 | "@@@@@@@@@@@@@XOX..O+++++O@@@@@@@", 32 | "@@@@@@@@@@@@@@XO.OX.+++o+O@@@@@@", 33 | "@@@@@@@@@@@@@@@.OX..O++++ @@@@@@", 34 | "@@@@@@@@@@@@@@@@.O.OX.++. @@@@@@", 35 | "@@@@@@@@@@@@@@@@@.OXO . @@@@@@", 36 | "@@@@@@@@@@@@@@@@@@.OXO .@@@@@@", 37 | "@@@@@@@@@@@@@@@@@@@XOXXX.@@@@@@@", 38 | "@@@@@@@@@@@@@@@@@@@@....@@@@@@@@", 39 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 40 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 41 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 42 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 43 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 44 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" 45 | }; 46 | -------------------------------------------------------------------------------- /images/tiles-125.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles____[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 7 1", 5 | " c black", 6 | ". c #3F3F3F3F3F3F", 7 | "X c gray50", 8 | "o c red", 9 | "O c gray75", 10 | "+ c gray100", 11 | "@ c None", 12 | /* pixels */ 13 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 14 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 15 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 16 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 17 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 18 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 19 | "@@@@@@@@@@@@@@@@@@@@OO @@@@@@@@@", 20 | "@@@@@@@@@@@@@@@@@@@O+++ @@@@@@@", 21 | "@@@@@@@@@@@@@@@@@@O+o++ X@@@@@@", 22 | "@@@@@@@@@@@@@@@@@O+++++ X@@@@@@", 23 | "@@@@@@@@@@@@@@@@O+++++X XX@@@@@@", 24 | "@@@@@@@@@@@@@@@O+++++XXXXX@@@@@@", 25 | "@@@@@@@@@@@@@@O+++++X.XX.@@@@@@@", 26 | "@@@@@@@@@@@@@O+++++XX.X.@@@@@@@@", 27 | "@@@@@@@@@@@@O+++++X.XX.@@@@@@@@@", 28 | "@@@@@@@@@@@O+++++XX.X.@@@@@@@@@@", 29 | "@@@@@@@@@@O+++++X.XXX@@@@@@@@@@@", 30 | "@@@@@@@@@O+++++XX.XX@@@@@@@@@@@@", 31 | "@@@@@@@@O+++++X.XXX@@@@@@@@@@@@@", 32 | "@@@@@@@ +o+++XX.XX@@@@@@@@@@@@@@", 33 | "@@@@@@ ++++X.XX.@@@@@@@@@@@@@@@", 34 | "@@@@@OO X++XX.X.@@@@@@@@@@@@@@@@", 35 | "@@@@@OOX XXX.@@@@@@@@@@@@@@@@@", 36 | "@@@@@OOO XXX.@@@@@@@@@@@@@@@@@@", 37 | "@@@@@@OOOOXXX@@@@@@@@@@@@@@@@@@@", 38 | "@@@@@@@OOOX@@@@@@@@@@@@@@@@@@@@@", 39 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 40 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 41 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 42 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 43 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 44 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" 45 | }; 46 | -------------------------------------------------------------------------------- /images/tiles-13.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 9 1", 5 | " c black", 6 | ". c #00003F3F0000", 7 | "X c #3F3F3F3F0000", 8 | "o c #3F3F3F3F3F3F", 9 | "O c #7F7F3D3D0000", 10 | "+ c #3C3C0000FFFF", 11 | "@ c #FFFF3C3C0000", 12 | "# c #BFBFBFBF0000", 13 | "$ c yellow", 14 | /* pixels */ 15 | " ", 16 | " ############################ ", 17 | " # ########################## $ ", 18 | " ## ######################## $$ ", 19 | " ### $$$ ", 20 | " ### ++++++++++++++OXXXXX++ $$$ ", 21 | " ### ++++++++++++XXXXOXOX+X $$$ ", 22 | " ### ++++++++++++OXOX+X XX+ $$$ ", 23 | " ### ++++++++++XOXXXOXXX+X+ $$$ ", 24 | " ### +++++++++XXXOX+XXX+X++ $$$ ", 25 | " ### +++++++++XXX XXXXX++++ $$$ ", 26 | " ### +++++++OOXX+XXOX+++X++ $$$ ", 27 | " ### ++++++XXX++OXX++++++X+ $$$ ", 28 | " ### ++++++XX++XX+++++++O++ $$$ ", 29 | " ### ++++OX+ XXX+++X+++XX+X $$$ ", 30 | " ### ++++XX+OXX++++++++OXOX $$$ ", 31 | " ### +++X++X++++++++++OXX++ $$$ ", 32 | " ### ++X++X++++++++++OOXXX+ $$$ ", 33 | " ### ++ + +++++++++++X+X+++ $$$ ", 34 | " ### ++ + ++++++++++X+X++++ $$$ ", 35 | " ### ++ + +++++++++o+o+++++ $$$ ", 36 | " ### ++ + +++++++++o+o+++++ $$$ ", 37 | " ### + +++ooooo+++++ $$$ ", 38 | " ### . o o ...o o o..... $$$ ", 39 | " ### . .......@..... $$$ ", 40 | " ### .........@...@........ $$$ ", 41 | " ### ...................... $$$ ", 42 | " ### $$$ ", 43 | " ## $$$$$$$$$$$$$$$$$$$$$$$$ $$ ", 44 | " # $$$$$$$$$$$$$$$$$$$$$$$$$$ $ ", 45 | " $$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", 46 | " " 47 | }; 48 | -------------------------------------------------------------------------------- /images/tiles-14.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 9 1", 5 | " c black", 6 | ". c #00003F3F0000", 7 | "X c #3F3F3F3F0000", 8 | "o c #3F3F3F3F3F3F", 9 | "O c #7F7F3D3D0000", 10 | "+ c #727272727272", 11 | "@ c #3C3C0000FFFF", 12 | "# c #FFFF3C3C0000", 13 | "$ c #DFDFDFDFDFDF", 14 | /* pixels */ 15 | " ", 16 | " $$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", 17 | " $ $$$$$$$$$$$$$$$$$$$$$$$$$$ + ", 18 | " $$ $$$$$$$$$$$$$$$$$$$$$$$$ ++ ", 19 | " $$$ +++ ", 20 | " $$$ @@@@@@@@@@@@@@OXXXXX@@ +++ ", 21 | " $$$ @@@@@@@@@@@@XXXXOXOX@X +++ ", 22 | " $$$ @@@@@@@@@@@@OXOX@X XX@ +++ ", 23 | " $$$ @@@@@@@@@@XOXXXOXXX@X@ +++ ", 24 | " $$$ @@@@@@@@@XXXOX@XXX@X@@ +++ ", 25 | " $$$ @@@@@@@@@XXX XXXXX@@@@ +++ ", 26 | " $$$ @@@@@@@OOXX@XXOX@@@X@@ +++ ", 27 | " $$$ @@@@@@XXX@@OXX@@@@@@X@ +++ ", 28 | " $$$ @@@@@@XX@@XX@@@@@@@O@@ +++ ", 29 | " $$$ @@@@OX@ XXX@@@X@@@XX@X +++ ", 30 | " $$$ @@@@XX@OXX@@@@@@@@OXOX +++ ", 31 | " $$$ @@@X@@X@@@@@@@@@@OXX@@ +++ ", 32 | " $$$ @@X@@X@@@@@@@@@@OOXXX@ +++ ", 33 | " $$$ @@ @ @@@@@@@@@@@X@X@@@ +++ ", 34 | " $$$ @@ @ @@@@@@@@@@X@X@@@@ +++ ", 35 | " $$$ @@ @ @@@@@@@@@o@o@@@@@ +++ ", 36 | " $$$ @@ @ @@@@@@@@@o@o@@@@@ +++ ", 37 | " $$$ @ @@@ooooo@@@@@ +++ ", 38 | " $$$ . o o ...o o o..... +++ ", 39 | " $$$ . .......#..... +++ ", 40 | " $$$ .........#...#........ +++ ", 41 | " $$$ ...................... +++ ", 42 | " $$$ +++ ", 43 | " $$ ++++++++++++++++++++++++ ++ ", 44 | " $ ++++++++++++++++++++++++++ + ", 45 | " ++++++++++++++++++++++++++++ ", 46 | " " 47 | }; 48 | -------------------------------------------------------------------------------- /images/tiles-15.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 8 1", 5 | " c black", 6 | ". c #00003F3F0000", 7 | "X c #00005F5F0000", 8 | "o c #00007F7F0000", 9 | "O c #0000BFBF0000", 10 | "+ c red", 11 | "@ c yellow", 12 | "# c gray75", 13 | /* pixels */ 14 | " ", 15 | " XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", 16 | " X XXXXXXXXXXXXXXXXXXXXXXXXXX o ", 17 | " XX XXXXXXXXXXXXXXXXXXXXXXXX oo ", 18 | " XXX ooo ", 19 | " XXX ###################### ooo ", 20 | " XXX ###################### ooo ", 21 | " XXX ######OOOOOO#### #### ooo ", 22 | " XXX ####OOO.O..O#### #### ooo ", 23 | " XXX ####OO..O.OO## ## ooo ", 24 | " XXX #####OOOOOO### ## ooo ", 25 | " XXX ######OOOO.##### #### ooo ", 26 | " XXX #####OO@OOO.#### #### ooo ", 27 | " XXX ###.OO@@@OOO.######### ooo ", 28 | " XXX ##OOO@.@.@OOO.######## ooo ", 29 | " XXX ##OOO@O@O.OOO..####### ooo ", 30 | " XXX ##OOO.@@@OOOO..####### ooo ", 31 | " XXX #.OOOO.@.@OOO..####### ooo ", 32 | " XXX #OOOO@O@O@OOO..####### ooo ", 33 | " XXX #OOOO.@@@.OOO..####### ooo ", 34 | " XXX ##OOOO.@.OOOO..####### ooo ", 35 | " XXX ##.OOOO.OOOO..######## ooo ", 36 | " XXX ###.OOOOOOO..##+++++## ooo ", 37 | " XXX ####........###+++++## ooo ", 38 | " XXX ###################### ooo ", 39 | " XXX ###################### ooo ", 40 | " XXX ###################### ooo ", 41 | " XXX ooo ", 42 | " XX oooooooooooooooooooooooo oo ", 43 | " X oooooooooooooooooooooooooo o ", 44 | " oooooooooooooooooooooooooooo ", 45 | " " 46 | }; 47 | -------------------------------------------------------------------------------- /images/tiles-153.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles____[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "126 2 2 1", 5 | " c #3F3F3F3F3F3F", 6 | ". c gray75", 7 | /* pixels */ 8 | " .", 9 | " ............................................................................................................................." 10 | }; 11 | -------------------------------------------------------------------------------- /images/tiles-156.xpm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/images/tiles-156.xpm -------------------------------------------------------------------------------- /images/tiles-16.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 8 1", 5 | " c black", 6 | ". c #00003F3F0000", 7 | "X c #727272727272", 8 | "o c #0000BFBF0000", 9 | "O c red", 10 | "+ c yellow", 11 | "@ c gray75", 12 | "# c #DFDFDFDFDFDF", 13 | /* pixels */ 14 | " ", 15 | " ############################ ", 16 | " # ########################## X ", 17 | " ## ######################## XX ", 18 | " ### XXX ", 19 | " ### @@@@@@@@@@@@@@@@@@@@@@ XXX ", 20 | " ### @@@@@@@@@@@@@@@@@@@@@@ XXX ", 21 | " ### @@@@@@oooooo@@@@ @@@@ XXX ", 22 | " ### @@@@ooo.o..o@@@@ @@@@ XXX ", 23 | " ### @@@@oo..o.oo@@ @@ XXX ", 24 | " ### @@@@@oooooo@@@ @@ XXX ", 25 | " ### @@@@@@oooo.@@@@@ @@@@ XXX ", 26 | " ### @@@@@oo+ooo.@@@@ @@@@ XXX ", 27 | " ### @@@.oo+++ooo.@@@@@@@@@ XXX ", 28 | " ### @@ooo+.+.+ooo.@@@@@@@@ XXX ", 29 | " ### @@ooo+o+o.ooo..@@@@@@@ XXX ", 30 | " ### @@ooo.+++oooo..@@@@@@@ XXX ", 31 | " ### @.oooo.+.+ooo..@@@@@@@ XXX ", 32 | " ### @oooo+o+o+ooo..@@@@@@@ XXX ", 33 | " ### @oooo.+++.ooo..@@@@@@@ XXX ", 34 | " ### @@oooo.+.oooo..@@@@@@@ XXX ", 35 | " ### @@.oooo.oooo..@@@@@@@@ XXX ", 36 | " ### @@@.ooooooo..@@OOOOO@@ XXX ", 37 | " ### @@@@........@@@OOOOO@@ XXX ", 38 | " ### @@@@@@@@@@@@@@@@@@@@@@ XXX ", 39 | " ### @@@@@@@@@@@@@@@@@@@@@@ XXX ", 40 | " ### @@@@@@@@@@@@@@@@@@@@@@ XXX ", 41 | " ### XXX ", 42 | " ## XXXXXXXXXXXXXXXXXXXXXXXX XX ", 43 | " # XXXXXXXXXXXXXXXXXXXXXXXXXX X ", 44 | " XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", 45 | " " 46 | }; 47 | -------------------------------------------------------------------------------- /images/tiles-19.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 10 1", 5 | " c black", 6 | ". c #3F3F3F3F0000", 7 | "X c #3F3F3F3F3F3F", 8 | "o c gray50", 9 | "O c #3C3C0000BFBF", 10 | "+ c #3C3C0000FFFF", 11 | "@ c #0000DFDF0000", 12 | "# c green", 13 | "$ c gray75", 14 | "% c gray100", 15 | /* pixels */ 16 | " ", 17 | " @@@@@@@@@@@@@@@@@@@@@@@@@@@@ ", 18 | " @ @@@@@@@@@@@@@@@@@@@@@@@@@@ # ", 19 | " @@ @@@@@@@@@@@@@@@@@@@@@@@@ ## ", 20 | " @@@ ### ", 21 | " @@@ OOOOOOOOOOOOOOOOOOOOOO ### ", 22 | " @@@ O+O+O+O+O+O+O+O+O+O+O+ ### ", 23 | " @@@ +O+O+O+O+O+O+O+O+O+O+O ### ", 24 | " @@@ ++O+ +OX++O+++O+++O+++ ### ", 25 | " @@@ ++++ +X +++++++++++++ ### ", 26 | " @@@ O+++ X XXXXXX++++O+ ### ", 27 | " @@@ ++++X X +++++ ### ", 28 | " @@@ +++X X ++++ ### ", 29 | " @@@ ++X X +++ ### ", 30 | " @@@ +++%%%%%%%%%$$$$$$++++ ### ", 31 | " @@@ +++%oo%%oo%%$o$o$$++++ ### ", 32 | " @@@ @@@%oX%%oX%%$$$$$$@@@@ ### ", 33 | " @@@ @@@%%%%%%%%%$$$$$$@@@@ ### ", 34 | " @@@ @@@%%oo%oo%%$o$o$$@@@@ ### ", 35 | " @@@ @@@%%oX%oX%%$$$o$$@@@@ ### ", 36 | " @@@ @@@%%oX%%%%%@@@@@@@@@@ ### ", 37 | " @@@ @@@@@..@@@@@@@@@@@@@@@ ### ", 38 | " @@@ @@@@@...@@@@@@@@@@@@@@ ### ", 39 | " @@@ @@@@@....@@@@@@@@@@@@@ ### ", 40 | " @@@ @@@@@@......@@@@@@@@@@ ### ", 41 | " @@@ @@@@@@@........@@@@@@@ ### ", 42 | " @@@ @@@@@@@@@.........@@@@ ### ", 43 | " @@@ ### ", 44 | " @@ ######################## ## ", 45 | " @ ########################## # ", 46 | " ############################ ", 47 | " " 48 | }; 49 | -------------------------------------------------------------------------------- /images/tiles-23.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "34 34 2 1", 5 | " c black", 6 | ". c #7E7E7E7E7E7E", 7 | /* pixels */ 8 | "..................................", 9 | "..................................", 10 | "..................................", 11 | "..................................", 12 | "..................................", 13 | "..................................", 14 | "..................................", 15 | "..................................", 16 | "..................................", 17 | "..................................", 18 | "..................................", 19 | "..................................", 20 | "..................................", 21 | "..................................", 22 | "..................................", 23 | "........ . . . . . . . ..... . . .", 24 | "..................................", 25 | "..................................", 26 | "..................................", 27 | "..................................", 28 | "..................................", 29 | "..................................", 30 | "..................................", 31 | "..................................", 32 | "..................................", 33 | "..................................", 34 | "..................................", 35 | "..................................", 36 | "..................................", 37 | "..................................", 38 | "..................................", 39 | "..................................", 40 | "..................................", 41 | ".................................." 42 | }; 43 | -------------------------------------------------------------------------------- /images/tiles-24.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "34 34 2 1", 5 | " c black", 6 | ". c #7E7E7E7E7E7E", 7 | /* pixels */ 8 | "..................................", 9 | "..................................", 10 | "..................................", 11 | "..................................", 12 | "..................................", 13 | "..................................", 14 | "..................................", 15 | "..................................", 16 | "..................................", 17 | "..................................", 18 | "..................................", 19 | "..................................", 20 | "..................................", 21 | "..................................", 22 | "..................................", 23 | "..................................", 24 | "..................................", 25 | "..................................", 26 | "..................................", 27 | "..................................", 28 | "..................................", 29 | "..................................", 30 | "..................................", 31 | "..................................", 32 | "..................................", 33 | "..................................", 34 | "..................................", 35 | "..................................", 36 | "..................................", 37 | "........ . . . . . . . ..... . . .", 38 | "..................................", 39 | "..................................", 40 | "..................................", 41 | ".................................." 42 | }; 43 | -------------------------------------------------------------------------------- /images/tiles-31.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "34 34 2 1", 5 | " c black", 6 | ". c #7E7E7E7E7E7E", 7 | /* pixels */ 8 | "..................................", 9 | "..................................", 10 | "..................................", 11 | "..................................", 12 | "..................................", 13 | "..................................", 14 | "..................................", 15 | "..................................", 16 | "..................................", 17 | "..................................", 18 | "............. . . . . . . ... ....", 19 | "..................................", 20 | "..................................", 21 | "..................................", 22 | "..................................", 23 | "..................................", 24 | "..................................", 25 | "..................................", 26 | "..................................", 27 | "..................................", 28 | "..................................", 29 | "..................................", 30 | "..................................", 31 | "..................................", 32 | "..................................", 33 | "..................................", 34 | "..................................", 35 | "..................................", 36 | "......... . . . . . . . . . . ....", 37 | "..................................", 38 | "..................................", 39 | "..................................", 40 | "..................................", 41 | ".................................." 42 | }; 43 | -------------------------------------------------------------------------------- /images/tiles-32.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "34 34 2 1", 5 | " c black", 6 | ". c #7E7E7E7E7E7E", 7 | /* pixels */ 8 | "..................................", 9 | "..................................", 10 | "..................................", 11 | "..................................", 12 | "..................................", 13 | "..................................", 14 | "..................................", 15 | "..................................", 16 | "............. . . . . . . ... ....", 17 | "..................................", 18 | "..................................", 19 | "..................................", 20 | "..................................", 21 | "..................................", 22 | "..................................", 23 | "..................................", 24 | "..................................", 25 | "..................................", 26 | "..................................", 27 | "..................................", 28 | "..................................", 29 | "..................................", 30 | "..................................", 31 | "..................................", 32 | "..................................", 33 | "..................................", 34 | "......... . . . . . . . . . . ....", 35 | "..................................", 36 | "..................................", 37 | "..................................", 38 | "..................................", 39 | "..................................", 40 | "..................................", 41 | ".................................." 42 | }; 43 | -------------------------------------------------------------------------------- /images/tiles-43.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "34 34 2 1", 5 | " c black", 6 | ". c #7E7E7E7E7E7E", 7 | /* pixels */ 8 | "..................................", 9 | "..................................", 10 | "..................................", 11 | "..................................", 12 | "..................................", 13 | "..................................", 14 | "..................................", 15 | "..................................", 16 | "..................................", 17 | "..................................", 18 | "..................................", 19 | "..................................", 20 | "..................................", 21 | "..................................", 22 | "..................................", 23 | "..................................", 24 | "..................................", 25 | "..................................", 26 | "..................................", 27 | "................. ......... ....", 28 | "..................................", 29 | "..................................", 30 | "..................................", 31 | "..................................", 32 | "..................................", 33 | "..................................", 34 | "..................................", 35 | "..................................", 36 | "..................................", 37 | "..................................", 38 | "..................................", 39 | "..................................", 40 | "..................................", 41 | ".................................." 42 | }; 43 | -------------------------------------------------------------------------------- /images/tiles-44.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "34 34 2 1", 5 | " c black", 6 | ". c #7E7E7E7E7E7E", 7 | /* pixels */ 8 | "..................................", 9 | "..................................", 10 | "..................................", 11 | "..................................", 12 | "..................................", 13 | "..................................", 14 | "..................................", 15 | "..................................", 16 | "..................................", 17 | "..................................", 18 | "..................................", 19 | "..................................", 20 | "..................................", 21 | "..................................", 22 | "..................................", 23 | "..................................", 24 | "..................................", 25 | "..................................", 26 | "..................................", 27 | "................. ......... ....", 28 | "..................................", 29 | "..................................", 30 | "..................................", 31 | "..................................", 32 | "..................................", 33 | "..................................", 34 | "..................................", 35 | "..................................", 36 | "..................................", 37 | "..................................", 38 | "..................................", 39 | "..................................", 40 | "..................................", 41 | ".................................." 42 | }; 43 | -------------------------------------------------------------------------------- /images/tiles-59.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "53 23 2 1", 5 | " c yellow", 6 | ". c gray69", 7 | /* pixels */ 8 | "......... ........................................", 9 | "..... . .......................................", 10 | ".... . ... ......................................", 11 | ".... .. ..... ....................................", 12 | ".... .......... .................................", 13 | "... ............ . ...............................", 14 | ". .. .. ....... . ...............................", 15 | " .. .......... .. ...", 16 | " . .......... .. ..", 17 | " . .. ....... ................................ .", 18 | " . .......... ................................. ", 19 | " . .. ....... .. ", 20 | " . .. ....... .. .", 21 | " . .......... ................................ ..", 22 | " . .. ....... .......... ...... .... ...", 23 | " . . .. ....... .. .... .... .......", 24 | ". . .......... .. ..... ..........................", 25 | ".. . .. ....... . ................................", 26 | ".... ... ....... ..................................", 27 | ".... .......... ....................................", 28 | ".... .. ..... ......................................", 29 | "..... . ... ........................................", 30 | "......... ........................................." 31 | }; 32 | -------------------------------------------------------------------------------- /images/tiles-60.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "93 14 6 1", 5 | " c black", 6 | ". c red", 7 | "X c #FFFF7F7F0000", 8 | "o c yellow", 9 | "O c gray69", 10 | "+ c gray75", 11 | /* pixels */ 12 | "OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO", 13 | "OOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOO", 14 | "OOOOOOOOOOOOOOOOOOOOOO ++++++++++ oooooooooo XXXXXXXXXX .......... OOOOOOOOOOOOOOOOOOOOOOOOOO", 15 | "OOOOOOOOOOOOOOOOOOOOOO ++++++++++ oooooooooo XXXXXXXXXX .......... OOOOOOOOOOOOOOOOOOOOOOOOOO", 16 | "OO OOOOO OO OO OOOO OO ++++++++++ oooooooooo XXXXXXXXXX .......... OO OOOOO OOOO OOOO OOOO OO", 17 | "OO OOO OO OO OOO OO ++++++++++ oooooooooo XXXXXXXXXX .......... OO OOO OOO O OOOO OO OOO", 18 | "OO O O O OO OO O OO OO ++++++++++ oooooooooo XXXXXXXXXX .......... OO O O O OO OOO OOOO OOOO", 19 | "OO OO OO OO OO OO O OO ++++++++++ oooooooooo XXXXXXXXXX .......... OO OO OO O OOO OOOO", 20 | "OO OOOOO OO OO OOO OO ++++++++++ oooooooooo XXXXXXXXXX .......... OO OOOOO O OOOOO OO OO OOO", 21 | "OO OOOOO OO OO OOOO OO ++++++++++ oooooooooo XXXXXXXXXX .......... OO OOOOO O OOOOO O OOOO OO", 22 | "OOOOOOOOOOOOOOOOOOOOOO ++++++++++ oooooooooo XXXXXXXXXX .......... OOOOOOOOOOOOOOOOOOOOOOOOOO", 23 | "OOOOOOOOOOOOOOOOOOOOOO ++++++++++ oooooooooo XXXXXXXXXX .......... OOOOOOOOOOOOOOOOOOOOOOOOOO", 24 | "OOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOO", 25 | "OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO" 26 | }; 27 | -------------------------------------------------------------------------------- /images/tiles-61.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "1 14 1 1", 5 | " c #0D080C9F0CAE", 6 | /* pixels */ 7 | " ", 8 | " ", 9 | " ", 10 | " ", 11 | " ", 12 | " ", 13 | " ", 14 | " ", 15 | " ", 16 | " ", 17 | " ", 18 | " ", 19 | " ", 20 | " " 21 | }; 22 | -------------------------------------------------------------------------------- /images/tiles-65.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 7 1", 5 | " c black", 6 | ". c #3F3F3F3F3F3F", 7 | "X c gray50", 8 | "o c red", 9 | "O c gray75", 10 | "+ c gray100", 11 | "@ c None", 12 | /* pixels */ 13 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 14 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 15 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 16 | "@@@@@@@@@@@@@@@OOOO@@@@@@@@@@@@@", 17 | "@@@@@@@@@@@@@@O+ . @@@@@@@@@@@", 18 | "@@@@@@@@@@@@@O++ ++++O@@@@@@@@@@", 19 | "@@@@@@@@@@@@@OOOO++o+O@@@@@@@@@@", 20 | "@@@@@@@@@@@@@OOO.++++O@@@@@@@@@@", 21 | "@@@@@@@@@@@@@XO..++++O@@@@@@@@@@", 22 | "@@@@@@@@@@@@@XO.O++++O@@@@@@@@@@", 23 | "@@@@@@@@@@@@@XOOO++++O@@@@@@@@@@", 24 | "@@@@@@@@@@@@@XOO.++++O@@@@@@@@@@", 25 | "@@@@@@@@@@@@@OO..++++O@@@@@@@@@@", 26 | "@@@@@@@@@@@@@OO.O++++O@@@@@@@@@@", 27 | "@@@@@@@@@@@@@OOOO++++O@@@@@@@@@@", 28 | "@@@@@@@@@@@@@OOO.++++O@@@@@@@@@@", 29 | "@@@@@@@@@@@@@OO..++++O@@@@@@@@@@", 30 | "@@@@@@@@@@@@@OO.O++++O@@@@@@@@@@", 31 | "@@@@@@@@@@@@@OOOO++++O@@@@@@@@@@", 32 | "@@@@@@@@@@@@@XOO.++++O@@@@@@@@@@", 33 | "@@@@@@@@@@@@@XO..++++O@@@@@@@@@@", 34 | "@@@@@@@@@@@@@XO.O++++O@@@@@@@@@@", 35 | "@@@@@@@@@@@@@XOOO++o+O@@@@@@@@@@", 36 | "@@@@@@@@@@@@@OOO ++++O@@@@@@@@@@", 37 | "@@@@@@@@@@@@@OO X @@@@@@@@@@@", 38 | "@@@@@@@@@@@@@OXX X @@@@@@@@@@@", 39 | "@@@@@@@@@@@@@@XXXXXX@@@@@@@@@@@@", 40 | "@@@@@@@@@@@@@@XXXXX@@@@@@@@@@@@@", 41 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 42 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 43 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 44 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" 45 | }; 46 | -------------------------------------------------------------------------------- /images/tiles-66.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 7 1", 5 | " c black", 6 | ". c #3F3F3F3F3F3F", 7 | "X c gray50", 8 | "o c red", 9 | "O c gray75", 10 | "+ c gray100", 11 | "@ c None", 12 | /* pixels */ 13 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 14 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 15 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 16 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 17 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 18 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 19 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 20 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 21 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 22 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 23 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 24 | "@@@@@@@@OOOOOOOOOOOOOOOOOOO@@@@@", 25 | "@@@@@@ +++++++++++++++++++ @@@@", 26 | "@@@@@O X+o+++++++++++++++o+ .@@@", 27 | "@@@@OOX +++++++++++++++++++..@@@", 28 | "@@@@OO +++++++++++++++++++ .@@@", 29 | "@@@@OO OO..OO..OO..OO..O .@@@", 30 | "@@@@OOO XX..XX..XX..XX..XXXX.@@@", 31 | "@@@@OOXXXXXXXXXXXXXXXXXXXXX.@@@@", 32 | "@@@@@@XX....XXXXXXXX....XX.@@@@@", 33 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 34 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 35 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 36 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 37 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 38 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 39 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 40 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 41 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 42 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 43 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 44 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" 45 | }; 46 | -------------------------------------------------------------------------------- /images/tiles-67.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 7 1", 5 | " c black", 6 | ". c #3F3F3F3F3F3F", 7 | "X c gray50", 8 | "o c red", 9 | "O c gray75", 10 | "+ c gray100", 11 | "@ c None", 12 | /* pixels */ 13 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 14 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 15 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 16 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 17 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 18 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 19 | "@@@@@@@@OOOOO@@@@@@@@@@@@@@@@@@@", 20 | "@@@@@@@O+ ++O@@@@@@@@@@@@@@@@@@", 21 | "@@@@@@O+.. +o+O@@@@@@@@@@@@@@@@@", 22 | "@@@@@@O +++++O@@@@@@@@@@@@@@@@", 23 | "@@@@@@OO O+++++O@@@@@@@@@@@@@@@", 24 | "@@@@@@XOXOX.+++++O@@@@@@@@@@@@@@", 25 | "@@@@@@@.OX..O+++++O@@@@@@@@@@@@@", 26 | "@@@@@@@@.O.OX.+++++O@@@@@@@@@@@@", 27 | "@@@@@@@@@.OX..O+++++O@@@@@@@@@@@", 28 | "@@@@@@@@@@.O.OX.+++++O@@@@@@@@@@", 29 | "@@@@@@@@@@@XOX..O+++++O@@@@@@@@@", 30 | "@@@@@@@@@@@@XO.OX.+++++O@@@@@@@@", 31 | "@@@@@@@@@@@@@XOX..O+++++O@@@@@@@", 32 | "@@@@@@@@@@@@@@XO.OX.+++o+O@@@@@@", 33 | "@@@@@@@@@@@@@@@.OX..O++++ @@@@@@", 34 | "@@@@@@@@@@@@@@@@.O.OX.++. @@@@@@", 35 | "@@@@@@@@@@@@@@@@@.OXO . @@@@@@", 36 | "@@@@@@@@@@@@@@@@@@.OXO .@@@@@@", 37 | "@@@@@@@@@@@@@@@@@@@XOXXX.@@@@@@@", 38 | "@@@@@@@@@@@@@@@@@@@@....@@@@@@@@", 39 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 40 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 41 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 42 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 43 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 44 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" 45 | }; 46 | -------------------------------------------------------------------------------- /images/tiles-68.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 7 1", 5 | " c black", 6 | ". c #3F3F3F3F3F3F", 7 | "X c gray50", 8 | "o c red", 9 | "O c gray75", 10 | "+ c gray100", 11 | "@ c None", 12 | /* pixels */ 13 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 14 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 15 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 16 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 17 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 18 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 19 | "@@@@@@@@@@@@@@@@@@@@OO @@@@@@@@@", 20 | "@@@@@@@@@@@@@@@@@@@O+++ @@@@@@@", 21 | "@@@@@@@@@@@@@@@@@@O+o++ X@@@@@@", 22 | "@@@@@@@@@@@@@@@@@O+++++ X@@@@@@", 23 | "@@@@@@@@@@@@@@@@O+++++X XX@@@@@@", 24 | "@@@@@@@@@@@@@@@O+++++XXXXX@@@@@@", 25 | "@@@@@@@@@@@@@@O+++++X.XX.@@@@@@@", 26 | "@@@@@@@@@@@@@O+++++XX.X.@@@@@@@@", 27 | "@@@@@@@@@@@@O+++++X.XX.@@@@@@@@@", 28 | "@@@@@@@@@@@O+++++XX.X.@@@@@@@@@@", 29 | "@@@@@@@@@@O+++++X.XXX@@@@@@@@@@@", 30 | "@@@@@@@@@O+++++XX.XX@@@@@@@@@@@@", 31 | "@@@@@@@@O+++++X.XXX@@@@@@@@@@@@@", 32 | "@@@@@@@ +o+++XX.XX@@@@@@@@@@@@@@", 33 | "@@@@@@ ++++X.XX.@@@@@@@@@@@@@@@", 34 | "@@@@@OO X++XX.X.@@@@@@@@@@@@@@@@", 35 | "@@@@@OOX XXX.@@@@@@@@@@@@@@@@@", 36 | "@@@@@OOO XXX.@@@@@@@@@@@@@@@@@@", 37 | "@@@@@@OOOOXXX@@@@@@@@@@@@@@@@@@@", 38 | "@@@@@@@OOOX@@@@@@@@@@@@@@@@@@@@@", 39 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 40 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 41 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 42 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 43 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", 44 | "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" 45 | }; 46 | -------------------------------------------------------------------------------- /images/tiles-69.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 2 1", 5 | " c black", 6 | ". c None", 7 | /* pixels */ 8 | "................................", 9 | "................................", 10 | "................................", 11 | "................................", 12 | "................................", 13 | "................................", 14 | "................................", 15 | "................................", 16 | "................................", 17 | "................................", 18 | "................................", 19 | "................................", 20 | "................................", 21 | "................................", 22 | "................................", 23 | "................................", 24 | "................................", 25 | "................................", 26 | "................................", 27 | "................................", 28 | "................................", 29 | "................................", 30 | "................................", 31 | "................................", 32 | "................................", 33 | "................................", 34 | "................................", 35 | "................................", 36 | "................................", 37 | "................................", 38 | "................................", 39 | "................................" 40 | }; 41 | -------------------------------------------------------------------------------- /images/tiles-70.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 10 1", 5 | " c black", 6 | ". c #3F3F3F3F3F3F", 7 | "X c gray50", 8 | "o c #00000000E6E6", 9 | "O c #66666666E6E6", 10 | "+ c red", 11 | "@ c yellow", 12 | "# c gray75", 13 | "$ c gray100", 14 | "% c None", 15 | /* pixels */ 16 | "%%%%%%%%%%%%%++++++%%%%%%%%%%%%%", 17 | "%%%%%%%%%%+++%%%%%%+++%%%%%%%%%%", 18 | "%%%%%%%%%+%%%%%%%%%%%%+%%%%%%%%%", 19 | "%%%%%%%%+%%%%%%%%%%%%%%+%%%%%%%%", 20 | "%%%%%%%+%%%%%%%%%%%%%%%%+%%%%%%%", 21 | "%%%%%%+%%%%%%%%XX%%%%%%%%+%%%%%%", 22 | "%%%%%+%%%%%%%%# X%%%%%%%%+%%%%%", 23 | "%%%%%+%%%%%%%X . .%%%%%%%+%%%%%", 24 | "%%%%+%%%%%%#%# oo .%#%%%%%%+%%%%", 25 | "%%%%+%%%%%%X%# . .%X%%%%%%+%%%%", 26 | "%%%%+%%%%%%X.$$##XX.X%%%%%%+%%%%", 27 | "%%%%+%%%%%%X%$$..XX%X%%%%%%+%%%%", 28 | "%%%%+%%%%%%X%$$..XX%X%%%%%%+%%%%", 29 | "%%%%+%%%%%%X%X$##X.%X%%%%%%+%%%%", 30 | "%%%%+%%%%%%X.$$##XX.X%%%%%%+%%%%", 31 | "%%%%%+%%%%%X%$$##XX%X%%%%%+%%%%%", 32 | "%%%%%+%%%%%%%%$##X%%%%%%%%+%%%%%", 33 | "%%%%%+%%%%%%%%$##X%%%%%%%%+%%%%%", 34 | "%%%%%%+%%%%%%%O$#O%%%%%%%+%%%%%%", 35 | "%%%%%%%+%%%%%%%$#%%%%%%%+%%%%%%%", 36 | "%%%%%%%%+%%%%%%$#%%%%%%+%%%%%%%%", 37 | "%%%%%%%%%+%%%%%X#%%%%%+%%%%%%%%%", 38 | "%%%%%%%%%%+++%%%#%%+++%%%%%%%%%%", 39 | "%%%%%%%%%%%%%++++++%%%%%%%%%%%%%", 40 | "%%%%%%%%%%%%%%%%#%%%%%%%%%%%%%%%", 41 | "%%%%%%%%%%%%%%@%#%%%%%%%%%%%%%%%", 42 | "%%%%%%%%%%%%%%X%##%%%%%%%%%%%%%%", 43 | "%%%%%%%%%%%%%%X%#X#%%%%%%%%%%%%%", 44 | "%%%%%%%%%%%%%%@X#X#%%%%%%%%%%%%%", 45 | "%%%%%%%%%%%%%%X%%%%%%%%%%%%%%%%%", 46 | "%%%%%%%%%%%%%%X%%%%%%%%%%%%%%%%%", 47 | "%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%" 48 | }; 49 | -------------------------------------------------------------------------------- /images/tiles-71.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 10 1", 5 | " c black", 6 | ". c #3F3F3F3F3F3F", 7 | "X c gray50", 8 | "o c #00000000E6E6", 9 | "O c #66666666E6E6", 10 | "+ c red", 11 | "@ c yellow", 12 | "# c gray75", 13 | "$ c gray100", 14 | "% c None", 15 | /* pixels */ 16 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 17 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 18 | "%%%%%%%%%%%%%%%++++++%%%%%%%%%%%", 19 | "%%%%%%%%%%%%+++%%%%%%+++%%%%%%%%", 20 | "%%%%%%%%%%%+%%%%%%%%%%%%+%%%%%%%", 21 | "%%%%%%%%%%+%%%%%%%%%%%%%%+%%%%%%", 22 | "%%%%%%%%%+%%%%%%%%%%%%%%%%+%%%%%", 23 | "%%%%%%%%+%%%%%%%%%%%%%%%%%%+%%%%", 24 | "%%%%%%%+%%%%%%%%%%%%%%%%%%%%+%%%", 25 | "%%%%%%%+%%%%%%%%#%%...%%%%%%+%%%", 26 | "%%%%%%+%%%%%%%%X%$. .%%%%%%+%%", 27 | "%%%%%%+%%%%%%%X.$$ o .%%%%%%+%%", 28 | "%%%%%%+%%%%%%X%$$$X o .%%%%%%+%%", 29 | "%%%%%%+%%%%%X%X$$..X %%%%%%%+%%", 30 | "%%%%%%+%%%%X%.$$#..#XX%%%%%%%+%%", 31 | "%%%%%%+%%%%%%$$####XX%#%%%%%%+%%", 32 | "%%%%%%+%%%%%O$###XXX.X%%%%%%%+%%", 33 | "%%%%%%%+%%%%$###XX.%X%%%%%%%+%%%", 34 | "%%%%%%%+%%%%$##XX.%X%%%%%%%%+%%%", 35 | "%%%%%%%+%%%$##XO%%X%%%%%%%%%+%%%", 36 | "%%%%%%%%+%$##%%%%X%%%%%%%%%+%%%%", 37 | "%%%%%%%%%+##%%%%%%%%%%%%%%+%%%%%", 38 | "%%%%%%%@%#+%%%%%%%%%%%%%%+%%%%%%", 39 | "%%%%%%X%##%+%%%%%%%%%%%%+%%%%%%%", 40 | "%%%%%@%#X#%%+++%%%%%%+++%%%%%%%%", 41 | "%%%%X%#XX#%%%%%++++++%%%%%%%%%%%", 42 | "%%%@%%%XX#%%%%%%%%%%%%%%%%%%%%%%", 43 | "%%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%", 44 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 45 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 46 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 47 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" 48 | }; 49 | -------------------------------------------------------------------------------- /images/tiles-72.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 10 1", 5 | " c black", 6 | ". c #3F3F3F3F3F3F", 7 | "X c gray50", 8 | "o c #00000000E6E6", 9 | "O c #66666666E6E6", 10 | "+ c red", 11 | "@ c yellow", 12 | "# c gray75", 13 | "$ c gray100", 14 | "% c None", 15 | /* pixels */ 16 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 17 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 18 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 19 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 20 | "%%%%%%%%%%%%%%%%%++++++%%%%%%%%%", 21 | "%%%%%%%%%%%%%%+++%%%%%%+++%%%%%%", 22 | "%%%%%%%%%%%%%+%%%%%%%%%%%%+%%%%%", 23 | "%%%%%%%%%%%%+%%%%%%%%%%%%%%+%%%%", 24 | "%%%%%%%%%%%+%%%%%%%%%%%%%%%%+%%%", 25 | "%%%%%%%%%%+%%%%%%%%%%%%%%%%%%+%%", 26 | "%%%%%%%%%+%%%%%%%%%%%%%%%%%%%%+%", 27 | "%%%%%%%%%+%%%%%%XXXXXXX#%%%%%%+%", 28 | "%%%%%%%%+%%%%%%%%.%%%.%%%%%%%%%+", 29 | "@XX@XX@%+%%%%%%%$$X$$$XXX%%%%%%+", 30 | "%%%X%%%%+%%%%O$$$$$$$$ X%%%%%+", 31 | "%%%#####+##########..# o X%%%%+", 32 | "%%%XX#%%+%%########..# o X%%%%+", 33 | "%%%##%%%+%%%%OXXXXXXXX X%%%%%+", 34 | "%%%%%%%%+%%%%%%%XX.XXXXXX%%%%%%+", 35 | "%%%%%%%%%+%%%%%%%.%%%.%%%%%%%%+%", 36 | "%%%%%%%%%+%%%%%%XXXXXXX#%%%%%%+%", 37 | "%%%%%%%%%+%%%%%%%%%%%%%%%%%%%%+%", 38 | "%%%%%%%%%%+%%%%%%%%%%%%%%%%%%+%%", 39 | "%%%%%%%%%%%+%%%%%%%%%%%%%%%%+%%%", 40 | "%%%%%%%%%%%%+%%%%%%%%%%%%%%+%%%%", 41 | "%%%%%%%%%%%%%+%%%%%%%%%%%%+%%%%%", 42 | "%%%%%%%%%%%%%%+++%%%%%%+++%%%%%%", 43 | "%%%%%%%%%%%%%%%%%++++++%%%%%%%%%", 44 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 45 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 46 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 47 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" 48 | }; 49 | -------------------------------------------------------------------------------- /images/tiles-73.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 10 1", 5 | " c black", 6 | ". c #3F3F3F3F3F3F", 7 | "X c gray50", 8 | "o c #00000000E6E6", 9 | "O c #66666666E6E6", 10 | "+ c red", 11 | "@ c yellow", 12 | "# c gray75", 13 | "$ c gray100", 14 | "% c None", 15 | /* pixels */ 16 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 17 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 18 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 19 | "%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%", 20 | "%%%%%%%X%%%%%%%%%%%%%%%%%%%%%%%%", 21 | "%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%", 22 | "%%%%%%%#%X%%%%%%+++++++%%%%%%%%%", 23 | "%%%%%%XX#%@%%+++%%%%%%%++%%%%%%%", 24 | "%%%%%#XXX#%%+%%%%%%%%%%%%+%%%%%%", 25 | "%%%%%%#####+%%%%%%%%%%%%%%+%%%%%", 26 | "%%%%%%%%%%+#$%%%%%%%%%%%%%%+%%%%", 27 | "%%%%%%%%%+%##$%%%%X%%%%%%%%%+%%%", 28 | "%%%%%%%%+%%%##$$O%%X%%%%%%%%%+%%", 29 | "%%%%%%%%+%%%%###$$.%X%%%%%%%%+%%", 30 | "%%%%%%%%+%%%%X###$$X%X%%%%%%%+%%", 31 | "%%%%%%%+%%%%%OX###$$$.X%%%%%%%+%", 32 | "%%%%%%%+%%%%%%XX###$$$%#%%%%%%+%", 33 | "%%%%%%%+%%%%X%.XX#..$$$%%%%%%%+%", 34 | "%%%%%%%+%%%%%X%.X#..X .%%%%%%%+%", 35 | "%%%%%%%+%%%%%%X%XX#X o .%%%%%%+%", 36 | "%%%%%%%+%%%%%%%X.XX o .%%%%%%+%", 37 | "%%%%%%%%+%%%%%%%X%X .%%%%%+%%", 38 | "%%%%%%%%+%%%%%%%%#%%...%%%%%%+%%", 39 | "%%%%%%%%+%%%%%%%%%%%%%%%%%%%%+%%", 40 | "%%%%%%%%%+%%%%%%%%%%%%%%%%%%+%%%", 41 | "%%%%%%%%%%+%%%%%%%%%%%%%%%%+%%%%", 42 | "%%%%%%%%%%%+%%%%%%%%%%%%%%+%%%%%", 43 | "%%%%%%%%%%%%+%%%%%%%%%%%%+%%%%%%", 44 | "%%%%%%%%%%%%%+++%%%%%%%++%%%%%%%", 45 | "%%%%%%%%%%%%%%%%+++++++%%%%%%%%%", 46 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 47 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" 48 | }; 49 | -------------------------------------------------------------------------------- /images/tiles-74.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 10 1", 5 | " c black", 6 | ". c #3F3F3F3F3F3F", 7 | "X c gray50", 8 | "o c #00000000E6E6", 9 | "O c #66666666E6E6", 10 | "+ c red", 11 | "@ c yellow", 12 | "# c gray75", 13 | "$ c gray100", 14 | "% c None", 15 | /* pixels */ 16 | "%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%", 17 | "%%%%%%%%%%%%%%%%%%%X%%%%%%%%%%%%", 18 | "%%%%%%%%%%%%%%%%%%%X%%%%%%%%%%%%", 19 | "%%%%%%%%%%%%%%%#X#X@%%%%%%%%%%%%", 20 | "%%%%%%%%%%%%%%%#X#%X%%%%%%%%%%%%", 21 | "%%%%%%%%%%%%%%%%##%X%%%%%%%%%%%%", 22 | "%%%%%%%%%%%%%%%%%#%@%%%%%%%%%%%%", 23 | "%%%%%%%%%%%%%%%%%#%%%%%%%%%%%%%%", 24 | "%%%%%%%%%%%%%%%++++++%%%%%%%%%%%", 25 | "%%%%%%%%%%%%+++%%#%%%+++%%%%%%%%", 26 | "%%%%%%%%%%%+%%%%%#X%%%%%+%%%%%%%", 27 | "%%%%%%%%%%+%%%%%%#$%%%%%%+%%%%%%", 28 | "%%%%%%%%%+%%%%%%%#$%%%%%%%+%%%%%", 29 | "%%%%%%%%+%%%%%%%O#$O%%%%%%%+%%%%", 30 | "%%%%%%%+%%%%%%%%X##$%%%%%%%%+%%%", 31 | "%%%%%%%+%%%%%%%%X##$%%%%%%%%+%%%", 32 | "%%%%%%%+%%%%%X%XX##$$%X%%%%%+%%%", 33 | "%%%%%%+%%%%%%X.XX##$$.X%%%%%%+%%", 34 | "%%%%%%+%%%%%%X%.X##$X%X%%%%%%+%%", 35 | "%%%%%%+%%%%%%X%XX..$$%X%%%%%%+%%", 36 | "%%%%%%+%%%%%%X%XX..$$%X%%%%%%+%%", 37 | "%%%%%%+%%%%%%X.XX##$$.X%%%%%%+%%", 38 | "%%%%%%+%%%%%%X%. . #%X%%%%%%+%%", 39 | "%%%%%%+%%%%%%#%. oo #%#%%%%%%+%%", 40 | "%%%%%%%+%%%%%%%. . X%%%%%%%+%%%", 41 | "%%%%%%%+%%%%%%%%X #%%%%%%%%+%%%", 42 | "%%%%%%%%+%%%%%%%%XX%%%%%%%%+%%%%", 43 | "%%%%%%%%%+%%%%%%%%%%%%%%%%+%%%%%", 44 | "%%%%%%%%%%+%%%%%%%%%%%%%%+%%%%%%", 45 | "%%%%%%%%%%%+%%%%%%%%%%%%+%%%%%%%", 46 | "%%%%%%%%%%%%+++%%%%%%+++%%%%%%%%", 47 | "%%%%%%%%%%%%%%%++++++%%%%%%%%%%%" 48 | }; 49 | -------------------------------------------------------------------------------- /images/tiles-75.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 10 1", 5 | " c black", 6 | ". c #3F3F3F3F3F3F", 7 | "X c gray50", 8 | "o c #00000000E6E6", 9 | "O c #66666666E6E6", 10 | "+ c red", 11 | "@ c yellow", 12 | "# c gray75", 13 | "$ c gray100", 14 | "% c None", 15 | /* pixels */ 16 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 17 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 18 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 19 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 20 | "%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%", 21 | "%%%%%%%%%%%%%%%%%%%%%%%%#XX%%%@%", 22 | "%%%%%%%%%%%%%++++++%%%%%#XX#%X%%", 23 | "%%%%%%%%%%+++%%%%%%+++%%#X#%@%%%", 24 | "%%%%%%%%%+%%%%%%%%%%%%+%##%X%%%%", 25 | "%%%%%%%%+%%%%%%%%%%%%%%+#%@%%%%%", 26 | "%%%%%%%+%%%%%%%%%%%%%%##+%%%%%%%", 27 | "%%%%%%+%%%%%%%%%X%%%%##$%+%%%%%%", 28 | "%%%%%+%%%%%%%%%X%%OX##$%%%+%%%%%", 29 | "%%%%%+%%%%%%%%X%.XX##$%%%%+%%%%%", 30 | "%%%%%+%%%%%%%X%.XX###$%%%%+%%%%%", 31 | "%%%%+%%%%%%%X.XXX###$O%%%%%+%%%%", 32 | "%%%%+%%%%%%#%XX####$$%%%%%%+%%%%", 33 | "%%%%+%%%%%%%XX#..#$$.%X%%%%+%%%%", 34 | "%%%%+%%%%%%% X..$$X%X%%%%%+%%%%", 35 | "%%%%+%%%%%%. o X$$$%X%%%%%%+%%%%", 36 | "%%%%+%%%%%%. o $$.X%%%%%%%+%%%%", 37 | "%%%%+%%%%%%. .$%X%%%%%%%%+%%%%", 38 | "%%%%%+%%%%%%...%%#%%%%%%%%+%%%%%", 39 | "%%%%%+%%%%%%%%%%%%%%%%%%%%+%%%%%", 40 | "%%%%%%+%%%%%%%%%%%%%%%%%%+%%%%%%", 41 | "%%%%%%%+%%%%%%%%%%%%%%%%+%%%%%%%", 42 | "%%%%%%%%+%%%%%%%%%%%%%%+%%%%%%%%", 43 | "%%%%%%%%%+%%%%%%%%%%%%+%%%%%%%%%", 44 | "%%%%%%%%%%+++%%%%%%+++%%%%%%%%%%", 45 | "%%%%%%%%%%%%%++++++%%%%%%%%%%%%%", 46 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 47 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" 48 | }; 49 | -------------------------------------------------------------------------------- /images/tiles-76.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 10 1", 5 | " c black", 6 | ". c #3F3F3F3F3F3F", 7 | "X c gray50", 8 | "o c #00000000E6E6", 9 | "O c #66666666E6E6", 10 | "+ c red", 11 | "@ c yellow", 12 | "# c gray75", 13 | "$ c gray100", 14 | "% c None", 15 | /* pixels */ 16 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 17 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 18 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 19 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 20 | "%%%%%%%%%++++++%%%%%%%%%%%%%%%%%", 21 | "%%%%%%+++%%%%%%+++%%%%%%%%%%%%%%", 22 | "%%%%%+%%%%%%%%%%%%+%%%%%%%%%%%%%", 23 | "%%%%+%%%%%%%%%%%%%%+%%%%%%%%%%%%", 24 | "%%%+%%%%%%%%%%%%%%%%+%%%%%%%%%%%", 25 | "%%+%%%%%%%%%%%%%%%%%%+%%%%%%%%%%", 26 | "%+%%%%%%%%%%%%%%%%%%%%+%%%%%%%%%", 27 | "%+%%%%%%#XXXXXXX%%%%%%+%%%%%%%%%", 28 | "%+%%%%%%%%.%%%.%%%%%%%+%%%%%%%%%", 29 | "+%%%%%%XXXXXX.XX%%%%%%%+%%%%%%%%", 30 | "+%%%%%X XXXXXXXXO%%%%+%%%##%%%", 31 | "+%%%%X o #..########%%+%%#XX%%%", 32 | "+%%%%X o #..##########+#####%%%", 33 | "+%%%%%X $$$$$$$$O%%%%+%%%%X%%%", 34 | "+%%%%%%XXX$$$X$$%%%%%%%+%@XX@XX@", 35 | "+%%%%%%%%%.%%%.%%%%%%%%+%%%%%%%%", 36 | "%+%%%%%%#XXXXXXX%%%%%%+%%%%%%%%%", 37 | "%+%%%%%%%%%%%%%%%%%%%%+%%%%%%%%%", 38 | "%%+%%%%%%%%%%%%%%%%%%+%%%%%%%%%%", 39 | "%%%+%%%%%%%%%%%%%%%%+%%%%%%%%%%%", 40 | "%%%%+%%%%%%%%%%%%%%+%%%%%%%%%%%%", 41 | "%%%%%+%%%%%%%%%%%%+%%%%%%%%%%%%%", 42 | "%%%%%%+++%%%%%%+++%%%%%%%%%%%%%%", 43 | "%%%%%%%%%++++++%%%%%%%%%%%%%%%%%", 44 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 45 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 46 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 47 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" 48 | }; 49 | -------------------------------------------------------------------------------- /images/tiles-77.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tiles___[] = { 3 | /* columns rows colors chars-per-pixel */ 4 | "32 32 10 1", 5 | " c black", 6 | ". c #3F3F3F3F3F3F", 7 | "X c gray50", 8 | "o c #00000000E6E6", 9 | "O c #66666666E6E6", 10 | "+ c red", 11 | "@ c yellow", 12 | "# c gray75", 13 | "$ c gray100", 14 | "% c None", 15 | /* pixels */ 16 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 17 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 18 | "%%%%%%%%%%%%%+++++++%%%%%%%%%%%%", 19 | "%%%%%%%%%%%++%%%%%%%+++%%%%%%%%%", 20 | "%%%%%%%%%%+%%%%%%%%%%%%+%%%%%%%%", 21 | "%%%%%%%%%+%%%%%%%%%%%%%%+%%%%%%%", 22 | "%%%%%%%%+%%%%%%%%%%%%%%%%+%%%%%%", 23 | "%%%%%%%+%%%%%%%%%%%%%%%%%%+%%%%%", 24 | "%%%%%%+%%%%%%%%%%%%%%%%%%%%+%%%%", 25 | "%%%%%%+%%%%%%...%%#%%%%%%%%+%%%%", 26 | "%%%%%%+%%%%%. X%X%%%%%%%+%%%%", 27 | "%%%%%+%%%%%%. o XX.X%%%%%%%+%%%", 28 | "%%%%%+%%%%%%. o X#XX%X%%%%%%+%%%", 29 | "%%%%%+%%%%%%%. X..#X.%X%%%%%+%%%", 30 | "%%%%%+%%%%%%%$$$..#XX.%X%%%%+%%%", 31 | "%%%%%+%%%%%%#%$$$###XX%%%%%%+%%%", 32 | "%%%%%+%%%%%%%X.$$$###XO%%%%%+%%%", 33 | "%%%%%%+%%%%%%%X%X$$###X%%%%+%%%%", 34 | "%%%%%%+%%%%%%%%X%.$$###%%%%+%%%%", 35 | "%%%%%%+%%%%%%%%%X%%O$$##%%%+%%%%", 36 | "%%%%%%%+%%%%%%%%%X%%%%$##%+%%%%%", 37 | "%%%%%%%%+%%%%%%%%%%%%%%$#+%%%%%%", 38 | "%%%%%%%%%+%%%%%%%%%%%%%%+#####%%", 39 | "%%%%%%%%%%+%%%%%%%%%%%%+%%#XXX#%", 40 | "%%%%%%%%%%%++%%%%%%%+++%%@%#XX%%", 41 | "%%%%%%%%%%%%%+++++++%%%%%%X%#%%%", 42 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%", 43 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%X%%%", 44 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%", 45 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 46 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%", 47 | "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" 48 | }; 49 | -------------------------------------------------------------------------------- /res/dejavu-lgc/DejaVuLGCSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/dejavu-lgc/DejaVuLGCSans-Bold.ttf -------------------------------------------------------------------------------- /res/dejavu-lgc/DejaVuLGCSans-BoldOblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/dejavu-lgc/DejaVuLGCSans-BoldOblique.ttf -------------------------------------------------------------------------------- /res/dejavu-lgc/DejaVuLGCSans-ExtraLight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/dejavu-lgc/DejaVuLGCSans-ExtraLight.ttf -------------------------------------------------------------------------------- /res/dejavu-lgc/DejaVuLGCSans-Oblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/dejavu-lgc/DejaVuLGCSans-Oblique.ttf -------------------------------------------------------------------------------- /res/dejavu-lgc/DejaVuLGCSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/dejavu-lgc/DejaVuLGCSans.ttf -------------------------------------------------------------------------------- /res/dejavu-lgc/DejaVuLGCSansCondensed-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/dejavu-lgc/DejaVuLGCSansCondensed-Bold.ttf -------------------------------------------------------------------------------- /res/dejavu-lgc/DejaVuLGCSansCondensed-BoldOblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/dejavu-lgc/DejaVuLGCSansCondensed-BoldOblique.ttf -------------------------------------------------------------------------------- /res/dejavu-lgc/DejaVuLGCSansCondensed-Oblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/dejavu-lgc/DejaVuLGCSansCondensed-Oblique.ttf -------------------------------------------------------------------------------- /res/dejavu-lgc/DejaVuLGCSansCondensed.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/dejavu-lgc/DejaVuLGCSansCondensed.ttf -------------------------------------------------------------------------------- /res/dejavu-lgc/DejaVuLGCSansMono-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/dejavu-lgc/DejaVuLGCSansMono-Bold.ttf -------------------------------------------------------------------------------- /res/dejavu-lgc/DejaVuLGCSansMono-BoldOblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/dejavu-lgc/DejaVuLGCSansMono-BoldOblique.ttf -------------------------------------------------------------------------------- /res/dejavu-lgc/DejaVuLGCSansMono-Oblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/dejavu-lgc/DejaVuLGCSansMono-Oblique.ttf -------------------------------------------------------------------------------- /res/dejavu-lgc/DejaVuLGCSansMono.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/dejavu-lgc/DejaVuLGCSansMono.ttf -------------------------------------------------------------------------------- /res/dejavu-lgc/DejaVuLGCSerif-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/dejavu-lgc/DejaVuLGCSerif-Bold.ttf -------------------------------------------------------------------------------- /res/dejavu-lgc/DejaVuLGCSerif-BoldOblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/dejavu-lgc/DejaVuLGCSerif-BoldOblique.ttf -------------------------------------------------------------------------------- /res/dejavu-lgc/DejaVuLGCSerif-Oblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/dejavu-lgc/DejaVuLGCSerif-Oblique.ttf -------------------------------------------------------------------------------- /res/dejavu-lgc/DejaVuLGCSerif.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/dejavu-lgc/DejaVuLGCSerif.ttf -------------------------------------------------------------------------------- /res/dejavu-lgc/DejaVuLGCSerifCondensed-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/dejavu-lgc/DejaVuLGCSerifCondensed-Bold.ttf -------------------------------------------------------------------------------- /res/dejavu-lgc/DejaVuLGCSerifCondensed-BoldOblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/dejavu-lgc/DejaVuLGCSerifCondensed-BoldOblique.ttf -------------------------------------------------------------------------------- /res/dejavu-lgc/DejaVuLGCSerifCondensed-Oblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/dejavu-lgc/DejaVuLGCSerifCondensed-Oblique.ttf -------------------------------------------------------------------------------- /res/dejavu-lgc/DejaVuLGCSerifCondensed.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/dejavu-lgc/DejaVuLGCSerifCondensed.ttf -------------------------------------------------------------------------------- /res/hexa.112: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/hexa.112 -------------------------------------------------------------------------------- /res/hexa.232: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/hexa.232 -------------------------------------------------------------------------------- /res/hexa.384: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/hexa.384 -------------------------------------------------------------------------------- /res/hexa.385: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/hexa.385 -------------------------------------------------------------------------------- /res/hexa.386: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/hexa.386 -------------------------------------------------------------------------------- /res/hexa.387: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/hexa.387 -------------------------------------------------------------------------------- /res/hexa.388: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/hexa.388 -------------------------------------------------------------------------------- /res/hexa.456: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/hexa.456 -------------------------------------------------------------------------------- /res/hexa.544: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/hexa.544 -------------------------------------------------------------------------------- /res/hexa.563: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/hexa.563 -------------------------------------------------------------------------------- /res/hexa.999: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/hexa.999 -------------------------------------------------------------------------------- /res/listbox.tcl: -------------------------------------------------------------------------------- 1 | # listbox.tcl -- 2 | # 3 | # This file contains Tcl procedures used to manage Tk listboxes. 4 | # 5 | # $Header: /user6/ouster/wish/scripts/RCS/listbox.tcl,v 1.2 92/06/03 15:21:28 ouster Exp $ SPRITE (Berkeley) 6 | # 7 | # Copyright 1992 Regents of the University of California 8 | # Permission to use, copy, modify, and distribute this 9 | # software and its documentation for any purpose and without 10 | # fee is hereby granted, provided that this copyright 11 | # notice appears in all copies. The University of California 12 | # makes no representations about the suitability of this 13 | # software for any purpose. It is provided "as is" without 14 | # express or implied warranty. 15 | # 16 | 17 | # The procedure below may be invoked to change the behavior of 18 | # listboxes so that only a single item may be selected at once. 19 | # The arguments give one or more windows whose behavior should 20 | # be changed; if one of the arguments is "Listbox" then the default 21 | # behavior is changed for all listboxes. 22 | 23 | proc tk_listboxSingleSelect args { 24 | foreach w $args { 25 | bind $w {%W select from [%W nearest %y]} 26 | bind $w {%W select from [%W nearest %y]} 27 | bind $w {%W select from [%W nearest %y]} 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /res/parray.tcl: -------------------------------------------------------------------------------- 1 | # parray: 2 | # Print the contents of a global array on stdout. 3 | # 4 | # $Header: /sprite/src/lib/tcl/scripts/RCS/parray.tcl,v 1.1 91/09/26 09:55:03 ouster Exp $ SPRITE (Berkeley) 5 | # 6 | # Copyright 1991 Regents of the University of California 7 | # Permission to use, copy, modify, and distribute this 8 | # software and its documentation for any purpose and without 9 | # fee is hereby granted, provided that this copyright 10 | # notice appears in all copies. The University of California 11 | # makes no representations about the suitability of this 12 | # software for any purpose. It is provided "as is" without 13 | # express or implied warranty. 14 | # 15 | 16 | proc parray a { 17 | global $a 18 | set maxl 0 19 | foreach name [lsort [array names $a]] { 20 | if {[string length $name] > $maxl} { 21 | set maxl [string length $name] 22 | } 23 | } 24 | set maxl [expr {$maxl + [string length $a] + 2}] 25 | foreach name [lsort [array names $a]] { 26 | set nameString [format %s(%s) $a $name] 27 | puts stdout [format "%-*s = %s" $maxl $nameString [set ${a}($name)]] 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /res/snro.111: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/snro.111 -------------------------------------------------------------------------------- /res/snro.222: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/snro.222 -------------------------------------------------------------------------------- /res/snro.333: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/snro.333 -------------------------------------------------------------------------------- /res/snro.444: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/snro.444 -------------------------------------------------------------------------------- /res/snro.555: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/snro.555 -------------------------------------------------------------------------------- /res/snro.666: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/snro.666 -------------------------------------------------------------------------------- /res/snro.777: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/snro.777 -------------------------------------------------------------------------------- /res/snro.888: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/snro.888 -------------------------------------------------------------------------------- /res/sounds/a.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/a.wav -------------------------------------------------------------------------------- /res/sounds/aaah.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/aaah.wav -------------------------------------------------------------------------------- /res/sounds/airport.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/airport.wav -------------------------------------------------------------------------------- /res/sounds/beep.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/beep.wav -------------------------------------------------------------------------------- /res/sounds/boing.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/boing.wav -------------------------------------------------------------------------------- /res/sounds/bop.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/bop.wav -------------------------------------------------------------------------------- /res/sounds/build.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/build.wav -------------------------------------------------------------------------------- /res/sounds/bulldozer.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/bulldozer.wav -------------------------------------------------------------------------------- /res/sounds/chalk.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/chalk.wav -------------------------------------------------------------------------------- /res/sounds/coal.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/coal.wav -------------------------------------------------------------------------------- /res/sounds/com.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/com.wav -------------------------------------------------------------------------------- /res/sounds/computer.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/computer.wav -------------------------------------------------------------------------------- /res/sounds/cuckoo.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/cuckoo.wav -------------------------------------------------------------------------------- /res/sounds/e.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/e.wav -------------------------------------------------------------------------------- /res/sounds/eraser.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/eraser.wav -------------------------------------------------------------------------------- /res/sounds/explosion-hi.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/explosion-hi.wav -------------------------------------------------------------------------------- /res/sounds/explosion-high.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/explosion-high.wav -------------------------------------------------------------------------------- /res/sounds/explosion-low.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/explosion-low.wav -------------------------------------------------------------------------------- /res/sounds/fire.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/fire.wav -------------------------------------------------------------------------------- /res/sounds/heavytraffic.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/heavytraffic.wav -------------------------------------------------------------------------------- /res/sounds/honkhonk-hi.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/honkhonk-hi.wav -------------------------------------------------------------------------------- /res/sounds/honkhonk-high.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/honkhonk-high.wav -------------------------------------------------------------------------------- /res/sounds/honkhonk-low.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/honkhonk-low.wav -------------------------------------------------------------------------------- /res/sounds/honkhonk-med.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/honkhonk-med.wav -------------------------------------------------------------------------------- /res/sounds/ignition.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/ignition.wav -------------------------------------------------------------------------------- /res/sounds/ind.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/ind.wav -------------------------------------------------------------------------------- /res/sounds/monster.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/monster.wav -------------------------------------------------------------------------------- /res/sounds/nuclear.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/nuclear.wav -------------------------------------------------------------------------------- /res/sounds/o.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/o.wav -------------------------------------------------------------------------------- /res/sounds/oop.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/oop.wav -------------------------------------------------------------------------------- /res/sounds/park.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/park.wav -------------------------------------------------------------------------------- /res/sounds/police.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/police.wav -------------------------------------------------------------------------------- /res/sounds/quack.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/quack.wav -------------------------------------------------------------------------------- /res/sounds/quackquack.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/quackquack.wav -------------------------------------------------------------------------------- /res/sounds/query.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/query.wav -------------------------------------------------------------------------------- /res/sounds/rail.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/rail.wav -------------------------------------------------------------------------------- /res/sounds/res.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/res.wav -------------------------------------------------------------------------------- /res/sounds/road.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/road.wav -------------------------------------------------------------------------------- /res/sounds/rumble.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/rumble.wav -------------------------------------------------------------------------------- /res/sounds/seaport.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/seaport.wav -------------------------------------------------------------------------------- /res/sounds/siren.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/siren.wav -------------------------------------------------------------------------------- /res/sounds/skid.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/skid.wav -------------------------------------------------------------------------------- /res/sounds/sorry.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/sorry.wav -------------------------------------------------------------------------------- /res/sounds/stadium.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/stadium.wav -------------------------------------------------------------------------------- /res/sounds/uhuh.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/uhuh.wav -------------------------------------------------------------------------------- /res/sounds/whip.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/whip.wav -------------------------------------------------------------------------------- /res/sounds/wire.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/wire.wav -------------------------------------------------------------------------------- /res/sounds/woosh.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/woosh.wav -------------------------------------------------------------------------------- /res/sounds/zone.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/res/sounds/zone.wav -------------------------------------------------------------------------------- /res/stri.202: -------------------------------------------------------------------------------- 1 | Low 2 | Medium 3 | High 4 | Very High 5 | Slum 6 | Lower Class 7 | Middle Class 8 | High 9 | Safe 10 | Light 11 | Moderate 12 | Dangerous 13 | None 14 | Moderate 15 | Heavy 16 | Very Heavy 17 | Declining 18 | Stable 19 | Slow Growth 20 | Fast Growth 21 | -------------------------------------------------------------------------------- /res/stri.219: -------------------------------------------------------------------------------- 1 | Clear 2 | Water 3 | Trees 4 | Rubble 5 | Flood 6 | Radioactive Waste 7 | Fire 8 | Road 9 | Power 10 | Rail 11 | Residential 12 | Commercial 13 | Industrial 14 | Seaport 15 | Airport 16 | Coal Power 17 | Fire Department 18 | Police Department 19 | Stadium 20 | Nuclear Power 21 | Draw Bridge 22 | Radar Dish 23 | Fountain 24 | Industrial 25 | Steelers 38 Bears 3 26 | Draw Bridge 27 | Ur 238 28 | -------------------------------------------------------------------------------- /res/stri.301: -------------------------------------------------------------------------------- 1 | More residential zones needed. 2 | More commercial zones needed. 3 | More industrial zones needed. 4 | More roads required. 5 | Inadequate rail system. 6 | Build a Power Plant. 7 | Residents demand a Stadium. 8 | Industry requires a Sea Port. 9 | Commerce requires an Airport. 10 | Pollution very high. 11 | Crime very high. 12 | Frequent traffic jams reported. 13 | Citizens demand a Fire Department. 14 | Citizens demand a Police Department. 15 | Blackouts reported. Check power map. 16 | Citizens upset. The tax rate is too high. 17 | Roads deteriorating, due to lack of funds. 18 | Fire departments need funding. 19 | Police departments need funding. 20 | Fire reported ! 21 | A Monster has been sighted !! 22 | Tornado reported !! 23 | Major earthquake reported !!! 24 | A plane has crashed ! 25 | Shipwreck reported ! 26 | A train crashed ! 27 | A helicopter crashed ! 28 | Unemployment rate is high. 29 | YOUR CITY HAS GONE BROKE! 30 | Firebombing reported ! 31 | Need more parks. 32 | Explosion detected ! 33 | Insufficient funds to build that. 34 | Area must be bulldozed first. 35 | Population has reached 2,000. 36 | Population has reached 10,000. 37 | Population has reached 50,000. 38 | Population has reached 100,000. 39 | Population has reached 500,000. 40 | Brownouts, build another Power Plant. 41 | Heavy Traffic reported. 42 | Flooding reported !! 43 | A Nuclear Meltdown has occurred !!! 44 | They're rioting in the streets !! 45 | End of Demo !! 46 | No Sound Server! 47 | No Multi Player License !! 48 | Started a New City. 49 | Restored a Saved City. 50 | x 51 | x 52 | x 53 | x 54 | x 55 | x 56 | x 57 | x 58 | x 59 | x 60 | x 61 | x 62 | x 63 | x 64 | x 65 | -------------------------------------------------------------------------------- /res/stri.356: -------------------------------------------------------------------------------- 1 | Residential Zone 2 | Commercial Zone 3 | Industrial Zone 4 | Fire Station 5 | Query 6 | Police Station 7 | Wire Power 8 | Bulldozer 9 | Rail 10 | Road 11 | Chalk 12 | Eraser 13 | Stadium 14 | Park 15 | Seaport 16 | Coal Power 17 | Nuclear Power 18 | Airport 19 | 20 | -------------------------------------------------------------------------------- /res/tcl.tdx: -------------------------------------------------------------------------------- 1 | TclX-ArrayProcedures 48 407 for_array_keys 2 | TclX-assign_fields 500 148 assign_fields 3 | TclX-developer_utils 699 804 saveprocs edprocs 4 | TclX-forfile 1537 167 for_file 5 | TclX-forrecur 1749 356 for_recursive_glob 6 | TclX-globrecur 2147 330 recursive_glob 7 | TclX-help 2527 4828 help helpcd helppwd apropos 8 | TclX-packages 7400 950 packages autoprocs 9 | TclX-directory_stack 8399 574 pushd popd dirs 10 | TclX-set_functions 9039 2020 union intersect intersect3 lrmdups 11 | TclX-show_procedures 11111 603 showproc showprocs 12 | TclX-stringfile_functions 11773 363 read_file write_file 13 | TclX-Compatibility 12174 59 execvp 14 | TclX-convertlib 12273 933 convert_lib 15 | TclX-profrep 13239 3168 profrep 16 | -------------------------------------------------------------------------------- /res/tk.tdx: -------------------------------------------------------------------------------- 1 | button.tcl 66 2232 tk_butEnter tk_butLeave tk_butDown tk_butUp 2 | listbox.tcl 2345 1170 tk_listboxSingleSelect 3 | tkerror.tcl 3547 174 tkerror 4 | text.tcl 3813 3124 tk_textSelectTo tk_textBackspace tk_textIndexCloser tk_textResetAnchor 5 | menu.tcl 7123 8987 tk_menus tk_bindForTraversal tk_mbPost tk_mbUnpost tk_traverseToMenu tk_traverseWithinMenu tk_getMenuButtons tk_nextMenu tk_nextMenuEntry tk_invokeMenu tk_firstMenu 6 | entry.tcl 16184 1762 tk_entryBackspace tk_entryBackword tk_entrySeeCaret 7 | -------------------------------------------------------------------------------- /res/tkerror.tcl: -------------------------------------------------------------------------------- 1 | # This file contains a default version of the tkError procedure. It 2 | # just prints out a stack trace. 3 | 4 | proc tkerror err { 5 | global errorInfo 6 | puts stdout "$errorInfo" 7 | } 8 | -------------------------------------------------------------------------------- /res/wish.tcl: -------------------------------------------------------------------------------- 1 | # wish.tcl -- 2 | # 3 | # This script is invoked by the "wish" program whenever it starts up. 4 | # It invokes initialization scripts for Tcl and Tk, then does a few 5 | # wish-specific things like setting the window geometry, if one was 6 | # specified. 7 | # 8 | # $Header: /user6/ouster/wish/scripts/RCS/wish.tcl,v 1.1 92/03/06 09:40:56 ouster Exp $ SPRITE (Berkeley) 9 | # 10 | # Copyright 1992 Regents of the University of California 11 | # Permission to use, copy, modify, and distribute this 12 | # software and its documentation for any purpose and without 13 | # fee is hereby granted, provided that this copyright 14 | # notice appears in all copies. The University of California 15 | # makes no representations about the suitability of this 16 | # software for any purpose. It is provided "as is" without 17 | # express or implied warranty. 18 | # 19 | 20 | source [info library]/init.tcl 21 | source $tk_library/tk.tcl 22 | 23 | if [info exists geometry] { 24 | wm geometry . $geometry 25 | } 26 | -------------------------------------------------------------------------------- /res/wishx.tcl: -------------------------------------------------------------------------------- 1 | # wish.tcl -- 2 | # 3 | # This script is invoked by the "wish" program whenever it starts up. 4 | # It invokes initialization scripts for Tcl and Tk, then does a few 5 | # wish-specific things like setting the window geometry, if one was 6 | # specified. 7 | # 8 | # $Header: /user6/ouster/wish/scripts/RCS/wish.tcl,v 1.1 92/03/06 09:40:56 ouster Exp $ SPRITE (Berkeley) 9 | # 10 | # Copyright 1992 Regents of the University of California 11 | # Permission to use, copy, modify, and distribute this 12 | # software and its documentation for any purpose and without 13 | # fee is hereby granted, provided that this copyright 14 | # notice appears in all copies. The University of California 15 | # makes no representations about the suitability of this 16 | # software for any purpose. It is provided "as is" without 17 | # express or implied warranty. 18 | # 19 | 20 | load tk.tcl 21 | 22 | if [info exists geometry] { 23 | wm geometry . $geometry 24 | } 25 | -------------------------------------------------------------------------------- /src/notes/BUGS: -------------------------------------------------------------------------------- 1 | ==== IN PROGRESS ==== 2 | 3 | IRC Chat Server connection 4 | 5 | If Numeric Lock is on, Tk ignores all mouse clicks! Ignore NumLock state. 6 | 7 | 8 | ==== UNIMPLEMENTED FEATURES ==== 9 | 10 | Integrate sound server into main application. 11 | 12 | 13 | ==== BUGS ==== 14 | 15 | Wrap year back around from 1000000 to 0 instead of 1900. 16 | Ensure floored arithmetic in code w.r.t. CityTime. 17 | 18 | pause game and change graph mode from 10 yrs to 120 yrs. graph does not update. 19 | 20 | colors in the power grid overlay are not correct. 21 | if funds negative, then current funds displays $-,600 22 | 23 | earthquakes at high speed slow down mouse tracking 24 | 25 | lots of res/sounddev processes sitting around. 26 | 27 | errors on one x server should not kill whole game for all players, just close down that x server. 28 | 29 | pan cursor gets displaced when it hits the limits. 30 | 31 | panning needs to be easier, some shift key accelerator for two button mice. 32 | Panning mode, so you don't need to hold the button down, or lose your current tool. 33 | 34 | function or control keys to switch between drawing tools, that don't interfere with chat. 35 | 36 | Need an official way to cheat, since FUND does not work. One armed bandit? 37 | 38 | 39 | ==== FIXED ==== 40 | 41 | option to turn off alerts 42 | option to print notices less frequently 43 | blur the quickly changing date 44 | 45 | sometimes the date window stops updating 46 | sometimes the text buttons stop updating 47 | 48 | sometimes the graph window does not show up in the head window! 49 | 50 | 51 | -------------------------------------------------------------------------------- /src/notes/DONE: -------------------------------------------------------------------------------- 1 | * multiple maps & editors (1) 2 | need menu for creating new editor and map windows 3 | * about dialog (1) 4 | pictures, copyright notice, credits, etc. 5 | * notice dialog (1) 6 | window that pops up to display text and graphics 7 | city size changes, warnings, disasters, win/lose 8 | * elan license manager (2) 9 | * map & editor controls (2) 10 | controls for things effecting the editor or map, 11 | like update frequency, autogoto 12 | * scenario descriptions (3) 13 | describe each scenario when it's selected 14 | * query zone status (2) 15 | no editing tool for "query" function, so press help key instead 16 | * "are you sure?" confirmation dialogs (3) 17 | pop-up window asks a question with yes/no buttons, 18 | before "quit", "load city", "select city", etc 19 | * map icons (4) 20 | make a bunch of big new map icons 21 | * get key dialog (1) 22 | * hour glass on budget window (3) 23 | take down budget window and continue when timer runs out 24 | * history mechanism should reset history when you play a game 25 | * now that autogoto is a view option, and there's no way to set the global 26 | flag from the user interface, turn it on after reading from a file. 27 | * audio mixer does alopen on hw without audio 28 | * elmd -s 0, kill when done 29 | * Programs dumps core upon start-up on krill.corp. Running 12 bit deep 30 | root. So it appears that it needs to be a little smarter about different 31 | depth roots. 32 | * get key panel 33 | show license status! give more feedback! 34 | unsigned long elm_fexpdate(feature) 35 | elm_getservers 36 | micropolis / micropolisnet licenses 37 | -------------------------------------------------------------------------------- /src/notes/FirstRelease: -------------------------------------------------------------------------------- 1 | Here are the things that need to be done before releasing a single 2 | user version of the game, and how much effort I think they'll take 3 | (Simple = 1, Difficult = 9). We also need to allocate time for user 4 | testing (to get feedback from people using it, and make changes based 5 | on their input), and of course debugging and smoothing out rough 6 | edges. 7 | 8 | * keyboard commands: arrow, function keys (3) 9 | also need to disable autorepeat 10 | * save/restore overlay (5) 11 | write all overlay information into another file, like Glasgow.city.overlay 12 | 13 | * print city dialog (6) 14 | need to implement printing function and control panel from scratch 15 | * help (8) 16 | must implement a help mechanism and put in lots of help 17 | * manual (9) 18 | need to re-write manual, and do new illustrations 19 | must have a framemaker license to do this 20 | 21 | We could probably come out with a solid beta release without printing, 22 | help, or a manual. 23 | 24 | -Don 25 | 26 | 27 | DONE: 28 | -------------------------------------------------------------------------------- /src/notes/MULTI: -------------------------------------------------------------------------------- 1 | keep track of one per display: 2 | tk_priv(...) 3 | window 4 | posted 5 | focus 6 | relief 7 | cursor 8 | activeBg activeFg 9 | inMenuButton 10 | dragging x y 11 | selectMode 12 | buttons 13 | 14 | fix button tracking 15 | fix menu tracking 16 | fix pie menu tracking 17 | 18 | tk_mbUnpost needs argument to tell which display 19 | tk_nextMenu needs argument to tell which display 20 | tk_nextMenuEntry needs argument to tell which display 21 | 22 | which display does "selection" work on??? 23 | 24 | fix c event focus code to keep focus in display instead of main window 25 | 26 | added "focus -query window" form to find out focus on a particular display 27 | -------------------------------------------------------------------------------- /src/notes/Micropolis-Indigo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/src/notes/Micropolis-Indigo.gif -------------------------------------------------------------------------------- /src/notes/Micropolis-NCD.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/src/notes/Micropolis-NCD.gif -------------------------------------------------------------------------------- /src/notes/Micropolis-Sun.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/src/notes/Micropolis-Sun.gif -------------------------------------------------------------------------------- /src/notes/Publicity: -------------------------------------------------------------------------------- 1 | Sun 2 | SGI 3 | IBM 4 | HP 5 | DEC 6 | SCO 7 | 8 | 2 page article in GIS World, May/June 9 | 10 | GIS Convention in Boston 11 | Scott McNealy using SC as a prop, throwing a box to the audience 12 | 13 | Uniforum 14 | SGI booth 15 | 16 | InterCHI 17 | Interactive Experience 18 | Video Tape 19 | 20 | Sun World 21 | 22 | SGI Conference in April 23 | 24 | Sun Columbia Open House 25 | 26 | John Gage demonstration to congress 27 | 28 | "Self Revealing Gestural Interfaces" talk to IBM Almaden Research, Interval Research 29 | -------------------------------------------------------------------------------- /src/notes/Questions: -------------------------------------------------------------------------------- 1 | ######################################################################## 2 | # Questions 3 | ######################################################################## 4 | 5 | 6 | global Questions 7 | 8 | 9 | proc Question {id color title msg {props {}}} { 10 | global Questions 11 | set Questions($id) [list $color $title $msg $props] 12 | } 13 | 14 | Question QuitSingle #ff0000 "Quit Micropolis" \ 15 | "Do you want to quit playing Micropolis?" \ 16 | {{left {{Keep Playing.} Quit.KeepPlaying 17 | {RejectPlan}}} 18 | {right {{I Quit!} Quit.IQuit 19 | {DoReallyQuit %s}}}} 20 | 21 | Question QuitMulti #ff0000 "Quit Micropolis" \ 22 | "Do you want to quit playing Micropolis?" \ 23 | {{left {{Keep Playing.} Quit.KeepPlaying 24 | {RejectPlan}}} 25 | {middle {{I Resign!} Quit.IResign 26 | {DoIResign %s}}} 27 | {right {{I Quit!} Quit.AllQuit 28 | {DoReallyQuit %s}}}} 29 | 30 | Question Choose #ff0000 "New City" \ 31 | "Do you want to abandon this city and select another one?" \ 32 | {{left {{Keep Playing.} SelectCity.No 33 | {RejectPlan}}} 34 | {right {{Yes, another city!} SelectCity.Yes 35 | {UIPickScenarioMode}}}} 36 | 37 | # Ugh. 38 | Question Build #00ff00 "%s" "%s" \ 39 | {{left {{Dismiss Plan.} Plan.Dismiss 40 | {WithdrawAskOf %s}}} 41 | {right {{Support plan!} Plan.Support 42 | {SupportPlan $view %s $tool $x $y} 43 | {PreviewSupportPlan $view %s $tool $x $y}}}} 44 | 45 | 46 | -------------------------------------------------------------------------------- /src/notes/SharedData: -------------------------------------------------------------------------------- 1 | * Notes: 2 | do tile animation in parallel - tileSynch 3 | maps on demand 4 | 5 | * Initialize at start of game: 6 | 7 | short mickStartingYear; 8 | extern char *cityName; 9 | extern char *CityFileName; 10 | extern short GameLevel; 11 | 12 | * Share data: 13 | 14 | ** global 15 | long CityTime; 16 | short *Map[WORLD_X]; 17 | ** editor window 18 | short Oframe[OBJN]; 19 | short GlobalX[OBJN]; 20 | short GlobalY[OBJN]; 21 | long totalFunds; 22 | short RValve, CValve, IValve; 23 | ** map window 24 | short *PowerMap; 25 | Byte *PopDensity[HWLDX]; /* 2X2 Maps 60 x 50 */ 26 | Byte *TrfDensity[HWLDX]; 27 | Byte *PollutionMem[HWLDX]; 28 | Byte *LandValueMem[HWLDX]; 29 | Byte *CrimeMem[HWLDX]; 30 | short RateOGMem[SmX][SmY]; 31 | short PoliceMapEffect[SmX][SmY]; 32 | short FireRate[SmX][SmY]; 33 | ** graph window 34 | short ResHisMax, Res2HisMax; 35 | short ComHisMax, Com2HisMax; 36 | short IndHisMax, Ind2HisMax; 37 | short *ResHis; 38 | short *ComHis; 39 | short *IndHis; 40 | short *MoneyHis; 41 | short *PollutionHis; 42 | short *CrimeHis; 43 | short *MiscHis; 44 | short Graph10Max, Graph120Max; 45 | short Res2HisMax, Com2HisMax, Ind2HisMax; 46 | ** evaluation window 47 | ** budget window 48 | short CityTax; 49 | long RoadSpend, PoliceSpend, FireSpend; 50 | long RoadFund, PoliceFund, FireFund; 51 | float roadPercent, policePercent, firePercent; 52 | long roadMaxValue, policeMaxValue, fireMaxValue; 53 | long TaxFund, RoadFund, PoliceFund, FireFund; 54 | 55 | 56 | * Messages 57 | censusChanged 58 | message(msg, x, y) 59 | earthquake 60 | newMap 61 | 62 | formalize all global variable setter functions, to go through tcl 63 | -------------------------------------------------------------------------------- /src/notes/TODO: -------------------------------------------------------------------------------- 1 | * notice views on flood, 41 heavy traffic, 22 tornado 2 | 3 | * shell scripts & licensing 4 | include elmnotify etc 5 | 6 | * configuration panel 7 | preferences (global, per head) 8 | auto scroll edge 9 | auto scroll step 10 | auto scroll delay 11 | pie menu popup delay 12 | sound effect level 13 | 14 | * players 15 | more info, saved in database 16 | name, server, email addresses 17 | audio servers (per head?) 18 | save/restore named window configurations 19 | 20 | * help (8) 21 | must implement a help mechanism and put in lots of help 22 | 23 | * documentation 24 | manual entries for Micropolis, elm stuff, audio servers 25 | 26 | * manual (9) 27 | need to re-write manual, and do new illustrations 28 | must have a framemaker license to do this 29 | 30 | * keyboard commands: arrow, function keys (3) 31 | also need to disable autorepeat 32 | 33 | * save/restore overlay (5) 34 | write all overlay information into another file, like Glasgow.city.overlay 35 | 36 | * print city dialog (6) 37 | need to implement printing function and control panel from scratch 38 | 39 | * In file dialog boxes, highlight text and then typing doesn't replace it, 40 | you still have to backspace. 41 | 42 | * In file dialog boxes, ~ isn't interpreted correctly. 43 | 44 | * Start Hamburg, restart another scenario. the new scenario gets bombed. 45 | can't reproduce 46 | 47 | * Tk text fields don't display cursor on second screen 48 | 49 | * One person inserting text into text field moves everybody else's 50 | insertion point to the end. 51 | -------------------------------------------------------------------------------- /src/notes/TkVersion: -------------------------------------------------------------------------------- 1 | tcl6.4 2 | tclX6.4c-p1 3 | tk2.3 4 | tkpixmap-1.3 patch to tk 5 | xpm3.2a 6 | 7 | tcl, tclX and tk absolute file name global variable patchs 8 | tcl default file?? TCL_DEFAULT 9 | 10 | fix tkpixmap patch to support named pixmaps on a per screen basis 11 | 12 | 13 | tcl patches: 14 | config: 15 | forced: set stdlibOK=1 16 | tclCmdIL.c: 17 | added global TCL_Library 18 | tclUnix.h: 19 | #if 0'ed out unix procedure prototypes 20 | stdlib.h: 21 | added CONST to atof 22 | 23 | tclX patches: 24 | tkWindow.c: 25 | added global TK_Library 26 | src/tclExtdInt.h: 27 | acc warns of integer overflow. inserted casts. 28 | tclXlib.h: 29 | changed (char *)NULL to (char **)NULL 30 | 31 | tk patches: 32 | multiple display patchs to tk 33 | hash tables: 34 | tkBitmap.c tkCursor.c tkPixmap.c 35 | grab: 36 | tkGrab.c 37 | library/menu.tcl 38 | tk.h: 39 | defined _PTRDIFF_T and _SIZE_T, so gcc's stddef.h doesn't clash 40 | with sunos4.1.1's stdtypes.h 41 | -------------------------------------------------------------------------------- /src/notes/bugs.txt: -------------------------------------------------------------------------------- 1 | Package as a Sugar activity. 2 | 3 | Adjust position and width of buttons in scenario panel, wider and to right. 4 | 5 | When running in wire mode, the incremental overall map updating code 6 | (XDrawPoints) seems to draw in the wrong place horizontally, half a 7 | screen to the right. 8 | 9 | -------------------------------------------------------------------------------- /src/notes/sim.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/osgcc/simcity/a4a60d6bab290782148170a90dd4c00bde6c230c/src/notes/sim.gif -------------------------------------------------------------------------------- /src/tcl/compat/README: -------------------------------------------------------------------------------- 1 | This directory contains various header and code files that are 2 | used make Tcl compatible with various releases of UNIX and UNIX-like 3 | systems. Typically, files from this directory are used to compile 4 | Tcl when the corresponding files aren't present in the system's 5 | library area. When the whole world is POSIX-ified, this information 6 | should become unnecessary. (?) 7 | -------------------------------------------------------------------------------- /src/tcl/compat/dirent.h: -------------------------------------------------------------------------------- 1 | /* 2 | * dirent.h -- 3 | * 4 | * This file is a replacement for in systems that 5 | * support the old BSD-style with a "struct direct". 6 | * 7 | * Copyright 1991 Regents of the University of California 8 | * Permission to use, copy, modify, and distribute this 9 | * software and its documentation for any purpose and without 10 | * fee is hereby granted, provided that this copyright 11 | * notice appears in all copies. The University of California 12 | * makes no representations about the suitability of this 13 | * software for any purpose. It is provided "as is" without 14 | * express or implied warranty. 15 | * 16 | * $Header: /sprite/src/lib/tcl/compat/RCS/dirent.h,v 1.1 91/09/19 16:22:06 ouster Exp $ SPRITE (Berkeley) 17 | */ 18 | 19 | #ifndef _DIRENT 20 | #define _DIRENT 21 | 22 | #include 23 | 24 | #define dirent direct 25 | 26 | #endif /* _DIRENT */ 27 | -------------------------------------------------------------------------------- /src/tcl/compat/limits.h: -------------------------------------------------------------------------------- 1 | /* 2 | * limits.h -- 3 | * 4 | * This is a dummy header file to #include in Tcl when there 5 | * is no limits.h in /usr/include. The file is totally empty. 6 | * In case you're wondering why Tcl includes the file at all 7 | * if it can be empty, it's because there's already code in 8 | * tclUnix.h to #define anything that's not defined in limits.h. 9 | * 10 | * Copyright 1991 Regents of the University of California 11 | * Permission to use, copy, modify, and distribute this 12 | * software and its documentation for any purpose and without 13 | * fee is hereby granted, provided that this copyright 14 | * notice appears in all copies. The University of California 15 | * makes no representations about the suitability of this 16 | * software for any purpose. It is provided "as is" without 17 | * express or implied warranty. 18 | * 19 | * $Header: /sprite/src/lib/tcl/compat/RCS/limits.h,v 1.1 91/09/19 16:22:08 ouster Exp $ SPRITE (Berkeley) 20 | */ 21 | -------------------------------------------------------------------------------- /src/tcl/compat/testpid.c: -------------------------------------------------------------------------------- 1 | /* 2 | * testpid.c -- 3 | * 4 | * This file contains a simple program that will compile 5 | * correctly if and only if defines the 6 | * type pid_t. It is used to determine whether this type 7 | * is defined on a given system. 8 | * 9 | * Copyright 1991 Regents of the University of California 10 | * Permission to use, copy, modify, and distribute this 11 | * software and its documentation for any purpose and without 12 | * fee is hereby granted, provided that this copyright 13 | * notice appears in all copies. The University of California 14 | * makes no representations about the suitability of this 15 | * software for any purpose. It is provided "as is" without 16 | * express or implied warranty. 17 | */ 18 | 19 | #ifndef lint 20 | static char rcsid[] = "$Header: /user6/ouster/tcl/compat/RCS/testpid.c,v 1.2 91/12/06 15:31:32 ouster Exp $ SPRITE (Berkeley)"; 21 | #endif /* not lint */ 22 | 23 | #include 24 | 25 | pid_t pid; 26 | 27 | int main() 28 | { 29 | return 0; 30 | } 31 | -------------------------------------------------------------------------------- /src/tcl/compat/teststrtoul.c: -------------------------------------------------------------------------------- 1 | /* 2 | * teststrtoul.c -- 3 | * 4 | * This file contains a simple program to detect broken versions 5 | * of strtoul, like those on AIX. The broken versions return an 6 | * incorrect terminator pointer for the string "0". This program 7 | * exits with a normal status if strtoul does the right thing, and 8 | * it exits with a non-zero status if strtoul is bogus. Unlike 9 | * the other test programs, this one must actually be executed to 10 | * be sure that it works. 11 | * 12 | * Copyright 1991 Regents of the University of California 13 | * Permission to use, copy, modify, and distribute this 14 | * software and its documentation for any purpose and without 15 | * fee is hereby granted, provided that this copyright 16 | * notice appears in all copies. The University of California 17 | * makes no representations about the suitability of this 18 | * software for any purpose. It is provided "as is" without 19 | * express or implied warranty. 20 | */ 21 | 22 | #ifndef lint 23 | static char rcsid[] = "$Header: /user6/ouster/tcl/compat/RCS/teststrtoul.c,v 1.2 92/01/07 10:02:56 ouster Exp $ SPRITE (Berkeley)"; 24 | #endif /* not lint */ 25 | 26 | extern int strtoul(); 27 | 28 | int main() 29 | { 30 | char *string = "0"; 31 | char *term; 32 | int value; 33 | 34 | value = strtoul(string, &term, 0); 35 | if ((value != 0) || (term != (string+1))) { 36 | exit(1); 37 | } 38 | exit(0); 39 | } 40 | -------------------------------------------------------------------------------- /src/tcl/compat/testuid.c: -------------------------------------------------------------------------------- 1 | /* 2 | * testuid.c -- 3 | * 4 | * This file contains a simple program that will compile 5 | * correctly if and only if defines the 6 | * type uid_t. It is used to determine whether this type 7 | * is defined on a given system. 8 | * 9 | * Copyright 1991 Regents of the University of California 10 | * Permission to use, copy, modify, and distribute this 11 | * software and its documentation for any purpose and without 12 | * fee is hereby granted, provided that this copyright 13 | * notice appears in all copies. The University of California 14 | * makes no representations about the suitability of this 15 | * software for any purpose. It is provided "as is" without 16 | * express or implied warranty. 17 | */ 18 | 19 | #ifndef lint 20 | static char rcsid[] = "$Header: /user6/ouster/tcl/compat/RCS/testuid.c,v 1.1 91/12/06 15:31:28 ouster Exp $ SPRITE (Berkeley)"; 21 | #endif /* not lint */ 22 | 23 | #include 24 | 25 | uid_t uid; 26 | 27 | int main() 28 | { 29 | return 0; 30 | } 31 | -------------------------------------------------------------------------------- /src/tcl/compat/testwait.c: -------------------------------------------------------------------------------- 1 | /* 2 | * testwait.c -- 3 | * 4 | * This file contains a simple program that will compile 5 | * correctly if and only if defines the 6 | * type "union wait". It is used during configuration 7 | * to determine whether or not to use this type. 8 | * 9 | * Copyright 1991 Regents of the University of California 10 | * Permission to use, copy, modify, and distribute this 11 | * software and its documentation for any purpose and without 12 | * fee is hereby granted, provided that this copyright 13 | * notice appears in all copies. The University of California 14 | * makes no representations about the suitability of this 15 | * software for any purpose. It is provided "as is" without 16 | * express or implied warranty. 17 | */ 18 | 19 | #ifndef lint 20 | static char rcsid[] = "$Header: /user6/ouster/tcl/compat/RCS/testwait.c,v 1.3 91/12/18 13:42:09 ouster Exp $ SPRITE (Berkeley)"; 21 | #endif /* not lint */ 22 | 23 | #include 24 | #include 25 | 26 | /* 27 | * This code is very tricky, mostly because of weirdness in HP-UX 28 | * where "union wait" is defined in both the BSD and SYS-V 29 | * environments. Supposedly the WIFEXITED business will do the 30 | * right thing... 31 | */ 32 | 33 | union wait x; 34 | 35 | int main() 36 | { 37 | WIFEXITED(x); /* Generates compiler error if WIFEXITED 38 | * uses an int. */ 39 | return 0; 40 | } 41 | -------------------------------------------------------------------------------- /src/tcl/library/parray.tcl: -------------------------------------------------------------------------------- 1 | # parray: 2 | # Print the contents of a global array on stdout. 3 | # 4 | # $Header: /sprite/src/lib/tcl/scripts/RCS/parray.tcl,v 1.1 91/09/26 09:55:03 ouster Exp $ SPRITE (Berkeley) 5 | # 6 | # Copyright 1991 Regents of the University of California 7 | # Permission to use, copy, modify, and distribute this 8 | # software and its documentation for any purpose and without 9 | # fee is hereby granted, provided that this copyright 10 | # notice appears in all copies. The University of California 11 | # makes no representations about the suitability of this 12 | # software for any purpose. It is provided "as is" without 13 | # express or implied warranty. 14 | # 15 | 16 | proc parray a { 17 | global $a 18 | set maxl 0 19 | foreach name [lsort [array names $a]] { 20 | if {[string length $name] > $maxl} { 21 | set maxl [string length $name] 22 | } 23 | } 24 | set maxl [expr {$maxl + [string length $a] + 2}] 25 | foreach name [lsort [array names $a]] { 26 | set nameString [format %s(%s) $a $name] 27 | puts stdout [format "%-*s = %s" $maxl $nameString [set ${a}($name)]] 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/tcl/library/tclindex: -------------------------------------------------------------------------------- 1 | # Tcl autoload index file: each line identifies a Tcl 2 | # procedure and the file where that procedure is 3 | # defined. Generated by the "auto_mkindex" command. 4 | 5 | unknown init.tcl 6 | auto_load init.tcl 7 | auto_execok init.tcl 8 | auto_reset init.tcl 9 | auto_mkindex mkindex.tcl 10 | parray parray.tcl 11 | -------------------------------------------------------------------------------- /src/tcl/regexp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Definitions etc. for regexp(3) routines. 3 | * 4 | * Caveat: this is V8 regexp(3) [actually, a reimplementation thereof], 5 | * not the System V one. 6 | */ 7 | 8 | #ifndef _TCL 9 | #include "tcl.h" 10 | #endif 11 | #ifndef _REGEXP 12 | #define _REGEXP 1 13 | 14 | #define NSUBEXP 10 15 | typedef struct regexp { 16 | char *startp[NSUBEXP]; 17 | char *endp[NSUBEXP]; 18 | char regstart; /* Internal use only. */ 19 | char reganch; /* Internal use only. */ 20 | char *regmust; /* Internal use only. */ 21 | int regmlen; /* Internal use only. */ 22 | char program[1]; /* Unwarranted chumminess with compiler. */ 23 | } regexp; 24 | 25 | extern regexp *regcomp _ANSI_ARGS_((char *exp)); 26 | extern int regexec _ANSI_ARGS_((regexp *prog, char *string)); 27 | extern void regsub _ANSI_ARGS_((regexp *prog, char *source, char *dest)); 28 | extern void regerror _ANSI_ARGS_((char *msg)); 29 | 30 | #endif /* REGEXP */ 31 | -------------------------------------------------------------------------------- /src/tclx/config/aux: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------ 2 | # A/UX 2.0.1 - System V.2 derivative with BSD extensions 3 | #------------------------------------------------------------------------------ 4 | # $Id: aux,v 2.2 1992/11/08 17:23:40 markd Exp $ 5 | #------------------------------------------------------------------------------ 6 | # 7 | SYS_DEP_FLAGS= -DTCL_USE_BZERO_MACRO -DTCL_SIG_PROC_INT 8 | LIBS=-lc_s -lm 9 | RANLIB_CMD=true 10 | MCS_CMD=true 11 | TCL_TK_LIBS= -lX11 -lm 12 | 13 | TCL_MAN_SEPARATOR=. 14 | TCL_MAN_STYLE=LONG 15 | -------------------------------------------------------------------------------- /src/tclx/config/bsd: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------ 2 | # BSD 3 | #------------------------------------------------------------------------------ 4 | # $Id: bsd,v 2.1 1992/11/08 17:24:26 markd Exp $ 5 | #------------------------------------------------------------------------------ 6 | # 7 | SYS_DEP_FLAGS=-DTCL_HAVE_SETLINEBUF -DTCL_32_BIT_RANDOM 8 | LIBS=-lm 9 | RANLIB_CMD=ranlib 10 | MCS_CMD=true 11 | SUPPORT_FLAGS=-DTCL_HAS_TM_ZONE 12 | SUPPORT_OBJS=strftime.o 13 | TCL_TK_LIBS= -lX11 -lm 14 | 15 | TCL_MAN_SEPARATOR= 16 | 17 | -------------------------------------------------------------------------------- /src/tclx/config/bsd-4.3: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------ 2 | # BSD 4.3 3 | #------------------------------------------------------------------------------ 4 | # $Id: bsd-4.3,v 2.2 1992/11/08 17:24:26 markd Exp $ 5 | #------------------------------------------------------------------------------ 6 | # 7 | SYS_DEP_FLAGS=-DTCL_HAVE_SETLINEBUF -DTCL_32_BIT_RANDOM -DTCL_POSIX_SIG 8 | LIBS=-lm 9 | RANLIB_CMD=ranlib 10 | MCS_CMD=true 11 | SUPPORT_FLAGS=-DTCL_HAS_TM_ZONE 12 | TCL_TK_LIBS= -lX11 -lm 13 | 14 | TCL_MAN_SEPARATOR= 15 | 16 | -------------------------------------------------------------------------------- /src/tclx/config/dos: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------ 2 | # Microsoft DOS newer versions (~3.3, let us know which ones works for you) 3 | #------------------------------------------------------------------------------ 4 | # $Id: dos v 1.0 1993/06/27 17:24:26 markd Exp $ 5 | #------------------------------------------------------------------------------ 6 | # 7 | #SYS_DEP_FLAGS=-DTCL_HAVE_SETLINEBUF -DTCL_IEEE_FP_MATH -DTCL_32_BIT_RANDOM -DTCL_POSIX_SIG -DTCL_TM_GMTOFF 8 | SYS_DEP_FLAGS=-DTCL_NO_ITIMER -DTCL_NO_FILE_LOCKING -DTCL_IEEE_FP_MATH -DTCL_32_BIT_RANDOM -DTCL_POSIX_SIG -DTCL_TM_GMTOFF 9 | LIBS=-lsys -lm 10 | RANLIB_CMD=ranlib 11 | MCS_CMD=true 12 | TCL_TK_LIBS= -lX11 -lm 13 | 14 | TCL_MAN_SEPARATOR= 15 | -------------------------------------------------------------------------------- /src/tclx/config/hpux: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------ 2 | # HPUX - Hewlett-Packard HP/UX 3 | #------------------------------------------------------------------------------ 4 | # $Id: hpux,v 2.3 1992/11/08 17:24:26 markd Exp $ 5 | #------------------------------------------------------------------------------ 6 | # 7 | SYS_DEP_FLAGS= -DTCL_32_BIT_RANDOM -DTCL_POSIX_SIG -DTCL_TIMEZONE_VAR 8 | LIBS=-lBSD -lPW -lm 9 | RANLIB_CMD=true 10 | MCS_CMD=true 11 | SUPPORT_FLAGS=-DTCL_HAS_TM_ZONE 12 | TCL_TK_LIBS= -L/usr/lib/X11R5 -lX11 -lBSD -lPW -lm 13 | 14 | TCL_MAN_SEPARATOR= 15 | -------------------------------------------------------------------------------- /src/tclx/config/linux: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------ 2 | # SUN OS newer versions (~4.1, let us know which ones works for you) 3 | #------------------------------------------------------------------------------ 4 | # $Id: sunos4.1,v 2.3 1992/11/08 17:24:26 markd Exp $ 5 | #------------------------------------------------------------------------------ 6 | # 7 | SYS_DEP_FLAGS=-DTCL_HAVE_SETLINEBUF -DTCL_32_BIT_RANDOM -DTCL_POSIX_SIG -DTCL_TM_GMTOFF 8 | LIBS=-lm 9 | RANLIB_CMD=ranlib 10 | MCS_CMD=true 11 | TCL_TK_LIBS= -L/usr/X11/lib -lX11 -lm -lXpm 12 | 13 | TCL_MAN_SEPARATOR= 14 | -------------------------------------------------------------------------------- /src/tclx/config/osf1: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------ 2 | # SUN OS newer versions (~4.1, let us know which ones works for you) 3 | #------------------------------------------------------------------------------ 4 | # $Id: sunos4.1,v 2.3 1992/11/08 17:24:26 markd Exp $ 5 | #------------------------------------------------------------------------------ 6 | # 7 | #SYS_DEP_FLAGS=-DTCL_HAVE_SETLINEBUF -DTCL_32_BIT_RANDOM -DTCL_POSIX_SIG -DTCL_TM_GMTOFF 8 | SYS_DEP_FLAGS=-DTCL_32_BIT_RANDOM -DTCL_POSIX_SIG -DTCL_TIMEZONE_VAR 9 | LIBS=-lm 10 | RANLIB_CMD=ranlib 11 | MCS_CMD=true 12 | SUPPORT_FLAGS=-DTCL_HAS_TM_ZONE 13 | TCL_TK_LIBS= -lX11 -lm 14 | 15 | TCL_MAN_SEPARATOR= 16 | -------------------------------------------------------------------------------- /src/tclx/config/rs6000: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------ 2 | # IBM RS6000 (AIX 3.2.2) 3 | # o very troublesome system. NO_SELECT since select is non-standard. 4 | #------------------------------------------------------------------------------ 5 | # $Id: rs6000,v 2.3 1992/11/08 17:24:26 markd Exp $ 6 | #------------------------------------------------------------------------------ 7 | # 8 | SYS_DEP_FLAGS=-DTCL_HAVE_SETLINEBUF -DTCL_32_BIT_RANDOM \ 9 | -DTCL_NO_SELECT -DTCL_TIMEZONE_VAR -D_NO_PROTO -U__STR__ -D_BSD_INCLUDES 10 | LIBS=-lm 11 | RANLIB_CMD=ranlib 12 | MCS_CMD=true 13 | SUPPORT_FLAGS=-DTCL_HAS_TM_ZONE 14 | SUPPORT_OBJS=strftime.o 15 | TCL_TK_LIBS= -lX11 -lm 16 | 17 | TCL_MAN_SEPARATOR= 18 | 19 | -------------------------------------------------------------------------------- /src/tclx/config/scoodt1.1: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------ 2 | # SCO ODT 1.1 - System V 3.2.2 3 | #------------------------------------------------------------------------------ 4 | # $Id: scoodt1.1,v 2.2 1992/11/08 17:24:26 markd Exp $ 5 | #------------------------------------------------------------------------------ 6 | # 7 | SYS_DEP_FLAGS=-DTCL_USE_BZERO_MACRO -DTCL_POSIX_SIG -DTCL_NEED_TIME_H -DTCL_DUP_CLK_TCK 8 | LIBS= -lm -lintl -lmalloc -lc_s 9 | RANLIB_CMD=true 10 | MCS_CMD=mcs -d 11 | TCL_TK_LIBS= -lX11 -lsocket -lm -lintl -lmalloc -lc_s 12 | 13 | TCL_MAN_SEPARATOR=. 14 | TCL_MAN_STYLE=SHORT 15 | TCL_MAN_INDEX=1 16 | 17 | -------------------------------------------------------------------------------- /src/tclx/config/scoodt2.0: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------ 2 | # SCO ODT 2.0 - System V 3.2.4 3 | #------------------------------------------------------------------------------ 4 | # $Id: scoodt2.0,v 2.2 1992/11/08 17:24:26 markd Exp $ 5 | #------------------------------------------------------------------------------ 6 | # 7 | SYS_DEP_FLAGS=-DTCL_POSIX_SIG -DTCL_NEED_TIME_H -DTCL_DUP_CLK_TCK 8 | LIBS= -lm -lintl -lmalloc -lc_s 9 | RANLIB_CMD=true 10 | MCS_CMD=mcs -d 11 | TCL_TK_LIBS= -lX11_s -lsocket -lm -lintl -lmalloc 12 | 13 | TCL_MAN_SEPARATOR=. 14 | 15 | -------------------------------------------------------------------------------- /src/tclx/config/sgi: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------ 2 | # SGI IRIX 4.0 3 | #------------------------------------------------------------------------------ 4 | # The strftime function supplied with IRIX 4.0.5 is broken, when a time 5 | # is 12:00 AM, %I and %r return times of 00:00, as if it was 24-hour time. 6 | # We substitute in our own version of strftime to fix this problem. 7 | #------------------------------------------------------------------------------ 8 | # $Id: sgi,v 2.7 1992/11/09 07:18:22 markd Exp $ 9 | #------------------------------------------------------------------------------ 10 | # 11 | SYS_DEP_FLAGS=-DTCL_HAVE_SETLINEBUF -DTCL_POSIX_SIG -DTCL_IEEE_FP_MATH -DTCL_TIMEZONE_VAR 12 | LIBS=-lm 13 | RANLIB_CMD=true 14 | MCS_CMD=true 15 | TCL_TK_LIBS= -lX11 -lm 16 | SUPPORT_OBJS=strftime.o 17 | TCL_MAN_SEPARATOR= 18 | -------------------------------------------------------------------------------- /src/tclx/config/solaris2: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------ 2 | # SUN OS newer versions (~4.1, let us know which ones works for you) 3 | #------------------------------------------------------------------------------ 4 | # $Id: sunos4.1,v 2.3 1992/11/08 17:24:26 markd Exp $ 5 | #------------------------------------------------------------------------------ 6 | # 7 | #SYS_DEP_FLAGS=-DTCL_HAVE_SETLINEBUF -DTCL_32_BIT_RANDOM -DTCL_POSIX_SIG -DTCL_TM_GMTOFF 8 | SYS_DEP_FLAGS=-DTCL_32_BIT_RANDOM -DTCL_POSIX_SIG -DTCL_TIMEZONE_VAR -I/usr/openwin/include 9 | LIBS=-lm -lsocket -lnsl 10 | RANLIB_CMD=echo 11 | MCS_CMD=true 12 | SUPPORT_FLAGS=-DTCL_HAS_TM_ZONE 13 | TCL_TK_LIBS= -lX11 -lm -lsocket -lnsl 14 | 15 | TCL_MAN_SEPARATOR= 16 | -------------------------------------------------------------------------------- /src/tclx/config/sunos4.0: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------ 2 | # SUN OS older versions (~4.0, let us know which one works for you) 3 | #------------------------------------------------------------------------------ 4 | # $Id: sunos4.0,v 2.1 1992/11/08 17:24:26 markd Exp $ 5 | #------------------------------------------------------------------------------ 6 | # 7 | SYS_DEP_FLAGS=-DTCL_HAVE_SETLINEBUF -DTCL_32_BIT_RANDOM 8 | LIBS=-lm 9 | RANLIB_CMD=ranlib 10 | MCS_CMD=true 11 | SUPPORT_FLAGS=-DTCL_HAS_TM_ZONE 12 | SUPPORT_OBJS=strftime.o 13 | TCL_TK_LIBS= -lX11 -lm 14 | 15 | TCL_MAN_SEPARATOR= 16 | -------------------------------------------------------------------------------- /src/tclx/config/sunos4.1: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------ 2 | # SUN OS newer versions (~4.1, let us know which ones works for you) 3 | #------------------------------------------------------------------------------ 4 | # $Id: sunos4.1,v 2.3 1992/11/08 17:24:26 markd Exp $ 5 | #------------------------------------------------------------------------------ 6 | # 7 | SYS_DEP_FLAGS=-DTCL_HAVE_SETLINEBUF -DTCL_32_BIT_RANDOM -DTCL_POSIX_SIG -DTCL_TM_GMTOFF 8 | LIBS=-lm 9 | RANLIB_CMD=ranlib 10 | MCS_CMD=true 11 | TCL_TK_LIBS= -lX11 -lm 12 | 13 | TCL_MAN_SEPARATOR= 14 | -------------------------------------------------------------------------------- /src/tclx/config/sysv.3.2.0: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------ 2 | # System V 3.2.0 (tested on Bell-Tech or Intel Unix for the Intel 386) 3 | #------------------------------------------------------------------------------ 4 | # $Id: sysv.3.2.0,v 2.2 1992/11/08 17:24:26 markd Exp $ 5 | #------------------------------------------------------------------------------ 6 | # 7 | SYS_DEP_FLAGS=-DTCL_NO_SELECT -DTCL_NO_ITIMER -DTCL_NO_FILE_LOCKING 8 | LIBS=-lform -lm -lc_s 9 | RANLIB_CMD=true 10 | MCS_CMD=mcs -d 11 | 12 | TCL_MAN_SEPARATOR=. 13 | TCL_MAN_STYLE=SHORT 14 | TCL_MAN_INDEX=1 15 | 16 | -------------------------------------------------------------------------------- /src/tclx/config/ultrix: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------ 2 | # DEC Ultrix 3 | #------------------------------------------------------------------------------ 4 | # $Id: ultrix,v 2.1 1992/11/08 17:24:26 markd Exp $ 5 | #------------------------------------------------------------------------------ 6 | # 7 | SYS_DEP_FLAGS=-DTCL_HAVE_SETLINEBUF -DTCL_32_BIT_RANDOM -DTCL_TM_GMTOFF 8 | LIBS=-lm 9 | RANLIB_CMD=ranlib 10 | MCS_CMD=true 11 | SUPPORT_FLAGS=-DTCL_HAS_TM_ZONE 12 | SUPPORT_OBJS=strftime.o 13 | TCL_TK_LIBS= -lX11 -lm 14 | 15 | TCL_MAN_SEPARATOR= 16 | 17 | -------------------------------------------------------------------------------- /src/tclx/config/ultrix4.2: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------ 2 | # DEC Ultrix 4.2 3 | #------------------------------------------------------------------------------ 4 | # $Id: ultrix4.2,v 1.3 1992/11/08 17:24:26 markd Exp $ 5 | #------------------------------------------------------------------------------ 6 | # 7 | SYS_DEP_FLAGS=-DTCL_HAVE_SETLINEBUF -DTCL_32_BIT_RANDOM -DTCL_TM_GMTOFF 8 | LIBS=-lm 9 | RANLIB_CMD=ranlib 10 | MCS_CMD=true 11 | TCL_TK_LIBS= -lX11 -lm 12 | 13 | TCL_MAN_SEPARATOR= 14 | 15 | -------------------------------------------------------------------------------- /src/tclx/config/xenix: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------ 2 | # XENIX-386 - SCO Xenix 2.3.3 for the 80386 3 | #------------------------------------------------------------------------------ 4 | # $Id: xenix,v 2.2 1992/11/08 17:24:26 markd Exp $ 5 | #------------------------------------------------------------------------------ 6 | # 7 | SYS_DEP_FLAGS= -DTCL_NEED_SYS_SELECT_H -DTCL_USE_BZERO_MACRO -DTCL_SIG_PROC_INT -DTCL_NO_ITIMER 8 | LIBS=-ldir -lm 9 | RANLIB_CMD=ranlib 10 | MCS_CMD=true 11 | 12 | TCL_MAN_STYLE=SHORT 13 | TCL_MAN_INDEX=1 14 | TCL_MAN_INDEX_MERGE=1 15 | 16 | -------------------------------------------------------------------------------- /src/tclx/ossupp/fcntl.c: -------------------------------------------------------------------------------- 1 | /* 2 | * fcntl.c 3 | * 4 | * Public-domain relatively quick-and-dirty implemenation of 5 | * ANSI library routine for System V Unix systems. 6 | * 7 | * It's written in old-style C for maximal portability. 8 | * 9 | * Arnold Robbins 10 | * January, February, 1991 11 | * 12 | * Fixes from ado@elsie.nci.nih.gov 13 | * February 1991 14 | *----------------------------------------------------------------------------- 15 | * $Id: fcntl.c,v 2.0 1992/10/16 04:52:16 markd Rel $ 16 | *----------------------------------------------------------------------------- 17 | */ 18 | 19 | /* 20 | * To avoid Unix version problems, this code has been simplified to avoid 21 | * const and size_t, however this can cause an incompatible definition on 22 | * ansi-C systems, so a game is played with defines to ignore a strftime 23 | * declaration in time.h 24 | */ 25 | 26 | #include 27 | 28 | 29 | /* fcntl --- performs open file attribute access */ 30 | 31 | int 32 | fcntl(fd, cmd, arg) 33 | int fd; 34 | int cmd; 35 | int arg; 36 | { 37 | int rc = 0; 38 | 39 | return rc; 40 | } 41 | -------------------------------------------------------------------------------- /src/tclx/ossupp/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile -- 3 | # 4 | # Makefile for Extended Tcl ossupport code. 5 | #------------------------------------------------------------------------------ 6 | # Copyright 1992 Karl Lehenbauer and Mark Diekhans. 7 | # 8 | # Permission to use, copy, modify, and distribute this software and its 9 | # documentation for any purpose and without fee is hereby granted, provided 10 | # that the above copyright notice appear in all copies. Karl Lehenbauer and 11 | # Mark Diekhans make no representations about the suitability of this 12 | # software for any purpose. It is provided "as is" without express or 13 | # implied warranty. 14 | #------------------------------------------------------------------------------ 15 | # $Id: Makefile,v 2.1 1992/11/07 22:33:46 markd Exp $ 16 | #------------------------------------------------------------------------------ 17 | # 18 | 19 | include ../config.mk 20 | include ../config/$(TCL_CONFIG_FILE) 21 | SHELL=/bin/sh 22 | 23 | #------------------------------------------------------------------------------ 24 | 25 | CFLAGS=$(OPTIMIZE_FLAG) $(XCFLAGS) -I../$(TCL_UCB_DIR) $(MEM_DEBUG_FLAGS) \ 26 | $(SYS_DEP_FLAGS) $(SUPPORT_FLAGS) 27 | 28 | #------------------------------------------------------------------------------ 29 | 30 | all: made.tmp 31 | 32 | made.tmp: $(SUPPORT_OBJS) 33 | $(AR) cr ../libtcl.a $(SUPPORT_OBJS) 34 | touch made.tmp 35 | 36 | #------------------------------------------------------------------------------ 37 | 38 | clean: 39 | touch junk~ 40 | -rm -f *~ made.tmp 41 | -rm -f *.o 42 | -------------------------------------------------------------------------------- /src/tclx/ossupp/makefile.dvx: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile -- 3 | # 4 | # Makefile for Extended Tcl ossupport code. 5 | #------------------------------------------------------------------------------ 6 | # Copyright 1992 Karl Lehenbauer and Mark Diekhans. 7 | # 8 | # Permission to use, copy, modify, and distribute this software and its 9 | # documentation for any purpose and without fee is hereby granted, provided 10 | # that the above copyright notice appear in all copies. Karl Lehenbauer and 11 | # Mark Diekhans make no representations about the suitability of this 12 | # software for any purpose. It is provided "as is" without express or 13 | # implied warranty. 14 | #------------------------------------------------------------------------------ 15 | # $Id: Makefile,v 2.1 1992/11/07 22:33:46 markd Exp $ 16 | #------------------------------------------------------------------------------ 17 | # 18 | 19 | include ..\Config.mk 20 | include ..\config\$(TCL_CONFIG_FILE) 21 | #SHELL=/bin/sh 22 | 23 | #------------------------------------------------------------------------------ 24 | 25 | CFLAGS=$(OPTIMIZE_FLAG) $(XCFLAGS) -I../$(TCL_UCB_DIR) $(MEM_DEBUG_FLAGS) \ 26 | -DTCL_HAS_TM_ZONE $(SUPPORT_FLAGS) 27 | 28 | #------------------------------------------------------------------------------ 29 | 30 | .c.o: 31 | $(CC) $(CFLAGS) <@< -c $< 32 | $(SYS_DEP_FLAGS) 33 | < 34 | 35 | all: made.tmp 36 | 37 | made.tmp: $(SUPPORT_OBJS) 38 | $(AR) cr ..\libtcl.a $(SUPPORT_OBJS) 39 | $(RANLIB) ..\libtcl.a 40 | touch made.tmp 41 | 42 | #------------------------------------------------------------------------------ 43 | 44 | clean: 45 | -rm -f made.tmp 46 | -rm -f *.o 47 | -------------------------------------------------------------------------------- /src/tclx/ossupp/sigs.c: -------------------------------------------------------------------------------- 1 | /* 2 | * sigs.c 3 | * 4 | * Public-domain relatively quick-and-dirty implemenation of 5 | * ANSI library routine for System V Unix systems. 6 | * 7 | * It's written in old-style C for maximal portability. 8 | * 9 | * Arnold Robbins 10 | * January, February, 1991 11 | * 12 | * Fixes from ado@elsie.nci.nih.gov 13 | * February 1991 14 | *----------------------------------------------------------------------------- 15 | * $Id: sigs.c,v 2.0 1992/10/16 04:52:16 markd Rel $ 16 | *----------------------------------------------------------------------------- 17 | */ 18 | 19 | /* 20 | * To avoid Unix version problems, this code has been simplified to avoid 21 | * const and size_t, however this can cause an incompatible definition on 22 | * ansi-C systems, so a game is played with defines to ignore a strftime 23 | * declaration in time.h 24 | */ 25 | 26 | #include 27 | 28 | 29 | /* sigprocmask --- examines or changes the calling processes' signal mask */ 30 | 31 | int 32 | sigprocmask(how, set, oset) 33 | int how; 34 | sigset_t *set; 35 | sigset_t *oset; 36 | { 37 | int rc = 0; 38 | 39 | return rc; 40 | } 41 | -------------------------------------------------------------------------------- /src/tclx/ossupp/times.c: -------------------------------------------------------------------------------- 1 | /* 2 | * times.c 3 | * 4 | * Public-domain relatively quick-and-dirty implemenation of 5 | * ANSI library routine for System V Unix systems. 6 | * 7 | * It's written in old-style C for maximal portability. 8 | * 9 | * Arnold Robbins 10 | * January, February, 1991 11 | * 12 | * Fixes from ado@elsie.nci.nih.gov 13 | * February 1991 14 | *----------------------------------------------------------------------------- 15 | * $Id: times.c,v 2.0 1992/10/16 04:52:16 markd Rel $ 16 | *----------------------------------------------------------------------------- 17 | */ 18 | 19 | /* 20 | * To avoid Unix version problems, this code has been simplified to avoid 21 | * const and size_t, however this can cause an incompatible definition on 22 | * ansi-C systems, so a game is played with defines to ignore a strftime 23 | * declaration in time.h 24 | */ 25 | 26 | #include 27 | #include 28 | #include 29 | 30 | 31 | /* times --- produce process times */ 32 | 33 | clock_t 34 | times(buffer) 35 | struct tms *buffer; 36 | { 37 | clock_t clk_time; 38 | 39 | clk_time = clock(); 40 | buffer->tms_utime = clk_time; 41 | buffer->tms_utime2 = clk_time; 42 | buffer->tms_stime = clk_time; 43 | buffer->tms_stime2 = clk_time; 44 | 45 | return clk_time; 46 | } 47 | -------------------------------------------------------------------------------- /src/tclx/src/patchlvl.h: -------------------------------------------------------------------------------- 1 | 2 | #define PATCHLEVEL 1 3 | -------------------------------------------------------------------------------- /src/tclx/tcllib/8queens.tcl: -------------------------------------------------------------------------------- 1 | # 2 | # Eight Queens in Tcl 3 | # 4 | # by Karl Lehenbauer, 23 Nov 1990 5 | # 6 | #----------------------------------------------------------------------------- 7 | # $Id: 8queens.tcl,v 2.0 1992/10/16 04:51:36 markd Rel $ 8 | #----------------------------------------------------------------------------- 9 | # 10 | proc none_attacking {rank position} { 11 | global queens 12 | loop i 1 $rank { 13 | set j $queens([expr {$rank - $i}]) 14 | if {($j==$position-$i) || ($j==$position) || ($j==$position+$i)} { 15 | return 0 16 | } 17 | } 18 | return 1 19 | } 20 | 21 | proc solution {} { 22 | global queens 23 | echo $queens(1) $queens(2) $queens(3) $queens(4) $queens(5) $queens(6) $queens(7) $queens(8) 24 | } 25 | 26 | proc x8queens {rank} { 27 | global queens 28 | set queens($rank) 1 29 | loop i 1 9 { 30 | if [none_attacking $rank $i] { 31 | set queens($rank) $i 32 | if {$rank != 8} { 33 | x8queens [expr $rank+1] 34 | } else { 35 | solution 36 | return 37 | } 38 | } 39 | } 40 | } 41 | 42 | proc 8queens {} { 43 | x8queens 1 44 | } 45 | 46 | global interactiveSession 47 | if !$interactiveSession 8queens 48 | -------------------------------------------------------------------------------- /src/tclx/tclsrc/array.tcl: -------------------------------------------------------------------------------- 1 | # 2 | # arrayprocs.tcl -- 3 | # 4 | # Extended Tcl array procedures. 5 | # 6 | #------------------------------------------------------------------------------ 7 | # Copyright 1992 Karl Lehenbauer and Mark Diekhans. 8 | # 9 | # Permission to use, copy, modify, and distribute this software and its 10 | # documentation for any purpose and without fee is hereby granted, provided 11 | # that the above copyright notice appear in all copies. Karl Lehenbauer and 12 | # Mark Diekhans make no representations about the suitability of this 13 | # software for any purpose. It is provided "as is" without express or 14 | # implied warranty. 15 | #------------------------------------------------------------------------------ 16 | # $Id: arrayprocs.tcl,v 2.0 1992/10/16 04:51:54 markd Rel $ 17 | #------------------------------------------------------------------------------ 18 | # 19 | 20 | #@package: TclX-ArrayProcedures for_array_keys 21 | 22 | proc for_array_keys {varName arrayName codeFragment} { 23 | upvar $varName enumVar $arrayName enumArray 24 | 25 | if ![info exists enumArray] { 26 | error "\"$arrayName\" isn't an array" 27 | } 28 | 29 | set searchId [array startsearch enumArray] 30 | while {[array anymore enumArray $searchId]} { 31 | set enumVar [array nextelement enumArray $searchId] 32 | uplevel $codeFragment 33 | } 34 | array donesearch enumArray $searchId 35 | } 36 | -------------------------------------------------------------------------------- /src/tclx/tclsrc/assign.tcl: -------------------------------------------------------------------------------- 1 | # 2 | # asgnfields.tcl -- 3 | # 4 | # Procedure to assign list fields to variables. 5 | #------------------------------------------------------------------------------ 6 | # Copyright 1992 Karl Lehenbauer and Mark Diekhans. 7 | # 8 | # Permission to use, copy, modify, and distribute this software and its 9 | # documentation for any purpose and without fee is hereby granted, provided 10 | # that the above copyright notice appear in all copies. Karl Lehenbauer and 11 | # Mark Diekhans make no representations about the suitability of this 12 | # software for any purpose. It is provided "as is" without express or 13 | # implied warranty. 14 | #------------------------------------------------------------------------------ 15 | # $Id: asgnfields.tcl,v 2.0 1992/10/16 04:51:55 markd Rel $ 16 | #------------------------------------------------------------------------------ 17 | # 18 | 19 | #@package: TclX-assign_fields assign_fields 20 | 21 | proc assign_fields {list args} { 22 | foreach varName $args { 23 | set value [lvarpop list] 24 | uplevel "set $varName [list $value]" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/tclx/tclsrc/compat.tcl: -------------------------------------------------------------------------------- 1 | # 2 | # compat -- 3 | # 4 | # This file provides commands compatible with older versions of Extended Tcl. 5 | # 6 | #------------------------------------------------------------------------------ 7 | # Copyright 1992 Karl Lehenbauer and Mark Diekhans. 8 | # 9 | # Permission to use, copy, modify, and distribute this software and its 10 | # documentation for any purpose and without fee is hereby granted, provided 11 | # that the above copyright notice appear in all copies. Karl Lehenbauer and 12 | # Mark Diekhans make no representations about the suitability of this 13 | # software for any purpose. It is provided "as is" without express or 14 | # implied warranty. 15 | #------------------------------------------------------------------------------ 16 | # $Id: compat.tcl,v 2.0 1992/10/16 04:51:51 markd Rel $ 17 | #------------------------------------------------------------------------------ 18 | # 19 | 20 | #@package: TclX-Compatibility execvp 21 | 22 | proc execvp {progname args} { 23 | execl $progname $args 24 | } 25 | -------------------------------------------------------------------------------- /src/tclx/tclsrc/forfile.tcl: -------------------------------------------------------------------------------- 1 | # 2 | # forfile.tcl -- 3 | # 4 | # Proc to execute code on every line of a file. 5 | #------------------------------------------------------------------------------ 6 | # Copyright 1992 Karl Lehenbauer and Mark Diekhans. 7 | # 8 | # Permission to use, copy, modify, and distribute this software and its 9 | # documentation for any purpose and without fee is hereby granted, provided 10 | # that the above copyright notice appear in all copies. Karl Lehenbauer and 11 | # Mark Diekhans make no representations about the suitability of this 12 | # software for any purpose. It is provided "as is" without express or 13 | # implied warranty. 14 | #------------------------------------------------------------------------------ 15 | # $Id: forfile.tcl,v 2.0 1992/10/16 04:51:58 markd Rel $ 16 | #------------------------------------------------------------------------------ 17 | # 18 | 19 | #@package: TclX-forfile for_file 20 | 21 | proc for_file {var filename code} { 22 | upvar $var line 23 | set fp [open $filename r] 24 | while {[gets $fp line] >= 0} { 25 | uplevel $code 26 | } 27 | close $fp 28 | } 29 | 30 | -------------------------------------------------------------------------------- /src/tclx/tclsrc/forrec.tcl: -------------------------------------------------------------------------------- 1 | # 2 | # forrecur.tcl -- 3 | # 4 | # Proc to execute code on every file in a recursive directory glob. 5 | #------------------------------------------------------------------------------ 6 | # Copyright 1992 Karl Lehenbauer and Mark Diekhans. 7 | # 8 | # Permission to use, copy, modify, and distribute this software and its 9 | # documentation for any purpose and without fee is hereby granted, provided 10 | # that the above copyright notice appear in all copies. Karl Lehenbauer and 11 | # Mark Diekhans make no representations about the suitability of this 12 | # software for any purpose. It is provided "as is" without express or 13 | # implied warranty. 14 | #------------------------------------------------------------------------------ 15 | # $Id: forrecur.tcl,v 2.0 1992/10/16 04:52:00 markd Rel $ 16 | #------------------------------------------------------------------------------ 17 | # 18 | 19 | #@package: TclX-forrecur for_recursive_glob 20 | 21 | proc for_recursive_glob {var globlist code {depth 1}} { 22 | upvar $depth $var myVar 23 | foreach globpat $globlist { 24 | foreach file [glob -nocomplain $globpat] { 25 | if [file isdirectory $file] { 26 | for_recursive_glob $var $file/* $code [expr {$depth + 1}] 27 | } 28 | set myVar $file 29 | uplevel $depth $code 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/tclx/tclsrc/globrec.tcl: -------------------------------------------------------------------------------- 1 | # 2 | # globrecur.tcl -- 3 | # 4 | # Build up a directory list recursively. 5 | #------------------------------------------------------------------------------ 6 | # Copyright 1992 Karl Lehenbauer and Mark Diekhans. 7 | # 8 | # Permission to use, copy, modify, and distribute this software and its 9 | # documentation for any purpose and without fee is hereby granted, provided 10 | # that the above copyright notice appear in all copies. Karl Lehenbauer and 11 | # Mark Diekhans make no representations about the suitability of this 12 | # software for any purpose. It is provided "as is" without express or 13 | # implied warranty. 14 | #------------------------------------------------------------------------------ 15 | # $Id: globrecur.tcl,v 2.0 1992/10/16 04:52:04 markd Rel $ 16 | #------------------------------------------------------------------------------ 17 | # 18 | 19 | #@package: TclX-globrecur recursive_glob 20 | 21 | proc recursive_glob {globlist} { 22 | set result "" 23 | foreach pattern $globlist { 24 | foreach file [glob -nocomplain $pattern] { 25 | lappend result $file 26 | if [file isdirectory $file] { 27 | set result [concat $result [recursive_glob $file/*]] 28 | } 29 | } 30 | } 31 | return $result 32 | } 33 | -------------------------------------------------------------------------------- /src/tclx/tclsrc/pushd.tcl: -------------------------------------------------------------------------------- 1 | # 2 | # pushd.tcl -- 3 | # 4 | # C-shell style directory stack procs. 5 | # 6 | #------------------------------------------------------------------------------ 7 | # Copyright 1992 Karl Lehenbauer and Mark Diekhans. 8 | # 9 | # Permission to use, copy, modify, and distribute this software and its 10 | # documentation for any purpose and without fee is hereby granted, provided 11 | # that the above copyright notice appear in all copies. Karl Lehenbauer and 12 | # Mark Diekhans make no representations about the suitability of this 13 | # software for any purpose. It is provided "as is" without express or 14 | # implied warranty. 15 | #------------------------------------------------------------------------------ 16 | # $Id: pushd.tcl,v 2.0 1992/10/16 04:52:06 markd Rel $ 17 | #------------------------------------------------------------------------------ 18 | # 19 | 20 | #@package: TclX-directory_stack pushd popd dirs 21 | 22 | global TCLENV(dirPushList) 23 | 24 | set TCLENV(dirPushList) "" 25 | 26 | proc pushd {args} { 27 | global TCLENV 28 | 29 | if {[llength $args] > 1} { 30 | error "bad # args: pushd [dir_to_cd_to]" 31 | } 32 | set TCLENV(dirPushList) [linsert $TCLENV(dirPushList) 0 [pwd]] 33 | 34 | if {[llength $args] != 0} { 35 | cd [glob $args] 36 | } 37 | } 38 | 39 | proc popd {} { 40 | global TCLENV 41 | 42 | if [llength $TCLENV(dirPushList)] { 43 | cd [lvarpop TCLENV(dirPushList)] 44 | pwd 45 | } else { 46 | error "directory stack empty" 47 | } 48 | } 49 | 50 | proc dirs {} { 51 | global TCLENV 52 | echo [pwd] $TCLENV(dirPushList) 53 | } 54 | -------------------------------------------------------------------------------- /src/tclx/tclsrc/showproc.tcl: -------------------------------------------------------------------------------- 1 | # 2 | # showprocs.tcl -- 3 | # 4 | # Display procedure headers and bodies. 5 | #------------------------------------------------------------------------------ 6 | # Copyright 1992 Karl Lehenbauer and Mark Diekhans. 7 | # 8 | # Permission to use, copy, modify, and distribute this software and its 9 | # documentation for any purpose and without fee is hereby granted, provided 10 | # that the above copyright notice appear in all copies. Karl Lehenbauer and 11 | # Mark Diekhans make no representations about the suitability of this 12 | # software for any purpose. It is provided "as is" without express or 13 | # implied warranty. 14 | #------------------------------------------------------------------------------ 15 | # $Id: showprocs.tcl,v 2.0 1992/10/16 04:52:11 markd Rel $ 16 | #------------------------------------------------------------------------------ 17 | # 18 | 19 | #@package: TclX-show_procedures showproc showprocs 20 | 21 | proc showproc {procname} { 22 | if [lempty [info procs $procname]] {demand_load $procname} 23 | set arglist [info args $procname] 24 | set nargs {} 25 | while {[llength $arglist] > 0} { 26 | set varg [lvarpop arglist 0] 27 | if [info default $procname $varg defarg] { 28 | lappend nargs [list $varg $defarg] 29 | } else { 30 | lappend nargs $varg 31 | } 32 | } 33 | format "proc %s \{%s\} \{%s\}\n" $procname $nargs [info body $procname] 34 | } 35 | 36 | proc showprocs {args} { 37 | if [lempty $args] { set args [info procs] } 38 | set out "" 39 | 40 | foreach i $args { 41 | foreach j $i { append out [showproc $j] "\n"} 42 | } 43 | return $out 44 | } 45 | 46 | -------------------------------------------------------------------------------- /src/tclx/tclsrc/strfile.tcl: -------------------------------------------------------------------------------- 1 | # 2 | # string_file -- 3 | # 4 | # Functions to read and write strings from a file that has not been opened. 5 | #------------------------------------------------------------------------------ 6 | # Copyright 1992 Karl Lehenbauer and Mark Diekhans. 7 | # 8 | # Permission to use, copy, modify, and distribute this software and its 9 | # documentation for any purpose and without fee is hereby granted, provided 10 | # that the above copyright notice appear in all copies. Karl Lehenbauer and 11 | # Mark Diekhans make no representations about the suitability of this 12 | # software for any purpose. It is provided "as is" without express or 13 | # implied warranty. 14 | #------------------------------------------------------------------------------ 15 | # $Id: stringfile.tcl,v 2.0 1992/10/16 04:52:13 markd Rel $ 16 | #------------------------------------------------------------------------------ 17 | # 18 | 19 | #@package: TclX-stringfile_functions read_file write_file 20 | 21 | proc read_file {fileName {numBytes {}}} { 22 | set fp [open $fileName] 23 | if {$numBytes != ""} { 24 | set result [read $fp $numBytes] 25 | } else { 26 | set result [read $fp] 27 | } 28 | close $fp 29 | return $result 30 | } 31 | 32 | proc write_file {fileName args} { 33 | set fp [open $fileName w] 34 | foreach string $args { 35 | puts $fp $string 36 | } 37 | close $fp 38 | } 39 | 40 | -------------------------------------------------------------------------------- /src/tclx/tkucbsrc/main.sed: -------------------------------------------------------------------------------- 1 | /#include "tkint.h"/a\ 2 | #define TK_EXTENDED\ 3 | #ifdef TK_EXTENDED\ 4 | # include "tclxtend.h"\ 5 | Tcl_Interp *tk_mainInterp; /* Need to process signals */\ 6 | #endif 7 | 8 | /^char initCmd/c\ 9 | #ifdef TK_EXTENDED\ 10 | char initCmd[] = "load wishx.tcl";\ 11 | #else\ 12 | char initCmd[] = "source $tk_library/wish.tcl";\ 13 | #endif 14 | 15 | / interp = Tcl_CreateInterp();/c\ 16 | #ifdef TK_EXTENDED\ 17 | tk_mainInterp = interp = Tcl_CreateExtendedInterp();\ 18 | #else\ 19 | interp = Tcl_CreateInterp();\ 20 | #endif 21 | 22 | /result = Tcl_Eval(interp, initCmd/i\ 23 | #ifdef TK_EXTENDED\ 24 | tclAppName = "Wish";\ 25 | tclAppLongname = "Wish - Tk Shell";\ 26 | tclAppVersion = TK_VERSION;\ 27 | Tcl_ShellEnvInit (interp, TCLSH_ABORT_STARTUP_ERR,\ 28 | name,\ 29 | 0, NULL, /* argv var already set */\ 30 | fileName == NULL, /* interactive? */\ 31 | NULL); /* Standard default file */\ 32 | #endif 33 | -------------------------------------------------------------------------------- /src/tclx/tkucbsrc/tkevent.sed: -------------------------------------------------------------------------------- 1 | /#include /a\ 2 | extern Tcl_Interp *tk_mainInterp; 3 | 4 | /numFound = select(numFds/i\ 5 | if (Tcl_CheckForSignal (tk_mainInterp, TCL_OK) == TCL_ERROR)\ 6 | TkBindError(tk_mainInterp);\ 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/tclx/tkucbsrc/wishx.sed: -------------------------------------------------------------------------------- 1 | /source.*init\.tcl/d 2 | /source.*tk_library/c\ 3 | load tk.tcl 4 | -------------------------------------------------------------------------------- /src/tclx/ucbsrc/tclbasic.dif: -------------------------------------------------------------------------------- 1 | *** ../../tcl6.4/tclBasic.c Sun Jun 21 14:09:46 1992 2 | --- tclBasic.c Tue Oct 6 17:19:52 1992 3 | *************** 4 | *** 705,710 5 | iPtr->result = iPtr->resultSpace; 6 | iPtr->resultSpace[0] = 0; 7 | result = (*cmdPtr->proc)(cmdPtr->clientData, interp, argc, argv); 8 | if (result != TCL_OK) { 9 | break; 10 | } 11 | 12 | --- 705,714 ----- 13 | iPtr->result = iPtr->resultSpace; 14 | iPtr->resultSpace[0] = 0; 15 | result = (*cmdPtr->proc)(cmdPtr->clientData, interp, argc, argv); 16 | + /* 17 | + * Signal handling added for Extended Tcl. 18 | + */ 19 | + result = Tcl_CheckForSignal (interp, result); 20 | if (result != TCL_OK) { 21 | break; 22 | } 23 | -------------------------------------------------------------------------------- /src/tclx/ucbsrc/tclbasic.sed: -------------------------------------------------------------------------------- 1 | /(\*cmdPtr->proc)/a\ 2 | \ /*\ 3 | \ * Signal handling added for Extended Tcl.\ 4 | \ */\ 5 | \ result = Tcl_CheckForSignal (interp, result); 6 | -------------------------------------------------------------------------------- /src/tclx/ucbsrc/tclexpr.dif: -------------------------------------------------------------------------------- 1 | *** ../../tcl6.4/tclExpr.c Mon Mar 23 09:54:06 1992 2 | --- tclExpr.c Tue Oct 6 17:20:10 1992 3 | *************** 4 | *** 1318,1324 5 | if (value.type == TYPE_INT) { 6 | sprintf(interp->result, "%ld", value.intValue); 7 | } else if (value.type == TYPE_DOUBLE) { 8 | ! sprintf(interp->result, "%g", value.doubleValue); 9 | } else { 10 | if (value.pv.buffer != value.staticSpace) { 11 | interp->result = value.pv.buffer; 12 | 13 | --- 1318,1324 ----- 14 | if (value.type == TYPE_INT) { 15 | sprintf(interp->result, "%ld", value.intValue); 16 | } else if (value.type == TYPE_DOUBLE) { 17 | ! Tcl_ReturnDouble (interp, value.doubleValue); 18 | } else { 19 | if (value.pv.buffer != value.staticSpace) { 20 | interp->result = value.pv.buffer; 21 | -------------------------------------------------------------------------------- /src/tclx/ucbsrc/tclexpr.sed: -------------------------------------------------------------------------------- 1 | / sprintf(interp->result, "%g", value.doubleValue);/c\ 2 | Tcl_ReturnDouble (interp, value.doubleValue); 3 | -------------------------------------------------------------------------------- /src/tk/bitmaps/gray25: -------------------------------------------------------------------------------- 1 | #define gray25_width 16 2 | #define gray25_height 16 3 | static unsigned char gray25_bits[] = { 4 | 0x00, 0x00, 0x22, 0x22, 0x00, 0x00, 0x88, 0x88, 0x00, 0x00, 0x22, 0x22, 5 | 0x00, 0x00, 0x88, 0x88, 0x00, 0x00, 0x22, 0x22, 0x00, 0x00, 0x88, 0x88, 6 | 0x00, 0x00, 0x22, 0x22, 0x00, 0x00, 0x88, 0x88}; 7 | -------------------------------------------------------------------------------- /src/tk/bitmaps/gray50: -------------------------------------------------------------------------------- 1 | #define gray50_width 16 2 | #define gray50_height 16 3 | static unsigned char gray50_bits[] = { 4 | 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 5 | 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 6 | 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa}; 7 | -------------------------------------------------------------------------------- /src/tk/library/demos/bitmaps/grey.25: -------------------------------------------------------------------------------- 1 | #define grey_width 16 2 | #define grey_height 16 3 | static char grey_bits[] = { 4 | 0x11, 0x11, 0x44, 0x44, 0x11, 0x11, 0x44, 0x44, 0x11, 0x11, 0x44, 0x44, 5 | 0x11, 0x11, 0x44, 0x44, 0x11, 0x11, 0x44, 0x44, 0x11, 0x11, 0x44, 0x44, 6 | 0x11, 0x11, 0x44, 0x44, 0x11, 0x11, 0x44, 0x44}; 7 | -------------------------------------------------------------------------------- /src/tk/library/demos/bitmaps/grey.5: -------------------------------------------------------------------------------- 1 | #define grey_width 16 2 | #define grey_height 16 3 | static char grey_bits[] = { 4 | 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 5 | 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 6 | 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa}; 7 | -------------------------------------------------------------------------------- /src/tk/library/demos/bitmaps/pattern: -------------------------------------------------------------------------------- 1 | #define foo_width 16 2 | #define foo_height 16 3 | static char foo_bits[] = { 4 | 0x60, 0x06, 0x90, 0x09, 0x90, 0x09, 0xb0, 0x0d, 0x4e, 0x72, 0x49, 0x92, 5 | 0x71, 0x8e, 0x8e, 0x71, 0x8e, 0x71, 0x71, 0x8e, 0x49, 0x92, 0x4e, 0x72, 6 | 0xb0, 0x0d, 0x90, 0x09, 0x90, 0x09, 0x60, 0x06}; 7 | -------------------------------------------------------------------------------- /src/tk/library/demos/browse: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/wish -f 2 | # 3 | # This script generates a directory browser, which lists the working 4 | # directory and allows you to open files or subdirectories by 5 | # double-clicking. 6 | 7 | # Create a scrollbar on the right side of the main window and a listbox 8 | # on the left side. 9 | 10 | scrollbar .scroll -command ".list yview" 11 | listbox .list -yscroll ".scroll set" -relief raised -geometry 20x20 12 | pack append . .scroll {right filly} .list {left expand fill} 13 | 14 | # The procedure below is invoked to open a browser on a given file; if the 15 | # file is a directory then another instance of this program is invoked; if 16 | # the file is a regular file then the Mx editor is invoked to display 17 | # the file. 18 | 19 | proc browse {dir file} { 20 | if {[string compare $dir "."] != 0} {set file $dir/$file} 21 | if [file isdirectory $file] { 22 | exec browse $file & 23 | } else { 24 | if [file isfile $file] { 25 | exec xedit $file & 26 | } else { 27 | puts stdout "\"$file\" isn't a directory or regular file" 28 | } 29 | } 30 | } 31 | 32 | # Fill the listbox with a list of all the files in the directory (run 33 | # the "ls" command to get that information). 34 | 35 | if $argc>0 {set dir [lindex $argv 0]} else {set dir "."} 36 | foreach i [exec ls -a $dir] { 37 | .list insert end $i 38 | } 39 | 40 | # Set up bindings for the browser. 41 | 42 | bind .list {destroy .} 43 | bind .list {destroy .} 44 | focus .list 45 | bind .list {foreach i [selection get] {browse $dir $i}} 46 | -------------------------------------------------------------------------------- /src/tk/library/demos/color: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/wish -f 2 | # 3 | # Simple script to change colors of a window. 4 | 5 | if "$argc < 3" {error "Usage: color appName window option"} 6 | set appName [lindex $argv 0] 7 | set widget [lindex $argv 1] 8 | set option [lindex $argv 2] 9 | set red 0 10 | set green 0 11 | set blue 0 12 | 13 | option add *Scale.sliderForeground "#cdb79e" 14 | option add *Scale.activeForeground "#ffe4c4" 15 | pack append . [scale .red -command "color red" -label "Red Intensity" \ 16 | -from 0 -to 255 -orient horizontal -bg "#ffaeb9" -length 250] \ 17 | {top expand fill} 18 | pack append . [scale .green -command "color green" -label "Green Intensity" \ 19 | -from 0 -to 255 -orient horizontal -bg "#43cd80"] {top expand fill} 20 | pack append . [scale .blue -command "color blue" -label "Blue Intensity" \ 21 | -from 0 -to 255 -orient horizontal -bg "#7ec0ee"] {top expand fill} 22 | 23 | proc color {which intensity} { 24 | global red green blue appName widget option 25 | set $which $intensity 26 | send $appName $widget config $option \ 27 | [format #%02x%02x%02x $red $green $blue] 28 | } 29 | 30 | bind . {destroy .} 31 | bind . {destroy .} 32 | focus . 33 | -------------------------------------------------------------------------------- /src/tk/library/demos/hello: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/wish -f 2 | # Simple Tk script to create a button that prints "Hello, world". 3 | # Click on the button to terminate the program. 4 | # 5 | # The first line below creates the button, and the second line 6 | # arranges for packer to manage the button's geometry, centering 7 | # it in the application's main window. 8 | 9 | button .hello -text "Hello, world" -command { 10 | puts stdout "Hello, world"; destroy . 11 | } 12 | pack append . .hello {top} 13 | -------------------------------------------------------------------------------- /src/tk/library/demos/mkButton.tcl: -------------------------------------------------------------------------------- 1 | # mkButton w 2 | # 3 | # Create a top-level window that displays a bunch of buttons. 4 | # 5 | # Arguments: 6 | # w - Name to use for new top-level window. 7 | 8 | proc mkButton {{w .b1}} { 9 | catch {destroy $w} 10 | toplevel $w 11 | dpos $w 12 | wm title $w "Button Demonstration" 13 | wm iconname $w "Buttons" 14 | message $w.msg -font -Adobe-times-medium-r-normal--*-180* -aspect 300 \ 15 | -text "Four buttons are displayed below. If you click on a button, it will change the background of the button area to the color indicated in the button. Click the \"OK\" button when you've seen enough." 16 | frame $w.frame -borderwidth 10 17 | pack append $w.frame \ 18 | [button $w.frame.b1 -text "Peach Puff" \ 19 | -command "$w.frame config -bg PeachPuff1"] {top pady 4 expand} \ 20 | [button $w.frame.b2 -text "Light Blue" \ 21 | -command "$w.frame config -bg LightBlue1"] {top pady 4 expand} \ 22 | [button $w.frame.b3 -text "Sea Green" \ 23 | -command "$w.frame config -bg SeaGreen2"] {top pady 4 expand} \ 24 | [button $w.frame.b4 -text "Yellow" \ 25 | -command "$w.frame config -bg Yellow1"] {top pady 4 expand} 26 | button $w.ok -text OK -command "destroy $w" 27 | 28 | pack append $w $w.msg {top fill} $w.frame {top expand fill} \ 29 | $w.ok {bottom fill} 30 | } 31 | -------------------------------------------------------------------------------- /src/tk/library/demos/mkHScale.tcl: -------------------------------------------------------------------------------- 1 | # mkHScale w 2 | # 3 | # Create a top-level window that displays a horizontal scale. 4 | # 5 | # Arguments: 6 | # w - Name to use for new top-level window. 7 | 8 | proc mkHScale {{w .scale2}} { 9 | catch {destroy $w} 10 | toplevel $w 11 | dpos $w 12 | wm title $w "Horizontal Scale Demonstration" 13 | wm iconname $w "Scale" 14 | message $w.msg -font -Adobe-times-medium-r-normal--*-180* -aspect 300 \ 15 | -text "A bar and a horizontal scale are displayed below. If you click or drag mouse button 1 in the scale, you can change the width of the bar. Click the \"OK\" button when you're finished." 16 | frame $w.frame -borderwidth 10 17 | pack append $w.frame \ 18 | [frame $w.frame.top -borderwidth 15] {top expand frame sw} \ 19 | [scale $w.frame.scale -orient horizontal -length 280 -from 0 -to 250 \ 20 | -command "setWidth $w.frame.top.inner" -tickinterval 50 \ 21 | -bg Bisque1] {bottom expand frame nw} 22 | pack append $w.frame.top \ 23 | [frame $w.frame.top.inner -geometry 20x40 -relief raised \ 24 | -borderwidth 2 -bg SteelBlue1] {expand frame sw} 25 | $w.frame.scale set 20 26 | button $w.ok -text OK -command "destroy $w" 27 | 28 | pack append $w $w.msg {top fill} $w.frame {top expand fill} \ 29 | $w.ok {bottom fill} 30 | } 31 | 32 | proc setWidth {w width} { 33 | $w config -geometry ${width}x40 34 | } 35 | -------------------------------------------------------------------------------- /src/tk/library/demos/mkLabel.tcl: -------------------------------------------------------------------------------- 1 | # mkLabel w 2 | # 3 | # Create a top-level window that displays a bunch of labels. 4 | # 5 | # Arguments: 6 | # w - Name to use for new top-level window. 7 | 8 | proc mkLabel {{w .l1}} { 9 | global tk_library 10 | catch {destroy $w} 11 | toplevel $w 12 | dpos $w 13 | wm title $w "Label Demonstration" 14 | wm iconname $w "Labels" 15 | message $w.msg -font -Adobe-times-medium-r-normal--*-180* -aspect 300 \ 16 | -text "Five labels are displayed below: three textual ones on the left, and a bitmap label and a text label on the right. Labels are pretty boring because you can't do anything with them. Click the \"OK\" button when you've seen enough." 17 | frame $w.frame -borderwidth 10 18 | pack append $w.frame \ 19 | [frame $w.frame.right -borderwidth 10] {right} \ 20 | [label $w.frame.l1 -text "First label"] {top frame w pady 4 expand} \ 21 | [label $w.frame.l2 -text "Second label, raised just for fun" \ 22 | -relief raised] {top frame w pady 4 expand} \ 23 | [label $w.frame.l3 -text "Third label, sunken" -relief sunken ] \ 24 | {top frame w pady 4 expand} 25 | pack append $w.frame.right \ 26 | [label $w.frame.right.bitmap -bitmap @$tk_library/demos/bitmaps/face \ 27 | -borderwidth 2 -relief sunken] top \ 28 | [label $w.frame.right.caption -text "Tcl/Tk Proprietor"] bottom 29 | button $w.ok -text OK -command "destroy $w" 30 | 31 | pack append $w $w.msg {top frame c} $w.frame {top expand fill} \ 32 | $w.ok {bottom fill} 33 | } 34 | -------------------------------------------------------------------------------- /src/tk/library/demos/mkTear.tcl: -------------------------------------------------------------------------------- 1 | # mkTear w 2 | # 3 | # Create a top-level window that displays a help message on tear-off 4 | # menus. 5 | # 6 | # Arguments: 7 | # w - Name to use for new top-level window. 8 | 9 | proc mkTear {{w .t1}} { 10 | catch {destroy $w} 11 | toplevel $w 12 | dpos $w 13 | wm title $w "Information On Tear-Off Menus" 14 | wm iconname $w "Info" 15 | message $w.msg -font -Adobe-times-medium-r-normal--*-180* -aspect 250 \ 16 | -text "To tear off a menu, press mouse button 2 over the menubutton for the menu, then drag the menu with button 2 held down. You can reposition a torn-off menu by pressing button 2 on it and dragging again. To unpost the menu, click mouse button 1 over the menu's menubutton. Click the \"OK\" button when you're finished with this window." 17 | button $w.ok -text OK -command "destroy $w" 18 | 19 | pack append $w $w.msg {top fill} $w.ok {bottom fill} 20 | } 21 | -------------------------------------------------------------------------------- /src/tk/library/demos/mkVScale.tcl: -------------------------------------------------------------------------------- 1 | # mkVScale w 2 | # 3 | # Create a top-level window that displays a vertical scale. 4 | # 5 | # Arguments: 6 | # w - Name to use for new top-level window. 7 | 8 | proc mkVScale {{w .scale1}} { 9 | catch {destroy $w} 10 | toplevel $w 11 | dpos $w 12 | wm title $w "Vertical Scale Demonstration" 13 | wm iconname $w "Scale" 14 | message $w.msg -font -Adobe-times-medium-r-normal--*-180* -aspect 300 \ 15 | -text "A bar and a vertical scale are displayed below. If you click or drag mouse button 1 in the scale, you can change the height of the bar. Click the \"OK\" button when you're finished." 16 | frame $w.frame -borderwidth 10 17 | pack append $w.frame \ 18 | [scale $w.frame.scale -orient vertical -length 280 -from 0 -to 250 \ 19 | -command "setHeight $w.frame.right.inner" -tickinterval 50 \ 20 | -bg Bisque1] {left expand frame ne} \ 21 | [frame $w.frame.right -borderwidth 15] {right expand frame nw} 22 | pack append $w.frame.right \ 23 | [frame $w.frame.right.inner -geometry 40x20 -relief raised \ 24 | -borderwidth 2 -bg SteelBlue1] {expand frame nw} 25 | $w.frame.scale set 20 26 | button $w.ok -text OK -command "destroy $w" 27 | 28 | pack append $w $w.msg {top fill} $w.frame {top expand fill} \ 29 | $w.ok {bottom fill} 30 | } 31 | 32 | proc setHeight {w height} { 33 | $w config -geometry 40x${height} 34 | } 35 | -------------------------------------------------------------------------------- /src/tk/library/demos/showVars.tcl: -------------------------------------------------------------------------------- 1 | # showVars w var var var ... 2 | # 3 | # Create a top-level window that displays a bunch of global variable values 4 | # and keeps the display up-to-date even when the variables change value 5 | # 6 | # Arguments: 7 | # w - Name to use for new top-level window. 8 | # var - Name of variable to monitor. 9 | 10 | proc showVars {w args} { 11 | catch {destroy $w} 12 | toplevel $w 13 | wm title $w "Variable values" 14 | label $w.title -text "Variable values:" -width 20 -anchor center \ 15 | -font -Adobe-helvetica-medium-r-normal--*-180* 16 | pack append $w $w.title {top fillx} 17 | foreach i $args { 18 | frame $w.$i 19 | label $w.$i.name -text "$i: " 20 | label $w.$i.value -textvar $i 21 | pack append $w.$i $w.$i.name left $w.$i.value left 22 | pack append $w $w.$i {top frame w} 23 | } 24 | button $w.ok -text OK -command "destroy $w" 25 | pack append $w $w.ok {bottom pady 2} 26 | } 27 | -------------------------------------------------------------------------------- /src/tk/library/demos/size: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/wish -f 2 | # 3 | # Simple script to change size of something in a window. 4 | 5 | if "$argc < 3" {error "Usage: size appName window option"} 6 | set appName [lindex $argv 0] 7 | set widget [lindex $argv 1] 8 | set option [lindex $argv 2] 9 | 10 | pack append . [scale .scale -command {send $appName $widget config $option} \ 11 | -label "Pixels" -length 250 \ 12 | -from 0 -to 100 -orient vertical] {top expand filly} 13 | 14 | bind . {destroy .} 15 | bind . {destroy .} 16 | focus . 17 | -------------------------------------------------------------------------------- /src/tk/library/demos/timer: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/wish -f 2 | # 3 | # This script generates a counter with start and stop buttons. 4 | 5 | label .counter -text 0.00 -relief raised -width 10 6 | button .start -text Start -command "set stop 0; tick" 7 | button .stop -text Stop -command {set stop 1} 8 | pack append . .counter {bot fill} .start {left expand fill} \ 9 | .stop {right expand fill} 10 | 11 | set seconds 0 12 | set hundredths 0 13 | set stop 0 14 | 15 | proc tick {} { 16 | global seconds hundredths stop 17 | if $stop return 18 | after 20 tick 19 | set hundredths [expr $hundredths+2] 20 | if {$hundredths >= 100} { 21 | set hundredths 0 22 | set seconds [expr $seconds+1] 23 | } 24 | .counter config -text [format "%d.%2d" $seconds $hundredths] 25 | } 26 | 27 | bind . {destroy .} 28 | bind . {destroy .} 29 | focus . 30 | -------------------------------------------------------------------------------- /src/tk/library/listbox.tcl: -------------------------------------------------------------------------------- 1 | # listbox.tcl -- 2 | # 3 | # This file contains Tcl procedures used to manage Tk listboxes. 4 | # 5 | # $Header: /user6/ouster/wish/scripts/RCS/listbox.tcl,v 1.2 92/06/03 15:21:28 ouster Exp $ SPRITE (Berkeley) 6 | # 7 | # Copyright 1992 Regents of the University of California 8 | # Permission to use, copy, modify, and distribute this 9 | # software and its documentation for any purpose and without 10 | # fee is hereby granted, provided that this copyright 11 | # notice appears in all copies. The University of California 12 | # makes no representations about the suitability of this 13 | # software for any purpose. It is provided "as is" without 14 | # express or implied warranty. 15 | # 16 | 17 | # The procedure below may be invoked to change the behavior of 18 | # listboxes so that only a single item may be selected at once. 19 | # The arguments give one or more windows whose behavior should 20 | # be changed; if one of the arguments is "Listbox" then the default 21 | # behavior is changed for all listboxes. 22 | 23 | proc tk_listboxSingleSelect args { 24 | foreach w $args { 25 | bind $w {%W select from [%W nearest %y]} 26 | bind $w {%W select from [%W nearest %y]} 27 | bind $w {%W select from [%W nearest %y]} 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/tk/library/tclindex: -------------------------------------------------------------------------------- 1 | # Tcl autoload index file: each line identifies a Tcl 2 | # procedure and the file where that procedure is 3 | # defined. Generated by the "auto_mkindex" command. 4 | 5 | tk_entryBackspace entry.tcl 6 | tk_entryBackword entry.tcl 7 | tk_entrySeeCaret entry.tcl 8 | tk_butEnter button.tcl 9 | tk_butLeave button.tcl 10 | tk_butDown button.tcl 11 | tk_butUp button.tcl 12 | tk_menus menu.tcl 13 | tk_bindForTraversal menu.tcl 14 | tk_mbPost menu.tcl 15 | tk_mbUnpost menu.tcl 16 | tk_traverseToMenu menu.tcl 17 | tk_traverseWithinMenu menu.tcl 18 | tk_getMenuButtons menu.tcl 19 | tk_nextMenu menu.tcl 20 | tk_nextMenuEntry menu.tcl 21 | tk_invokeMenu menu.tcl 22 | tk_firstMenu menu.tcl 23 | tk_textSelectTo text.tcl 24 | tk_textBackspace text.tcl 25 | tk_textIndexCloser text.tcl 26 | tk_textResetAnchor text.tcl 27 | tkerror tkerror.tcl 28 | tk_listboxSingleSelect listbox.tcl 29 | -------------------------------------------------------------------------------- /src/tk/library/tkerror.tcl: -------------------------------------------------------------------------------- 1 | # This file contains a default version of the tkError procedure. It 2 | # just prints out a stack trace. 3 | 4 | proc tkerror err { 5 | global errorInfo 6 | puts stdout "$errorInfo" 7 | } 8 | -------------------------------------------------------------------------------- /src/tk/library/wish.tcl: -------------------------------------------------------------------------------- 1 | # wish.tcl -- 2 | # 3 | # This script is invoked by the "wish" program whenever it starts up. 4 | # It invokes initialization scripts for Tcl and Tk, then does a few 5 | # wish-specific things like setting the window geometry, if one was 6 | # specified. 7 | # 8 | # $Header: /user6/ouster/wish/scripts/RCS/wish.tcl,v 1.1 92/03/06 09:40:56 ouster Exp $ SPRITE (Berkeley) 9 | # 10 | # Copyright 1992 Regents of the University of California 11 | # Permission to use, copy, modify, and distribute this 12 | # software and its documentation for any purpose and without 13 | # fee is hereby granted, provided that this copyright 14 | # notice appears in all copies. The University of California 15 | # makes no representations about the suitability of this 16 | # software for any purpose. It is provided "as is" without 17 | # express or implied warranty. 18 | # 19 | 20 | source [info library]/init.tcl 21 | source $tk_library/tk.tcl 22 | 23 | if [info exists geometry] { 24 | wm geometry . $geometry 25 | } 26 | -------------------------------------------------------------------------------- /src/tk/tkwm.h: -------------------------------------------------------------------------------- 1 | /* these are just in a sereate file to make it easier to merge into 2 | * the stock tkWm.c */ 3 | 4 | void TkWmSetWmProtocols _ANSI_ARGS_(( 5 | TkWindow *winPtr 6 | )); 7 | void TkWmProtocolEventProc _ANSI_ARGS_(( 8 | TkWindow *winPtr, 9 | XEvent *eventPtr 10 | )); 11 | int WmProtocolCmd _ANSI_ARGS_(( 12 | Tcl_Interp *interp, 13 | char **CmdPtr, 14 | int argc, 15 | char **argv 16 | )); 17 | --------------------------------------------------------------------------------