neveredit-commits Mailing List for neveredit
Status: Beta
Brought to you by:
sumpfork
You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(42) |
Sep
(22) |
Oct
(32) |
Nov
(24) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(12) |
Feb
(12) |
Mar
(3) |
Apr
(11) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(7) |
Sep
(1) |
Oct
(2) |
Nov
(1) |
Dec
|
From: <nin...@us...> - 2008-11-14 06:01:51
|
Revision: 148 http://neveredit.svn.sourceforge.net/neveredit/?rev=148&view=rev Author: niniendowarrior Date: 2008-11-14 06:01:45 +0000 (Fri, 14 Nov 2008) Log Message: ----------- More ground work API for ray tracing on Zmax plane. Modified Paths: -------------- trunk/neveredit/ui/MapWindow.py Modified: trunk/neveredit/ui/MapWindow.py =================================================================== --- trunk/neveredit/ui/MapWindow.py 2008-10-12 00:30:24 UTC (rev 147) +++ trunk/neveredit/ui/MapWindow.py 2008-11-14 06:01:45 UTC (rev 148) @@ -344,6 +344,7 @@ self.requestRedraw() if self.mode == ToolPalette.SELECTION_TOOL and\ self.beingDragged: + # TODO: remove this and make Z manipulation automatic. if self.holdZ == 1: dragX = float(evt.GetX() - self.dragOffset[0]) dragY = float(self.height-evt.GetY() - self.dragOffset[1]) @@ -366,7 +367,7 @@ if z > 25.0: #according to the 'ARE' documentation, tile height is only 5 levels and it seems that they are multiples of 5 in the coordinate system. 5 * 5 is 25. This is how far we go up. z = 25.0 self.updateZmax(z) # We update the maximum Z-component so that we can effectively do two plane points for the mouse. - + else: dragX = float(evt.GetX() - self.dragOffset[0]) dragY = float(self.height-evt.GetY() - self.dragOffset[1]) @@ -532,10 +533,34 @@ u = Numeric.dot(N,P-near)/Numeric.dot(N,far-near) return u,near,far + def mouseToPointonMaxZPlane(self,x,y): + Zmax = self.Zmax + P = Numeric.array([1.0,1.0,Zmax]) + ray = self.rayToPlane(x,y,P) + return self.rayPointOnPlane(ray,P) + + def rayPointOnPlane(self,ray,plane): + #FIXME: STUB + + #u,near,far = ray + #intersect = near + u * (far-near) + #px = intersect[0] + #py = intersect[1] + #if px < 0: + # px = 0 + #if px > self.area.getWidth()*10.0: + # px = self.area.getWidth()*10.0 + #if py < 0: + # py = 0 + #if py > self.area.getHeight()*10.0: + # py = self.area.getHeight()*10.0 + #return px,py + return + def mouseToPointOnBasePlane(self,x,y): ray = self.rayToBasePlane(x,y) return self.rayPointOnBasePlane(ray) - + def rayPointOnBasePlane(self,ray): u,near,far = ray intersect = near + u * (far-near) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nin...@us...> - 2008-10-12 00:30:39
|
Revision: 147 http://neveredit.svn.sourceforge.net/neveredit/?rev=147&view=rev Author: niniendowarrior Date: 2008-10-12 00:30:24 +0000 (Sun, 12 Oct 2008) Log Message: ----------- Groundwork for preserving maximum Z value. Modified Paths: -------------- trunk/neveredit/ui/MapWindow.py Modified: trunk/neveredit/ui/MapWindow.py =================================================================== --- trunk/neveredit/ui/MapWindow.py 2008-10-10 23:11:23 UTC (rev 146) +++ trunk/neveredit/ui/MapWindow.py 2008-10-12 00:30:24 UTC (rev 147) @@ -189,6 +189,7 @@ self.holdZ = 0 self.lastX = 0 self.lastY = 0 + self.Zmax = 0 wx.EVT_RIGHT_DOWN(self, self.OnRightMouseDown) @@ -364,6 +365,8 @@ z = 0.0 if z > 25.0: #according to the 'ARE' documentation, tile height is only 5 levels and it seems that they are multiples of 5 in the coordinate system. 5 * 5 is 25. This is how far we go up. z = 25.0 + self.updateZmax(z) # We update the maximum Z-component so that we can effectively do two plane points for the mouse. + else: dragX = float(evt.GetX() - self.dragOffset[0]) dragY = float(self.height-evt.GetY() - self.dragOffset[1]) @@ -563,7 +566,31 @@ (y >= c.ymin and y <= c.ymax): return self.getContentsForPointSimplifiedHelper(x,y,c) return node.contents - + + def updateZmax(self,newZ): + # We will iterate through the quadtree looking for the object with the maximum Z component. + return self.updateZmaxHelper(newZ,self.quadTreeRoot) + + def updateZmaxHelper(self,newZ,node): + if not node.children: + if newZ > 0: + print "new Zmax defaults to ",value + self.Zmax = newZ + else: + value = newZ + for row in node.children: + for c in row: + if not c.children: + #we will iterate through contents and get the biggest Z value. + contents_thing = c.contents['things'] + for thing,id in contents_thing: + if thing.getModel(): + testZ = thing.getZ() + if testZ > value: + value = testZ + print "new Zmax is ",value + self.Zmax = value + def getContentsForPoint(self,x,y): return self.getContentsForPointSimplifiedHelper(x,y,self.quadTreeRoot) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nin...@us...> - 2008-10-10 23:11:30
|
Revision: 146 http://neveredit.svn.sourceforge.net/neveredit/?rev=146&view=rev Author: niniendowarrior Date: 2008-10-10 23:11:23 +0000 (Fri, 10 Oct 2008) Log Message: ----------- Revert last commit bad hack. Added unoptimized solution. Passes every object that is aligned in either X or Y intervals to the sphere intersection test. Groundwork for Zmax solution. Modified Paths: -------------- trunk/neveredit/ui/MapWindow.py Modified: trunk/neveredit/ui/MapWindow.py =================================================================== --- trunk/neveredit/ui/MapWindow.py 2008-09-28 02:56:27 UTC (rev 145) +++ trunk/neveredit/ui/MapWindow.py 2008-10-10 23:11:23 UTC (rev 146) @@ -316,7 +316,7 @@ ray = self.rayToBasePlane(float(evt.GetX()), float(self.height-evt.GetY())) x,y = self.rayPointOnBasePlane(ray) - contents = self.getContentsForPointWithRay(x,y,ray)['things'] + contents = self.getContentsForPoint(x,y)['things'] closestIntersect = sys.maxint toHighlight = -1 for thing,id in contents: @@ -515,6 +515,13 @@ glPopMatrix() return near,far + def rayToPlane(self,x,y,plane): + near,far = self.rayFromMouse(x,y) + N = Numeric.array([0.0,0.0,1.0]) # normal + P = Numeric.array(plane) # plane must be of values e.g. [1.0,1.0,0.0] + u = Numeric.dot(N,P-near)/Numeric.dot(N,far-near) + return u,near,far + def rayToBasePlane(self,x,y): near,far = self.rayFromMouse(x,y) N = Numeric.array([0.0,0.0,1.0]) #this is normal to the area plane @@ -540,88 +547,26 @@ if py > self.area.getHeight()*10.0: py = self.area.getHeight()*10.0 return px,py - -# -# This proc is a hack and not a very good one at that. Sometimes it works, sometimes it doesn't. -# Either way, z-axis manipulation is not quite ready yet. -# - - def getContentsForPointWithRay(self,x,y,ray): - return self.getContentsForPointHelperWithRay(x,y,ray,self.quadTreeRoot) -# -# This proc is a hack and not a very good one at that. Sometimes it works, sometimes it doesn't. -# Either way, z-axis manipulation is not quite ready yet. -# - - def getContentsForPointHelperWithRay(self,x,y,ray,node): - if not node.children: + def getContentsForPointSimplifiedHelper(self,x,y,node): + #track the max Z. We will have a range of values interval (Zmax and Baseplane) + #if the value of the creature falls inbetween the point from Zmax and Baseplane) + #we pass to the sphere intersection test. + + #we will return it if it aligns with xmin,xmax or ymin,ymax + if not node.children: return node.contents else: - print "Children Testing: ",node.children for row in node.children: for c in row: - print "Testing for this: ",c - print "x point on baseplane: ",x - print "y point on baseplane: ",y - # might want to check for elevated stuff - # before we go to the standard z= 0 test. - - if not c.children: - print "passing contents ",c.contents - contents_thing = c.contents['things'] - for thing,id in contents_thing: - if thing.getModel(): - print "Object: ",thing - print "Objx: ",thing.getX() - print "Objy: ",thing.getY() - print "Objz: ",thing.getZ() - # Check if Z is 0... do standard check. - # if Z is not 0... adjust by deducting Y component by Z. (BAD HACK!) - - if thing.getZ() > 0: - #do bad hack. - print "Do bad hack" - z = thing.getZ() - # Bad hack applies to X or Y, try Y first. - origY = y - origX = x - y = y - z - if x >= c.xmin and x <= c.xmax and y >= c.ymin and y <= c.ymax: - print "This is good, but hacked to work. Pass this to ray trace." - return self.getContentsForPointHelperWithRay(x,y,ray,c) - else: - # We try X instead. - y = origY - x = x - z - if x >= c.xmin and x <= c.xmax and y >= c.ymin and y <= c.ymax: - print "This is good, but hacked to work. Pass this to ray trace." - return self.getContentsForPointHelperWithRay(x,y,ray,c) - - - #return node.contents - else: - #do standard check with base plane. - if x >= c.xmin and x <= c.xmax and y >= c.ymin and y <= c.ymax: - print "This is good. Pass this to ray trace." - return self.getContentsForPointHelperWithRay(x,y,ray,c) - - else: - print "stub print: ",thing - return self.getContentsForPointHelperWithRay(x,y,ray,c) - else: - #Let's do standard check. - #do standard check with base plane. - if x >= c.xmin and x <= c.xmax and y >= c.ymin and y <= c.ymax: - print "This is good. Pass this to ray trace." - return self.getContentsForPointHelperWithRay(x,y,ray,c) - - + if (x >= c.xmin and x <= c.xmax) or\ + (y >= c.ymin and y <= c.ymax): + return self.getContentsForPointSimplifiedHelper(x,y,c) return node.contents - + def getContentsForPoint(self,x,y): - return self.getContentsForPointHelper(x,y,self.quadTreeRoot) + return self.getContentsForPointSimplifiedHelper(x,y,self.quadTreeRoot) def getContentsForPointHelper(self,x,y,node): if not node.children: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nin...@us...> - 2008-09-28 02:56:34
|
Revision: 145 http://neveredit.svn.sourceforge.net/neveredit/?rev=145&view=rev Author: niniendowarrior Date: 2008-09-28 02:56:27 +0000 (Sun, 28 Sep 2008) Log Message: ----------- Code attempts to address difficulty with Z-axis mouse over selection but this is really just a work around and should be eliminated when a proper fix is done. Do not think this is a permanent fix for the problem\! Modified Paths: -------------- trunk/neveredit/ui/MapWindow.py Modified: trunk/neveredit/ui/MapWindow.py =================================================================== --- trunk/neveredit/ui/MapWindow.py 2008-08-23 02:18:32 UTC (rev 144) +++ trunk/neveredit/ui/MapWindow.py 2008-09-28 02:56:27 UTC (rev 145) @@ -316,7 +316,7 @@ ray = self.rayToBasePlane(float(evt.GetX()), float(self.height-evt.GetY())) x,y = self.rayPointOnBasePlane(ray) - contents = self.getContentsForPoint(x,y)['things'] + contents = self.getContentsForPointWithRay(x,y,ray)['things'] closestIntersect = sys.maxint toHighlight = -1 for thing,id in contents: @@ -541,6 +541,85 @@ py = self.area.getHeight()*10.0 return px,py +# +# This proc is a hack and not a very good one at that. Sometimes it works, sometimes it doesn't. +# Either way, z-axis manipulation is not quite ready yet. +# + + def getContentsForPointWithRay(self,x,y,ray): + return self.getContentsForPointHelperWithRay(x,y,ray,self.quadTreeRoot) + +# +# This proc is a hack and not a very good one at that. Sometimes it works, sometimes it doesn't. +# Either way, z-axis manipulation is not quite ready yet. +# + + def getContentsForPointHelperWithRay(self,x,y,ray,node): + if not node.children: + return node.contents + else: + print "Children Testing: ",node.children + for row in node.children: + for c in row: + print "Testing for this: ",c + print "x point on baseplane: ",x + print "y point on baseplane: ",y + # might want to check for elevated stuff + # before we go to the standard z= 0 test. + + if not c.children: + print "passing contents ",c.contents + contents_thing = c.contents['things'] + for thing,id in contents_thing: + if thing.getModel(): + print "Object: ",thing + print "Objx: ",thing.getX() + print "Objy: ",thing.getY() + print "Objz: ",thing.getZ() + # Check if Z is 0... do standard check. + # if Z is not 0... adjust by deducting Y component by Z. (BAD HACK!) + + if thing.getZ() > 0: + #do bad hack. + print "Do bad hack" + z = thing.getZ() + # Bad hack applies to X or Y, try Y first. + origY = y + origX = x + y = y - z + if x >= c.xmin and x <= c.xmax and y >= c.ymin and y <= c.ymax: + print "This is good, but hacked to work. Pass this to ray trace." + return self.getContentsForPointHelperWithRay(x,y,ray,c) + else: + # We try X instead. + y = origY + x = x - z + if x >= c.xmin and x <= c.xmax and y >= c.ymin and y <= c.ymax: + print "This is good, but hacked to work. Pass this to ray trace." + return self.getContentsForPointHelperWithRay(x,y,ray,c) + + + #return node.contents + else: + #do standard check with base plane. + if x >= c.xmin and x <= c.xmax and y >= c.ymin and y <= c.ymax: + print "This is good. Pass this to ray trace." + return self.getContentsForPointHelperWithRay(x,y,ray,c) + + else: + print "stub print: ",thing + return self.getContentsForPointHelperWithRay(x,y,ray,c) + else: + #Let's do standard check. + #do standard check with base plane. + if x >= c.xmin and x <= c.xmax and y >= c.ymin and y <= c.ymax: + print "This is good. Pass this to ray trace." + return self.getContentsForPointHelperWithRay(x,y,ray,c) + + + return node.contents + + def getContentsForPoint(self,x,y): return self.getContentsForPointHelper(x,y,self.quadTreeRoot) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nin...@us...> - 2008-08-23 02:18:22
|
Revision: 144 http://neveredit.svn.sourceforge.net/neveredit/?rev=144&view=rev Author: niniendowarrior Date: 2008-08-23 02:18:32 +0000 (Sat, 23 Aug 2008) Log Message: ----------- Add height maximum check Modified Paths: -------------- trunk/neveredit/ui/MapWindow.py Modified: trunk/neveredit/ui/MapWindow.py =================================================================== --- trunk/neveredit/ui/MapWindow.py 2008-08-23 02:02:05 UTC (rev 143) +++ trunk/neveredit/ui/MapWindow.py 2008-08-23 02:18:32 UTC (rev 144) @@ -362,6 +362,8 @@ if z <= 0.0: #prevents the model from going below the map z = 0.0 + if z > 25.0: #according to the 'ARE' documentation, tile height is only 5 levels and it seems that they are multiples of 5 in the coordinate system. 5 * 5 is 25. This is how far we go up. + z = 25.0 else: dragX = float(evt.GetX() - self.dragOffset[0]) dragY = float(self.height-evt.GetY() - self.dragOffset[1]) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nin...@us...> - 2008-08-23 02:01:55
|
Revision: 143 http://neveredit.svn.sourceforge.net/neveredit/?rev=143&view=rev Author: niniendowarrior Date: 2008-08-23 02:02:05 +0000 (Sat, 23 Aug 2008) Log Message: ----------- Added support for tile heights. Modified Paths: -------------- trunk/neveredit/game/Tile.py trunk/neveredit/ui/MapWindow.py Modified: trunk/neveredit/game/Tile.py =================================================================== --- trunk/neveredit/game/Tile.py 2008-08-09 11:16:28 UTC (rev 142) +++ trunk/neveredit/game/Tile.py 2008-08-23 02:02:05 UTC (rev 143) @@ -202,3 +202,7 @@ else: logger.warn('warning, unknown tile orientation: ' + `o`) return 0.0 + + def getTileHeight(self): + return self['Tile_Height'] + \ No newline at end of file Modified: trunk/neveredit/ui/MapWindow.py =================================================================== --- trunk/neveredit/ui/MapWindow.py 2008-08-09 11:16:28 UTC (rev 142) +++ trunk/neveredit/ui/MapWindow.py 2008-08-23 02:02:05 UTC (rev 143) @@ -954,8 +954,9 @@ y = i / self.area.getWidth() tx = x*10.0+5.0 ty = y*10.0+5.0 + h = t.getTileHeight() glPushMatrix() - glTranslatef(tx,ty,0.0) + glTranslatef(tx,ty,h*5) glRotatef(t.getBearing(),0,0,1) self.handleNode(t.getModel().getRootNode()) glPopMatrix() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nin...@us...> - 2008-08-09 11:16:23
|
Revision: 142 http://neveredit.svn.sourceforge.net/neveredit/?rev=142&view=rev Author: niniendowarrior Date: 2008-08-09 11:16:28 +0000 (Sat, 09 Aug 2008) Log Message: ----------- Added moving on Z axis. Hold CTRL and drag on the model to move the model on the Z-axis. This does forcibly cap on 0.0 and won't go any lower than that. Modified Paths: -------------- trunk/neveredit/ui/GLWindow.py trunk/neveredit/ui/MapWindow.py Modified: trunk/neveredit/ui/GLWindow.py =================================================================== --- trunk/neveredit/ui/GLWindow.py 2008-08-03 12:26:59 UTC (rev 141) +++ trunk/neveredit/ui/GLWindow.py 2008-08-09 11:16:28 UTC (rev 142) @@ -60,6 +60,7 @@ wx.EVT_MOTION(self, self.OnMouseMotion) wx.EVT_MOUSEWHEEL(self, self.OnMouseWheel) wx.EVT_KEY_DOWN(self, self.OnKeyDown) + wx.EVT_KEY_UP(self,self.OnKeyUp) def OnEraseBackground(self, event): pass @@ -86,6 +87,9 @@ def OnMouseUp(self, evt): pass #self.ReleaseMouse() + def OnKeyUp(self,evt): + pass + def OnKeyDown(self,evt): if self.preprocessing: return Modified: trunk/neveredit/ui/MapWindow.py =================================================================== --- trunk/neveredit/ui/MapWindow.py 2008-08-03 12:26:59 UTC (rev 141) +++ trunk/neveredit/ui/MapWindow.py 2008-08-09 11:16:28 UTC (rev 142) @@ -186,7 +186,7 @@ self.fps = 0.0 self.showFPS = False self.quadTreeRoot = None - + self.holdZ = 0 self.lastX = 0 self.lastY = 0 @@ -343,11 +343,34 @@ self.requestRedraw() if self.mode == ToolPalette.SELECTION_TOOL and\ self.beingDragged: - dragX = float(evt.GetX() - self.dragOffset[0]) - dragY = float(self.height-evt.GetY() - self.dragOffset[1]) - x,y = self.mouseToPointOnBasePlane(dragX,dragY) - oldX = self.beingDragged.getX() - oldY = self.beingDragged.getY() + if self.holdZ == 1: + dragX = float(evt.GetX() - self.dragOffset[0]) + dragY = float(self.height-evt.GetY() - self.dragOffset[1]) + oldX = self.beingDragged.getX() + x = oldX + oldY = self.beingDragged.getY() + y = oldY + oldZ = self.beingDragged.getZ() + lastY = self.lastY - self.dragOffset[1] + + if dragY > lastY: + z = oldZ + 0.1 + elif dragY < lastY: + z = oldZ - 0.1 + else: + z = oldZ + + if z <= 0.0: #prevents the model from going below the map + z = 0.0 + else: + dragX = float(evt.GetX() - self.dragOffset[0]) + dragY = float(self.height-evt.GetY() - self.dragOffset[1]) + x,y = self.mouseToPointOnBasePlane(dragX,dragY) + oldX = self.beingDragged.getX() + oldY = self.beingDragged.getY() + oldZ = self.beingDragged.getZ() + z = oldZ + if (int(oldX)/10 != int(x)/10) or (int(oldY)/10 != int(y)/10): oldContents = self.getContentsForPoint(oldX,oldY) newContents = self.getContentsForPoint(x,y) @@ -362,6 +385,7 @@ .index(self.beingDragged))) self.beingDragged.setX(x) self.beingDragged.setY(y) + self.beingDragged.setZ(z) event = MoveEvent(self.GetId(), self.beingDragged.getNevereditId(), x,y, @@ -396,9 +420,14 @@ self.lastX = evt.GetX() self.lastY = self.height - evt.GetY() + def OnKeyUp(self,evt): + self.holdZ = 0 + def OnKeyDown(self,evt): global Numeric GLWindow.OnKeyDown(self,evt) + if evt.GetKeyCode() == 308: #ctrl + self.holdZ = 1 # if evt.GetKeyCode() == wx.WXK_SPACE: # self.SetCurrent() # print 'profiling to draw.prof' @@ -898,7 +927,7 @@ if not thing.getModel(): return glPushMatrix() - glTranslatef(thing.getX(),thing.getY(),0.01) + glTranslatef(thing.getX(),thing.getY(),thing.getZ()) if self.highlight == name: (self.highlightBox.x, self.highlightBox.y, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nin...@us...> - 2008-08-03 12:26:51
|
Revision: 141 http://neveredit.svn.sourceforge.net/neveredit/?rev=141&view=rev Author: niniendowarrior Date: 2008-08-03 12:26:59 +0000 (Sun, 03 Aug 2008) Log Message: ----------- Changed vertex array datatype from float to double. Removed numpy array for faces. Modified Paths: -------------- trunk/neveredit/file/MDLFile.py Modified: trunk/neveredit/file/MDLFile.py =================================================================== --- trunk/neveredit/file/MDLFile.py 2008-08-03 12:19:41 UTC (rev 140) +++ trunk/neveredit/file/MDLFile.py 2008-08-03 12:26:59 UTC (rev 141) @@ -690,7 +690,7 @@ n.vertices.append(Numeric.array([float(val) for val in f.readline().split()])) - n.vertices = Numeric.array(n.vertices,'f') + n.vertices = Numeric.array(n.vertices,'d') elif parts[0] == 'faces': num = int(parts[1]) n.faces = [] @@ -698,7 +698,6 @@ face = [int(val) for val in f.readline().split()] n.faces.append([face[:3],face[3],face[4:7],face[7]]) - n.faces = Numeric.array(n.faces) elif parts[0] == 'tverts': num = int(parts[1]) n.texture0Vertices = [] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nin...@us...> - 2008-08-03 12:19:32
|
Revision: 140 http://neveredit.svn.sourceforge.net/neveredit/?rev=140&view=rev Author: niniendowarrior Date: 2008-08-03 12:19:41 +0000 (Sun, 03 Aug 2008) Log Message: ----------- Stabilized texture extraction code. Should fix graphics corruption Modified Paths: -------------- trunk/neveredit/file/MDLFile.py trunk/neveredit/ui/GLWindow.py Modified: trunk/neveredit/file/MDLFile.py =================================================================== --- trunk/neveredit/file/MDLFile.py 2008-08-03 06:41:17 UTC (rev 139) +++ trunk/neveredit/file/MDLFile.py 2008-08-03 12:19:41 UTC (rev 140) @@ -344,7 +344,7 @@ if self.texture0VertexDataPointer != 0xFFFFFFFFL: f.seek(mdlFile.rawDataOffset + self.texture0VertexDataPointer + 0xC) self.texture0Vertices = Numeric.array([dataHandler.readFloatsFile(f,2) - for i in xrange(self.vertexCount)]) + for i in xrange(self.vertexCount)],'f') else: self.texture0Vertices = [] self.vertexIndexLists = [] @@ -690,7 +690,7 @@ n.vertices.append(Numeric.array([float(val) for val in f.readline().split()])) - n.vertices = Numeric.array(n.vertices) + n.vertices = Numeric.array(n.vertices,'f') elif parts[0] == 'faces': num = int(parts[1]) n.faces = [] @@ -698,7 +698,7 @@ face = [int(val) for val in f.readline().split()] n.faces.append([face[:3],face[3],face[4:7],face[7]]) - n.faces = Numeric.array(n.faces,'b') + n.faces = Numeric.array(n.faces) elif parts[0] == 'tverts': num = int(parts[1]) n.texture0Vertices = [] @@ -706,7 +706,7 @@ n.texture0Vertices.append([float(val) for val in f.readline().split()][:2]) - n.texture0Vertices = Numeric.array(n.texture0Vertices) + n.texture0Vertices = Numeric.array(n.texture0Vertices,'f') parts = f.readline().split() if n.faces: n.vertexIndexLists = [[]] Modified: trunk/neveredit/ui/GLWindow.py =================================================================== --- trunk/neveredit/ui/GLWindow.py 2008-08-03 06:41:17 UTC (rev 139) +++ trunk/neveredit/ui/GLWindow.py 2008-08-03 12:19:41 UTC (rev 140) @@ -344,7 +344,7 @@ return boundingBox def fixMatrixToNumPy(self,matrix): - numpymatrix = Numeric.array(matrix) + numpymatrix = Numeric.array(matrix,'d') return numpymatrix def processControllers(self,node): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nin...@us...> - 2008-08-03 06:41:08
|
Revision: 139 http://neveredit.svn.sourceforge.net/neveredit/?rev=139&view=rev Author: niniendowarrior Date: 2008-08-03 06:41:17 +0000 (Sun, 03 Aug 2008) Log Message: ----------- Corrected extraction of normals from file. More correct vertex extraction. Modified Paths: -------------- trunk/neveredit/file/MDLFile.py Modified: trunk/neveredit/file/MDLFile.py =================================================================== --- trunk/neveredit/file/MDLFile.py 2008-08-02 02:25:56 UTC (rev 138) +++ trunk/neveredit/file/MDLFile.py 2008-08-03 06:41:17 UTC (rev 139) @@ -332,13 +332,13 @@ f.seek(mdlFile.rawDataOffset + self.vertexDataRawPointer + 0xC) b = f.read(self.vertexCount*12) self.vertices = Numeric.array([dataHandler.readFloatsBuf(b[i*12:(i+1)*12],3) - for i in xrange(self.vertexCount)]) + for i in xrange(self.vertexCount)],'f') else: self.vertices = [] if self.vertexNormalDataPointer != 0xFFFFFFFFL: f.seek(mdlFile.rawDataOffset + self.vertexNormalDataPointer + 0xC) self.normals = Numeric.array([dataHandler.readFloatsFile(f,3) - for i in xrange(self.vertexCount)],'b') + for i in xrange(self.vertexCount)],'f') else: self.normals = [] if self.texture0VertexDataPointer != 0xFFFFFFFFL: @@ -358,7 +358,6 @@ offset = mdlFile.rawDataOffset + p + 0xC f.seek(offset) self.vertexIndexLists.append(dataHandler.readUWordsFile(f,l)) - self.vertexIndexLists = Numeric.array(self.vertexIndexLists) #print 'vertexIndexList for node',self.name,self.vertexIndexLists def maxBoundingBox(self,nodelist): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nin...@us...> - 2008-08-02 02:25:48
|
Revision: 138 http://neveredit.svn.sourceforge.net/neveredit/?rev=138&view=rev Author: niniendowarrior Date: 2008-08-02 02:25:56 +0000 (Sat, 02 Aug 2008) Log Message: ----------- Type casting tuples and list to Numeric Array for a more stable data extraction. Requires NumPy python packages now. BUGS: texture array is unstable. GL renderings have some corruptions, perhaps depth test problems. Modified Paths: -------------- trunk/neveredit/file/GFFFile.py trunk/neveredit/file/MDLFile.py trunk/neveredit/ui/GLWindow.py trunk/neveredit/ui/MapWindow.py trunk/neveredit/util/Utils.py Modified: trunk/neveredit/file/GFFFile.py =================================================================== --- trunk/neveredit/file/GFFFile.py 2006-04-15 16:26:19 UTC (rev 137) +++ trunk/neveredit/file/GFFFile.py 2008-08-02 02:25:56 UTC (rev 138) @@ -1,3 +1,5 @@ +# -*- coding: latin-1 -*- + import logging logger = logging.getLogger("neveredit.file") Modified: trunk/neveredit/file/MDLFile.py =================================================================== --- trunk/neveredit/file/MDLFile.py 2006-04-15 16:26:19 UTC (rev 137) +++ trunk/neveredit/file/MDLFile.py 2008-08-02 02:25:56 UTC (rev 138) @@ -331,20 +331,20 @@ if self.vertexDataRawPointer != 0xFFFFFFFFL: f.seek(mdlFile.rawDataOffset + self.vertexDataRawPointer + 0xC) b = f.read(self.vertexCount*12) - self.vertices = [dataHandler.readFloatsBuf(b[i*12:(i+1)*12],3) - for i in xrange(self.vertexCount)] + self.vertices = Numeric.array([dataHandler.readFloatsBuf(b[i*12:(i+1)*12],3) + for i in xrange(self.vertexCount)]) else: self.vertices = [] if self.vertexNormalDataPointer != 0xFFFFFFFFL: f.seek(mdlFile.rawDataOffset + self.vertexNormalDataPointer + 0xC) - self.normals = [dataHandler.readFloatsFile(f,3) - for i in xrange(self.vertexCount)] + self.normals = Numeric.array([dataHandler.readFloatsFile(f,3) + for i in xrange(self.vertexCount)],'b') else: self.normals = [] if self.texture0VertexDataPointer != 0xFFFFFFFFL: f.seek(mdlFile.rawDataOffset + self.texture0VertexDataPointer + 0xC) - self.texture0Vertices = [dataHandler.readFloatsFile(f,2) - for i in xrange(self.vertexCount)] + self.texture0Vertices = Numeric.array([dataHandler.readFloatsFile(f,2) + for i in xrange(self.vertexCount)]) else: self.texture0Vertices = [] self.vertexIndexLists = [] @@ -358,6 +358,7 @@ offset = mdlFile.rawDataOffset + p + 0xC f.seek(offset) self.vertexIndexLists.append(dataHandler.readUWordsFile(f,l)) + self.vertexIndexLists = Numeric.array(self.vertexIndexLists) #print 'vertexIndexList for node',self.name,self.vertexIndexLists def maxBoundingBox(self,nodelist): @@ -690,6 +691,7 @@ n.vertices.append(Numeric.array([float(val) for val in f.readline().split()])) + n.vertices = Numeric.array(n.vertices) elif parts[0] == 'faces': num = int(parts[1]) n.faces = [] @@ -697,6 +699,7 @@ face = [int(val) for val in f.readline().split()] n.faces.append([face[:3],face[3],face[4:7],face[7]]) + n.faces = Numeric.array(n.faces,'b') elif parts[0] == 'tverts': num = int(parts[1]) n.texture0Vertices = [] @@ -704,6 +707,7 @@ n.texture0Vertices.append([float(val) for val in f.readline().split()][:2]) + n.texture0Vertices = Numeric.array(n.texture0Vertices) parts = f.readline().split() if n.faces: n.vertexIndexLists = [[]] Modified: trunk/neveredit/ui/GLWindow.py =================================================================== --- trunk/neveredit/ui/GLWindow.py 2006-04-15 16:26:19 UTC (rev 137) +++ trunk/neveredit/ui/GLWindow.py 2008-08-02 02:25:56 UTC (rev 138) @@ -342,12 +342,17 @@ glPopMatrix() self.SetupProjection() return boundingBox - + + def fixMatrixToNumPy(self,matrix): + numpymatrix = Numeric.array(matrix) + return numpymatrix + def processControllers(self,node): if node.position != None: p = node.position glTranslate(p[0],p[1],p[2]) if node.orientation != None: + node.orientation = self.fixMatrixToNumPy(node.orientation) glMultMatrixf(node.orientation) if node.scale: s = node.scale @@ -405,10 +410,14 @@ glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA) glShadeModel(GL_SMOOTH) + def glColorf(self,colour): + #FIXME: glColorf is not defined, changing to glColor3f + glColor3f(colour[0],colour[1],colour[2]) + def renderHighlightBoxOutline(self,box,colour=(0.1,1.0,0.1,0.5), thickness=3.0): self.solidColourOn() - glColorf(colour) + self.glColorf(colour) glLineWidth(thickness) self.renderBox(box) glLineWidth(1.0) @@ -416,7 +425,7 @@ def renderArrowOutline(self,size,colour=(0.1,1.0,0.1,1.0)): self.solidColourOn() - glColorf(colour) + self.glColorf(colour) glLineWidth(3.0) self.renderArrow(size) glLineWidth(1.0) @@ -426,7 +435,7 @@ glDisable(GL_LIGHTING) glDisable(GL_TEXTURE_2D) glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA) - glColorf(colour) + self.glColorf(colour) glShadeModel(GL_FLAT) glEnable(GL_POLYGON_OFFSET_LINE) glPolygonOffset(1.0, 1.0) @@ -441,7 +450,7 @@ glDisable(GL_LIGHTING) glDisable(GL_TEXTURE_2D) glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA) - glColorf(colour) + self.glColorf(colour) glShadeModel(GL_FLAT) glEnable(GL_POLYGON_OFFSET_LINE) glPolygonOffset(1.0, 1.0) @@ -460,7 +469,7 @@ def renderArrow(self,size,fill=False): type = GL_LINE_STRIP if fill: - type = GL_QUADS + type = GL_TRIANGLE_STRIP glBegin(type) glVertex3f(-size,-size,0) glVertex3f(size,-size,0) @@ -624,7 +633,7 @@ drewSomething = self.processNode(node,boxOnly) if selected: glPushMatrix() - glScale(1.2,1.2,1.2) + glScalef(1.2,1.2,1.2) #glBlendFunc(GL_ONE,GL_ONE) glColor4f(0.1,0.9,0.1,0.6) glDisable(GL_LIGHTING) @@ -794,7 +803,7 @@ self.frustum.append(clip[:,3]-clip[:,1]) # top #self.frustum.append(clip[:,3]-clip[:,2]) # back #self.frustum.append(clip[:,3]+clip[:,2]) # front - + self.frustum = self.fixMatrixToNumPy(self.frustum) #print 'frustum',self.frustum for plane in self.frustum: @@ -870,6 +879,7 @@ glInitNames() self.SetupProjection() + ##self.wireOn() # self.recomputeCamera() # The function called when our window is resized Modified: trunk/neveredit/ui/MapWindow.py =================================================================== --- trunk/neveredit/ui/MapWindow.py 2006-04-15 16:26:19 UTC (rev 137) +++ trunk/neveredit/ui/MapWindow.py 2008-08-02 02:25:56 UTC (rev 138) @@ -849,7 +849,7 @@ if not b.maxLine: return glPushMatrix() - glColorf(b.bgcolour) + self.glColorf(b.bgcolour) glTranslatef(b.x+5,b.y+5,0) w = sum([glutBitmapWidth(GLUT_BITMAP_TIMES_ROMAN_10,ord(c)) for c in b.maxLine]) # w = glutBitmapLength(GLUT_BITMAP_TIMES_ROMAN_10,b.maxLine) @@ -861,7 +861,7 @@ height = b.y + (rectHeight - i*12) - 7 glColor4f(0,0,0,1) self.output_text(b.x+15,height,line) - glColorf(b.fgcolour) + self.glColorf(b.fgcolour) self.output_text(b.x+14,height+1,line) glEnable(GL_BLEND) glPopMatrix() Modified: trunk/neveredit/util/Utils.py =================================================================== --- trunk/neveredit/util/Utils.py 2006-04-15 16:26:19 UTC (rev 137) +++ trunk/neveredit/util/Utils.py 2008-08-02 02:25:56 UTC (rev 138) @@ -3,7 +3,7 @@ import Image,ImageEnhance -use_numeric = False +use_numeric = True def iAmOnMac(): return sys.platform == 'darwin' This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sum...@us...> - 2006-04-15 16:26:26
|
Revision: 137 Author: sumpfork Date: 2006-04-15 09:26:19 -0700 (Sat, 15 Apr 2006) ViewCVS: http://svn.sourceforge.net/neveredit/?rev=137&view=rev Log Message: ----------- make separate package for help files Modified Paths: -------------- branches/neveredit-0.8.2/src/neveredit/ui/NeverEditMainApp.py Added Paths: ----------- branches/neveredit-0.8.2/src/neveredit/resources/help/help_nwnlexicon.zip Removed Paths: ------------- branches/neveredit-0.8.2/src/neveredit/resources/help_nwnlexicon.zip Copied: branches/neveredit-0.8.2/src/neveredit/resources/help/help_nwnlexicon.zip (from rev 133, branches/neveredit-0.8.2/src/neveredit/resources/help_nwnlexicon.zip) =================================================================== (Binary files differ) Deleted: branches/neveredit-0.8.2/src/neveredit/resources/help_nwnlexicon.zip =================================================================== (Binary files differ) Modified: branches/neveredit-0.8.2/src/neveredit/ui/NeverEditMainApp.py =================================================================== --- branches/neveredit-0.8.2/src/neveredit/ui/NeverEditMainApp.py 2006-04-15 16:16:23 UTC (rev 136) +++ branches/neveredit-0.8.2/src/neveredit/ui/NeverEditMainApp.py 2006-04-15 16:26:19 UTC (rev 137) @@ -176,10 +176,9 @@ except: pass #html window likes to throw exceptions - helps = [resource_filename('neveredit.resources',file) - for file in resource_listdir('neveredit','resources') + helps = [resource_filename('neveredit.resources.help',file) + for file in resource_listdir('neveredit.resources','help') if (file[-4:] == '.zip')] - print resource_listdir('neveredit','resources') self.helpviewer = HelpViewer.makeHelpViewer(helps,tempfile.gettempdir()) self.toolPalette = None This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sum...@us...> - 2006-04-15 16:16:30
|
Revision: 136 Author: sumpfork Date: 2006-04-15 09:16:23 -0700 (Sat, 15 Apr 2006) ViewCVS: http://svn.sourceforge.net/neveredit/?rev=136&view=rev Log Message: ----------- adapt to new package structure and add some experimental dependencies Modified Paths: -------------- branches/neveredit-0.8.2/setup.py Modified: branches/neveredit-0.8.2/setup.py =================================================================== --- branches/neveredit-0.8.2/setup.py 2006-04-15 16:15:53 UTC (rev 135) +++ branches/neveredit-0.8.2/setup.py 2006-04-15 16:16:23 UTC (rev 136) @@ -12,7 +12,13 @@ from setuptools import setup,find_packages import sys,os,shutil -build_dependencies = [] +dependency_links = [ + 'http://svn.red-bean.com/bob/py2app/trunk/', + 'http://sourceforge.net/project/showfiles.php?group_id=1369', + 'http://www.pythonware.com/products/pil/' +] + +build_dependencies = ['numarray>=1.5','PIL>=1.1.5','pygame>=1.7'] if 'py2app' in sys.argv: build_dependencies.append('py2app>=0.3-dev_r551') extra_dependencies = {'compiler' : ['nwntools>=2.3']} @@ -23,9 +29,10 @@ print 'py2app not present' pass #of course, this will now fail when 'py2app' is given as an arg -import __init__ -version = __init__.__version__ - +sys.path.insert(0,'src') +import neveredit +version = neveredit.__version__ +print 'neveredit version',version def main(): name = 'neveredit' @@ -40,10 +47,10 @@ "help_nwnlexicon.zip"] if name == 'neveredit': - mainclass = 'ui/NeverEditMainApp.py' + mainclass = 'src/neveredit/ui/NeverEditMainApp.py' resources.append('neveredit.icns') elif name == 'neverscript': - mainclass = 'ui/ScriptEditor.py' + mainclass = 'src/neveredit/ui/ScriptEditor.py' resources.append('neverscript.icns') setup(app = [mainclass], @@ -69,15 +76,16 @@ ], setup_requires = build_dependencies, + dependency_links = dependency_links, extras_require = extra_dependencies, - package_dir = {'neveredit':'.'}, - packages = ['neveredit'] + ['neveredit.' + p for p in find_packages(exclude=['ez_setup'])], + package_dir = {'':'src'}, + packages = find_packages('src',exclude=['ez_setup']), scripts = ['run/neveredit','run/neverscript','run/nevercommand', 'run/nevererf'], entry_points = { 'gui_scripts' : ['neveredit = neveredit.ui.NevereditMainApp:main'] }, - + include_package_data = True, options=dict(py2app=dict( argv_emulation=True, compressed=True, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sum...@us...> - 2006-04-15 16:15:59
|
Revision: 135 Author: sumpfork Date: 2006-04-15 09:15:53 -0700 (Sat, 15 Apr 2006) ViewCVS: http://svn.sourceforge.net/neveredit/?rev=135&view=rev Log Message: ----------- also moved __init__.py Removed Paths: ------------- branches/neveredit-0.8.2/__init__.py Deleted: branches/neveredit-0.8.2/__init__.py =================================================================== --- branches/neveredit-0.8.2/__init__.py 2006-04-15 16:15:16 UTC (rev 134) +++ branches/neveredit-0.8.2/__init__.py 2006-04-15 16:15:53 UTC (rev 135) @@ -1,8 +0,0 @@ -""" -Neveredit aims to provide end-user module editing capabilities for -Bioware's Neverwinter Nights role-playing game, which is sold without -an editor on the Macintosh and Linux platforms. -""" - -__version__ = '0.8.2' - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sum...@us...> - 2006-04-15 16:15:19
|
Revision: 134 Author: sumpfork Date: 2006-04-15 09:15:16 -0700 (Sat, 15 Apr 2006) ViewCVS: http://svn.sourceforge.net/neveredit/?rev=134&view=rev Log Message: ----------- get rid of hackish find-the-neveredit-package code Modified Paths: -------------- branches/neveredit-0.8.2/run/neveredit Modified: branches/neveredit-0.8.2/run/neveredit =================================================================== --- branches/neveredit-0.8.2/run/neveredit 2006-04-15 16:14:28 UTC (rev 133) +++ branches/neveredit-0.8.2/run/neveredit 2006-04-15 16:15:16 UTC (rev 134) @@ -9,17 +9,6 @@ print >>sys.stderr,'re-executing using pythonw' os.execvp('pythonw',['pythonw',__file__] + sys.argv[1:]) -def getNeverDir(path): - while os.path.basename(path) != 'neveredit' and\ - os.path.basename(path) != 'bin' and\ - os.path.dirname(path) != path: - path = os.path.dirname(path) - if os.path.basename(path) == 'bin': - path = os.path.join(os.path.dirname(path),'lib/python') - elif os.path.basename(path) == 'neveredit': - path = os.path.dirname(path) - return path - parser = OptionParser() parser.add_option('--devel',action='store_true',dest='devel', help='run in development mode (does not use installed version)') @@ -33,27 +22,8 @@ if not options.no_pythonw: reexec_with_pythonw() -if options.devel: - sys.path.insert(0,getNeverDir(os.getcwd())) +import neveredit,neveredit.ui.NeverEditMainApp -try: - if options.version: - import neveredit - else: - import neveredit.ui.NeverEditMainApp -except ImportError: - sys.path.append(getNeverDir(os.path.abspath(os.path.dirname(__file__)))) - try: - if options.version: - import neveredit - else: - import neveredit.ui.NeverEditMainApp - except ImportError: - print sys.exc_info()[1] - print sys.path - print >>sys.stderr,'Faulty neveredit installation: could not import main class' - sys.exit(1) - if options.version: print 'neveredit module at',neveredit.__file__ print 'neveredit version',neveredit.__version__ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sum...@us...> - 2006-04-15 16:14:42
|
Revision: 133 Author: sumpfork Date: 2006-04-15 09:14:28 -0700 (Sat, 15 Apr 2006) ViewCVS: http://svn.sourceforge.net/neveredit/?rev=133&view=rev Log Message: ----------- moving main neveredit package code to src/neveredit to make it easier to install adapting main neveredit class to find resources via pkg_manager (for html) bugfix in main neveredit class: Util->Utils Modified Paths: -------------- branches/neveredit-0.8.2/src/neveredit/ui/NeverEditMainApp.py Added Paths: ----------- branches/neveredit-0.8.2/src/ branches/neveredit-0.8.2/src/neveredit/ branches/neveredit-0.8.2/src/neveredit/__init__.py branches/neveredit-0.8.2/src/neveredit/file/ branches/neveredit-0.8.2/src/neveredit/game/ branches/neveredit-0.8.2/src/neveredit/openglcontext/ branches/neveredit-0.8.2/src/neveredit/resources/ branches/neveredit-0.8.2/src/neveredit/resources/help/ branches/neveredit-0.8.2/src/neveredit/resources/help_nwnlexicon.zip branches/neveredit-0.8.2/src/neveredit/resources/neveredit.jpg branches/neveredit-0.8.2/src/neveredit/ui/ branches/neveredit-0.8.2/src/neveredit/util/ Removed Paths: ------------- branches/neveredit-0.8.2/file/ branches/neveredit-0.8.2/game/ branches/neveredit-0.8.2/help_nwnlexicon.zip branches/neveredit-0.8.2/neveredit.jpg branches/neveredit-0.8.2/openglcontext/ branches/neveredit-0.8.2/resources/ branches/neveredit-0.8.2/ui/ branches/neveredit-0.8.2/util/ Deleted: branches/neveredit-0.8.2/help_nwnlexicon.zip =================================================================== (Binary files differ) Deleted: branches/neveredit-0.8.2/neveredit.jpg =================================================================== (Binary files differ) Copied: branches/neveredit-0.8.2/src/neveredit/__init__.py (from rev 132, branches/neveredit-0.8.2/__init__.py) =================================================================== --- branches/neveredit-0.8.2/src/neveredit/__init__.py (rev 0) +++ branches/neveredit-0.8.2/src/neveredit/__init__.py 2006-04-15 16:14:28 UTC (rev 133) @@ -0,0 +1,8 @@ +""" +Neveredit aims to provide end-user module editing capabilities for +Bioware's Neverwinter Nights role-playing game, which is sold without +an editor on the Macintosh and Linux platforms. +""" + +__version__ = '0.8.2' + Copied: branches/neveredit-0.8.2/src/neveredit/file (from rev 132, branches/neveredit-0.8.2/file) Copied: branches/neveredit-0.8.2/src/neveredit/game (from rev 132, branches/neveredit-0.8.2/game) Copied: branches/neveredit-0.8.2/src/neveredit/openglcontext (from rev 132, branches/neveredit-0.8.2/openglcontext) Copied: branches/neveredit-0.8.2/src/neveredit/resources (from rev 132, branches/neveredit-0.8.2/resources) Copied: branches/neveredit-0.8.2/src/neveredit/resources/help_nwnlexicon.zip (from rev 132, branches/neveredit-0.8.2/help_nwnlexicon.zip) =================================================================== (Binary files differ) Copied: branches/neveredit-0.8.2/src/neveredit/resources/neveredit.jpg (from rev 132, branches/neveredit-0.8.2/neveredit.jpg) =================================================================== (Binary files differ) Copied: branches/neveredit-0.8.2/src/neveredit/ui (from rev 132, branches/neveredit-0.8.2/ui) Modified: branches/neveredit-0.8.2/src/neveredit/ui/NeverEditMainApp.py =================================================================== --- branches/neveredit-0.8.2/ui/NeverEditMainApp.py 2006-04-03 13:50:02 UTC (rev 132) +++ branches/neveredit-0.8.2/src/neveredit/ui/NeverEditMainApp.py 2006-04-15 16:14:28 UTC (rev 133) @@ -49,7 +49,12 @@ #images from neveredit.resources.images import neveredit_logo_jpg from neveredit.resources.images import neveredit_logo_init_jpg +import neveredit.resources +from pkg_resources import resource_filename,resource_listdir +logo_fname = resource_filename('neveredit.resources', + 'neveredit.jpg') + import os import threading from sets import Set @@ -57,26 +62,14 @@ gettext.install('neveredit','translations') -class MySplashScreen(wx.SplashScreen): - def __init__(self,pic): - wx.SplashScreen.__init__(self, pic, - wx.SPLASH_CENTRE_ON_SCREEN| - wx.SPLASH_NO_TIMEOUT, - 4000, None, -1, - style = wx.SIMPLE_BORDER - |wx.FRAME_NO_TASKBAR - |wx.STAY_ON_TOP) +description = '''<html><body> -##\mainpage -class NeverEditMainWindow(wx.Frame,PropertyChangeListener): - '''<html><body> - - <table width="100%" border=0> + <table width="100%%" border=0> <tr> <td valign="top"> <h2>neveredit</h2> </td><td align="right" valign="top"> - <img src="neveredit.jpg"></td></tr></table> + <img src="%s"></td></tr></table> <p>Welcome to neveredit. Neveredit strives to be an editor for files from the Bioware game Neverwinter Nights. One day it may have all of @@ -106,8 +99,21 @@ </ul> <p>Have fun,<br><i>sumpfork</i></p> - </body></html>''' - + </body></html>''' % logo_fname + +class MySplashScreen(wx.SplashScreen): + def __init__(self,pic): + wx.SplashScreen.__init__(self, pic, + wx.SPLASH_CENTRE_ON_SCREEN| + wx.SPLASH_NO_TIMEOUT, + 4000, None, -1, + style = wx.SIMPLE_BORDER + |wx.FRAME_NO_TASKBAR + |wx.STAY_ON_TOP) + +##\mainpage +class NeverEditMainWindow(wx.Frame,PropertyChangeListener): + __doc__ = description def __init__(self,parent,id,title): '''Constructor. Sets up static controls and menus.''' wx.InitAllImageHandlers() @@ -170,8 +176,10 @@ except: pass #html window likes to throw exceptions - helps = [file for file in os.listdir(os.getcwd()) - if (file[:5] == 'help_' and file[-4:] == '.zip')] + helps = [resource_filename('neveredit.resources',file) + for file in resource_listdir('neveredit','resources') + if (file[-4:] == '.zip')] + print resource_listdir('neveredit','resources') self.helpviewer = HelpViewer.makeHelpViewer(helps,tempfile.gettempdir()) self.toolPalette = None @@ -365,7 +373,7 @@ wx.EVT_MENU(self,self.ID_PREFS,self.OnPreferences) wx.EVT_MENU(self,self.ID_EXIT,self.exit) wx.EVT_MENU(self,self.ID_HELP,self.help) - if not Util.iAmOnMac(): + if not Utils.iAmOnMac(): wx.EVT_MENU(self,self.ID_MAIN_WINDOW_MITEM, self.windowMenu) wx.EVT_MENU(self,self.ID_SCRIPT_WINDOW_MITEM, self.windowMenu) wx.EVT_MENU(self,self.ID_PALETTE_WINDOW_MITEM, self.windowMenu) @@ -928,7 +936,7 @@ def about(self,event): '''About menu item callback.''' dlg = wx.MessageDialog(self,_('neveredit v') + neveredit.__version__ + - _(''' by Sumpfork + _(''' by Peter Gorniak and others Copyright 2003-2006'''), _('About neveredit'), wx.OK | wx.ICON_INFORMATION) Copied: branches/neveredit-0.8.2/src/neveredit/util (from rev 132, branches/neveredit-0.8.2/util) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sum...@us...> - 2006-04-03 13:50:14
|
Revision: 132 Author: sumpfork Date: 2006-04-03 06:50:02 -0700 (Mon, 03 Apr 2006) ViewCVS: http://svn.sourceforge.net/neveredit/?rev=132&view=rev Log Message: ----------- update changelog using svn2cl;preserve old changelog Added Paths: ----------- branches/neveredit-0.8.2/ChangeLog_old Removed Paths: ------------- branches/neveredit-0.8.2/ChangeLog Property Changed: ---------------- branches/neveredit-0.8.2/ Property changes on: branches/neveredit-0.8.2 ___________________________________________________________________ Name: svn:externals + ez_setup svn://svn.eby-sarna.com/svnroot/ez_setup Deleted: branches/neveredit-0.8.2/ChangeLog =================================================================== --- branches/neveredit-0.8.2/ChangeLog 2006-04-03 13:46:02 UTC (rev 131) +++ branches/neveredit-0.8.2/ChangeLog 2006-04-03 13:50:02 UTC (rev 132) @@ -1,4123 +0,0 @@ -2006-01-18 11:30 sumpfork - - * __init__.py: - - bump version to 0.8.2b2 - -2006-01-10 11:00 sumpfork - - * ui/GLWindow.py (tags: v0_8_2_b2): - - fix missing import - -2006-01-10 10:59 sumpfork - - * game/: Creature.py, Door.py, Item.py, Placeable.py, Trigger.py, - WayPoint.py (utags: v0_8_2_b2): - - fix missing quote for ints in warnings - -2005-11-30 08:41 ledmicka - - * ui/SoundControl.py (tags: v0_8_2_b2): - - remove debug printing - -2005-11-24 07:32 ledmicka - - * ui/PropWindow.py (tags: v0_8_2_b2): - - fix for tab/space problem - -2005-11-24 07:30 ledmicka - - * ui/PropWindow.py: - - don't ignore the case of inexistant portrait - provide a default one - -2005-11-21 06:06 ledmicka - - * ui/NeverEditMainApp.py (tags: v0_8_2_b2): - - fix some indentation errors (tabs v.s 4 spaces) - -2005-11-18 18:21 sumpfork - - * Makefile (tags: v0_8_2_b2): - - fix cvsroot;show progress during upload - -2005-11-17 20:24 jazzdman - - * resources/xrc/: PreferencesDialog.xrc, PreferencesDialog_xrc.py - (utags: v0_8_2_b2): - - Updated to allow user-defined nav keys for ModelWindow - -2005-11-17 20:20 jazzdman - - * ui/NeverEditMainApp.py, ui/PreferencesDialog.py (tags: - v0_8_2_b2), ui/GLWindow.py, util/Preferences.py (tags: - v0_8_2_b2): - - Updated to allow user-defined nav keys for ModelWindow - -2005-11-10 13:11 ledmicka - - * game/Module.py (tags: v0_8_2_b2, v0_8_2_b1): - - update the module area list after the addition of an ERF file - -2005-11-10 06:11 ledmicka - - * ui/NeverEditMainApp.py (tags: v0_8_2_b1): - - fix a crash when re-selecting a tree item after an edition in the faction grid - we really have a problem with those tree selection events... - -2005-11-10 06:09 ledmicka - - * ui/FactionGridWindow.py (tags: v0_8_2_b2, v0_8_2_b1): - - fix : the grid cells could not be edited - -2005-11-09 19:41 sumpfork - - * ChangeLog (tags: v0_8_2_b2, v0_8_2_b1): - - update changelog - -2005-11-09 19:40 sumpfork - - * __init__.py (tags: v0_8_2_b2, v0_8_2_b1): - - bump version to 0.8.2b1 - -2005-11-09 18:20 ledmicka - - * game/Module.py: - - use the basename of the resource included for ResRef instead of the full pathname - use addResource instead of addRawResourceByName - fix bug # 1352336 - -2005-11-09 18:18 ledmicka - - * file/ERFFile.py: - - getEntriesWithExtension did not return a list if only one element was found - -2005-11-08 16:20 ledmicka - - * ui/PropWindow.py: - - use GetValue instead of GetStringSelection for ComboBox. This is a bug since control type change, and the user changes in this control weren't saved. - -2005-11-08 16:18 ledmicka - - * ui/PropWindow.py: - - use good eventtype : having to hit enter after each edition is counter-intuitive - -2005-11-08 16:16 ledmicka - - * ui/PropWindow.py: - - tab vs space fix - -2005-11-08 14:22 ledmicka - - * ui/NeverEditMainApp.py: - - temporary fix for bug # 1291111 : not calling selectTreeItemById prevents triggering it - at the cost of autoselection of the object added - -2005-11-08 14:17 ledmicka - - * ui/MapWindow.py: - - correction on a previous patch commited too hastily on MoveEvent.Clone method - -2005-11-07 09:24 ledmicka - - * ui/MapWindow.py: - - replace the events Clone methods with ones that really create different objects, with distinct C++ part, so that segfault doesn't occur anymore when destroying both the original and the clone. - -2005-10-30 17:13 ledmicka - - * ui/NeverEditMainApp.py: - - fix : the sound thread was not called at the good place, it only happened when one closed neveredit (not even when loading another module) - -2005-10-26 23:00 sumpfork - - * ChangeLog: - - update changelog - -2005-10-26 23:00 sumpfork - - * ui/SoundControl.py: - - initialize variable in error condition - -2005-10-26 19:12 ledmicka - - * game/NeverData.py: - - adding some doc for NeverData class - -2005-10-26 19:10 ledmicka - - * game/Trigger.py: - - adding a Neverdata subclass to handle triggers - -2005-10-26 17:12 ledmicka - - * file/GFFFile.py: - - this should fix bug 1281419 on sf ('Music changes don't stick') - -2005-10-25 18:11 ledmicka - - * ui/FactionGridWindow.py: - - disable removal of a faction - until the code is written - -2005-10-25 18:07 ledmicka - - * game/Module.py, ui/NeverEditMainApp.py, ui/PropWindow.py: - - finalize faction integration into neveredit - -2005-10-25 18:02 ledmicka - - * file/GFFFile.py: - - preparation for faction inclusion - allow to "flattenList" lists of GFFStructs subclasses instead of only lists of GFFSTructs - -2005-10-25 17:59 ledmicka - - * ui/FactionGridWindow.py: - - adding a grid control to display and edit faction reactions - -2005-10-25 17:56 ledmicka - - * game/Factions.py: - - adding a NeverData class to handle factions - -2005-10-24 05:41 ledmicka - - * game/ResourceManager.py: - - add a correct non-emptiness test for Mod_CustomTlk - -2005-10-17 10:09 ledmicka - - * game/Area.py, game/Palette.py, file/MDLFile.py, ui/MapWindow.py, - ui/NeverEditMainApp.py, ui/ToolPalette.py: - - add support for waypoint display (model), and addition (palette) - -2005-10-17 09:59 ledmicka - - * game/WayPoint.py: - - add Module to read waypoint data from GFF - -2005-10-17 09:42 ledmicka - - * game/Module.py: - - use logger.info instead of logger.error for informational message - -2005-10-17 09:38 ledmicka - - * ui/GLWindow.py: - - add a call to glutInit() in ui.GLWindow - fixes a crash with a mouseover on an obect in a MapWindow (in mapWindow.DrawTextBox , with glutBitmapWidth with GLUT not initialized) - -2005-10-16 08:59 sumpfork - - * ui/VarTableControl.py: - - removing erroneous/extraneous import - -2005-10-14 10:14 ledmicka - - * game/ResourceManager.py: - - adding support for custom tlk reading - -2005-10-14 09:56 ledmicka - - * game/Module.py, ui/PropWindow.py: - - adding support for VarTable - integration of the control into Neveredit - -2005-10-13 17:27 ledmicka - - * ui/VarTableControl.py: - - adding a control for the VarTable property - basic support : adding a variable, modifying a value or a type. Limited to Int, String or Float - -2005-10-13 14:58 ledmicka - - * game/Module.py: - - fix a tab vs spaces error : there was a tab were 3 spaces were expected - -2005-10-12 11:06 ledmicka - - * ui/PropWindow.py: - - fix a tab vs spaces error - one tab was inserted where 3 spaces were expected - -2005-10-12 06:36 ledmicka - - * ui/SoundControl.py: - - rework of the sound control, using a thread for wav playing (mp3 already did) - allows the control to store the sound unless changed by the user - -2005-10-11 10:20 ledmicka - - * game/ResourceManager.py, ui/NeverEditMainApp.py, - ui/PropWindow.py: - - PropWindow makes use of the SoundControl object for ambientsound.2da, ambientmusic.2da and soundset.2da related properties - -2005-10-11 08:39 ledmicka - - * ui/SoundControl.py: - - adding the main file for the sound playing control - integration in neveredit main app still not commited - -2005-10-10 10:34 ledmicka - - * file/SoundSetFile.py: - - addition of file/SoundSetFile.py to get data from .ssf files - -2005-10-10 05:43 ledmicka - - * ui/NeverEditMainApp.py: - - widen the main window - -2005-09-28 17:39 ledmicka - - * ui/PropWindow.py: - - removing obsolete comments - -2005-09-28 17:34 ledmicka - - * ui/HAKListControl.py: - - fix the "duplicate controls" bug - fix the multiple selection in hak lists problem - remove the TextCtrl manual insertion - -2005-09-28 14:11 sumpfork - - * game/Module.py, ui/PropWindow.py: - - preliminary haklist ui implementation from ML - -2005-09-23 09:42 sumpfork - - * ui/NeverEditMainApp.py: - - fix for bug #1299052: help viewer should not cache in bundle - -2005-09-22 09:48 sumpfork - - * file/Language.py: - - new language code file - -2005-09-22 09:46 sumpfork - - * resources/xrc/PreferencesDialog.xrc, - resources/xrc/PreferencesDialog_xrc.py, ui/PreferencesDialog.py, - ui/PropWindow.py, util/Preferences.py: - - applying language patch from ML - -2005-09-22 09:43 ledmicka - - * ui/HAKListControl.py: - - Adding HAKListControl.py - contains a control for Mod_HakLists, which allows to select and order HAKs - -2005-09-06 22:40 sumpfork - - * ChangeLog (tags: v0_8_1): - - changelog update - -2005-09-06 22:40 sumpfork - - * __init__.py (tags: v0_8_1): - - bump version to 0.8.1 - -2005-09-06 22:37 sumpfork - - * ChangeLog (tags: v0_8_1): - - update changelog - -2005-09-06 22:36 sumpfork - - * ui/TilingWindow.py (tags: v0_8_1): - - introduce model window: drawing not quite right initially yet - -2005-09-04 19:50 sumpfork - - * ui/NeverEditMainApp.py: - - make sure toolbar gets updated even without data object\nmark all pages as dirty when tree item changes\nremove conversation page when no data object - -2005-09-04 19:48 sumpfork - - * doxygen/.cvsignore, resources/.cvsignore: - - update some ignores - -2005-09-04 19:47 sumpfork - - * file/CExoLocString.py: - - use loggers instead of prints;get rid of often occurring warning - -2005-09-04 19:45 sumpfork - - * ui/ModelWindow.py: - - make sure model redraws when changed - -2005-09-04 19:45 sumpfork - - * ui/Notebook.py: - - get rid of warning (it is ok) and provide way to request for all pages to be synced at once - -2005-09-04 19:44 sumpfork - - * ui/ToolPalette.py: - - increase toolbar button size to match actual icon size; some minor changes - -2005-09-04 19:43 sumpfork - - * util/Loggers.py: - - set default log level to WARN - -2005-08-29 20:06 sumpfork - - * ui/NeverEditMainApp.py: - - fix deleted tool palette exception - -2005-08-29 20:05 sumpfork - - * __init__.py: - - take out another ok reference - -2005-08-29 08:43 brab - - * ui/ConversationWindow.py: - - This fixes the recent Conversation bugs - -2005-08-27 14:59 sumpfork - - * setup.py, file/ERFFile.py, game/ResourceManager.py, run/nevererf: - - first pass at erf file creation for nevererf; add nevererf as script; improve creation of new ERFFile in the process - -2005-08-27 14:58 sumpfork - - * run/neveredit: - - add version printout via command line arg -v/--version - -2005-08-27 07:58 sumpfork - - * ChangeLog: - - merge in changelog from old cvs tree - -2005-08-27 07:43 sumpfork - - * ChangeLog (tags: v0_8_1_b1): - - update changelog - -2005-08-26 18:03 sumpfork - - * Makefile (tags: v0_8_1_b1): - - fix linux freezing;get version from __init__.py - -2005-08-25 13:44 sumpfork - - * ui/ScriptEditor.py (tags: v0_8_1_b1): - - fix wrong call when compiler not available - -2005-08-25 13:41 sumpfork - - * ui/NeverEditMainApp.py (tags: v0_8_1_b1): - - replace flag with disabling event handler - -2005-08-23 11:15 sumpfork - - * __init__.py, setup.py (utags: v0_8_1_b1): - - fix bundle making;bump version to 0.8.1b1 - -2005-08-21 18:39 sumpfork - - * neveredit_logo.jpg, neveredit_logo_init.jpg, - resources/images/__init___py~.py, - resources/images/neveredit_logo.jpg (tags: v0_8_1_b1), - resources/images/neveredit_logo.psd (tags: v0_8_1_b1), - resources/images/neveredit_logo_init.jpg (tags: v0_8_1_b1), - resources/images/neveredit_logo_init.psd (tags: v0_8_1_b1), - resources/images/neveredit_logo_init_jpg.py (tags: v0_8_1_b1), - resources/images/neveredit_logo_init_psd.py (tags: v0_8_1_b1), - resources/images/neveredit_logo_jpg.py (tags: v0_8_1_b1), - resources/images/neveredit_logo_psd.py (tags: v0_8_1_b1), - ui/NeverEditMainApp.py: - - convert splash screens to resourcepackage;new splash screens - -2005-08-20 10:37 sumpfork - - * file/.cvsignore, game/.cvsignore, openglcontext/.cvsignore, - ui/.cvsignore, util/.cvsignore (utags: v0_8_1_b1): - - more cvs ignores - -2005-08-20 10:35 sumpfork - - * .cvsignore, resources/.cvsignore, resources/images/.cvsignore, - resources/xrc/.cvsignore (utags: v0_8_1_b1): - - adding some cvs ignores - -2005-08-20 10:33 sumpfork - - * paint_icon.png, paint_icon_sel.png, rotate_icon.png, - rotate_icon_sel.png, select_icon.png, select_icon_sel.png, - resources/__init__.py (tags: v0_8_1_b1), - resources/images/__init__.py (tags: v0_8_1_b1), - resources/images/__init___py~.py, resources/images/paint_icon.png - (tags: v0_8_1_b1), resources/images/paint_icon_png.py (tags: - v0_8_1_b1), resources/images/paint_icon_sel.png (tags: - v0_8_1_b1), resources/images/paint_icon_sel_png.py (tags: - v0_8_1_b1), resources/images/rotate_icon.png (tags: v0_8_1_b1), - resources/images/rotate_icon_png.py (tags: v0_8_1_b1), - resources/images/rotate_icon_sel.png (tags: v0_8_1_b1), - resources/images/rotate_icon_sel_png.py (tags: v0_8_1_b1), - resources/images/select_icon.png (tags: v0_8_1_b1), - resources/images/select_icon_png.py (tags: v0_8_1_b1), - resources/images/select_icon_sel.png (tags: v0_8_1_b1), - resources/images/select_icon_sel_png.py (tags: v0_8_1_b1), - resources/xrc/PreferencesDialog_xrc.py (tags: v0_8_1_b1), - resources/xrc/__init__.py (tags: v0_8_1_b1), - ui/PreferencesDialog.py (tags: v0_8_1_b1), ui/ToolPalette.py - (tags: v0_8_1_b1): - - converting to use resourcepackage so that resources are included as python files - -2005-08-20 08:58 sumpfork - - * neverscript.icns (tags: v0_8_1_b1), setup.py: - - adding missing icons file - -2005-08-20 08:54 sumpfork - - * neveredit.icns (tags: v0_8_1_b1): - - re-adding as binary - -2005-08-20 08:54 sumpfork - - * neveredit.icns: - - removing to re-add as binary - -2005-08-20 08:38 sumpfork - - * game/Module.py (tags: v0_8_1_b1), ui/NeverEditMainApp.py: - - patch for Mod_CustomTlk from Mickael Leduque with some fixes - -2005-08-20 08:37 sumpfork - - * README (tags: v0_8_1_b1): - - update, point to new info on website - -2005-08-14 11:54 sumpfork - - * game/Module.py, ui/PropWindow.py (tags: v0_8_1_b1): - - applying patch from Mickael Leduque: combo boxes for resrefs and addition of custom tlk control - -2005-08-14 11:52 sumpfork - - * ui/NeverEditMainApp.py: - - update welcome window/doc string - -2005-08-13 11:58 sumpfork - - * ui/NeverEditMainApp.py: - - fix notebook page syncing loop - -2005-08-13 11:38 sumpfork - - * help_nwnlexicon.zip, makebundle.py, Makefile, neveredit.icns, - neveredit.jpg, neveredit.r, neveredit_logo.jpg, NEWS, - neveredit_logo_init.jpg, README, README.commandline, - README.scripteditor, paint_icon.png, paint_icon_sel.png, - SConstruct, rotate_icon.png, rotate_icon_sel.png, - select_icon.png, select_icon_sel.png, setup.py, doxygen/Doxyfile, - doxygen/pythfilter.py, file/.cvsignore, file/BIFFile.py, - file/BinaryDataHandler.py, file/CExoLocString.py, - file/__init__.py, file/ERFFile.py, file/GFFFile.py, - file/KeyFile.py, file/MDLFile.py, file/NeverFile.py, - file/TalkTableFile.py, file/TileSetFile.py, file/TwoDAFile.py, - game/.cvsignore, game/Area.py, game/ChangeNotification.py, - game/__init__.py, game/Conversation.py, game/Creature.py, - game/Door.py, game/Item.py, game/Module.py, game/NeverData.py, - game/Palette.py, game/Placeable.py, game/ResourceManager.py, - game/Script.py, game/SituatedObject.py, game/Tile.py, - openglcontext/.cvsignore, openglcontext/__init__.py, - openglcontext/quaternion.py, openglcontext/utilities.py, - openglcontext/vectorutilities.py, - resources/xrc/PreferencesDialog.xrc, run/nevercommand, - run/neveredit, run/nevererf, run/neversay, run/neverscript, - run/runmodule, ui/.cvsignore, ui/ConversationWindow.py, - ui/__init__.py, ui/GLWindow.py, ui/HelpViewer.py, - ui/MapWindow.py, ui/ModelWindow.py, ui/NeverEditMainApp.py, - ui/Notebook.py, ui/PreferencesDialog.py, ui/PropWindow.py, - ui/ScriptEditor.py, ui/TilingWindow.py, ui/ToolPalette.py, - ui/WxUtils.py, util/.cvsignore, util/Loggers.py, - util/__init__.py, util/check_versions.py, util/neverglobals.py, - util/Preferences.py, util/Progressor.py, util/Utils.py, - util/plistlib.py: - - Initial revision - -2005-08-13 11:38 sumpfork - - * help_nwnlexicon.zip (tags: v0_8_1_b1), makebundle.py (tags: - v0_8_1_b1), Makefile, neveredit.icns, neveredit.jpg (tags: - v0_8_1_b1), neveredit.r (tags: v0_8_1_b1), neveredit_logo.jpg, - NEWS (tags: v0_8_1_b1), neveredit_logo_init.jpg, README, - README.commandline (tags: v0_8_1_b1), README.scripteditor (tags: - v0_8_1_b1), paint_icon.png, paint_icon_sel.png, SConstruct (tags: - v0_8_1_b1), rotate_icon.png, rotate_icon_sel.png, - select_icon.png, select_icon_sel.png, setup.py, doxygen/Doxyfile - (tags: v0_8_1_b1), doxygen/pythfilter.py (tags: v0_8_1_b1), - file/.cvsignore, file/BIFFile.py (tags: v0_8_1_b1), - file/BinaryDataHandler.py (tags: v0_8_1_b1), - file/CExoLocString.py (tags: v0_8_1_b1), file/__init__.py (tags: - v0_8_1_b1), file/ERFFile.py (tags: v0_8_1_b1), file/GFFFile.py - (tags: v0_8_1_b1), file/KeyFile.py (tags: v0_8_1_b1), - file/MDLFile.py (tags: v0_8_1_b1), file/NeverFile.py (tags: - v0_8_1_b1), file/TalkTableFile.py (tags: v0_8_1_b1), - file/TileSetFile.py (tags: v0_8_1_b1), file/TwoDAFile.py (tags: - v0_8_1_b1), game/.cvsignore, game/Area.py (tags: v0_8_1_b1), - game/ChangeNotification.py (tags: v0_8_1_b1), game/__init__.py - (tags: v0_8_1_b1), game/Conversation.py (tags: v0_8_1_b1), - game/Creature.py (tags: v0_8_1_b1), game/Door.py (tags: - v0_8_1_b1), game/Item.py (tags: v0_8_1_b1), game/Module.py, - game/NeverData.py (tags: v0_8_1_b1), game/Palette.py (tags: - v0_8_1_b1), game/Placeable.py (tags: v0_8_1_b1), - game/ResourceManager.py (tags: v0_8_1_b1), game/Script.py (tags: - v0_8_1_b1), game/SituatedObject.py (tags: v0_8_1_b1), - game/Tile.py (tags: v0_8_1_b1), openglcontext/.cvsignore, - openglcontext/__init__.py (tags: v0_8_1_b1), - openglcontext/quaternion.py (tags: v0_8_1_b1), - openglcontext/utilities.py (tags: v0_8_1_b1), - openglcontext/vectorutilities.py (tags: v0_8_1_b1), - resources/xrc/PreferencesDialog.xrc (tags: v0_8_1_b1), - run/nevercommand (tags: v0_8_1_b1), run/neveredit (tags: - v0_8_1_b1), run/nevererf (tags: v0_8_1_b1), run/neversay (tags: - v0_8_1_b1), run/neverscript (tags: v0_8_1_b1), run/runmodule - (tags: v0_8_1_b1), ui/.cvsignore, ui/ConversationWindow.py (tags: - v0_8_1_b1), ui/__init__.py (tags: v0_8_1_b1), ui/GLWindow.py - (tags: v0_8_1_b1), ui/HelpViewer.py (tags: v0_8_1_b1), - ui/MapWindow.py (tags: v0_8_1_b1), ui/ModelWindow.py (tags: - v0_8_1_b1), ui/NeverEditMainApp.py, ui/Notebook.py (tags: - v0_8_1_b1), ui/PreferencesDialog.py, ui/PropWindow.py, - ui/ScriptEditor.py, ui/TilingWindow.py (tags: v0_8_1_b1), - ui/ToolPalette.py, ui/WxUtils.py (tags: v0_8_1_b1), - util/.cvsignore, util/Loggers.py (tags: v0_8_1_b1), - util/__init__.py (tags: v0_8_1_b1), util/check_versions.py (tags: - v0_8_1_b1), util/neverglobals.py (tags: v0_8_1_b1), - util/Preferences.py (tags: v0_8_1_b1), util/Progressor.py (tags: - v0_8_1_b1), util/Utils.py (tags: v0_8_1_b1), util/plistlib.py - (tags: v0_8_1_b1) (utags: openknights_import): - - importing an export of the neveredit module from the openknights repository - -2005-08-13 11:27 sumpfork - - * .cvsignore, .project, AUTHORS, __init__.py, ChangeLog, COPYING: - - Initial revision - -2005-08-13 11:27 sumpfork - - * .cvsignore, .project (tags: v0_8_1_b1), AUTHORS (tags: - v0_8_1_b1), __init__.py, ChangeLog (tags: v0_8_1_b1), COPYING - (tags: v0_8_1_b1) (utags: openknights_import): - - importing an export of the neveredit module from the openknights repository - -2005-08-13 11:09 sumpfork - - * ui/NeverEditMainApp.py, file/ERFFile.py, game/Conversation.py, - game/Module.py, ui/Notebook.py: - - new ability to add single resource files to a module - major change in how and when notebook pages are loaded: all loads are now delayed until shown - new Notebook class to perform bookkeeping for this - -2005-08-13 11:03 sumpfork - - * ui/ModelWindow.py: - - eliminate some unecessary code;add some testing code - -2005-08-13 11:02 sumpfork - - * game/ResourceManager.py: - - throw exception instead of silent fail on unknown resource type - -2005-08-13 11:01 sumpfork - - * ui/GLWindow.py: - - modularize some methods for profiling - -2005-08-13 10:59 sumpfork - - * ui/MapWindow.py: - - change to map info menu - -2005-08-13 10:57 sumpfork - - * ui/ConversationWindow.py: - - new setConversation method - -2005-08-13 10:53 sumpfork - - * ui/PropWindow.py: - - minor fixes - -2005-08-13 10:52 sumpfork - - * ui/ScriptEditor.py: - - fix standalone startup of script editor - -2005-08-13 10:49 sumpfork - - * SConstruct, setup.py: - - making docs with scons;fix for main classes for py2app - -2005-07-09 04:23 brab - - * run/nevercommand: - - nevercommand re-executes as pythonw on the Mac - (I needed to extract a bunch of DLG resoures out of a mod, and it worked great) - -2005-05-08 14:18 brab - - * ui/PropWindow.py: - - changing Remove into Detach - -2005-05-08 13:16 brab - - * file/CExoLocString.py, ui/ConversationWindow.py, - ui/PropWindow.py: - - Multi-lingual editing is in. There is no way to specify a deflault language yet - (in preferences) - -2005-05-08 04:17 brab - - * ui/: ConversationWindow.py, PropWindow.py: - - - colorized dialog text according to standard (NPC in red, PC in blue, links in - grey) - - the CExoLocString control is a separate class (so that it will be easy to - extend it beyond a simple textctrl) - -2005-05-07 05:05 brab - - * file/CExoLocString.py, game/ChangeNotification.py, - game/Conversation.py, ui/ConversationWindow.py, ui/PropWindow.py: - - - Started the implementation of the Property notification system that we - discussed. Some code should be refactored to merge PropertyNotifiers with - VisualChangeNotifiers - - - Using this to update conversation strings in the tree representation in real - time, when the CExoLocString is updated (this also works for nodes that link - to the node being changed) - -2005-05-05 05:37 brab - - * file/CExoLocString.py: - - we can now specify whether we want the string to be stored as a Male/Neutral - index or at a Female index (i.e. 2*langID or 2*langID + 1) - -2005-04-28 15:02 sumpfork - - * ui/ScriptEditor.py: - - fix width of output list box on linux - -2005-04-26 18:46 sumpfork - - * game/ResourceManager.py, ui/PropWindow.py, ui/MapWindow.py, - ui/ModelWindow.py: - - eliminate import * usage - -2005-04-26 18:38 sumpfork - - * .project: - - eclipse project - -2005-04-26 18:37 sumpfork - - * openglcontext/vectorutilities.py, ui/MapWindow.py, - ui/PropWindow.py, ui/TilingWindow.py, file/MDLFile.py: - - cleanups and fixes - -2005-04-21 10:39 brab - - * game/: ChangeNotification.py, ResourceManager.py: - - first step toward splitting out change listeners - -2005-04-12 09:38 sumpfork - - * file/MDLFile.py, file/TalkTableFile.py, - openglcontext/quaternion.py: - - fix some pylint warnings - -2005-03-20 16:51 sumpfork - - * ChangeLog: - - update changelog - -2005-03-17 00:04 sumpfork - - * SConstruct: - - add doc target - -2005-03-17 00:03 sumpfork - - * game/Module.py, util/plistlib.py: - - some docstring fixes - -2005-03-17 00:02 sumpfork - - * util/neverglobals.py: - - make sure resource manager is None if it didn't initialize properly - -2005-03-17 00:00 sumpfork - - * ui/TilingWindow.py, game/Tile.py, file/TileSetFile.py, - util/Utils.py: - - tiling window now properly displays the possible (non-group) tiles that can be placed into the selected slot - needs to be sped up with lookup tables - -2005-03-12 21:26 sumpfork - - * ui/MapWindow.py: - - add simple contextual menu to currently selected map object - menu items to copy object tag to clipboard and show location - -2005-03-12 15:30 brab - - * game/Conversation.py, ui/PropWindow.py: - - CExoString props may now have a Creature_Tags typeSpec to select creature tags. - This does not play well yet with creature tag updating. - -2005-03-12 14:40 sumpfork - - * run/: neveredit, neverscript, runmodule: - - replace os.system with os.execvp to avoid shell quoting problems and have the original interpreter exit when the new one starts - -2005-03-12 14:00 brab - - * ui/ConversationEditor.py: - - Oops, forgot to remove this file - -2005-03-12 13:52 sumpfork - - * game/Module.py: - - module tag is stored under Mod_Tag - -2005-03-12 13:38 sumpfork - - * game/: Area.py, Module.py: - - adding getTags() methods to Area and Module that return dictionaries of all used tags they contain, organized by object type - changing Module to retrieve the list of areas from the IFO file, not by looking through all the resources of the module - -2005-03-12 12:55 sumpfork - - * AUTHORS: - - add alan to authors - -2005-03-12 12:46 sumpfork - - * run/: nevercommand, neveredit, neverscript, runmodule: - - attempt to replace mac os specific 'pythonw' call with cross-platform version - this version checks whether it's on Mac OS, and re-executes itself using 'pythonw' if appropriate - this behaviour can be turned off with --disable_pythonw - also some untested preference setting code for nevercommand - -2005-03-12 11:12 brab - - * game/: Conversation.py, Creature.py: - - I was wrong: a speaker tag is a tag, hence a CExoString (unless there is a way - to grab all creature tags from a module). However a creature TemplateResRef is - a ResRef,UTC, not a ResRef,NSS. - -2005-03-12 10:40 brab - - * game/Conversation.py, ui/ConversationWindow.py, - ui/NeverEditMainApp.py: - - - Merging ConversationEditor and NeverEditMainApp, hence deleting ConversationEditor. - - Speaker of a conversation is a "ResRef,UTC" (i.e. a creature tag) - -2005-03-09 12:27 sumpfork - - * ui/NeverEditMainApp.py: - - put up a dialog when opening file fails - -2005-03-09 11:08 sumpfork - - * game/Creature.py, file/BinaryDataHandler.py, game/Door.py, - game/Item.py, game/Module.py, game/Placeable.py, - game/SituatedObject.py, game/Tile.py, file/CExoLocString.py, - file/GFFFile.py, file/KeyFile.py, file/MDLFile.py, - file/TileSetFile.py, file/TwoDAFile.py: - - some changes/fixes due to pychecker reports - -2005-03-09 10:33 sumpfork - - * ui/ToolPalette.py: - - some reformatting, docstrings - -2005-03-07 14:45 sumpfork - - * file/BIFFile.py, game/Creature.py, game/Item.py, - game/NeverData.py, game/Palette.py: - - some changes due to pylint complaints - -2005-03-07 11:54 sumpfork - - * game/: Area.py, Creature.py, Item.py, Module.py, NeverData.py, - SituatedObject.py, Tile.py: - - some progress on tile laying - new parent class NeverInstance to encapsulate funcionality common to instance objects and prevent problems with multiple inheritance - -2005-03-07 11:46 sumpfork - - * game/Area.py: - - read area contents automatically on first child list access - -2005-03-06 15:53 brab - - * game/Conversation.py, ui/ConversationEditor.py, - ui/ConversationWindow.py: - - - correctly displaying the whole conversation tree (and links) - - fixed saving - -2005-03-06 15:52 brab - - * ui/PropWindow.py: - - The integer control was not hooked to the right events: - - changed SPIN to SPINCTRL - - added text event - -2005-03-04 11:25 sumpfork - - * game/Script.py: - - print exception info if compiler can't be imported as some are having trouble with the binary release - -2005-03-02 04:02 brab - - * game/Conversation.py, ui/ConversationWindow.py: - - getting rid of tabs - -2005-03-01 17:41 sumpfork - - * ui/GLWindow.py, ui/MapWindow.py, util/Utils.py, - util/check_versions.py, util/neverglobals.py, util/plistlib.py, - file/ERFFile.py, game/Module.py, openglcontext/quaternion.py, - openglcontext/utilities.py, openglcontext/vectorutilities.py, - game/ResourceManager.py: - - getting rid of all tabs - converting some files to unix line endings - -2005-03-01 17:33 sumpfork - - * file/ERFFile.py: - - some functionality for nevererf - -2005-03-01 17:32 sumpfork - - * run/nevererf: - - a tar-like command for manipulating erf files - -2005-02-28 17:38 brab - - * ui/ConversationEditor.py: - - solved the redrawing bug when going from conversation to root of main app - -2005-02-28 17:22 brab - - * game/Conversation.py, ui/ConversationEditor.py, - ui/ConversationWindow.py: - - more progress: possible to switch from one conversation to another, and to see - the properties of conversation entries. The full tree is not built yet, this is - only on the starting entries. - - There is still a bug when switching back to the root of the main application - tree that I need to look at. - -2005-02-27 13:14 brab - - * file/CExoLocString.py, game/Conversation.py, - ui/ConversationEditor.py, ui/ConversationWindow.py: - - some progress on the conversation front. I still need to figure out how to - detach a tree from a frame when I need to put another tree there. - -2005-02-26 22:41 sumpfork - - * file/TileSetFile.py, ui/TilingWindow.py, game/Tile.py: - - new (and unfinished) gui control for laying tiles - -2005-02-26 22:39 sumpfork - - * game/: Module.py, NeverData.py: - - adding docstrings to superclass so they propagate downwards - fixing some docstring warnings - -2005-02-26 22:36 sumpfork - - * run/runmodule: - - main script to run an arbitrary module providing a 'run' method in neveredit - -2005-02-25 11:25 sumpfork - - * file/MDLFile.py: - - attempt to speed up file reading by consolidating some reads - (not sure it actually makes a difference) - -2005-02-25 11:24 sumpfork - - * ui/: ConversationEditor.py, NeverEditMainApp.py: - - merging with changes from Alan - enable calling of run() without args - -2005-02-24 16:04 brab - - * game/Conversation.py, game/ResourceManager.py, run/neveredit, - ui/ConversationEditor.py, ui/NeverEditMainApp.py: - - - neveredit: deal better with --devel argument (pass the "args" argument to the main app) - - ResourceManager: "waring" should be "warning" - - Conversation: now based on NeverEditMainApp (for future merging) - -2005-02-22 15:52 sumpfork - - * ui/PropWindow.py: - - some logging debug messages - -2005-02-22 15:51 sumpfork - - * util/Loggers.py: - - don't add duplicate handlers - simplify setup by removing common options to hierarchical loggers - -2005-02-22 15:50 sumpfork - - * file/: GFFFile.py, ERFFile.py: - - correct logger names - -2005-02-22 15:48 sumpfork - - * util/Preferences.py: - - handle missing prefs items more gracefully - -2005-02-21 13:26 sumpfork - - * ui/NeverEditMainApp.py, ui/ScriptEditor.py, - ui/PreferencesDialog.py, resources/xrc/PreferencesDialog.xrc: - - don't have preferences dialog stay on top - use parent of prefs dialog and center on it properly - -2005-02-20 21:01 sumpfork - - * ui/: NeverEditMainApp.py, PropWindow.py, ScriptEditor.py: - - fix mistake I made in last checkin - some formatting fixes - -2005-02-20 17:48 sumpfork - - * setup.py, game/ResourceManager.py, game/Script.py, - resources/xrc/PreferencesDialog.xrc, ui/NeverEditMainApp.py, - ui/PreferencesDialog.py, ui/ScriptEditor.py, util/Preferences.py, - util/neverglobals.py: - - changing prefs dialog to be constructed from xrc resource file - moving prefs dialog into ui.PreferencesDialog - changing prefs to behave like a dictionary - add dynamic selection of preference panes - add preference items for script editor - use global preferences object - -2005-02-20 14:17 brab - - * game/Conversation.py, game/Module.py, run/neversay, - ui/ConversationEditor.py, ui/ScriptEditor.py: - - - a first sketch of a conversation editor, that does not edit nor display - anything yet - - a bugfix in script editor when used standalone (a global was missing - somewhere) - -2005-02-20 12:58 sumpfork - - * file/GFFFile.py: - - put in 'add' delegate into GFFFile - add documentation for 'add' - -2005-02-19 14:04 sumpfork - - * game/ResourceManager.py, ui/GLWindow.py, ui/MapWindow.py, - ui/ModelWindow.py, ui/NeverEditMainApp.py, ui/PropWindow.py: - - implement update mechanism for appearance changes to appear in 3D displays right away - fix model caching and copying (this should finally get rid of all 3D display errors that - were still happening sometimes) - use new NeverProperty class - check for multi-preprocessing of models (shouldn't happen anymore) - code cleanups and better/more docstrings - -2005-02-19 14:00 sumpfork - - * util/plistlib.py: - - clean up docstring for epydoc (not quite done yet) - -2005-02-19 14:00 sumpfork - - * util/Loggers.py: - - add some more specific loggers - -2005-02-19 13:59 sumpfork - - * game/Tile.py: - - new LocatedNeverData as baseclass for objects that have a model, location, etc. - cleanups, use implicit [] instead of getPropertyValue() or getProperty()[] - hand back 2D tile as portrait - -2005-02-19 13:58 sumpfork - - * game/: Module.py, NeverData.py, Creature.py, Door.py, Item.py, - Placeable.py, SituatedObject.py: - - new LocatedNeverData as baseclass for objects that have a model, location, etc. - cleanups, use implicit [] instead of getPropertyValue() or getProperty()[] - -2005-02-19 13:55 sumpfork - - * file/MDLFile.py: - - add getName for model class (uses name of root node) - store preprocessing state in model - -2005-02-19 13:54 sumpfork - - * file/KeyFile.py: - - don't reread BIF files, store them - some docstrings - -2005-02-19 13:54 sumpfork - - * file/GFFFile.py: - - implicitely make string values into CExoLocString objects where appropriate - -2005-02-19 13:53 sumpfork - - * file/CExoLocString.py: - - can now make new locstring from scratch - implicit conversion to string on `` or str() - -2005-02-19 13:52 sumpfork - - * file/BIFFile.py: - - add docstring - -2005-02-18 11:38 sumpfork - - * file/PaletteFile.py, game/Palette.py, ui/ToolPalette.py: - - last move was hasty - Palette should be in game, not file - -2005-02-17 17:40 sumpfork - - * file/PaletteFile.py, ui/Palette.py, ui/ToolPalette.py: - - moving ui.Palette to the more appropriate file.PaletteFile - -2005-02-14 11:03 sumpfork - - * file/.cvsignore, game/.cvsignore, run/neverscript, ui/.cvsignore, - util/.cvsignore: - - adding missing run/neverscript - adding various .cvsignores - -2005-02-13 21:13 sumpfork - - * Makefile, __init__.py, doxygen/Doxyfile, doxygen/pythfilter.py, - file/ERFFile.py, file/TwoDAFile.py, file/__init__.py, - game/Module.py, openglcontext/quaternion.py, - openglcontext/vectorutilities.py, ui/HelpViewer.py, - ui/NeverEditMainApp.py, ui/ScriptEditor.py: - - getting rid of epydoc warnings - update for pythfiler (though unused) and doxygen - -2005-02-13 20:10 sumpfork - - * plistlib.py, util/Preferences.py, util/plistlib.py: - - move plistlib to util - -2005-02-13 20:00 sumpfork - - * README, README.commandline, README.scripteditor, command.py, - setup.py, run/nevercommand, run/neveredit, ui/ScriptEditor.py: - - moving command.py to run/nevercommand - doing some funky path manipulation to try to find the neveredit main package if the scripts aren't on the python path - updating READMEs to reflect new install - adding scripts to setup.py - -2005-02-13 18:55 sumpfork - - * file/CExoLocString.py, file/ERFFile.py, file/KeyFile.py, - file/TalkTableFile.py, file/__init__.py, game/Item.py, - game/Module.py, game/ResourceManager.py, game/Tile.py, - game/__init__.py, openglcontext/__init__.py, run/neveredit, - ui/NeverEditMainApp.py, ui/ScriptEditor.py, ui/__init__.py, - util/__init__.py: - - correct various problems with the new package structure - make many imports use only 'import' to avoid circular imports - use neveredit.__version__ where appropriate - -2005-02-13 17:21 sumpfork - - * file/TileSetFile.py, game/Area.py, game/Tile.py: - - moving Tile class into game/Tile.py for consistency - -2005-02-13 17:16 sumpfork - - * GLWindow.py, HelpViewer.py, Loggers.py, MapWindow.py, - ModelWindow.py, NeverEditMainApp.py, Palette.py, PropWindow.py, - ScriptEditor.py, ToolPalette.py, WxUtils.py, __init__.py, - check_versions.py, command.py, globals.py, file/CExoLocString.py, - file/ERFFile.py, file/KeyFile.py, file/MDLFile.py, - file/TileSetFile.py, game/Area.py, game/Creature.py, - game/Door.py, game/Module.py, game/NeverData.py, - game/Placeable.py, game/ResourceManager.py, game/Script.py, - game/SituatedObject.py, ui/GLWindow.py, ui/HelpViewer.py, - ui/MapWindow.py, ui/ModelWindow.py, ui/NeverEditMainApp.py, - ui/Palette.py, ui/PropWindow.py, ui/ScriptEditor.py, - ui/ToolPalette.py, ui/WxUtils.py, ui/__init__.py, - util/Loggers.py, util/Progressor.py, util/check_versions.py, - util/neverglobals.py: - - moving GUI classes into ui package - moving some additional modules into util package - replacing 'globals' module with 'neverglobals' to avoid name conflict with builtin - -2005-02-13 16:42 sumpfork - - * Area.py, Creature.py, Door.py, Item.py, MapWindow.py, - ModelWindow.py, Module.py, NeverData.py, NeverEditMainApp.py, - Palette.py, Placeable.py, PropWindow.py, ResourceManager.py, - Script.py, ScriptEditor.py, SituatedObject.py, ToolPalette.py, - WxUtils.py, command.py, globals.py, file/ERFFile.py, - file/KeyFile.py, game/Area.py, game/Creature.py, game/Door.py, - game/Item.py, game/Module.py, game/NeverData.py, - game/Placeable.py, game/ResourceManager.py, game/Script.py, - game/SituatedObject.py, game/__init__.py: - - moving game level files into game package - -2005-02-13 16:28 sumpfork - - * Area.py, BIFFile.py, BinaryDataHandler.py, CExoLocString.py, - ERFFile.py, GFFFile.py, KeyFile.py, MDLFile.py, MapWindow.py, - ModelWindow.py, Module.py, NeverFile.py, Progressor.py, - PropWindow.py, ResourceManager.py, ScriptEditor.py, - TalkTableFile.py, TileSetFile.py, TwoDAFile.py, - check_versions.py, command.py, file/BIFFile.py, - file/BinaryDataHandler.py, file/CExoLocString.py, - file/ERFFile.py, file/GFFFile.py, file/KeyFile.py, - file/MDLFile.py, file/NeverFile.py, file/TalkTableFile.py, - file/TileSetFile.py, file/TwoDAFile.py, file/__init__.py: - - starting move to the new file package - -2005-02-13 15:51 sumpfork - - * Utils.py: - - forgot one - -2005-02-13 15:51 sumpfork - - * GLWindow.py, MDLFile.py, MapWindow.py, NeverEditMainApp.py, - Preferences.py, ScriptEditor.py, globals.py, run/neveredit, - util/Preferences.py, util/Utils.py, util/__init__.py: - - starting to move files into sub packages (util being the first) - new 'run' dir with scripts the will get installed into 'bin' by setup - right now run/neveredit manipulates sys.path to run locally - will turn this off unless called with 'devel' option - -2005-02-13 15:31 sumpfork - - * MapWindow.py, Module.py, NeverEditMainApp.py, PropWindow.py, - ResourceManager.py: - - resource manager can now rebuild global key list from the actual sources on demand - new notification/listener system for resource changes - use new system to update prop controls when scripts get added (bug #1121906) - -2005-02-13 15:29 sumpfork - - * TileSetFile.py: - - __getitem__ accessor - ability to get door info for tile - -2005-02-12 16:51 sumpfork - - * setup.py (tags: neveredit-0-8): - - fix new default - -2005-02-12 16:37 sumpfork - - * ChangeLog (tags: neveredit-0-8): - - update for 0.8 - -2005-02-12 16:25 sumpfork - - * Makefile, __init__.py (utags: neveredit-0-8): - - bump version to 0.8 - -2005-02-12 16:20 sumpfork - - * GLWindow.py, MDLFile.py, NeverEditMainApp.py, setup.py: - - don't require shininess value on nodes - move all code to inside functions in main file - remove files properly in setup - -2005-02-08 17:25 sumpfork - - * Area.py: - - return in constructor is nonsense - throw exception instead - -2005-02-08 17:24 sumpfork - - * setup.py: - - default to neveredit - -2005-02-08 17:23 sumpfork - - * ScriptEditor.py: - - use latin1 encoding - -2005-02-05 22:49 sumpfork - - * TileSetFile.py: - - make access to properties of tileset easier - add retrieval method for 2D tile image - -2005-02-05 22:45 sumpfork - - * ResourceManager.py: - - add method to get all keys with a certain name (and any type) - -2005-02-05 19:39 sumpfork - - * NeverEditMainApp.py: - - fixing exception due to last changes concerning script dirty flags - -2005-02-05 15:17 sumpfork - - * NeverEditMainApp.py, PropWindow.py: - - some minimum sizes to prevent controls from being drawn into scrollbars - pack controls in prop window more tightly - display name of currently loaded module in title bar - give a status message when module successfully saved - -2005-02-05 15:15 sumpfork - - * ScriptEditor.py: - - add some docstrings - make sure that dirty flag gets set on all events that change the module - -2005-02-05 15:14 sumpfork - - * Creature.py: - - 'Conversation' should be DLG not NSS - -2005-02-05 13:32 sumpfork - - * ScriptEditor.py: - - fix script selection in editor - -2005-02-05 12:09 sumpfork - - * GFFFile.py, NeverEditMainApp.py, Script.py, ScriptEditor.py: - - converting some tabs to spaces - more pythonesque accessors for GFF files and structures - -2005-02-02 21:55 sumpfork - - * Preferences.py: - - don't crash on malformed/incomplete prefs file - -2005-02-02 14:28 sumpfork - - * ChangeLog (tags: neveredit-0-8b1): - - update changelog for 0.8b1 - -2005-02-02 14:26 sumpfork - - * BinaryDataHandler.py, ScriptEditor.py (utags: neveredit-0-8b1): - - taking out remains of prefs dialog from script editor (needs to be reworked) - make sure current editor contents get committed before saving module - force encode resrefs to ASCII (they might come in as unicode from the 'new script' dialog) - -2005-02-01 18:28 sumpfork - - * SConstruct, ScriptEditor.py, setup.py: - - setting up script menu editors again - setting module for loaded scripts within script editor (now compile ok) - enabling new button in standalone mode - trying new icon file for neverscript - -2005-02-01 17:38 sumpfork - - * HelpViewer.py, NeverEditMainApp.py, SConstruct, Script.py, - ScriptEditor.py: - - unifying the menu system for main app and script editor - edit menu now present and working in main app - new scons based build system for dmgs and bundles (soon to completely replace Makefile) - fix bug where prop controls were being applied to script in a different window - -2005-01-29 15:45 sumpfork - - * Area.py, Creature.py, Door.py, GFFFile.py, Item.py, Placeable.py: - - setting the appropriate gff struct ids for items added to module (nwn - must've gotten more strict about this in recent versions, as objects - used to show up independent of struct id - they don't anymore). Can - save modules with added items successfully and load them in the game. - -2005-01-29 14:26 sumpfork - - * CVSROOT/loginfo: - - adding openknights-commits as cvs commit message target - -2005-01-28 17:55 sumpfork - - * Area.py, NeverData.py: - - attempt at fixing None exception when adding things to module and saving - -2005-01-28 15:33 brab - - * NeverEditMainApp.py, PropWindow.py: - - PropWindow: cleanstr is the identity - + a couple spelling fixes in comments - -2005-01-28 15:23 sumpfork - - * MapWindow.py, NeverEditMainApp.py: - - make sure tools are always enabled when there's a map - stop painting when switching tools, setting new area - -2005-01-28 14:42 sumpfork - - * NeverEditMainApp.py, ScriptEditor.py: - - enabling 'new script' in standalone script editor - adjusting save/discard dialog to match the main app one's - better detection of change script both in main app and standalone editor - -2005-01-27 16:02 sumpfork - - * README: - - some updates - -2005-01-27 16:01 sumpfork - - * NeverEditMainApp.py, __init__.py, setup.py: - - unifying version number into __init__ - better setup.py - -2005-01-26 12:15 sumpfork - - * Makefile: - - upload neverscript, too - -2005-01-26 03:56 brab - - * .cvsignore, NeverEditMainApp.py: - - hush cvs - removed extra wx_EndBusyCursor - -2005-01-25 17:42 sumpfork - - * NeverEditMainApp.py: - - set file changed when adding objects to map - -2005-01-25 17:35 sumpfork - - * HelpViewer.py, Makefile: - - adding full numarray include for linux freeze - discarding buggy wx exception in frozen help viewer - -2005-01-25 16:02 sumpfork - - * ERFFile.py, GFFFile.py, Loggers.py, NeverEditMainApp.py: - - make loggers in their own module and split them into main and filehandling loggers - -2005-01-25 15:58 sumpfork - - * BinaryDataHandler.py, ERFFile.py, GFFFile.py, Makefile, - Module.py, NeverEditMainApp.py, PropWindow.py, - ResourceManager.py, ToolPalette.py, check_versions.py: - - start of a new logging structure - BinaryDataHandler: make sure all strings from GUI are non-unicode - GFFFile: some error checking/exception catching - GFFFile: clear temporary flat structure after reading/writing to save memory - NeverEditMainApp: don't read module in a separate thread - PropWindow: keep order of hak packs, convert all to lower case - ResourceManager: convert all hak pack names to lower case - ToolPalette: set background to white (for linux) - -2005-01-24 15:58 sumpfork - - * openglcontext/vectorutilities.py: - - fix for missing savespace arg in numarray (also corresponds to patch from Alan) - -2005-01-24 10:45 sumpfork - - * NeverEditMainApp.py, PropWindow.py: - - save menu item wasn't turning on with my last fix. - -2005-01-23 20:27 sumpfork - - * NeverEditMainApp.py: - - make sure changed property controls get applied before checking whether we should save - -2005-01-23 20:21 sumpfork - - * Area.py, GFFFile.py, NeverData.py, NeverEditMainApp.py, - PropWindow.py, ResourceManager.py, ScriptEditor.py, - SituatedObject.py: - - fixing a serious bug in the property setting code (was trying to set the prop twice) - taking out some printouts - -2005-01-23 13:06 sumpfork - - * NeverEditMainApp.py: - - patch from Alan Schmitt to replace two unsaved changes dialogs with 1 - -2005-01-21 17:58 sumpfork - - * Makefile, check_versions.py, setup.py: - - fix py2app building by including numarray whole - -2005-01-21 14:10 sumpfork - - * GLWindow.py, Makefile, NeverEditMainApp.py, Preferences.py, - ResourceManager.py, setup.py, openglcontext/quaternion.py, - openglcontext/utilities.py, openglcontext/vectorutilities.py: - - removing Numeric dependencies, should now be able to run without it installed - not adding file names that can't be ascii encoded to file history - make wx crash - only parse known nwn key files in install dir - fixed py2app script, now works beautifully - explicitely check for None instead when using numarray (it throws an exception - if it finds an array with the implicit check) - -2005-01-20 17:50 sumpfork - - * Area.py, Creature.py, Item.py, Makefile, NeverData.py, - SituatedObject.py: - - better name printing for neverdata classes - trying to get cxfreeze to work again (and failing) - -2004-11-11 12:09 sumpfork - - * NeverEditMainApp.py, PropWindow.py: - - ignoring exceptions from html window - they seem to happen on linux, but not destroy anything - now that we're dealing with unicode strings, we shouldn't have to translate unprintable chars anymore - -2004-11-10 09:43 sumpfork - - * setup.py: - - making sure setup.py works without py2app (unless you want to make - a Mac OS X app bundle, of course) - -2004-11-10 09:41 sumpfork - - * Makefile, setup.py: - - removing bogus semi-standalone - copying icon files to freeze - -2004-11-07 20:29 sumpfork - - * PropWindow.py, TalkTableFile.py: - - also read latin1 from dialog.tlk files - fix bug with inapprpriate 'latin-1' encode in PropWindow - -2004-11-07 19:29 sumpfork - - * BinaryDataHandler.py, GFFFile.py, ScriptEditor.py: - - forcing encoding/decoding from/to latin1: this fixes exceptions for french - modules, but still doesn't seem to display things correctly in wx controls - some more fixes for new resource manager import scheme - -2004-11-06 19:58 sumpfork - - * ResourceManager.py, command.py, doxygen/Doxyfile: - - putting some doc strings into resource manager - eliminating duplicate function - making doxygen always produce brief description - -2004-11-06 19:35 sumpfork - - * Creature.py, Door.py, Item.py, MDLFile.py, MapWindow.py, - ModelWindow.py, Module.py, Script.py, ScriptEditor.py, - ToolPalette.py, Utils.py, check_versions.py, command.py, - globals.py, setup.py, doxygen/Doxyfile: - - fixing dual import of resource manager - making sure nobody makes their own resource manager anymore - better py2app setup file - exluding non-neveredit files from doxygen - some added docstrings - -2004-10-26 20:33 sumpfork - - * Area.py, CExoLocString.py, Creature.py, Door.py, ERFFile.py, - GLWindow.py, KeyFile.py, MDLFile.py, MapWindow.py, - ModelWindow.py, Module.py, NeverData.py, NeverEditMainApp.py, - Palette.py, Placeable.py, PropWindow.py, Script.py, - ScriptEditor.py, SituatedObject.py, TileSetFile.py, - ToolPalette.py, Utils.py, check_versions.py, globals.py, - setup.py: - - automatically load resource manager using prefs if it isn't present - py2app corrections and fixes for working bundle - some import line changes to get rid of circular include problems - put in a switch to select numarray vs. Numeric (now set to numarray) - add pref menu item back in - __getitem__ for modules - -2004-10-23 20:04 jazzdman - - * NeverEditMainApp.py: - - - - Updated to allow ScriptEditor to update Edit Menu when it is visible. - -2004-10-23 20:01 jazzdman - - * ScriptEditor.py: - - - - Updated ScriptEditor so that ScriptEditor-specific Edit menu items can be invoked - from within NeverEditMainApp. Added setupEditMenu method and removeEditMenu method. - -2004-10-23 16:23 jazzdman - - * ScriptEditor.py: - - - - Added Cut/Copy/Paste/Delete functionality to Edit menu. Appears to work - the same was as the popup menu functions. - -2004-10-19 20:37 jazzdman - - * Preferences.py: - - - - Need to pass the Main Frame of the neveredit to the Preferences dialog to get - it to show up. - - Moved all the import statements to the head of the file. - - Updated import statements so that DirBrowserButton would work. - - Capitolized True and False in dialog() method, so Python wouldn't complain. - -2004-10-19 20:34 jazzdman - - * NeverEditMainApp.py: - - - - Updated OnPreferences method to pass self to dialog() method of Preferences - class to allow the Preferences dialog to show up. Required for Mac and Linux. - -2004-10-17 14:09 jazzdman - - * Preferences.py: - - - Updated constructor to remove leading / for each of the os.path.join statements.This was causing the prefPath to become /... (i.e. starting the path from the root dir). - -2004-10-06 09:34 sumpfork - - * GLWindow.py, MapWindow.py, NeverEditMainApp.py, ScriptEditor.py, - setup.py: - - converting glcanvas using files to wxpython 2.5.x namespace useage - new py2app functionality for setup.py - don't fail if the command line arg reading throws exception - fixing faulty check in script editor - -2004-09-26 20:31 sumpfork - - * ScriptEditor.py: - - fixing finding of help in script editor bundle - fixing missing VERSION in about dialog - -2004-09-26 20:21 sumpfork - - * NeverEditMainApp.py, Preferences.py, ScriptEditor.py, Utils.py, - WxUtils.py, __init__.py, check_versions.py, makebundle.py: - - moving pref methods to own module/class - using python loggers in some places - making makebundle do command line args - separating utils from wx utils - -2004-09-23 11:07 sumpfork - - * ScriptEditor.py: - - make editmenu an instance var - -2004-09-15 10:31 sumpfork - - * Module.py, ScriptEditor.py: - - fixes to script editor on linux/unicode - -2004-09-14 21:03 sumpfork - - * ChangeLog, Makefile, NeverEditMainApp.py, ScriptEditor.py, - WxUtils.py, makebundle.py: - - making standalone script editor app - refactoring some code in main app - make bundle for both apps (not working yet for script editor) - -2004-09-14 18:03 sumpfork - - * GLWindow.py, MapWindow.py, ModelWindow.py: - - consolidating preprocessing handling into superclass - eliminating one more Refresh() call - -2004-09-13 18:01 sumpfork - - * README.scripteditor: - - instructions on how to run the script editor standalone - -2004-09-13 17:55 sumpfork - - * ScriptEditor.py: - - remove unused import - -2004-09-13 17:54 sumpfork - - * Makefile, NeverEditMainApp.py, ScriptEditor.py, makebundle.py, - setup.py: - - bumping version to 0.8b1 - fixing raising of script editor frame - update making bundle to wxpython 2.5.2.8 - remove all tabs of script editor when changing modules - -2004-09-13 17:01 sumpfork - - * COPYING: - - new toolbar icons not under LGPL anymore - -2004-09-13 17:00 sumpfork - - * Module.py, NeverEditMainApp.py, PropWindow.py, Script.py, - ScriptEditor.py, ToolPalette.py: - - fixing many small issues with script editor - adding new scripts now works - standalone mode for script editor - -2004-09-09 17:07 sumpfork - - * GLWindow.py, MapWindow.py, ModelWindow.py: - - moving requestRedraw functionality up to GLWindow - adding map selection event that contains ObjectId, if it exists - -2004-08-29 23:14 sumpfork - - * neveredit.jpg, neveredit_logo.jpg, neveredit_logo_init.jpg, - paint_icon.png, paint_icon_sel.png, rotate_icon.png, - rotate_icon_sel.png, select_icon.png, select_icon_sel.png: - - re-adding images as binary - -2004-08-29 23:12 sumpfork - - * GFFFile.py, GLWindow.py, Item.py, MapWindow.py, ToolPalette.py, - neveredit.jpg, neveredit_logo.jpg, neveredit_logo_init.jpg, - paint_icon.png, rotate_icon.png, select_icon.png: - - fixes for map initialization, gff value setting - adding some missing methods to items - removing images files (will re-add as binary) - -2004-08-29 22:01 sumpfork - - * Area.py, ERFFile.py, GFFFile.py, MapWindow.py, NeverData.py, - NeverEditMainApp.py, PropWindow.py, ToolPalette.py: - - fixing problem with struct retrieval in GFF files introduced a short while ago - exchanging sliders for spin controls - increasing size of main window - changing many drawScenes to requestRedraws - -2004-08-14 21:39 sumpfork - - * PropWindow.py: - - moving prop window into into its own file/class - -2004-08-14 21:34 sumpfork - - * GFFFile.py, Module.py, NeverData.py, NeverEditMainApp.py, - ResourceManager.py: - - moving propwindow code into its own file/class - fixing up prop access code a bit - -2004-07-20 18:29 sumpfork - - * Area.py, Creature.py, Door.py, GFFFile.py, Item.py, MapWindow.py, - NeverData.py, NeverEditMainApp.py, Placeable.py, SituatedObject.py, - ToolPalette.py: - - item painting functionality implemented - -2004-07-19 10:38 sumpfork - - * Makefile, Module.py: - - adding latin-1 coding to linux binary - re-enabling some module events introduced in SoU - -2004-07-19 10:25 sumpfork - - * GLWindow.py, Makefile: - - slow down scroll wheel on linux - -2004-07-19 10:09 sumpfork - - * NeverEditMainApp.py: - - encode unicode strings, don't decode them - -2004-07-19 00:24 sumpfork - - * COPYING, Creature.py, ERFFile.py, Item.py, MapWindow.py, - NeverData.py, NeverEditMainApp.py, SituatedObject.py, - ToolPalette.py, paint_icon.png, rotate_icon.png, select_icon.png: - - adding icons and their license - some more fixes due to gff/resource manager refactoring - tool palette events are generated and propagated to map - rotation tool works - -2004-07-18 23:07 sumpfork - - * Palette.py, ToolPalette.py: - - new blueprint palette classes and windows to display it and a toolbar - -2004-07-18 22:59 sumpfork - - * SituatedObject.py: - - fixing up portrait code - -2004-07-18 22:59 sumpfork - - * Creature.py, Door.py, Item.py, Placeable.py: - - fixing up blueprint code, adding item blueprints - -2004-07-18 22:58 sumpfork - - * GFFFile.py, Module.py, NeverData.py: - - some cleanup for GFF structure access, moving some code to GFF from NeverData - more to be done - -2004-07-18 22:57 sumpfork - - * KeyFile.py: - - updates for resource manager changes - -2004-07-18 22:56 sumpfork - - * ResourceManager.py: - - some fixes after name changes - -2004-07-18 22:45 sumpfork - - * MapWindow.py: - - draw highlight box after other text boxes - -2004-07-18 22:44 sumpfork - - * NeverEditMainApp.py, WxUtils.py: - - move image conversion routine out into wx util module - -2004-07-18 22:43 sumpfork - - * Script.py: - - adding some keywords after parsing nwscript.nss - -2004-07-18 22:43 sumpfork - - * setup.py: - - correct download URL - -2004-07-18 22:42 sumpfork - - * ResourceManager.py, command.py: - - moving everything in ResourceManager.py into ResourceManager class where it should be - fixing portrait lookup - some doc strings - -2004-07-18 22:41 sumpfork - - * ERFFile.py: - - moving everything in ResourceManager.py into ResourceManager class where it should be - -2004-07-12 12:53 sumpfork - - * ChangeLog: - - update changelog - -2004-07-12 12:50 sumpfork - - * MapWindow.py: - - catch case where contents in tree wrong - -2004-07-12 12:02 sumpfork - - * Makefile, NeverEditMainApp.py, setup.py: - - bump version to 0.7 - -2004-07-12 11:59 sumpfork - - * Creature.py, Door.py, MapWindow.py, ModelWindow.py, Placeable.py, - ResourceManager.py: - - correcting return of model copies when requested - change resource manager to allow returning copies - don't check cache when interpreting contents explicitely - sprinkle SetCurrents around GL windows to make sure gl calls go to right window - -2004-07-12 00:30 sumpfork - - * GLWindow.py: - - fixing exception on 'L' format TGA files. Not sure this is the correct fix, - but it doesn't throw an exception. - -2004-07-11 22:23 sumpfork - - * COPYING, GLWindow.py, HelpViewer.py, NeverEditMainApp.py, README, - ScriptEditor.py, help_nwnlexicon.zip, makebundle.py: - - adding nwn lexicon in a help viewer - script editor can look up things in nwn lexicon now - adding libjpeg to bundle to fix exceptions - -2004-07-10 22:43 sumpfork - - * NeverEditMainApp.py, makebundle.py: - - trying to solve missing imaging module problem - trying to solve unicode bug - -2004-07-10 19:28 sumpfork - - * GFFFile.py: - - fixing writing of gff structs with single entries - -2004-07-10 15:29 sumpfork - - * Makefile, ResourceManager.py, makebundle.py: - - some cleanup, changing to epydoc for docs generation - -2004-07-10 15:28 sumpfork - - * command.py: - - adding new 'extract' mode that extracts all resources from an ERF - file into the current dir - -2004-07-10 15:28 sumpfork - - * ERFFile.py: - - fixing add resource function (was setting the resource id wrong) - adding 'extract all' method - -2004-07-09 17:21 sumpfork - - * ChangeLog, MapWindow.py: - - update changelog - -2004-07-09 17:19 sumpfork - - * Makefile, NeverEditMainApp.py, setup.py: - - bump version to 0.7b3 - -2004-07-09 16:28 sumpfork - - * GLWindow.py, MapWindow.py, NeverEditMainApp.py: - - fix new picking algorithm - fix highlighting - move object between tiles when dragged - -2004-07-09 11:13 sumpfork - - * NeverEditMainApp.py: - - fix exceptions in row col sizer - take out some old code - -2004-07-09 11:00 sumpfork - - * NeverEditMainApp.py: - - fix linux status progress bar placement - replace sizer and do new layout for prop lists - add lines between props - another attempt at automatic scollbars - -2004-07-09 10:08 sumpfork - - * GFFFile.py, GLWindow.py, MapWindow.py, ModelWindow.py, - NeverEditMainApp.py: - - start switch to wx namespace - take warning out from gff file access - don't frustum cull in model window - fix mapwindow without object ids and empty thingMap - -2004-07-07 16:50 sumpfork - - * MapWindow.py: - - add some initializers to textbox - -2004-07-07 16:20 sumpfork - - * MapWindow.py: - - spelling mistake - -2004-07-07 16:18 sumpfork - - * MapWindow.py: - - turn off text box using empty string/None - -2004-07-07 16:13 sumpfork - - * MapWindow.py: - - support for any number of multiline text boxes placed next to game items - -2004-07-06 17:57 sumpfork - - * BIFFile.py, BinaryDataHandler.py, MDLFile.py, MapWindow.py: - - various optimizations for file reading code - -2004-07-06 17:07 sumpfork - - * BinaryDataHandler.py, KeyFile.py: - - adding formatted binary reading for file read... [truncated message content] |
From: <sum...@us...> - 2006-04-03 13:46:10
|
Revision: 131 Author: sumpfork Date: 2006-04-03 06:46:02 -0700 (Mon, 03 Apr 2006) ViewCVS: http://svn.sourceforge.net/neveredit/?rev=131&view=rev Log Message: ----------- change to use setuptools Modified Paths: -------------- branches/neveredit-0.8.2/setup.py Modified: branches/neveredit-0.8.2/setup.py =================================================================== --- branches/neveredit-0.8.2/setup.py 2006-04-03 13:45:12 UTC (rev 130) +++ branches/neveredit-0.8.2/setup.py 2006-04-03 13:46:02 UTC (rev 131) @@ -5,9 +5,18 @@ writing NWN files. """ -from distutils.core import setup +import ez_setup +ez_setup.use_setuptools() + +#from distutils.core import setup +from setuptools import setup,find_packages import sys,os,shutil +build_dependencies = [] +if 'py2app' in sys.argv: + build_dependencies.append('py2app>=0.3-dev_r551') +extra_dependencies = {'compiler' : ['nwntools>=2.3']} + try: import py2app except: @@ -58,15 +67,16 @@ 'Programming Language :: Python', 'Topic :: Games/Entertainment :: Role-Playing' ], + + setup_requires = build_dependencies, + extras_require = extra_dependencies, package_dir = {'neveredit':'.'}, - packages=['neveredit','neveredit.openglcontext', - 'neveredit.util','neveredit.file', - 'neveredit.game','neveredit.ui', - 'neveredit.resources', - 'neveredit.resources.images', - 'neveredit.resources.xrc'], - scripts=['run/neveredit','run/neverscript','run/nevercommand', + packages = ['neveredit'] + ['neveredit.' + p for p in find_packages(exclude=['ez_setup'])], + scripts = ['run/neveredit','run/neverscript','run/nevercommand', 'run/nevererf'], + entry_points = { + 'gui_scripts' : ['neveredit = neveredit.ui.NevereditMainApp:main'] + }, options=dict(py2app=dict( argv_emulation=True, @@ -88,7 +98,7 @@ 'CFBundleName':name, 'CFBundleVersion':version, 'NSHumanReadableCopyright': - 'Copyright 2005, Peter Gorniak'} + 'Copyright 2004-2006, Peter Gorniak'} )), ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sum...@us...> - 2006-04-03 13:45:21
|
Revision: 130 Author: sumpfork Date: 2006-04-03 06:45:12 -0700 (Mon, 03 Apr 2006) ViewCVS: http://svn.sourceforge.net/neveredit/?rev=130&view=rev Log Message: ----------- update for svn;hack for getting version number more consistently Modified Paths: -------------- branches/neveredit-0.8.2/SConstruct Added Paths: ----------- branches/neveredit-0.8.2/print_version.py Modified: branches/neveredit-0.8.2/SConstruct =================================================================== --- branches/neveredit-0.8.2/SConstruct 2006-04-03 13:42:46 UTC (rev 129) +++ branches/neveredit-0.8.2/SConstruct 2006-04-03 13:45:12 UTC (rev 130) @@ -5,9 +5,8 @@ print command return os.popen(command).read() -sys.path.insert(0,'..') -import neveredit -version = neveredit.__version__ +version = os.popen('python print_version.py').read().strip() +print version Ditto = Action('ditto --rsrc -V $SOURCE.abspath $TARGET.abspath') @@ -53,6 +52,7 @@ dmg_builder = Builder(action = [Delete('$TARGET'), build_dmg], source_factory = SCons.Node.FS.default_fs.Entry) + #source_scanner = DirScanner) #doesn't work, because bundle contains cycle sources = glob.glob('*/*.py') + glob.glob('*.png') + ['README','COPYING'] @@ -87,10 +87,15 @@ change = env.Command('ChangeLog', sources, - 'cvs2cl -S --no-wrap --accum --tags --prune --ignore Changelog') + 'svn2cl --group-by-day') +#neveredit_src_bundle = env.Command('neveredit-' + version + '.tar.gz', +# sources, + env.Alias('docs',[docs]) -ud = Alias('upload-docs','html/index.html','rsync -avPz --delete html/ sum...@sh...:/home/groups/n/ne/neveredit/htdocs/apidocs/') +ud = Alias('upload-docs', + 'html/index.html', + 'rsync -avPz --delete html/ sum...@sh...:/home/groups/n/ne/neveredit/htdocs/apidocs/') env.AlwaysBuild(ud) env.Alias('change',[change]) Added: branches/neveredit-0.8.2/print_version.py =================================================================== --- branches/neveredit-0.8.2/print_version.py (rev 0) +++ branches/neveredit-0.8.2/print_version.py 2006-04-03 13:45:12 UTC (rev 130) @@ -0,0 +1,3 @@ +if __name__=='__main__': + import __init__ + print __init__.__version__ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sum...@us...> - 2006-04-03 13:42:52
|
Revision: 129 Author: sumpfork Date: 2006-04-03 06:42:46 -0700 (Mon, 03 Apr 2006) ViewCVS: http://svn.sourceforge.net/neveredit/?rev=129&view=rev Log Message: ----------- mac app now seems to auto-create Window menu Modified Paths: -------------- branches/neveredit-0.8.2/ui/NeverEditMainApp.py Modified: branches/neveredit-0.8.2/ui/NeverEditMainApp.py =================================================================== --- branches/neveredit-0.8.2/ui/NeverEditMainApp.py 2006-04-01 17:43:30 UTC (rev 128) +++ branches/neveredit-0.8.2/ui/NeverEditMainApp.py 2006-04-03 13:42:46 UTC (rev 129) @@ -338,10 +338,11 @@ wx.EVT_MENU(self,self.ID_PASTE,self.OnPaste) self.editmenu.Bind(wx.EVT_MENU_OPEN, self.OnEditMenu) - self.windowmenu = wx.Menu() - self.windowmenu.Append(self.ID_MAIN_WINDOW_MITEM, _('Main Window')) - self.windowmenu.Append(self.ID_PALETTE_WINDOW_MITEM, _('Palette Window')) - self.windowmenu.Append(self.ID_SCRIPT_WINDOW_MITEM, _('Script Editor')) + if not Utils.iAmOnMac(): # mac bundle now seems to produce own window menu + self.windowmenu = wx.Menu() + self.windowmenu.Append(self.ID_MAIN_WINDOW_MITEM, _('Main Window')) + self.windowmenu.Append(self.ID_PALETTE_WINDOW_MITEM, _('Palette Window')) + self.windowmenu.Append(self.ID_SCRIPT_WINDOW_MITEM, _('Script Editor')) helpmenu = wx.Menu() helpmenu.Append(self.ID_ABOUT, '&' + _('About...'), _("About neveredit")) @@ -350,7 +351,8 @@ menuBar = wx.MenuBar() menuBar.Append(self.filemenu,"&" + _("File")) menuBar.Append(self.editmenu, "&" + _("Edit")) - menuBar.Append(self.windowmenu, "&" + _("Window")) + if not Utils.iAmOnMac(): + menuBar.Append(self.windowmenu, "&" + _("Window")) menuBar.Append(helpmenu, "&" + _("Help")) self.SetMenuBar(menuBar) @@ -363,9 +365,10 @@ wx.EVT_MENU(self,self.ID_PREFS,self.OnPreferences) wx.EVT_MENU(self,self.ID_EXIT,self.exit) wx.EVT_MENU(self,self.ID_HELP,self.help) - wx.EVT_MENU(self,self.ID_MAIN_WINDOW_MITEM, self.windowMenu) - wx.EVT_MENU(self,self.ID_SCRIPT_WINDOW_MITEM, self.windowMenu) - wx.EVT_MENU(self,self.ID_PALETTE_WINDOW_MITEM, self.windowMenu) + if not Util.iAmOnMac(): + wx.EVT_MENU(self,self.ID_MAIN_WINDOW_MITEM, self.windowMenu) + wx.EVT_MENU(self,self.ID_SCRIPT_WINDOW_MITEM, self.windowMenu) + wx.EVT_MENU(self,self.ID_PALETTE_WINDOW_MITEM, self.windowMenu) #wx.EVT_MENU(self,self.ID_DETACH,self.OnDetach) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sum...@us...> - 2006-04-01 17:43:35
|
Revision: 128 Author: sumpfork Date: 2006-04-01 09:43:30 -0800 (Sat, 01 Apr 2006) ViewCVS: http://svn.sourceforge.net/neveredit/?rev=128&view=rev Log Message: ----------- remove makebundle - not used anymore Removed Paths: ------------- branches/neveredit-0.8.2/makebundle.py Deleted: branches/neveredit-0.8.2/makebundle.py =================================================================== --- branches/neveredit-0.8.2/makebundle.py 2006-04-01 17:22:00 UTC (rev 127) +++ branches/neveredit-0.8.2/makebundle.py 2006-04-01 17:43:30 UTC (rev 128) @@ -1,82 +0,0 @@ -'''used to make application bundles on Mac OS X''' - -import sys -import bundlebuilder -import os.path - -wxPyPath = '/usr/local/lib/' -wxPyName = 'wxPython' -wxPyMajorVersion = '2.5.2' -wxPyMinorVersion = '8' -wxPyVersion = wxPyMajorVersion + '.' + wxPyMinorVersion -wxPy = wxPyPath + wxPyName + '-' + wxPyVersion -libExt = wxPyMajorVersion + '.' + 'dylib' - -def neveredit_setup(app): - app.mainprogram = "NeverEditMainApp.py" - - app.includePackages.append('numarray') - app.includePackages.append('PIL') - app.includeModules.append('_imaging') - - app.name = "neveredit" - app.libs.append(wxPy + "/lib/libwx_macd_gl-" + libExt) - app.libs.append("/sw/lib/libjpeg.62.dylib") - - app.resources.append("neveredit.jpg") - app.resources.append("neveredit_logo.jpg") - app.resources.append("neveredit_logo_init.jpg") - app.resources.append("paint_icon.png") - app.resources.append("rotate_icon.png") - app.resources.append("select_icon.png") - app.resources.append("paint_icon_sel.png") - app.resources.append("rotate_icon_sel.png") - app.resources.append("select_icon_sel.png") - -def neverscript_setup(app): - app.mainprogram = "ScriptEditor.py" - app.name = "neverscript" - -def common_setup(): - app = bundlebuilder.AppBuilder(verbosity=1) - - if len(sys.argv) > 1: - app.version = sys.argv[1] - - app.includeModules.append('encodings.ascii') - app.includeModules.append('encodings.utf_8') - app.includeModules.append('encodings.latin_1') - - app.excludeModules.append('wx._ogl') - app.excludeModules.append('wx._xrc') - app.excludeModules.append('wx._wizard') - - app.iconfile = "neveredit.icns" - #app.standalone = True - app.semi_standalone = True - app.strip = True - - app.libs.append(wxPy + "/lib/libwx_macd-" + libExt) - app.libs.append(wxPy + "/lib/libwx_macd_stc-" + libExt) - app.libs.append(wxPy + "/lib/libwx_macd-" + wxPyMajorVersion + ".rsrc") - - app.resources.append("help_nwnlexicon.zip") - - app.argv_emulation = True - - return app - -def make(app): - app.setup() - app.build() - -if __name__ == '__main__': - app = common_setup() - if len(sys.argv) > 2 and sys.argv[2] == 'neverscript': - print 'bundling neverscript' - neverscript_setup(app) - else: - print 'bundling neveredit' - neveredit_setup(app) - make(app) - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sum...@us...> - 2006-04-01 17:22:08
|
Revision: 127 Author: sumpfork Date: 2006-04-01 09:22:00 -0800 (Sat, 01 Apr 2006) ViewCVS: http://svn.sourceforge.net/neveredit/?rev=127&view=rev Log Message: ----------- bump version to 0.8.2 Modified Paths: -------------- branches/neveredit-0.8.2/__init__.py Modified: branches/neveredit-0.8.2/__init__.py =================================================================== --- branches/neveredit-0.8.2/__init__.py 2006-03-24 19:21:45 UTC (rev 126) +++ branches/neveredit-0.8.2/__init__.py 2006-04-01 17:22:00 UTC (rev 127) @@ -4,5 +4,5 @@ an editor on the Macintosh and Linux platforms. """ -__version__ = '0.8.2b2' +__version__ = '0.8.2' This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sum...@us...> - 2006-03-24 19:21:54
|
Revision: 126 Author: sumpfork Date: 2006-03-24 11:21:45 -0800 (Fri, 24 Mar 2006) ViewCVS: http://svn.sourceforge.net/neveredit/?rev=126&view=rev Log Message: ----------- add fixes from trunk to release branch Modified Paths: -------------- branches/neveredit-0.8.2/README branches/neveredit-0.8.2/README.commandline branches/neveredit-0.8.2/file/MDLFile.py branches/neveredit-0.8.2/ui/MapWindow.py branches/neveredit-0.8.2/ui/NeverEditMainApp.py Modified: branches/neveredit-0.8.2/README =================================================================== --- branches/neveredit-0.8.2/README 2006-03-20 23:26:59 UTC (rev 125) +++ branches/neveredit-0.8.2/README 2006-03-24 19:21:45 UTC (rev 126) @@ -1,4 +1,7 @@ Credits: + Mickael Leduque has lately contributed many features, such as + faction editing, waypoint display and others. + Alan Schmitt has been contributing a good chunk of code, especially the beginnings of a conversation editor. @@ -36,7 +39,8 @@ Instructions: So far, just a short note: I'm trying to emulate the camera controls in NWN in the map display, so try using up/down/left/right arrows - as well as q,w,e,s. + as well as q,w,e,s. Thanks for jazzdman, these keys are now + configurable in the prefrences. Bugs and Comments: Please see http://neveredit.sf.net under 'For Users'. Modified: branches/neveredit-0.8.2/README.commandline =================================================================== --- branches/neveredit-0.8.2/README.commandline 2006-03-20 23:26:59 UTC (rev 125) +++ branches/neveredit-0.8.2/README.commandline 2006-03-24 19:21:45 UTC (rev 126) @@ -1,4 +1,4 @@ -neveredit now includes a command line tool for nwn resource listing and extraction. +neveredit includes a command line tool for nwn resource listing and extraction. Assuming the file is executable (otherwise make it so), run it as ./nevercommand lookup <extension1> [<extension2> <extension3}...] Modified: branches/neveredit-0.8.2/file/MDLFile.py =================================================================== --- branches/neveredit-0.8.2/file/MDLFile.py 2006-03-20 23:26:59 UTC (rev 125) +++ branches/neveredit-0.8.2/file/MDLFile.py 2006-03-24 19:21:45 UTC (rev 126) @@ -544,9 +544,10 @@ elif classification == 0x08: self.model.classification = "Door" else: - print "unknown model classification:",classification + #print "unknown model classification:",classification self.model.classification = "None" - # this seems to include waypoint models + # this seems to include waypoint models + # - probably whenever no model displayed in-game self.model.fogged = dataHandler.readUByteFile(f) f.seek(4,1) self.animationHeaderPointers = self.arrayFromFile(f) Modified: branches/neveredit-0.8.2/ui/MapWindow.py =================================================================== --- branches/neveredit-0.8.2/ui/MapWindow.py 2006-03-20 23:26:59 UTC (rev 125) +++ branches/neveredit-0.8.2/ui/MapWindow.py 2006-03-24 19:21:45 UTC (rev 126) @@ -41,8 +41,7 @@ return self.objectID def Clone(self): - evt = self.__class__(0,self.objectID) - evt.SetId(self.GetId()) + evt = self.__class__(self.GetId(),self.objectID) return evt @@ -56,11 +55,8 @@ eventType = OBJECTSELECTIONEVENT THINGADDEDEVENT = wx.NewEventType() +EVT_MAPTHINGADDED = wx.PyEventBinder(THINGADDEDEVENT, 0) -def EVT_MAPTHINGADDED(window,function): - '''notifies about the selection of a single object in the map''' - window.Connect(-1,-1,THINGADDEDEVENT,function) - class ThingAddedEvent(wx.PyCommandEvent): eventType = THINGADDEDEVENT def __init__(self,windowID,oid): @@ -71,8 +67,7 @@ return self.oid def Clone(self): - evt = ThingAddedEvent(0,self.oid) - evt.SetId(self.GetId()) + evt = ThingAddedEvent(self.GetId(),self.oid) return evt MOVEEVENT = wx.NewEventType() @@ -102,8 +97,7 @@ return self.bearing def Clone(self): - evt = self.__class__(0,self.objectID,self.x,self.y,self.bearing) - evt.SetId(self.GetId()) + evt = self.__class__(self.GetId(),self.objectID,self.x,self.y,self.bearing) return evt class QuadTreeNode: @@ -306,8 +300,7 @@ self.preprocessNodes(self.beingPainted.getModel(), 'beingPainted', bbox=True) - # .Clone() : to remove if AddPendingEvent clones the event - self.GetEventHandler().AddPendingEvent(event.Clone()) + self.GetEventHandler().AddPendingEvent(event) def OnMouseUp(self, evt): self.beingDragged = None Modified: branches/neveredit-0.8.2/ui/NeverEditMainApp.py =================================================================== --- branches/neveredit-0.8.2/ui/NeverEditMainApp.py 2006-03-20 23:26:59 UTC (rev 125) +++ branches/neveredit-0.8.2/ui/NeverEditMainApp.py 2006-03-24 19:21:45 UTC (rev 126) @@ -131,6 +131,8 @@ self.detachedMap = {} self.threadAlive = False + + self.selectThisItem = None #status bar self.CreateStatusBar(2) @@ -605,6 +607,10 @@ if self.showScriptEditorFix: self.showScriptEditor(); self.showScriptEditorFix = False + if self.selectThisItem != None: + self.selectTreeItemById(self.selectThisItem) + self.selectThisItem = None + def selectTreeItemById(self,oid): '''try to find an item in the current module by object id and select the corresponding tree item''' @@ -640,7 +646,7 @@ self.unselectTreeItem() self.tree.DeleteChildren(self.lastAreaItem) self.subtreeFromArea(self.lastAreaItem,self.map.getArea()) - self.selectTreeItemById(event.getSelectedId()) + self.selectThisItem = event.getSelectedId() # removing this line prevents a crash - good as a *temporary* # fix, but the crash should be investigated # this also cause functionality loss (auto-selection of the thing added @@ -756,6 +762,14 @@ self.syncDisplayedPage() def syncDisplayedPage(self): + ''' + The main application notebook does a lazy update: only when + the user actually switches to a page does the page content get + created. This leads to longer switching times, but shorter + time to select a new item in the module tree. This method + is called when the notebook page changes and ensures that + the content is loaded if it has not been loaded before. + ''' if not self.selectedTreeItem: return data = self.tree.GetPyData(self.selectedTreeItem) @@ -876,6 +890,11 @@ self.syncDisplayedPage() def maybeApplyPropControlValues(self): + ''' + Check if the selected item in the main module tree has + data associated with it, and, if so, apply its control + values by calling applyPropControlValues(). + ''' # kill any thread playing BMU sound SoundControl.Event_Die.set() if self.selectedTreeItem: @@ -907,8 +926,7 @@ '''About menu item callback.''' dlg = wx.MessageDialog(self,_('neveredit v') + neveredit.__version__ + _(''' by Sumpfork -The OpenKnights Consortium -Copyright 2003-2004'''), +Copyright 2003-2006'''), _('About neveredit'), wx.OK | wx.ICON_INFORMATION) dlg.ShowModal() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sum...@us...> - 2006-03-20 23:27:17
|
Revision: 125 Author: sumpfork Date: 2006-03-20 15:26:59 -0800 (Mon, 20 Mar 2006) ViewCVS: http://svn.sourceforge.net/neveredit/?rev=125&view=rev Log Message: ----------- workaround for linux map selection bug;some docstrings added Modified Paths: -------------- trunk/neveredit/file/MDLFile.py trunk/neveredit/ui/MapWindow.py trunk/neveredit/ui/NeverEditMainApp.py Modified: trunk/neveredit/file/MDLFile.py =================================================================== --- trunk/neveredit/file/MDLFile.py 2006-03-06 16:36:49 UTC (rev 124) +++ trunk/neveredit/file/MDLFile.py 2006-03-20 23:26:59 UTC (rev 125) @@ -544,9 +544,10 @@ elif classification == 0x08: self.model.classification = "Door" else: - print "unknown model classification:",classification + #print "unknown model classification:",classification self.model.classification = "None" - # this seems to include waypoint models + # this seems to include waypoint models + # - probably whenever no model displayed in-game self.model.fogged = dataHandler.readUByteFile(f) f.seek(4,1) self.animationHeaderPointers = self.arrayFromFile(f) Modified: trunk/neveredit/ui/MapWindow.py =================================================================== --- trunk/neveredit/ui/MapWindow.py 2006-03-06 16:36:49 UTC (rev 124) +++ trunk/neveredit/ui/MapWindow.py 2006-03-20 23:26:59 UTC (rev 125) @@ -41,8 +41,7 @@ return self.objectID def Clone(self): - evt = self.__class__(0,self.objectID) - evt.SetId(self.GetId()) + evt = self.__class__(self.GetId(),self.objectID) return evt @@ -56,11 +55,8 @@ eventType = OBJECTSELECTIONEVENT THINGADDEDEVENT = wx.NewEventType() +EVT_MAPTHINGADDED = wx.PyEventBinder(THINGADDEDEVENT, 0) -def EVT_MAPTHINGADDED(window,function): - '''notifies about the selection of a single object in the map''' - window.Connect(-1,-1,THINGADDEDEVENT,function) - class ThingAddedEvent(wx.PyCommandEvent): eventType = THINGADDEDEVENT def __init__(self,windowID,oid): @@ -71,8 +67,7 @@ return self.oid def Clone(self): - evt = ThingAddedEvent(0,self.oid) - evt.SetId(self.GetId()) + evt = ThingAddedEvent(self.GetId(),self.oid) return evt MOVEEVENT = wx.NewEventType() @@ -102,8 +97,7 @@ return self.bearing def Clone(self): - evt = self.__class__(0,self.objectID,self.x,self.y,self.bearing) - evt.SetId(self.GetId()) + evt = self.__class__(self.GetId(),self.objectID,self.x,self.y,self.bearing) return evt class QuadTreeNode: @@ -306,8 +300,7 @@ self.preprocessNodes(self.beingPainted.getModel(), 'beingPainted', bbox=True) - # .Clone() : to remove if AddPendingEvent clones the event - self.GetEventHandler().AddPendingEvent(event.Clone()) + self.GetEventHandler().AddPendingEvent(event) def OnMouseUp(self, evt): self.beingDragged = None Modified: trunk/neveredit/ui/NeverEditMainApp.py =================================================================== --- trunk/neveredit/ui/NeverEditMainApp.py 2006-03-06 16:36:49 UTC (rev 124) +++ trunk/neveredit/ui/NeverEditMainApp.py 2006-03-20 23:26:59 UTC (rev 125) @@ -131,6 +131,8 @@ self.detachedMap = {} self.threadAlive = False + + self.selectThisItem = None #status bar self.CreateStatusBar(2) @@ -605,6 +607,10 @@ if self.showScriptEditorFix: self.showScriptEditor(); self.showScriptEditorFix = False + if self.selectThisItem != None: + self.selectTreeItemById(self.selectThisItem) + self.selectThisItem = None + def selectTreeItemById(self,oid): '''try to find an item in the current module by object id and select the corresponding tree item''' @@ -640,7 +646,7 @@ self.unselectTreeItem() self.tree.DeleteChildren(self.lastAreaItem) self.subtreeFromArea(self.lastAreaItem,self.map.getArea()) - self.selectTreeItemById(event.getSelectedId()) + self.selectThisItem = event.getSelectedId() # removing this line prevents a crash - good as a *temporary* # fix, but the crash should be investigated # this also cause functionality loss (auto-selection of the thing added @@ -756,6 +762,14 @@ self.syncDisplayedPage() def syncDisplayedPage(self): + ''' + The main application notebook does a lazy update: only when + the user actually switches to a page does the page content get + created. This leads to longer switching times, but shorter + time to select a new item in the module tree. This method + is called when the notebook page changes and ensures that + the content is loaded if it has not been loaded before. + ''' if not self.selectedTreeItem: return data = self.tree.GetPyData(self.selectedTreeItem) @@ -876,6 +890,11 @@ self.syncDisplayedPage() def maybeApplyPropControlValues(self): + ''' + Check if the selected item in the main module tree has + data associated with it, and, if so, apply its control + values by calling applyPropControlValues(). + ''' # kill any thread playing BMU sound SoundControl.Event_Die.set() if self.selectedTreeItem: @@ -907,8 +926,7 @@ '''About menu item callback.''' dlg = wx.MessageDialog(self,_('neveredit v') + neveredit.__version__ + _(''' by Sumpfork -The OpenKnights Consortium -Copyright 2003-2004'''), +Copyright 2003-2006'''), _('About neveredit'), wx.OK | wx.ICON_INFORMATION) dlg.ShowModal() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sum...@us...> - 2006-03-06 16:37:14
|
Revision: 124 Author: sumpfork Date: 2006-03-06 08:36:49 -0800 (Mon, 06 Mar 2006) ViewCVS: http://svn.sourceforge.net/neveredit/?rev=124&view=rev Log Message: ----------- update README Modified Paths: -------------- trunk/neveredit/README trunk/neveredit/README.commandline Modified: trunk/neveredit/README =================================================================== --- trunk/neveredit/README 2006-03-01 15:43:15 UTC (rev 123) +++ trunk/neveredit/README 2006-03-06 16:36:49 UTC (rev 124) @@ -1,4 +1,7 @@ Credits: + Mickael Leduque has lately contributed many features, such as + faction editing, waypoint display and others. + Alan Schmitt has been contributing a good chunk of code, especially the beginnings of a conversation editor. @@ -36,7 +39,8 @@ Instructions: So far, just a short note: I'm trying to emulate the camera controls in NWN in the map display, so try using up/down/left/right arrows - as well as q,w,e,s. + as well as q,w,e,s. Thanks for jazzdman, these keys are now + configurable in the prefrences. Bugs and Comments: Please see http://neveredit.sf.net under 'For Users'. Modified: trunk/neveredit/README.commandline =================================================================== --- trunk/neveredit/README.commandline 2006-03-01 15:43:15 UTC (rev 123) +++ trunk/neveredit/README.commandline 2006-03-06 16:36:49 UTC (rev 124) @@ -1,4 +1,4 @@ -neveredit now includes a command line tool for nwn resource listing and extraction. +neveredit includes a command line tool for nwn resource listing and extraction. Assuming the file is executable (otherwise make it so), run it as ./nevercommand lookup <extension1> [<extension2> <extension3}...] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |