Tontadas y pamplinas + Otras dudas

Started by Futu-block, August 19, 2016, 01:28:24 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Futu-block

Al final he tenido que retomar los 32 bits y parece que no me trastoca los colores, excepto que cuando pregunta el color con 'map_put_pixel' segun en cada proceso da el resultao que le da la gana y no se puede usar una variable global de 'rojo = rgb(255,0,0)' cosa que no pasaba con los 8 bit...
creo

panreyes

Quote from: Futu-block on February 06, 2019, 08:36:21 AM
Al final he tenido que retomar los 32 bits y parece que no me trastoca los colores, excepto que cuando pregunta el color con 'map_put_pixel' segun en cada proceso da el resultao que le da la gana y no se puede usar una variable global de 'rojo = rgb(255,0,0)' cosa que no pasaba con los 8 bit...
creo
No me cuadran mucho esos fallos, no creo que sean de BennuGD. Si quieres pasar trozos de código, podemos revisar a ver por qué te falla

Futu-block

los pasé a 32 bits aunque puedo recuperar el código a ver si sigue fallando, te los mando a las primera de cambio con el codigo antiguo, lo repaso de nuevo y veo si sigue fallando, eso si, en xubuntu

Futu-block

aqui tiene @panreyes, he comprimido toda la carpeta, el archivo clave es ''ed_cara8.prg'' que he intentado adaptar a la versión que tenía antes, aún asi al convertir el fpg a 8bit me ha dado problemas y me ha cambiado los colores al añadir las imagenes...
Estoy trabajando en xubuntu, pero cuando hice un par de fpg en windows me salieron corruptos y parece que con wine trabaja muy bien
Aunque de todas formas me paso a los 32 bit
https://www.dropbox.com/s/9jzukxfj0zs32jf/edic8.zip?dl=0

Futu-block

#184
La carga y la no carga de archivos:
Hago un for para si existe un archivo (en este caso un fpg) y si no hay mas fpg me carga el primero, ¿Porque?
    for (a = 0; a < 5;a++)
        if (fexists ("graf/pelos/"+a+".fpg"))
            fpg_pelos[a] = load_fpg("graf/pelos/"+a+".fpg");    // fichero pelos
        end
    end

Incluso haciendo esto me sigue cargando el primero

    for (a = 0; a < 5;a++)
        if (fexists ("graf/pelos/"+a+".fpg"))
            fpg_pelos[a] = load_fpg("graf/pelos/"+a+".fpg");    // fichero pelos
        else
            fpg_pelos[a] = 0;       
        end
    end

Tengo dos fpg distintos, ¿como debería hacerlo para que cuente cuantos fpg hay y si no hay mas no cargue mas?
En este bloque for irá mas de un array de fpgs

Futu-block

Vale, me voy a tener que olvidar de las cargas de mas de un archivo ya que falla fexists...

El problema que me sale ahora es la carga de fpg desde una función, si la función devuelve con return ¿puede devolver la variable ya cargada con su fpg?
me estoy rayando bien con esto, asi que paso por ahora de comprobar para sacar el proyecto y lo dejo pendiente para una nueva versión

SplinterGU

sino queres que cargue mas tenes que poner break... igual no entiendo lo que decis... que primero carga?
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Futu-block

respondí con el movil y veo que no se ha guardado, pero al fin y al cabo decía que...

a traves de un bloque for consulto con el fexists si existe el archivo fpg con el mismo numero que vá en el  for y poder asignarlo en el array de id del proceso, si el archivo no existe, en el primer caso me vuelve a cargar el primer archivo, cosa que no comprendo porque lo hace
la solución que propones no está mal, si no existe romper el bloque for, pero eso sería si comprobara un archivo por cada vez, pero he de comprobar bastantes carpetas de una vez, en concreto 13, pero iré probando lo del break, igual resulta
no me aclaro todavía el tema de las carpetas puesto que dispondo de una carpeta para cada fpg, 13 carpetas con un fpg cada uno con la intención que si se añade mas fpg el programa los cuente y dé la opción de elegir cual usar

Futu-block

Orden:
¿como sacar un orden por la z de cada proceso?
A la hora de sacar la snapshot pego en un new_map todos los graficos de cada parte de la cara, pero cada una tiene una Z distinta y debo de respetar ese orden y empiezo a poner:
map_put (pelo)
map_put (cara)
map_put (ojos)
etc

¿como se hace?
no puedo preguntar cada frame por cada uno de los procesos en que orden está y si acaso hacer el map_put...

Lo unico que se me ocurre es el preguntar quien tiene la Z mas alta y hacer el map_put, y volver a empezar. Pero ¿como pregunto por la Z mas alta a cada uno? ¿hay alguna formula que no sea preguntar uno por uno que Z tiene?

panreyes

Creo que preguntar uno por uno que z tiene (con un bucle) es lo ideal.

Primero pintas todos los que tengan z=1, luego z=2, luego z=3, etc...

Futu-block


Futu-block

#191
Otra:
¿Sabeis como se hace para que en mode_window se pueda cerrar pulsando la X de cerrado de la ventana?
***
------------------*---------------------
por cierto, me ha salido este error, a ver quien sabe que me falla



panreyes

Quote from: Futu-block on March 05, 2019, 09:30:29 AM
Otra:
¿Sabeis como se hace para que en mode_window se pueda cerrar pulsando la X de cerrado de la ventana?
Revisa exit_status:
http://wiki.bennugd.org/index.php?title=Exit_status

Futu-block

guay, gracias, karma++


// recordatorio:
if (exit_status == true) exit(); end

Futu-block

Una cosita mas:
Uso get_point y guardo los puntos en una variable global pero cuando accedo a ellos en otro proceso no los lee, lo lee como 0..
¿esto es normal o estoy haciendo algo mal?
tengo que poner el get_point en cada proceso, esto no me incomoda pero debería poder hacerlo una vez y ya está