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

Reply via email to