Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
games
krank
krank-0.7-fullscreen.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File krank-0.7-fullscreen.patch of Package krank
--- src/Config.py 2008-06-17 13:32:42.000000000 +0000 +++ src/Config.py 2008-06-17 13:35:44.000000000 +0000 @@ -24,6 +24,7 @@ self['stageTime'] = [0,0,0,0] self['totalSolved'] = [0,0,0,0] self.stage = 1 + self.fullscreen = 0 k.config = self --- src/Main.py 2008-06-17 13:32:42.000000000 +0000 +++ src/Main.py 2008-06-17 13:36:34.000000000 +0000 @@ -17,15 +17,17 @@ k.debug = 0 startlevel = k.debug and 24 startstage = 1 -fullscreen = not k.debug or 0 pygame.init() pygame.font.init() Config() +fullscreen = k.config.fullscreen + if k.debug: k.config.stage = startstage + fullscreen = 0 #------------------------------------------------------------------------------------------- --- src/World.py 2008-07-28 20:32:09.000000000 +0200 +++ src/World.py 2008-07-28 23:37:22.000000000 +0200 @@ -39,6 +39,7 @@ def initScreen (self, size, flags): k.screen = pygame.display.set_mode(size, flags) self.rect = pygame.Rect(0, 0, size[0], size[1]) + self.screen_flags = flags self.postInit() #------------------------------------------------------------------------------------------- @@ -46,7 +47,7 @@ if size <> self.rect.size: self.image = None k.sound.play('exit') - k.screen = pygame.display.set_mode(size, pygame.FULLSCREEN) + k.screen = pygame.display.set_mode(size, self.screen_flags) self.rect = pygame.Rect(0, 0, size[0], size[1]) self.postInit() Level('menu_screen') --- src/Config.py 2009-03-12 13:49:34.000000000 +0300 +++ src/Config.py 2009-03-12 14:49:33.000000000 +0300 @@ -98,6 +98,8 @@ self['music_volume'] = k.sound.musicVolume self['sound_volume'] = k.sound.soundVolume self['screen'] = k.world.rect.size + self['stage'] = k.config.stage + self['fullscreen'] = k.config.fullscreen try: config_file = self.getConfigFilePath() log('writing config to', config_file, log='config') @@ -116,6 +117,7 @@ file = open(config_file, 'r') self.update(cPickle.load(file)) self.stage = self['stage'] + k.config.fullscreen=self['fullscreen'] while len(self['scores']) < 4: self['scores'].append([]) log(self, log='config') except Exception, e: --- src/Main.py 2009-03-12 13:49:34.000000000 +0300 +++ src/Main.py 2009-03-12 14:52:10.000000000 +0300 @@ -58,7 +58,11 @@ width, height = modes[0] flags = pygame.FULLSCREEN else: - width, height, flags = 800, 600, pygame.RESIZABLE + if k.config['screen']: + width, height = k.config['screen'] + else: + width, height=800, 600 + flags = pygame.RESIZABLE k.clock = pygame.time.Clock() --- src/World.py 2009-03-12 13:49:34.000000000 +0300 +++ src/World.py 2009-03-12 15:04:07.000000000 +0300 @@ -53,6 +53,29 @@ Level('menu_screen') k.screen.blit(k.world.image, k.screen.get_rect()) pygame.display.flip() + + #------------------------------------------------------------------------------------------- + def toggleFullscreen(self): + if k.config.fullscreen: + sx,sy=k.world.rect.size + k.config.fullscreen = 0 + k.screen = pygame.display.set_mode((sx, sy), pygame.RESIZABLE); + self.rect = pygame.Rect(0, 0, sx, sy) + self.screen_flags = pygame.RESIZABLE + self.postInit() + Level('menu_screen') + k.screen.blit(k.world.image, k.screen.get_rect()) + pygame.display.flip() + else: + sx,sy=k.world.rect.size + k.config.fullscreen = 1 + k.screen = pygame.display.set_mode((sx, sy), pygame.FULLSCREEN); + self.rect = pygame.Rect(0, 0, sx, sy) + self.screen_flags = pygame.FULLSCREEN + self.postInit() + Level('menu_screen') + k.screen.blit(k.world.image, k.screen.get_rect()) + pygame.display.flip() #------------------------------------------------------------------------------------------- # fonts --- levels/menu_screen.py 2009-03-12 13:49:34.000000000 +0300 +++ levels/menu_screen.py 2009-03-12 14:41:19.000000000 +0300 @@ -17,7 +17,13 @@ 'align': 'bottom', 'action': 'k.config.save() or k.level.menuExit()', 'size': 'small', - 'pos': pos(cx, h*7/8)})) + 'pos': pos(cx-cx/3, h*7/8)})) + + k.particles.add(Switch({ 'text': 'Fullscreen', + 'align': 'bottom', + 'action': 'k.world.toggleFullscreen()', + 'size': 'small', + 'pos': pos(cx+cx/3, h*7/8)})) modes = pygame.display.list_modes(32, pygame.FULLSCREEN) modes = [m for m in modes if (m[1] >= 600)] set = sets.Set() @@ -28,7 +34,7 @@ m = modes[i] active = m==k.world.rect.size dirvec = vector.withAngle(-(i+1)*2*math.pi/(len(modes)+1)+math.pi/2, h*5/12) - dirvec.y *= 0.8 + dirvec.y *= 0.6 k.particles.add(Switch({ 'text': "%dx%d" % m, 'size': 'small', 'align': 'bottom', --- src/Config.py 2009-03-13 11:17:07.000000000 +0300 +++ src/Config.py 2009-03-13 11:43:17.000000000 +0300 @@ -1,6 +1,7 @@ # # Config.py +import getopt, sys import k, levels from Krank import * @@ -30,6 +31,36 @@ self.load() + try: + opts, args = getopt.getopt(sys.argv[1:], 'whfs:') + except getopt.GetoptError, err: + print str(err) + self.usage_exit(-1) + + for o, a in opts: + if o == '-h': self.usage_exit(0) + if o == '-w': self.fullscreen = 0 + if o == '-f': self.fullscreen = 1 + if o == '-s': + try: + w,h=a.split('x', 2) + self['screen']=int(w),int(h) + except ValueError, err: + print "Invalid screen size:", a, "\n\t", str(err) + self.usage_exit(-1) + + #------------------------------------------------------------------------------------------- + def usage_exit(self, retcode): + print "Usage:" + print "\tkrank -h for display this screen" + print "\tkrank -f for start in fullscreen mode" + print "\tkrank -w for start in windowed mode" + print "\tkrank -s WxH for start in screen (-f or -w) with defined size" + print "\nexamples:" + print "\tkrank -f -s 800x600" + print "\tkrank -w -s 921x652" + sys.exit(retcode) + #------------------------------------------------------------------------------------------- def score (self, level): si = k.level.isBonus() and 4 or self.stage-1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor