PDA

Visualizza la versione completa : [C] Crash applicazione realizzata per PSP


Baly23
11-12-2006, 22:44
come mai dopo 20 secondi precisi che avvio l'applicazione, la PSP crasha?



#include <oslib/oslib.h>
#include <string.h>
#include <callback.h>


PSP_MODULE_INFO("Khrono", 0, 1, 1);
PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER | THREAD_ATTR_VFPU);


OSL_IMAGE *b[8], *pb[8], *p[8], *pool;

void Keys();
void Text();

int i;

int main(int argc, char* argv[])
{
//Initialization
oslInit(0);
oslInitGfx(OSL_PF_8888, 1);
oslInitConsole();

//Load the files
pool = oslLoadImageFile("data/pool.png", OSL_IN_RAM, OSL_PF_5551);

char s1[13]; char s2[13];
strcpy(s1, "data/pb?.png"); strcpy(s2, "data/p?.png");
for(i=1;i<9;i++)
{
s1[7]=(char)(i+'0'); s2[6]=(char)(i+'0');
pb[i] = oslLoadImageFile(s1, OSL_IN_RAM, OSL_PF_5551);
p[i] = oslLoadImageFile(s2, OSL_IN_RAM, OSL_PF_5551);
b[i] = oslLoadImageFile("data/block.png", OSL_IN_RAM, OSL_PF_5551);
}

if (!pool)
oslFatalError("Please, copy all the folder to the PSP.");

//Configure the joypad
oslSetKeyAutorepeatInit(40);
oslSetKeyAutorepeatInterval(10);

//Initialize variables
pool->x = 0; pool->y = 0;
for(i=1;i<9;i++){
b[i]->x = 7; b[i]->y = 28*i-11; pb[i]->x = 20; pb[i]->y = 28*i-10; pb[i]->angle = 90; p[i]->x = 45; p[i]->y = 28*i-10;
}


while (!osl_quit)
{
oslStartDrawing();
oslDrawImage(pool);
for(i=1;i<9;i++)
{
oslDrawImage(b[i]);
oslDrawImage(pb[i]);
oslDrawImage(p[i]);
}
Text();
Keys();
oslEndDrawing();
oslSyncFrame();
}

oslEndGfx();
oslQuit();
return 0;
}


void Keys()
{
oslReadKeys();
}

void Text()
{
//set the color of the text
oslSetTextColor(RGBA(255,255,255,255));
oslSetBkColor(RGBA(0,0,0,0));

oslPrintf_xy(1,244,"KHRONO-SWIM v0.1 - CODED BY BALY23");
}

XWolverineX
11-12-2006, 23:41
Dovresti dirci qualche altra cosa

Compilatore, librerie usate...

MItaly
11-12-2006, 23:53
... che genere di crash si verifica...
... cosa dovrebbe fare l'applicazione...

Baly23
11-12-2006, 23:53
uso il PSPdevkit, e come librerie ho usato solo le osl... old school libraries, usate per stamapre a schermo le img...

inoltre... quando era + semplice il programma, quindi senza i cicli e tante altre cose, nn crashava dopo 20 secondi...


Originariamente inviato da MItaly
... che genere di crash si verifica...
... cosa dovrebbe fare l'applicazione...
si verifica che dopo 20 secondi che l'applicazione aperta, si spegne la PSP
per ora nn dovrebbe fare niente, stampa le img a schermo, fino a quando nn esco dal programma...

oregon
12-12-2006, 00:19
Beh ... quello che noto sicuramente (non potendo provare il codice ...) e' che nel ciclo

for(i=1;i<9;i++)

l'indice dei vettori e' sbagliato in quanto va da 1 ad 8 (e dovrebbe andare da 0 a 7).
Dovrebbe essere

pb[i-1] = ...
p[i-1] = ...
b[i-1] = ...

XWolverineX
12-12-2006, 16:01
E da dove le hai prese queste libs?

Baly23
12-12-2006, 16:03
grazie mille... anche qui ho risolto... potete chiudere ;)

oregon
12-12-2006, 16:10
Piuttosto dire che si puo' chiudere (cosa non necessaria), potresti chiarire come hai risolto?

Magari per sapere se ti sono stati utili le risposte ...

Baly23
12-12-2006, 16:15
Originariamente inviato da oregon
Piuttosto dire che si puo' chiudere (cosa non necessaria), potresti chiarire come hai risolto?

Magari per sapere se ti sono stati utili le risposte ...

nn ho detto come ho risolto, xk praticamente quello che hai detto tu :D

ho cambiato i cicli, mettendo da 0 a 8 (realmente, poi sarebbe a 7) e ho riniminato le img da 0 a 7... e ora funge :unz:

cmq per le OSL puoi trovarle qui ;)

http://dl.qj.net/Oldschool-Library-for-PSP-PSP-Development/pg/12/fid/5422/catid/202

oregon
12-12-2006, 16:24
Originariamente inviato da Baly23
nn ho detto come ho risolto, xk praticamente quello che hai detto tu :D

Era solo per saperlo ... magari il problema era da qualche altra parte ...

P.S. Forza Palermo ... :)

Loading