Exemplo n.º 1
0
// Internal function used to load the PSP.
ILboolean iLoadPspInternal()
{
	if (iCurImage == NULL) {
		ilSetError(IL_ILLEGAL_OPERATION);
		return IL_FALSE;
	}

	Channels = NULL;
	Alpha = NULL;
	Pal.Palette = NULL;

	if (!iGetPspHead())
		return IL_FALSE;
	if (!iCheckPsp()) {
		ilSetError(IL_INVALID_FILE_HEADER);
		return IL_FALSE;
	}

	if (!ReadGenAttributes())
		return IL_FALSE;
	if (!ParseChunks())
		return IL_FALSE;
	if (!AssembleImage())
		return IL_FALSE;

	Cleanup();
	return ilFixImage();
}
Exemplo n.º 2
0
// Internal function used to load the PSP.
static ILboolean iLoadPspInternal(ILimage *Image) {
	PSP_CTX ctx;

    if (Image == NULL) {
		iSetError(IL_ILLEGAL_OPERATION);
		return IL_FALSE;
	}

	ctx.Channels 		= NULL;
	ctx.Alpha 			= NULL;
	ctx.Pal.Palette = NULL;
	ctx.io          = &Image->io;
	ctx.Image       = Image;

	if (!iGetPspHead(ctx.io, &ctx.Header))
		return IL_FALSE;

	if (!iCheckPsp(&ctx.Header)) {
		iSetError(IL_INVALID_FILE_HEADER);
		return IL_FALSE;
	}

	if (!ReadGenAttributes(&ctx))
		return IL_FALSE;

	if (!ParseChunks(&ctx))
		return IL_FALSE;

	if (!AssembleImage(&ctx))
		return IL_FALSE;

	Cleanup(&ctx);
	return IL_TRUE;
}
Exemplo n.º 3
0
// Internal function used to load the PSP
ILboolean iLoadPspInternal(ILimage* image)
{
	if (image == NULL) {
		il2SetError(IL_ILLEGAL_OPERATION);
		return IL_FALSE;
	}

	PspLoadState state;
	state.Channels = NULL;
	state.Alpha = NULL;

	if (!iGetPspHead(&image->io, &state.Header))
		return IL_FALSE;
	if (!iCheckPsp(&state.Header)) {
		il2SetError(IL_INVALID_FILE_HEADER);
		return IL_FALSE;
	}

	if (!ReadGenAttributes(&state, image))
		return IL_FALSE;
	if (!ParseChunks(&state, image))
		return IL_FALSE;
	if (!AssembleImage(&state, image))
		return IL_FALSE;

	Cleanup(&state);
	return il2FixImage(image);
}