Autor Tema: Diario de desarrollo  (Leído 9777 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Conectado SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12478
  • Karma: 367
  • Sexo: Masculino
    • Ver Perfil
Re:Diario de desarrollo
« Respuesta #210 en: Noviembre 27, 2016, 08:17:55 pm »
He cambiado la fuente del sistema.
Hasta ahora se usaba la misma fuente bitmap que BennuGD, pero la verdad es que la tuve que convertir a 32bpp y algo debí hacer mal porque se veía muy borrosa. Además, en pantallas con alta densidad de píxeles (como los móviles) no se ve nada porque el texto es demasiado pequeño (y me hago viejo y cada vez veo menos de cerca...)

Total, que he metido como fuente del sistema Roboto en formato TTF. Es decir: que se puede escalar con ttf_set_size(0, [tamaño]); y no se verá borrosa.

yo creo que la fuente del sistema deberia ser interna y no depender de objetos externos y menos de terceros... total puedes cargar fuentes con el modulo de ttf... quizas estaria bien añadir la funcionalidad de reemplazar el fuente del sistema por otro, que no sea fijo, y de poder recuperarlo si uno lo desea (descargando previamente el reemplazo)

no se, es una idea...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Desconectado FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5549
  • Karma: 125
  • Sexo: Masculino
    • Ver Perfil
    • GECA soft
Re:Diario de desarrollo
« Respuesta #211 en: Noviembre 28, 2016, 12:23:55 am »
despues si falla ni texto vas a tener en pantalla  ;D

Desconectado josebita

  • Administrator
  • Hero Member
  • *****
  • Mensajes: 4039
  • Karma: 257
  • Sexo: Masculino
    • Ver Perfil
    • BennuGD Mobile Worklog
Re:Diario de desarrollo
« Respuesta #212 en: Noviembre 28, 2016, 01:41:31 am »
yo creo que la fuente del sistema deberia ser interna y no depender de objetos externos y menos de terceros... total puedes cargar fuentes con el modulo de ttf... quizas estaria bien añadir la funcionalidad de reemplazar el fuente del sistema por otro, que no sea fijo, y de poder recuperarlo si uno lo desea (descargando previamente el reemplazo)

no se, es una idea...
Perdón, no me expliqué con claridad. La fuente del sistema ha cambiado a una fuente en TTF, pero ese TTF va integrado en el ejecutable de PixTudio, de la misma forma que la fuente del sistema de BennuGD va en un bitmap que va integrado en su ejecutable.

La gracias está en que a pesar de ser integrada es vectorizado, de forma que se va a ver bien a casi cualquier resolución.

Por si a alguien le interesa, he dejado el pequeño script Python con el que he generado la cabecera en la propia cabecera:

https://bitbucket.org/josebagar/pixtudio/src/761deb9bc719141c37f0bfa9fe5d504ae982e9e7/modules/libfont/systemfont.h?at=bigmap

Desconectado josebita

  • Administrator
  • Hero Member
  • *****
  • Mensajes: 4039
  • Karma: 257
  • Sexo: Masculino
    • Ver Perfil
    • BennuGD Mobile Worklog
Re:Diario de desarrollo
« Respuesta #213 en: Diciembre 05, 2016, 02:04:38 am »
He añadido un par de funciones para obtener el nombre de la familia y el nombre de estilo de la fuente.
Ahora a partir de un fichero TTF es posible agrupar "ficheros" TTF en función de su familia.
He añadido el siguiente ejemplo a la suite de ejemplos de PixTudio:
Código: [Seleccionar]
import "mod_say"
import "mod_video"
import "mod_map"

Process main()
Private
    int ttf;
Begin
    // Load a TTF file and print its family and style names
    ttf = ttf_load("ttf/DejaVuSans.ttf");
    say("System font:        '" + ttf_get_family(0) + "'->'" + ttf_get_style(0) + "'");
    say("ttf/DejaVuSans.ttf: '" + ttf_get_family(ttf) + "'->'" + ttf_get_style(ttf) + "'");
    if(OS_ID == OS_WIN32)
        fnt_unload(ttf);
        ttf = ttf_load("c:/Windows/Fonts/arial.ttf");
        if(ttf > 0)
            say("c:/Windows/Fonts/arial.ttf: '" + ttf_get_family(ttf) + "'->'" + ttf_get_style(ttf) + "'");
        end
        fnt_unload(ttf);
        ttf = ttf_load("c:/Windows/Fonts/arialbd.ttf");
        if(ttf > 0)
            say("c:/Windows/Fonts/arialbd.ttf: '" + ttf_get_family(ttf) + "'->'" + ttf_get_style(ttf) + "'");
        end
        fnt_unload(ttf);
        ttf = ttf_load("c:/Windows/Fonts/arialbi.ttf");
        if(ttf > 0)
            say("c:/Windows/Fonts/arialbi.ttf: '" + ttf_get_family(ttf) + "'->'" + ttf_get_style(ttf) + "'");
        end
        fnt_unload(ttf);
        ttf = ttf_load("c:/Windows/Fonts/ariali.ttf");
        if(ttf > 0)
            say("c:/Windows/Fonts/ariali.ttf: '" + ttf_get_family(ttf) + "'->'" + ttf_get_style(ttf) + "'");
        end
        fnt_unload(ttf);
    end
End
El código escribe por consola:
Código: [Seleccionar]
System font:        'Roboto'->'Regular'
ttf/DejaVuSans.ttf: 'DejaVu Sans'->'Book'
c:/Windows/Fonts/arial.ttf: 'Arial'->'Regular'
c:/Windows/Fonts/arialbd.ttf: 'Arial'->'Bold'
c:/Windows/Fonts/arialbi.ttf: 'Arial'->'Bold Italic'
c:/Windows/Fonts/ariali.ttf: 'Arial'->'Italic'
« última modificación: Diciembre 06, 2016, 10:29:40 am por josebita »

Conectado SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12478
  • Karma: 367
  • Sexo: Masculino
    • Ver Perfil
Re:Diario de desarrollo
« Respuesta #214 en: Diciembre 06, 2016, 07:24:42 am »
muy buenos progresos! felicitaciones!
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Desconectado JaViS

  • Global Moderator
  • Hero Member
  • *****
  • Mensajes: 1138
  • Karma: 19
  • Sexo: Masculino
    • Ver Perfil
    • Anarkade
Re:Diario de desarrollo
« Respuesta #215 en: Diciembre 06, 2016, 10:35:36 am »
Muy bueno!!
Working on Anarkade. A couch multiplayer 2D shooter.

Desconectado josebita

  • Administrator
  • Hero Member
  • *****
  • Mensajes: 4039
  • Karma: 257
  • Sexo: Masculino
    • Ver Perfil
    • BennuGD Mobile Worklog
Re:Diario de desarrollo
« Respuesta #216 en: Diciembre 06, 2016, 10:38:26 am »
muy buenos progresos! felicitaciones!
¡Muchas gracias! toma prestado tanto cuanto quieras para BennuGD2, por supuesto :)

Otra cosa nueva: el commit 79aadb7 añade soporte para leer imágenes en formato JPEG mediante la función jpg_load().

Algunas explicaciones al respecto:
  • Sólo se pueden leer imágenes JPEG, no se pueden escribir a disco. Para eso hay que seguir usando MAP o PNG.
  • Llevaba algún tiempo dubitativo sobre si debía incluir esto o no, pero me he puesto a mirar la librería TMX para cargar mapas tileados (que ya me dijisteis que era importante) y he visto que los propios ejemplos tiran de JPEG en muchos casos, así que me he animado a implementarlo.
  • No he acabado con mod_steam, sólo estoy rumiando cómo continuar con ella y he aprovechado para ésto.

[Edito] Tenéis un ejemplo simplón de uso aquí.
« última modificación: Diciembre 06, 2016, 10:40:57 am por josebita »

Desconectado alicesimu

  • Sr. Member
  • ****
  • Mensajes: 256
  • Karma: 2
  • Sexo: Femenino
    • Ver Perfil
Re:Diario de desarrollo
« Respuesta #217 en: Diciembre 06, 2016, 11:37:16 am »
muy buenos progresos! felicitaciones!
¡Muchas gracias! toma prestado tanto cuanto quieras para BennuGD2, por supuesto :)

Otra cosa nueva: el commit 79aadb7 añade soporte para leer imágenes en formato JPEG mediante la función jpg_load().

Algunas explicaciones al respecto:
  • Sólo se pueden leer imágenes JPEG, no se pueden escribir a disco. Para eso hay que seguir usando MAP o PNG.
  • Llevaba algún tiempo dubitativo sobre si debía incluir esto o no, pero me he puesto a mirar la librería TMX para cargar mapas tileados (que ya me dijisteis que era importante) y he visto que los propios ejemplos tiran de JPEG en muchos casos, así que me he animado a implementarlo.
  • No he acabado con mod_steam, sólo estoy rumiando cómo continuar con ella y he aprovechado para ésto.

[Edito] Tenéis un ejemplo simplón de uso aquí.

Esta muy bien, la verdad, como segunda opcion se puede usar JPG para algunas cosas, en vez de PNG, por ejemplo.
Yo estoy conforme que se pueda leer este formato de imagen tan popular!

Desconectado josebita

  • Administrator
  • Hero Member
  • *****
  • Mensajes: 4039
  • Karma: 257
  • Sexo: Masculino
    • Ver Perfil
    • BennuGD Mobile Worklog
Re:Diario de desarrollo
« Respuesta #218 en: Diciembre 07, 2016, 12:52:13 pm »
Muchas gracias :)

A ver si saco tiempo para añadir soporte para mapas tileados pronto.

Desconectado Drumpi

  • Hero Member
  • *****
  • Mensajes: 6107
  • Karma: 156
  • Sexo: Masculino
  • Odio el periodo "entre proyectos"
    • Ver Perfil
    • La web de Drumpi
Re:Diario de desarrollo
« Respuesta #219 en: Diciembre 07, 2016, 01:18:42 pm »
Bueno, JPG es popular y uno de los estandares más utilizados... pero yo no lo recomendaría para hacer videojuegos, a menos que se esté usando gráficos hiper-realistas: los "JPEG artifacts" pueden ayudar a darle naturaleza más o menos orgánica a las texturas, pero como te de por trabajar en pixelart, el formato te va a arruinar la vida, porque una imágen de 2 colores la convierte en una de 300 al "suavizar" (o más bien, meter ruido en) los bordes.

Lo de los mapas tileados es MUY interesante. No debería ser difícil de implementar, creo. Lo del formato sí que sería interesante estudiarlo. No voy a iniciar una discusión "el formato X es el mejor" (especialmente teniendo uno propio ^^U) pero sí que valoraría tener un formato propio y, aparte, librerías para cargar los más interesantes, y funciones para crearlos en memoria a base de MAPs y FPGs :P
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)

Desconectado daltomi

  • Newbie
  • *
  • Mensajes: 12
  • Karma: 0
    • Ver Perfil
    • github
Re:Diario de desarrollo
« Respuesta #220 en: Octubre 10, 2017, 09:52:09 pm »
Bueno, como este es el diario de desarrollo, les cuento algunas cosas.

Estuve leyendo algunas incidencias de Pixtudio en bitbucket y estuve tratando de implementar algunas soluciones.

1) Utilizar cuadro de mensajes  de SDL.


Ejemplo:
Código: [Seleccionar]
import "mod_video"
import "mod_wm"
import "mod_key"
import "mod_text"
import "mod_say"

Process main()
private
    int buttonid;
Begin
    set_mode(640, 480, MODE_WINDOW);
    write(0, 320, 240, 4, "Press enter");
    while(! key(_enter))
        FRAME;
    end

    while(buttonid != MB_OK)
    buttonid = messagebox(MESSAGEBOX_INFORMATION, "Message title", "Show other MessageBox?", MB_YES | MB_NO);
    if (buttonid == MB_YES)
    buttonid = messagebox(MESSAGEBOX_WARNING, "Message title", "Exit ?", MB_OK | MB_CANCEL | MB_RETRY);
    end
        FRAME;
    end
End

(Hmm, el MESSAGEBOX_INFORMATION no debería hacer algo? no me había dado cuenta  ;D)

Combinaciones posibles:
Código: [Seleccionar]
MB_YES | MB_NO
MB_YES | MB_NO | MB_CANCEL
MB_YES | MB_NO | MB_RETRY
MB_OK | MB_CANCEL
MB_OK | MB_CANCEL | MB_RETRY
He individuales, es decir, solamente MB_OK por ejemplo.

Funciona, pero el fondo de la ventana no se actualiza, osea que al mover el cuadro de mensaje se dibuja el arrastre en la ventana, nada lo deje ahí y no mire más. Y para colmo no se nada del lenguaje de bennu, frame y no se que, le robe un ejemplo a Pixtudio y eso :D

2) En linux, poder usar enlaces(accesos directos) hacia el programa pxtp con nombre diferente a pxtp.
Por ejemplo un archivo de enlace.
Código: [Seleccionar]
/home/yope/pxtp   -> /usr/bin/pxtp

Ahora le puedes colocar el nombre que quieras, por ejemplo space_war
Código: [Seleccionar]
home/yope/space_war  -> /usr/bin/pxtp
Y no mas segfault ;)

Todo muy lindo, pero después ví que existen esos archivos standalone no se que:
Código: [Seleccionar]
standalone = (pxtrtm_strncmpi(appexename, "pxtp", 4) == 0);
Faltaría probar eso.

Nada, por charlar.

https://bitbucket.org/daltomi/pixtudio/branches/




« última modificación: Octubre 10, 2017, 10:15:30 pm por daltomi »

Desconectado JaViS

  • Global Moderator
  • Hero Member
  • *****
  • Mensajes: 1138
  • Karma: 19
  • Sexo: Masculino
    • Ver Perfil
    • Anarkade
Re:Diario de desarrollo
« Respuesta #221 en: Octubre 11, 2017, 05:19:22 am »
muy interesante :)
Working on Anarkade. A couch multiplayer 2D shooter.