Entrar
¿Usuario nuevo? Regístrate
allegro-espanol · Una lista en español sobre la librería Allegro.
? ¿Ya estás suscrito? Entrar en Yahoo!

Consejos de Yahoo! Grupos

¿Sabías que...?
Puedes determinar el orden de los mensajes. Pulsa el enlace en la columna correspondiente a la fecha. Tus preferencias serán guardadas y no tendrás que introducirlas de nuevo.

Mensajes

  Mensajes Ayuda
Avanzado
Mensajes 752 - 781 de 9896   Primero  |  < Anterior  |  Siguiente >  |  Último
Mensajes: Mostrar resúmenes de los mensajes   (Agrupar por tema) Ordenar por fecha v  
#781 De: "3D eCatalogs" <3DeCatalogs2003@...>
Fecha: Lun, 2 de Dic, 2002 11:04 am
Asunto: Take Advantage of Viral Marketing
3DeCatalogs2003@...
Enviar mensaje Enviar mensaje
 
http://3dpageturningebook.com Create Professional 3D Page-Turning: eBooks eBrochures eCatalogs eMagazines Newsletters Presentations Photo Albums Much, Much More! Save on Printing, Postage and Advertising Costs! Download FREE Version of Digital Page Author Now!
*FREE Version is FULLY FUNCTIONAL, NEVER EXPIRES and has a 4 page (2 page spread) limit.
Copyright © 2002 - Affiliate ID #1376 - Email ID #11B
You received this message because you have opted-in to our mailings or
we have acquired your e-mail address through one of our affiliates or partners.
 
If you wish to remove this e-mail address from our mailing list, please cick the Unsubscribe button.

#780 De: "ESB" <esbva2000@...>
Fecha: Do, 17 de Nov, 2002 2:35 am
Asunto: (Allegro y psx)
esbva2000
Sin conexión Sin conexión
Enviar mensaje Enviar mensaje
 
Hola:
 
        Antes de recurrir a herramientas externas, quisiera saber si existe alguna posibilidad de utilizar
allegro para generar executables para PlayStation  *.exe  o *.psx, direccionados a memoria (801FFFF0) u otros valores,  o bien si en DJGPP hay (pues no he encontrado ninguna), alguna librería para PSOne, y donde
hallar ejemplos de programas que usen allegro, programados para PSX, o PSX2....
 
gracias...
 

#779 De: Grzegorz Adam Hankiewicz <gradha@...>
Fecha: Lun, 28 de Oct, 2002 9:04 pm
Asunto: Re: [AL-ES] Velocidad
gradha@...
Enviar mensaje Enviar mensaje
 
On Mon, Oct 28, 2002 at 03:30:28PM -0500, Manuel Alejandro Cerón wrote:
> La verdad no se por que esto, no deberia ser mas rapido con el
> page fliping.

Page flipping es una de muchas formas de actualizar la
pantalla. Desgraciadamente no todo el hardware es igual: algunas
tarjetas son rápidas con page flipping, otras son enormemente
lentas, en algunos ordenadores la velocidad de transferencia afecta
grávemente al double buffering, etc. Simplemente cada máquina
funcionará de forma diferente, depende hasta de los drivers del SO,
ya que la misma máquina con el mismo programa tendrá un rendimiento
diferente con SSOO diferentes. Así es la vida.

> En fin lo que quiero preguntar es si hay algun otro metodo que sea
> mas rapido que el double buffering y que funcione igual tanto en
> linux como en windows?.

El dirty rectangles da buenos resultados en ambos si tus pantallas
son estáticas y con pocas actualizaciones.  En cualquier caso,
tras lo de arriba, deberías ver que hoy en día programar sólo un
método de actualizar la pantalla es ponerse la soga al cuello,
a no ser que estés seguro al cien por cien de que los requisitos
para funcionar de forma óptima son tan pobres que tirará bien en
prácticamentecualquier ordenador con cualquier configuración.

Por esta razón deberías echar un vistazo a allegro/examples/exupdate
para ver cómo realizar un programa con varios modos de actualizar
la pantalla, y permitir al usuario seleccionar el módo más óptimo
tras presentarle en un menú los diferentes rendimientos.  De hecho,
ni si quiera se trata de rendimientos: dependiendo del hardware
(incluyendo el 'wetware') el usuario puede percibir que los 200
fps de page flipping son 'bruscos' mientras que los 60 fps de un
double buffering 'van suaves', por ejemplo, porque los 60 fps se
ajustan al refresco del monitor y los 200 fps no.

> Por cierto, intente usar RLE_SPRITES y COMPILED_SPRITES en linux
> para aumentar la velocidad, pero con los primeros la velocidad no
> cambio, y con los segundos disminuyo!!. La verdad no se cual es
> el objetivo de estos sprites especiales.

En la documentación se indica qe los RLE_SPRITES pueden ser más
rápidos dependiendo del tipo de operaciones y la frecuencia de su
uso. Cuando la documentación dice "los COMPILED_SPRITES son cinco
veces más rápidos en mi máquina", se está refiriendo a un 486. Esto
a sido corregido en la versión inglesa de la documentación, algún
día se reflejará en la española.

Hoy en día con los 'maquinones' que tiene la gente, RLE_SPRITES
apenas mejora la velocidad (aunque siempre viene bien verificar los
rendimientos con allegro/tests/text) y los COMPILED_SPRITES nada
o incluso empeorar, por no caber bien en la caché y depender de
'trucos' que dejaron de ser útiles a partir del Pentium I.

#778 De: Grzegorz Adam Hankiewicz <gradha@...>
Fecha: Lun, 28 de Oct, 2002 8:52 pm
Asunto: Re: [AL-ES] Problemas con Linux
gradha@...
Enviar mensaje Enviar mensaje
 
On Mon, Oct 14, 2002 at 08:00:06AM -0500, Manuel Alejandro Ceron wrote:
> He probado el programa test y solamente puedo utilizar el modo 320x200
> Pantalla Complete en modo DGA (para lo cual necesito permisos de super
> usuario).  En modo X solamente puede elegir modos de pantalla completa
> de 640x480 y 800x600.
>
> ¿ Sabes que puedo hacer para que funcione a 320x200 en pantalla
> completa?

No

> y si se puede hacer esto ¿se garantiza que funcionara en cualquier
> otro PC con linux?

Si se pudiese la respuesta sería no igualmente, pues el que Allegro
pueda o nó poner el modo a pantalla completa depende del sistema
del usuario. Por ejemplo, en mi ordenador no funcionaría, sé que
no tengo el soporte ese.

#777 De: Manuel Alejandro Cerón <rdceron@...>
Fecha: Lun, 28 de Oct, 2002 8:30 pm
Asunto: Velocidad
rdceron
Sin conexión Sin conexión
Enviar mensaje Enviar mensaje
 
Hola a todos,
 
Estoy creando un aplicacion en Allegro. La estoy desarrollando en Linux para luego portarla a windows. Bueno el hecho es que he tenido un problema con la velocidad.  Primero estaba desarrollando la aplicacion usando un sistema de double buffering y este era demasiado lento, asi que despues de mirar un poco los ejemplos de allegro decidi emplear un metodo de page fliping, segun como aparece en el ejemplo "exflip.c". El resultado fue muy bueno, ya que consigui casi duplicar los frames por segundo. El problema fue a la hora de portar el codigo a Windows. Ya que con el mismo sistema corre a casi la tercera parte de la velocidad de lo que corre en Linux.  Fue una gran sorpresa por que yo pensaba que en windows correria mas rapido por el DirectX (el modo que use fue GFX_DIRECTX) que a comparacion de linux donde usaba X para dibujar debia ser mas rapido. El caso es que intente en windows vover de nuevo al metodo del double buffering y la velocidad aumento mucho, igual que en linux con el page fliping. La verdad no se por que esto, no deberia ser mas rapido con el page fliping .En fin lo que quiero preguntar es si hay algun otro metodo que sea mas rapido que el double buffering y que funcione igual tanto en linux como en windows?.
 
Por cierto, intente usar RLE_SPRITES y COMPILED_SPRITES en linux para aumentar la velocidad, pero con los primeros la velocidad no cambio, y con los segundos disminuyo!!. La verdad no se cual es el objetivo de estos sprites especiales.
 
Gracias de Antemano.
 
Manuel Alejandro Ceron.

#776 De: Manuel Alejandro Ceron <rdceron@...>
Fecha: Lun, 14 de Oct, 2002 1:00 pm
Asunto: Re: [AL-ES] Problemas con Linux
rdceron
Sin conexión Sin conexión
Enviar mensaje Enviar mensaje
 
El dom, 13-10-2002 a las 16:32, Grzegorz Adam Hankiewicz escribió: On

> Esto significa que no tiene compilado el soporte de pantalla completa
> por
> faltarle la extensión de las X que las proporciona o por no tener los
> privilegios necesarios (creo que hace falta ser root). Para verificar
> esto ejecute el programa allegro/tests/test y vaya viendo los drivers
> que tiene para elegir.

Hola Grzegorz,

He probado el programa test y solamente puedo utilizar el modo 320x200
Pantalla Complete en modo DGA (para lo cual necesito permisos de super
usuario).  En modo X solamente puede elegir modos de pantalla completa
de 640x480 y 800x600.

¿ Sabes que puedo hacer para que funcione a 320x200 en pantalla
completa? ¿Como puedo compilar el soporte de pantalla completa? y si se
puede hacer esto ¿se garantiza que funcionara en cualquier otro PC con
linux?

Gracias

Manuel Alejandro Ceron.

Publicidad

_______________________________________________
Para cancelar su subscripción envíe un email a:
allegro-espanol-unsubscribe@egroups.com


La utilización de Yahoo! Grupos está sujeta a su aceptación de las
Condiciones del servicio así como de la Política de privacidad.

#775 De: Grzegorz Adam Hankiewicz <gradha@...>
Fecha: Do, 13 de Oct, 2002 9:32 pm
Asunto: Re: [AL-ES] Problemas con Linux
gradha@...
Enviar mensaje Enviar mensaje
 
On Wed, Oct 09, 2002 at 10:09:51AM -0500, Manuel Alejandro Ceron wrote:
> [...]
> if (set_gfx_mode(GFX_AUTODETECT_FULLSCREEN, 320, 200, 0, 0)!=0) {
>       set_gfx_mode(GFX_TEXT, 0,0,0,0);
>       allegro_message("Error no se pudo iniciar el modo grafico...");
> }
>
> Me aparece el mensaje "Error no se pudo iniciar el modo grafico...".
> la forma para que funcione es cambiando a GFX_SAFE pero esto me crea el
> juego en una ventana y yo quiero que se ejecute en pantalla completa.
>
> ¿Como puedo hacer para crear un modo grafico de 320 x 200 en Pantalla
> Completa en linux? [...]

Esto significa que no tiene compilado el soporte de pantalla completa por
faltarle la extensión de las X que las proporciona o por no tener los
privilegios necesarios (creo que hace falta ser root). Para verificar
esto ejecute el programa allegro/tests/test y vaya viendo los drivers
que tiene para elegir.

#774 De: "ESB" <esbva2000@...>
Fecha: Do, 13 de Oct, 2002 10:02 pm
Asunto: Allegro 3d-Cosas
esbva2000
Sin conexión Sin conexión
Enviar mensaje Enviar mensaje
 
Hola a todos (ESB):
 
           En un simple Structura fije 6 vertices que forma como face 2 Muros en forma de T, y estuve tratando
de pasearme con la camara alrededor de estos, pero hay aspectos claves que me gustaría saber como agregarlos, mateniendome más o menos simple.
 
Aquí les mando el codigo para que me corrijan:
(Basado en el ex25.c control de camara)
 
            1). Como se implementa la función clip3d_f(...), para recortar los vertices que pasan fuera del
                 viewport, ya que me genera cosas extrañas, (ojo me dio un error en *.cpp, que en *.c no
                 aparece.
/*
D3dVisor.cpp:129:
passing `V3D_f **' as argument 5 of `clip3d_f(int, float, float, int, const V3D_f **, V3D_f **, V3D_f **, int *)'
adds cv-quals without intervening `const'
*/
 
            2). Como implemento un Vector Normal frente a cada muro para que cuando gire alrededor del
                muro a la derecha este oculte el que está más atras, con cara derecha y reves.
 
            3). Como se complementan clip3d_f(...) junto a quad3d(...), para que el muro sea recortado junto
                 con la textura. (textura tipo Bitmap 16bpp).
 
OK.
Gracias ESB.
 

#773 De: "ESB" <esbva2000@...>
Fecha: Mié, 9 de Oct, 2002 10:53 pm
Asunto: Re: [AL-ES] Problemas con Linux
esbva2000
Sin conexión Sin conexión
Enviar mensaje Enviar mensaje
 
 
----- Original Message -----
Sent: Wednesday, October 09, 2002 10:09 AM
Subject: [AL-ES] Problemas con Linux


Hola a todos,

Estoy tratando de portar un pequeño juego que he realizado en Windows a
Linux y he tenido algunos problemas:

Cuando llamo a:

set_color_depth(8);
if (set_gfx_mode(GFX_AUTODETECT_FULLSCREEN, 320, 200, 0, 0)!=0) {
      set_gfx_mode(GFX_TEXT, 0,0,0,0);
      allegro_message("Error no se pudo iniciar el modo grafico...");
}

Me aparece el mensaje "Error no se pudo iniciar el modo grafico...".
la forma para que funcione es cambiando a GFX_SAFE pero esto me crea el
juego en una ventana y yo quiero que se ejecute en pantalla completa.

¿Como puedo hacer para crear un modo grafico de 320 x 200 en Pantalla
Completa en linux?

Algo parecido me ocurria en windows cuando intentaba hacer un modo
grafico de 320 x 200 en 16 bits, el problema se solucionaba cambiando a
8 bits, en linux he probado diferentes profundidades de color pero
ninguna me funciona correctamente.

Uso linux Mandrake 8.2 y Allegro 4.0.2 bajo Xfree version 4.2.0

Gracias de Antemano por su ayuda.

Manuel Alejandro Ceron.
/****************************************************************************************************/
(HOLA) ESB:
              Quiza esto te sirva, no tengo Linux por el Momento, pero esto trabaja perfectamente bajo
Win98, y Bitmaps de 16bits:
 
PALETTE  gPalette;
int            CNegro = makecol16(0,0,0);
 
bool IniciarModo(int cBits)
{
   set_color_depth(cBits);
   if (set_gfx_mode(GFX_AUTODETECT,640,480,0,0)) {
      return FALSE;
   }
   clear_to_color(screen, CNegro);
   generate_332_palette(gPalette);
   set_palette(gPalette);
 
   return TRUE;
}
llamandola desde main como:
 
main()
{
        if ( !IniciarModo(16) ){
           printf("Error Inicindo Modo 640x480 16Bits");
           return 1;
        }
 
        Al margen,


_______________________________________________
Para cancelar su subscripción envíe un email a:
allegro-espanol-unsubscribe@egroups.com


La utilización de Yahoo! Grupos está sujeta a su aceptación de las Condiciones del servicio así como de la Política de privacidad.

#772 De: Manuel Alejandro Ceron <rdceron@...>
Fecha: Mié, 9 de Oct, 2002 3:09 pm
Asunto: Problemas con Linux
rdceron
Sin conexión Sin conexión
Enviar mensaje Enviar mensaje
 
Hola a todos,

Estoy tratando de portar un pequeño juego que he realizado en Windows a
Linux y he tenido algunos problemas:

Cuando llamo a:

set_color_depth(8);
if (set_gfx_mode(GFX_AUTODETECT_FULLSCREEN, 320, 200, 0, 0)!=0) {
       set_gfx_mode(GFX_TEXT, 0,0,0,0);
       allegro_message("Error no se pudo iniciar el modo grafico...");
}

Me aparece el mensaje "Error no se pudo iniciar el modo grafico...".
la forma para que funcione es cambiando a GFX_SAFE pero esto me crea el
juego en una ventana y yo quiero que se ejecute en pantalla completa.

¿Como puedo hacer para crear un modo grafico de 320 x 200 en Pantalla
Completa en linux?

Algo parecido me ocurria en windows cuando intentaba hacer un modo
grafico de 320 x 200 en 16 bits, el problema se solucionaba cambiando a
8 bits, en linux he probado diferentes profundidades de color pero
ninguna me funciona correctamente.

Uso linux Mandrake 8.2 y Allegro 4.0.2 bajo Xfree version 4.2.0


Gracias de Antemano por su ayuda.

Manuel Alejandro Ceron.

#771 De: "ESB" <esbva2000@...>
Fecha: Mar, 8 de Oct, 2002 11:04 pm
Asunto: Gracias y (makefile (2))
esbva2000
Sin conexión Sin conexión
Enviar mensaje Enviar mensaje
 
(Hola)ESB:
 
        Un Saludo a Alvaro, era la solucion al makefile para la generacion de los *.o, fallaba el editor convertia los tab a espacios. (Gracias).
 
        Una cosa mas, si escribiera en el makefile algo como:
 
LIB  = ESBDebug.o  NVLSector.o  NVLVisor.o  NVLNivel.o
 
GAME = ESBGame.o  ESBConfig.o  ESBEnemy.o      \
              ESBBombas.o  ESBDebug.o  ESBJugador.o
 
MapView.lib:
<TAB> $(AR) -rs libMapView.a $(LIB)
Esto da error:
 
ESBGame.exe: $(GAME)
<TAB> $(CC) $(OPTIONS) -s -oESBGame.exe $(GAME) -ljgmod -lMapView -lalleg

¡¡ Por qué debo usar una especie de comodin !!, y escribir esto como:
 
LIB_NAME = .\libMapView.a
ESBGame.exe: $(GAME)
<TAB> $(CC) $(OPTIONS) -s -oESBGame.exe $(GAME) -ljgmod $(LIB_NAME) -lalleg
¿Siempre debe usarse de esta manera ?, y si hubiesen más (*.a) generados dentro del makefile ?
por cada una un LIB10 = libNumero10.a  ?
 
 
ESB.-
 

#770 De: Grzegorz Adam Hankiewicz <gradha@...>
Fecha: Lun, 7 de Oct, 2002 5:43 pm
Asunto: Re: [AL-ES] Problemas con texto
gradha@...
Enviar mensaje Enviar mensaje
 
On Mon, Oct 07, 2002 at 07:22:23AM -0500, Manuel Alejandro Ceron wrote:
> textout(screen,font,"¿ á é í ó ú ñ",100,100,10);
>
> Me aparecen caracteres extraños en la pantalla algo como "? ^ ^ ^ ^ ^ ^",
> no se que hacer para que aparescan este tipo de caracteres especiales.
> [...]  He leido en la documentacion que para caracteres mayores a 127
> como vocales acentuadas etc. se debe usar una sucesion de 2 o mas bytes
> pero no se como hacerlo. por favor alguien ayudeme con esto.

Allegro por defecto entiende que las cadenas usan utf-8. Si quieres
modificar esto llama antes de iniciar allegro a set_uformat(U_ASCII_CP)
y especifica una tabla de caracteres si es necesario. La otra solución
que tienes es crear tus cadenas de texto en formato utf8 (normalmente
almacenadas externamente en un fichero aparte, como un .cfg) que puedes
crear con la herramienta textconv de allegro/tools/.

> El problema tambien aparece al modificar el exhello.h (lei algo asi en
> un mensaje anterior).

Eso es que no has mirado exunicod.c. A ver si te sorprenden los idiomas.

#769 De: Manuel Alejandro Ceron <rdceron@...>
Fecha: Lun, 7 de Oct, 2002 12:22 pm
Asunto: Problemas con texto
rdceron
Sin conexión Sin conexión
Enviar mensaje Enviar mensaje
 
Hola a todos,

Tengo un problema con el texto en allegro.

Cuando escribo algo como

textout(screen,font,"¿ á é í ó ú ñ",100,100,10);

Me aparecen caracteres extraños en la pantalla algo como "? ^ ^ ^ ^ ^
^", no se que hacer para que aparescan este tipo de caracteres
especiales.

Uso allegro en Windows (version 4.0) y en Linux (version 4.0.2 en X) y
en ambos me aparecen los mismos caracteres extraños.

He leido en la documentacion que para caracteres mayores a 127 como
vocales acentuadas etc. se debe usar una sucesion de 2 o mas bytes pero
no se como hacerlo. por favor alguien ayudeme con esto.

El problema tambien aparece al modificar el exhello.h (lei algo asi en
un mensaje anterior).

Gracias de antemano.

Manuel Alejandro Ceron.

#768 De: Alvaro Alea <a_alea@...>
Fecha: Jue, 3 de Oct, 2002 10:19 pm
Asunto: Re: [AL-ES] ESB (consultas sobre (makefile))
aleasoft
Sin conexión Sin conexión
Enviar mensaje Enviar mensaje
 
BUENOS DIAS!!!
Y entonces, va ESB y dice ¿[AL-ES] ESB (consultas sobre (makefile))?

> Hola (ESB)
>
>         Tengo un mensaje de error en un archivo makefile, este es el escrito:
>
> CC = gcc.exe
> AR = ar.exe
>
> OPTIONS = -ffast-math \
>                   -fomit-frame-pointer\
>
> OBJ = NVLSector.o \
>       NVLVisor.o \
>       NVLNivel.o \
>       NVLMain.o
>
> %.o : %.cpp \
>           $(CC) -c $(OPTIONS) $< -o $@
>
> NVLVisor.exe : $(OBJ) \
>                        $(CC) -c $(OPTIONS) $(OBJ) -oNVLVisor.exe

Puede que el error este aqui, quita los dos ultimos \

> y no da error:
> ¿ Por qué de usar el, \,  y los otros makefile con *.c archivos, no lo usan ?

el \ significa que la linea no acaba y que la siguiente se tome como parte de
esa, p.e. la linea de OBJ = ..... podrias haberla escrito asi:

OBJ = NVLSector.o NVLVisor.o NVLNivel.o NVLMain.o

y funcionaria exactamente igual, por otro lado en los makefiles suele haber
lineas del tipo:

objetivo a conseguir : objetivos previos necesarios
<tabulador> orden(es) para conseguir objetivo

donde objetivos son archivos (codigo fuente, codigo objeto), si falta el
objetivo a conseguir, o alguno de los objetivos anteriores a cambiado (p.e.
por que lo editaste) ejecuta la orden para compilarlo, y antes comprueba y
construye si es necesario cada uno de los objetivos previos.

Por ejemplo tu ultima linea que (deberian ser dos) dice que para conseguir
NVLVisor.exe necesita todos los archivos NVLSector.o, y debajo la orden que
hay que hacer para enlazar todos esos archivos .o y conseguir el exe.

por eso tienes que quitar el \ del final, por que deben ser dos, tambien es
importante lo de la tecla del tabulador, si no dejas esa tecla, o usas
espacios, o tu editor combierte el tabulador a espacios, puede (solo puede)
que tengas problemas.

la linea anterior (deberian ser dos) lo que indica es como conseguir cada uno
de esos .o a partir del archivo .cpp, es un poco expecial por que los % y la
@ son una especie de comodines, cuando makefile lo coge es como si hubieses
escrito:

NVLSector.o : NVLSector.cpp
	 $(CC) -c $(OPTIONS) NVLSector.cpp -o NVLSector.o

Con cada uno de los archivos .cpp que existan, y que significa que para
conseguir NVLSector.o necesita NVLSector.cpp y la orden que hay que dar es:
$(CC) -c $(OPTIONS) NVLSector.cpp -o NVLSector.o

Como repetir esas dos lineas para cada archivo .cpp es un coñazo, se utilizan
los comodines.

de todas maneras, quiza la linea no este bien escrita, si te sigue fallando
prueba a usar:

$(OBJ): %.o: %.c
         $(CC) -c $(CFLAGS) $< -o $@

Total que tu makefile quedaria asi:

CC = gcc.exe
AR = ar.exe
OPTIONS = -ffast-math -fomit-frame-pointer
OBJ = NVLSector.o NVLVisor.o NVLNivel.o NVLMain.o
$(OBJ): %.o: %.cpp
	 $(CC) -c $(OPTIONS) $< -o $@
NVLVisor.exe : $(OBJ)
	 $(CC) -c $(OPTIONS) $(OBJ) -oNVLVisor.exe

gueno, espero que esto de sirva un poco de ayuda, un saludo.

--
Los usuarios de Spectrum cargan antes de disparar
                   _
Grettings of __ _| |___ __ _   Alvaro@...  LiNUX USER #66734
Saludos     / _` | / -_) _` |  http://pagina.de/alea A_Alea@...
de          \__,_|_\___\__,_|      MS Messenger: alvaroalea@...
Para obtener Llave Publica GnuPGP un mail con subject: enviar clave pub

#767 De: "ESB" <esbva2000@...>
Fecha: Mié, 2 de Oct, 2002 2:58 am
Asunto: ESB (consultas sobre (makefile))
esbva2000
Sin conexión Sin conexión
Enviar mensaje Enviar mensaje
 
Hola (ESB)
 
        Tengo un mensaje de error en un archivo makefile, este es el escrito:
 
CC = gcc.exe
AR = ar.exe
 
OPTIONS = -ffast-math \
                  -fomit-frame-pointer\
 
OBJ = NVLSector.o \
      NVLVisor.o \
      NVLNivel.o \
      NVLMain.o 
   
%.o : %.cpp \                                         
          $(CC) -c $(OPTIONS) $< -o $@    
 
NVLVisor.exe : $(OBJ) \
                       $(CC) -c $(OPTIONS) $(OBJ) -oNVLVisor.exe
 
y este es el error:
;
; **** No rule to make target 'gcc.exe' need by 'NVLVisor.exe'. Stop.
;
No alcanzo el ultimo paso de linkeo al ejecutable.
 
        Muchos ejemplos solo utilizan *.c archivos, estos son *.cpp, y, que
versión es la mas actual de lautilidad make, (en C tradicional hay reglas
escritas como:
 
%.o : %.cpp
         $(CC) -c $(OPTIONS) $< -o $@
 
y no da error:
¿ Por qué de usar el, \,  y los otros makefile con *.c archivos, no lo usan ?
 
Les envio unos archivos (son simples pero obtengo el mismo error), para que me corrigan el makefile.
 
Gracias ESB.
 
 

#766 De: rpgrca@...
Fecha: Mié, 25 de Sep, 2002 2:19 am
Asunto: Re: [AL-ES] Mouse en Ciclos
rpgrca
Sin conexión Sin conexión
Enviar mensaje Enviar mensaje
 
Manuel Alejandro Ceron wrote:
>
> Hola a todos,
>
> Quiero utilizar el mouse dentro de un ciclo. Tengo algo asi:
>
> //----------------------------------------------------
>  show_mouse(buffer);
>  while (!keypressed()){
>         poll_mouse();
>         draw_sprite(buffer,the_image,100, 100);
>         blit(buffer,screen,0,0,0,0,SCREEN_W,SCREEN_H);
>  }
> //-----------------------------------------------------
>

Para prevenir este tipo de inconvenientes, lo más conveniente es
dibujar el mouse en el último paso antes de escribir en la pantalla:


//----------------------------------------------------
  show_mouse(buffer);
  while (!keypressed()){
         draw_sprite(buffer,the_image,100, 100);
         if (mouse_needs_poll())
                poll_mouse();
         show_mouse(buffer);
         blit(buffer,screen,0,0,0,0,SCREEN_W,SCREEN_H);
  }
//-----------------------------------------------------


--
Roberto Alfonso (rpgrca@... <> rpgrca@...)
Rhynox, the Noble Rockfriend, Wild Battlerager of the Neidar Clan and
Proficient Blacksmith, rising hero, male dwarf (Genesis is the key)
ICQ: 44361979

#765 De: Manuel Alejandro Ceron <rdceron@...>
Fecha: Mar, 24 de Sep, 2002 9:05 pm
Asunto: Mouse en Ciclos
rdceron
Sin conexión Sin conexión
Enviar mensaje Enviar mensaje
 
Hola a todos,

Quiero utilizar el mouse dentro de un ciclo. Tengo algo asi:

//----------------------------------------------------
  show_mouse(buffer);
  while (!keypressed()){
 	 poll_mouse();
 	 draw_sprite(buffer,the_image,100, 100);
  	 blit(buffer,screen,0,0,0,0,SCREEN_W,SCREEN_H);
  }
//-----------------------------------------------------

Donde buffer es un BITMAP que sirve para realizar el double buffering, y
the_image es otro BITMAP que contiene una imagen que quiero mostrar en
pantalla, el puntero del mouse se muestra correctamente solo que cuando
lo muevo hasta donde esta la imagen (the_image) este desaparece, es
decir que la imagen tapa el puntero del mouse, he intentado usar
show_mouse(screen) en lugar de show_mouse(buffer), pero de esta forma es
peor, ya que el mouse no se ve por ningun lado.

He pensado que tal vez se pueda solucionar utilizando otro bitmap que
sirva como buffer para el puntero del mouse pero no se que tan optimo
sea esto, es decir que tan lento me haga el programa.

Quisiera saber si hay alguna forma mejor.

Gracias de antemano.

Manuel Alejandro Ceron

#764 De: "Informacion Foro Help Desk" <info@...>
Fecha: Mar, 24 de Sep, 2002 2:40 am
Asunto: Help Desk, Call Center & Customer Support en Español
info@...
Enviar mensaje Enviar mensaje
 
 
Primer recurso en Internet dedicado a los profesionales de Help Desk, Call Center & Customer Support de habla hispana
 
Estándares - Entrenamiento - Métricas - Expertos - Casos - Documentos - Encuestas - Votaciones
 
Si por equivocación se le ha dirigido a Ud., pedimos las disculpas del caso, este envio no se reiterará, no necesita pedir ser removido
(Este sitio web puede ser de interes para el personal de soporte a usuarios o clientes de su empresa)

#763 De: aae@...
Fecha: Do, 22 de Sep, 2002 9:47 pm
Asunto: Re: [AL-ES] Funciones
p0tsas
Sin conexión Sin conexión
Enviar mensaje Enviar mensaje
 
Wenas, el problema q tienes es q no tienes un bucle en el q las dos funciones q utilizas se esten ejecutando hasta q se pulse la tecla escape (parece q quieres q ese sea el fin del juego). Si situas las funciones como las has puesto, se ejecutara una y despues la otra, acabando el juego a continuacion. Con suerte se te movera algo con la primera funcion sin redibujarse lo de la segunda, o una vez q pulses escape como parece q la condicion de fin es la misma en ambas funciones ni entrara en el bucle de la segunda funcion, etc. Mi consejo: create un bucle unicamente, y en el llamas a las funciones de posicionamiento de cada objeto q aparezca y se mueva en el juego, redibujando todo lo q se vaya a poder mover al final del bucle. Espero haberte sido de ayuda en algo. :)

Sidus(e)k idatzi du:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hola:
Nuevamente recurro a ustedes porque tengo un problema que me esta volviendo
loco. Estoy seguro que este problema no es de Allegro sino de Programación en
general (soy nuevo en las dos cosas)
Les cuento:
1) Intente hacerlo por mi mismo, pero la mayoria de los ejemplos que vienen
con Allegro no los entiendo (demasiado complicados para mi).
2) Lo pregunte en una lista de correo de programación en general (ni siquiera
me saludaron) ¿tan horrible es el código que hice?
3) Lo pregunte en otra lista de programación de juegos en general (me tiraron
una idea)
4) Por lo que ahora me veo obligado a preguntar en esta lista.

Bueno, el problema es que tengo dos funciones; una carga la imagen y el
movimiento de una nave; la otra carga la imagen y el movimiento del enemigo.
En el código que adjunto solo funciona la primer función que invoco.
Supongo que para que esto funcione el blit se tendría que ejecutar en main.
Pero no tengo idea de como retornar el "draw" que esta en cada
una de las funciones. O tal vez no sea nada de eso.
El programa original esta hecho sin funciones (y funciona), pero cuando algún
día se me antoje modificarlo o agregarle cosas me voy a volver loco.
Es por eso que lo quiero hacer con funciones.

Desde ya muchísimas gracias a todos.

#include "allegro.h"
int main(int argc, char *argv[])      {
PALETTE pal;
BITMAP *buffer, *imagen_enemigo, *imagen_nave;

allegro_init();
install_keyboard();
set_color_depth(8); // FIJO EL MODO A 256 COLORES

if (set_gfx_mode(GFX_AUTODETECT, 1024, 768, 0, 0) != 0)        {
   allegro_message("Error setting graphics mode\n%s\n", allegro_error);
   return 1;
                                                               }

imagen_enemigo = load_bitmap("imagen_enemigo.pcx", pal);
imagen_nave = load_bitmap("imagen_nave.pcx", pal);

set_palette(pal);  //ESTABLEZCO UNA UNICA PALETA PARA TODOS LOS GRAFICOS

buffer = create_bitmap (SCREEN_W, SCREEN_H);

/*-------------------------------------------------------------------------
//          CADA UNA DE ESTAS FUNCIONES TRABAJA BIEN EN FORMA SEPARADA
//         PERO SOLO FUNCIONA LA QUE INVOCO PRIMERO
//             EN ESTE CASO NO ME CARGA LA NAVE
//-----------------------------------------------------------------------*/

CARGAR_Y_MOVER_ENEMIGO (buffer, imagen_enemigo);      //ESTA FUNCIONA BIEN
MOVETE_NAVE (buffer, imagen_nave);     //NO CARGA LA IMAGEN DE LA NAVE

readkey();

return 0;
}
END_OF_MAIN();

CARGAR_Y_MOVER_ENEMIGO (BITMAP *buffer, BITMAP *imagen_enemigo) {
int y_enemigo = 10;
int x_enemigo = 500;
    while (!key[KEY_ESC])  {

            if (x_enemigo > 20) {  //REBOTA EL ENEMIGO HACIA LA IZQUIERDA
                  x_enemigo = x_enemigo - 20;

                  draw_sprite (buffer, imagen_enemigo, x_enemigo, y_enemigo);

                  blit(buffer,screen,0,0,0,0,SCREEN_W,SCREEN_H);

                  clear(buffer); //LIMPIO EL BUFFER

                                 }

                   if (x_enemigo == 20) {  //REBOTA ENEMIGO HACIA  LA DERECHA
                                while (x_enemigo < 915) {
                                    x_enemigo = x_enemigo + 20;
                                    draw_sprite (buffer, imagen_enemigo,
x_enemigo, y_enemigo);
 

blit(buffer,screen,0,0,0,0,SCREEN_W,SCREEN_H);

                                    clear(buffer); //LIMPIO EL BUFFER

                                                        }

                                                   }

                           }
return 0;
                                                                }

MOVETE_NAVE (BITMAP *buffer, BITMAP *imagen_nave) {

int y_nave = 650;
int x_nave = 500;

  while (!key[KEY_ESC]) {

       if (key[KEY_LEFT] && x_nave > 20) x_nave=x_nave-20; //a la izquierda
 

       if (key[KEY_RIGHT] && (x_nave < 915)) x_nave=x_nave+20; // a la derecha

       draw_sprite (buffer, imagen_nave, x_nave, y_nave);

       blit(buffer,screen,0,0,0,0,SCREEN_W,SCREEN_H);

       clear(buffer); //LIMPIO EL BUFFER

                        }
        return 0;
                                                  }

- --
Llave Gnupg en:
http://pgp.rediris.es:11371/pks/lookup?op=get&search=0x6F1FD83E

Key fingerprint = F619 9CB9 8E42 0287 8386  D2ED AEBA 0FC5 6F1F D83E

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iEYEARECAAYFAj1+EVAACgkQrroPxW8f2D58LQCfSTXT5SAzu6y9rlBXvzHqTVTw
ZCkAoKAvEcvZqlKlMw0cMuhk/UrzSEsH
=CmkH
-----END PGP SIGNATURE-----

_______________________________________________
Para cancelar su subscripción envíe un email a:
allegro-espanol-unsubscribe@egroups.com
 

La utilización de Yahoo! Grupos está sujeta a su aceptación de las
Condiciones del servicio (http://es.docs.yahoo.com/info/utos.html) así
como de la Política de privacidad (http://privacy.yahoo.com/es/).
 


#762 De: "JD" <macrojd@...>
Fecha: Do, 22 de Sep, 2002 9:38 pm
Asunto: RE: [AL-ES] Funciones
macrojd
Sin conexión Sin conexión
Enviar mensaje Enviar mensaje
 
Los errores son muchos. En principio el programa está bastante mal estructurado. Pero vamos por parte. Para que funcione lo que has hecho y aparezcan las dos naves (no al mismo tiempo) lo que puedes hacer (solamente como prueba de funcionamiento) es cambiar la siguiente linea de la función MOVETE_NAVE:
 
  while (!key[KEY_ESC]) {

Por esta otra:
 
  while (!key[KEY_SPACE]) {

Esto hará que primero aparesca el enemigo y recorra la pantalla de un lado a otro hasta que se presione escape. Una vez presionada esta tecla se borrará la pantalla y aparecerá la nave que se mueve con las flechas hasta que sea presionada la barra espaciadora (tecla SPACE).
 
Con este cambio podrás ver en funcionamiento tu programa (yo lo hice) pero seguirás teniendo errores estructurales que no te permitirán ver las dos naves al mismo tiempo.
 
Te doy algunos datos para que lo consigas:
 
- Genera estructuras globales para la información de las naves. Por ejemplo, antes del main has algo así:
struct{
    int x;
    int ý;
    int energia;
} nave;
 
Esto te permitirá disponer de la información de la posición de cualquiera de las naves y o enemigos en cualquier función sin tener que pasar los datos de función a función.
 
- Genera un bucle central como el siguiente:
 
while(!salir){
    if(keypressed()) leer_teclado();
    mover_enemigo();
    dibujar_todo();
}
 
Este bucle central es el que permanentemente la computadora estará controlando. Se termina únicamente cuando la variable global salir valga 1. La primer linea dentro del while cheque si se presionó una tecla, si es así se fija en la función leer_teclado() qué tecla fue y hace los cálculos de la nueva posición de la nave (pero no la dibuja). En esta función también se controla si se presionó la tecla escape y si es así le asigna a la variable salir el valor 1 lo que hace que el bucle while se termine y finalice el juego. En la siguiente función mover_enemigo() se hacen los cálculos para mover el enemigo (pero tampoco se dibuja), en la última función que se ejecuta dentro del while se dibuja todo en el buffer, se imprime el buffer en pantalla y se limpia el buffer.
 
Este método es algo sencillo pero si lo haces te permitirá empezar a experimentar un poco.
 
Espero que te sirva de ayuda.
Un saludo.
JD
   
 
 
----- Original Message -----
From: Sidus
Sent: Tuesday, September 10, 2002 12:35 PM
Subject: [AL-ES] Funciones

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hola:
Nuevamente recurro a ustedes porque tengo un problema que me esta volviendo
loco. Estoy seguro que este problema no es de Allegro sino de Programación en
general (soy nuevo en las dos cosas)
Les cuento:
1) Intente hacerlo por mi mismo, pero la mayoria de los ejemplos que vienen
con Allegro no los entiendo (demasiado complicados para mi).
2) Lo pregunte en una lista de correo de programación en general (ni siquiera
me saludaron) ¿tan horrible es el código que hice?
3) Lo pregunte en otra lista de programación de juegos en general (me tiraron
una idea)
4) Por lo que ahora me veo obligado a preguntar en esta lista.

Bueno, el problema es que tengo dos funciones; una carga la imagen y el
movimiento de una nave; la otra carga la imagen y el movimiento del enemigo.
En el código que adjunto solo funciona la primer función que invoco.
Supongo que para que esto funcione el blit se tendría que ejecutar en main.
Pero no tengo idea de como retornar el "draw" que esta en cada
una de las funciones. O tal vez no sea nada de eso.
El programa original esta hecho sin funciones (y funciona), pero cuando algún
día se me antoje modificarlo o agregarle cosas me voy a volver loco.
Es por eso que lo quiero hacer con funciones.

Desde ya muchísimas gracias a todos.


#include "allegro.h"
int main(int argc, char *argv[])      {
PALETTE pal;
BITMAP *buffer, *imagen_enemigo, *imagen_nave;

allegro_init();
install_keyboard(); 
set_color_depth(8); // FIJO EL MODO A 256 COLORES

if (set_gfx_mode(GFX_AUTODETECT, 1024, 768, 0, 0) != 0)        {
   allegro_message("Error setting graphics mode\n%s\n", allegro_error);
   return 1;
                                                               }

imagen_enemigo = load_bitmap("imagen_enemigo.pcx", pal);
imagen_nave = load_bitmap("imagen_nave.pcx", pal);

set_palette(pal);  //ESTABLEZCO UNA UNICA PALETA PARA TODOS LOS GRAFICOS

buffer = create_bitmap (SCREEN_W, SCREEN_H);

/*-------------------------------------------------------------------------
//          CADA UNA DE ESTAS FUNCIONES TRABAJA BIEN EN FORMA SEPARADA  
//         PERO SOLO FUNCIONA LA QUE INVOCO PRIMERO                     
//             EN ESTE CASO NO ME CARGA LA NAVE                            
//-----------------------------------------------------------------------*/

CARGAR_Y_MOVER_ENEMIGO (buffer, imagen_enemigo);      //ESTA FUNCIONA BIEN
MOVETE_NAVE (buffer, imagen_nave);     //NO CARGA LA IMAGEN DE LA NAVE

readkey();

return 0;
}
END_OF_MAIN();


CARGAR_Y_MOVER_ENEMIGO (BITMAP *buffer, BITMAP *imagen_enemigo) {
int y_enemigo = 10;
int x_enemigo = 500;
    while (!key[KEY_ESC])  {

            if (x_enemigo > 20) {  //REBOTA EL ENEMIGO HACIA LA IZQUIERDA
                  x_enemigo = x_enemigo - 20;                   

                  draw_sprite (buffer, imagen_enemigo, x_enemigo, y_enemigo);

                  blit(buffer,screen,0,0,0,0,SCREEN_W,SCREEN_H);

                  clear(buffer); //LIMPIO EL BUFFER

                                 }

                   if (x_enemigo == 20) {  //REBOTA ENEMIGO HACIA  LA DERECHA
                                while (x_enemigo < 915) {
                                    x_enemigo = x_enemigo + 20;
                                    draw_sprite (buffer, imagen_enemigo,
x_enemigo, y_enemigo);

                                   
blit(buffer,screen,0,0,0,0,SCREEN_W,SCREEN_H);

                                    clear(buffer); //LIMPIO EL BUFFER

                                                        }

                                                   }

                           }
return 0;
                                                                }




MOVETE_NAVE (BITMAP *buffer, BITMAP *imagen_nave) {

int y_nave = 650;
int x_nave = 500;

  while (!key[KEY_ESC]) {

       if (key[KEY_LEFT] && x_nave > 20) x_nave=x_nave-20; //a la izquierda
                                                                    

       if (key[KEY_RIGHT] && (x_nave < 915)) x_nave=x_nave+20; // a la derecha

       draw_sprite (buffer, imagen_nave, x_nave, y_nave);

       blit(buffer,screen,0,0,0,0,SCREEN_W,SCREEN_H);

       clear(buffer); //LIMPIO EL BUFFER

                        }
        return 0;
                                                  }


- --
Llave Gnupg en:
http://pgp.rediris.es:11371/pks/lookup?op=get&search=0x6F1FD83E

Key fingerprint = F619 9CB9 8E42 0287 8386  D2ED AEBA 0FC5 6F1F D83E



-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iEYEARECAAYFAj1+EVAACgkQrroPxW8f2D58LQCfSTXT5SAzu6y9rlBXvzHqTVTw
ZCkAoKAvEcvZqlKlMw0cMuhk/UrzSEsH
=CmkH
-----END PGP SIGNATURE-----


_______________________________________________
Para cancelar su subscripción envíe un email a:
allegro-espanol-unsubscribe@egroups.com


La utilización de Yahoo! Grupos está sujeta a su aceptación de las Condiciones del servicio así como de la Política de privacidad.

#761 De: Sidus <sidus@...>
Fecha: Mar, 10 de Sep, 2002 3:35 pm
Asunto: Funciones
fallosbsas
Sin conexión Sin conexión
Enviar mensaje Enviar mensaje
 
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hola:
Nuevamente recurro a ustedes porque tengo un problema que me esta volviendo
loco. Estoy seguro que este problema no es de Allegro sino de Programación en
general (soy nuevo en las dos cosas)
Les cuento:
1) Intente hacerlo por mi mismo, pero la mayoria de los ejemplos que vienen
con Allegro no los entiendo (demasiado complicados para mi).
2) Lo pregunte en una lista de correo de programación en general (ni siquiera
me saludaron) ¿tan horrible es el código que hice?
3) Lo pregunte en otra lista de programación de juegos en general (me tiraron
una idea)
4) Por lo que ahora me veo obligado a preguntar en esta lista.

Bueno, el problema es que tengo dos funciones; una carga la imagen y el
movimiento de una nave; la otra carga la imagen y el movimiento del enemigo.
En el código que adjunto solo funciona la primer función que invoco.
Supongo que para que esto funcione el blit se tendría que ejecutar en main.
Pero no tengo idea de como retornar el "draw" que esta en cada
una de las funciones. O tal vez no sea nada de eso.
El programa original esta hecho sin funciones (y funciona), pero cuando algún
día se me antoje modificarlo o agregarle cosas me voy a volver loco.
Es por eso que lo quiero hacer con funciones.

Desde ya muchísimas gracias a todos.


#include "allegro.h"
int main(int argc, char *argv[])      {
PALETTE pal;
BITMAP *buffer, *imagen_enemigo, *imagen_nave;

allegro_init();
install_keyboard();
set_color_depth(8); // FIJO EL MODO A 256 COLORES

if (set_gfx_mode(GFX_AUTODETECT, 1024, 768, 0, 0) != 0)        {
    allegro_message("Error setting graphics mode\n%s\n", allegro_error);
    return 1;
                                                                }

imagen_enemigo = load_bitmap("imagen_enemigo.pcx", pal);
imagen_nave = load_bitmap("imagen_nave.pcx", pal);

set_palette(pal);  //ESTABLEZCO UNA UNICA PALETA PARA TODOS LOS GRAFICOS

buffer = create_bitmap (SCREEN_W, SCREEN_H);

/*-------------------------------------------------------------------------
//          CADA UNA DE ESTAS FUNCIONES TRABAJA BIEN EN FORMA SEPARADA
//         PERO SOLO FUNCIONA LA QUE INVOCO PRIMERO
//             EN ESTE CASO NO ME CARGA LA NAVE
//-----------------------------------------------------------------------*/

CARGAR_Y_MOVER_ENEMIGO (buffer, imagen_enemigo);      //ESTA FUNCIONA BIEN
MOVETE_NAVE (buffer, imagen_nave);     //NO CARGA LA IMAGEN DE LA NAVE

readkey();

return 0;
}
END_OF_MAIN();


CARGAR_Y_MOVER_ENEMIGO (BITMAP *buffer, BITMAP *imagen_enemigo) {
int y_enemigo = 10;
int x_enemigo = 500;
     while (!key[KEY_ESC])  {

             if (x_enemigo > 20) {  //REBOTA EL ENEMIGO HACIA LA IZQUIERDA
                   x_enemigo = x_enemigo - 20;

                   draw_sprite (buffer, imagen_enemigo, x_enemigo, y_enemigo);

                   blit(buffer,screen,0,0,0,0,SCREEN_W,SCREEN_H);

                   clear(buffer); //LIMPIO EL BUFFER

                                  }

                    if (x_enemigo == 20) {  //REBOTA ENEMIGO HACIA  LA DERECHA
                                 while (x_enemigo < 915) {
                                     x_enemigo = x_enemigo + 20;
                                     draw_sprite (buffer, imagen_enemigo,
x_enemigo, y_enemigo);


blit(buffer,screen,0,0,0,0,SCREEN_W,SCREEN_H);

                                     clear(buffer); //LIMPIO EL BUFFER

                                                         }

                                                    }

                            }
return 0;
                                                                 }




MOVETE_NAVE (BITMAP *buffer, BITMAP *imagen_nave) {

int y_nave = 650;
int x_nave = 500;

   while (!key[KEY_ESC]) {

        if (key[KEY_LEFT] && x_nave > 20) x_nave=x_nave-20; //a la izquierda


        if (key[KEY_RIGHT] && (x_nave < 915)) x_nave=x_nave+20; // a la derecha

        draw_sprite (buffer, imagen_nave, x_nave, y_nave);

        blit(buffer,screen,0,0,0,0,SCREEN_W,SCREEN_H);

        clear(buffer); //LIMPIO EL BUFFER

                         }
         return 0;
                                                   }


- --
Llave Gnupg en:
http://pgp.rediris.es:11371/pks/lookup?op=get&search=0x6F1FD83E

Key fingerprint = F619 9CB9 8E42 0287 8386  D2ED AEBA 0FC5 6F1F D83E



-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iEYEARECAAYFAj1+EVAACgkQrroPxW8f2D58LQCfSTXT5SAzu6y9rlBXvzHqTVTw
ZCkAoKAvEcvZqlKlMw0cMuhk/UrzSEsH
=CmkH
-----END PGP SIGNATURE-----

#760 De: "ESB" <esbva2000@...>
Fecha: Sáb, 14 de Sep, 2002 9:27 pm
Asunto: Agradecimientos
esbva2000
Sin conexión Sin conexión
Enviar mensaje Enviar mensaje
 
Hola ESB:
 
        Gracias por su paciencia, sus respuestas, voy a investigar DPMI, espero encontrar tutores.
 
        Lo otro respecto a editores 3d, también estaba en lo mismo, sólo que tengo ya más encaminado un editor en 2d, no sabía que existia Tile-Studio,
hasta hace muy poco, pero viendolo desde un punto de vista más técnico,
encontré un modo de trabajar dentro de la edición de escenarios, una manera de ubicar Animaciones, Sectores Destruibles, Bonos, Puertas, Elevadores, Transparencias, sin la necesidad de tantos Arrays, dando más
lugar a digamos un Big-Array que conforma el escenario con todo, Tengo
un editor, y la engine 2d, para un juego, lo unico está en Win98, (proximo
a emigrar con objetos GUI de allegro), para quienes deseen probarlo y mandarme comentarios, diganme donde enviarlo, si desean pueden devolverme niveles para completar un total de 100, "La idea es que el compadre despues de pasar los interminables niveles se baja de la nave y pasa a un laberinto 3d", (tengo que desarrollar la engine), de todas maneras hay una librería llamada z3d, que edita archivos 3do, cob, y los que dan esperanza para versiones PlayStation2 (tim, y tmd). .... la idea sería aprovechas estos formatos y acomodarlos en el editor de niveles, y orientarlo (según mi opinion) al estilo Jedi Kingh II, (Lucas Art), hay ciertas cosas con las cuales tropesaran en los algoritmos BSP, (dificil de abarcar en un mail).
        Sería recomendable ver también un editor llamado "Genesis3d",  y luego de aquí y allá, y algo nuestro, elaborar algo más solido para competir en Video-Juegos, junto con diferentes plataformas DirectX, Linux, PlayStation, a ver que podemos hacer..
 
PD: Avisenme si este mails vuelve a repetirse (volví a cambiar configuraciones en RDSI).
 
ESB.
 

#759 De: "rbreindembach@..." <rbreindembach@...>
Fecha: Sáb, 14 de Sep, 2002 3:31 pm
Asunto: Proyecto en 3d
rbreindembach
Sin conexión Sin conexión
Enviar mensaje Enviar mensaje
 
Hola a todos, les escribo desde Los Teques, en Venezuela. Soy un poco nuevo programando, pienso hacer unos ejercicios con allegro y linux (Mandrake 8.1), ya he podido compilar por línea de comandos los ejemplos de allegro y me propongo hacer un pequeño motor 3d para animaciones, nada espectacular, pero necesitarè un poco de ayuda. Espero que alguien del grupo esté trabajando en eso para ayudarnos. Nos escribimos...

#758 De: rpgrca@...
Fecha: Sáb, 14 de Sep, 2002 2:15 am
Asunto: Re: [AL-ES] Dos Pequeñas Cosas
rpgrca
Sin conexión Sin conexión
Enviar mensaje Enviar mensaje
 
> ESB wrote:
>
>         1). Como puedo generar un alojamiento masivo de Structuras y detenerme
> casi antes de rebasar el limite del Stack, pues esta era la causa
> del Pequeño buggs de la otra vez, pues he leído la opción del compilador
> acerca de trabajar con "malloc" paginado a memoria, virtual, pero no existe un
> ejemplo concreto en el manual, te envio este codigo a ver si de esta forma
> puedes adecuarlo para por ejemplo almacenar 4096 elementos en el array
> paginando las llamadas a malloc.
>
En verdad, eso no es posible, a no ser que uses alguna de las funciones DPMI, o
que lo calcules "a mano" (aka: un ciclo 'for' alojando bloques de memoria hasta
el límite).

En cuanto a lo de esa opción, al menos en GCC 2.95.2 (que yo tengo) no existe
(o al menos no la encontré).

>
>         2). Lo otro la funcion inline TranspSthBlt(...), genera una copia de
> bitmap para estirar o contraer éste, usando una mascara de color arbitrario
> aunque use algunas optimizaciones, (por favor revisalas, no se cual más
> faltaría para hacelerar más el codigo, y reducirlo), igual es lento, me
> gustaria saber como podría quedar esta función editada en el GNU Assemble
> AT&T, dentro del compilador, con NASM98 desistí pues con otras demos de
> programas mixtos RHIDE presentaba errores y se colgaba, (puedes reeditar esta
> función en Assemble ???), quiero saber cuanto más se acelera...
>
No mucho, sobre todo por la gran cantidad de divisiones que hay. Ensamblador
aumenta la velocidad cuando se trabaja únicamente con la memoria y registros,
no cuando interviene el coprocesador matemático.

Sí o sí debe acceder al bitmap "screen"? Podría hacerce un poco más rápido
utilizando acceso directo a bitmap->line, pero se necesita un bitmap real, no
"screen".

>
> PD:  Ya corregi algunas cosas del correo, si este mails vuelve a probocar
> molestias, me voy del grupo (gracias).
> ESB.
>
Teniendo un poco de cuidado
Por cierto, este mail también llegó tres veces ;) Pero no fue molestia. Las
reglas son mucho más simple: no duplicación de mails (en tu caso, si es sólo un
problema de setup, se puede tolerar... hasta un cierto punto), y si tenés que
enviar algo adjunto, comprimilo: si es menor a los 25 kb, no hay problema. Si
es más grande, levantalo en algún lugar, o anuncialo para que los interesados
te lo pidan. Y NUNCA se adjuntan ejecutables.


--
Roberto Alfonso (rpgrca@... <> rpgrca@...)
Rhynox, the Noble Rockfriend, Wild Battlerager of the Neidar Clan and
Proficient Blacksmith, rising hero, male dwarf (Genesis is the key)
ICQ: 44361979

#757 De: "JD" <macrojd@...>
Fecha: Jue, 12 de Sep, 2002 11:15 pm
Asunto: RE: [AL-ES] Dos Pequeñas Cosas (Correccion)
macrojd
Sin conexión Sin conexión
Enviar mensaje Enviar mensaje
 
A mí no me causa molestia alguna, pero el último volvió a venir por tres. En cuanto al tamaño del código, creo que si excede los 500 o 600 kbytes deberías consultar antes de enviarlo.
 
Un saludo.
JD
----- Original Message -----
From: ESB
Sent: Thursday, September 12, 2002 3:25 PM
Subject: [AL-ES] Dos Pequeñas Cosas (Correccion)

Hola (ESB):
 
        Antes que nada quisiera pedirles disculpas por bloquear los mails, pero quiero decirles que el problema de repetir el mail 3 Veces, no fue
por mi culpa, más bien parecia ser de outlook express, pues me pide la
la casilla de autenticación y otras opciones adicionales, mi línea es una
RDSI, me a costado configurarla pues los navegadores y correo deben
adecuar protocolos y configuraciones distintas a Banda Ancha Tradicional
además usar un programa que sirve de interprete repetidor entre Windows y el dispositivo RDSI. (recien se incorporan estos Softwar aqui en la Zona).
 
        Respecto al Codigo, quesiera decir que es muy poco 2000 kbytes, para escribir codigo.
 
        He puesto algunos comentarios en el *.cpp que destacan los lugares
en el que se plantean las preguntas (1) y (2), y las opciones de compilación.
 
Preguntas:    
 
       1). Como usar malloc con memoria virtual.
       2). La reescritura de TranspSthBlt(...) en GNU Assemble.
 
        Agradeceré sus paciencias.
 
PD:  Ya corregi algunas cosas del correo, si este mails vuelve a probocar molestias, me voy del grupo (gracias).
ESB.
 
 
 
 
 
       


_______________________________________________
Para cancelar su subscripción envíe un email a:
allegro-espanol-unsubscribe@egroups.com


La utilización de Yahoo! Grupos está sujeta a su aceptación de las Condiciones del servicio así como de la Política de privacidad.

#756 De: "ESB" <esbva2000@...>
Fecha: Jue, 12 de Sep, 2002 6:25 pm
Asunto: Dos Pequeñas Cosas (Correccion)
esbva2000
Sin conexión Sin conexión
Enviar mensaje Enviar mensaje
 
Hola (ESB):
 
        Antes que nada quisiera pedirles disculpas por bloquear los mails, pero quiero decirles que el problema de repetir el mail 3 Veces, no fue
por mi culpa, más bien parecia ser de outlook express, pues me pide la
la casilla de autenticación y otras opciones adicionales, mi línea es una
RDSI, me a costado configurarla pues los navegadores y correo deben
adecuar protocolos y configuraciones distintas a Banda Ancha Tradicional
además usar un programa que sirve de interprete repetidor entre Windows y el dispositivo RDSI. (recien se incorporan estos Softwar aqui en la Zona).
 
        Respecto al Codigo, quesiera decir que es muy poco 2000 kbytes, para escribir codigo.
 
        He puesto algunos comentarios en el *.cpp que destacan los lugares
en el que se plantean las preguntas (1) y (2), y las opciones de compilación.
 
Preguntas:    
 
       1). Como usar malloc con memoria virtual.
       2). La reescritura de TranspSthBlt(...) en GNU Assemble.
 
        Agradeceré sus paciencias.
 
PD:  Ya corregi algunas cosas del correo, si este mails vuelve a probocar molestias, me voy del grupo (gracias).
ESB.
 
 
 
 
 
       

#755 De: Grzegorz Adam Hankiewicz <gradha@...>
Fecha: Jue, 12 de Sep, 2002 11:56 am
Asunto: Re: [AL-ES] Dos Pequeñas Cosas
gradha@...
Enviar mensaje Enviar mensaje
 
On Wed, Sep 11, 2002 at 06:21:13PM -0500, ESB wrote:
> Hola de (ESB:   Esteban Silva B.)
> A: Grzegorz Adam Hankiewicz

En primer lugar, has mandado un email a una lista pública, si deseas
hablar conmigo hazlo en privado.  En segundo lugar, mandar tu mensaje
tres veces no sirve de nada, con uno basta. No sin olvidar que acabas
de spamear con 1 mega a cada suscriptor de la lista.

> de antemado gracias...

Lo siento pero no voy a revisarlas, la primera porque no la entiendo,
la segunda porque no sé ensamblador, y en cualquier caso porque no has
leído la sexta parte de http://alleg.sourceforge.net/help.es.html. Me
incluyo entre las personas molestas.

Por último, es inútil que incluyas un binario con el zip, ya que por
principio no ejecuto código ajeno, no lo puedo ejecutar porque sólo uso
linux, y además ya incluyes el código fuente para que genere el binario.

#754 De: rpgrca@...
Fecha: Jue, 12 de Sep, 2002 2:31 am
Asunto: Re: [AL-ES] imprimir
rpgrca
Sin conexión Sin conexión
Enviar mensaje Enviar mensaje
 
fedel8 wrote:
>
> Hola, ante todo quisiera saludar a toda la comunidad usuaria de
> allegro por la buena voluntad que muestran en prestar ayuda a los
> principiantes como yo.
> Lo que quiero consultarles es si tengo alguna manera de imprimir (en
> papel, claro) por ejemplo algun grafico realizado con allegro.
> Gracias de antemano
> Federico (Argentina)
>

Allegro no proporciona soporte para impresión. Lo que podés hacer es
grabar la imagen utilizando save_bitmap, y luego imprimirlo usando un
software específico (un editor de imágenes, Photoshop, ACDSee, etc).
En allegro.txt existe un ejemplo de cómo capturar la pantalla. Podría
servirte.

Roberto (también de Argentina ;)


--
Roberto Alfonso (rpgrca@... <> rpgrca@...)
Rhynox, the Noble Rockfriend, Wild Battlerager of the Neidar Clan and
Proficient Blacksmith, rising hero, male dwarf (Genesis is the key)
ICQ: 44361979

#753 De: "ESB" <esbva2000@...>
Fecha: Mié, 11 de Sep, 2002 11:21 pm
Asunto: Dos Pequeñas Cosas
esbva2000
Sin conexión Sin conexión
Enviar mensaje Enviar mensaje
 
Hola de (ESB:   Esteban Silva B.)
A: Grzegorz Adam Hankiewicz
 
        1). Como puedo generar un alojamiento masivo de Structuras y detenerme casi antes de rebasar el limite del Stack, pues esta era la causa
del Pequeño buggs de la otra vez, pues he leído la opción del compilador
acerca de trabajar con "malloc" paginado a memoria, virtual, pero no existe un ejemplo concreto en el manual, te envio este codigo a ver si de esta forma puedes adecuarlo para por ejemplo almacenar 4096 elementos en el array paginando las llamadas a malloc.
 
        2). Lo otro la funcion inline TranspSthBlt(...), genera una copia de bitmap para estirar o contraer éste, usando una mascara de color arbitrario
aunque use algunas optimizaciones, (por favor revisalas, no se cual más faltaría para hacelerar más el codigo, y reducirlo), igual es lento, me gustaria saber como podría quedar esta función editada en el GNU Assemble AT&T, dentro del compilador, con NASM98 desistí pues con otras demos de programas mixtos RHIDE presentaba errores y se colgaba, (puedes reeditar esta función en Assemble ???), quiero saber cuanto más se acelera...
 
de antemado gracias...
PD:  "Copiar cada archivo fuente dentro de C:\DJPAlloc".
       "Está con el Directorio dentro para crearlo al descomprimir".
      
ESB.
 

#752 De: "fedel8" <fedel8@...>
Fecha: Mié, 11 de Sep, 2002 6:17 pm
Asunto: imprimir
fedel8@...
Enviar mensaje Enviar mensaje
 
Hola, ante todo quisiera saludar a toda la comunidad usuaria de
allegro por la buena voluntad que muestran en prestar ayuda a los
principiantes como yo.
Lo que quiero consultarles es si tengo alguna manera de imprimir (en
papel, claro) por ejemplo algun grafico realizado con allegro.
Gracias de antemano
Federico (Argentina)

Mensajes 752 - 781 de 9896   Primero  |  < Anterior  |  Siguiente >  |  Último
Avanzado
Añadir a Mi Yahoo!      XML ¿Qué es esto?

Copyright © 2009 Yahoo! Todos los derechos reservados.
Política de Privacidad Actualizada - Condiciones del servicio - Directrices - Ayuda