Hey all, My Java version encountered the same problem, but Java's exception handling just complained for that iteration of the loop and moved on. It seems that the tile location data is particularly problematic in terms of quality of rip, but I've also seen tile paint commands (xor and regular) that don't properly index into the palette, so you might want to check for those too. I have occaisonally also seen CDG commands that have a sub-command that is invalid, but that's fairly rare.
As a separate note, I've been playing with the Java OpenGL bindings ("JOGL"), and I was wondering if any of you had considered throwing in a PyOpenGl capable renderer? It looks like it works well with PyGame... Best, Martin -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Kelvin Lawson Sent: Thursday, February 01, 2007 7:21 PM To: William Ferrell Cc: pykaraoke-discuss@lists.sourceforge.net; Daniel Richard G. Subject: Re: [Pykaraoke-discuss] pycdg segfault on amd64 Hey Will, > I suspect this is either a numeric thing or a pygame thing -- aren't > there some compiled bits in those libraries for speed purposes on some > systems? I recall having a 64-bit problem myself when I was first > mucking with PyKaraoke myself ;) Yep I believe that one was a pygame vs 64-bit bug. In this case there are no libraries involved, however. It's just our own C module _pycdgAux.c which is reading the CDG bytes read directly from the CDG file. The problem is that it's reading an x,y offset from the CDG file which is outside of the 300x216 screen size, i.e. the data in the file at this location isn't a perfect rip of the original CDG command. The C code was then using this x,y offset to index into an array sized at 300x216. This was what caused the seg fault that Daniel sent the debug info on. It won't necessarily cause a seg fault on all machines though, as I found on my PC. It would have just been stomping on some memory somewhere that it probably shouldn't :-) It turns out that both of these files fail when using the pure Python implementation of pycdg as well, for the same reason: array index out of bounds. I'd better fix that one up too. The lesson here is to sanity-check the CDG commands as they aren't always perfectly ripped. Kelvin. ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss