]> git.zerfleddert.de Git - micropolis/blobdiff - res/micropolis.tcl
begin suppport for smaller screens, currently just prints a warning
[micropolis] / res / micropolis.tcl
index 6c6c03a82b50775fb12b949039dca34bd3942a31..dbf431292675800a735c160ab8d193d6341bdf16 100644 (file)
@@ -174,8 +174,10 @@ set NoticePanelHeight 250
 set SplashPanelWidth 1200
 set SplashPanelHeight 900
 
-set ScenarioPanelWidth 420
-set ScenarioPanelHeight 440
+#set ScenarioPanelWidth 420
+#set ScenarioPanelHeight 440
+set ScenarioPanelWidth 1200
+set ScenarioPanelHeight 900
 
 set SugarURI ""
 set SugarNickName ""
@@ -204,7 +206,7 @@ set SubWindows {
 #   0           1               2               3       4         5   6   7   8         9       10   11       12      13
 #   type       id              callback        param   var       x   y   w   h         normal  over disabled checked checkedover
 #   ----------- --------------- --------------- ------- ------- --- --- --- ---         ------- ---- -------- ------- -----------
-set ScenarioButtons {
+set ScenarioButtons1200x900 {
   { button     load            DoLoad          ""      ""       70 238 157  90         ""      @images/button1hilite.xpm "" }
   { button     generate        DoGenerate      ""      ""       62 392 157  90         ""      @images/button2hilite.xpm "" }
   { button     quit            DoQuit          ""      ""       68 544 157  90         ""      @images/button3hilite.xpm "" }
@@ -225,6 +227,17 @@ set ScenarioButtons {
   { button     scenario8       DoPickScenario  "6"     ""      937 638 209 188         ""      @images/scenario8hilite.xpm "" }
 }
 
+set ScenarioButtons $ScenarioButtons1200x900
+set ScenarioBackground "@images/background-micropolis.xpm"
+
+set screenwidth [winfo screenwidth .]
+set screenheight [winfo screenheight .]
+
+if {($screenwidth < $ScenarioPanelWidth) ||
+    ($screenheight < $ScenarioPanelHeight)} {
+       puts stderr "WARNING: Screen too small for scenario window, no matching images available.\n"
+}
+
 # Disabled until we handle mouse events on the map itself.
 #   { button   map             DoMap           ""      ""      516  30 396 338         ""      @images/maphilite.xpm }
 
@@ -416,6 +429,10 @@ set FontPath "[pwd]/res/dejavu-lgc"
 system "xset -fp \"$FontPath\" >/dev/null 2>&1"
 system "xset +fp \"$FontPath\" >/dev/null 2>&1"
 
+# Ignore SIGCHLD for spawned sound-player childs, this should lead to them
+# being reaped by init
+signal ignore SIGCHLD
+
 
 ########################################################################
 # Messages
@@ -938,21 +955,11 @@ proc UISetChannelVolume {win chan vol} {
 
 
 proc EchoPlaySound {soundspec} {
-  # Temporary workaround to tell Python Sugar app to play sound.
-  global Sound ResourceDir
-  if {$Sound} {
-    #echo PlaySound [lindex $soundspec 0]
-    signal ignore SIGCHLD
-    exec "${ResourceDir}/sounds/player" "${ResourceDir}/sounds/[string tolower [lindex $soundspec 0]].wav" &
-  }
 }
 
 
 proc UIMakeSoundOn {win chan sound {opts ""}} {
-  # Send message to Python to play sound.
-  EchoPlaySound $sound
-
-  #UIDoSoundOn $win "play $sound -replay -channel $chan $opts"
+  playsound $chan $sound $opts
 }
 
 
@@ -964,16 +971,8 @@ proc UIStartSoundOn {win chan sound {opts ""}} {
 }
 
 
-proc UIStopSoundOn {win chan sound {opts ""}} {
-  UIDoSoundOn $win "stop $sound"
-}
-
-
 proc UIMakeSound {chan sound {opts ""}} {
-  # Send message to Python to play sound.
-  EchoPlaySound $sound
-
-  #UIDoSound "sound play $sound -replay -channel $chan $opts"
+  playsound $chan $sound $opts
 }
 
 
@@ -985,11 +984,6 @@ proc UIStartSound {chan sound {opts ""}} {
 }
 
 
-proc UIStopSound {chan sound {opts ""}} {
-  UIDoSound "sound stop $sound"
-}
-
-
 proc SetupSoundServer {win} {
   AddSoundServer $win
 }
@@ -2537,7 +2531,7 @@ proc EditorToolUp {w x y} {
 
   case [$w ToolState] in \
     7 { # bulldozer
-     UIStopSoundOn $w edit 1
+      stopdozer
     } \
     10 { # chalk
       StopChalk $w
Impressum, Datenschutz