Autor Tema: Tontadas y pamplinas + Otras dudas  (Leído 27309 veces)

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6416
  • Karma: 165
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #225 en: Enero 31, 2020, 02:39:04 pm »
Otra mas, como crear una ruta a la carpeta anterior, por ejemplo si yo quiero guardar un png en la carpeta que contiene hago esto:

Código: [Seleccionar]
//SAVE_PNG(0,100,”Foto.png”)
ya se que eso vá en la ''carpeta madre'' y si quiero dentro de una carpeta hago "/carpeta/foto.png" pero si fuera para arriba?? a la carpeta ''abuela''

Otra; Tengo que poner el primer valor como 0 porque si pongo el nombre del fpg no sale bien, ¿es normal o me estoy saltando algo?


Nota mara mi mimo:
-La imagen se guarda donde esté el .dcb

SAVE_PNG(0,100,”Foto.png”) te guarda la imagen en donde tienes el .dcb (salvo que hayas usado CD para cambiar la ruta)
SAVE_PNG(0,100,”erfuto/Foto.png”) te guarda la imagen en una carpeta llamada "erfuto" que está en la misma ruta que el .dcb
SAVE_PNG(0,100,”../Foto.png”) te guarda la imagen en la carpeta superior al .dcb.

Ejemplo: si el dcb está en la ruta C:/c1/c2/c3
SAVE_PNG(0,100,”Foto.png”) te la guarda en C:/c1/c2/c3
SAVE_PNG(0,100,”erfuto/Foto.png”) te la guarda en C:/c1/c2/c3/erfuto
SAVE_PNG(0,100,”../Foto.png”) te la guarda en C:/c1/c2
SAVE_PNG(0,100,”../../Foto.png”) te la guarda en C:/c1

¡OJO! Es responsabilidad tuya asegurarte de que existen las carpetas.


Será un lío, pero léete la wiki porque vas a aprender más de lo que andas buscando:
http://wiki.bennugd.org/index.php?title=Fpg_save
Según eso necesitas dos valores: el FPG_ID (el valor que te devuelve FPG_LOAD o FPG_NEW) y la ruta-nombre del fichero.
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)

Futu-block

  • Hero Member
  • *****
  • Mensajes: 2887
  • Karma: 36
  • Superviviente marciano
    • futublock
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #226 en: Febrero 01, 2020, 11:30:39 am »
osea, que me he respodí yo mismo a la misma hora?? lol

gracias drump

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6416
  • Karma: 165
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #227 en: Febrero 04, 2020, 12:40:04 am »
Lol. No sé si el foro se ha vuelto tonto, o el que se ha vuelto tonto soy yo :D
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)

Futu-block

  • Hero Member
  • *****
  • Mensajes: 2887
  • Karma: 36
  • Superviviente marciano
    • futublock
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #228 en: Febrero 25, 2020, 10:48:16 pm »
Mas cosas:

Quiero guardar determinados gráficos de un fpg con tal numeración en otro fpg con la misma numeración...
¿hay algo sencillo que lo haga en plan add_fpg_inside_oldfpg o algo así?
yo tengo una función que los vá añadiendo, pero como coincide el mismo número de gráfico digo yo que igual hay algo...

y segundo:

Quiero comprobar si existe el archivo ''tal.fpg'' y si existe que lo cargue, pero lo quiero asi tal como lo digo, no de esta otra forma:
Código: [Seleccionar]
if (file_exists("tal.fpg")) fpg_tal = load_fpg("tal.fpg"); end
en plan '' if (file_exists("tal.fpg")) load_it
¿existe alguna función asi o me la estoy inventando? porque creo que es buena idea

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6416
  • Karma: 165
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #229 en: Febrero 26, 2020, 03:05:30 pm »
Sí, en ambos casos se llaman igual: variables :D

En tu primer caso, podría ser algo como esto:
Código: [Seleccionar]
int pos;
int fpgOrigen;
int fpgDestino;

pos = 1;
fpgOrigen = load_fpg("mi.fpg");
fpgDestino = new_fpg();

for (pos = 1; pos < 1000; pos++)
    if (map_exists(fpgOrigen, pos))
        fpg_add(fpgDestino, pos, fpgOrigen, pos);
    end
end


En el segundo caso:
Código: [Seleccionar]
string nombreFichero = "tal.fpg"
int fpgTal;
if (file_exists(nombreFichero)) fpgTal = load_fpg(nombreFichero); end


No puedes usar menos instrucciones, primero porque file_exists no sabe qué tipo de fichero es para cargarlo (¿es un FPG, on MAP, un MP3?), y segundo, porque load_fpg sólo entiende a los ficheros FPG.
« última modificación: Febrero 26, 2020, 03:10:07 pm por Drumpi »
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)

Futu-block

  • Hero Member
  • *****
  • Mensajes: 2887
  • Karma: 36
  • Superviviente marciano
    • futublock
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #230 en: Febrero 26, 2020, 03:40:21 pm »
Vamos por partes, Llaq el destripeitor...

En el primer caso,  son imágenes del fpg que tiene que entrar en el nuevo con la misma numeración, por lo que parece no existe tal función directa y la tengo que crear yo, que es parecido al que has puesto pero con el numero fijo  ya que va ahora mismo ''manualmente'' (pega los archivos fpg a tu gusto en la carpeta) y luego ya habrá otro programa que lo haga automáticamente

Sí, en ambos casos se llaman igual: variables :D

En tu primer caso, podría ser algo como esto:
Código: [Seleccionar]
int pos;
int fpgOrigen;
int fpgDestino;

pos = 1;
fpgOrigen = load_fpg("mi.fpg");
fpgDestino = new_fpg();

for (pos = 1; pos < 1000; pos++)
    if (map_exists(fpgOrigen, pos))
        fpg_add(fpgDestino, pos, fpgOrigen, pos);
    end
end


En el segundo caso:
Código: [Seleccionar]
string nombreFichero = "tal.fpg"
int fpgTal;
if (file_exists(nombreFichero)) fpgTal = load_fpg(nombreFichero); end


No puedes usar menos instrucciones, primero porque file_exists no sabe qué tipo de fichero es para cargarlo (¿es un FPG, on MAP, un MP3?), y segundo, porque load_fpg sólo entiende a los ficheros FPG.

Quizas en este me estoy complicando demasiado para que me sea mas fácil o que he visto demasiados tutos de python y creo que todo se simplifica, pero que era eso aproximadamente lo que tenía, y si, son archivos fpg para el editor de caras


Futu-block

  • Hero Member
  • *****
  • Mensajes: 2887
  • Karma: 36
  • Superviviente marciano
    • futublock
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #231 en: Febrero 27, 2020, 10:04:31 pm »
Aunque pienso que se puede hacer de la siguiente forma, creo que no se debe de hacer asi ¿no?

Cuando se dice que cargue tal.fpg y existe se carga, si no existe no se carga, ergo ¿para que se pregunta si existe?

Creo que SI se debe preguntar, ¿porque? pos ni idea, si no se pregunta puede dar fallos o algún bug o cualquier otra cosa ¿no?

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5702
  • Karma: 129
    • GECA soft
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #232 en: Febrero 27, 2020, 11:26:25 pm »
para que preguntar si ya la carga en si hace la pregunta internamente

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6416
  • Karma: 165
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #233 en: Marzo 02, 2020, 01:20:01 pm »
Es cierto que si el fichero no existe, LOAD_FPG devuelve -1 y te puedes ahorrar la comprobación.
Pero hay otros motivos por los que puede devolver -1: el fichero no es un FPG, el formato no es correcto, hay algún tipo de error, la profundidad de color no es compatible con el modo de video... Si se quiere control total, es una buena costumbre hacer la pregunta, sobre todo cuando hablamos de editores que generan los ficheros, o que pueden cargar ficheros externos (es decir, que no se han creado específicamente para el programa y que se han testeado hasta la saciedad).

Por lo general, es una buena práctica preguntar si algo (fichero, variable, proceso...) existe y/o ha sido inicializado antes de hacer nada con él, aunque no siempre es necesario.
Es buena práctica porque ayuda a localizar errores, pero una vez que ya los tienes todos, o estás seguro al 100% de que no va a dar error, ya no sería necesario.

Ya eso se lo dejamos a las buenas maneras o a la vaguería de cada uno :D
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)

Futu-block

  • Hero Member
  • *****
  • Mensajes: 2887
  • Karma: 36
  • Superviviente marciano
    • futublock
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #234 en: Marzo 25, 2020, 12:05:21 pm »
¿Como funciona el ''exists''?
le tengo que poner la admiración delante para que me lo lea:

algo estoy haciendo mal, porque en el ¡¡Jarl!! lo tengo al contrario:


No se, en este juego nuevo (punkarra) pregunto antes de cargar y en el anterior (¡¡Jarl!!) pregunto antes de cambiar de estado y allí cargar...
Voy a hacerlo tipo ¡¡Jarl!! a ver si no me dá el mismo problema o si la ''particularidad'' de exists es no cargar a continuación...o igual reinicio el pc, lol



Futu-block

  • Hero Member
  • *****
  • Mensajes: 2887
  • Karma: 36
  • Superviviente marciano
    • futublock
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #235 en: Marzo 25, 2020, 05:19:27 pm »
edito:
aunque ambas están mal (creo) he probado con file_exists y va bien...

pero ¿porque son distintas? yo comprendo que en una me funcionase porque al poner que preguntaba que no, al no haberlo porque no era lo correcto, seguía palante...

en fin...

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6416
  • Karma: 165
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #236 en: Marzo 27, 2020, 02:11:41 pm »
Sólo te voy a decir una cosa, así lo investigas: no es lo mismo EXISTS, que FEXISTS, que FILE_EXISTS. Son funciones diferentes que hacen cosas diferentes. Busca en la wiki de Bennu (no seas flojo, que poniendo en google "Bennugd" + nombre de la función, te sale el primero).

Hala, ya tienes entretenimiento para la reclusión forzosa :D
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)

Futu-block

  • Hero Member
  • *****
  • Mensajes: 2887
  • Karma: 36
  • Superviviente marciano
    • futublock
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #237 en: Marzo 28, 2020, 08:50:14 am »
Joño, no me había dao cuen que en uno pongo !exists y en otro Fexists...

es de crimen, pero de los errores se aprenden

Futu-block

  • Hero Member
  • *****
  • Mensajes: 2887
  • Karma: 36
  • Superviviente marciano
    • futublock
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #238 en: Abril 22, 2020, 09:53:57 am »
Estoy haciendo pruebas de lecturas del joystic de la caanoo pero tengo problemas creo que con 'Scan_code' ¿es eso posible?
porque los demás botones funcionan si no estan relacionado con el proceso portador de la orden 'Scan_code'

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6416
  • Karma: 165
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #239 en: Abril 24, 2020, 12:37:59 am »
Las direcciones del joystick están mapeados a los cursores, pero también al Joystick.

A groso modo, para obtener si una dirección de la Caanoo está pulsado se puede usar el comando de la Lib_joy

Código: [Seleccionar]
joy_getbutton(0, CONSTANTE);Donde 0 es el número del joystick (Caanoo, Wiz y GP2X mapean el joy cero a la cruceta/joystick, recordemos que algunas de ellas usan 8 botones para ello) y la constante uno de los siguientes valores:

Código: [Seleccionar]
CONST
    _GP2X_JKEY_UP        =  0 ;
    _GP2X_JKEY_UPLEFT    =  1 ;
    _GP2X_JKEY_LEFT      =  2 ;
    _GP2X_JKEY_DOWNLEFT  =  3 ;
    _GP2X_JKEY_DOWN      =  4 ;
    _GP2X_JKEY_DOWNRIGHT =  5 ;
    _GP2X_JKEY_RIGHT     =  6 ;
    _GP2X_JKEY_UPRIGHT   =  7 ;
    _GP2X_JKEY_START     =  8 ;
    _GP2X_JKEY_SELECT    =  9 ;
    _GP2X_JKEY_L         = 10 ;
    _GP2X_JKEY_R         = 11 ;
    _GP2X_JKEY_A         = 12 ;
    _GP2X_JKEY_B         = 13 ;
    _GP2X_JKEY_X         = 14 ;
    _GP2X_JKEY_Y         = 15 ;
    _GP2X_JKEY_VOLUP     = 16 ;
    _GP2X_JKEY_VOLDOWN   = 17 ;
    _GP2X_JKEY_CLICK     = 18 ;

OJO, las tres consolas consideran las diagonales diferentes a las 4 direcciones principales, por lo que si se activa el botón _GP2X_JKEY_UPLEFT, tanto UP como LEFT estarán desactivados... Bueno, puede darse el caso en GP2X de que _GP2X_JKEY_UPLEFT y _GP2X_JKEY_UP se activen a la vez, y den como resultado hasta 16 posibles direcciones si se programa bien.

Tú que tienes el código de varios juegos que hemos hecho para Wiz y Caanoo, busca en la carpeta "input" los ficheros "jkey.h" y "jkey_gp2x.inc", no debería ser excesivamente difícil entender cuándo se activan las direcciones ;)
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)