You can subscribe to this list here.
2007 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
(64) |
Jul
(77) |
Aug
(21) |
Sep
(15) |
Oct
(3) |
Nov
(4) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(1) |
Feb
|
Mar
(12) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
(3) |
Dec
|
From: <ror...@us...> - 2007-07-05 23:29:43
|
Revision: 83 http://roreditor.svn.sourceforge.net/roreditor/?rev=83&view=rev Author: rorthomas Date: 2007-07-05 16:29:38 -0700 (Thu, 05 Jul 2007) Log Message: ----------- * updated dependency-checker Modified Paths: -------------- trunk/lib/ror/repoclient.py Added Paths: ----------- trunk/lib/ror/depchecker/ trunk/lib/ror/depchecker/ror_bmp.py trunk/lib/ror/depchecker/ror_dds.py trunk/lib/ror/depchecker/ror_jpg.py trunk/lib/ror/depchecker/ror_load.py trunk/lib/ror/depchecker/ror_material.py trunk/lib/ror/depchecker/ror_mesh.py trunk/lib/ror/depchecker/ror_overlay.py trunk/lib/ror/depchecker/ror_png.py trunk/lib/ror/depchecker/ror_truck.py trunk/lib/ror/depchecker.py Added: trunk/lib/ror/depchecker/ror_bmp.py =================================================================== --- trunk/lib/ror/depchecker/ror_bmp.py (rev 0) +++ trunk/lib/ror/depchecker/ror_bmp.py 2007-07-05 23:29:38 UTC (rev 83) @@ -0,0 +1,9 @@ +import os, os.path, re +import subprocess + +def getDependencies(filename): + return { + "provide":{ + "file":[os.path.basename(filename)] + } + } Added: trunk/lib/ror/depchecker/ror_dds.py =================================================================== --- trunk/lib/ror/depchecker/ror_dds.py (rev 0) +++ trunk/lib/ror/depchecker/ror_dds.py 2007-07-05 23:29:38 UTC (rev 83) @@ -0,0 +1,9 @@ +import os, os.path, re +import subprocess + +def getDependencies(filename): + return { + "provide":{ + "file":[os.path.basename(filename)] + } + } Added: trunk/lib/ror/depchecker/ror_jpg.py =================================================================== --- trunk/lib/ror/depchecker/ror_jpg.py (rev 0) +++ trunk/lib/ror/depchecker/ror_jpg.py 2007-07-05 23:29:38 UTC (rev 83) @@ -0,0 +1,9 @@ +import os, os.path, re +import subprocess + +def getDependencies(filename): + return { + "provide":{ + "file":[os.path.basename(filename)] + } + } Added: trunk/lib/ror/depchecker/ror_load.py =================================================================== --- trunk/lib/ror/depchecker/ror_load.py (rev 0) +++ trunk/lib/ror/depchecker/ror_load.py 2007-07-05 23:29:38 UTC (rev 83) @@ -0,0 +1,5 @@ +import os, os.path +import ror_truck + +def getDependencies(filename): + return ror_truck.getDependencies(filename) Added: trunk/lib/ror/depchecker/ror_material.py =================================================================== --- trunk/lib/ror/depchecker/ror_material.py (rev 0) +++ trunk/lib/ror/depchecker/ror_material.py 2007-07-05 23:29:38 UTC (rev 83) @@ -0,0 +1,39 @@ +import os, os.path, re +import subprocess + +RE1 = r"^\s*texture.?([a-zA-Z0-9_\-]*\.[a-zA-Z0-9]*)\s?.*" +RE2 = r"\s?material\s?([a-zA-Z0-9_/\-\\]*).?" + +def readFile(filename): + f=open(filename, 'r') + content = f.readlines() + f.close() + return content + +def parseRE(content, r): + vals = [] + for line in content: + m = re.match(r, line) + if not m is None and len(m.groups()) > 0: + valname = m.groups()[0] + if not valname in vals: + vals.append(valname) + return vals + +def getDependencies(filename): + content = readFile(filename) + dep = parseRE(content, RE1) + prov = parseRE(content, RE2) + if len(dep) == 0: + print "no texture found in material file " + filename + if len(prov) == 0: + print "no material found in material file " + filename + else: + return { + "depends":{ + "file":dep + }, + "provide":{ + "materials":prov + } + } Added: trunk/lib/ror/depchecker/ror_mesh.py =================================================================== --- trunk/lib/ror/depchecker/ror_mesh.py (rev 0) +++ trunk/lib/ror/depchecker/ror_mesh.py 2007-07-05 23:29:38 UTC (rev 83) @@ -0,0 +1,48 @@ +import os, os.path, re +import subprocess + +CONVERTERBIN = "C:\\OgreCommandLineTools\\OgreXmlConverter.exe" +REs = [r".*material\s?=[\"\']([a-zA-Z0-9_/\-\\]*)[\"\'].*"] + +def readFile(filename): + f=open(filename, 'r') + content = f.readlines() + f.close() + return content + +def convertToXML(filename): + # try to convert to .msh.xml first! + cmd = CONVERTERBIN + " " + filename + p = subprocess.Popen(cmd, shell = False, cwd = os.path.dirname(CONVERTERBIN), stderr = subprocess.PIPE, stdout = subprocess.PIPE) + p.wait() + print "mesh converted: " + filename + +def parseRE(content): + deps = [] + for line in content: + for r in REs: + m = re.match(r, line) + if not m is None and len(m.groups()) > 0: + depname = m.groups()[0] + if not depname in deps: + deps.append(depname) + return deps + + +def getDependencies(filename): + xmlfilename = os.path.join(os.path.dirname(filename), os.path.basename(filename)+".xml") + if not os.path.isfile(xmlfilename): + convertToXML(filename) + try: + content = readFile(xmlfilename) + except Exception, e: + print e + dep = parseRE(content) + if len(dep) == 0: + print "no material found for file " + filename + else: + return { + "depends":{ + "materials":dep + } + } Added: trunk/lib/ror/depchecker/ror_overlay.py =================================================================== --- trunk/lib/ror/depchecker/ror_overlay.py (rev 0) +++ trunk/lib/ror/depchecker/ror_overlay.py 2007-07-05 23:29:38 UTC (rev 83) @@ -0,0 +1,5 @@ +import os, os.path, re +import subprocess + +def getDependencies(filename): + pass Added: trunk/lib/ror/depchecker/ror_png.py =================================================================== --- trunk/lib/ror/depchecker/ror_png.py (rev 0) +++ trunk/lib/ror/depchecker/ror_png.py 2007-07-05 23:29:38 UTC (rev 83) @@ -0,0 +1,9 @@ +import os, os.path, re +import subprocess + +def getDependencies(filename): + return { + "provide":{ + "file":[os.path.basename(filename)] + } + } Added: trunk/lib/ror/depchecker/ror_truck.py =================================================================== --- trunk/lib/ror/depchecker/ror_truck.py (rev 0) +++ trunk/lib/ror/depchecker/ror_truck.py 2007-07-05 23:29:38 UTC (rev 83) @@ -0,0 +1,21 @@ +import os, os.path +from truckparser import * + +def getDependencies(filename): + p = rorparser() + p.parse(filename) + if not 'globals' in p.tree.keys(): + print "truck parsing error on file " + filename + truckfilename = os.path.basename(filename) + truckname, ext = os.path.splitext(truckfilename) + matname = p.tree['globals'][0]['data'][2] + print truckname + return { + "depends":{ + "materials":[matname], + #"file":[truckname+'-mini.png'] + }, + "provide":{ + "file":[truckfilename] + } + } Added: trunk/lib/ror/depchecker.py =================================================================== --- trunk/lib/ror/depchecker.py (rev 0) +++ trunk/lib/ror/depchecker.py 2007-07-05 23:29:38 UTC (rev 83) @@ -0,0 +1,117 @@ +#Thomas Fischer 31/05/2007, th...@th... +import sys, os, os.path + +#DIR = "C:\\games\\RoR-0.31a\\data" +DEPCHECKPATH = "depchecker" + +class RoRDepChecker: + def __init__(self, path): + sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)), DEPCHECKPATH)) + self.deptree = {'materials':{},'file':{}} + self.dir = path + self.getfiles() + self.createDepGraph() + self.viewDepGraph("all") + self.viewDepGraph("unused") + self.viewDepGraph("missing") + + + def getDependencies(self, extension, filename): + try: + mod = __import__("ror_" + extension.lstrip(".")) + except ImportError, e: + return + pass + + return mod.getDependencies(filename) + + + def getfiles(self): + fl = {} + for root, dirs, files in os.walk(self.dir): + for f in files: + if f in fl.keys(): + print "double file found: %s!" % (f) + continue + fl[f] = {} + fl[f]['filename'] = os.path.join(root, f) + #for fk in fl.keys(): + # print "%30s: %s" % (fk, fl[fk]['filename']) + print "found %d files!" % (len(fl.keys())) + self.files = fl + + + def viewDepGraph(self, mode = "all"): + displayedfiles = 0 + str = "" + str += "-------------------------------------------------------------\n" + if mode == "all": + str += "--- Dependency tree for %s \n" % (self.dir) + elif mode == "unused": + str += "--- Unused resources for %s \n" % (self.dir) + elif mode == "missing": + str += "--- Missing requirements for %s \n" % (self.dir) + str += "-------------------------------------------------------------\n" + for fk in self.deptree.keys(): + str += "--------- Category: %-20s -------------------\n" % fk + for k in self.deptree[fk].keys(): + req = self.deptree[fk][k]['depends'] + if len(req) > 0: + reqstr = ", ".join(req) + else: + reqstr = "None" + found = self.deptree[fk][k]['provide'] + if len(found) > 0: + foundstr = ", ".join(found) + else: + foundstr = "None" + display = False + if mode == "all": + display = True + elif mode == "unused": + display = (len(found) > 0 and len(req) == 0) + elif mode == "missing": + display = (len(req) > 0 and len(found) == 0) + if display: + displayedfiles += 1 + str += "%40s: %16s%-10s\n%41s %16s%-10s\n" % (k, "required by: ", reqstr, "", "provided by: ", foundstr) + if displayedfiles > 0: + print str + elif displayedfiles == 0: + if mode == "all": + print "No resources found at all!" + elif mode == "unused": + print "No resources unused!" + elif mode == "missing": + print "No resources missing!" + + + + def createDepGraph(self): + #extlist = [] + for fk in self.files.keys(): + fn, ext = os.path.splitext(fk) + filename = self.files[fk]['filename'] + dep = self.getDependencies(ext, filename) + keywords = ['provide', 'depends'] + if not dep is None: + for kw in keywords: + if kw in dep.keys(): + for pk in dep[kw].keys(): + for p in dep[kw][pk]: + #print kw, pk, p + if not p in self.deptree[pk].keys(): + self.deptree[pk][p] = {keywords[0]:[], keywords[1]:[]} + self.deptree[pk][p][kw].append(fk) + + + #if not ext in extlist: + # extlist.append(ext) + #print extlist + + +def main(): + RoRDepChecker(sys.argv[1]) + +if __name__ == "__main__": + main() Modified: trunk/lib/ror/repoclient.py =================================================================== --- trunk/lib/ror/repoclient.py 2007-07-04 13:31:18 UTC (rev 82) +++ trunk/lib/ror/repoclient.py 2007-07-05 23:29:38 UTC (rev 83) @@ -1,8 +1,11 @@ import xmlrpclib -s = xmlrpclib.Server('http://repository.rigsofrods.com:8000') -package = s.getInfo() -for item in package['data']: - print item +def getFiles(category): + s = xmlrpclib.Server('http://repository.rigsofrods.com:8000') + package = s.getInfo(category) + return package -print s.system.listMethods() \ No newline at end of file + +#for item in package['data']: +# print item +#print s.system.listMethods() \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ror...@us...> - 2007-07-04 13:31:21
|
Revision: 82 http://roreditor.svn.sourceforge.net/roreditor/?rev=82&view=rev Author: rorthomas Date: 2007-07-04 06:31:18 -0700 (Wed, 04 Jul 2007) Log Message: ----------- added repo client stub Added Paths: ----------- trunk/lib/ror/repoclient.py Added: trunk/lib/ror/repoclient.py =================================================================== --- trunk/lib/ror/repoclient.py (rev 0) +++ trunk/lib/ror/repoclient.py 2007-07-04 13:31:18 UTC (rev 82) @@ -0,0 +1,8 @@ +import xmlrpclib + +s = xmlrpclib.Server('http://repository.rigsofrods.com:8000') +package = s.getInfo() +for item in package['data']: + print item + +print s.system.listMethods() \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ror...@us...> - 2007-07-03 01:39:52
|
Revision: 81 http://roreditor.svn.sourceforge.net/roreditor/?rev=81&view=rev Author: rorthomas Date: 2007-07-02 18:39:50 -0700 (Mon, 02 Jul 2007) Log Message: ----------- * minor bugfix Modified Paths: -------------- trunk/lib/ror/svngui.py Modified: trunk/lib/ror/svngui.py =================================================================== --- trunk/lib/ror/svngui.py 2007-07-03 01:38:56 UTC (rev 80) +++ trunk/lib/ror/svngui.py 2007-07-03 01:39:50 UTC (rev 81) @@ -33,11 +33,11 @@ dlg = wx.MessageDialog(self.pr, "No Update available!", "Info", wx.OK | wx.ICON_INFORMATION) dlg.ShowModal() dlg.Destroy() - self.restart() elif self.changes > 2: dlg = wx.MessageDialog(self.pr, "Update finished!\nThe Application now restarts itself!", "Info", wx.OK | wx.ICON_INFORMATION) dlg.ShowModal() dlg.Destroy() + self.restart() def notify(self, event_dict): self.changes += 1 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ror...@us...> - 2007-07-03 01:38:57
|
Revision: 80 http://roreditor.svn.sourceforge.net/roreditor/?rev=80&view=rev Author: rorthomas Date: 2007-07-02 18:38:56 -0700 (Mon, 02 Jul 2007) Log Message: ----------- * application restarts itself after an update automatically Modified Paths: -------------- trunk/lib/ror/svngui.py Added Paths: ----------- trunk/updaterestart.bat trunk/updaterestart.py Modified: trunk/lib/ror/svngui.py =================================================================== --- trunk/lib/ror/svngui.py 2007-07-03 01:27:22 UTC (rev 79) +++ trunk/lib/ror/svngui.py 2007-07-03 01:38:56 UTC (rev 80) @@ -21,13 +21,21 @@ self.pr.Hide() del self.pr + def restart(self): + path = os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)),"..\\..")) + path = os.path.join(path, "updaterestart.bat") + log().info("restarting ...") + p = Popen(path, shell = True) + sys.exit(0) + def showfinished(self): if self.changes == 2: dlg = wx.MessageDialog(self.pr, "No Update available!", "Info", wx.OK | wx.ICON_INFORMATION) dlg.ShowModal() dlg.Destroy() + self.restart() elif self.changes > 2: - dlg = wx.MessageDialog(self.pr, "Update finished!\nPlease restart the Application!", "Info", wx.OK | wx.ICON_INFORMATION) + dlg = wx.MessageDialog(self.pr, "Update finished!\nThe Application now restarts itself!", "Info", wx.OK | wx.ICON_INFORMATION) dlg.ShowModal() dlg.Destroy() Added: trunk/updaterestart.bat =================================================================== --- trunk/updaterestart.bat (rev 0) +++ trunk/updaterestart.bat 2007-07-03 01:38:56 UTC (rev 80) @@ -0,0 +1 @@ +%systemdrive%\python25\python.exe updaterestart.py %1 %2 %3 %4 %5 %6 %7 %8 %9 Added: trunk/updaterestart.py =================================================================== --- trunk/updaterestart.py (rev 0) +++ trunk/updaterestart.py 2007-07-03 01:38:56 UTC (rev 80) @@ -0,0 +1,12 @@ +import sys, os, os.path +from subprocess import Popen + +def main(): + import time + time.sleep(1) + path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "rortoolkit.bat") + p = Popen(path, shell = True) + sys.exit(0) + +if __name__=="__main__": + main() \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ror...@us...> - 2007-07-03 01:27:25
|
Revision: 79 http://roreditor.svn.sourceforge.net/roreditor/?rev=79&view=rev Author: rorthomas Date: 2007-07-02 18:27:22 -0700 (Mon, 02 Jul 2007) Log Message: ----------- * fixed bug report * modified svngui message when no update was found * bugreport is now only possible with latest version Modified Paths: -------------- trunk/lib/ror/bugreport.py trunk/lib/ror/starter.py trunk/lib/ror/svngui.py Modified: trunk/lib/ror/bugreport.py =================================================================== --- trunk/lib/ror/bugreport.py 2007-07-03 00:44:38 UTC (rev 78) +++ trunk/lib/ror/bugreport.py 2007-07-03 01:27:22 UTC (rev 79) @@ -1,7 +1,10 @@ import wx, os, os.path -import rorsettings +from ror.logger import log +from ror.settingsManager import getSettingsManager + BUGREPORT_FILENAME = "hwinfo.txt" +ATTACHEDLOGFILES = ['Ogre.log', 'ogre.cfg', 'editor.ini'] class BugReportFrame(wx.Frame): def __init__(self, *args, **kwds): @@ -11,7 +14,7 @@ self.panel = wx.Panel(self, wx.ID_ANY) desc = """Please describe the Bug below: some tips: -* if you give us an email in the text, we can answer you, otherwise not. +* if you give us an email in the text (or a forum member name), we can answer you, otherwise not. * it is good to take screenshots of errors, glitches and so on. you can insert imageshack.us or equivalent URLs below.""" self.lblText1 = wx.StaticText(self.panel, wx.ID_ANY, desc) @@ -41,11 +44,7 @@ if hwinfo == "": return txt += hwinfo - txt += self.getLogs() - - txt += "\n==========================\n" - txt += "==========================\n" - + txt += self.getLogs(ATTACHEDLOGFILES) self.writeFile(BUGREPORT_FILENAME, txt) def writeFile(self, filename, content): @@ -59,94 +58,15 @@ outfile.close() return t - # not working - # def installPyWin(self): - # dlg = wx.MessageDialog(self, "Python Windows extensions are required for this to work. I will try install them now in the Registry.\n", "Error", wx.OK | wx.ICON_INFORMATION) - # dlg.ShowModal() - # dlg.Destroy() - # import pywin32_postinstall - # pywin32_postinstall.install() - - def getLogs(self): + def getLogs(self, files): txt = "" - try: - txt += "==========================\n" - txt += "RoR Ogre.log following\n" - txt += "==========================\n" - ogrelogfn = rorsettings.getSettings().getRoRDir() - txt += self.readFile(os.path.join(ogrelogfn,"Ogre.log")) - except: - txt += "RoR Ogre.log ERROR\n" - pass - try: - txt += "==========================\n" - txt += "RoR ogre.cfg following\n" - txt += "==========================\n" - ogrelogfn = rorsettings.getSettings().getRoRDir() - txt += self.readFile(os.path.join(ogrelogfn,"ogre.cfg")) - except: - txt += "RoR ogre.cfg ERROR\n" - pass - - try: - txt += "==========================\n" - txt += "RoR plugins.cfg following\n" - txt += "==========================\n" - ogrelogfn = rorsettings.getSettings().getRoRDir() - txt += self.readFile(os.path.join(ogrelogfn,"plugins.cfg")) - except: - txt += "RoR plugins.cfg ERROR\n" - pass - - try: - txt += "==========================\n" - txt += "RoR.cfg following\n" - txt += "==========================\n" - ogrelogfn = rorsettings.getSettings().getRoRDir() - txt += self.readFile(os.path.join(ogrelogfn,"RoR.cfg")) - except: - txt += "RoR.cfg ERROR\n" - pass - - try: - txt += "==========================\n" - txt += "RoR resources.cfg following\n" - txt += "==========================\n" - ogrelogfn = rorsettings.getSettings().getRoRDir() - txt += self.readFile(os.path.join(ogrelogfn,"resources.cfg")) - except: - txt += "RoR resources.cfg ERROR\n" - pass - - try: - txt += "==========================\n" - txt += "RoRToolkit Ogre.log following\n" - txt += "==========================\n" - ogrelogfn = rorsettings.getSettings().getRoRDir() - txt += self.readFile("Ogre.log") - except: - txt += "RoRToolkit Ogre.log ERROR\n" - pass - - try: - txt += "==========================\n" - txt += "RoRToolkit ogre.cfg following\n" - txt += "==========================\n" - ogrelogfn = rorsettings.getSettings().getRoRDir() - txt += self.readFile("ogre.cfg") - except: - txt += "RoRToolkit ogre.cfg ERROR\n" - pass - - try: - txt += "==========================\n" - txt += "RoRToolkit plugins.cfg following\n" - txt += "==========================\n" - ogrelogfn = rorsettings.getSettings().getRoRDir() - txt += self.readFile("plugins.cfg") - except: - txt += "RoRToolkit plugins.cfg ERROR\n" - pass + for f in files: + try: + txt += "==|==|== %s\n" % f + txt += self.readFile(f) + except Exception, e: + txt += "ERROR: %s\n" % str(e) + pass return txt def getHWInfos(self): @@ -230,6 +150,12 @@ self.TextCtrlOwn.SaveFile(BUGREPORT_FILENAME) owninfos = self.readFile(BUGREPORT_FILENAME) + if owninfos.strip() == "": + dlg = wx.MessageDialog(self, "You must provide an error description!", "Error", wx.OK | wx.ICON_INFORMATION) + dlg.ShowModal() + dlg.Destroy() + return + txt = owninfos + "\r\n" + hwinfos bugreport = base64.b64encode(txt) Modified: trunk/lib/ror/starter.py =================================================================== --- trunk/lib/ror/starter.py 2007-07-03 00:44:38 UTC (rev 78) +++ trunk/lib/ror/starter.py 2007-07-03 01:27:22 UTC (rev 79) @@ -13,7 +13,7 @@ DIRECTXLINE = "Plugin=RenderSystem_Direct3D9.dll" OPENGLLINE = "Plugin=RenderSystem_GL.dll" -SPLASHIMAGE = "splash.bmp" +SPLASHIMAGE = os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)), "splash.bmp")) class ImagePanel(wx.Panel): @@ -65,27 +65,8 @@ self.rordir = getSettingsManager().getSetting("RigsOfRods", "BasePath") - # this takes too long! threading it?! - #if self.checkForUpdate(): - # dlg = wx.MessageDialog(self, "Update Available!", "Info", wx.OK | wx.ICON_INFORMATION) - # dlg.ShowModal() - # dlg.Destroy() #print self.rordir - if not self.rordir is None: - if self.checkRoRDir(self.rordir): - self.btnStartRoR.Enable(True) - self.btnStartTruckEditor.Enable(True) - self.btnStartTerrainEditor.Enable(True) - else: - self.rordir = "" - self.btnStartRoR.Enable(False) - self.btnStartTruckEditor.Enable(False) - self.btnStartTerrainEditor.Enable(False) - else: - self.btnStartRoR.Enable(False) - self.btnStartTruckEditor.Enable(False) - self.btnStartTerrainEditor.Enable(False) self.displayRoRDir() self.__set_properties() self.__do_layout() @@ -94,8 +75,16 @@ def displayRoRDir(self): if self.rordir == "": + self.btnStartRoR.Enable(False) + self.btnStartTruckEditor.Enable(False) + self.btnStartTerrainEditor.Enable(False) + self.btnBugReport.Enable(False) self.lblRoRDir.SetLabel("Please select Rigs of Rods Directory!") else: + self.btnStartRoR.Enable(True) + self.btnStartTruckEditor.Enable(True) + self.btnStartTerrainEditor.Enable(True) + self.btnBugReport.Enable(True) self.lblRoRDir.SetLabel("Selected Rigs of Rods Directory: " + self.rordir) def OnSelectRenderer(self, id=None, func=None): @@ -155,6 +144,13 @@ def OnBugReport(self, event=None): try: + if self.checkForUpdate(): + dlg = wx.MessageDialog(self, "Update Available!\nPlease update prior submitting a BugReport!", "Info", wx.OK | wx.ICON_INFORMATION) + dlg.ShowModal() + dlg.Destroy() + self.btnBugReport.Enable(False) + return + log().info("starting bugreporter") import ror.bugreport ror.bugreport.showBugReportFrame() @@ -184,8 +180,10 @@ dlg = wx.MessageDialog(self, "RoR.exe not found in the selected directory!\nPlease select a new directory!", "Error", wx.OK | wx.ICON_INFORMATION) dlg.ShowModal() dlg.Destroy() + self.rordir = "" return False + self.rordir = fn return True def OnSelectRoRDir(self, event=None): @@ -199,11 +197,8 @@ # no need to escape here! #newpath = newpath.replace(" ", "\ ") self.rordir = newpath - self.lblRoRDir.SetLabel(newpath) getSettingsManager().setSetting("RigsOfRods", "BasePath", newpath) - self.btnStartRoR.Enable(True) - self.btnStartTruckEditor.Enable(True) - self.btnStartTerrainEditor.Enable(True) + self.displayRoRDir() def OnExit(self, event=None): self.Close() Modified: trunk/lib/ror/svngui.py =================================================================== --- trunk/lib/ror/svngui.py 2007-07-03 00:44:38 UTC (rev 78) +++ trunk/lib/ror/svngui.py 2007-07-03 01:27:22 UTC (rev 79) @@ -22,9 +22,14 @@ del self.pr def showfinished(self): - dlg = wx.MessageDialog(self.pr, "Update finished!\nPlease restart the Application!", "Info", wx.OK | wx.ICON_INFORMATION) - dlg.ShowModal() - dlg.Destroy() + if self.changes == 2: + dlg = wx.MessageDialog(self.pr, "No Update available!", "Info", wx.OK | wx.ICON_INFORMATION) + dlg.ShowModal() + dlg.Destroy() + elif self.changes > 2: + dlg = wx.MessageDialog(self.pr, "Update finished!\nPlease restart the Application!", "Info", wx.OK | wx.ICON_INFORMATION) + dlg.ShowModal() + dlg.Destroy() def notify(self, event_dict): self.changes += 1 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ror...@us...> - 2007-07-03 00:44:42
|
Revision: 78 http://roreditor.svn.sourceforge.net/roreditor/?rev=78&view=rev Author: rorthomas Date: 2007-07-02 17:44:38 -0700 (Mon, 02 Jul 2007) Log Message: ----------- * added bitmap to starter Modified Paths: -------------- trunk/lib/ror/starter.py Modified: trunk/lib/ror/starter.py =================================================================== --- trunk/lib/ror/starter.py 2007-07-01 14:59:25 UTC (rev 77) +++ trunk/lib/ror/starter.py 2007-07-03 00:44:38 UTC (rev 78) @@ -13,7 +13,21 @@ DIRECTXLINE = "Plugin=RenderSystem_Direct3D9.dll" OPENGLLINE = "Plugin=RenderSystem_GL.dll" +SPLASHIMAGE = "splash.bmp" + +class ImagePanel(wx.Panel): + """ class Panel1 creates a panel with an image on it, inherits wx.Panel """ + def __init__(self, parent, id, imageFile): + wx.Panel.__init__(self, parent, id) + try: + jpg1 = wx.Image(imageFile, wx.BITMAP_TYPE_ANY).ConvertToBitmap() + wx.StaticBitmap(self, wx.ID_ANY, jpg1, (0, 0), (jpg1.GetWidth(), jpg1.GetHeight())) + except IOError: + print "Image file %s not found" % imageFile + raise SystemExit + + class SettingsDialog(wx.Frame): rordir = None def __init__(self, *args, **kwds): @@ -21,8 +35,10 @@ wx.Frame.__init__(self, *args, **kwds) self.panel = wx.Panel(self, wx.ID_ANY) + + self.image = ImagePanel(self.panel, wx.ID_ANY, SPLASHIMAGE) - self.lblRoRDir = wx.StaticText(self.panel, wx.ID_ANY, "Please select Rigs of Rods Directory!") + self.lblRoRDir = wx.StaticText(self.panel, wx.ID_ANY, "Please select Rigs of Rods Directory!", size = (20, 20), style = wx.ALIGN_CENTRE | wx.ST_NO_AUTORESIZE) self.btnSelectRoRDir = wx.Button(self.panel, wx.ID_ANY, "Select RoR Directory") self.Bind(wx.EVT_BUTTON, self.OnSelectRoRDir, self.btnSelectRoRDir) @@ -61,23 +77,27 @@ self.btnStartRoR.Enable(True) self.btnStartTruckEditor.Enable(True) self.btnStartTerrainEditor.Enable(True) - self.lblRoRDir.SetLabel(self.rordir) else: self.rordir = "" self.btnStartRoR.Enable(False) self.btnStartTruckEditor.Enable(False) self.btnStartTerrainEditor.Enable(False) - self.lblRoRDir.SetLabel("Please select Rigs of Rods Directory!") - else: self.btnStartRoR.Enable(False) self.btnStartTruckEditor.Enable(False) self.btnStartTerrainEditor.Enable(False) + self.displayRoRDir() self.__set_properties() self.__do_layout() self.renderSystem = RENDERSYSTEMS[0] + def displayRoRDir(self): + if self.rordir == "": + self.lblRoRDir.SetLabel("Please select Rigs of Rods Directory!") + else: + self.lblRoRDir.SetLabel("Selected Rigs of Rods Directory: " + self.rordir) + def OnSelectRenderer(self, id=None, func=None): self.renderSystem = self.cbbRenderEngine.GetCurrentSelection() self.updateRenderer() @@ -199,6 +219,7 @@ def __do_layout(self): sizer_panel = wx.BoxSizer(wx.VERTICAL) + sizer_panel.Add(self.image, 0, wx.EXPAND, 0) sizer_panel.Add(self.lblRoRDir, 0, wx.EXPAND, 0) sizer_panel.Add(self.btnSelectRoRDir, 0, wx.EXPAND, 0) sizer_panel.Add(self.cbbRenderEngine, 0, wx.EXPAND, 0) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ror...@us...> - 2007-07-01 14:59:26
|
Revision: 77 http://roreditor.svn.sourceforge.net/roreditor/?rev=77&view=rev Author: rorthomas Date: 2007-07-01 07:59:25 -0700 (Sun, 01 Jul 2007) Log Message: ----------- * deleted test file again, pls ignore this Removed Paths: ------------- trunk/tools/Kopie von pywin32-setup.exe Deleted: trunk/tools/Kopie von pywin32-setup.exe =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ror...@us...> - 2007-07-01 14:23:04
|
Revision: 76 http://roreditor.svn.sourceforge.net/roreditor/?rev=76&view=rev Author: rorthomas Date: 2007-07-01 07:22:54 -0700 (Sun, 01 Jul 2007) Log Message: ----------- * test commit, pls ignore Added Paths: ----------- trunk/tools/Kopie von pywin32-setup.exe Added: trunk/tools/Kopie von pywin32-setup.exe =================================================================== (Binary files differ) Property changes on: trunk/tools/Kopie von pywin32-setup.exe ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ror...@us...> - 2007-07-01 14:16:15
|
Revision: 75 http://roreditor.svn.sourceforge.net/roreditor/?rev=75&view=rev Author: rorthomas Date: 2007-07-01 07:16:14 -0700 (Sun, 01 Jul 2007) Log Message: ----------- * minor fixes to the starter regarding exit Modified Paths: -------------- trunk/lib/ror/starter.py Modified: trunk/lib/ror/starter.py =================================================================== --- trunk/lib/ror/starter.py 2007-07-01 14:10:37 UTC (rev 74) +++ trunk/lib/ror/starter.py 2007-07-01 14:16:14 UTC (rev 75) @@ -107,10 +107,12 @@ def OnUpdate(self, event=None): import svngui gui = svngui.svnUpdate() + del gui def checkForUpdate(self): import svn return svn.checkForUpdate() + def OnStartRoR(self, event=None): try: @@ -184,7 +186,8 @@ self.btnStartTerrainEditor.Enable(True) def OnExit(self, event=None): - self.Close() + self.Close() + sys.exit(0) def __set_properties(self): try: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ror...@us...> - 2007-07-01 14:10:39
|
Revision: 74 http://roreditor.svn.sourceforge.net/roreditor/?rev=74&view=rev Author: rorthomas Date: 2007-07-01 07:10:37 -0700 (Sun, 01 Jul 2007) Log Message: ----------- * minor gui bugfix Modified Paths: -------------- trunk/lib/ror/svngui.py Modified: trunk/lib/ror/svngui.py =================================================================== --- trunk/lib/ror/svngui.py 2007-07-01 14:08:19 UTC (rev 73) +++ trunk/lib/ror/svngui.py 2007-07-01 14:10:37 UTC (rev 74) @@ -19,15 +19,16 @@ svn.svnupdate(self.notify) self.showfinished() self.pr.Hide() + del self.pr def showfinished(self): - dlg = wx.MessageDialog(self, "Update finished!\nPlease restart the Application!", "Info", wx.OK | wx.ICON_INFORMATION) + dlg = wx.MessageDialog(self.pr, "Update finished!\nPlease restart the Application!", "Info", wx.OK | wx.ICON_INFORMATION) dlg.ShowModal() dlg.Destroy() def notify(self, event_dict): self.changes += 1 msg = str(event_dict['action']) + ", " + event_dict['path'] - self.pr.Update(self.changes % 100, msg) - #self.pr.Pulse(msg) + #self.pr.Update(self.changes % 100, msg) + self.pr.Pulse(msg) \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ror...@us...> - 2007-07-01 14:09:31
|
Revision: 73 http://roreditor.svn.sourceforge.net/roreditor/?rev=73&view=rev Author: rorthomas Date: 2007-07-01 07:08:19 -0700 (Sun, 01 Jul 2007) Log Message: ----------- * added update gui basics Modified Paths: -------------- trunk/lib/ror/starter.py trunk/lib/ror/svn.py Added Paths: ----------- trunk/lib/ror/svngui.py Modified: trunk/lib/ror/starter.py =================================================================== --- trunk/lib/ror/starter.py 2007-07-01 13:35:19 UTC (rev 72) +++ trunk/lib/ror/starter.py 2007-07-01 14:08:19 UTC (rev 73) @@ -48,6 +48,13 @@ self.Bind(wx.EVT_BUTTON, self.OnExit, self.btnExit) self.rordir = getSettingsManager().getSetting("RigsOfRods", "BasePath") + + # this takes too long! threading it?! + #if self.checkForUpdate(): + # dlg = wx.MessageDialog(self, "Update Available!", "Info", wx.OK | wx.ICON_INFORMATION) + # dlg.ShowModal() + # dlg.Destroy() + #print self.rordir if not self.rordir is None: if self.checkRoRDir(self.rordir): @@ -98,8 +105,12 @@ f.close() def OnUpdate(self, event=None): + import svngui + gui = svngui.svnUpdate() + + def checkForUpdate(self): import svn - svn.run() + return svn.checkForUpdate() def OnStartRoR(self, event=None): try: Modified: trunk/lib/ror/svn.py =================================================================== --- trunk/lib/ror/svn.py 2007-07-01 13:35:19 UTC (rev 72) +++ trunk/lib/ror/svn.py 2007-07-01 14:08:19 UTC (rev 73) @@ -2,6 +2,9 @@ import sys, os, os.path import pysvn +from ror.logger import log +from ror.settingsManager import getSettingsManager + URL = "http://roreditor.svn.sourceforge.net/svnroot/roreditor/trunk" changes = 0 BACKUPFILES = ['ogre.cfg'] @@ -30,6 +33,25 @@ info = client.info(path) return info['revision'].number +def checkForUpdate(): + client = pysvn.Client() + path = getRootPath() + rev = getRevision(client, path) + rev += 1 + try: + log = client.log(path, + revision_start=pysvn.Revision(pysvn.opt_revision_kind.number, rev), + revision_end=pysvn.Revision(pysvn.opt_revision_kind.head), + discover_changed_paths=False, + strict_node_history=True, + limit=0) + for e in log: + print "--- r%d, author: %s:\n%s\n" %(e['revision'].number, e['author'], e['message']) + if len(log) > 0: + return True + except: + return False + def callback_ssl_server_trust_prompt(trust_data): return True, trust_data['failures'], True @@ -49,7 +71,7 @@ for e in log: print "--- r%d, author: %s:\n%s\n" %(e['revision'].number, e['author'], e['message']) -def svnupdate(): +def svnupdate(callback = None): global changes path = getRootPath() changes = 0 @@ -57,7 +79,10 @@ client = pysvn.Client() revision_before = getRevision(client, path) print "updating from revision %d ..." % revision_before - client.callback_notify = notify + if callback is None: + client.callback_notify = notify + else: + client.callback_notify = callback client.callback_ssl_server_trust_prompt = callback_ssl_server_trust_prompt client.update(path, recurse = True, Added: trunk/lib/ror/svngui.py =================================================================== --- trunk/lib/ror/svngui.py (rev 0) +++ trunk/lib/ror/svngui.py 2007-07-01 14:08:19 UTC (rev 73) @@ -0,0 +1,33 @@ +#Thomas Fischer 31/05/2007, th...@th... +from wxogre.OgreManager import * +from ror.RoROgreWindow import * +from ror.rorcommon import * +from subprocess import Popen + +from ror.logger import log +from ror.settingsManager import getSettingsManager + +import svn + +import wx, os, os.path + +class svnUpdate(): + def __init__(self): + self.pr = wx.ProgressDialog("Updating ...", "Updating ...", style = wx.PD_SMOOTH | wx.PD_ELAPSED_TIME | wx.PD_ESTIMATED_TIME | wx.PD_REMAINING_TIME) + self.pr.Show() + self.changes = 0 + svn.svnupdate(self.notify) + self.showfinished() + self.pr.Hide() + + def showfinished(self): + dlg = wx.MessageDialog(self, "Update finished!\nPlease restart the Application!", "Info", wx.OK | wx.ICON_INFORMATION) + dlg.ShowModal() + dlg.Destroy() + + def notify(self, event_dict): + self.changes += 1 + msg = str(event_dict['action']) + ", " + event_dict['path'] + self.pr.Update(self.changes % 100, msg) + #self.pr.Pulse(msg) + \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ror...@us...> - 2007-07-01 13:35:25
|
Revision: 72 http://roreditor.svn.sourceforge.net/roreditor/?rev=72&view=rev Author: rorthomas Date: 2007-07-01 06:35:19 -0700 (Sun, 01 Jul 2007) Log Message: ----------- * minor log rendersystem modification Modified Paths: -------------- trunk/lib/ror/starter.py Modified: trunk/lib/ror/starter.py =================================================================== --- trunk/lib/ror/starter.py 2007-07-01 13:07:27 UTC (rev 71) +++ trunk/lib/ror/starter.py 2007-07-01 13:35:19 UTC (rev 72) @@ -80,7 +80,7 @@ f=open(filename, 'r') content = f.readlines() f.close() - print self.renderSystem + log().info("selected rendersystem: %s" % RENDERSYSTEMS[self.renderSystem]) for i in range(0, len(content)): if content[i].find(OPENGLLINE) >= 0: if self.renderSystem == 0: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ror...@us...> - 2007-07-01 13:07:28
|
Revision: 71 http://roreditor.svn.sourceforge.net/roreditor/?rev=71&view=rev Author: rorthomas Date: 2007-07-01 06:07:27 -0700 (Sun, 01 Jul 2007) Log Message: ----------- * moved editor.ini file to main directory * svn update now creates a backup the file ogre.cfg and restores it after the update * please do NOT check in editor.ini in future revisions. it is generated upon the first start Modified Paths: -------------- trunk/lib/ror/settingsManager.py trunk/lib/ror/svn.py Removed Paths: ------------- trunk/lib/ror/editor.ini Deleted: trunk/lib/ror/editor.ini =================================================================== --- trunk/lib/ror/editor.ini 2007-06-30 19:27:23 UTC (rev 70) +++ trunk/lib/ror/editor.ini 2007-07-01 13:07:27 UTC (rev 71) @@ -1,6 +0,0 @@ -[RigsOfRods] -basepath = C:\games\RoR-0.31a - -[gui] -usegui = yes - Modified: trunk/lib/ror/settingsManager.py =================================================================== --- trunk/lib/ror/settingsManager.py 2007-06-30 19:27:23 UTC (rev 70) +++ trunk/lib/ror/settingsManager.py 2007-07-01 13:07:27 UTC (rev 71) @@ -13,7 +13,8 @@ class RoRSettings: myConfig = None - configfilename = os.path.join(os.path.dirname(os.path.abspath(__file__)), CONFIGFILE) + configfilename = os.path.join(os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)),"..\\..")),CONFIGFILE) + #configfilename = os.path.join(os.path.dirname(os.path.abspath(__file__)), CONFIGFILE) def __init__(self): self.loadSettings() Modified: trunk/lib/ror/svn.py =================================================================== --- trunk/lib/ror/svn.py 2007-06-30 19:27:23 UTC (rev 70) +++ trunk/lib/ror/svn.py 2007-07-01 13:07:27 UTC (rev 71) @@ -4,6 +4,7 @@ URL = "http://roreditor.svn.sourceforge.net/svnroot/roreditor/trunk" changes = 0 +BACKUPFILES = ['ogre.cfg'] def getRootPath(): path = os.path.dirname(os.path.abspath(__file__)) @@ -87,10 +88,27 @@ except: print "error while checkout!" +def createBackup(): + import shutil + for f in BACKUPFILES: + fn = os.path.join(getRootPath(), f) + fnbackup = fn + "_backup" + if os.path.isfile(fn): + shutil.copy(fn, fnbackup) +def restoreBackup(): + import shutil + for f in BACKUPFILES: + fn = os.path.join(getRootPath(), f) + fnbackup = fn + "_backup" + if os.path.isfile(fnbackup): + shutil.move(fnbackup, fn) + def run(): if os.path.isdir(os.path.join(getRootPath(), "media")): + createBackup() svnupdate() + restoreBackup() else: svncheckout() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ror...@us...> - 2007-06-30 19:27:26
|
Revision: 70 http://roreditor.svn.sourceforge.net/roreditor/?rev=70&view=rev Author: rorthomas Date: 2007-06-30 12:27:23 -0700 (Sat, 30 Jun 2007) Log Message: ----------- * fixed wrong path issue when executing the other bat files Modified Paths: -------------- trunk/terraineditor.py trunk/truckeditor.py Modified: trunk/terraineditor.py =================================================================== --- trunk/terraineditor.py 2007-06-30 01:19:50 UTC (rev 69) +++ trunk/terraineditor.py 2007-06-30 19:27:23 UTC (rev 70) @@ -7,6 +7,11 @@ """ sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)), "lib")) + import ror.settingsManager + path = ror.settingsManager.getSettingsManager().getSetting("RigsOfRods", "BasePath") + if not os.path.isfile(os.path.join(path,"RoR.exe")): + import ror.starter + ror.starter.startApp() # Import Psyco if available try: Modified: trunk/truckeditor.py =================================================================== --- trunk/truckeditor.py 2007-06-30 01:19:50 UTC (rev 69) +++ trunk/truckeditor.py 2007-06-30 19:27:23 UTC (rev 70) @@ -7,6 +7,11 @@ """ sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)), "lib")) + import ror.settingsManager + path = ror.settingsManager.getSettingsManager().getSetting("RigsOfRods", "BasePath") + if not os.path.isfile(os.path.join(path,"RoR.exe")): + import ror.starter + ror.starter.startApp() # Import Psyco if available try: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ror...@us...> - 2007-06-30 01:19:52
|
Revision: 69 http://roreditor.svn.sourceforge.net/roreditor/?rev=69&view=rev Author: rorthomas Date: 2007-06-29 18:19:50 -0700 (Fri, 29 Jun 2007) Log Message: ----------- * re-added ror start button to starter.py * fixed truck rotations on save (http://forum.rigsofrods.com/index.php/topic,682.msg10240.html#msg10240) Modified Paths: -------------- trunk/lib/ror/starter.py trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py Modified: trunk/lib/ror/starter.py =================================================================== --- trunk/lib/ror/starter.py 2007-06-30 00:59:28 UTC (rev 68) +++ trunk/lib/ror/starter.py 2007-06-30 01:19:50 UTC (rev 69) @@ -26,8 +26,8 @@ self.btnSelectRoRDir = wx.Button(self.panel, wx.ID_ANY, "Select RoR Directory") self.Bind(wx.EVT_BUTTON, self.OnSelectRoRDir, self.btnSelectRoRDir) - #self.btnStartRoR = wx.Button(self.panel, wx.ID_ANY, "Start RoR") - #self.Bind(wx.EVT_BUTTON, self.OnStartRoR, self.btnStartRoR) + self.btnStartRoR = wx.Button(self.panel, wx.ID_ANY, "Start RoR") + self.Bind(wx.EVT_BUTTON, self.OnStartRoR, self.btnStartRoR) self.cbbRenderEngine = wx.ComboBox(self.panel, wx.ID_ANY, RENDERSYSTEMS[0], style=wx.CB_READONLY, choices=RENDERSYSTEMS) self.Bind(wx.EVT_COMBOBOX, self.OnSelectRenderer, self.cbbRenderEngine) @@ -51,19 +51,19 @@ #print self.rordir if not self.rordir is None: if self.checkRoRDir(self.rordir): - #self.btnStartRoR.Enable(True) + self.btnStartRoR.Enable(True) self.btnStartTruckEditor.Enable(True) self.btnStartTerrainEditor.Enable(True) self.lblRoRDir.SetLabel(self.rordir) else: self.rordir = "" - #self.btnStartRoR.Enable(False) + self.btnStartRoR.Enable(False) self.btnStartTruckEditor.Enable(False) self.btnStartTerrainEditor.Enable(False) self.lblRoRDir.SetLabel("Please select Rigs of Rods Directory!") else: - #self.btnStartRoR.Enable(False) + self.btnStartRoR.Enable(False) self.btnStartTruckEditor.Enable(False) self.btnStartTerrainEditor.Enable(False) self.__set_properties() @@ -168,7 +168,7 @@ self.rordir = newpath self.lblRoRDir.SetLabel(newpath) getSettingsManager().setSetting("RigsOfRods", "BasePath", newpath) - #self.btnStartRoR.Enable(True) + self.btnStartRoR.Enable(True) self.btnStartTruckEditor.Enable(True) self.btnStartTerrainEditor.Enable(True) @@ -187,8 +187,8 @@ sizer_panel = wx.BoxSizer(wx.VERTICAL) sizer_panel.Add(self.lblRoRDir, 0, wx.EXPAND, 0) sizer_panel.Add(self.btnSelectRoRDir, 0, wx.EXPAND, 0) - #sizer_panel.Add(self.btnStartRoR, 0, wx.EXPAND, 0) sizer_panel.Add(self.cbbRenderEngine, 0, wx.EXPAND, 0) + sizer_panel.Add(self.btnStartRoR, 0, wx.EXPAND, 0) sizer_panel.Add(self.btnStartTerrainEditor, 0, wx.EXPAND, 0) sizer_panel.Add(self.btnStartTruckEditor, 0, wx.EXPAND, 0) sizer_panel.Add(self.btnBugReport, 0, wx.EXPAND, 0) Modified: trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py =================================================================== --- trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py 2007-06-30 00:59:28 UTC (rev 68) +++ trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py 2007-06-30 01:19:50 UTC (rev 69) @@ -393,12 +393,8 @@ posx, posy, posz, rotx, roty, rotz = self.getPositionRotation(self.trucks[k]) - if rotx != 0: - rotx -= 180 - if roty != 0: - roty -= 180 - if rotz != 0: - rotz -= 180 + rotx -= 90 + truckstring = k.split(".")[-1] + "\t " + k ar = [self.formatFloat(posx), self.formatFloat(posy), This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ror...@us...> - 2007-06-30 00:59:32
|
Revision: 68 http://roreditor.svn.sourceforge.net/roreditor/?rev=68&view=rev Author: rorthomas Date: 2007-06-29 17:59:28 -0700 (Fri, 29 Jun 2007) Log Message: ----------- * added opengl/directx combobox selector to starter * removed BSP manager from default plugins.cfg Modified Paths: -------------- trunk/lib/ror/starter.py trunk/plugins.cfg Modified: trunk/lib/ror/starter.py =================================================================== --- trunk/lib/ror/starter.py 2007-06-29 22:32:03 UTC (rev 67) +++ trunk/lib/ror/starter.py 2007-06-30 00:59:28 UTC (rev 68) @@ -9,6 +9,11 @@ import wx, os, os.path +RENDERSYSTEMS = ['OpenGL', 'DirectX9'] + +DIRECTXLINE = "Plugin=RenderSystem_Direct3D9.dll" +OPENGLLINE = "Plugin=RenderSystem_GL.dll" + class SettingsDialog(wx.Frame): rordir = None def __init__(self, *args, **kwds): @@ -23,6 +28,9 @@ #self.btnStartRoR = wx.Button(self.panel, wx.ID_ANY, "Start RoR") #self.Bind(wx.EVT_BUTTON, self.OnStartRoR, self.btnStartRoR) + + self.cbbRenderEngine = wx.ComboBox(self.panel, wx.ID_ANY, RENDERSYSTEMS[0], style=wx.CB_READONLY, choices=RENDERSYSTEMS) + self.Bind(wx.EVT_COMBOBOX, self.OnSelectRenderer, self.cbbRenderEngine) self.btnStartTerrainEditor = wx.Button(self.panel, wx.ID_ANY, "Start Terrain Editor") self.Bind(wx.EVT_BUTTON, self.OnTerrainEditor, self.btnStartTerrainEditor) @@ -60,7 +68,35 @@ self.btnStartTerrainEditor.Enable(False) self.__set_properties() self.__do_layout() + + self.renderSystem = RENDERSYSTEMS[0] + def OnSelectRenderer(self, id=None, func=None): + self.renderSystem = self.cbbRenderEngine.GetCurrentSelection() + self.updateRenderer() + + def updateRenderer(self): + filename = os.path.join(os.getcwd(), "plugins.cfg") + f=open(filename, 'r') + content = f.readlines() + f.close() + print self.renderSystem + for i in range(0, len(content)): + if content[i].find(OPENGLLINE) >= 0: + if self.renderSystem == 0: + content[i] = OPENGLLINE+"\n" + else: + content[i] = "#"+OPENGLLINE+"\n" + elif content[i].find(DIRECTXLINE) >= 0: + if self.renderSystem == 1: + content[i] = DIRECTXLINE+"\n" + else: + content[i] = "#"+DIRECTXLINE+"\n" + + f=open(filename, 'w') + f.writelines(content) + f.close() + def OnUpdate(self, event=None): import svn svn.run() @@ -149,18 +185,19 @@ def __do_layout(self): sizer_panel = wx.BoxSizer(wx.VERTICAL) - sizer_panel.Add(self.lblRoRDir, 0, wx.EXPAND, 0) - sizer_panel.Add(self.btnSelectRoRDir, 0, wx.EXPAND, 0) + sizer_panel.Add(self.lblRoRDir, 0, wx.EXPAND, 0) + sizer_panel.Add(self.btnSelectRoRDir, 0, wx.EXPAND, 0) #sizer_panel.Add(self.btnStartRoR, 0, wx.EXPAND, 0) - sizer_panel.Add(self.btnStartTerrainEditor, 0, wx.EXPAND, 0) - sizer_panel.Add(self.btnStartTruckEditor, 0, wx.EXPAND, 0) - sizer_panel.Add(self.btnBugReport, 0, wx.EXPAND, 0) - sizer_panel.Add(self.btnUpdate, 0, wx.EXPAND, 0) - sizer_panel.Add(self.btnExit, 0, wx.EXPAND, 0) + sizer_panel.Add(self.cbbRenderEngine, 0, wx.EXPAND, 0) + sizer_panel.Add(self.btnStartTerrainEditor, 0, wx.EXPAND, 0) + sizer_panel.Add(self.btnStartTruckEditor, 0, wx.EXPAND, 0) + sizer_panel.Add(self.btnBugReport, 0, wx.EXPAND, 0) + sizer_panel.Add(self.btnUpdate, 0, wx.EXPAND, 0) + sizer_panel.Add(self.btnExit, 0, wx.EXPAND, 0) self.panel.SetSizer(sizer_panel) sizer_main = wx.BoxSizer(wx.VERTICAL) - sizer_main.Add(self.panel, 0, wx.EXPAND, 0) + sizer_main.Add(self.panel, 0, wx.EXPAND, 0) self.SetAutoLayout(True) self.SetSizer(sizer_main) Modified: trunk/plugins.cfg =================================================================== --- trunk/plugins.cfg 2007-06-29 22:32:03 UTC (rev 67) +++ trunk/plugins.cfg 2007-06-30 00:59:28 UTC (rev 68) @@ -3,6 +3,6 @@ #disable the directx plugin as it would require the latest directx system #Plugin=RenderSystem_Direct3D9.dll Plugin=Plugin_ParticleFX.dll -Plugin=Plugin_BSPSceneManager.dll +#Plugin=Plugin_BSPSceneManager.dll Plugin=Plugin_OctreeSceneManager.dll Plugin=Plugin_CgProgramManager.dll \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ap...@us...> - 2007-06-29 22:32:09
|
Revision: 67 http://roreditor.svn.sourceforge.net/roreditor/?rev=67&view=rev Author: aperion Date: 2007-06-29 15:32:03 -0700 (Fri, 29 Jun 2007) Log Message: ----------- Added a Camera Class to handle camera movement, Perhaps we can use this class to handled all camera movement in the future. This change moves the camera from a first person view to a third person view. Modified Paths: -------------- trunk/lib/rortruckeditor/RoRTruckOgreWindow.py Added Paths: ----------- trunk/lib/ror/camera.py Added: trunk/lib/ror/camera.py =================================================================== --- trunk/lib/ror/camera.py (rev 0) +++ trunk/lib/ror/camera.py 2007-06-29 22:32:03 UTC (rev 67) @@ -0,0 +1,137 @@ +#Chris Ritchey 29/06/2007, re...@gm... +import ogre.renderer.OGRE as ogre +import math +from random import random + +class Camera: + "Stores information about the camera position" + def __init__(self, rootNode, camera): + self.cameraRadius = 1 + self.camera = camera + self.rand = str(random()) + + self.targetNode = rootNode.createChildSceneNode("cameraTargetNode" + self.rand, ogre.Vector3(0,0,0)) + self.cameraNode = self.targetNode.createChildSceneNode("cameraNode" + self.rand, \ + self.targetNode.getPosition() + ogre.Vector3(0,0, self.cameraRadius))\ + + self.cameraNode.attachObject(self.camera) + self.targetNode.flipVisibility() + + #self.camera.setPosition(self.cameraNode.getPosition()) + #self.camera.lookAt(self.targetNode.getPosition()) + + self.camera.nearClipDistance = 0.1 + self.camera.setAutoAspectRatio(True) + + self.cameraMotion = ogre.Vector3(0,0,0) + + #self.curCoordinate = Cartesian() + #self.curPosition = ogre.Vector3(0,0,0) + #self.newPosition = ogre.Vector3(0,0,0) + #self.origin = ogre.Vector3(0,0,0) + + def move(self, movement, modifier): + #print "I'm here!!: %.3f, %.3f, %.3f" % (movement.x, movement.y, movement.z) + movement *= ogre.Vector3(-1,1,1) + movement /= 5 + + if modifier: + self.cameraNode.translate(self.cameraNode.getOrientation() * movement) + else: + self.targetNode.pitch(ogre.Degree(-movement.y)) + self.targetNode.yaw(ogre.Degree(movement.x)) + self.cameraNode.translate(ogre.Vector3(0,0, movement.z)) + +""" +class Spherical: + "Spherical coordinates class" + def __init__(self): + # coordinates stored as <rho, phi, theta> in radians + self.rho = 0 + self.phi = 0 + self.theta = 0 + + def setCartesian(self, other): + rho = sqrt(other.x**2 + other.y**2 + other.z**2) + phi = atan2(sqrt(other.x**2 + other.z**2), other.y) + theta = atan2(other.x, other.z) + + def cartesian(self): + return ogre.Vector3( + rho * sin(phi) * cos(theta), \ + rho * cos(phi),\ + rho * sin(phi) * sin(theta)) + + def vertical(self, amount): + phi += amount + phi = fabs(fmod(phi, math.pi)) + + def horizontal(self, amount): + #will need adjust the amount by some factor so the same value can be + #used for all three coordinate classes + theta += amount + theta = fabs(fmod(phi, 2*math.pi)) + + def zoom(self, amount): + #will need adjust the amount by some factor so the same value can be + #used for all three coordinate classes + rho += amount + if rho < 0: + rho = 0 + + def moveto(self, amount): + horizontal(self, amount.x) + vertical(self, amount.y) + zoom(self, amount.z) + +class Cartesian: + "cartesian coordinates class" + def __init__(self): + self.position = ogre.Vector3(0,0,0) + def setCartesian(self, other): + self.position = other + + def cartesian(self): + return self.position + + def vertical(self, amount): + self.position.y += amount + + def horizontal(self, amount): + self.position.z += amount + + def zoom(self, amount): + self.position.x += amount + + def moveto(self, amount): + self.position += amount + +class Cylindrical: + "cartesian coordinates class" + def __init__(self): + self.r = 0 + self.theta = 0 + self.z = 0 + + def cartesian(self): + return ogre.Vector3(r*sin(theta), y, r*cos(theta)) + + def vertical(self, amount): + y += amount + + def horizontal(self, amount): + theta += amount + theta = fabs(fmod(phi, 2*math.pi)) + + def zoom(self, amount): + #will need adjust the amount by some factor so the same value can be + #used for all three coordinate classes + r += amount + if r < 0: + r = 0 + + def moveto(self, amount): + horizontal(self, amount.x) + vertical(self, amount.y) + zoom(self, amount.z) +""" \ No newline at end of file Modified: trunk/lib/rortruckeditor/RoRTruckOgreWindow.py =================================================================== --- trunk/lib/rortruckeditor/RoRTruckOgreWindow.py 2007-06-29 13:18:42 UTC (rev 66) +++ trunk/lib/rortruckeditor/RoRTruckOgreWindow.py 2007-06-29 22:32:03 UTC (rev 67) @@ -2,6 +2,7 @@ import wx, os, os.path import ogre.renderer.OGRE as ogre from ror.truckparser import * +from ror.camera import * from ror.logger import log from ror.settingsManager import getSettingsManager @@ -97,11 +98,12 @@ # create a camera self.camera = self.sceneManager.createCamera('Camera') - self.camera.lookAt(ogre.Vector3(0, 0, 0)) - self.camera.setPosition(ogre.Vector3(0, 0, 3)) - self.camera.nearClipDistance = 0.1 - self.camera.setAutoAspectRatio(True) - + #self.camera.lookAt(ogre.Vector3(0, 0, 0)) + #self.camera.setPosition(ogre.Vector3(0, 0, 3)) + #self.camera.nearClipDistance = 0.1 + #self.camera.setAutoAspectRatio(False) + self.camera2 = Camera(self.sceneManager.getRootSceneNode(), self.camera) + # create the Viewport" self.viewport = self.renderWindow.addViewport(self.camera, 0, 0.0, 0.0, 1.0, 1.0) self.viewport.backgroundColour = ogre.ColourValue(0, 0, 0) @@ -600,6 +602,19 @@ zfactor = 0.01 zoom = zfactor * -event.GetWheelRotation() self.camera.moveRelative(ogre.Vector3(0,0, zoom)) + + if event.Dragging() and event.RightIsDown(): + x,y = event.GetPosition() + + dx = self.StartDragX - x + dy = self.StartDragY - y + self.StartDragX, self.StartDragY = x, y + if event.ShiftDown(): + dx = float(dx) / 10 + dy = float(dy) / 10 + self.camera2.move(ogre.Vector3(dx,dy,0), event.ControlDown()) + + """ if event.Dragging() and event.RightIsDown() and event.ControlDown(): x,y = event.GetPosition() dx = self.StartDragX - x @@ -612,6 +627,7 @@ dx = float(dx) / 50 dy = float(dy) / 50 self.camera.moveRelative(ogre.Vector3(dx,-dy,0)) + elif event.Dragging() and event.RightIsDown(): #Dragging with RMB x,y = event.GetPosition() dx = self.StartDragX - x @@ -620,7 +636,8 @@ self.camera.yaw(ogre.Degree(dx/3.0)) self.camera.pitch(ogre.Degree(dy/3.0)) - +""" + if event.LeftDown() and event.ControlDown() and not self.mSelected is None: pos = self.getPointedPosition(event) if not pos is None: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ror...@us...> - 2007-06-29 13:18:44
|
Revision: 66 http://roreditor.svn.sourceforge.net/roreditor/?rev=66&view=rev Author: rorthomas Date: 2007-06-29 06:18:42 -0700 (Fri, 29 Jun 2007) Log Message: ----------- * added newton.chm - newton help * fixed UVFrame.py and RoRUVOgreWindow.py * beams are now updated, but the bad way :( Modified Paths: -------------- trunk/lib/ror/editor.ini trunk/lib/rortruckeditor/RoRTruckOgreWindow.py trunk/lib/rortruckeditor/RoRUVOgreWindow.py trunk/lib/rortruckeditor/UVFrame.py Added Paths: ----------- trunk/lib/ogre/newton.chm Added: trunk/lib/ogre/newton.chm =================================================================== (Binary files differ) Property changes on: trunk/lib/ogre/newton.chm ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/lib/ror/editor.ini =================================================================== --- trunk/lib/ror/editor.ini 2007-06-29 09:37:09 UTC (rev 65) +++ trunk/lib/ror/editor.ini 2007-06-29 13:18:42 UTC (rev 66) @@ -1,7 +1,6 @@ [RigsOfRods] basepath = C:\games\RoR-0.31a - -# this is a comment + [gui] usegui = yes Modified: trunk/lib/rortruckeditor/RoRTruckOgreWindow.py =================================================================== --- trunk/lib/rortruckeditor/RoRTruckOgreWindow.py 2007-06-29 09:37:09 UTC (rev 65) +++ trunk/lib/rortruckeditor/RoRTruckOgreWindow.py 2007-06-29 13:18:42 UTC (rev 66) @@ -73,6 +73,7 @@ def OnFrameStarted(self): if self.enablephysics: self.World.update(TIMER) + self.updateBeams() pass def OnFrameEnded(self): @@ -267,12 +268,32 @@ line.position(pos2) line.end() line.setCastShadows(False) + line.setDynamic(True) linenode = self.sceneManager.getRootSceneNode().createChildSceneNode() linenode.attachObject(line) self.beams[id0] = [linenode, id1, id2, options, line] + print id0 except: pass + def updateBeams(self): + for bk in self.beams.keys(): + beam = self.beams[bk] + line = beam[4] + id1 = beam[1] + id2 = beam[2] + try: + pos1 = self.nodes[id1][0].getPosition() + pos2 = self.nodes[id2][0].getPosition() + line.beginUpdate(0) + line.position(pos1) + line.position(pos2) + line.end() + except Exception, e: + print str(e) + continue + + def createShock(self, id0, id1, id2, options): try: pos1 = self.nodes[id1][0].getPosition() @@ -344,7 +365,7 @@ smnode = self.sceneManager.getRootSceneNode().createChildSceneNode() smnode.attachObject(sm) - self.submeshs[smgid] = [smnode, smgid, smg] + self.submeshs[smgid] = [smnode, smgid, smg, sm] except: pass @@ -514,9 +535,9 @@ #print beam try: self.createBeam(beamcounter, int(beam[0]),int(beam[1]), option) + beamcounter += 1 except: pass - beamcounter += 1 if 'shocks' in tree.keys(): Modified: trunk/lib/rortruckeditor/RoRUVOgreWindow.py =================================================================== --- trunk/lib/rortruckeditor/RoRUVOgreWindow.py 2007-06-29 09:37:09 UTC (rev 65) +++ trunk/lib/rortruckeditor/RoRUVOgreWindow.py 2007-06-29 13:18:42 UTC (rev 66) @@ -2,7 +2,10 @@ import wx, os, os.path import ogre.renderer.OGRE as ogre from ror.truckparser import * -from ror.rorsettings import * + +from ror.logger import log +from ror.settingsManager import getSettingsManager + from ror.rorcommon import * from wxogre.OgreManager import * from wxogre.wxOgreWindow import * @@ -16,7 +19,7 @@ class RoRUVOgreWindow(wxOgreWindow): def __init__(self, parent, ID, size = wx.Size(200,200), **kwargs): self.parent = parent - self.rordir = getSettings().getRoRDir() + self.rordir = getSettingsManager().getSetting("RigsOfRods", "BasePath") self.World = OgreNewt.World() self.sceneManager = None self.trucktree = None Modified: trunk/lib/rortruckeditor/UVFrame.py =================================================================== --- trunk/lib/rortruckeditor/UVFrame.py 2007-06-29 09:37:09 UTC (rev 65) +++ trunk/lib/rortruckeditor/UVFrame.py 2007-06-29 13:18:42 UTC (rev 66) @@ -1,7 +1,10 @@ #Thomas Fischer 31/05/2007, th...@th... from wxogre.OgreManager import * from ror.RoROgreWindow import * -from ror.rorsettings import * + +from ror.logger import log +from ror.settingsManager import getSettingsManager + from ror.rorcommon import * from RoRUVOgreWindow import * @@ -23,7 +26,7 @@ self.splitter.SetSashPosition(100) self.splitter.SetMinimumPaneSize(200) - self.rordir = getSettings().getRoRDir() + self.rordir = getSettingsManager().getSetting("RigsOfRods", "BasePath") #ogre windows self.uvOgreWin = RoRUVOgreWindow(self.splitterleft, wx.ID_ANY) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ror...@us...> - 2007-06-29 09:37:12
|
Revision: 65 http://roreditor.svn.sourceforge.net/roreditor/?rev=65&view=rev Author: rorthomas Date: 2007-06-29 02:37:09 -0700 (Fri, 29 Jun 2007) Log Message: ----------- * added event.skip() * re-added physics to truck editor / try pressing Q ;) Modified Paths: -------------- trunk/lib/ror/editor.ini trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py trunk/lib/rortruckeditor/RoRTruckOgreWindow.py Modified: trunk/lib/ror/editor.ini =================================================================== --- trunk/lib/ror/editor.ini 2007-06-29 08:34:25 UTC (rev 64) +++ trunk/lib/ror/editor.ini 2007-06-29 09:37:09 UTC (rev 65) @@ -1,6 +1,7 @@ [RigsOfRods] basepath = C:\games\RoR-0.31a - + +# this is a comment [gui] usegui = yes Modified: trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py =================================================================== --- trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py 2007-06-29 08:34:25 UTC (rev 64) +++ trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py 2007-06-29 09:37:09 UTC (rev 65) @@ -946,7 +946,6 @@ self.StartDragLeftX, self.StartDragLeftY = event.GetPosition() #saves position of initial click if event.GetWheelRotation() != 0: - dir = 5 if event.ShiftDown(): dir *= SHIFT_SPEED_FACTOR # speed is increased by a factor of 16 @@ -1005,7 +1004,7 @@ o = self.camera.getDerivedOrientation() print "P: %.3f %.3f %.3f O: %.3f %.3f %.3f %.3f" % (pos.x,pos.y,pos.z, o.w,o.x,o.y,o.z) - event.Skip() + event.Skip() def onKeyUp(self,event): if not self.TerrainLoaded: @@ -1022,4 +1021,6 @@ elif event.m_keyCode == wx.WXK_PAGEUP: self.keyPress.y = 0 elif event.m_keyCode == wx.WXK_PAGEDOWN: - self.keyPress.y = 0 \ No newline at end of file + self.keyPress.y = 0 + event.Skip() + \ No newline at end of file Modified: trunk/lib/rortruckeditor/RoRTruckOgreWindow.py =================================================================== --- trunk/lib/rortruckeditor/RoRTruckOgreWindow.py 2007-06-29 08:34:25 UTC (rev 64) +++ trunk/lib/rortruckeditor/RoRTruckOgreWindow.py 2007-06-29 09:37:09 UTC (rev 65) @@ -25,6 +25,7 @@ self.sceneManager = None self.uvFrame = None self.clearlist = {'entity':[]} + self.bodies = [] self.initScene() wxOgreWindow.__init__(self, parent, ID, size = size, **kwargs) @@ -32,8 +33,8 @@ if not self.sceneManager is None: self.sceneManager.destroyAllManualObjects() self.EntityCount = 0 - self.bodies=[] + # try to clear things up try: if self.nodes != {}: @@ -125,7 +126,8 @@ else: option = None - size = 0.05 + # 0.05 + size = 0.1 mass = 0.5 * size inertia = OgreNewt.CalcBoxSolid( mass, size ) @@ -139,7 +141,9 @@ box1.setNormaliseNormals(True) col = OgreNewt.Ellipsoid( self.World, size ) - bod = OgreNewt.Body( self.World, col ) + bod = OgreNewt.Body(self.World, col) + self.bodies.append (bod) + del col bod.attachToNode( box1node ) @@ -399,8 +403,8 @@ self.bodies.append(bod) del stat_col - return - ## make a simple rope. + def createTestRope(self): + ## make a simple rope. size = Ogre.Vector3(5,0.5,0.5) pos = Ogre.Vector3(0,20,0) orient = Ogre.Quaternion.IDENTITY @@ -429,14 +433,15 @@ parent = child ## NOW - we also have to kepe copies of the joints, otherwise they get deleted !!! - self.bodies.append ( joint) + self.bodies.append (joint) def createGroundPlane(self): plane = ogre.Plane() plane.normal = ogre.Vector3(0, 1, 0) - plane.d = 50 + plane.d = 2 + planesize = 200000 # see http://www.ogre3d.org/docs/api/html/classOgre_1_1MeshManager.html#Ogre_1_1MeshManagera5 - mesh = ogre.MeshManager.getSingleton().createPlane('GroundPlane', "General", plane, 200000, 200000, + mesh = ogre.MeshManager.getSingleton().createPlane('GroundPlane', "General", plane, planesize, planesize, 20, 20, True, 1, 50.0, 50.0, ogre.Vector3(0, 0, 1), ogre.HardwareBuffer.HBU_STATIC_WRITE_ONLY, ogre.HardwareBuffer.HBU_STATIC_WRITE_ONLY, @@ -444,8 +449,18 @@ entity = self.sceneManager.createEntity('groundent', 'GroundPlane') entity.setMaterialName('mysimple/truckEditorGround') self.planenode = self.sceneManager.getRootSceneNode().createChildSceneNode() - self.planenode.attachObject(entity) + self.planenode.attachObject(entity) + #col = OgreNewt.TreeCollision(self.World, self.planenode, True) + groundthickness = 50 + boxsize = ogre.Vector3(planesize, groundthickness, planesize) + col = OgreNewt.Box(self.World, boxsize ) + bod = OgreNewt.Body( self.World, col ) + self.bodies.append(bod) + bod.setPositionOrientation( Ogre.Vector3(0.0, -groundthickness - plane.d, 0.0), Ogre.Quaternion.IDENTITY ) + del col + + def LoadTruck(self, fn): if not os.path.isfile(fn): print "truck file not found: "+fn @@ -459,8 +474,10 @@ self.initScene() self.CreateTruck(p.tree) + self.createTestRope() + def reLoadTruck(self): if not os.path.isfile(self.filename): return This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ror...@us...> - 2007-06-29 08:34:26
|
Revision: 64 http://roreditor.svn.sourceforge.net/roreditor/?rev=64&view=rev Author: rorthomas Date: 2007-06-29 01:34:25 -0700 (Fri, 29 Jun 2007) Log Message: ----------- * renamed log file Modified Paths: -------------- trunk/lib/ror/logging.ini trunk/ogre.cfg Modified: trunk/lib/ror/logging.ini =================================================================== --- trunk/lib/ror/logging.ini 2007-06-29 08:29:01 UTC (rev 63) +++ trunk/lib/ror/logging.ini 2007-06-29 08:34:25 UTC (rev 64) @@ -22,7 +22,7 @@ class=FileHandler level=DEBUG formatter=full -args=('editorlog.txt', 'w') +args=('editorlog.log', 'w') #console-output-handler [handler_consolelog] Modified: trunk/ogre.cfg =================================================================== --- trunk/ogre.cfg 2007-06-29 08:29:01 UTC (rev 63) +++ trunk/ogre.cfg 2007-06-29 08:34:25 UTC (rev 64) @@ -8,12 +8,3 @@ RTT Preferred Mode=PBuffer VSync=Yes Video Mode=1024 x 480 - -[Direct3D9 Rendering Subsystem] -Allow NVPerfHUD=No -Anti aliasing=None -Floating-point mode=Fastest -Full Screen=Yes -Rendering Device=RADEON X850 Series -VSync=No -Video Mode=800 x 600 @ 32-bit colour This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ror...@us...> - 2007-06-29 08:29:04
|
Revision: 63 http://roreditor.svn.sourceforge.net/roreditor/?rev=63&view=rev Author: rorthomas Date: 2007-06-29 01:29:01 -0700 (Fri, 29 Jun 2007) Log Message: ----------- * deleted old settings class * added new settingsManager and logger * added update bat script * added config files for logging and editor.ini * modified existing classes to use new settingsManager and logger - not completed Modified Paths: -------------- trunk/lib/ror/starter.py trunk/lib/rorterraineditor/MainFrame.py trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py trunk/lib/rortruckeditor/MainFrame.py trunk/lib/rortruckeditor/RoRTruckOgreWindow.py Added Paths: ----------- trunk/lib/ror/editor.ini trunk/lib/ror/logger.py trunk/lib/ror/logging.ini trunk/lib/ror/settingsManager.py trunk/update.bat trunk/update.py Removed Paths: ------------- trunk/lib/ror/rorsettings.py Added: trunk/lib/ror/editor.ini =================================================================== --- trunk/lib/ror/editor.ini (rev 0) +++ trunk/lib/ror/editor.ini 2007-06-29 08:29:01 UTC (rev 63) @@ -0,0 +1,6 @@ +[RigsOfRods] +basepath = C:\games\RoR-0.31a + +[gui] +usegui = yes + Added: trunk/lib/ror/logger.py =================================================================== --- trunk/lib/ror/logger.py (rev 0) +++ trunk/lib/ror/logger.py 2007-06-29 08:29:01 UTC (rev 63) @@ -0,0 +1,22 @@ +import os, os.path, sys, logging,logging.config + +LOGCONFIGFILE = "logging.ini" + +# "extended" singleton +_rorlogger = None +def log(): + global _rorlogger + if _rorlogger is None: + _rorlogger = RoRLogger() + return _rorlogger.getLog() + +class RoRLogger(): + logconfigfilename = os.path.join(os.path.dirname(os.path.abspath(__file__)), LOGCONFIGFILE) + + def __init__(self): + logging.config.fileConfig(self.logconfigfilename) + self.myLog = logging.getLogger("root") + self.myLog.info("logging initialised") + + def getLog(self): + return self.myLog Added: trunk/lib/ror/logging.ini =================================================================== --- trunk/lib/ror/logging.ini (rev 0) +++ trunk/lib/ror/logging.ini 2007-06-29 08:29:01 UTC (rev 63) @@ -0,0 +1,41 @@ +#lines with # are comments! +#please refer to http://docs.python.org/lib/logging-config-fileformat.html + +#list of loggin-targets +[loggers] +keys=root + +#list of handlers +[handlers] +keys=consolelog,filelog + +#list of formatters +[formatters] +keys=full,short + +#main logging-target +[logger_root] +level=NOTSET +handlers=consolelog,filelog + +[handler_filelog] +class=FileHandler +level=DEBUG +formatter=full +args=('editorlog.txt', 'w') + +#console-output-handler +[handler_consolelog] +class=StreamHandler +level=DEBUG +formatter=short +args=(sys.stdout,) + +#logging formats +[formatter_full] +format=%(asctime)s | %(levelname)s | %(filename)s:%(lineno)s | %(message)s +datefmt= + +[formatter_short] +format=%(asctime)s | %(levelname)s | %(message)s +datefmt= Deleted: trunk/lib/ror/rorsettings.py =================================================================== --- trunk/lib/ror/rorsettings.py 2007-06-28 22:29:21 UTC (rev 62) +++ trunk/lib/ror/rorsettings.py 2007-06-29 08:29:01 UTC (rev 63) @@ -1,40 +0,0 @@ -import os, os.path - - -_set = None -def getSettings(): - global _set - if _set is None: - _set = RoRSettings() - return _set - -class RoRSettings: - rordir = None - configfilename = os.path.join(os.path.dirname(os.path.abspath(__file__)), "editor.cfg") - def __init__(self): - self.LoadRoRDir() - - def getRoRDir(self): - return self.rordir - - def setRoRDir(self, dir): - self.rordir = dir - self.SaveRoRDir() - - def LoadRoRDir(self): - try: - f = open(self.configfilename,'r') - self.rordir = os.path.abspath(f.read()) - f.close() - print "Loaded RoR Directory: %s" % self.rordir - print "Loading..." - except: - print "error while loading rordir: %s" % self.configfilename - - def SaveRoRDir(self): - try: - f = open(self.configfilename,'w') - f.write(self.rordir) - f.close() - except: - print "error while saving rordir: %s" % os.path.abspath("editor.cfg") Added: trunk/lib/ror/settingsManager.py =================================================================== --- trunk/lib/ror/settingsManager.py (rev 0) +++ trunk/lib/ror/settingsManager.py 2007-06-29 08:29:01 UTC (rev 63) @@ -0,0 +1,54 @@ +import os, os.path, sys, ConfigParser +import logger + +CONFIGFILE = "editor.ini" + +# singleton pattern +_rorsettings = None +def getSettingsManager(): + global _rorsettings + if _rorsettings is None: + _rorsettings = RoRSettings() + return _rorsettings + +class RoRSettings: + myConfig = None + configfilename = os.path.join(os.path.dirname(os.path.abspath(__file__)), CONFIGFILE) + + def __init__(self): + self.loadSettings() + + def loadSettings(self): + try: + self.myConfig = ConfigParser.ConfigParser() + self.myConfig.read(self.configfilename) + logger.log().info("Settings loaded") + except Exception, e: + logger.log().exception(str(e)) + + def getSetting(self, group, key): + try: + return self.myConfig.get(group, key) + except Exception, e: + logger.log().exception(str(e)) + return "" + + def saveSettings(self): + try: + fp = open(self.configfilename, 'w') + self.myConfig.write(fp) + fp.close() + logger.log().info("Settings saved") + except Exception, e: + logger.log().exception(str(e)) + + def setSetting(self, section, option, value): + try: + if not self.myConfig.has_section(section): + self.myConfig.add_section(section) + self.myConfig.set(section, option, value) + self.saveSettings() + return True + except Exception, e: + logger.log().exception(str(e)) + return False Modified: trunk/lib/ror/starter.py =================================================================== --- trunk/lib/ror/starter.py 2007-06-28 22:29:21 UTC (rev 62) +++ trunk/lib/ror/starter.py 2007-06-29 08:29:01 UTC (rev 63) @@ -1,11 +1,14 @@ #Thomas Fischer 31/05/2007, th...@th... from wxogre.OgreManager import * from ror.RoROgreWindow import * -from ror.rorsettings import * from ror.rorcommon import * from subprocess import Popen -import wx +from ror.logger import log +from ror.settingsManager import getSettingsManager + +import wx, os, os.path + class SettingsDialog(wx.Frame): rordir = None def __init__(self, *args, **kwds): @@ -36,7 +39,7 @@ self.btnExit = wx.Button(self.panel, wx.ID_ANY, "Exit") self.Bind(wx.EVT_BUTTON, self.OnExit, self.btnExit) - self.rordir = getSettings().getRoRDir() + self.rordir = getSettingsManager().getSetting("RigsOfRods", "BasePath") #print self.rordir if not self.rordir is None: if self.checkRoRDir(self.rordir): @@ -63,36 +66,41 @@ svn.run() def OnStartRoR(self, event=None): - #escape spaces! - path = os.path.join(self.rordir, "RoR.exe") - print path - p = Popen(path, shell=False, cwd=self.rordir) - #sts = os.waitpid(p.pid, 0) + try: + path = os.path.join(self.rordir, "RoR.exe") + log().info("starting RoR: %s" % path) + p = Popen(path, shell = False, cwd = self.rordir) + #sts = os.waitpid(p.pid, 0) + except Exception, e: + log().exception(str(e)) def OnTruckEditor(self, event=None): - import rortruckeditor.MainFrame try: + import rortruckeditor.MainFrame self.Close() + log().info("starting Truckeditor") app = rortruckeditor.MainFrame.startApp() del app - except: - pass + except Exception, e: + log().exception(str(e)) def OnBugReport(self, event=None): - import ror.bugreport - #try: - ror.bugreport.showBugReportFrame() - #except: - # pass + try: + log().info("starting bugreporter") + import ror.bugreport + ror.bugreport.showBugReportFrame() + except Exception, e: + log().exception(str(e)) def OnTerrainEditor(self, event=None): - import rorterraineditor.MainFrame try: + import rorterraineditor.MainFrame + log().info("starting Terraineditor") self.Close() app = rorterraineditor.MainFrame.startApp() del app - except: - pass + except Exception, e: + log().exception(str(e)) def checkRoRDir(self, fn): # withoutspaces = (fn.find(" ") == -1) @@ -123,7 +131,7 @@ #newpath = newpath.replace(" ", "\ ") self.rordir = newpath self.lblRoRDir.SetLabel(newpath) - getSettings().setRoRDir(newpath) + getSettingsManager().setSetting("RigsOfRods", "BasePath", newpath) #self.btnStartRoR.Enable(True) self.btnStartTruckEditor.Enable(True) self.btnStartTerrainEditor.Enable(True) Modified: trunk/lib/rorterraineditor/MainFrame.py =================================================================== --- trunk/lib/rorterraineditor/MainFrame.py 2007-06-28 22:29:21 UTC (rev 62) +++ trunk/lib/rorterraineditor/MainFrame.py 2007-06-29 08:29:01 UTC (rev 63) @@ -1,7 +1,10 @@ #Thomas Fischer 31/05/2007, th...@th... from wxogre.OgreManager import * from ror.RoROgreWindow import * -from ror.rorsettings import * + +from ror.logger import log +from ror.settingsManager import getSettingsManager + from ror.rorcommon import * from RoRTerrainOgreWindow import * from RoRTerrainSelectedObjectOgreWindow import * @@ -48,7 +51,7 @@ self.splitter.SetSashPosition(100) self.splitter.SetMinimumPaneSize(200) - self.rordir = getSettings().getRoRDir() + self.rordir = getSettingsManager().getSetting("RigsOfRods", "BasePath") #ogre windows self.terrainOgreWin = RoRTerrainOgreWindow(self.splitterleft, wx.ID_ANY, rordir=self.rordir) Modified: trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py =================================================================== --- trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py 2007-06-28 22:29:21 UTC (rev 62) +++ trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py 2007-06-29 08:29:01 UTC (rev 63) @@ -844,7 +844,7 @@ myManualObject.position(float(node[1]),float(node[2]),float(node[3])) print len(p.tree['submeshgroups']) - if not 'submeshgroups' in p.tree.keys() or len(p.tree['submeshgroups']) == 0: + if len(p.tree['submeshgroups']) > 0: faces = [] for smobj in p.tree['submeshgroups']: for cabobj in smobj['cab']: Modified: trunk/lib/rortruckeditor/MainFrame.py =================================================================== --- trunk/lib/rortruckeditor/MainFrame.py 2007-06-28 22:29:21 UTC (rev 62) +++ trunk/lib/rortruckeditor/MainFrame.py 2007-06-29 08:29:01 UTC (rev 63) @@ -1,7 +1,10 @@ #Thomas Fischer 31/05/2007, th...@th... from wxogre.OgreManager import * from ror.RoROgreWindow import * -from ror.rorsettings import * + +from ror.logger import log +from ror.settingsManager import getSettingsManager + from ror.rorcommon import * from RoRTruckOgreWindow import * @@ -44,7 +47,7 @@ self.splitter.SetSashPosition(100) self.splitter.SetMinimumPaneSize(200) - self.rordir = getSettings().getRoRDir() + self.rordir = getSettingsManager().getSetting("RigsOfRods", "BasePath") #ogre windows self.truckOgreWin = RoRTruckOgreWindow(self.splitterleft, wx.ID_ANY) Modified: trunk/lib/rortruckeditor/RoRTruckOgreWindow.py =================================================================== --- trunk/lib/rortruckeditor/RoRTruckOgreWindow.py 2007-06-28 22:29:21 UTC (rev 62) +++ trunk/lib/rortruckeditor/RoRTruckOgreWindow.py 2007-06-29 08:29:01 UTC (rev 63) @@ -2,7 +2,10 @@ import wx, os, os.path import ogre.renderer.OGRE as ogre from ror.truckparser import * -from ror.rorsettings import * + +from ror.logger import log +from ror.settingsManager import getSettingsManager + from ror.rorcommon import * from wxogre.OgreManager import * from wxogre.wxOgreWindow import * @@ -17,7 +20,7 @@ class RoRTruckOgreWindow(wxOgreWindow): def __init__(self, parent, ID, size = wx.Size(200,200), **kwargs): self.parent = parent - self.rordir = getSettings().getRoRDir() + self.rordir = getSettingsManager().getSetting("RigsOfRods", "BasePath") self.World = OgreNewt.World() self.sceneManager = None self.uvFrame = None Added: trunk/update.bat =================================================================== --- trunk/update.bat (rev 0) +++ trunk/update.bat 2007-06-29 08:29:01 UTC (rev 63) @@ -0,0 +1 @@ +%systemdrive%\python25\python.exe update.py %1 %2 %3 %4 %5 %6 %7 %8 %9 Added: trunk/update.py =================================================================== --- trunk/update.py (rev 0) +++ trunk/update.py 2007-06-29 08:29:01 UTC (rev 63) @@ -0,0 +1,9 @@ +import sys, os, os.path + +def main(): + sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)), "lib")) + import ror.svn + ror.svn.run() + +if __name__=="__main__": + main() \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ror...@us...> - 2007-06-28 22:29:22
|
Revision: 62 http://roreditor.svn.sourceforge.net/roreditor/?rev=62&view=rev Author: rorthomas Date: 2007-06-28 15:29:21 -0700 (Thu, 28 Jun 2007) Log Message: ----------- * short patch on trucks loading without faces - not yet working * updated about dialog Modified Paths: -------------- trunk/lib/ror/rorcommon.py trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py Modified: trunk/lib/ror/rorcommon.py =================================================================== --- trunk/lib/ror/rorcommon.py 2007-06-28 21:35:22 UTC (rev 61) +++ trunk/lib/ror/rorcommon.py 2007-06-28 22:29:21 UTC (rev 62) @@ -1,8 +1,14 @@ import wx def ShowOnAbout(event = None): - dlg = wx.MessageDialog(self, "RoR Toolkit version 0.0.3\n" - "Authors: Thomas Fischer", - "About Me", wx.OK | wx.ICON_INFORMATION) + rev = "" + try: + import ror.svn + rev = str(ror.svn.getRevision()) + except: + pass + + dlg = wx.MessageDialog(None, "RoR Toolkit revision %s\nAuthors: Aperion, Thomas" % rev, + "About This", wx.OK | wx.ICON_INFORMATION) dlg.ShowModal() dlg.Destroy() Modified: trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py =================================================================== --- trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py 2007-06-28 21:35:22 UTC (rev 61) +++ trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py 2007-06-28 22:29:21 UTC (rev 62) @@ -842,19 +842,25 @@ continue node = nodeobj['data'] myManualObject.position(float(node[1]),float(node[2]),float(node[3])) - faces = [] - for smobj in p.tree['submeshgroups']: - for cabobj in smobj['cab']: - if cabobj.has_key('type'): - continue - cab = cabobj['data'] - #print "########face" - if cab != []: - try: - myManualObject.triangle(int(cab[0]),int(cab[1]),int(cab[2])) - except: - print "error with cab: " + str(cab) - pass + + print len(p.tree['submeshgroups']) + if not 'submeshgroups' in p.tree.keys() or len(p.tree['submeshgroups']) == 0: + faces = [] + for smobj in p.tree['submeshgroups']: + for cabobj in smobj['cab']: + if cabobj.has_key('type'): + continue + cab = cabobj['data'] + #print "########face" + if cab != []: + try: + myManualObject.triangle(int(cab[0]),int(cab[1]),int(cab[2])) + except: + print "error with cab: " + str(cab) + pass + else: + print "truck has no faces!" + myManualObject.end() mesh = myManualObject.convertToMesh("manual"+fn+str(self.randomcounter)) entity = self.sceneManager.createEntity("manualtruckent"+fn+str(self.randomcounter), @@ -869,7 +875,8 @@ self.trucksorder.append(truckname) self.trucks[truckname] = myManualObjectNode return myManualObjectNode, truckname - except: + except Exception, inst: + print str(inst) print "error creating truck from file: " + fn return None, None This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ap...@us...> - 2007-06-28 21:35:25
|
Revision: 61 http://roreditor.svn.sourceforge.net/roreditor/?rev=61&view=rev Author: aperion Date: 2007-06-28 14:35:22 -0700 (Thu, 28 Jun 2007) Log Message: ----------- reworked the movement I made the following changes: 1) removed self.moveForce (or what ever the name was 2) speed increases as the key is held down longer 3) can move in more than one direction at the same time. Modified Paths: -------------- trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py Modified: trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py =================================================================== --- trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py 2007-06-28 19:25:44 UTC (rev 60) +++ trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py 2007-06-28 21:35:22 UTC (rev 61) @@ -7,6 +7,9 @@ from random import random ADDEDBY = "//added by the terrrain editor:\n" +SHIFT_SPEED_FACTOR = 15 +SLOW_DOWN_FACTOR = 0.75 +LOW_SPEED_THRESHOLD = 1 class RoRTerrainOgreWindow(wxOgreWindow): @@ -32,8 +35,8 @@ self.trucks = {} self.comments = {} self.meshes = {} - self.moveVector = None - self.moveForce = 0 + self.keyPress = ogre.Vector3(0,0,0) + self.moveVector = ogre.Vector3(0,0,0) self.selectionMaterial = None self.selectionMaterialAnimState = 0 wxOgreWindow.__init__(self, self.parent, self.ID, size = self.size, **self.kwargs) @@ -72,11 +75,17 @@ #move cam a bit - if not self.moveVector is None and self.moveForce > 0: - self.camera.moveRelative(self.moveVector * self.moveForce) - self.moveForce *= 0.75 - if self.moveForce < 0.000: - self.moveForce = 0 + if not self.moveVector is None: + """ DEBUG STATEMENTS + pos = self.moveVector + kp = self.keyPress + print "MV: %.3f %.3f %.3f\tKP: %.3f %.3f %.3f" % (pos.x,pos.y,pos.z,kp.x,kp.y,kp.z) + """ + self.moveVector += self.keyPress + self.camera.moveRelative(self.moveVector) + self.moveVector *= SLOW_DOWN_FACTOR # each iteration slow the movement down by some fator + if self.moveVector < self.moveVector.normalize()*LOW_SPEED_THRESHOLD: + self.moveVector *= 0 def OnFrameEnded(self): pass @@ -130,6 +139,7 @@ # bind mouse and keyboard self.Bind(wx.EVT_KEY_DOWN, self.onKeyDown) + self.Bind(wx.EVT_KEY_UP, self.onKeyUp) self.Bind(wx.EVT_MOUSE_EVENTS, self.onMouseEvent) #create objects @@ -929,14 +939,15 @@ self.StartDragLeftX, self.StartDragLeftY = event.GetPosition() #saves position of initial click if event.GetWheelRotation() != 0: - zfactor = 5 + + dir = 5 if event.ShiftDown(): - zfactor = 80 - dir = 1 + dir *= SHIFT_SPEED_FACTOR # speed is increased by a factor of 16 + if event.GetWheelRotation() > 0: - dir = -1 - self.moveVector = ogre.Vector3(0, 0, dir) - self.moveForce = zfactor + dir *= -1 # move backwards + + self.moveVector += ogre.Vector3(0, 0, dir) event.Skip() @@ -947,25 +958,21 @@ #print event.m_keyCode d = 2 if event.ShiftDown(): - d = 15 + d *= SHIFT_SPEED_FACTOR + if event.m_keyCode == 65: # A, wx.WXK_LEFT: - self.moveVector = ogre.Vector3(-1,0,0) - self.moveForce = d + self.keyPress.x = -d elif event.m_keyCode == 68: # D, wx.WXK_RIGHT: - self.moveVector = ogre.Vector3(1,0,0) - self.moveForce = d + self.keyPress.x = d elif event.m_keyCode == 87: # W ,wx.WXK_UP: - self.moveVector = ogre.Vector3(0,0,-1) - self.moveForce = d + self.keyPress.z = -d elif event.m_keyCode == 83: # S, wx.WXK_DOWN: - self.moveVector = ogre.Vector3(0,0,1) - self.moveForce = d + self.keyPress.z = d elif event.m_keyCode == wx.WXK_PAGEUP: - self.moveVector = ogre.Vector3(0,1,0) - self.moveForce = d + self.keyPress.y = d elif event.m_keyCode == wx.WXK_PAGEDOWN: - self.moveVector = ogre.Vector3(0,-1,0) - self.moveForce = d + self.keyPress.y = -d + elif event.m_keyCode == 81: # Q, wx.WXK_LEFT: self.toggleTranslationRotationMode() elif event.m_keyCode == 84: # 84 = T @@ -991,4 +998,21 @@ o = self.camera.getDerivedOrientation() print "P: %.3f %.3f %.3f O: %.3f %.3f %.3f %.3f" % (pos.x,pos.y,pos.z, o.w,o.x,o.y,o.z) - event.Skip() \ No newline at end of file + event.Skip() + + def onKeyUp(self,event): + if not self.TerrainLoaded: + return + + if event.m_keyCode == 65: # A, wx.WXK_LEFT: + self.keyPress.x = 0 + elif event.m_keyCode == 68: # D, wx.WXK_RIGHT: + self.keyPress.x = 0 + elif event.m_keyCode == 87: # W ,wx.WXK_UP: + self.keyPress.z = 0 + elif event.m_keyCode == 83: # S, wx.WXK_DOWN: + self.keyPress.z = 0 + elif event.m_keyCode == wx.WXK_PAGEUP: + self.keyPress.y = 0 + elif event.m_keyCode == wx.WXK_PAGEDOWN: + self.keyPress.y = 0 \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ror...@us...> - 2007-06-28 19:25:51
|
Revision: 60 http://roreditor.svn.sourceforge.net/roreditor/?rev=60&view=rev Author: rorthomas Date: 2007-06-28 12:25:44 -0700 (Thu, 28 Jun 2007) Log Message: ----------- * truck exception handling bugfix Modified Paths: -------------- trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py Modified: trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py =================================================================== --- trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py 2007-06-28 19:17:35 UTC (rev 59) +++ trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py 2007-06-28 19:25:44 UTC (rev 60) @@ -253,9 +253,9 @@ print "loading truck..." fn = self.rordir + "\\data\\trucks\\"+objname[-1].strip() n, entname = self.createTruckMesh(fn) - self.comments[entname] = comm - comm = [] if not n is None: + self.comments[entname] = comm + comm = [] n.rotate(ogre.Vector3.UNIT_X, ogre.Degree(rx).valueRadians(), relativeTo=ogre.Node.TransformSpace.TS_WORLD) n.rotate(ogre.Vector3.UNIT_Y, ogre.Degree(ry).valueRadians(), relativeTo=ogre.Node.TransformSpace.TS_WORLD) n.rotate(ogre.Vector3.UNIT_Z, ogre.Degree(-rz).valueRadians(), relativeTo=ogre.Node.TransformSpace.TS_WORLD) @@ -265,9 +265,9 @@ print "loading load...." fn = self.rordir + "\\data\\trucks\\"+objname[-1].strip() n, entname = self.createTruckMesh(fn) - self.comments[entname] = comm - comm = [] if not n is None: + self.comments[entname] = comm + comm = [] n.rotate(ogre.Vector3.UNIT_X, ogre.Degree(rx).valueRadians(), relativeTo=ogre.Node.TransformSpace.TS_WORLD) n.rotate(ogre.Vector3.UNIT_Y, ogre.Degree(ry).valueRadians(), relativeTo=ogre.Node.TransformSpace.TS_WORLD) n.rotate(ogre.Vector3.UNIT_Z, ogre.Degree(-rz).valueRadians(), relativeTo=ogre.Node.TransformSpace.TS_WORLD) @@ -775,8 +775,11 @@ if self.selectedCoords is None: return False n, entname = self.createTruckMesh(fn) - n.setPosition(self.selectedCoords) - return True + if not n is None: + n.setPosition(self.selectedCoords) + return True + else: + return False def createTruckMesh(self, fn): if not os.path.isfile(fn): @@ -857,8 +860,8 @@ self.trucks[truckname] = myManualObjectNode return myManualObjectNode, truckname except: - print "error creating truck: " + truckname - return None + print "error creating truck from file: " + fn + return None, None def getPointedPosition(self, event): x, y = event.GetPosition() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ror...@us...> - 2007-06-28 19:17:35
|
Revision: 59 http://roreditor.svn.sourceforge.net/roreditor/?rev=59&view=rev Author: rorthomas Date: 2007-06-28 12:17:35 -0700 (Thu, 28 Jun 2007) Log Message: ----------- * small svn log changes * terrain truck bugfixes Modified Paths: -------------- trunk/lib/ror/svn.py trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py Modified: trunk/lib/ror/svn.py =================================================================== --- trunk/lib/ror/svn.py 2007-06-28 19:05:32 UTC (rev 58) +++ trunk/lib/ror/svn.py 2007-06-28 19:17:35 UTC (rev 59) @@ -67,8 +67,11 @@ if revision_before == revision_after and changes == 2: print "already up to date!" elif changes > 2: - print "updated! please restart the application!" - showLog(client, revision_before + 1, revision_after) + if revision_before != revision_after: + print "updated! please restart the application!" + showLog(client, revision_before + 1, revision_after) + else: + print "no files updated, but restored! please restart the application!" except Exception, inst: print "error while updating: " + str(inst) print "done." Modified: trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py =================================================================== --- trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py 2007-06-28 19:05:32 UTC (rev 58) +++ trunk/lib/rorterraineditor/RoRTerrainOgreWindow.py 2007-06-28 19:17:35 UTC (rev 59) @@ -787,78 +787,78 @@ if not 'nodes' in p.tree.keys() or not 'beams' in p.tree.keys() : return False - #try: - self.randomcounter +=1 + try: + self.randomcounter +=1 - myManualObject = self.sceneManager.createManualObject("manual"+fn+str(self.randomcounter)) + myManualObject = self.sceneManager.createManualObject("manual"+fn+str(self.randomcounter)) - #myManualObjectMaterial = ogre.MaterialManager.getSingleton().create("manualmaterial"+truckname+str(self.randomcounter),"debugger"); - #myManualObjectMaterial.setReceiveShadows(False) - #myManualObjectMaterial.getTechnique(0).setLightingEnabled(True) - #myManualObjectMaterial.getTechnique(0).getPass(0).setDiffuse(0,0,1,0) - #myManualObjectMaterial.getTechnique(0).getPass(0).setAmbient(0,0,1) - #myManualObjectMaterial.getTechnique(0).getPass(0).setSelfIllumination(0,0,1) - #myManualObjectMaterial.getTechnique(0).getPass(0).setCullingMode(ogre.CULL_ANTICLOCKWISE) + #myManualObjectMaterial = ogre.MaterialManager.getSingleton().create("manualmaterial"+truckname+str(self.randomcounter),"debugger"); + #myManualObjectMaterial.setReceiveShadows(False) + #myManualObjectMaterial.getTechnique(0).setLightingEnabled(True) + #myManualObjectMaterial.getTechnique(0).getPass(0).setDiffuse(0,0,1,0) + #myManualObjectMaterial.getTechnique(0).getPass(0).setAmbient(0,0,1) + #myManualObjectMaterial.getTechnique(0).getPass(0).setSelfIllumination(0,0,1) + #myManualObjectMaterial.getTechnique(0).getPass(0).setCullingMode(ogre.CULL_ANTICLOCKWISE) - matname = "" - if fn[-4:].lower() == "load": - matname = 'mysimple/loadcolor' - elif fn[-5:].lower() == "truck": - matname = 'mysimple/truckcolor' - - myManualObject.useIndexes = True - myManualObject.estimateVertexCount(2000) - myManualObject.estimateIndexCount(2000) + matname = "" + if fn[-4:].lower() == "load": + matname = 'mysimple/loadcolor' + elif fn[-5:].lower() == "truck": + matname = 'mysimple/truckcolor' + + myManualObject.useIndexes = True + myManualObject.estimateVertexCount(2000) + myManualObject.estimateIndexCount(2000) - myManualObject.begin(matname+"grid", ogre.RenderOperation.OT_LINE_LIST) - for nodeobj in p.tree['nodes']: - if nodeobj.has_key('type'): - continue - node = nodeobj['data'] - myManualObject.position(float(node[1]),float(node[2]),float(node[3])) - for beamobj in p.tree['beams']: - if beamobj.has_key('type'): - continue - beam = beamobj['data'] - myManualObject.index(int(beam[0])) - myManualObject.index(int(beam[1])) - myManualObject.end() - myManualObject.begin(matname, ogre.RenderOperation.OT_TRIANGLE_LIST) - for nodeobj in p.tree['nodes']: - if nodeobj.has_key('type'): - continue - node = nodeobj['data'] - myManualObject.position(float(node[1]),float(node[2]),float(node[3])) - faces = [] - for smobj in p.tree['submeshgroups']: - for cabobj in smobj['cab']: - if cabobj.has_key('type'): + myManualObject.begin(matname+"grid", ogre.RenderOperation.OT_LINE_LIST) + for nodeobj in p.tree['nodes']: + if nodeobj.has_key('type'): continue - cab = cabobj['data'] - #print "########face" - if cab != []: - try: - myManualObject.triangle(int(cab[0]),int(cab[1]),int(cab[2])) - except: - print "error with cab: " + str(cab) - pass - myManualObject.end() - mesh = myManualObject.convertToMesh("manual"+fn+str(self.randomcounter)) - entity = self.sceneManager.createEntity("manualtruckent"+fn+str(self.randomcounter), - "manual"+fn+str(self.randomcounter)) - #trucknode = self.sceneManager.getRootSceneNode().createChildSceneNode() - myManualObjectNode = self.sceneManager.getRootSceneNode().createChildSceneNode("manualnode"+fn+str(self.randomcounter)) - myManualObjectNode.attachObject(entity) - - myManualObjectNode.attachObject(myManualObject) - - truckname = os.path.basename(fn) - self.trucksorder.append(truckname) - self.trucks[truckname] = myManualObjectNode - return myManualObjectNode, truckname - #except: - # print "error creating truck: " + truckname - # return None + node = nodeobj['data'] + myManualObject.position(float(node[1]),float(node[2]),float(node[3])) + for beamobj in p.tree['beams']: + if beamobj.has_key('type'): + continue + beam = beamobj['data'] + myManualObject.index(int(beam[0])) + myManualObject.index(int(beam[1])) + myManualObject.end() + myManualObject.begin(matname, ogre.RenderOperation.OT_TRIANGLE_LIST) + for nodeobj in p.tree['nodes']: + if nodeobj.has_key('type'): + continue + node = nodeobj['data'] + myManualObject.position(float(node[1]),float(node[2]),float(node[3])) + faces = [] + for smobj in p.tree['submeshgroups']: + for cabobj in smobj['cab']: + if cabobj.has_key('type'): + continue + cab = cabobj['data'] + #print "########face" + if cab != []: + try: + myManualObject.triangle(int(cab[0]),int(cab[1]),int(cab[2])) + except: + print "error with cab: " + str(cab) + pass + myManualObject.end() + mesh = myManualObject.convertToMesh("manual"+fn+str(self.randomcounter)) + entity = self.sceneManager.createEntity("manualtruckent"+fn+str(self.randomcounter), + "manual"+fn+str(self.randomcounter)) + #trucknode = self.sceneManager.getRootSceneNode().createChildSceneNode() + myManualObjectNode = self.sceneManager.getRootSceneNode().createChildSceneNode("manualnode"+fn+str(self.randomcounter)) + myManualObjectNode.attachObject(entity) + + myManualObjectNode.attachObject(myManualObject) + + truckname = os.path.basename(fn) + self.trucksorder.append(truckname) + self.trucks[truckname] = myManualObjectNode + return myManualObjectNode, truckname + except: + print "error creating truck: " + truckname + return None def getPointedPosition(self, event): x, y = event.GetPosition() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |