:: PlayerAdvance.org ::  

Précédent   :: PlayerAdvance.org :: > :: Forums Hébergés :: > OldSchool Library > Aide au développement

Aide au développement Aide sur l'utilisation d'OSLib

Publicité

Réponse
 
Outils de la discussion Modes d'affichage
Vieux 14/07/2008, 14h15   #1
floorball92
Membre
 
Date d'inscription: 02/04/2008
Messages: 16
Par défaut programm crash

Hello Guys,

I need your help with a problem in a programm based on oslib.

Im in the beginning nphase because I had to resart my projekt , so there isnt really much in my source.

The Programm shows an start screen and waits 2 sekonds, thsi works perfect.

Then the main loop starts and there ist the problem. It should use the hole Image ( too tall to display direkt ) set the tile size to the the display and then copy it to an other picture called screnn, whish is shown then by osl.

Once it works but then the programm crashs.

I would be very happy if you could say me whats wrong with it. I think its a problem with the RAM but I don' t know how to fix it.

Greats Floorball92

Code:
/*
 * main.c
 *
 *  Created on: 14.07.2008
 *      Author: Floorbal92
 */

#include <oslib/oslib.h>

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

#define printf oslPrintf_xy

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

	OSL_IMAGE *logo;
	logo = oslLoadImageFile("logo.png", OSL_IN_RAM, OSL_PF_5551);
	logo->x = 5;
	logo->y = 5;

	oslSetBkColor(RGBA(0,0,0,0));
	oslSetTextColor(RGBA(51,51,51,128));

	OSL_CONTROLLER *key;

	oslStartDrawing();

	oslClearScreen(RGB(255,255,255));

	oslDrawImage(logo);

	printf(20,113, "Welcome to Tee Worlds (PSP Edition)!");
	printf(20,133, "PRESS X to continue!");

	oslEndDrawing();

	oslSyncFrame();

	sceKernelDelayThread(2*1000*1000);

	OSL_IMAGE *map;

	map = oslLoadImageFile("map.png", OSL_IN_RAM, OSL_PF_5551);

	int screen_cor[2];

	screen_cor[0]=0;
	screen_cor[1]=0;

	int i=0;

	while (!osl_quit)
	{
		oslStartDrawing();
		oslClearScreen(RGB(255,255,255));

		i++;

		key = oslReadKeys();

		if(key->pressed.triangle && screen_cor[1] > 0) screen_cor[1]--;
		if(key->pressed.circle && screen_cor[0] + 480 > map->sizeX) screen_cor[0]++;
		if(key->pressed.cross && screen_cor[1] + 272 < map->sizeY) screen_cor[1]++;
		if(key->pressed.square && screen_cor[0] > 0) screen_cor[0]--;

		oslSetImageTileSize (map, screen_cor[0], screen_cor[1], 480, 272);

		OSL_IMAGE *screen;

		screen = oslCreateImageCopy(map, OSL_IN_RAM);

		screen->x = 0;
		screen->y = 0;

		oslDrawImage(screen);

		oslUncacheImage(screen);

		printf(20,13, "Round: %i", i);

		oslEndDrawing();

		oslSyncFrame();
	}

	oslEndGfx();
	oslQuit();
	return 0;
}
Fichiers attachés
Type de fichier : rar tee_w.rar (373,6 Ko, 120 affichages)

Dernière modification par floorball92 ; 14/07/2008 à 17h42.
floorball92 est déconnecté   Réponse avec citation

Publicité

Vieux 14/07/2008, 17h43   #2
Yodajr
Administrateur
 
Date d'inscription: 09/11/2005
Messages: 3 750
Par défaut

Try to put out the oslcreatecopy of the main loop... I don't know if create a copy 60 time per second is good...
Yodajr est déconnecté   Réponse avec citation
Vieux 14/07/2008, 18h13   #3
floorball92
Membre
 
Date d'inscription: 02/04/2008
Messages: 16
Par défaut

Hi,

is the size in ram then the same like in a new image??

edit: Ok, I tested it, but the Image is corrupted now.

Dernière modification par floorball92 ; 14/07/2008 à 18h27.
floorball92 est déconnecté   Réponse avec citation
Vieux 17/07/2008, 16h58   #4
Pro X
Membre
 
Date d'inscription: 28/06/2008
Messages: 9
Par défaut

floorball my team partner why do you set 2 oslEndDrawing?!?
kill the first EndDrawing und SyncFrame and pack the main screen in the loop

MfG
PX
Pro X est déconnecté   Réponse avec citation
Vieux 18/07/2008, 16h39   #5
floorball92
Membre
 
Date d'inscription: 02/04/2008
Messages: 16
Par défaut

@ Pro X
I don' t know what your talking about.

The first is out of the loop.
floorball92 est déconnecté   Réponse avec citation
Réponse

Liens sociaux

Publicité



Utilisateurs regardant la discussion actuelle : 1 (0 membre(s) et 1 invité(s))
 
Outils de la discussion
Modes d'affichage

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Navigation rapide

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
[NDS] 2368 - Wacky Races - Crash & Dash Release List Nintendo DS 0 19/06/2008 19h30
[PSP] 1324 - Crash of the Titans Release List PSP 0 03/01/2008 20h30
[GBA] 2784 - 2 Games in 1 - Crash & Spyro Super Pack - Spyro - Season of Ice + Crash Bandicoot - The Huge Adventure Release List GameBoy Advance 0 20/11/2007 22h30
[NDS] 1527 - Crash of the Titans Release List Nintendo DS 0 19/10/2007 11h34
[PSP] 1206 - Crash of the Titans Release List PSP 0 11/10/2007 21h30


Fuseau horaire GMT +2. Il est actuellement 18h07.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Tous droits réservés.
Version française #16 par l'association vBulletin francophone
Design par Ass-Itch, DJP et Dr.Vince