Página 1 de 2

Casque al unirse los dos personajes

NotaPublicado: Dom Ene 25, 2009 17:29
por Xavi
bueno, esta tarde he tenido un rato para probar la nueva versión Beta3.

El problema del casque al unirse los dos personajes vuelve a pasar... Em la pantalla 52 de blackthoot, la que sale un enemigo de esos de alas que está parado y al moverse los personajes los persigue, me he desmontado con head de heels, y le he disparado un bombazo al mounstro para inmovilizarlo, posteriormente los he vuelto a unir u PAM! casque:

<?xml version="1.0" encoding="UTF-16"?>
<DATABASE>
<EXE NAME="headoverheels-1.0.exe" FILTER="GRABMI_FILTER_PRIVACY">
<MATCHING_FILE NAME="alleg42.dll" SIZE="1049616" CHECKSUM="0xF4BEE7B0" BIN_FILE_VERSION="4.2.2.0" BIN_PRODUCT_VERSION="4.2.2.0" PRODUCT_VERSION="4.2.2" FILE_DESCRIPTION="Allegro" COMPANY_NAME="Allegro Developers" PRODUCT_NAME="Allegro" FILE_VERSION="4.2.2" ORIGINAL_FILENAME="ALLEG42.DLL" INTERNAL_NAME="ALLEG42" LEGAL_COPYRIGHT="Copyright © 1994-2007 Allegro Developers" VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x1076A8" LINKER_VERSION="0x10000" UPTO_BIN_FILE_VERSION="4.2.2.0" UPTO_BIN_PRODUCT_VERSION="4.2.2.0" LINK_DATE="01/18/2009 17:15:46" UPTO_LINK_DATE="01/18/2009 17:15:46" VER_LANGUAGE="Inglés (Reino Unido) [0x809]" />
<MATCHING_FILE NAME="headoverheels-1.0.exe" SIZE="2653642" CHECKSUM="0xB2902466" MODULE_TYPE="WIN32" PE_CHECKSUM="0x28B599" LINKER_VERSION="0x10000" LINK_DATE="01/18/2009 18:06:14" UPTO_LINK_DATE="01/18/2009 18:06:14" />
<MATCHING_FILE NAME="libogg-0.dll" SIZE="51790" CHECKSUM="0x9243ED42" MODULE_TYPE="WIN32" PE_CHECKSUM="0xF943" LINKER_VERSION="0x10000" LINK_DATE="01/18/2009 17:32:00" UPTO_LINK_DATE="01/18/2009 17:32:00" />
<MATCHING_FILE NAME="libvorbis-0.dll" SIZE="183050" CHECKSUM="0x4C9C0A8D" MODULE_TYPE="WIN32" PE_CHECKSUM="0x3C66A" LINKER_VERSION="0x10000" LINK_DATE="01/18/2009 17:33:27" UPTO_LINK_DATE="01/18/2009 17:33:27" />
<MATCHING_FILE NAME="libvorbisenc-2.dll" SIZE="1153640" CHECKSUM="0x445446C2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x11F3F4" LINKER_VERSION="0x10000" LINK_DATE="01/18/2009 17:33:54" UPTO_LINK_DATE="01/18/2009 17:33:54" />
<MATCHING_FILE NAME="libvorbisfile-3.dll" SIZE="48995" CHECKSUM="0x45CC448B" MODULE_TYPE="WIN32" PE_CHECKSUM="0x13C30" LINKER_VERSION="0x10000" LINK_DATE="01/18/2009 17:33:52" UPTO_LINK_DATE="01/18/2009 17:33:52" />
<MATCHING_FILE NAME="libxerces-c.dll" SIZE="6391037" CHECKSUM="0xDB1BBD3E" MODULE_TYPE="WIN32" PE_CHECKSUM="0x618F89" LINKER_VERSION="0x10000" LINK_DATE="01/18/2009 17:28:15" UPTO_LINK_DATE="01/18/2009 17:28:15" />
<MATCHING_FILE NAME="mingwm10.dll" SIZE="23464" CHECKSUM="0xAF1F5AFF" MODULE_TYPE="WIN32" PE_CHECKSUM="0xEF21" LINKER_VERSION="0x10000" LINK_DATE="10/04/2008 22:31:05" UPTO_LINK_DATE="10/04/2008 22:31:05" />
<MATCHING_FILE NAME="pthreadGC2.dll" SIZE="65124" CHECKSUM="0xEAA1D9E8" BIN_FILE_VERSION="2.8.0.0" BIN_PRODUCT_VERSION="2.8.0.0" PRODUCT_VERSION="2, 8, 0, 0" FILE_DESCRIPTION="POSIX Threads for Windows32 Library" COMPANY_NAME="Open Source Software community project" FILE_VERSION="2, 8, 0, 0" ORIGINAL_FILENAME="pthreadGC" INTERNAL_NAME="pthreadGC" LEGAL_COPYRIGHT="Copyright (C) Project contributors 1998-2004" VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x1EFCB" LINKER_VERSION="0x10000" UPTO_BIN_FILE_VERSION="2.8.0.0" UPTO_BIN_PRODUCT_VERSION="2.8.0.0" LINK_DATE="01/18/2009 17:44:41" UPTO_LINK_DATE="01/18/2009 17:44:41" VER_LANGUAGE="Inglés (Estados Unidos) [0x409]" />
</EXE>
<EXE NAME="kernel32.dll" FILTER="GRABMI_FILTER_THISFILEONLY">
<MATCHING_FILE NAME="kernel32.dll" SIZE="1037824" CHECKSUM="0x1506EFBE" BIN_FILE_VERSION="5.1.2600.3119" BIN_PRODUCT_VERSION="5.1.2600.3119" PRODUCT_VERSION="5.1.2600.3119" FILE_DESCRIPTION="DLL de cliente API BASE de Windows NT" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Sistema operativo Microsoft® Windows®" FILE_VERSION="5.1.2600.3119 (xpsp_sp2_gdr.070416-1301)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="Copyright (C) Microsoft Corporation. Reservados todos los derechos." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x10CBAD" LINKER_VERSION="0x50001" UPTO_BIN_FILE_VERSION="5.1.2600.3119" UPTO_BIN_PRODUCT_VERSION="5.1.2600.3119" LINK_DATE="04/16/2007 15:54:21" UPTO_LINK_DATE="04/16/2007 15:54:21" VER_LANGUAGE="Español (alfabetización internacional) [0xc0a]" />
</EXE>
</DATABASE>

Re: Casque al unirse los dos personajes

NotaPublicado: Mié Ene 28, 2009 00:32
por Jorge
Sinceramente no tengo ni idea del porqué. La situación que narras no tiene nada de especial. :?: He hecho bastantes pruebas al respecto y no soy capaz de cazar el error porque no se me reproduce. Creo que es urgente que te pase la versión de depuración.

Re: Casque al unirse los dos personajes

NotaPublicado: Sab Ene 31, 2009 20:30
por Jorge
¡Ya sé lo qué puede estar pasando!

Analizando el código me he dado cuenta de que la unión de los personajes se realiza en el subproceso principal y no en el subproceso que actualiza las máquinas de estados de los elementos. El subproceso de actualización va recorriendo varias listas enlazadas y va actualizando cada elemento, pero la unión de los personajes implica modificar una de esas listas para eliminar a Head y a Heels y crear al personaje compuesto.

Es muy probable que haya momentos en los que ambos subprocesos accedan a la lista simultáneamente -además uno de ellos lo hace para modificarla- y por esta razón se produzcan los cuelgues.

He protegido el acceso a la lista desde la función que junta los personajes con el mútex que tengo para ella. De esta manera para un determinado ciclo hasta que la actualización de las máquinas de estados no concluya no se podrán unir los personajes.

El problema de la unión también aplica al de la separación.

Sacaré la BETA4 en breve para ver si estoy en lo cierto.

Re: Casque al unirse los dos personajes

NotaPublicado: Dom Feb 01, 2009 22:59
por Xavi
OLEEEEEEEEEEEEEEEEEEEEEEE OLEEEEEEEEEEEEEE!!!

ESTE ES UNO DE LOS FALLOS MÁS GRAVESSS :D :D :D :D :D

Re: Casque al unirse los dos personajes

NotaPublicado: Lun Feb 02, 2009 00:31
por Bergil
Mira que eres sádico... :twisted:

Re: Casque al unirse los dos personajes

NotaPublicado: Lun Feb 02, 2009 12:57
por Jorge
Es cierto, es el fallo más grave detectado hasta la fecha. Ojalá no haya más cuelgues "complicados". Hay otros "fáciles" que pueden venir porque el mapa esté mal hecho o porque un ascensor suba demasiado, pero éstos tienen sencilla solución.

Re: Casque al unirse los dos personajes

NotaPublicado: Lun Feb 02, 2009 18:30
por Bergil
Claro, claro, efectivamente... :shock:

Re: Casque al unirse los dos personajes

NotaPublicado: Lun Feb 02, 2009 20:57
por Xavi
Saaaato!

Re: Casque al unirse los dos personajes

NotaPublicado: Lun Feb 02, 2009 21:30
por Bergil
Aunque incorreto y en camino de ser perfeto o cuasiperfeto... :worthy:

Re: Casque al unirse los dos personajes

NotaPublicado: Mié Mar 04, 2009 22:37
por Jorge
¿Habéis vuelto a ver este fallo desde que salió la BETA4? Dado que es uno de los más gordos -de hecho, el más- me gustaría saber si se ha vuelto a dar algún otro cuelgue.

Re: Casque al unirse los dos personajes

NotaPublicado: Jue Mar 05, 2009 23:15
por Xavi
Yo he empezado a jugar hace dos días de nuevo y de momento no me ha salido!

Re: Casque al unirse los dos personajes

NotaPublicado: Vie Mar 06, 2009 20:12
por Jorge
¡Me alegro! A ver si la cosa sigue así. Gracias, Xavi.

Re: Casque al unirse los dos personajes

NotaPublicado: Vie Mar 06, 2009 23:57
por Bergil
Yo estoy bloqueaaaaaaaaaaaaaaaadoooooooooo... :cry:

Re: Casque al unirse los dos personajes

NotaPublicado: Dom Mar 08, 2009 02:15
por Jorge
¿Qué te pasa? ¿Dónde estás?

Re: Casque al unirse los dos personajes

NotaPublicado: Dom Mar 08, 2009 02:21
por Bergil
En mi cas.... estooooooooo, en esa habitación tras la cual hay muerte y muerte y muerte y muerte y muerte y muerte y muerte y muerte y muerte y muerte y muerte y muerte y muerte y muerte y muerte y muerte y muerte y muerte y muerte y... y que ya has arreglado para la próxima beta... :worthy: