Loads an .act palette file.
| 447 | |
| 448 | //! Loads an .act palette file. |
| 449 | ILboolean ilLoadActPal(ILconst_string FileName) |
| 450 | { |
| 451 | ILHANDLE ActFile; |
| 452 | |
| 453 | if (!iCheckExtension(FileName, IL_TEXT("act"))) { |
| 454 | ilSetError(IL_INVALID_EXTENSION); |
| 455 | return IL_FALSE; |
| 456 | } |
| 457 | |
| 458 | if (iCurImage == NULL) { |
| 459 | ilSetError(IL_ILLEGAL_OPERATION); |
| 460 | return IL_FALSE; |
| 461 | } |
| 462 | |
| 463 | ActFile = iopenr(FileName); |
| 464 | if (ActFile == NULL) { |
| 465 | ilSetError(IL_COULD_NOT_OPEN_FILE); |
| 466 | return IL_FALSE; |
| 467 | } |
| 468 | |
| 469 | if (iCurImage->Pal.Palette && iCurImage->Pal.PalSize > 0 && iCurImage->Pal.PalType != IL_PAL_NONE) { |
| 470 | ifree(iCurImage->Pal.Palette); |
| 471 | iCurImage->Pal.Palette = NULL; |
| 472 | } |
| 473 | |
| 474 | iCurImage->Pal.PalType = IL_PAL_RGB24; |
| 475 | iCurImage->Pal.PalSize = 768; |
| 476 | iCurImage->Pal.Palette = (ILubyte*)ialloc(768); |
| 477 | if (!iCurImage->Pal.Palette) { |
| 478 | icloser(ActFile); |
| 479 | return IL_FALSE; |
| 480 | } |
| 481 | |
| 482 | if (iread(iCurImage->Pal.Palette, 1, 768) != 768) { |
| 483 | icloser(ActFile); |
| 484 | return IL_FALSE; |
| 485 | } |
| 486 | |
| 487 | icloser(ActFile); |
| 488 | |
| 489 | return IL_TRUE; |
| 490 | } |
| 491 | |
| 492 | |
| 493 | //! Loads an .plt palette file. |
no test coverage detected