You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(5) |
Dec
(2) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(4) |
Feb
(5) |
Mar
(56) |
Apr
(110) |
May
(187) |
Jun
(317) |
Jul
(280) |
Aug
(191) |
Sep
(42) |
Oct
(104) |
Nov
(123) |
Dec
(80) |
2002 |
Jan
(281) |
Feb
(251) |
Mar
(238) |
Apr
(70) |
May
(118) |
Jun
(117) |
Jul
(74) |
Aug
(104) |
Sep
(42) |
Oct
(36) |
Nov
(60) |
Dec
(60) |
2003 |
Jan
(183) |
Feb
(45) |
Mar
(111) |
Apr
(89) |
May
(38) |
Jun
(37) |
Jul
(14) |
Aug
(31) |
Sep
(37) |
Oct
(87) |
Nov
(179) |
Dec
(93) |
2004 |
Jan
(32) |
Feb
(31) |
Mar
(1) |
Apr
(5) |
May
(76) |
Jun
(20) |
Jul
(4) |
Aug
(9) |
Sep
|
Oct
(5) |
Nov
(5) |
Dec
(30) |
2005 |
Jan
(33) |
Feb
(30) |
Mar
(41) |
Apr
(20) |
May
(73) |
Jun
(33) |
Jul
(151) |
Aug
(104) |
Sep
(76) |
Oct
(34) |
Nov
(86) |
Dec
(151) |
2006 |
Jan
(136) |
Feb
(39) |
Mar
(17) |
Apr
(18) |
May
(62) |
Jun
(92) |
Jul
(13) |
Aug
(15) |
Sep
(47) |
Oct
(207) |
Nov
(217) |
Dec
(48) |
2007 |
Jan
(66) |
Feb
(199) |
Mar
(130) |
Apr
(90) |
May
(70) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Digital X. <dig...@us...> - 2007-03-21 15:39:09
|
Update of /cvsroot/openrpg/openrpg1/orpg In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv25900/orpg Modified Files: orpg_version.py Log Message: Index: orpg_version.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/orpg_version.py,v retrieving revision 1.111 retrieving revision 1.112 diff -C2 -d -r1.111 -r1.112 *** orpg_version.py 19 Mar 2007 02:43:06 -0000 1.111 --- orpg_version.py 21 Mar 2007 15:39:04 -0000 1.112 *************** *** 3,7 **** #BUILD NUMBER FORMAT: "YYMMDD-##" where ## is the incremental daily build index (if needed) ! BUILD = "070318-00" --- 3,7 ---- #BUILD NUMBER FORMAT: "YYMMDD-##" where ## is the incremental daily build index (if needed) ! BUILD = "070321-00" |
From: Digital X. <dig...@us...> - 2007-03-21 15:33:28
|
Update of /cvsroot/openrpg/openrpg1 In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv23728 Added Files: rollback.py Log Message: Added code to support rolling back an update --- NEW FILE: rollback.py --- from orpg.orpg_wx import * import traceback import md5 import os from string import * from os.path import join, getsize import orpg.dirpath class myFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self, None, wx.ID_ANY, "Update Rollback Tool", style=wx.FRAME_NO_TASKBAR | wx.STAY_ON_TOP | wx.DEFAULT_FRAME_STYLE) self.SetBackgroundColour(wx.WHITE) self.Freeze() sizer = wx.BoxSizer(wx.VERTICAL) self.filelist = wx.TextCtrl(self, wx.ID_ANY, size=(300,400), style=wx.TE_MULTILINE | wx.TE_READONLY) self.rollbackBtn = wx.Button(self, wx.ID_ANY, "Roll Back") self.Bind(wx.EVT_BUTTON, self.OnRollback, self.rollbackBtn) sizer.Add(self.filelist, 1, wx.EXPAND) sizer.Add(self.rollbackBtn, 0, wx.EXPAND) self.SetSizer(sizer) self.SetAutoLayout(True) self.Fit() self.files = [] self.CheckRollback() self.Thaw() def CheckRollback(self): for root, dirs, files in os.walk(orpg.dirpath.dir_struct["home"]): for name in files: if name.find('.rollback') != -1: wx.Yield() filename = root + os.sep + name self.files.append(filename) self.filelist.Value = name.replace('.rollback', '') + "\n" + self.filelist.Value def OnRollback(self, evt): for file in self.files: os.remove(file.replace('.rollback', '')) os.rename(file, file.replace('.rollback', '')) self.Close() class BlankApp(wx.App): def OnInit(self): self.frame = myFrame() self.frame.Show() self.SetTopWindow(self.frame) return True if __name__ == "__main__": app = BlankApp(0) app.MainLoop() |
From: Digital X. <dig...@us...> - 2007-03-21 15:26:52
|
Update of /cvsroot/openrpg/openrpg1/orpg/tools In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv20629/orpg/tools Modified Files: updater.py Log Message: Added code to support rolling back an update Index: updater.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/tools/updater.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** updater.py 11 Feb 2007 00:48:40 -0000 1.8 --- updater.py 21 Mar 2007 15:26:49 -0000 1.9 *************** *** 211,214 **** --- 211,219 ---- self.log.log("Starting Update Proccess!", ORPG_DEBUG) + for root, dirs, files in os.walk(self.dir_struct["home"]): + for name in files: + if name.find('.rollback') != -1: + filename = root + os.sep + name + os.remove(filename) i = 1 *************** *** 244,247 **** --- 249,262 ---- self.log.log("Downloaded filename: " + file_name + "\n\tDownloaded Checksum:\t" + checksum.hexdigest(), ORPG_DEBUG) + try: + os.remove(abs_path + '.rollback') + except: + pass + + try: + os.rename(abs_path, abs_path + '.rollback') + except: + pass + if read_type == 'rb': file = open(abs_path, 'wb') |
From: Digital X. <dig...@us...> - 2007-03-21 14:35:44
|
Update of /cvsroot/openrpg/openrpg1/orpg/gametree/nodehandlers In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv31631/orpg/gametree/nodehandlers Modified Files: Tag: BRANCH-1-7-1 containers.py core.py Log Message: Removed the MinSize enforcement from Spliter nodes Fixed a bug that prevented tree icons from being changed Index: containers.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/gametree/nodehandlers/containers.py,v retrieving revision 1.40 retrieving revision 1.40.2.1 diff -C2 -d -r1.40 -r1.40.2.1 *** containers.py 14 Nov 2006 11:04:37 -0000 1.40 --- containers.py 21 Mar 2007 14:35:40 -0000 1.40.2.1 *************** *** 318,322 **** tmp = obj.get_use_panel(self.splitter) - tmp.SetMinSize(tmp.GetBestSize()) if self.split == '1': sash = tmp.GetBestSize()[1]+1 --- 318,321 ---- Index: core.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/gametree/nodehandlers/core.py,v retrieving revision 1.43 retrieving revision 1.43.2.1 diff -C2 -d -r1.43 -r1.43.2.1 *** core.py 3 Feb 2007 14:32:47 -0000 1.43 --- core.py 21 Mar 2007 14:35:41 -0000 1.43.2.1 *************** *** 267,271 **** self.master_dom.setAttribute("icon",icon) self.tree.SetItemImage(self.mytree_node,self.tree.icons[icon]) ! self.tree.SetItemSelectedImage(self.mytree_node,self.tree.icons[icon]) def on_save(self,evt): --- 267,271 ---- self.master_dom.setAttribute("icon",icon) self.tree.SetItemImage(self.mytree_node,self.tree.icons[icon]) ! self.tree.SetItemImage(self.mytree_node,self.tree.icons[icon], wx.TreeItemIcon_Selected) def on_save(self,evt): |
From: Digital X. <dig...@us...> - 2007-03-21 14:34:49
|
Update of /cvsroot/openrpg/openrpg1/orpg/gametree/nodehandlers In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv31196/orpg/gametree/nodehandlers Modified Files: containers.py core.py Log Message: Removed the MinSize enforcement from Spliter nodes Index: containers.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/gametree/nodehandlers/containers.py,v retrieving revision 1.41 retrieving revision 1.42 diff -C2 -d -r1.41 -r1.42 *** containers.py 21 Feb 2007 16:00:27 -0000 1.41 --- containers.py 21 Mar 2007 14:34:27 -0000 1.42 *************** *** 318,322 **** tmp = obj.get_use_panel(self.splitter) - tmp.SetMinSize(tmp.GetBestSize()) if self.split == '1': sash = tmp.GetBestSize()[1]+1 --- 318,321 ---- Index: core.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/gametree/nodehandlers/core.py,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** core.py 19 Mar 2007 02:42:34 -0000 1.45 --- core.py 21 Mar 2007 14:34:27 -0000 1.46 *************** *** 124,130 **** self.myeditor = wx.Frame(None, -1, title) self.myeditor.Freeze() - self.myeditor.SetSize((400,400)) if wx.Platform == '__WXMSW__': ! icon = wx.Icon(orpg.dirpath.dir_struct["icon"]+'grid.ico', wx.BITMAP_TYPE_ICO) self.myeditor.SetIcon(icon) del icon --- 124,129 ---- self.myeditor = wx.Frame(None, -1, title) self.myeditor.Freeze() if wx.Platform == '__WXMSW__': ! icon = wx.Icon(orpg.dirpath.dir_struct["icon"] + 'grid.ico', wx.BITMAP_TYPE_ICO) self.myeditor.SetIcon(icon) del icon *************** *** 139,143 **** self.myeditor.SetSizer(sizer) self.myeditor.SetAutoLayout(True) - self.myeditor.Layout() (x, y) = self.myeditor.GetSize() --- 138,141 ---- *************** *** 171,177 **** self.mywindow = wx.Frame(None, -1, caption) self.mywindow.Freeze() ! #self.mywindow.SetSize((400,400)) if wx.Platform == '__WXMSW__': ! icon = wx.Icon(orpg.dirpath.dir_struct["icon"]+'note.ico', wx.BITMAP_TYPE_ICO) self.mywindow.SetIcon(icon) del icon --- 169,175 ---- self.mywindow = wx.Frame(None, -1, caption) self.mywindow.Freeze() ! if wx.Platform == '__WXMSW__': ! icon = wx.Icon(orpg.dirpath.dir_struct["icon"] + 'note.ico', wx.BITMAP_TYPE_ICO) self.mywindow.SetIcon(icon) del icon *************** *** 185,189 **** self.mywindow.SetSizer(sizer) self.mywindow.SetAutoLayout(True) - self.mywindow.Layout() (x, y) = self.mywindow.GetSize() --- 183,186 ---- *************** *** 207,211 **** self.myviewer = wx.Frame(None, -1, caption) if wx.Platform == '__WXMSW__': ! icon = wx.Icon(orpg.dirpath.dir_struct["icon"]+'grid.ico', wx.BITMAP_TYPE_ICO) self.myviewer.SetIcon(icon) del icon --- 204,208 ---- self.myviewer = wx.Frame(None, -1, caption) if wx.Platform == '__WXMSW__': ! icon = wx.Icon(orpg.dirpath.dir_struct["icon"] + 'grid.ico', wx.BITMAP_TYPE_ICO) self.myviewer.SetIcon(icon) del icon |
From: Digital X. <dig...@us...> - 2007-03-21 14:18:17
|
Update of /cvsroot/openrpg/openrpg1/plugins In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv23756/plugins Modified Files: xxnamesound.py Added Files: xxheroinit.py Log Message: Added the ability for the Name Sound plugin to also play a sound for incoming whispers Added the ability to specify the sound file for the namesound plugin Added the Hero Init Plugin --- NEW FILE: xxheroinit.py --- import os import orpg.pluginhandler class Plugin(orpg.pluginhandler.PluginHandler): # Initialization subroutine. # # !self : instance of self # !openrpg : instance of the the base openrpg control def __init__(self, openrpg, plugindb, parent): orpg.pluginhandler.PluginHandler.__init__(self, openrpg, plugindb, parent) # The Following code should be edited to contain the proper information self.name = 'Hero Turn Tool' self.author = 'Heroman, based on xxxinit.py' self.help = """This is the Hero Games turn turn. It is a bit more complex than other games.""" def plugin_enabled(self): #You can add new /commands like # self.plugin_addcommand(cmd, function, helptext) self.plugin_addcommand('/hinit', self.on_hinit, '- Toggle Init Recording on or off') self.plugin_addcommand('/hhelp', self.on_hhelp, '- List all of the Hero Init Commands') self.plugin_addcommand('/hstart', self.on_hstart, '- Start the Hero Init Tool', False) self.plugin_addcommand('/hact', self.on_hact, '- Start the Hero Init Tool', False) self.plugin_addcommand('/hseg', self.on_hseg, '- Start the Hero Init Tool', False) self.plugin_addcommand('/hdex', self.on_hdex, '- Start the Hero Init Tool', False) self.plugin_addcommand('/hclear', self.on_hclear, '- Start the Hero Init Tool', False) self.plugin_addcommand('/hadd', self.on_hadd, '- Start the Hero Init Tool', False) self.plugin_addcommand('/hdel', self.on_hdel, '- Start the Hero Init Tool', False) self.plugin_addcommand('/hown', self.on_hown, '- Start the Hero Init Tool', False) self.plugin_addcommand('/hlist', self.on_hlist, '- Start the Hero Init Tool', False) self.plugin_addcommand('/hsort', self.on_hsort, '- Start the Hero Init Tool', False) self.plugin_addcommand('/hrun', self.on_hrun, '- Start the Hero Init Tool', False) self.plugin_addcommand('/hchange', self.on_hchange, '- Start the Hero Init Tool', False) self.plugin_addcommand('/hset', self.on_hset, '- Start the Hero Init Tool', False) self.plugin_addcommand('/hchange', self.on_hchange, '- Start the Hero Init Tool', False) #If you want your plugin to have more then one way to call the same function you can #use self.plugin_commandalias(alias name, command name) #You can also make shortcut commands like the following self.plugin_commandalias('/hlow', '/hsort low', False) self.plugin_commandalias('/hsortlow', '/hsort low', False) self.plugin_commandalias('/hhigh', '/hsort high', False) self.plugin_commandalias('/hsorthigh', '/hsort high', False) self.plugin_commandalias('/hreverse', '/hsort high', False) self.plugin_commandalias('/hgo', '/hrun', False) #This is where you set any variables that need to be initalized when your plugin starts self.toggle = True self.init_list = [] self.backup_list = [] self.dexterity = 99 self.segment = 12 self.state_strings = ["0 Phase","1/2 Phase","Full Phase","Stunned","Not Gone", "Held Full", "Held Half", "Abort"] def plugin_disabled(self): #Here you need to remove any commands you added, and anything else you want to happen when you disable the plugin #such as closing windows created by the plugin self.plugin_removecmd('/test') self.plugin_removecmd('/example') #This is the command to delete a message handler self.plugin_delete_msg_handler('xxblank') #This is how you should destroy a frame when the plugin is disabled #This same method should be used in close_module as well try: self.frame.Destroy() except: pass def plugin_incoming_msg(self, text, type, name, player): #This is called whenever a message from someone else is received, no matter #what type of message it is. #The text variable is the text of the message. If the type is a regular #message, it is already formatted. Otherwise, it's not. #The type variable is an integer which tells you the type: 1=chat, 2=whisper #3=emote, 4=info, and 5=system. #The name variable is the name of the player who sent you the message. #The player variable contains lots of info about the player sending the #message, including name, ID#, and currently-set role. #Uncomment the following line to see the format for the player variable. #print player if self.toggle: if text.lower().find("heroinit") != -1: command = text[text.rfind("(")+1:text.rfind(")")] self.process_user(command, player) return text, type, name #Chat Commands def on_hinit(self, cmdargs): self.toggle = not self.toggle if self.toggle: self.chat.SystemPost("Init recording on. Enter your info") else: self.chat.SystemPost("Init recording off") def on_hhelp(self, cmdargs): self.chat.InfoPost("Commands:<br>/hclear : Clears out list<br>" + "/hstart : Sets you to segment 12, highest dex<br>" + "/hgo : Proceed to the next DEX/segment<br>" + "/hact <i>#</i> (full|half|abort|stunned)<br>" + "/hseg SEGNO : Set segment to SEGNO<br>" + "/hdex DEXNO : Set dex to DEXNO<br>" + "/hadd DEX SPD NAME : Adds to the list<br>" + "/hdel # : Delete character #<br>" + "/hown # playerid : Change ownership of PC # to playerid<br>" + "/hclear : Clears out player list<br>" + "/hchange # NEWDEX NEWSPD : Change PC # to have Dex NEWDEX and SPD NEWSPD<br>" + "/hset list_# state : Change player's state (state:" + self.statelist() + ")") def on_hstart(self, cmdargs): self.dexterity = self.highestdex() self.segment = 12 for player in self.init_list: player[3] = 4 if player[0] == self.dexterity: player[3] == 2 self.chat.Post("Combat Starting. ") self.call_time() def on_hact(self, cmdargs): cmds = cmdargs.split(None) if len(cmds) == 1: msg = self.do_action(-1, -1, cmds[0]) elif len(cmds) == 2: msg = self.do_action(-1, int(cmds[0]), cmds[1]) else: msg = "Error in command. See format with hero init" self.chat.InfoPost(msg) def on_hseg(self, cmdargs): cmds = cmdargs.split(None, 3) try: new_seg = int(cmds[0]) self.segment = new_seg self.call_time() except: self.chat.SystemPost("Invalid format. correct command is: /hseg SEGMENT#") def on_hdex(self, cmdargs): cmds = cmdargs.split(None, 3) try: new_dex = int(cmds[0]) self.dexterity = new_dex self.call_time() except: self.chat.SystemPost("Invalid format. correct command is: /hdex DEX#") def on_hclear(self, cmdargs): self.init_list = [] self.backup_list = [] self.dexterity = 99 self.segment = 12 self.chat.Post("<hr><font color='#ff0000'>New Initiative</font><br><font color='#0000ff'>Set new Initiatives</font>", True) def on_hadd(self, cmdargs): cmds = cmdargs.split(None, 3) try: if len(cmds) == 3: new_dex = int(txt[0]) new_spd = int(txt[1]) self.init_list.append([new_dex, new_spd, cmds[2], 0, -1]) self.backup_list.append([new_dex, new_spd, cmds[2], 0, -1]) self.list_inits() else: self.chat.SystemPost("Invalid format. correct command is: /hadd dex spd description (" + str(len(cmds)) + " arguments give)") except: self.chat.SystemPost("Invalid format. correct command is: /hadd dex spd description") def on_hdel(self, cmdargs): try: cmds = cmdargs.split(None, 1) self.init_list.remove(int(cmds[0])) self.backup_list.remove(int(cmds[0])) self.list_inits() except: self.chat.SystemPost("Invalid format. correct command is: /del list_number") def on_hown(self, cmdargs): try: cmds = cmdargs.split(None) player = self.init_list[int(cmds[0])] player[4] = int(cmds[1]) self.chat.InfoPost("Character " + player[2] + "(" + int(cmds[0]) + ") is now owned by ID " + int(cmds[1])) except: self.chat.SystemPost("Invalid format. correct command is: /hown # playerid") def on_hlist(self, cmdargs): self.list_inits() def on_hsort(self, cmdargs): self.init_list.sort() self.backup_list.sort() if cmdargs == "high": self.init_list.reverse() self.backup_list.reverse() self.list_inits() def on_hrun(self, cmdargs): advance = True nextlowest = 0 heldactions = False for player in self.init_list: if self.actson(player[1]. self.segment): if player[3] == 5 or player[3] == 6: heltactions = True continue if player[3] == 1 or player[3] == 2: self.chat.InfoPost("Hero " + player[2] + " needs to act before we advance DEX") advance = False elif player[3] == 3 or player[3] == 4 or player[3] == 7: if player[0] > nextlowest: nextlowest = player[0] elif player[3] == 5 or player[3] == 6: heltactions = True if not advance: return advanceseg = False if nextlowest == 0 and self.dexterity != 0: if heldactions or self.segment == 12: msg = "End of Segment " + str(self.segment) + "." if heldactions: msg += " There are held actions." msg += " Issue command again to advance to next segment." self.chat.InfoPost(msg) self.dexterity = 0 return else: advanceseg = True elif nextlowest == 0 and self.dexterify == 0: advanceseg = True if advanceseg: self.dexterity = nextlowest for player in self.init_list: if player[0] == self.dexterity: if player[3] == 3 or player[3] == 7: player[3] = 0 elif player[3] == 4: player[3] = 2 else: nextsegment = 0 while nextsegment == 0: self.segment += 1 if self.segment == 13: self.segment = 1 elif self.segment == 12: nextsegment = 12 break for player in self.init_list: if self.actson(player[1], self.segment): if player[3] == 0 or player[3] == 3 or player[3] == 7: nextsegment = self.segment if player[3] == 5 or player[3] == 6: nextsegment = self.segment self.dexterity = self.highestdex() for player in self.init_list: heldactions = False if self.actson(player[1], self.segment): if player[3] != 3 and player[3] != 7: player[3] = 4 if player[0] == self.dexterity: if player[3] == 3: self.chat.InfoPost(player[2] + " unstuns.") player[3] = 0 elif player[3] == 7: self.chat.InfoPost(player[2] + " recovers from the abort") player[3] = 0 else: player[3] = 2 if player[3] == 5 or player[3] == 6 and self.dexterity == 0: self.chat.InfoPost("There are held actions. Issue command again to advance to next segment.") self.call_time() def on_hchange(self, cmdargs): try: cmds = cmdargs.split() self.init_list[int(cmds[0])][0] = cmds[1] self.init_list[int(cmds[0])][1] = cmds[2] self.backup_list[int(cmds[0])][0] = cmds[1] self.backup_list[int(cmds[0])][1] = cmds[2] self.list_inits() except: self.chat.SystemPost('Invalid format. correct command is: /hchange list_# new_dex new_spd (example: /hchange 1 18 4)') def on_hset(self, cmdargs): try: cmds = cmdargs.split() self.init_list[int(cmds[0])][3] = cmds[1] self.backup_list[int(cmds[0])][3] = cmds[1] self.list_inits() except: msg = "Invalid format. correct command is: /hset list_# state (state:" + self.statelist() + ")" self.chat.InfoPost(msg) #Other Methods def statelist(self): msg = "" stateindex = 0 for state in self.state_strings: if stateindex != 0: msg += ", " msg += str(stateindex) + "=" + state stateindex += 1 return msg def is_index(self, value): try: if value[:1] == "+": offset = 1 return True except: return False def actson(self, spd, segment): speeds=[[0,0,0,0,0,0,0,0,0,0,0,1], [0,0,0,0,0,1,0,0,0,0,0,1], [0,0,0,1,0,0,0,1,0,0,0,1], [0,0,1,0,0,1,0,0,1,0,0,1], [0,0,1,0,1,0,0,1,0,1,0,1], [0,1,0,1,0,1,0,1,0,1,0,1], [0,1,0,1,0,1,1,0,1,0,1,1], [0,1,1,0,1,1,0,1,1,0,1,1], [0,1,1,1,0,1,1,1,0,1,1,1], [0,1,1,1,1,1,0,1,1,1,1,1], [0,1,1,1,1,1,1,1,1,1,1,1], [1,1,1,1,1,1,1,1,1,1,1,1]] if spd < 1 or spd > 12: return False if speeds[spd-1][segment-1] == 1: return True return False def highestdex(self): dex = 0 for player in self.init_list: if self.actson(player[1], self.segment) and player[0] > dex: dex = player[0] return dex def do_action(self, playerid, index, action): if index == -1: count = 1 for player in self.init_list: if player[4] == playerid: index = count count += 1 if index == -1: return "You do not have any players in the combat list" index -= 1 player = self.init_list[index] if playerid != -1 and playerid != player[4]: return "You do not own that player." # You can only perform a full action if you have a full or held full if action == "full": if player[3] != 2 and player[3] != 5: msg = player[2] + " cannot perform a full action." else: player[3] = 0 msg = player[2] + " performs a full action." elif action == "half": if player[3] != 1 and player[3] != 2 and player[3] != 5 and player[3] != 6: msg = player[2] + " cannot perform a half action." else: if player[3] == 1 or player[3] == 6: player[3] = 0 msg = player[2] + " performs a half action." else: player[3] = 1 msg = player[2] + " performs a half action (half remaining)" elif action == "hold": if player[3] != 1 and player[3] != 2: msg = player[2] + " cannot hold an action." else: if player[3] == 2: player[3] = 5 msg = player[2] + " holding a full action." else: player[3] = 6 msg = player[2] + " holding a half action." elif action == "stunned": player[3] = 3 msg = player[2] + " stunned!" elif action == "abort": # abort if full/half/not gone/held. Those just lose this seg action if player[3] == 1 or player[3] == 2 or player[3] == 4 or player[3] == 5 or player[3] == 6: player[3] = 0 msg = player[2] + " aborts!" # if you have 0 remaining and did not act this seg, regular abort elif player[3] == 0 and not self.actson(player[1], self.segment): player[3] = 7 msg = player[2] + " aborts!" else: msg = player[2] + " cannot abort yet." else: msg = "Unknown command." return msg def list_inits(self, player=0, send=False): msg = "Combat Turn:<br>" msg += "<table border=1 cellspacing=1 cellpadding=1><tr><th><th></th></th><th></th><th></th><th></th><th></th><th colspan=12>Segments</th></tr>" msg += "<tr><th>#</th><th>Owner</th><th>Name</th><th>Spd</th><th>Dex</th><th>State</th>" for x in xrange(1,13): msg += "<th>" + str(x) + "</th>" msg += "</tr>" count=1 for m in self.init_list: msg += "<tr><td align=center>"+str(count)+"</td>" if m[4]==-1: msg += "<td><font color=red>GM</font></td>" else: msg += "<td>" + m[4] + "</td>" msg += "<td><font color='#0000ff'>" + m[2] + "</font></td>" msg += "<td align=center><font color='#0000ff'>" + str(m[1]) + "</font></td>" msg += "<td align=center><font color='#0000ff'>" + str(m[0]) + "</font></td>" msg +="<td>" + self.state_strings[m[3]] + "</td>" for segment in xrange(1,13): if self.actson(m[1],segment): msg += "<td align=center>" + str(m[0]) + "</td>" else: msg += "<td></td>" msg += "</tr>" count += 1 msg += "</table><br>" msg += "It is currently Segment " + str(v.segment) + ", DEX " + str(v.dexterity) + "<br>" if send and player != 0: chat.whisper_to_players(msg, [player]) else: self.chat.InfoPost(msg) def call_time(self): plist = "" msg = "Segment is now " + str(self.segment) + ", DEX " + str(self.dexterity) for player in self.init_list: if player[3] == 1 or player[3] == 2 or player[3] == 5 or player[3] == 6: if plist != "": plist += ", " plist += player[2] + "(" + self.state_strings[player[3]] + ")" if plist != "": msg += ": " + plist self.chat.Post(msg, True) def process_user(self, command, player): if command == "hadd": txt = command.split(None, 3) try: if len(txt) == 4: new_dex = int(txt[1]) new_spd = int(txt[2]) self.init_list.append([new_dex, new_spd, txt[3], 0, player[2]]) self.backup_list.append([new_dex, new_spd, txt[3], 0, player[2]]) msg = "Character " + txt[3] + " added to initiative." else: msg = "Error in command. See format with heroinit" except: msg = "Error in command. See format with heroinit" self.chat.whisper_to_players(msg, [player[2]]) elif command == "hact": txt = command.split(None) if len(txt) == 2: index = -1 action = txt[1] msg = self.do_action(player[2], index, action) elif len(txt) == 3: index = int(txt[1]) action = txt[2] msg = self.do_action(player[2], index, action) else: msg = "Error in command. See format with heroinit" self.chat.whisper_to_players(msg, [player[2]]) elif command == "hlist": self.list_inits(player[2], True) else: msg = "Commands:<br>heroinit (hadd DEX SPEED CHARACTERNAME) : add character CHARACTERNAME with dex DEX and speed SPD to initiative list<br>" msg += " Example: heroinit (hadd 18 4 Joey)<br>" msg += "heroinit (hact # (full|half|hold|stunned|abort) : Have character # perform an action. # is the number from hlist. If ommited, uses first owned character<br>" msg += " Example: heroinit (hact 1 full) : Make character index 1 perform a full action.<br>" msg += " Example: heroinit (hact full) : Have your first owned character perform a full action<br>" self.chat.whisper_to_players(msg, [player[2]]) Index: xxnamesound.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/plugins/xxnamesound.py,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** xxnamesound.py 25 Jan 2007 20:16:54 -0000 1.10 --- xxnamesound.py 21 Mar 2007 14:18:04 -0000 1.11 *************** *** 31,43 **** self.soundfile = '' self.soundplayer = '' def plugin_enabled(self): self.plugin_addcommand('/xxnick', self.on_xxnick, 'add name|del name|list - This is the command for the namesound plugin') self.names = self.plugindb.GetList("xxnamesound", "names", []) ! self.soundfile = orpg.dirpath.dir_struct['plugins'] + 'heya.wav' self.soundplayer = self.sound_player = self.openrpg.get_component('sound') reg = [] --- 31,53 ---- self.soundfile = '' self.soundplayer = '' + self.notify = False def plugin_enabled(self): self.plugin_addcommand('/xxnick', self.on_xxnick, 'add name|del name|list - This is the command for the namesound plugin') + self.plugin_addcommand('/wnotify', self.on_wnotify, 'This will toggle notification on incoming whispers') + self.plugin_addcommand('/sfile', self.on_sfile, 'This will set the sound file to use for notification') self.names = self.plugindb.GetList("xxnamesound", "names", []) ! self.soundplayer = self.sound_player = self.openrpg.get_component('sound') + tmp = self.plugindb.GetString('xxnamesound', 'wnotify', str(self.notify)) + if tmp == 'True': + self.on_wnotify(None) + + self.soundfile = self.plugindb.GetString('xxnamesound', 'soundfile', orpg.dirpath.dir_struct['plugins'] + 'heya.wav') + + reg = [] *************** *** 54,58 **** --- 64,85 ---- def plugin_disabled(self): self.plugin_removecmd('/xxnick') + self.plugin_removecmd('/wnotify') + self.plugin_removecmd('/sfile') + + + def on_wnotify(self, cmdargs): + self.notify = not self.notify + + self.plugindb.SetString('xxnamesound', 'wnotify', str(self.notify)) + + if self.notify: + self.chat.InfoPost("Whisper Notification is On!") + else: + self.chat.InfoPost("Whisper Notification is Off!") + + def on_sfile(self, cmdargs): + self.soundfile = cmdargs + self.plugindb.SetString('xxnamesound', 'soundfile', cmdargs) def on_xxnick(self, cmdargs): *************** *** 99,102 **** --- 126,132 ---- self.soundplayer.play(self.soundfile) self.antispam = 1 + elif self.notify and type == 2: + self.soundplayer.play(self.soundfile) + self.antispam = 1 |
From: Digital X. <dig...@us...> - 2007-03-19 02:43:07
|
Update of /cvsroot/openrpg/openrpg1/orpg In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv32649/orpg Modified Files: orpg_version.py Log Message: Index: orpg_version.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/orpg_version.py,v retrieving revision 1.110 retrieving revision 1.111 diff -C2 -d -r1.110 -r1.111 *** orpg_version.py 16 Mar 2007 21:16:45 -0000 1.110 --- orpg_version.py 19 Mar 2007 02:43:06 -0000 1.111 *************** *** 3,7 **** #BUILD NUMBER FORMAT: "YYMMDD-##" where ## is the incremental daily build index (if needed) ! BUILD = "070316-00" --- 3,7 ---- #BUILD NUMBER FORMAT: "YYMMDD-##" where ## is the incremental daily build index (if needed) ! BUILD = "070318-00" |
From: Digital X. <dig...@us...> - 2007-03-19 02:42:35
|
Update of /cvsroot/openrpg/openrpg1/orpg/gametree/nodehandlers In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv32345/orpg/gametree/nodehandlers Modified Files: core.py Log Message: Fix for changing a Tree Items icon Index: core.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/gametree/nodehandlers/core.py,v retrieving revision 1.44 retrieving revision 1.45 diff -C2 -d -r1.44 -r1.45 *** core.py 21 Feb 2007 16:00:27 -0000 1.44 --- core.py 19 Mar 2007 02:42:34 -0000 1.45 *************** *** 266,271 **** def change_icon(self,icon): self.master_dom.setAttribute("icon",icon) ! self.tree.SetItemImage(self.mytree_node,self.tree.icons[icon]) ! self.tree.SetItemSelectedImage(self.mytree_node,self.tree.icons[icon]) def on_save(self,evt): --- 266,272 ---- def change_icon(self,icon): self.master_dom.setAttribute("icon",icon) ! self.tree.SetItemImage(self.mytree_node, self.tree.icons[icon]) ! self.tree.SetItemImage(self.mytree_node, self.tree.icons[icon], wx.TreeItemIcon_Selected) ! self.tree.Refresh() def on_save(self,evt): |
From: Digital X. <dig...@us...> - 2007-03-19 02:39:59
|
Update of /cvsroot/openrpg/openrpg1 In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv31158 Modified Files: start_server.py Log Message: Fix for starting the server when you had not set the lobby password in the server_ini Index: start_server.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/start_server.py,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** start_server.py 13 Mar 2007 23:55:57 -0000 1.32 --- start_server.py 19 Mar 2007 02:39:58 -0000 1.33 *************** *** 26,29 **** --- 26,30 ---- gc.set_debug(gc.DEBUG_UNCOLLECTABLE) gc.enable() + lobby_boot_pwd = '' orpg_server = orpg.networking.mplay_server.mplay_server() *************** *** 62,66 **** orpg_server.groups['0'].boot_pwd = lobby_boot_pwd ! if orpg_server.reg[0].upper() != "Y" and orpg_server.reg[0].upper() != "N": opt = raw_input("Do you want to post your server to the OpenRPG Meta Server list? (y,n)") if len(opt) and (opt[0].upper() == 'Y'): --- 63,67 ---- orpg_server.groups['0'].boot_pwd = lobby_boot_pwd ! if not len(orpg_server.reg) > 0 or (orpg_server.reg[0].upper() != "Y" and orpg_server.reg[0].upper() != "N"): opt = raw_input("Do you want to post your server to the OpenRPG Meta Server list? (y,n)") if len(opt) and (opt[0].upper() == 'Y'): |
From: Digital X. <dig...@us...> - 2007-03-16 21:17:35
|
Update of /cvsroot/openrpg/openrpg1/orpg In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv15428/orpg Modified Files: Tag: BRANCH-1-7-1 orpg_version.py Log Message: Index: orpg_version.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/orpg_version.py,v retrieving revision 1.98.2.9 retrieving revision 1.98.2.10 diff -C2 -d -r1.98.2.9 -r1.98.2.10 *** orpg_version.py 15 Mar 2007 20:01:30 -0000 1.98.2.9 --- orpg_version.py 16 Mar 2007 21:17:35 -0000 1.98.2.10 *************** *** 3,7 **** #BUILD NUMBER FORMAT: "YYMMDD-##" where ## is the incremental daily build index (if needed) ! BUILD = "070315-00" --- 3,7 ---- #BUILD NUMBER FORMAT: "YYMMDD-##" where ## is the incremental daily build index (if needed) ! BUILD = "070316-00" |
From: Digital X. <dig...@us...> - 2007-03-16 21:16:46
|
Update of /cvsroot/openrpg/openrpg1/orpg In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv15033/orpg Modified Files: orpg_version.py Log Message: Index: orpg_version.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/orpg_version.py,v retrieving revision 1.109 retrieving revision 1.110 diff -C2 -d -r1.109 -r1.110 *** orpg_version.py 15 Mar 2007 20:00:47 -0000 1.109 --- orpg_version.py 16 Mar 2007 21:16:45 -0000 1.110 *************** *** 3,7 **** #BUILD NUMBER FORMAT: "YYMMDD-##" where ## is the incremental daily build index (if needed) ! BUILD = "070315-00" --- 3,7 ---- #BUILD NUMBER FORMAT: "YYMMDD-##" where ## is the incremental daily build index (if needed) ! BUILD = "070316-00" |
From: Digital X. <dig...@us...> - 2007-03-16 18:20:54
|
Update of /cvsroot/openrpg/openrpg1/orpg/tools In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv9691/orpg/tools Modified Files: orpg_sound.py Log Message: Fix for Suse Index: orpg_sound.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/tools/orpg_sound.py,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** orpg_sound.py 15 Mar 2007 20:31:33 -0000 1.28 --- orpg_sound.py 16 Mar 2007 18:20:51 -0000 1.29 *************** *** 12,16 **** try: self.mc = wx.media.MediaCtrl(self) - #self.mc.Hide() self.OldPlayer = False self.Bind(wx.media.EVT_MEDIA_LOADED, self.OnMediaLoaded) --- 12,15 ---- |
From: Digital X. <dig...@us...> - 2007-03-16 18:19:53
|
Update of /cvsroot/openrpg/openrpg1/orpg/networking In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv9116/orpg/networking Modified Files: Tag: BRANCH-1-7-1 mplay_server.py Log Message: Fix for the Map file location errors Index: mplay_server.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/networking/mplay_server.py,v retrieving revision 1.133.2.5 retrieving revision 1.133.2.6 diff -C2 -d -r1.133.2.5 -r1.133.2.6 *** mplay_server.py 15 Mar 2007 19:59:57 -0000 1.133.2.5 --- mplay_server.py 16 Mar 2007 18:19:20 -0000 1.133.2.6 *************** *** 586,590 **** # we only care about the first map element found -- others are ignored mapElement = element.getElementsByTagName('map')[0] ! mapFile = orpg.dirpath.dir_struct["user"] + mapElement.getAttribute('file') messageElement = element.getElementsByTagName('message')[0] --- 586,590 ---- # we only care about the first map element found -- others are ignored mapElement = element.getElementsByTagName('map')[0] ! mapFile = orpg.dirpath.dir_struct["user"] + mapElement.getAttribute('file').replace("myfiles/", "") messageElement = element.getElementsByTagName('message')[0] |
From: Digital X. <dig...@us...> - 2007-03-16 18:18:36
|
Update of /cvsroot/openrpg/openrpg1/orpg/tools In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv8610/orpg/tools Modified Files: Tag: BRANCH-1-7-1 orpg_sound.py Log Message: Fix for Suse Index: orpg_sound.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/tools/orpg_sound.py,v retrieving revision 1.22 retrieving revision 1.22.2.1 diff -C2 -d -r1.22 -r1.22.2.1 *** orpg_sound.py 11 Feb 2007 03:49:36 -0000 1.22 --- orpg_sound.py 16 Mar 2007 18:18:33 -0000 1.22.2.1 *************** *** 11,15 **** """ def SetLabel(self, label): ! if label <> self.GetLabel(): wx.StaticText.SetLabel(self, label) --- 11,15 ---- """ def SetLabel(self, label): ! if label != self.GetLabel(): wx.StaticText.SetLabel(self, label) *************** *** 25,32 **** try: self.mc = wx.media.MediaCtrl(self, style=wx.SIMPLE_BORDER) - self.mc.Hide() self.OldPlayer = False self.Bind(wx.media.EVT_MEDIA_LOADED, self.OnMediaLoaded) ! except NotImplementedError: self.OldPlayer = True --- 25,31 ---- try: self.mc = wx.media.MediaCtrl(self, style=wx.SIMPLE_BORDER) self.OldPlayer = False self.Bind(wx.media.EVT_MEDIA_LOADED, self.OnMediaLoaded) ! except: self.OldPlayer = True |
From: Digital X. <dig...@us...> - 2007-03-16 18:17:07
|
Update of /cvsroot/openrpg/openrpg1/orpg/networking In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv7603/orpg/networking Modified Files: mplay_server.py Log Message: Fix for the mapfile not working right Index: mplay_server.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/networking/mplay_server.py,v retrieving revision 1.141 retrieving revision 1.142 diff -C2 -d -r1.141 -r1.142 *** mplay_server.py 15 Mar 2007 19:59:33 -0000 1.141 --- mplay_server.py 16 Mar 2007 18:17:01 -0000 1.142 *************** *** 599,603 **** # we only care about the first map element found -- others are ignored mapElement = element.getElementsByTagName('map')[0] ! mapFile = orpg.dirpath.dir_struct["user"] + mapElement.getAttribute('file') messageElement = element.getElementsByTagName('message')[0] --- 599,603 ---- # we only care about the first map element found -- others are ignored mapElement = element.getElementsByTagName('map')[0] ! mapFile = orpg.dirpath.dir_struct["user"] + mapElement.getAttribute('file').replace("myfiles/", "") messageElement = element.getElementsByTagName('message')[0] |
From: Digital X. <dig...@us...> - 2007-03-15 20:31:43
|
Update of /cvsroot/openrpg/openrpg1/orpg/tools In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv24249/orpg/tools Modified Files: orpg_sound.py Log Message: Index: orpg_sound.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/tools/orpg_sound.py,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** orpg_sound.py 15 Mar 2007 20:26:52 -0000 1.27 --- orpg_sound.py 15 Mar 2007 20:31:33 -0000 1.28 *************** *** 86,90 **** def onSeek(self, evt): ! offset = self.slider.GetValue() self.mc.Seek(offset) --- 86,90 ---- def onSeek(self, evt): ! offset = self.pslider.GetValue() self.mc.Seek(offset) *************** *** 95,99 **** pos = info[1] ! self.mc.Load(sound_file) pane = self.parent._mgr.GetPane("Sound Control Toolbar") --- 95,99 ---- pos = info[1] ! self.mc.LoadURI(sound_file) pane = self.parent._mgr.GetPane("Sound Control Toolbar") *************** *** 117,121 **** (path, name) = os.path.split(sound_file) ! self.mc.Load(sound_file) if not self.playDict.has_key(name): --- 117,124 ---- (path, name) = os.path.split(sound_file) ! if type != "local": ! self.mc.LoadURI(sound_file) ! else: ! self.mc.Load(sound_file) if not self.playDict.has_key(name): |
From: Digital X. <dig...@us...> - 2007-03-15 20:27:00
|
Update of /cvsroot/openrpg/openrpg1/orpg/tools In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv22176/orpg/tools Modified Files: orpg_sound.py Log Message: Index: orpg_sound.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/tools/orpg_sound.py,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** orpg_sound.py 15 Mar 2007 20:09:26 -0000 1.26 --- orpg_sound.py 15 Mar 2007 20:26:52 -0000 1.27 *************** *** 31,35 **** self.playDict = {} ! self.pslider = wx.Slider(self, -1, 0, 0, 0, size=wx.Size(100, -1)) self.Bind(wx.EVT_SLIDER, self.onSeek, self.pslider) --- 31,35 ---- self.playDict = {} ! self.pslider = wx.Slider(self, wx.ID_ANY, 0, 0, 100, size=wx.Size(100, -1)) self.Bind(wx.EVT_SLIDER, self.onSeek, self.pslider) *************** *** 37,44 **** self.vol = wx.StaticText(self, wx.ID_ANY, "Volume:") ! self.vslider = wx.Slider(self, -1, 0, 0, 0, size=wx.Size(50, -1)) self.Bind(wx.EVT_SLIDER, self.onVol, self.vslider) - self.vslider.SetRange(0, 100) - self.vslider.SetValue(100) self.loopSound = False --- 37,42 ---- self.vol = wx.StaticText(self, wx.ID_ANY, "Volume:") ! self.vslider = wx.Slider(self, wx.ID_ANY, 100, 0, 100, size=wx.Size(50, -1)) self.Bind(wx.EVT_SLIDER, self.onVol, self.vslider) self.loopSound = False |
From: Digital X. <dig...@us...> - 2007-03-15 20:09:28
|
Update of /cvsroot/openrpg/openrpg1/orpg/tools In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv15055/orpg/tools Modified Files: orpg_sound.py Log Message: Index: orpg_sound.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/tools/orpg_sound.py,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** orpg_sound.py 15 Mar 2007 19:24:10 -0000 1.25 --- orpg_sound.py 15 Mar 2007 20:09:26 -0000 1.26 *************** *** 31,44 **** self.playDict = {} - self.ctrlBtn = wx.Button(self, -1, "Show Controls") - self.Bind(wx.EVT_BUTTON, self.OnShow, self.ctrlBtn) - - self.pslider = wx.Slider(self, -1, 0, 0, 0, size=wx.Size(100, -1)) self.Bind(wx.EVT_SLIDER, self.onSeek, self.pslider) self.pos = wx.StaticText(self, wx.ID_ANY, "Position:") - self.pslider.Hide() - self.pos.Hide() self.vol = wx.StaticText(self, wx.ID_ANY, "Volume:") --- 31,38 ---- *************** *** 47,52 **** self.vslider.SetRange(0, 100) self.vslider.SetValue(100) - self.vslider.Hide() - self.vol.Hide() self.loopSound = False --- 41,44 ---- *************** *** 59,63 **** sizer.Add(btn2, (0,2)) sizer.Add(btn3, (0,3)) - sizer.Add(self.ctrlBtn, (0,4)) sizer.Add(self.pos, (1,0), flag=wx.ALIGN_CENTER) sizer.Add(self.pslider, (1,1), flag=wx.EXPAND) --- 51,54 ---- *************** *** 160,177 **** self.timer.Stop() - def OnShow(self, evt): - if self.ctrlBtn.GetLabel() == "Show Controls": - self.ctrlBtn.SetLabel("Hide Controls") - self.pos.Show() - self.pslider.Show() - self.vol.Show() - self.vslider.Show() - else: - self.ctrlBtn.SetLabel("Show Controls") - self.pos.Hide() - self.pslider.Hide() - self.vol.Hide() - self.vslider.Hide() - def onVol(self, evt): vol = float(self.vslider.GetValue())/100 --- 151,154 ---- |
From: Digital X. <dig...@us...> - 2007-03-15 20:01:38
|
Update of /cvsroot/openrpg/openrpg1/orpg In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv11336/orpg Modified Files: Tag: BRANCH-1-7-1 orpg_version.py Log Message: Index: orpg_version.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/orpg_version.py,v retrieving revision 1.98.2.8 retrieving revision 1.98.2.9 diff -C2 -d -r1.98.2.8 -r1.98.2.9 *** orpg_version.py 14 Mar 2007 22:35:37 -0000 1.98.2.8 --- orpg_version.py 15 Mar 2007 20:01:30 -0000 1.98.2.9 *************** *** 3,7 **** #BUILD NUMBER FORMAT: "YYMMDD-##" where ## is the incremental daily build index (if needed) ! BUILD = "070314-01" --- 3,7 ---- #BUILD NUMBER FORMAT: "YYMMDD-##" where ## is the incremental daily build index (if needed) ! BUILD = "070315-00" |
From: Digital X. <dig...@us...> - 2007-03-15 20:00:49
|
Update of /cvsroot/openrpg/openrpg1/orpg In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv10891/orpg Modified Files: orpg_version.py Log Message: Index: orpg_version.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/orpg_version.py,v retrieving revision 1.108 retrieving revision 1.109 diff -C2 -d -r1.108 -r1.109 *** orpg_version.py 14 Mar 2007 22:36:12 -0000 1.108 --- orpg_version.py 15 Mar 2007 20:00:47 -0000 1.109 *************** *** 3,7 **** #BUILD NUMBER FORMAT: "YYMMDD-##" where ## is the incremental daily build index (if needed) ! BUILD = "070314-01" --- 3,7 ---- #BUILD NUMBER FORMAT: "YYMMDD-##" where ## is the incremental daily build index (if needed) ! BUILD = "070315-00" |
From: Digital X. <dig...@us...> - 2007-03-15 20:00:01
|
Update of /cvsroot/openrpg/openrpg1/orpg/networking In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv10416/orpg/networking Modified Files: Tag: BRANCH-1-7-1 mplay_server.py Log Message: Fixed a bug in the room message system Index: mplay_server.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/networking/mplay_server.py,v retrieving revision 1.133.2.4 retrieving revision 1.133.2.5 diff -C2 -d -r1.133.2.4 -r1.133.2.5 *** mplay_server.py 14 Mar 2007 22:29:05 -0000 1.133.2.4 --- mplay_server.py 15 Mar 2007 19:59:57 -0000 1.133.2.5 *************** *** 383,391 **** boot_pwd = self.configDoc.getAttribute("boot") # Update the lobby with the passwords if they've been specified if len(boot_pwd): ! self.groups = {'0': game_group( '0', 'Lobby', "", 'The game lobby', boot_pwd, "", ! orpg.dirpath.dir_struct["user"]+'Lobby_map.xml', ! orpg.dirpath.dir_struct["user"]+'LobbyMessage.html', 1 ) } --- 383,403 ---- boot_pwd = self.configDoc.getAttribute("boot") + map_node = service_node = self.configDoc.getElementsByTagName("map")[0] + msg_node = service_node = self.configDoc.getElementsByTagName("message")[0] + + mapFile = map_node.getAttribute('file') + msgFile = msg_node.getAttribute('file') + + if mapFile == '': + mapFile = 'Lobby_map.xml' + + if msgFile == '': + msgFile = 'LobbyMessage.html' + # Update the lobby with the passwords if they've been specified if len(boot_pwd): ! self.groups = {'0': game_group( '0', LobbyName, "", 'The game lobby', boot_pwd, "", ! orpg.dirpath.dir_struct["user"] + mapFile.replace("myfiles/", ""), ! orpg.dirpath.dir_struct["user"] + msgFile.replace("myfiles/", ""), 1 ) } *************** *** 417,442 **** - #finds out if the user wants a default room message, and what file the user wants --akoman - #edit: jan10/03 - I assumed there would always be a newroom setting. Modified code to make it optional - tags = self.configDoc.getElementsByTagName("newrooms") - self.defaultMessageFile = "" # This try/except bit is to allow older versions of python to continue without a list error. - try: - if tags.length > 0: - newroom_node = tags[0] - dmf = newroom_node.getAttribute("file") - if dmf != "": - self.defaultMessageFile = dmf - except: - try: - if tags > 0: - newroom_node = tags[0] - dmf = newroom_node.getAttribute("file") - if dmf != "": - self.defaultMessageFile = dmf - except: - pass --- 429,435 ---- *************** *** 510,514 **** map = setting.getAttribute('file') if map != "": ! roomdefault_map = map self.log_msg("Room Defaults: Using " + str(map) + " for room map") except: --- 503,507 ---- map = setting.getAttribute('file') if map != "": ! roomdefault_map = orpg.dirpath.dir_struct["user"] + map.replace("myfiles/", "") self.log_msg("Room Defaults: Using " + str(map) + " for room map") except: *************** *** 519,523 **** msg = setting.getAttribute('file') if msg != "": ! roomdefault_msg = msg self.log_msg("Room Defaults: Using " + str(msg) + " for room messages") except: --- 512,519 ---- msg = setting.getAttribute('file') if msg != "": ! if msg[:4].lower() == 'http': ! roomdefault_msg = msg ! else: ! roomdefault_msg = orpg.dirpath.dir_struct["user"] + msg.replace("myfiles/", "") self.log_msg("Room Defaults: Using " + str(msg) + " for room messages") except: *************** *** 534,537 **** --- 530,538 ---- self.defaultMessageFile = None + if roomdefault_map != "" or roomdefault_map != None: + self.defaultMapFile = roomdefault_map #<room_defaults> tag superceeds older <newrooms> tag + else: + self.defaultMapFile = None + ##### room default map not handled yet. SETTING IGNORED if roomdefault_pass == 0: self.allow_room_passwords = 0 *************** *** 585,597 **** # we only care about the first map element found -- others are ignored mapElement = element.getElementsByTagName('map')[0] ! mapFile = mapElement.getAttribute('file') messageElement = element.getElementsByTagName('message')[0] messageFile = messageElement.getAttribute('file') # Make sure we have a message to even mess with ! if( len(messageFile) == 0 ): messageFile = self.defaultMessageFile #create the new persistant group self.new_group( roomName, roomPassword, bootPassword, minVersion, mapFile, messageFile, persist = 1 ) --- 586,604 ---- # we only care about the first map element found -- others are ignored mapElement = element.getElementsByTagName('map')[0] ! mapFile = orpg.dirpath.dir_struct["user"] + mapElement.getAttribute('file') messageElement = element.getElementsByTagName('message')[0] messageFile = messageElement.getAttribute('file') + if messageFile[:4] != 'http': + messageFile = orpg.dirpath.dir_struct["user"] + messageFile.replace("myfiles/", "") + # Make sure we have a message to even mess with ! if(len(messageFile) == 0): messageFile = self.defaultMessageFile + if(len(mapFile) == 0): + mapFile = self.defaultMapFile + #create the new persistant group self.new_group( roomName, roomPassword, bootPassword, minVersion, mapFile, messageFile, persist = 1 ) *************** *** 1794,1798 **** roomMsgFile = open(data[0]) else: ! roomMsgFile = open(orpg.dirpath.dir_struct["user"] + self.groups[group_id].messageFile, "r" ) roomMsg = roomMsgFile.read() roomMsgFile.close() --- 1801,1805 ---- roomMsgFile = open(data[0]) else: ! roomMsgFile = open(self.groups[group_id].messageFile, "r") roomMsg = roomMsgFile.read() roomMsgFile.close() |
From: Digital X. <dig...@us...> - 2007-03-15 19:59:58
|
Update of /cvsroot/openrpg/openrpg1/orpg/templates In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv10416/orpg/templates Modified Files: Tag: BRANCH-1-7-1 default_server_ini.xml Log Message: Fixed a bug in the room message system Index: default_server_ini.xml =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/templates/default_server_ini.xml,v retrieving revision 1.11 retrieving revision 1.11.2.1 diff -C2 -d -r1.11 -r1.11.2.1 *** default_server_ini.xml 18 Oct 2006 21:50:18 -0000 1.11 --- default_server_ini.xml 15 Mar 2007 19:59:57 -0000 1.11.2.1 *************** *** 1,22 **** ! <server> ! <service port='6774' address='hostname/address' /> ! <map file='myfiles/Lobby_map.xml' /> ! <message file='myfiles/LobbyMessage.html' /> ! <validate_protocol value='true' /> ! <autokick silent='no' delay='480' /> <version min="1.6.3" /> ! <cheat text='**Fudged Roll**' help='The text will be included in any faked roll by anyone but a GM' /> <room_defaults> ! <passwords allow='yes'/> ! <map file=''/> ! <message file='myfiles/LobbyMessage.html'/> </room_defaults> <room name="Example Persistant #1" password="password" boot="password"> ! <map file='myfiles/Lobby_map.xml' /> ! <message file='myfiles/LobbyMessage.html' /> </room> <room name="Example Persistant #2" password="" boot="password"> ! <map file='myfiles/Lobby_map.xml' /> ! <message file='myfiles/LobbyMessage.html' /> </room> </server> --- 1,22 ---- ! <server boot=""> ! <service port="6774" address="hostname/address" /> ! <map file="Lobby_map.xml" /> ! <message file="LobbyMessage.html" /> ! <validate_protocol value="true" /> ! <autokick silent="no" delay="480" /> <version min="1.6.3" /> ! <cheat text="**Fudged Roll**" help="The text will be included in any faked roll by anyone but a GM" /> <room_defaults> ! <passwords allow="yes"/> ! <map file=""/> ! <message file="LobbyMessage.html"/> </room_defaults> <room name="Example Persistant #1" password="password" boot="password"> ! <map file="Lobby_map.xml" /> ! <message file="LobbyMessage.html" /> </room> <room name="Example Persistant #2" password="" boot="password"> ! <map file="Lobby_map.xml" /> ! <message file="LobbyMessage.html" /> </room> </server> |
From: Digital X. <dig...@us...> - 2007-03-15 19:59:42
|
Update of /cvsroot/openrpg/openrpg1/orpg/networking In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv10388/orpg/networking Modified Files: mplay_server.py Log Message: Fixed a bug in the room message system Index: mplay_server.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/networking/mplay_server.py,v retrieving revision 1.140 retrieving revision 1.141 diff -C2 -d -r1.140 -r1.141 *** mplay_server.py 14 Mar 2007 22:30:07 -0000 1.140 --- mplay_server.py 15 Mar 2007 19:59:33 -0000 1.141 *************** *** 396,404 **** self.name = self.configDoc.getAttribute("name") # Update the lobby with the passwords if they've been specified if len(boot_pwd): self.groups = {'0': game_group( '0', LobbyName, "", 'The game lobby', boot_pwd, "", ! orpg.dirpath.dir_struct["user"]+'Lobby_map.xml', ! orpg.dirpath.dir_struct["user"]+'LobbyMessage.html', 1 ) } --- 396,416 ---- self.name = self.configDoc.getAttribute("name") + map_node = service_node = self.configDoc.getElementsByTagName("map")[0] + msg_node = service_node = self.configDoc.getElementsByTagName("message")[0] + + mapFile = map_node.getAttribute('file') + msgFile = msg_node.getAttribute('file') + + if mapFile == '': + mapFile = 'Lobby_map.xml' + + if msgFile == '': + msgFile = 'LobbyMessage.html' + # Update the lobby with the passwords if they've been specified if len(boot_pwd): self.groups = {'0': game_group( '0', LobbyName, "", 'The game lobby', boot_pwd, "", ! orpg.dirpath.dir_struct["user"] + mapFile.replace("myfiles/", ""), ! orpg.dirpath.dir_struct["user"] + msgFile.replace("myfiles/", ""), 1 ) } *************** *** 430,455 **** - #finds out if the user wants a default room message, and what file the user wants --akoman - #edit: jan10/03 - I assumed there would always be a newroom setting. Modified code to make it optional - tags = self.configDoc.getElementsByTagName("newrooms") - self.defaultMessageFile = "" # This try/except bit is to allow older versions of python to continue without a list error. - try: - if tags.length > 0: - newroom_node = tags[0] - dmf = newroom_node.getAttribute("file") - if dmf != "": - self.defaultMessageFile = dmf - except: - try: - if tags > 0: - newroom_node = tags[0] - dmf = newroom_node.getAttribute("file") - if dmf != "": - self.defaultMessageFile = dmf - except: - pass --- 442,448 ---- *************** *** 523,527 **** map = setting.getAttribute('file') if map != "": ! roomdefault_map = map self.log_msg("Room Defaults: Using " + str(map) + " for room map") except: --- 516,520 ---- map = setting.getAttribute('file') if map != "": ! roomdefault_map = orpg.dirpath.dir_struct["user"] + map.replace("myfiles/", "") self.log_msg("Room Defaults: Using " + str(map) + " for room map") except: *************** *** 532,536 **** msg = setting.getAttribute('file') if msg != "": ! roomdefault_msg = msg self.log_msg("Room Defaults: Using " + str(msg) + " for room messages") except: --- 525,532 ---- msg = setting.getAttribute('file') if msg != "": ! if msg[:4].lower() == 'http': ! roomdefault_msg = msg ! else: ! roomdefault_msg = orpg.dirpath.dir_struct["user"] + msg.replace("myfiles/", "") self.log_msg("Room Defaults: Using " + str(msg) + " for room messages") except: *************** *** 547,550 **** --- 543,551 ---- self.defaultMessageFile = None + if roomdefault_map != "" or roomdefault_map != None: + self.defaultMapFile = roomdefault_map #<room_defaults> tag superceeds older <newrooms> tag + else: + self.defaultMapFile = None + ##### room default map not handled yet. SETTING IGNORED if roomdefault_pass == 0: self.allow_room_passwords = 0 *************** *** 598,610 **** # we only care about the first map element found -- others are ignored mapElement = element.getElementsByTagName('map')[0] ! mapFile = mapElement.getAttribute('file') messageElement = element.getElementsByTagName('message')[0] messageFile = messageElement.getAttribute('file') # Make sure we have a message to even mess with ! if( len(messageFile) == 0 ): messageFile = self.defaultMessageFile #create the new persistant group self.new_group( roomName, roomPassword, bootPassword, minVersion, mapFile, messageFile, persist = 1 ) --- 599,617 ---- # we only care about the first map element found -- others are ignored mapElement = element.getElementsByTagName('map')[0] ! mapFile = orpg.dirpath.dir_struct["user"] + mapElement.getAttribute('file') messageElement = element.getElementsByTagName('message')[0] messageFile = messageElement.getAttribute('file') + if messageFile[:4] != 'http': + messageFile = orpg.dirpath.dir_struct["user"] + messageFile.replace("myfiles/", "") + # Make sure we have a message to even mess with ! if(len(messageFile) == 0): messageFile = self.defaultMessageFile + if(len(mapFile) == 0): + mapFile = self.defaultMapFile + #create the new persistant group self.new_group( roomName, roomPassword, bootPassword, minVersion, mapFile, messageFile, persist = 1 ) *************** *** 1811,1815 **** roomMsgFile = open(data[0]) else: ! roomMsgFile = open( orpg.dirpath.dir_struct["user"] + self.groups[group_id].messageFile, "r" ) roomMsg = roomMsgFile.read() roomMsgFile.close() --- 1818,1822 ---- roomMsgFile = open(data[0]) else: ! roomMsgFile = open(self.groups[group_id].messageFile, "r") roomMsg = roomMsgFile.read() roomMsgFile.close() |
From: Digital X. <dig...@us...> - 2007-03-15 19:53:39
|
Update of /cvsroot/openrpg/openrpg1/orpg/templates In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv7508/orpg/templates Modified Files: default_server_ini.xml Log Message: Index: default_server_ini.xml =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/templates/default_server_ini.xml,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** default_server_ini.xml 13 Mar 2007 23:55:57 -0000 1.12 --- default_server_ini.xml 15 Mar 2007 19:52:41 -0000 1.13 *************** *** 1,6 **** <server lobbyname="Lobby" boot="" register="No" name="Server Name"> <service port="6774" address="hostname/address" /> ! <map file="myfiles/Lobby_map.xml" /> ! <message file="myfiles/LobbyMessage.html" /> <validate_protocol value="true" /> <autokick silent="no" delay="480" /> --- 1,6 ---- <server lobbyname="Lobby" boot="" register="No" name="Server Name"> <service port="6774" address="hostname/address" /> ! <map file="Lobby_map.xml" /> ! <message file="LobbyMessage.html" /> <validate_protocol value="true" /> <autokick silent="no" delay="480" /> *************** *** 10,22 **** <passwords allow="yes"/> <map file=""/> ! <message file="myfiles/LobbyMessage.html"/> </room_defaults> <room name="Example Persistant #1" password="password" boot="password"> ! <map file="myfiles/Lobby_map.xml" /> ! <message file="myfiles/LobbyMessage.html" /> </room> <room name="Example Persistant #2" password="" boot="password"> ! <map file="myfiles/Lobby_map.xml" /> ! <message file="myfiles/LobbyMessage.html" /> </room> </server> --- 10,22 ---- <passwords allow="yes"/> <map file=""/> ! <message file="LobbyMessage.html"/> </room_defaults> <room name="Example Persistant #1" password="password" boot="password"> ! <map file="Lobby_map.xml" /> ! <message file="LobbyMessage.html" /> </room> <room name="Example Persistant #2" password="" boot="password"> ! <map file="Lobby_map.xml" /> ! <message file="LobbyMessage.html" /> </room> </server> |
From: Digital X. <dig...@us...> - 2007-03-15 19:24:12
|
Update of /cvsroot/openrpg/openrpg1/orpg/tools In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv27976/orpg/tools Modified Files: orpg_sound.py Log Message: Added a Volume Control Fixed a Set Range issue on *nix Index: orpg_sound.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/tools/orpg_sound.py,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** orpg_sound.py 10 Mar 2007 17:14:15 -0000 1.24 --- orpg_sound.py 15 Mar 2007 19:24:10 -0000 1.25 *************** *** 12,16 **** try: self.mc = wx.media.MediaCtrl(self) ! self.mc.Hide() self.OldPlayer = False self.Bind(wx.media.EVT_MEDIA_LOADED, self.OnMediaLoaded) --- 12,16 ---- try: self.mc = wx.media.MediaCtrl(self) ! #self.mc.Hide() self.OldPlayer = False self.Bind(wx.media.EVT_MEDIA_LOADED, self.OnMediaLoaded) *************** *** 31,52 **** self.playDict = {} ! self.slider = wx.Slider(self, -1, 0, 0, 0, size=wx.Size(300, -1)) ! self.Bind(wx.EVT_SLIDER, self.onSeek, self.slider) self.loopSound = False self.seeking = False # setup the layout sizer = wx.GridBagSizer(hgap=1, vgap=1) ! sizer.Add(self.playList, (0,0)) ! sizer.Add(btn2, (0,1)) ! sizer.Add(btn3, (0,2)) ! sizer.Add(self.slider, (0,3), flag=wx.EXPAND) sizer.AddGrowableCol(0) sizer.AddGrowableCol(3) self.SetSizer(sizer) self.SetAutoLayout(True) ! self.Fit() self.Bind(wx.EVT_CHOICE, self.PlaySelected, self.playList) --- 31,73 ---- self.playDict = {} + self.ctrlBtn = wx.Button(self, -1, "Show Controls") + self.Bind(wx.EVT_BUTTON, self.OnShow, self.ctrlBtn) + ! self.pslider = wx.Slider(self, -1, 0, 0, 0, size=wx.Size(100, -1)) ! self.Bind(wx.EVT_SLIDER, self.onSeek, self.pslider) ! ! self.pos = wx.StaticText(self, wx.ID_ANY, "Position:") ! self.pslider.Hide() ! self.pos.Hide() ! ! self.vol = wx.StaticText(self, wx.ID_ANY, "Volume:") ! self.vslider = wx.Slider(self, -1, 0, 0, 0, size=wx.Size(50, -1)) ! self.Bind(wx.EVT_SLIDER, self.onVol, self.vslider) ! self.vslider.SetRange(0, 100) ! self.vslider.SetValue(100) ! self.vslider.Hide() ! self.vol.Hide() self.loopSound = False self.seeking = False + self.lastlen = 0 # setup the layout sizer = wx.GridBagSizer(hgap=1, vgap=1) ! sizer.Add(self.playList, (0,0), span=(1,2)) ! sizer.Add(btn2, (0,2)) ! sizer.Add(btn3, (0,3)) ! sizer.Add(self.ctrlBtn, (0,4)) ! sizer.Add(self.pos, (1,0), flag=wx.ALIGN_CENTER) ! sizer.Add(self.pslider, (1,1), flag=wx.EXPAND) ! sizer.Add(self.vol, (1,2), flag=wx.ALIGN_CENTER) ! sizer.Add(self.vslider, (1,3), flag=wx.EXPAND) sizer.AddGrowableCol(0) sizer.AddGrowableCol(3) + sizer.SetEmptyCellSize((0,0)) self.SetSizer(sizer) self.SetAutoLayout(True) ! #self.Fit() self.Bind(wx.EVT_CHOICE, self.PlaySelected, self.playList) *************** *** 139,142 **** --- 160,181 ---- self.timer.Stop() + def OnShow(self, evt): + if self.ctrlBtn.GetLabel() == "Show Controls": + self.ctrlBtn.SetLabel("Hide Controls") + self.pos.Show() + self.pslider.Show() + self.vol.Show() + self.vslider.Show() + else: + self.ctrlBtn.SetLabel("Show Controls") + self.pos.Hide() + self.pslider.Hide() + self.vol.Hide() + self.vslider.Hide() + + def onVol(self, evt): + vol = float(self.vslider.GetValue())/100 + self.mc.SetVolume(vol) + def OnTimer(self, args): if not self.OldPlayer: *************** *** 146,153 **** self.stopBtn.Disable() ! self.slider.SetRange(0, self.mc.Length()) if not self.seeking: ! self.slider.SetValue(self.mc.Tell()) if self.mc.GetState() != wx.media.MEDIASTATE_PLAYING and self.loopSound: --- 185,194 ---- self.stopBtn.Disable() ! if self.mc.Length() > 0 and self.lastlen != self.mc.Length(): ! self.pslider.SetRange(0, self.mc.Length()) ! self.lastlen = self.mc.Length() if not self.seeking: ! self.pslider.SetValue(self.mc.Tell()) if self.mc.GetState() != wx.media.MEDIASTATE_PLAYING and self.loopSound: *************** *** 162,166 **** else: ! self.slider.SetValue(info[1]) wx.CallAfter(self.onSeek, None) --- 203,207 ---- else: ! self.pslider.SetValue(info[1]) wx.CallAfter(self.onSeek, None) |