Image.{dll,so}

Started by josebita, May 11, 2009, 07:39:11 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

panreyes

Subida está unos posts más arriba, pero es difícil de encontrar xD

josebita

Sí, pero esa es una versión un poquito vieja. Sandman le limpió un poquito el código, así que intentaré subir esa.

josebita

#47
La he puesto en "Third party" de la página de descargas de bennugd.org.

http://www.bennugd.org/descargas/bennugd-module-image-1.2_win32.zip

Por cierto, que la que hay que cargar es la "mod_image" (antes era libimage, ahora libimage es interna y no debe cargarse directamente desde código Bennu).

¡Ah! y la he recompilado contra el Bennu r101, que la tenía compilada contra uno de mayo, por si diera problemas (que no debería).

osk

¡Está guay!
¿Piensas poner en la web de Bennu el resto de librerías que hay pululando por aquí?. Como por ejemplo las de tu PPA...
Gracias

DCelso

#49
hola, he visto que esta librería no cargaba bien las imágenes en 32 bits de ninguno de los formatos que soporta, simplemente hacía una conversión de una imagen de 24 bits poniendo su componente alfa a 255.

He estado viendo cómo se usa SDL_image y he creado un nuevo mod_map basado en la r112 (actualmente, última versión del SVN) con soporte para load_image usando SDL_image. Decir que he usado mismo esquema y nomenclatura para que quede integrado de una forma natural al módulo. Dejo el código y el binario para windows por si a alguien le interesa.

Por Cierto, splinterGU, creando esta modificación al módulo mod_map he descubierto que en todo el código de bennu del SVN no hay referencia a SDL_image, es decir, bennu no usa esta dll, así que en el directorio externals sobran SDL_image y jpeg.dll ya que no son usados.

Este nuevo mod_mad si que usa estas dlls, además también necesita de una dll más para cargar tiffs.

http://www.mediafire.com/?gfiwnzjm0yz

NOTA: viene prg adjunto con forma de uso.
el test que hay en mediafire tiene unos cuantos errores, pego aqui el código con ellos corregidos

program image_test;

import "mod_key"
import "mod_video"
import "mod_mouse"
import "mod_map"
import "mod_screen"
import "mod_say"
import "mod_text"
import "mod_proc"

Global
   id_fondo;
   id_pos_y=30;
   id_images[100];
   id_texts[100];
   num_images;
begin
   set_mode(320,420,32);
   set_text_color(RGB(0,0,255));
   repeat
       if(key(_1))
           delete_images();
           set_mode(320,420,8);
           set_text_color(RGB(0,0,255));
           while(key(_1)) frame;end
           put_images();
       end
       if(key(_2))
           delete_images();
           set_mode(320,420,16);
           set_text_color(RGB(0,0,255));
           while(key(_2)) frame;end
           put_images();
       end
       if(key(_3))
           delete_images();
           set_mode(320,420,32);
           set_text_color(RGB(0,0,255));
           while(key(_3)) frame;end
           put_images();
       end
       frame;
   until(key(_esc))
   unload_map(0,id_fondo);
end

process delete_images()
begin
   unload_map(0,id_fondo);
   for (x = 0;x<num_images;x++)
       unload_map(0,id_images[x]);
       delete_text(id_texts[x]);
   end
   num_images=0;
   id_pos_y = 30;
end

process put_images()
begin
   id_fondo=load_image("fondo.jpg");
   put_screen(0,id_fondo);
   imagen(100,id_pos_y,"hr8.bmp");
   imagen(180,id_pos_y,"hr24.bmp");
   imagen(250,id_pos_y,"hr32.bmp");
   id_pos_y+=65;
   imagen(100,id_pos_y,"hr8.pcx");
   imagen(180,id_pos_y,"hr24.pcx");
   id_pos_y+=65;
   imagen(100,id_pos_y,"hr8.gif");
   imagen(180,id_pos_y,"hr32.gif");
   imagen(250,id_pos_y,"hr24.jpg");
   id_pos_y+=65;
   imagen(100,id_pos_y,"hr8.png");
   imagen(180,id_pos_y,"hr24.png");
   imagen(250,id_pos_y,"hr32.png");
   id_pos_y+=65;
   imagen(100,id_pos_y,"hr8.tga");
   imagen(180,id_pos_y,"hr24.tga");
   imagen(250,id_pos_y,"hr32.tga");
   id_pos_y+=65;
   imagen(100,id_pos_y,"hr8.tif");
   imagen(180,id_pos_y,"hr24.tif");
   imagen(250,id_pos_y,"hr32.tif");
end

process imagen( x,y,string filename)
begin
   id_texts[num_images]=write(0,x,y,1,filename);
   graph=load_image(filename);
   id_images[num_images++] = graph;
   say(filename+":"+graph);
   repeat
       frame;
   until(key(_esc) || key(_1)|| key(_2)|| key(_3))
end
   
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Prg

en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

josebita

Genial, DCelso. Te estás haciendo un crack con los módulos.
Cuando consiga limpiar la lista de TODOs, me pongo a empaquetar tus librerías para Ubuntu :)

SplinterGU

el modulo image, no es oficial de bennu... la SDL_Image no recuerdo quien la usa, pero creo que la misma SDL la usa si existe lo mismo la jpeg... ahora mismo no recuerdo...

con respecto a lo que hiciste de integrar la SDL_Image, yo lo iba a hacer proximamente, pero no como esta armada la image.dll...

saludos.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

lo vere ni bien tenga tiempo... muchas...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Prg

hola, está esta librería compilada para ubuntu?
me encontré los binarios, pero no la encontré, o no la supe buscar :)
saludos.
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

josebita


Prg

si, se que ah'i deber'ia estar, pero sinceramente busque y el unico link que encontr'e es este:
https://launchpad.net/~josebagar/+archive/ppa/+packages
luego di click a
  bennugd-module-image - 1.3-1
y me aparece:
    *   bennugd-module-image_1.3-1.dsc  (1.5 KiB)
    * bennugd-module-image_1.3-1.tar.gz (5.5 KiB)
    * bennugd-module-image_1.3-1_i386.deb (5.6 KiB)

descargu'e el bennugd-module-image_1.3-1.tar.gz (5.5 KiB), lo descomprim'i y son los binarios que digo que encontr'e.

disculpen mi ignorancia en estos temas, cu'al es el so? o en donde est'a el link?
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

Drumpi

Si en el tar está la version dll, en la deb debe estar la so de linux... que tambien son binarios.
Si lo que buscas es el código fuente...
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

josebita

Para obtener el archivo .so debes descomprimir el fichero .deb y buscar en /usr/lib/bennugd
Aún así, si sólo quieres instalarlo en tu ordenador, es más fácil que directamente te instales el repositorio y dejes que la instalación la maneje el sistema.

El .tar.gz deberían ser los fuentes, aunque puede que me haya dejado algún binario sin querer.

Prg

entiendo, gracias.
es que la incluiré en la versión del editor de ubuntu, así tendremos todos los formatos que soporta en linux.
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)