Mercurial > traipse
comparison orpg/mapper/region.py @ 18:97265586402b ornery-orc
Traipse 'OpenRPG' {090827-00}
Traipse is a distribution of OpenRPG that is designed to be easy to setup and go. Traipse also makes it easy for developers to work on code without fear of sacrifice. 'Ornery-Orc' continues the trend of 'Grumpy' and adds fixes to the code. 'Ornery-Orc''s main goal is to offer more advanced features and enhance the productivity of the user.
Update Summary:
Update Manager is now in version 0.8. While not every button works, users can now browse the different revisions and their different changesets. The code has been refined some with feature from Core added to it. A Crash report is now created if the users software crashes. Update Manager has been moved to the Traipse Suite menu item, and a Debug Console as been added as well.
author | sirebral |
---|---|
date | Thu, 27 Aug 2009 01:04:43 -0500 |
parents | 211ac836b6a0 |
children | ff154cf3350c |
comparison
equal
deleted
inserted
replaced
17:265b987cce4f | 18:97265586402b |
---|---|
154 | 154 |
155 def subtract(self,pt): | 155 def subtract(self,pt): |
156 return IRect().make(self.left+pt.X,self.top+pt.Y,self.right+pt.X,self.bottom+pt.Y) | 156 return IRect().make(self.left+pt.X,self.top+pt.Y,self.right+pt.X,self.bottom+pt.Y) |
157 | 157 |
158 def intersect(self,rect): | 158 def intersect(self,rect): |
159 return IRect().make(max(self.left,rect.left),max(self.top,rect.top),min(self.right,rect.right),min(self.bottom,rect.bottom)) | 159 return IRect().make(max(self.left,rect.left), |
160 max(self.top,rect.top),min(self.right,rect.right), | |
161 min(self.bottom,rect.bottom)) | |
160 | 162 |
161 def union(self,rect): | 163 def union(self,rect): |
162 return IRect().make(min(self.left,rect.left),min(self.top,rect.top),max(self.right,rect.right),max(self.bottom,rect.bottom)) | 164 return IRect().make(min(self.left,rect.left), |
165 min(self.top,rect.top),max(self.right,rect.right), | |
166 max(self.bottom,rect.bottom)) | |
163 | 167 |
164 def equals(self,rect): | 168 def equals(self,rect): |
165 if (self.top==rect.top and self.bottom==rect.bottom and self.left==rect.left and self.right==rect.right): return 1 | 169 if (self.top==rect.top and self.bottom==rect.bottom and self.left==rect.left and self.right==rect.right): return 1 |
166 return 0 | 170 return 0 |
167 | 171 |
204 x="[" | 208 x="[" |
205 for y in self.GetList(): x+=" "+str(y.bounds)+" " | 209 for y in self.GetList(): x+=" "+str(y.bounds)+" " |
206 x+="]" | 210 x+="]" |
207 return x | 211 return x |
208 | 212 |
209 #remove all rectangles from list | 213 #remove all rectangles from list |
210 def Clear(self): | 214 def Clear(self): |
211 while(self.first): | 215 while(self.first): |
212 rect=self.first | 216 rect=self.first |
213 self.first=self.first.next | 217 self.first=self.first.next |
214 del rect | 218 del rect |
215 self.last=None | 219 self.last=None |
216 self.count=0 | 220 self.count=0 |
217 | 221 |
218 #add a new clipping rectangle to list | 222 #add a new clipping rectangle to list |
219 def AddRect(self,rect): | 223 def AddRect(self,rect): |
220 rect.prev=None | 224 rect.prev=None |
221 rect.next=self.first | 225 rect.next=self.first |
222 if not (self.first is None): self.first.prev=rect | 226 if not (self.first is None): self.first.prev=rect |
223 self.first=rect | 227 self.first=rect |
224 if self.last is None: self.last=rect | 228 if self.last is None: self.last=rect |
225 self.count += 1 | 229 self.count += 1 |
226 | 230 |
227 #removes the passed clipping rectangle from the list | 231 #removes the passed clipping rectangle from the list |
228 def RemoveRect(self,rect): | 232 def RemoveRect(self,rect): |
229 if not (rect.prev is None): rect.prev.next=rect.next | 233 if not (rect.prev is None): rect.prev.next=rect.next |
230 else: self.first=rect.next | 234 else: self.first=rect.next |
231 if not (rect.next is None): rect.next.prev=rect.prev | 235 if not (rect.next is None): rect.next.prev=rect.prev |
232 else: self.last=rect.prev | 236 else: self.last=rect.prev |
233 self.count -= 1 | 237 self.count -= 1 |
234 | 238 |
235 # find the clipping rectangle at the the beginning of the list, remove it, | 239 # find the clipping rectangle at the the beginning of the list, remove it, |
236 # and return it | 240 # and return it |
237 def RemoveHead(self): | 241 def RemoveHead(self): |
238 if self.count==0: return None | 242 if self.count==0: return None |
239 rect=self.first | 243 rect=self.first |
240 self.first=rect.next | 244 self.first=rect.next |
241 if (self.first is None): self.last=None | 245 if (self.first is None): self.last=None |
242 self.count -= 1 | 246 self.count -= 1 |
243 return rect | 247 return rect |
244 | 248 |
245 # stealrects -- appends the list of clipping rectangles in pclist to the current | 249 # stealrects -- appends the list of clipping rectangles in pclist to the current |
246 # list. removes the entries from pclist | 250 # list. removes the entries from pclist |
247 def StealRects(self,pclist): | 251 def StealRects(self,pclist): |
248 if pclist.first is None: return | 252 if pclist.first is None: return |
249 if self.first is None: | 253 if self.first is None: |
250 self.first=pclist.first | 254 self.first=pclist.first |
251 self.last=pclist.last | 255 self.last=pclist.last |
256 self.count += pclist.count | 260 self.count += pclist.count |
257 pclist.first = None | 261 pclist.first = None |
258 pclist.last = None | 262 pclist.last = None |
259 pclist.count = 0 | 263 pclist.count = 0 |
260 | 264 |
261 # utilitarian procedure to return all clipping rectangles as a Python list | 265 # utilitarian procedure to return all clipping rectangles as a Python list |
262 def GetList(self): | 266 def GetList(self): |
263 result=[] | 267 result=[] |
264 f = self.first | 268 f = self.first |
265 while f: | 269 while f: |
266 result.append(f) | 270 result.append(f) |