Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: CoLSoN2 en 08 de Noviembre de 2002, 06:54:47 PM

Título: ¿Expediente X?
Publicado por: CoLSoN2 en 08 de Noviembre de 2002, 06:54:47 PM
                                Vereis, toy currandme un sistema de octrees para los mapas de mi juego, y en una parte del codigo hago esto:



if (Load(mapfile,dev) == false)

{

 Log("ERROR! Loading map file");

 return false;

}

else

{

 Log("Setting dimensions");

 octree->SetDimensions(vertlist,m_numVertex);

 Log("Map loaded");

}



Log("Creating Octree");

octree->CreateNode(vertlist,m_numVertex,octree->center,octree->width);





Todos los Log() ke veis salen en el log, excepto el de Error. en cambio, Setdimensions empieza así ...



void W3C_GFX_Octree::SetDimensions(sVERTEX *verts, int numVertices)

{

Log2("sto tira?");

center = D3DXVECTOR3(0,0,0);

width = 5;


y ni sale el Log (pone Log2 pero está bien, tranki). Ni width es = 5 despues de esto. Osea, PASA LITERALMENTE DE ESA FUNCION. Ya digo que todos los logs salen. Y CreateNode se ejecuta, así que no es que esté mal octree. vertices y numVertices están bien, lo he comprobado.

ke pa ke pa ke pacha??!!? o_O
thx                                
Título: ¿Expediente X?
Publicado por: Astat en 08 de Noviembre de 2002, 07:03:44 PM
                                Lo mas facil para saber que te pasa, seria poner un breakpoin en la linea esa de 'octree->SetDimensions(vertlist,m_numVertex);' y cuando se parase, pues meterte dentro pulsando F11 (si usas VisualC).                                
Título: hmm
Publicado por: CoLSoN2 en 08 de Noviembre de 2002, 07:15:26 PM
                                e puesto un breakpoint yendo a Edit > Breakpoints, en la linea esta, pero realmente esa funcion está en 1 clase, que está como miembro de otra clase. En esa clase grande, hay una funcion, dentro de esta se ejecuta SetDimensions. Y esta clase grande está en una DLL,.. xD tonces en lo kes el exe llamo a claseGrande->Init(); y esta llama a akella.
lo dicho, e añadio el breakpopint, y luego ke ? e ejecutao pero no sa parao ni na, k tengo kacer?

P.d: tengo kaprender a usar el debugger del visual c :                                
Título: ¿Expediente X?
Publicado por: synchrnzr en 08 de Noviembre de 2002, 07:21:32 PM
                                Ombre, si no se ha parado quiere decir que no llega a entrar en la función. Ahora mira si entra en la función desde la que se llama esta función... Claro que tb puedes ir ejecutando Step Overs y Step Intos depende como tengas la llamda. Hay que aprender a debugar... ^_^'

Sync                                
Título: ¿Expediente X?
Publicado por: fiero en 08 de Noviembre de 2002, 08:06:39 PM
                                Debes compilar la aplicación en modo DEBUG, poner el break y ejecutar la aplicación con F5  (ojo, NO con Ctrl+F5)
Compila tambien la DLL en modo DEBUG y se parará donde sea, aunque sea una función de dentro de la DLL...

un saludo