Problema con mod_ttf

Started by Outlaw, July 18, 2013, 04:37:42 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Outlaw

Hola a todos! Quería saber si alguien podría ayudarme con respecto a este tema.
Decidí utilizar fuentes ttf en mi programa pero al parecer un bug no deja que se vean cuando se las imprime en pantalla con write, write_var, etc.
Busqué información por todo el sitio, pero nada... ¿Alguien sabe si este módulo ya está desfasado o algo así? ¿Estaré haciendo algo mal?


Más abajo adjunto el código:

Program AdminBar;

Import "mod_video";
Import "mod_key";
Import "mod_screen";
Import "mod_map";
Import "mod_text";
Import "mod_wm";
Import "mod_mouse";
Import "mod_map";
Import "mod_grproc";
Import "mod_scroll";
Import "mod_draw";

Const
xSize = 1024;
ySize = 600;
End

Global
int idWallpaper;
int idButton;
int idMouseGraph;
int idMainFnt;
int dsx;
int dsy;
int cerveza;
int vino;
int champagne;
int whisky;
int daiquiri;
int agua;
int gaseosa;
int fernet;
int itemsTotal;
int precioTotal; // Guarda el total para generar el ticket
End

Process Main()
Begin
Set_mode(xSize,ySize,32,MODE_FRAMELESS); // Preparo la pantalla
Set_fps(30,0);
Set_title("Admin Bar");
Get_desktop_size(&dsx,&dsy);     // Para centrar la ventana tomo el tamaño de la resolución del escritorio primero
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

idMouseGraph = Load_png("C:\BennuGD Suite\Proyectos\AdminBar\graphics\Cursor3.png"); // Cargo los recursos
idWallpaper = Load_png("C:\BennuGD Suite\Proyectos\AdminBar\graphics\Fondo2.png");
idButton = Load_png("C:\BennuGD Suite\Proyectos\AdminBar\graphics\Button3-unpressed.png");
idMainFnt = Load_fnt("C:\BennuGD Suite\Proyectos\AdminBar\fonts\Font1.fnt");

Put_screen(0,idWallpaper); // Asigno los recursos
Mouse.graph = idMouseGraph;

Button(150,85,"Cerveza",cerveza); // Creo las instancias
Button(150,230,"Vino",vino);
Button(150,375,"Champagne",champagne);
Button(150,520,"Whisky",whisky);

Button(420,85,"Daiquiri",daiquiri);
Button(420,230,"Agua",agua);
Button(420,375,"Gaseosa",gaseosa);
Button(420,520,"Fernet",fernet);

While (not(key(_esc))) // Bucle principal
Frame;
End // While principal

Unload_fnt(idMainFnt); // Descargo los recursos que cargué al principio
End // Main

// -------------------------------------------------------------------------------------------
// ------------------------ DECLARACIÓN DE PROCESOS ------------------------------------------
// -------------------------------------------------------------------------------------------


Process Button(int x,int y,string text, int var)
Private
int idText;
Begin
Graph = idButton;
Shadow();
idText = Write(idMainFnt,x,y,4,text);
Write_var(idMainFnt,x,y+40,4,var);
While (not(key(_esc)))
If (mouse.left == true and collision(type mouse))
While (mouse.left) Frame; End
var = var + 1;
End
If (mouse.right == true and collision(type mouse))
While (mouse.right) Frame; End
If (var <> 0) var = var -1; End
End
Frame;
End
End

"Life is cheap when the bounty is high"

Outlaw

¿A nadie le pasó nunca esto? ¿Aunque sea alguien podría decirme si la mod_ttf ya funcionaba mal? Gracias...
"Life is cheap when the bounty is high"

SplinterGU

no tengo los fuentes de la mod_ttf, pero en tu codigo no veo ninguna funcion de carga de un ttf, segun entiendo load_fnt solo carga fonts normales.

quizas me estoy perdiendo alguna linea de codigo.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Outlaw

Es cierto, pegué el código de cuando borré Load_ttf.


La línea para reemplazar a Load_fnt es:


Import "mod_ttf";


[size=78%]idMainFnt = [/size]Load_ttf("C:\BennuGD Suite\Proyectos\AdminBar\fonts\segoeui.ttf",RGB(50,50,50));


Igualmente, antes ya lo había puesto asi, probé todas las combinaciones de colores pero nada.
"Life is cheap when the bounty is high"

SplinterGU

cuando lei tu PM, realmente pense que ponias los fuentes de la mod_ttf y tenias problemas para compilarla.

la verdad que nunca use la mod_ttf.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Outlaw

Uh! Entonces, estoy en problemas no?  :o
"Life is cheap when the bounty is high"

FreeYourMind

la verdad yo la compilé para Pandora hace tiempo y funcionaba (realmente sólo probé el ejemplo de windows y pandora en su dia)

http://gecasoft.no.sapo.pt/RecentProjects/BennuGDModTTF.html

viene con un ejemplo de test, pruebalo en windows a ver si te funciona (no he tenido tiempo de ver tu problema ni tengo idea si es similar al test o no...)

Outlaw

#7
Ok Free, ya me pongo a probarlo!  ;D


Edit: Ya lo probé, y de hecho es un .so que BennuGD para Windows no reconoce, casi obvio pero bueno, tenía que probar. Lego por si acaso cambié la extensión a .dll y dice que no está diseñado para ejecutarse en Windows.

"Life is cheap when the bounty is high"

SplinterGU

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

FreeYourMind

joer que lamer!!!! xDDD

usa solo el test prg con tu modulo ttf que ya usabas en tu prg... sólo el ejemplo, olvidate del modulo, el tuyo sirve

SplinterGU

yo tengo un fuente, pero parece que es de fenix... te fijaste en el bennupack
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

me suena que falla porque creo que el 2do parametro no es el color, sino que es el size.

free, en lugar de poner un ejemplo, podrias explicar que significa cada parametro... :P
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Outlaw

Probé el ejemplo, pero como suponía, sigue sin funcionar. La falla debe estar en la .dll misma. Los parámetros están bien, y el segundo de ellos es el tamaño de la fuente. El color se especifica con set_color().
A veces peco de lamer como dice Free, pero es por no saber C arrrggg!!!  :P
"Life is cheap when the bounty is high"

Outlaw

"Life is cheap when the bounty is high"

FreeYourMind

segun este mensaje viejuno que acabo de encontrar:

I'm porting this module to Pandora.
Splinter you break the compatibility with this module changing the 'libfont' module on release r194 xDDDD

Changes:
int gr_font_new() --> int gr_font_new( int charset, uint32_t bpp )


prueba un bennu anterior a r194 a ver si te funciona.


por cierto estas usando esta de dcelso ?

http://forum.bennugd.org/index.php?action=dlattach;topic=837.0;attach=578