Revision: 314
Author: timwintle
Date: Sun Nov 15 04:33:36 2009
Log: Merging Kreeziis changes from March into trunk (sorry for the massive
delay)
http://code.google.com/p/game-baker/source/detail?r=314
Modified:
/trunk/trunk/GUI/gamebaker.glade/gamebaker.glade
/trunk/trunk/GUI/main_window_events.py
/trunk/trunk/game.py
/trunk/trunk/runtime/__init__.py
/trunk/trunk/runtime/script_objects.py
=======================================
--- /trunk/trunk/GUI/gamebaker.glade/gamebaker.glade Sun Mar 8 15:02:00
2009
+++ /trunk/trunk/GUI/gamebaker.glade/gamebaker.glade Sun Nov 15 04:33:36
2009
@@ -968,7 +968,7 @@
<property name="visible">True</property>
</widget>
<packing>
- <property name="x">263</property>
+ <property name="x">256</property>
<property name="y">40</property>
</packing>
</child>
@@ -1017,7 +1017,7 @@
</child>
</widget>
<packing>
- <property name="x">135</property>
+ <property name="x">128</property>
<property name="y">40</property>
</packing>
</child>
@@ -1066,7 +1066,7 @@
</child>
</widget>
<packing>
- <property name="x">278</property>
+ <property name="x">272</property>
<property name="y">40</property>
</packing>
</child>
@@ -1083,7 +1083,7 @@
</child>
<child>
<widget class="GtkButton" id="button2">
- <property name="width_request">125</property>
+ <property name="width_request">117</property>
<property name="height_request">32</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -2735,23 +2735,7 @@
<signal name="clicked" handler="on_btn_sound_ok_clicked"/>
</widget>
<packing>
- <property name="x">14</property>
- <property name="y">178</property>
- </packing>
- </child>
- <child>
- <widget class="GtkCheckButton" id="chkloopsnd">
- <property name="width_request">110</property>
- <property name="height_request">29</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Loop
Sound</property>
- <property name="use_underline">True</property>
- <property name="response_id">0</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="x">12</property>
+ <property name="x">10</property>
<property name="y">128</property>
</packing>
</child>
=======================================
--- /trunk/trunk/GUI/main_window_events.py Sat Mar 7 06:44:29 2009
+++ /trunk/trunk/GUI/main_window_events.py Sun Nov 15 04:33:36 2009
@@ -408,11 +408,6 @@
else:
self.selectedsound.soundfile=None
- loopsound=self.get_widget("chkloopsnd").get_active()
- if loopsound == True:
- self.selectedsound.loop=True
- else:
- self.selectedsound.loop=False
self.get_widget("wnd_sound").hide()
def workstate_cancel(self,widget=None):
@@ -608,10 +603,6 @@
else:
self.get_widget("txt_sound_file").set_text("")
- if obj.loop:
- self.get_widget("chkloopsnd").set_active(True)
- else:
- self.get_widget("chkloopsnd").set_active(False)
elif obj.objtype == "Gamescreen":
self.get_widget("wnd_gamescreen").show()
=======================================
--- /trunk/trunk/game.py Tue Feb 17 06:37:55 2009
+++ /trunk/trunk/game.py Sun Nov 15 04:33:36 2009
@@ -1,3 +1,4 @@
+# -*- coding: iso-8859-1 -*-
"""game.py - game definition classes - these classes hold the entire
game definition. All runtime data is NOT stored in instances of
these classes."""
@@ -96,5 +97,4 @@
self.objtype="Sound"
self.name=name
self.soundfile = None
- self.loop = False
pass
=======================================
--- /trunk/trunk/runtime/__init__.py Sat Mar 7 08:49:58 2009
+++ /trunk/trunk/runtime/__init__.py Sun Nov 15 04:33:36 2009
@@ -1,3 +1,4 @@
+# -*- coding: iso-8859-1 -*-
import pygame, time
from pygame.locals import *
import pygame.locals as pygamelocals
@@ -50,9 +51,10 @@
else:
return
RunGameScreen(screen,game,game.gamescreens[name],scriptvars,scriptglobals)
+ pygame.mixer.init()
self.gamesounds = {}
for a in game.sounds:
- self.gamesounds[a] =
script_objects.script_sounds(game.sounds[a].soundfile,game.sounds[a].loop)
+ self.gamesounds[a] =
pygame.mixer.Sound(game.sounds[a].soundfile)
scriptvar = scriptgame(game, self.save_game,self.gamesounds)
self.scriptgame = scriptvar
@@ -175,10 +177,6 @@
pygame.quit()
-
- #Stop all sounds
- for a in game.sounds:
- self.gamesounds[a].delete_sound()
=======================================
--- /trunk/trunk/runtime/script_objects.py Sat Mar 7 08:49:58 2009
+++ /trunk/trunk/runtime/script_objects.py Sun Nov 15 04:33:36 2009
@@ -1,3 +1,4 @@
+# -*- coding: iso-8859-1 -*-
import paths
import pygame, time,math
from pygame.locals import *
@@ -9,13 +10,6 @@
import sys
import threading
-sound_available=None
-try:
- import ao
- import ogg.vorbis
- sound_available = "ao"
-except:
- pass
"""
******************************************
script objects:
@@ -39,6 +33,7 @@
# at runtime
self.save_game = save_game
self.gamesounds = gamesounds
+ self.music_background = pygame.mixer.music
pass
def change_game_screen(self,gs,savestate=False):
@@ -478,62 +473,3 @@
get_pos = __mouse.get_pos
get_rel = __mouse.get_rel
set_pos = __mouse.set_pos
-
-class script_sounds(threading.Thread):
- def __init__(self, songtitle, loop, device_type="oss"):
- if sound_available is None:
- return
-
- threading.Thread.__init__(self)
- try:
- self.mf = ogg.vorbis.VorbisFile(songtitle)
- except IOError:
- self.mf = None
-
- if not self.mf is None:
-
self.info =
self.mf.info()
-
self.dev = ao.AudioDevice(device_type, rate=self.info.rate)
-
self.play = True
- else:
-
self.play = False
-
- self.loop = loop
- self.paused = False
- self.started = False
-
- def run(self):
- if sound_available is None:
- return
-
- while
self.play:
- if self.paused == False:
- (buf, bytes, bit) = self.mf.read(4096)
- if bytes is 0:
- if self.loop == True:
- self.mf.time_seek(0)
- else:
- self.stop_sound()
-
self.dev.play(buf, bytes)
-
- def stop_sound(self):
- if sound_available is None:
- return
-
- if
self.play:
- self.mf.time_seek(0)
- self.paused = True
-
- def play_sound(self):
- if sound_available is None:
- return
-
- if
self.play:
- if self.started is False:
- self.start()
- self.started = True
- else:
- if self.paused is True:
- self.paused = False
-
- def delete_sound(self):
-
self.play = False