{"id":38,"date":"2007-01-30T23:14:41","date_gmt":"2007-01-31T01:14:41","guid":{"rendered":"http:\/\/www.neyestrabelli.com\/blog\/2007\/01\/30\/biblioteca-oslib\/"},"modified":"2007-01-30T23:14:41","modified_gmt":"2007-01-31T01:14:41","slug":"biblioteca-oslib","status":"publish","type":"post","link":"https:\/\/www.neyestrabelli.com\/blog\/2007\/01\/30\/biblioteca-oslib\/","title":{"rendered":"Biblioteca OSLib"},"content":{"rendered":"<div style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" title=\"OSLib Logo\" src=\"http:\/\/oslib.palib.info\/samples\/img\/screenshot_logo.png\" alt=\"OSLib Logo\" width=\"427\" height=\"241\" \/><\/div>\n<p>Como comentei anteriormente a OSLib \u00e9 uma biblioteca que facilita o desenvolvimento de jogos para psp.<\/p>\n<p>Para instalar aconselho a baixar o pack completo j\u00e1 com o cygwin segue os links:<\/p>\n<p>Parte 1 Parte 2<\/p>\n<p>Mas caso voc\u00ea queira instalar do 0 (zero), voc\u00ea pode fazer o download em:<\/p>\n<p>OSLib<\/p>\n<p>Os passos da instala\u00e7\u00e3o voc\u00ea pode acompanhar no forum franc\u00eas playeradvance:<br \/>\nhttp:\/\/www.playeradvance.org\/forum\/showthread.php?t=2172<\/p>\n<p>Embora o texto esteja em franc\u00eas com as imagens \u00e9 f\u00e1cil identificar, inclusive ensina como utilizar o visual C++ para compilar os projetos.<\/p>\n<p>A OSLib possui alguns exemplos que te ensinam a manipular imagens, utilizar tiles, tocar sons, escrever textos, etc.<br \/>\nComo a biblioteca tem fun\u00e7\u00f5es diferentes das padr\u00f5es do PSPSDK, irei postar um novo HelloWorld, comentando apenas o que mudou (quase tudo):<\/p>\n<p>Come\u00e7ando pelo <strong>Makefile<\/strong> :<\/p>\n<pre lang=\"text\">TARGET = test\nOBJS = main.o\n\nINCDIR =\nCFLAGS = -G4 -Wall -O2\nCXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti\nASFLAGS = $(CFLAGS)\n\nLIBDIR =\nLDFLAGS =\nSTDLIBS= -losl -lpng -lz\n-lpspsdk -lpspctrl -lpspumd -lpsprtc -lpsppower -lpspgu -lpspaudiolib -lpspaudio -lm\nLIBS=$(STDLIBS)$(YOURLIBS)\n\nEXTRA_TARGETS = EBOOT.PBP\nPSP_EBOOT_TITLE = test\nPSP_EBOOT_ICON = ICON0.png\n\nPSPSDK=$(shell psp-config --pspsdk-path)\ninclude $(PSPSDK)\/lib\/build.mak<\/pre>\n<p>No makefile a unica mudan\u00e7a radical est\u00e1 em <strong>STDLIBS<\/strong> , que agora tem todas as bibliotecas utilizada pela OSLib.<\/p>\n<p>Vamos ao novo Hello World:<\/p>\n<pre lang=\"c\">\/\/include da biblioteca\n#include\n\n\/\/os callbacks (lembram do tanto de linhas no anterior???)\nPSP_MODULE_INFO(\"HelloWorld\", 0, 1, 1); \/\/ titulo do seu programa\nPSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER | THREAD_ATTR_VFPU);\n\nint main()\n{\n\/\/iniciamos a biblioteca\noslInit(0);\n\n\/\/iniciamos o modulo gr\u00e1fico\noslInitGfx(OSL_PF_8888, 0);\n\n\/\/iniciamos o console de texto\noslInitConsole();\n\n\/\/escrevemos hello world na tela\noslPrintf(\"Hello World\");\n\n\/\/aguardamos algum bot\u00e3o ser pressionado\noslWaitKey();\n\n\/\/encerramos o aplicativo\noslEndGfx();\noslQuit();\nreturn 0;\n}<\/pre>\n<p><span style=\"color: #000000;\">Deu para notar a diferen\u00e7a de tamanho do Hello World??<br \/>\nO c\u00f3digo ficou bem mais limpo, por\u00e9m tem a mesma funcionalidade do <a title=\"Hello World PSPSDK\" href=\"http:\/\/www.neyestrabelli.com\/blog\/2007\/01\/10\/iniciando-programacao-com-pspsdk\/\" target=\"_blank\" rel=\"noopener noreferrer\">primeiro Hello World<\/a> .<br \/>\nSe voc\u00ea quiser entender mais sobre a OSLib eu disponibilizei a <a title=\"OSLib DOC Portugues\" href=\"http:\/\/www.neyestrabelli.com\/OSLib\/pt-br\/\" target=\"_blank\" rel=\"noopener noreferrer\">documenta\u00e7\u00e3o<\/a>, parcialmente em Portugu\u00eas-BR (quem quiser ajudar a traduzir, d\u00e1 um toque).<\/span><\/p>\n<p><span style=\"color: #000000;\">Caso voc\u00ea tenha alguma d\u00favida, entre em contato comigo ou utilize o forum da PlayerAdvance embora esteja em franc\u00eas tem um pessoal l\u00e1 que fala ingl\u00eas e est\u00e3o prontos para responder suas d\u00favidas.<\/span><\/p>\n<p><span style=\"color: #000000;\">Boa sorte e at\u00e9 o pr\u00f3ximo.<\/span><\/p>\n<p><span style=\"color: #000000;\">Cr\u00e9ditos ao Yodajr da playeradvance pelo exemplo. <\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Como comentei anteriormente a OSLib \u00e9 uma biblioteca que facilita o desenvolvimento de jogos para psp. Para instalar aconselho a baixar o pack completo j\u00e1 com o cygwin segue os links: Parte 1 Parte 2 Mas caso voc\u00ea queira instalar do 0 (zero), voc\u00ea pode fazer o download em: OSLib Os passos da instala\u00e7\u00e3o voc\u00ea [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[135],"class_list":["post-38","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-psp-oslib-development"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.neyestrabelli.com\/blog\/wp-json\/wp\/v2\/posts\/38","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.neyestrabelli.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.neyestrabelli.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.neyestrabelli.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.neyestrabelli.com\/blog\/wp-json\/wp\/v2\/comments?post=38"}],"version-history":[{"count":0,"href":"https:\/\/www.neyestrabelli.com\/blog\/wp-json\/wp\/v2\/posts\/38\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.neyestrabelli.com\/blog\/wp-json\/wp\/v2\/media?parent=38"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.neyestrabelli.com\/blog\/wp-json\/wp\/v2\/categories?post=38"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.neyestrabelli.com\/blog\/wp-json\/wp\/v2\/tags?post=38"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}