Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menu

Mensajes - Ray

#226
 Para no cagarla lo mejor es separar el programa en módulos o procesos independientes que se limiten a recibir y/o a devolver datos, de manera que si uno de ellos es un desastre o no sirve, se le manda a la basura y se hace de nuevo, se modifica, o se actualiza sin que esto influya lo más mínimo en el resto.

Claro, que no vendria mal antes pensar, y apuntar todos los procesos que vas a necesitar para tu juego, y como van a interactuar unos con otros, y que parámetros deben recibir, o que resultado nos deben devolver.  Pero aquí si que te tienes que asegurar de lo que quieres hacer, para no tener que improvisar cuando llevas medio programa escrito.  

También a la hora de programar, deberías saber que tal o cual cosa de tu proyecto podria sufrir una modificación dependiendo de como se comporte el juego, no escatimes en código, y hazlo de manera que facilite las posibles alternativas o ampliaciones de cada proceso concreto.

Para programar juegos la poo facilita mucho el tema, con las clases lo más encapsuladas posible.

Es un consejo más, de los muchos que recibirás, suerte.
#227
General Grafistas / Formato De Texturas
03 de Septiembre de 2005, 03:07:33 AM
 Para mi un canal alpha es un valor que puede variar entre un rango de valores que determinará el nivel de trasparencia.  Si es de 8 bits pues tendra de 0 a 255 niveles. si es de 1 bit pues será un simple "color key" opaco o trasparente.

Siento no poder dar una explicación pormenorizada, habrá que esperar a los expertos.

1 saludo.
#228
Jad Engine / Manager.checkdeviceformat
03 de Septiembre de 2005, 02:44:19 AM
 
Cita de: "Juan Mellado"el tercer parámetro de la función (adapterformat) espera recibir un "Adapter Format" válido para la tarjeta, no el formato del BackBuffer, ¿no?.

¿No será eso?
Pues va a ser que sí.

según esta tabla de la ayuda de DirectX9:



BackBuffer or Display Formats

These formats are the only valid formats for a back buffer or a display.

Format Back buffer      Display

A2R10G10B10 x       x (full-screen mode only)
A8R8G8B8    x
X8R8G8B8    x       x
A1R5G5B5    x
X1R5G5B5    x       x
R5G6B5       x       x



el modo A8R8G8B8 no es soportado por ningún adaptador, aunque sí por los  BackBuffer.



#229
Jad Engine / Manager.checkdeviceformat
02 de Septiembre de 2005, 10:11:35 PM
 Efectivamente, he mirado por ahi algunos ejemplos y con TRUE pasa y con FALSE falla, (como debe ser), me había liado el ejemplo.

De todas formas he visto un ultimo parámetro que le pasais a la función "out result" que es un int al igual que el HRESULT de C++ que supuestamente deberá devolver el resultado.

Cuando falle comparad el resultado con D3DERR_INVALIDCALL, D3DERR_NOTAVAILABLE, etc...  para saber si la función ha fallado por no ser llamada correctamente o por un parámetro incorrecto, o si realmente es que no está soportada la textura.

Por lo menos que yo sepa así se hace en C++ para saber en que ha fallado el método (también es que existe más información claro).

En cualquier caso mi enhorabuena por el proyecto, es muy dificil hacer algo así,  y que funcione bién mucho más. y la cantidad de cosas que hay que saber y controlar. Por cierto.. lastima que no esté escrito en C++,  ...pero eso,  es otro hilo....



#230
Jad Engine / Manager.checkdeviceformat
02 de Septiembre de 2005, 08:39:55 PM
 Entonces es lo que imaginaba, la negación del resultado es TRUE (que sí soporta el formato)  incluso en C#.

Por lo tanto para enviar el mensaje de error (cuando no soporta el formato) hay que quitar la negación ( ! ), o colocar el mensaje en un "else"

aunque lo mejor para no liarse es usar

if (D3D_OK ==  CheckDeviceFormat(...) )  {
     //  OK
    }
else {
     //  FALLO
    }


por lo menos en C++.
#231
Jad Engine / Manager.checkdeviceformat
02 de Septiembre de 2005, 04:47:29 PM
 No se que pasa que me desregistra sin avisarme..

Mejor crea un manejador de errores general en el que puedas comprobar los "result" de cualquier metodo DirectX con los D3DERR, para que te devuelva el resultando y el mensaje correspondiente, algo asi:



if (result!=D3D_OK) {
  switch(result)  {
     case D3DERR_INVALIDCALL: MsgError="INVALID CALL"; break;
     case D3DERR_NOTAVAILABLE : MsgError="NOT AVAILABLE"; break;
     case D3DERR_OUTOFVIDEOMEMORY : MsgError="OUT OF VIDEO MEMORY"; break;
     default: MsgError="ERROR NO DEFINIDO";
     }
  }


Esos cuatro resultados son los mas habituales, puedes encontrarlos todos consultando los tipos enumerados D3DERR.

#232
Jad Engine / Manager.checkdeviceformat
02 de Septiembre de 2005, 04:04:19 PM
 Se me olvidó identificarme.

Un saludo.
#233
General Programadores / Comprobar Versión De Directx
01 de Septiembre de 2005, 11:33:08 PM
 Es excesivo, pero quizás es efectivo para no complicarse mucho la vida, total... solo hay que compilar 3 o 4 veces más el programa.

Seguramente haya una solución mas profesional, tal vez separando las partes "criticas" del programa en dlls de diferentes versiones, y que estas sean llamadas dependiendo de la versión final del usuario, o vete tu a saber.

En cualquier caso lo mejor efectivamente es no marear al usuario y adaptarse a lo que tenga él, porque poca gracia le va a hacer como le instales tus dlls y luego  no le funcione su juego favorito. Como mucho pedirle que tenga cualquier revisión de la versión 9.

Geleros al poder!!! (twist)  
#234
General Programadores / Comprobar Versión De Directx
01 de Septiembre de 2005, 10:23:23 PM
 Se me ocurre una solución drástica que quizás te puede funcionar.

Hazte con todas las versiones de librerías de DirectX que puedas (solo lib), clasificalas en carpetas lib_junio, lib_Agosto, lib_primavera, etc.  Y cuando liberes el programa o lo quieras probar en otros ordenadores enlaza tu proyecto con cada una de ellas al compilarlo, para asi obtener diferentes ejecutables.

Lógicamente solo podras ejecutarlo en tu ordenador con las librerías que coincidan con la versión de las dll de ejecución que tengas instaladas, pero nada te impide crear los exe para cualquier otra.

Crea un programa lanzador que detecte la versión instalada y ejecute el exe que corresponda. O haz ese proceso copiando solo durante la instalación el que coincida con la versión que tenga el usuario.

No se si te servirá porque no lo he probado, o quizas luego tiene más dificultades de las previstas, Pero tampoco se pierde mucho por intentarlo. Vaya verguenza que es esto de las versiones del IndirectX.

Hasta pronto.
#235
General Programadores / Guardar Replays
01 de Septiembre de 2005, 06:08:12 PM
 Dado que los frames y los tiempos de ejecución no se repiten exactamente igual (ni en la misma maquina), y cualquier diferencia de tiempo por mínima que sea en la pulsación puede modificar completamente todo el desarrollo (suponiendo que se trate de un juego), la verdad me parece imposible que se pueda hacer así.

Creo que deberías hacer una grabación larga cuando lo consigas para asegurarte.
#236
General Programadores / Encuentra El Formato Que Buscas
01 de Septiembre de 2005, 05:11:03 PM
 Si es mítica entonces imagino que alguien ya la habrá incluido en la sección de links o recursos.

Siento haber malgastado un Thread.
#237
General Programadores / Encuentra El Formato Que Buscas
01 de Septiembre de 2005, 03:40:06 PM
 Buscando el formato de un archivo gráfico me encontre con esta página, me parece tan buena que la voy a poner aquí por si alguno la desconoce.

Cientos de formatos de todo tipo, archivos de datos, gráficos, 3d, audio, hardware, etc. organizados en categorías.

www.wotsit.org
#238
General / Firefox Vs Internet Explorer
31 de Agosto de 2005, 08:33:34 PM
Cita de: "Vicente"que conste que yo uso FF y me encanta (no podría vivir ya sin los gestos de ratón). Pero no va ligero como una pluma (o por lo menos a mi), y últimamente le ha dado por morirse de vez en cuando al usar el boton derecho para acceder al menú contextual.
Pues a mi también se me ha cascado el FF, con un mensajito de error de esos incomprensibles tras un rato de uso, algunas veces que lo he estado probando.

Ya lo puse hace unos meses y no me acabó de convencer, suponiendo que habia que dejarlo madurar un poco. Ademas ya había encontrado una versión en castellano de mozilla con un aspecto similar al Netscape que es lo mejor que he encontrado hasta la fecha. Y me va tan cojonudo que no tengo prisa por hacer de FF mi navegador predeterminado.

Mozilla me parece bastante rapido, y nunca me ha dado un solo error.  Tiene un menú "Herramientas" para acceder rapidamente a la gestión de las cookies, contraseñas, formularios, ventanas emergentes, descargas... de la pagina que estas viendo, que uso habitualmente y que no veo de momento en FF (no se si por la instalación parcial)

FF por lo que he visto, tiene detalles buenos como la forma de buscar palabras en una página o la gestión de marcadores, pero de momento creo que voy a esperar a la siguiente versión, "soy feliz" con mozilla. IE me parece algo malo y exageradamente lento, a veces se queda como pensando, o haciendo no se que.

saludos.


#239
General / Firefox Vs Internet Explorer
31 de Agosto de 2005, 07:37:44 PM
 El que nunca lo haya hecho que pruebe a pasar el ad-aware o el spybot.

Citar
Si vas a un grupo de marcadores hay una opción que es abrir en pestañas, que te los abre todos... en pestañas claro

aaaaah...  (ole)
#240
General / Firefox Vs Internet Explorer
31 de Agosto de 2005, 07:24:05 PM
 Yo quiero pasarme de mozilla a ff pero aún no lo tengo muy claro.

Por ejemplo no he visto la opcion añadir grupos de marcadores, no se si me falta algun plugin o que no hice una instalacion completa, o por la versión, ¿existe?.

Me parece un lujado dificil de prescindir, el poder cargar en una sola ventana todas las paginas que te de la gana haciendo un simple click y verlas tranquilamente a medida que van cargandose, sin ni una sola ventana extra de publicidad. Supongo que pronto incluiran esa opción si es que no está ya.





Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.