// 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; }
// 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(); }
// 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); }
// Internal function to get the header and check it. ILboolean iIsValidPsp() { if (!iGetPspHead()) return IL_FALSE; iseek(-(ILint)sizeof(PSPHEAD), IL_SEEK_CUR); return iCheckPsp(); }
// Internal function to get the header and check it. ILboolean iIsValidPsp(SIO* io) { PSPHEAD header; if (!iGetPspHead(io, &header)) return IL_FALSE; io->seek(io, -(ILint)sizeof(PSPHEAD), IL_SEEK_CUR); return iCheckPsp(&header); }
// Internal function to get the header and check it. static ILboolean iIsValidPsp(SIO *io) { PSPHEAD Header; ILuint Start = SIOtell(io); ILboolean GotHead = iGetPspHead(io, &Header); SIOseek(io, Start, IL_SEEK_SET); return GotHead && iCheckPsp(&Header); }