Fuentes tff no salen?

Started by logotytye, June 11, 2013, 01:31:09 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

logotytye

Hola! Soy nuevo en bennu y en el foro, pero hace mas de 10 años programe un par de juegos en div2, tengo una inquietud que no la resuelvo ni buscando en google. Se que para importar fuentes tff se necesita montar un modulo externo (freetye6.dll y mod_tff.dll) en la carpeta "bin" el cual ya lo monté, e importarlo con "import "mod_ttf";" el problema radica en que la fuente nunca me aparece en pantalla, estoy haciendo un juego en graficos de 16bpp, en 800x600, en windows 7 64 bits, pruebo con las fuentes clasicas .fnt y si salen pero las ttf nada de nada. ni con write_var, write, ni wriite_int nada! descargo otras fuentes .ftt de diferentes sitios y nada, que estoy haciendo mal, que me falta?  Llevo programando en bennu desde hace un mes y este es el primer problema que no le encuentro solución. Gracias.

Drumpi

¿Has comprobado que las fuentes hayan cargado bien? Por lo general, todas las funciones de carga de recursos deberían devolver un número de error en caso de existir algún problema, así que mira primero no sea que no tienes una fuente que mostrar.
Aparte de eso, lo normal es poner el trozo de código que falla, o un ejemplo simplificado y compilable de tu problema para que podamos ayudarte mejor en caso de que no sea error en tu código.
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)

logotytye

PROGRAM xyz;
import "mod_ttf";  //ya estan las dos dll en "bin", me asegure de q son las ultimas.
//los otros imports, no cargo ningun import externo aparte de el de arriba el modttf
private
   int fuente[1];   
begin
fuente[0] = load_ttfaa("dailypla.ttf",20,16,rgb(200,200,200),0);     
say(fuente[0]);    //este say retorna 1, osea si lo cargó, ya lo habia comprobado.   
write_var(fuente[0], 50, 130, 0, 4, dado);  // no sale! si coloco fuente 0 obvio q sale
write(fuente[0],20,10,0,"Hello ñáéíoú?"); // no sale! si coloco fuente 0 obvio q sale

end


esto es todo lo que tengo con  respeto a fuentes, y escrituras en pantalla, por eso digo que es muy raro, hasta vi un videotutorial que hay en youtube y lo habia hecho tal cual.
bajo otras fuentes ttf de difenrets sitios y nada, copio las de windows y nada.
las fuentes .ttf las copio en la misma carpeta del .prg.

Bennu es perfecto, todo marcha a las mil maravillas, dejé este problema para el final pero aun no lo logro solucionar por q es raro.

logotytye

Agrego:

Lo acabe de probar en un windows xp 32 bits service pack 3, en este baje la ultima version de bennupack y la libreria mod_tff del link q coloca la documentacion wiki y no se visualizan esas fuentes, que estoy haciendo mal=?

Outlaw

¡Hola Logo! Yo también tengo el mismo problema, y la verdad no encuentro ninguna solución... ¿Alguien sabe algo de este bug?
¡Gracias por adelantado!


Este es mi código, por si acaso:


[/code][font=verdana, arial, helvetica, sans-serif][size=12px]Program AdminBar;[/size][/font]

[font=verdana, arial, helvetica, sans-serif][size=12px]Import "mod_video";[/size][/font]
[font=verdana, arial, helvetica, sans-serif][size=12px]Import "mod_key";[/size][/font]
[font=verdana, arial, helvetica, sans-serif][size=12px]Import "mod_screen";[/size][/font]
[font=verdana, arial, helvetica, sans-serif][size=12px]Import "mod_map";[/size][/font]
[font=verdana, arial, helvetica, sans-serif][size=12px]Import "mod_text";[/size][/font]
[font=verdana, arial, helvetica, sans-serif][size=12px]Import "mod_wm";[/size][/font]
[font=verdana, arial, helvetica, sans-serif][size=12px]Import "mod_mouse";[/size][/font]
[font=verdana, arial, helvetica, sans-serif][size=12px]Import "mod_map";[/size][/font]
[font=verdana, arial, helvetica, sans-serif][size=12px]Import "mod_grproc";[/size][/font]
[font=verdana, arial, helvetica, sans-serif][size=12px]Import "mod_scroll";[/size][/font]
[font=verdana, arial, helvetica, sans-serif][size=12px]Import "mod_draw";[/size][/font]
[font=verdana, arial, helvetica, sans-serif][size=12px]Import "mod_ttf";[/size][/font]

[font=verdana, arial, helvetica, sans-serif][size=12px]Const[/size][/font]
[font=verdana, arial, helvetica, sans-serif]xSize = 1024;[/font]
[font=verdana, arial, helvetica, sans-serif]ySize = 600;[/font]
[font=verdana, arial, helvetica, sans-serif][size=12px]End[/size][/font]

[font=verdana, arial, helvetica, sans-serif][size=12px]Global[/size][/font]
[font=verdana, arial, helvetica, sans-serif]int idWallpaper;[/font]
[font=verdana, arial, helvetica, sans-serif]int idButton;[/font]
[font=verdana, arial, helvetica, sans-serif]int idMouseGraph;[/font]
[font=verdana, arial, helvetica, sans-serif]int idMainFnt;[/font]
[font=verdana, arial, helvetica, sans-serif]int dsx;[/font]
[font=verdana, arial, helvetica, sans-serif]int dsy;[/font]
[font=verdana, arial, helvetica, sans-serif]int cerveza;[/font]
[font=verdana, arial, helvetica, sans-serif]int vino;[/font]
[font=verdana, arial, helvetica, sans-serif]int champagne;[/font]
[font=verdana, arial, helvetica, sans-serif]int total; // Guarda el total de bebidas para generar el ticket[/font]
[font=verdana, arial, helvetica, sans-serif][size=12px]End[/size][/font]

[font=verdana, arial, helvetica, sans-serif][size=12px]Process Main()[/size][/font]
[font=verdana, arial, helvetica, sans-serif][size=12px]Begin[/size][/font]
[font=verdana, arial, helvetica, sans-serif]Set_mode(xSize,ySize,32,MODE_FRAMELESS); // Preparo la pantalla[/font]
[font=verdana, arial, helvetica, sans-serif]Set_fps(30,0);[/font]
[font=verdana, arial, helvetica, sans-serif]Set_title("Admin Bar");[/font]
[font=verdana, arial, helvetica, sans-serif]Get_desktop_size(&dsx,&dsy);     // para centrar la ventana tomo el tamaño de la resolución del escritorio primero[/font]
[font=verdana, arial, helvetica, sans-serif]Set_window_pos((dsx/2)-(xSize/2),(dsy/2)-(ySize/2)); // luego los divido por dos y les resto lamitad mas o menos de la resolución a la que está el juego[/font]
[font=verdana, arial, helvetica, sans-serif]Set_text_color(RGB(1,1,1));[/font]

[font=verdana, arial, helvetica, sans-serif]idMouseGraph = Load_png("C:\BennuGD Suite\Proyectos\AdminBar\graphics\Cursor2.png"); // Cargo los recursos[/font]
[font=verdana, arial, helvetica, sans-serif]idWallpaper = Load_png("C:\BennuGD Suite\Proyectos\AdminBar\graphics\Fondo2.png");[/font]
[font=verdana, arial, helvetica, sans-serif]idButton = Load_png("C:\BennuGD Suite\Proyectos\AdminBar\graphics\Button3-unpressed.png");[/font]
[font=verdana, arial, helvetica, sans-serif]idMainFnt = Load_ttf("C:\BennuGD Suite\Proyectos\AdminBar\fonts\segoeui.ttf",50);[/font]

[font=verdana, arial, helvetica, sans-serif]Put_screen(0,idWallpaper); // Asigno los recursos[/font]
[font=verdana, arial, helvetica, sans-serif]Mouse.graph = idMouseGraph;[/font]

[font=verdana, arial, helvetica, sans-serif]Button(150,100,"Cerveza",cerveza); // Creo las instancias[/font]
[font=verdana, arial, helvetica, sans-serif]Button(150,300,"Vino",vino);[/font]
[font=verdana, arial, helvetica, sans-serif]Button(150,500,"Champagne",champagne);[/font]

[font=verdana, arial, helvetica, sans-serif]While (not(key(_esc))) // Bucle principal[/font]
[font=verdana, arial, helvetica, sans-serif]Frame;[/font]
[font=verdana, arial, helvetica, sans-serif]End // While principal[/font]

[font=verdana, arial, helvetica, sans-serif]Unload_fnt(idMainFnt); // Descargo los recursos que cargué al principio[/font]
[font=verdana, arial, helvetica, sans-serif][size=12px]End // Main[/size][/font]

[font=verdana, arial, helvetica, sans-serif][size=12px]// -------------------------------------------------------------------------------------------[/size][/font]
[font=verdana, arial, helvetica, sans-serif][size=12px]// ------------------------ DECLARACIÓN DE PROCESOS ------------------------------------------[/size][/font]
[font=verdana, arial, helvetica, sans-serif][size=12px]// -------------------------------------------------------------------------------------------[/size][/font]


[font=verdana, arial, helvetica, sans-serif][size=12px]Process Button(int x,int y,string text, int var)[/size][/font]
[font=verdana, arial, helvetica, sans-serif][size=12px]Private[/size][/font]
[font=verdana, arial, helvetica, sans-serif]int idText;[/font]
[font=verdana, arial, helvetica, sans-serif][size=12px]Begin[/size][/font]
[font=verdana, arial, helvetica, sans-serif]Graph = idButton;[/font]
[font=verdana, arial, helvetica, sans-serif]Shadow();[/font]
[font=verdana, arial, helvetica, sans-serif]idText = Write(idMainFnt,x,y,4,text);[/font]
[font=verdana, arial, helvetica, sans-serif]Write_var(idMainFnt,x,y+40,4,var);[/font]
[font=verdana, arial, helvetica, sans-serif]While (not(key(_esc)))[/font]
[font=verdana, arial, helvetica, sans-serif]If (mouse.left == true and collision(type mouse))[/font]
[font=verdana, arial, helvetica, sans-serif]While (mouse.left) Frame; End[/font]
[font=verdana, arial, helvetica, sans-serif]var = var + 1;[/font]
[font=verdana, arial, helvetica, sans-serif]End[/font]
[font=verdana, arial, helvetica, sans-serif]If (mouse.right == true and collision(type mouse))[/font]
[font=verdana, arial, helvetica, sans-serif]While (mouse.right) Frame; End[/font]
[font=verdana, arial, helvetica, sans-serif]If (var <> 0) var = var -1; End[/font]
[font=verdana, arial, helvetica, sans-serif]End[/font]
[font=verdana, arial, helvetica, sans-serif]Frame;[/font]
[font=verdana, arial, helvetica, sans-serif]End[/font]
[font=verdana, arial, helvetica, sans-serif][size=12px]End[/size][/font]
"Life is cheap when the bounty is high"

Drumpi

Lo malo de usar librerías es que como estas no tengan un log de salida no puedes saber por qué falla. En mi experiencia, la gran mayoría de los "fallos" son achacables al programador usuario, y no al programador desarrollador de la librería: un valor no inicializado, una función previa que no se le ha llamado, un parámetro incorrecto...

No te puedo probar el código, pero sé que hay programas que te convierten fuentes TTF en FNT para que las puedas usar sin ninguna pega, como FNTEdit.
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)

FreeYourMind

la solución se encuentra en el otro post similar...

Tayura_TT

Justo este es el mismo problema que yo tengo actualmente, no me muestra las fuentes .ttf todo hasta ahora ne bennu me va de maravilla el único inconveniente es este mismo con las fuentes.

Veo que es algo viejo este post pero le hallaron solución a este problema? De ser así que alguien me pase el link, vídeo o donde sea que se haya la solución a esto, por favor.
Trabajos Actuales: "Proyecto Chizuru" y "Hoppy Bat"

Drumpi

Yo prefiero usar las FNT, aunque tenga que convertir las fuentes previamente. Más que nada porque si las hago a 1bit puedo usar TEXT_COLOR para cambiar el color en tiempo de ejecución, o si están a 8bits usar la paleta para lo mismo, y ya le puedo añadir bordes, sombras y texturas.
Pero eso va en gustos.

La solución debería estar unos pocos hilos más abajo en el mismo foro, echa un vistazo.
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)