Anuncios Google

OSLib - Fuentes

Tutoriales Avanzados Homebrewes

Siguiendo las entregas de OSLib, hoy toca ver como cargar una fuente y como usarla, para las fuentes no necesitaremos modos especiales ni nada de eso. Las fuentes que se al 100% que la PSP puede cargar son las .pgf y las .oft, existen otras como .ttf pero no se si sera compatible. Por ello os dejo un programa en la sección "Descargas" para que las convirtáis.

Autor: Dioni0396.

Procedimiento:

#include <oslib/oslib.h> 
PSP_MODULE_INFO("Fuente",0,1,1);
PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER | THREAD_ATTR_VFPU);
PSP_HEAP_SIZE_KB(10*1024);
//Ahora mediante un puntero indicamos la fuente
OSL_FONT *Fuente;
int a=0;
int b=1;
int main(){
	oslInit(0); //Iniciamos las oslib
	oslInitGfx(OSL_PF_8888,1);
	oslIntraFontInit(INTRAFONT_CACHE_LARGE);// Esto es algo obligatorio a poner antes de cargar la fuente
	Fuente = oslLoadFontFile("flash0:/font/ltn0.pgf"); //Cargamos la fuente de la flash0 (Solo lo lee no modifica, las psp malditas que usen otra forma por si tienen miedo)
	oslSetFont(Fuente); //Decimos la fuente que queremos
	while(!osl_quit){
		if(a==0){
			oslDrawString(10,10,"Usando fuentes"); //el primer argumento indica la x, el 2º la y y el tercero los caracteres. Cuidado el tercer argumento siempre debe ser const char*
			oslDrawStringf(10,50,"%d",b); //Esto es una alternativa que tenemos por si queremos colocar valores que van a cambiar o que no son char, como un int. El tercer argumento indica el formato y el cuarto el valor a mostrar.
		}
	}
	oslEndGfx();
	oslQuit();
	return 0;
}

Makefile:

TARGET = Fuente
OBJS = main.o
 
CFLAGS = -O2 -g -G0 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)
LIBDIR =
 
MYLIBS=
STDLIBS= -losl -lpng -lz \
         -lpsphprm -lpspsdk -lpspctrl -lpspumd -lpsprtc -lpsppower -lpspgu -lpspgum  -lpspaudiolib -lpspaudio -lpsphttp -lpspssl -lpspwlan \
         -lpspnet_adhocmatching -lpspnet_adhoc -lpspnet_adhocctl -lm -ljpeg -lpspaudiocodec
LIBS=$(STDLIBS) $(MYLIBS)
 
LDFLAGS =
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = Fuente
PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak

Descargas:

Programa de Conversión de Fuentes (Sólo Usuarios Registrados).

Gracias por la lectura.

4.163265
Tu voto: Ninguno Votos totales: 4.2 (49 votos)

Anuncios Google

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de NEKERAFA

Mmm...

Creo que te falta añadir lo de iniciar gráficos y finalizar para que se muestre, sino se crashea (Que es lo que me pasaba a mi)

Imagen de Dioni0396

Cierto,

pero ya tienes una sustentacion en la cual deberias saberlo, no siempre tengo que estar poniendo oslStartDrawing() y oslEndDrawing()

Imagen de NEKERAFA

XD

Pero puede que haya usuarios detras de mi que se echen las manos a la cabeza...

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.