I'm using DevkitPro (http://www.devkitpro.org) with installed pspsdk-setup-0.9.2.exe (http://minpspw.sourceforge.net/)
Console:
Code: Select all
Owner@PRIVE-0D6D31055 ~/Projektai
$ cd Paveiksliukas
Owner@PRIVE-0D6D31055 ~/Projektai/Paveiksliukas
$ make
psp-gcc -I. -Ic:/devkitPro/devkitPSP/pspsdk/psp/sdk/include -O2 -G0 -Wall -D_PSP
_FW_VERSION=150 -c -o main.o main.c
main.c:17:22: error: graphics.h: No such file or directory
main.c: In function 'main':
main.c:60: error: 'Image' undeclared (first use in this function)
main.c:60: error: (Each undeclared identifier is reported only once
main.c:60: error: for each function it appears in.)
main.c:60: error: 'ourImage' undeclared (first use in this function)
main.c:64: warning: implicit declaration of function 'initGraphics'
main.c:67: warning: implicit declaration of function 'loadImage'
main.c:82: warning: implicit declaration of function 'blitAlphaImageToScreen'
main.c:90: warning: implicit declaration of function 'flipScreen'
make: *** [main.o] Error 1
Owner@PRIVE-0D6D31055 ~/Projektai/Paveiksliukas
$
Code: Select all
/*
My Image Display Program
Author: Brad Dwyer
Date: 12/28/2005
Thanks to Psilocybeing for the base code.
*/
#include <pspdisplay.h>
#include <pspctrl.h>
#include <pspkernel.h>
#include <pspdebug.h>
#include <pspgu.h>
#include <png.h>
#include <stdio.h>
#include "graphics.h"
#define printf pspDebugScreenPrintf
#define MAX(X, Y) ((X) > (Y) ? (X) : (Y))
PSP_MODULE_INFO("Image Display Program", 0, 1, 1);
/* Exit callback */
int exit_callback(int arg1, int arg2, void *common) {
sceKernelExitGame();
return 0;
}
/* Callback thread */
int CallbackThread(SceSize args, void *argp) {
int cbid;
cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
sceKernelRegisterExitCallback(cbid);
sceKernelSleepThreadCB();
return 0;
}
/* Sets up the callback thread and returns its thread id */
int SetupCallbacks(void) {
int thid = 0;
thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, 0, 0);
if(thid >= 0) {
sceKernelStartThread(thid, 0, 0);
}
return thid;
}
int main() {
char buffer[200];
Image* ourImage;
pspDebugScreenInit();
SetupCallbacks();
initGraphics();
sprintf(buffer, "bootlog.png");
ourImage = loadImage(buffer);
if (!ourImage) {
//Image load failed
printf("Image load failed!\n");
} else {
int x = 0;
int y = 0;
sceDisplayWaitVblankStart();
while (x < 480) {
while (y < 272) {
blitAlphaImageToScreen(0 ,0 ,32 , 32, ourImage, x, y);
y += 32;
}
x += 32;
y = 0;
}
flipScreen();
}
sceKernelSleepThread();
return 0;
}
My make file:
Code: Select all
TARGET = hello
OBJS = main.o graphics.o framebuffer.o
CFLAGS = -O2 -G0 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)
LIBDIR =
LIBS = -lpspgu -lpng -lz -lm
LDFLAGS =
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = Image Example
PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak