Hola!
estoy intentando correr el remake de Battle City en Bennu. Es un codigo para Fenix 0.83. No se que ha cambiado pero seguro que el orden de las z si, porque ahora varios graficos se ven tapados, y las funciones de draw no me posicionan bien las cosas. . .
lo mas importante, sin embargo, es que cuando entro al juego me da el siguiente error:
"violación de segmento"
que significa este error? necesito una pista para saber a donde buscar.
un abrazo
!??? 'violación de segmento' o 'segment fault' ??
el orden de las z no cambio, pero si no especificas z, puede que no en todos los frames se dibujen en el mismo orden, o sea, a misma z, no se asegura el orden de dibujado.
!??? 'violación de segmento' o 'segment fault' ??
sep, error en español XD quizas sea un error de linux.
el orden de las z no cambio, pero si no especificas z, puede que no en todos los frames se dibujen en el mismo orden, o sea, a misma z, no se asegura el orden de dibujado.
sep, tiene sentido, pero algo cambió porque en fenix se veia bien.
Es un error devuelto por el sistema, en que SO esta probando, en linux ?
si pones z diferentes va bien, si pones z iguales puede que no, porque asi debe ser el comportamiento, en fenix puede que funcionara diferente, pero estaba mal en ese sentido.
Si, estoy probando en linux, pero en windows tambien se clava, pero sin decir el error.
Lo de las z no me preocupa tanto porque se puede areglar, lo que me preocupa es encontrar la fuente de este error.
sin ejemplos esta dificil.
Ese error ocurre cuando el SO que utilizas no soporta la feature que estas ejecutando, yo lo he tenido en Wiz y caanoo al cambiar resoluciones o incluso con el audio, pero en pc no recuerdo.
esa no es la razon.
Quizas algo en el manejo de arrays cambio desde fenix0.83 y no estoy enterado, no se me ocurre que podria ser.
No tengo problema en compartir el codigo, ya lo hice disponible en el 2005, pero es un juego terminado y es mucho codigo, pensé'que por ahi alguien tuvo una experiencia similar y podria guiarme.
Pon el codigo que te lo miro
podrias correrlo con debug a ver donde crashea.
Quote from: FreeYourMind on May 18, 2011, 07:38:01 PM
Pon el codigo que te lo miro
aqui esta el codigo :)
podrias correrlo con debug a ver donde crashea.
ok, voy a probar con eso :)
Estas de coña no!?
le falto el codigo.
LOL!! XD
aca esta http://www.megaupload.com/?d=PD3F2HDR
jajajajajaja
lo veo luego, me voy a acostar un rato, me duele mucho la cabeza, hace tanto que no me dolia que ya me habia olvidado de lo que era.
pon unas piedritas de hielo en una bolsa o si lo prefieres con 2, 3 shots de tequilla se resuelve mas rapido xD
no podes hacer esto
set_wav_volume(-1,75); // le bajamos un poquito el volumen
este es el problema de la violacion de segmento, el -1 esta mal.
entonces tenia razón, yo dijé que con el audio tuve ese problema en ocasiones, aqui esta un ejemplo...
Quote from: FreeYourMind on May 18, 2011, 06:36:24 PM
Ese error ocurre cuando el SO que utilizas no soporta la feature que estas ejecutando, yo lo he tenido en Wiz y caanoo al cambiar resoluciones o incluso con el audio, pero en pc no recuerdo.
no se trata ni del SO, ni de una feature no soportada por el SO.
AJAJAJA BUENISIMO! :D
ahi esta el maldito bug!! bueno, muchisimas gracias!! voy a seguir con el port y despues lo publico aqui :D
me he explicado mal, pero eso suele ocurrir cuando usas alguna funcion de bennu mal, o en su uso utilizas valores que no van a funcionar en el respetivo SO porque ultrapasa los valores soportados para el uso de esa funcion en el mismo. Asi esta mejor.
en este caso se debe a que el parametro que se le pasa a la funcion es un puntero que la SDL usa como handle, por ende si le pasas -1 apunta a cualquier lado, y da una violacion de segmento, porque claramente se quiere acceder a un segmento/area de memoria que no nos pertenece.
Puede ser que Fenix soportara ese valor anteriormente? Yo recuerdo haber sacado ese codigo para manejar el volumen general de esa forma.
puede que tuviera un chequeo de -1, pero la verdad que no lo recuerdo, me suena que no.
posiblemente te confundas con otras funciones donde un -1 representa todos los canales.
Y lo de los arrays también cambió ¿no?
Antes, el valor entre corchetes de la definición indicaba el número de valores de que disponía, por ejemplo, un 5 decía que tenía las posiciones del 0 al 4, como en C.
Ahora indica el último índice disponible, por ejemplo, un 5 dice que existen las posiciones del 0 al 5.
¿O era al revés? ^^U
no, siempre fue inclusive.
que algunos no lo supieran, eso es otra cosa.